Inteligencia Artificial IA7700-T - PowerPoint PPT Presentation

Inteligencia artificial ia7700 t l.jpg
1 / 195

  • Updated On :
  • Presentation posted in: Pets / Animals

Inteligencia Artificial IA7700-T. M.C. Juan Carlos Olivares Rojas Agenda. Repaso básico de IA sobre: Introducción Agentes lógicos Métodos de Búsqueda Prolog Lisp Planificación. Basic Concepts.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Inteligencia Artificial IA7700-T

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Inteligencia artificial ia7700 t l.jpg

Inteligencia ArtificialIA7700-T

M.C. Juan Carlos Olivares Rojas

Agenda l.jpg


Repaso básico de IA sobre:


Agentes lógicos

Métodos de Búsqueda




Basic concepts l.jpg

Basic Concepts

  • What’s the diference bewtween Artificial Intelligence (AI) and Human Intelligence?

  • All the sucessfully AI Systems are based on human knowledge and experience.

  • Most of the AI Systems can be costructed only when the human intelligence can be expresed in easily form (for instance: if x then y).

Basic concepts4 l.jpg

Basic Concepts

  • AI Systems extend human experts, but never can’t substituting either “taken” most of human intlligence.

  • AI Systems don’t have common sense and generallity of human beings.

  • Human Intelligence are very complex for computing.

Basic concepts5 l.jpg

Basic Concepts

If a problem can not be described, then can not be programmed

  • Human Intelligence have these features:



    Use of Metaphores and Analogies.

    Concepts Creating and Use.

Problem l.jpg


Make a Java Program which calculate if a number give for the user is a Perfect Number or not.

What are the steps for solving this problem?

Inteligence l.jpg


  • Capacity to solution all clasess of problems

  • Intelligence is very subjective.

  • “Intelligence Distinguished man of animals”

  • AI is an interdiciplinary science which involves phylosophy, matemathics, biology, electronics, etc,

Turing test l.jpg

Turing Test

Alan M. Turing defined in 1950 one form to check if a machine is intelligent or not.

Turing test consist to set two human and one machine in a dark room. The humans and the machine are not visible between their.

One human must act like an Interviewer asking some questions to the other participants.

Turing test9 l.jpg

Turing Test

Turing Test is passed when the interviewer can not distinguished the answer between the human and the machine.

The new AI systems required the perception sense to pass the test.

Ai genesys l.jpg

AI Genesys

Martin Minsky did cotributions to define brain models in computers.

ELIZA of Joseph Weizenbaum and JULIA of Mauldin were the first AI Systems with Intelligent Dialagues.

The first AI Systems were development for solving some problems like chess.

G nesis de la ia l.jpg

Génesis de la IA

In 1956 John McCarthy and Claude Shanon published “Automata Studies” where defined the Automata Theory.

In 1956 John McCarthy defined the AI concept, reason why he is considered the AI Father.

The AI history is very old. The greeks were the first to use logic to solve a lot of problems.

Ai genesys12 l.jpg

AI Genesys

In 1965 Chomsky defined the Formal Languages Theories.

McCulloh and Pits in 1943 define the relations between neurons and simple computational elements.

In 1962 Rosenblatt defined the Perceptron and the Neuronal Networks Teories.

1 2 applications l.jpg

1.2 Applications

  • Solution Search

  • Expert System

  • Natural Language Recognition

  • Pattern Recognition

  • Robotic

  • Machine Learning

  • Logic

  • Games

  • Neuronal Networks

  • Genetic Algorithms

  • Virtual Reality

Maze problem l.jpg

Maze Problem

Additional Homework: Study Graph Theory, Discret Mathematics, Computing Theory (Compilers). Arrays in some high-level programming languages.

How a person in a maze can be exit without lost?

Are there an optimal solution for the problem?

Solution search l.jpg

Solution Search

The search term appliend in AI, it’s not mean find a specific information piece in a data reporsitory, this term implies to obtain the best solution for a problem. For instance:

Finding the shortest path between two cities, or the famus “Travelling Sales Problem” (TSP). This is a NP-Complete (Not Polinomal) Problem.

Slide16 l.jpg


Slide17 l.jpg


Expert systems l.jpg

Expert Systems

They were the first AI comercial product sucessfully.

These Systems let to introduce some information in an specific knowledge area into a computer (knowledge database), they act like a human expert.

These Systems simulate human reasoning by applicating especific knowledge and inferences.

Natural language processing l.jpg

Natural Language Processing

It’s a complex problem. For example (in spanish):

“Ideas verdes descoloridas duermen furiosamente”,

“Ideas furiosamente verdes descoloridas duermen”.

Natural language processing20 l.jpg

Natural Language Processing

“El banco cierra a las 3:00”

“Las almejas están listas para comer”

“Las almejas están listas para [ser] comidas [por nosotros]”

Artificial vision l.jpg

Artificial Vision

It’s an application of patter recognition, this area have a lot of application such as:

Medical Diagnostic

Automatic Signal Processing

Automatic Industrial Product

Automatic Vigilance Systems

OCR (Optical Character Recognition)

Robotic l.jpg


This science implies the concepts of perception, motion (spatial reasoning), planning.

The main problem autonomous robots are interacting with the human-world, because exists many obstacles unexpected events and dinamic environments.

Learning l.jpg


This area studies the way in how computers can obtain new knowledge to solve a problem.

In this sense, learning means to make a computer which is able to benefit for the experience obtained.

Games l.jpg


AI is applied in games to give more realism and complexity. Also AI gives the “Physics”.

The n-queens problem consist in putting n chess queens on an n×n chessboard such that none of them is able to capture any other using the standard chess queen's moves.

Games25 l.jpg


Activitie: Obtain a Solution in a sheet of paper for a 5x5 chessboard. First 100, Second 80, Third 60 pts.

Genetic algorithms l.jpg

Genetic Algorithms

It’s a computational technique inspired in biological models which are used to realize eficient search in spatial solution highly huge and complex.

Genetic Algorithms are adaptative methods which can used to implement searches and optimization problems.

This has given the creation of emergence areas such as evolutionary computation and swarm computing algorithms that rely on events of nature.

The game of life l.jpg

The Game of Life

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is the best-known example of a cellular automaton.

The "game" is actually a zero-player game, meaning that its evolution is determined by its initial state, needing no input from human players. One interacts with the Game of Life by creating an initial configuration and observing how it evolves.

The game of life28 l.jpg

The Game of Life

The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, live or dead.

Every cell interacts with its eight neighbours, which are the cells that are directly horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:

The game of life29 l.jpg

The Game of Life

Any live cell with fewer than two live neighbours dies, as if by needs caused by underpopulation.

Any live cell with more than three live neighbours dies, as if by overcrowding.

Any live cell with two or three live neighbours lives, unchanged, to the next generation.

Slide30 l.jpg

Any dead cell with exactly three live neighbours becomes a live cell.

The game of life31 l.jpg

The Game of Life

The game of life32 l.jpg

The Game of Life

Find an initial solution with under 16 live cells. The best aproximation wins 100, second 80, third 60 points.

Play the game at:

Virtual reality l.jpg

Virtual Reality

It’s one of the most recent applications of AI. It’s consist in the construction of programs which achive to fool the human senses, make it belive that we are floating, running or flying in an airplane.

This application has been used in a fligth simulator for pilots, astronauts and drivers.

Intelligent systems and learning l.jpg

Intelligent Systems and Learning

Most of the actual system say that they are intelligents (“smart”).

If an application can take autonomous decisions in a real time in independet form, it’s considered intelligent. The main feature of this systems are the “adaptability” like saving energy.

Intelligent systems and learning35 l.jpg

Intelligent Systems and Learning

The most important feature of an Intelligent System are the way to representing the knowledge, the way in which the information is retrived and the way in which adquire new knowledge (learning).

The representation ways (“explicitation”) of knowledge are diverse and it influences in the retrival informtion and learning ways.

Intelligent systems and learning36 l.jpg

Intelligent Systems and Learning

Always that a model is developed it has two represetation: logical and physical.

This representations need “mapping” to working together.

When we have a real life problem, this have to mapping in a computer schema for working in a computational system.

Intelligent syst and knowledge l.jpg

Intelligent Syst. and Knowledge

Tacking back to the Maze Problem ¿How can be represent this model and the knowledge?

It can be represented with a matrix, graph, finite state machine, etc. Also it must rules for play this game.

If we don’t have the two representations we can not understand and learn the game.

Intelligent systems and knowledge l.jpg

Intelligent Systems and Knowledge

In general, knowledge s define by laws and particular languages. Languages define rules.

The same knowledge is structured in diferents represtentation such as database, semantic networks, frames, conceptual maps, etc., but after all it must have the same meaning (semantics).

Homework and activity l.jpg

Homework and Activity

Activity: programming the Game of Life using a High-Level language with a 8x8 matrix.

The program can be in text mode and the user only can set the initial configuration. Using a BitMap Matrix (0 and 1 values)

Activity: programming the right-hand heuristic for solve a maze introduced for a used.

Homework and activity40 l.jpg

Homework and Activity

ExtraPoint: programming a maze generator. The maze only have one input and one output (It can be the same that input).

The maze generation must be ordened by a algorithm using a spatial solution search.

An easy way is put the input and output, generate one path (the correct path) and later generate other incorrect paths, beginning of the correct path.

Maze generator l.jpg

Maze Generator

We must try to don´t generate a loop

Cellular automata l.jpg

Cellular Automata

It’s a discrete model studied in computing, mathematics, biology and microstructure modeling.

It consists of a regular grid of cells, each in one of a finite number of states. The grid can be in any finite number of dimensions.

Time is also discrete, and the state of a cell at time t is a function of the states of a finite number of cells (neighborhood) at time t − 1.

Cellular automata43 l.jpg

Cellular Automata

These neighbors are a selection of cells relative to the specified cell, and do not change (though the cell itself may be in its neighborhood, it is not usually considered a neighbor).

Every cell has the same rule for updating, based on the values in this neighbourhood. Each time the rules are applied to the whole grid a new generation is created.

Cellular automata44 l.jpg

Cellular Automata

Semantic networks l.jpg

Semantic Networks

They are other simple form to explicity knowledge, They are conformed by graphs which coding knowledge in a taxonomic form.

Nodes represent categories and Edges represents the relations between this categories.

There are two types of special relatinoships: Is-A y la Have-A.

Semantic networks46 l.jpg

Semantic Networks

We can access throught of each concepts to infer knowledge.

The scripts are other way to represent knowledge. They are composed by components called slots, these are a set of elements concept-values.

Scripts are more easily to ntroduce than mind maps.

Semantic networks47 l.jpg

Semantic Networks

Script l.jpg


Script Example:


Subset_of: Office_Machine

Superset_of: {Laser_Printer, Inject_Printer}

Feed_Source: Door_Socket

Author: Juan_Perez

Date: 07_January_2008

Onthologies l.jpg


Other way to represent knowledge with a lot of use recently is Onthology, It’s consist of relations between distinct concepts like definitions. Onthologies can be represented throught languages such as XML.

Knowledge representation has a great importance this is the reason because actually we talk about Knowledge Engineering.

Semantic networks50 l.jpg

Semantic Networks

Onthologies act like a dictionary. Some elements like agents used this information to represent and retrieve knowledge.

Frames are structure used to represent values, restricctions, process, relation, etc. Frames represent with tuples one propertie of an object. Object-Oriented Programming was originated by Frames.

Concept mind l.jpg

Concept Mind

Onthology l.jpg


Activity l.jpg


Represent one object (one diferent per student, e.g. Wireless Network Card, Telephone, Cow, etc.) and all its features with an Ontology, Script and Frame.

The description and match method l.jpg

The Description and Match Method

It’s used for AI problem solving and It’s one the most basic method.

The first step consists to identified all features of an object.

Later, It realice a seach in a well-define set of objects.

It needs two very import methods: the extractor and evaluator of knowledge.

The desc and match method l.jpg

The Desc. and Match Method

  • When the match process is doing, one posibility is the object don’t be the same pattern in the knowledge Database. This is the reason because We need a Similarity Function.

  • For Example (In Spanish):


    Love a person or thing for over all things

    Word composeb dy 4 characters: ‘A’, ‘M’, ‘O’ and ‘R’ yuxtapuestos

The desc and match method56 l.jpg

The Desc. and Match Method

AMOR = AMORExact Macth

AMOR = ROMA 0% similarity but contains for characters

Amor = AMOR 25% similarity, contains all character but in uppercase

Amor = Cariño 0% similarity but the same meaning

Amor = Amar 75% it’s a consequence

The desc and match method57 l.jpg

The Desc. and Match Method



Figure formed by al the points which distance are equidistant of the center point in an angle of 0 a 360 grades.


Center (point)

Diametrer (twice radio)


The desc and match method58 l.jpg

The Desc. and Match Method

100% Similarity



?% Have the same form but diferent size and color

?% Have the same high but diferent width


?% Have the same color


The desc and match method59 l.jpg

The Desc. and Match Method

  • It`s used in multiples branches such as:

    • Digital Fingerprint Recognition

    • Voice Recognition

    • Natural Language Recognition

    • Software Requirement Validation

    • Etc.

  • We must represent in a correct form the knowledge if We can compare.

The farmer fox g oose and wheat problem l.jpg

The Farmer, Fox, Goose and Wheat Problem

A farmer wants to move himself, a silver fox, a fat goose, and some tasty grain across a river, from the west side to the east side. Unfortunately, his boat is so small he can take at most one of his possessions across on any trip. Worse yet, an unattended fox will eat a goose, and an unattended goose will eat grain, so the farmer must not leave the fox alone with the goose or the goose alone with the grain. What is he to do?

The farmer fox g oose and wheat problem61 l.jpg

The Farmer, Fox, Goose and Wheat Problem









¿Se puede utilizar el método de descripción y pareamiento?

The farmer fox g oose and wheat problem62 l.jpg

The Farmer, Fox, Goose and Wheat Problem

































































Activity63 l.jpg


In a Software Development Company 5 programers implement the same algorithms obtained the follow results:

Activity64 l.jpg


The enterprise needs to know how are the best pair (pair programing).

For trying to solve this problem We need to define a similarity function such as:

s(v, w)=|p1-q1| + |p2-q2| + |p3-q3|


v and w are programmers represent in the form of (p1, p2, p3)

Activity65 l.jpg


pi is a propertie

We also need a criteria for similarity in this case consider the lower punctuation as the best solution.

Programming the solution to obtain the best pair.

Programming the solution to obtain the best pair in a specific propertie

Activity66 l.jpg


If We changed the criteria in where LOC are more important 60% than the other properties, how must be the new similarity function?

If We need one group with the 3 best programmer, how must be the similarity function?

Analogy problems l.jpg

Analogy Problems

It’s other form to problem solving tha it’s used in AI.

Analogy is a special type of relation that define how are objects represented los objetos de una categoría y como obtener sus predecesores y antecesores inmediatos.

Generalmente se habla de análogo cuando se tiene el mismo tipo de relación aun cuando sean entidades diferentes.

Problemas de analog as l.jpg

Problemas de Analogías

Alguna vez nos hemos preguntado ¿por qué en la mayoría de los exámenes de admisión generalmente son más importantes que los de conocimientos?

Por que en la mayoría de los casos el conocimiento de cierta forma se puede adquirir pero la forma de aprender y razonar es sumamente complicado. En muchos casos son más importantes las reglas que el conocimiento.

Problemas de analog as69 l.jpg

Problemas de Analogías

En matemáticas y en el área de programación se utiliza mucho la analogía para resolver problemas.

De acuerdo con Polya, para resolver problemas se necesita de los siguientes pasos:

1) Comprender el problema

2) Concebir un plan

3) Ejecutar el plan y,

4) Examinar la solución.

Problemas de analog as70 l.jpg

Problemas de Analogías








¿Cómo quedarían D y 5?

Problemas de analog as71 l.jpg

Problemas de Analogías






¿Qué problemas se presentan con la Abstracción de la Figura D o bien de la Figura 3?

La resolución de problemas por analogía tiene como base cierto conocimiento previo en ocasiones difícil de obtener.

Reconocimiento de abstracciones l.jpg

Reconocimiento de Abstracciones

A lo largo de esta presentación se ha podido comprobar que prácticamente el problema está resuelto si el problema está descrito.

El reconocimiento de abstracciones es un concepto muy subjetivo dado que éstas son combinaciones de estados mentales y eventos.

Los SI se basan fundamentalmente en reglas ECA (Evevento-Condición-Acción)

Reconocimiento de abstracciones73 l.jpg

Reconocimiento de Abstracciones

Generalmente respondemos a estímulos (eventos), y en base a ellos vemos cuales son importantes para nosotros y nos comportamos de cierta manera.

Para lo que a una persona le representa algo para otra representa cosas totalmente distintas.

La abstracción permite llegar a cierto tipo de conclusiones y preguntas resueltas.

Interpretaci n del conocimiento l.jpg

Interpretación del Conocimiento

La interpretación del conocimiento, es decir la utilización de ese conocimiento es un factor muy importante que aun la IA no ha podido definir bien.

El conocimiento se puede interpretar de muchas formas y sus áreas de aplicación son diversas.

Existen muchas corrientes filosóficas que le tratan de dar sentido al conocimiento: empirismo y racionalismo científico.

Interpretaci n del conocimiento75 l.jpg

Interpretación del Conocimiento

Se pretende que las reglas y hechos (base de conocimientos) permitan resolver problemas y que a su vez de la resolución de estos problemas se obtenga nuevos conocimientos.

Homework l.jpg


Make a survey (Caracterization) about the frecuencie of each character in Spanish Alfabet. For example, in % how many ‘c’ appears.

This surve will aplied on Inteligent Cryptoanalisys System.

Research about cryptograph system by transposition and substitution algorithms.

M todos ciegos l.jpg

Métodos Ciegos

Las redes son grafos dirigidos, simples con pesos donde se tienen dos nodos especiales: un origen y un destino sin entradas y salidas respectivamente.

Las redes se utilizan en muchos problemas de computación, desafortunadamente para muchos problemas, el espacio de soluciones es grandísimo por lo que la búsqueda se volvería muy extensa.

M todos ciegos78 l.jpg

Métodos Ciegos

De esta forma, se necesitan de mejores mecanismos de búsqueda. En muchas ocasiones el espacio de búsqueda se puede reducir simplemente con observar simetrías, ignorar detalles y encontrar las abstracciones apropiadas.

Un ejemplo muy representativo de este problema es el espacio de soluciones que se obtiene en el juego puzzle de las ocho piezas. Se requieren de 9! = 362,880 nodos para representar las posibles opciones.

M todos ciegos79 l.jpg

Métodos Ciegos

El primer método de búsqueda optimizada es el de búsqueda primero en anchura.

La idea de este método es buscar primero en todos los nodos de un mismo nivel sin tener que recurrir por todos los niveles del grafo.

Para ello se necesita definir una función de estados sucesores que indique los nodos que se producirán al aplicar todos los operadores a dicho nodo.

M todos ciegos80 l.jpg

Métodos Ciegos

Existen otras variantes de este método como la búsqueda de coste uniforme, la cual visita los nodos de acuerdo a sus pesos.

El algoritmo BFS (Breadth First Search) es el siguiente:

Sea G = (V, A) un grafo conexo, V’ = un conjunto de vértice V, A’ un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío:

B squeda en anchura l.jpg

Búsqueda en Anchura

Se introduce el vértice inicial en P y se elimina del conjunto.

Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.

Se toma el primer elemento de P como vértice activo.

B squeda en anchura82 l.jpg

Búsqueda en Anchura

  • Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:

    • Se toma el de menor índice.

    • Se inserta en P como último elemento.

    • Se elimina de V’.

    • Se inserta en A’ el arco que le une con el vértice activo.

  • Si el vértice activo no tiene adyacentes se elimina de P.

B squeda en profundidad l.jpg

Búsqueda en Profundidad

También se le conoce como vuelta atrás. Consume menos memoria que el método en anchura pero en algunas ocasiones puede ser contraproducente por lo que se llega a limitar su profundidad.

Los ejemplos más utilizados en búsqueda de profundidad son los algoritmos de preorden, enorden, postorden. Los cuales trabajan sólo con arboles binarios.

B squeda heur stica l.jpg

Búsqueda Heurística

Heurística viene del griego heuriskein, que significa descubrir. De la misma palabra se deriva la exclamación: ¡Eureka!

Homework85 l.jpg


Investigar que problemas de los visto en clases pueden resolver a través de Búsqueda en Anchura y en Profundidad.

Investigar que otro tipo de problemas pueden ser resueltos utilizando búsquedas en anchura y en profundidad.

Backtracking l.jpg


Este algoritmo consiste en un recorrido en profundidad o anchura analizando sus posibles estados futuros y regresando al estado previo si no fue posible una solución satisfactoria.

El problema de las n reinas se soluciona de esta forma al igual que otros problemas

Problema del caballo l.jpg

Problema del Caballo

En un tablero de n*n (donde n>2) encontrar todos los movimientos de un caballo que sin repetir ninguna casilla llenen cada una de las casillas del tablero.

Problema del caballo88 l.jpg

Problema del Caballo

Recordar que los caballos se mueven en forma de L una posición en un sentido (vertical/horizontal) y dos en el otro sentido (horizontal/vertical). Por ejemplo si se mueve una posición al frente, se tendrá que mover la pieza dos posiciones a la izquierda o a la derecha.

Tarea: programar el problema del Caballo. Se parte por heurística de una posición X de la matriz.

Problema del caballo89 l.jpg

Problema del Caballo

La matriz está inicializada con 0s. Se coloca un 1 en la primera posición. Se escoge una nueva solución que no esté ocupada colocando el siguiente número (secuencia del viaje). Si todas las celdas están ocupadas se debe regresar a la solución anterior y tratar con un nuevo camino.

Se necesita ir guardando las celdas ya visitadas en un nivel

Problema del caballo90 l.jpg

Problema del Caballo

El algoritmo termina cuando o se llenan todas las celdas o cuando se tiene la “mejor” solución (más celdas llenas).

Se recomienda utilizar búsqueda por anchura calculando previamente el espacio de solución de cada nivel.

El usuario deberá dar el tamaño de la matriz y la posición inicial del caballo y el programa deberá mostrar la matriz con los movimientos del caballo.

B squeda heur stica91 l.jpg

Búsqueda Heurística

Heurística viene del griego heuriskein, que significa descubrir. De la misma palabra se deriva la exclamación: ¡Eureka!

El algoritmo más conocido de este tipo es el A* que basa su funcionamiento en obtener dos distancias del origen a la raíz y de la raíz al nodo objetivo.

f(n) = g(n) + h(n)

La mejor trayectoria l.jpg

La mejor trayectoria

Es otro algoritmo heurístico que trata de encontrar la mejor trayectoria depende de lo que se trate.

Ejemplo de este tipo de algoritmos se encuentra la ruta crítica, la ruta más corta, el canal con más ancho de banda, etc.

A los algoritmos heurísticos reciben el nombre de búsqueda informada, mientras que los ciegos son búsquedas no informadas.

La mejor trayectoria93 l.jpg

La mejor trayectoria

Las heurísticas no son otra cosa que estrategias de búsquedas informada.

Desafortunadamente las heurísticas no lo miden todo, simplemente pretende encontrar una solución lo mejor posible al problema.

Un método heurístico más avanzado lo comprenden los algoritmos genéticos.

Trayectorias redundantes l.jpg

Trayectorias Redundantes

Son algoritmos que pretenden eliminar todos aquellos espacios que no son soluciones viables dado que consume mucho tiempo.

Los algoritmos de planificación son un ejemplo de este tipo de herramientas.

Se debe cuidar de no repetir estados. Una posible solución es ver la simetría de los árboles.

La mejor trayectoria95 l.jpg

La Mejor Trayectoria

Son dependientes a los máximos y mínimos locales.

En la naturaleza nos basamos mucho en como trabajan los organismos como las abejas y en fenómenos físicos como el recocido simulado.

Problema del cajero autom tico l.jpg

Problema del Cajero Automático

Los cajeros automáticos (ATM por sus siglas en inglés) son dispositivos embebidos cuya función consiste en despachar a clientes proporcionando dinero en efectivo.

Cuentan con recursos finitos en este caso billetes de distintas nominaciones $1000, 500, 200, 10 y 50 en distintas cantidades.

Al solicitar una cantidad el cajero debe “ingeniarselas” para dar la mejor combinación de dinero.

Problema del cajero autom tico97 l.jpg

Problema del Cajero Automático

Se debe brindar de una buena combinación ya que sino se pueden acabar los billetes de cierta denominación pudiendo dejar sin operaciones a muchos clientes.

Una heurística balanceada muy simple pero poco eficiente consiste en repartir dinero de una denominación hasta tratar de completar la suma (por ejemplo dar billetes muy altos –puede ser bajos pero no es tan eficiente- y después completarlos con los de siguiente denominación).

Problema del cajero autom tico98 l.jpg

Problema del Cajero Automático

Esta solución da como resultado que primero se acaben todos los billetes de una denominación.

Una solución simple y más eficiente es repartir dinero en forma balanceada, empezando por billetes de altas denominaciones hasta bajas. Este esquema es más justo ya que va quitando billetes por igual, desgraciadamente esta es su deficiencia ya que un billete de 50 tendría un peso igual a uno de 500.

Problema del cajero autom tico99 l.jpg

Problema del Cajero Automático

Una mejor solución consiste en ponerle ponderación a cada recurso (billete) de acuerdo a su valor monetario y a la cantidad de recurso disponible, por lo que se ocuparía una función de similaridad que quizás tenga que ser dinámica y quizás no muy sencilla de calcular.

Problema del cajero autom tico100 l.jpg

Problema del Cajero Automático

En general existen diversas alternativas de solución para el mismo problema. En el caso de los cajeros se prefiere una heurística de acabar primero los billetes más grandes ya que de los chicos hay mayor cantidad.

Problema del cajero autom tico101 l.jpg

Problema del Cajero Automático

Otra solución de entre las mejores consiste en crear diversas soluciones para después comparar aquellas que sean más benéficas, pero esto requiere de tiempo y de espacio.

Este problema se puede solucionar a través de autómatas (gramáticas), búsquedas ciegas, búsquedas heurísticas y algoritmos de planificación.

Problema del cajero autom tico102 l.jpg

Problema del Cajero Automático

Tarea: realizar un programa que funcione como cajero automático. El usuario deberá introducir un valor a retirar y el cajero deberá indicarle la combinación de dinero.

El programa debe preguntar la cantidad de billetes al inicio de la simulación, por lo que se puede calcular el total de dinero.

Existe un límite máximo de retiro de $4000 en múltiplos de 50

Problema del cajero autom tico103 l.jpg

Problema del Cajero Automático

El cajero deberá validar que la cantidad no se pase y que el sistema la pueda dar (que sea múltiplo y haya recurso). En caso de que el sistema por falta de recurso del sistema no pueda cubrir la cantidad total, se dará lo que quede en el cajero activando una alarma de dinero no disponible.

El programa en cada transacción mostrará la cantidad de billetes disponibles así como la combinación de billetes entregada.

Problema del cajero autom tico104 l.jpg

Problema del Cajero Automático

El programa deberá mostrar cuantos clientes ha atendido (este parámetro será el que mida el desempeño del sistema para las mismas entradas).

Se deberá ejecutar el programa n veces hasta que se acabe el dinero.

Se recomienda que se realice una opción de simulación en donde se generen retiros al azar.

Rboles y b squeda con adversarios m todos algor tmicos l.jpg

Árboles y Búsqueda con Adversarios Métodos Algorítmicos

En este tipo de búsqueda no sólo importa los movimientos de una persona o proceso implica además considerar otro factor cambiante llamado jugador adversario.

Todo método de búsqueda con adversario debe de tener los siguientes elementos: estado inicial, función sucesor, test terminal y una función de utilidad que ayuda a determinar los pesos.

B squeda con adversarios l.jpg

Búsqueda con Adversarios

El algoritmo más representativo es el algoritmo minimax donde a un jugador se le asigna las propiedades de max y al otro min.

Las decisiones de que ruta tomar se toman en base a la siguiente función:

vMiniMax(n) = Utilidad(n) si n es un estado terminal ó max elemento s perteneciente a sucesores(n) vMiniMax(s) si n es un estado MAX ó

B squeda con adversarios107 l.jpg

Búsqueda con Adversarios

min elemento s de sucesores(n) vMiniMax(s) si n es un estado min.

Por ejemplo para el juego del gato, la función para vMiniMax contaría todas aquellas posiciones que están libres para MAX – todas aquellas posiciones para MIN. Si la posición es ganadora para MAX devuelve un número infinito positivo, si la posición es ganadora para MIN

Algoritmo minimax l.jpg

Algoritmo Minimax

Función MiniMax(Estado) Devuelve Acción

V ← Valor_Max(Estado)

devolver Acción de Sucesores[Estado] con valor V.

Función Valor_Max(Estado) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver


V ← –∞

Algoritmo minimax109 l.jpg

Algoritmo Minimax

Para cada S ∈ sucesores[Estado] Hacer

V ← Max(V, Valor_MIn(S))

devolver V

Función Valor_Min(Estado) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver


V ← ∞

Algoritmo minimax110 l.jpg

Algoritmo Minimax

Para cada S ∈ sucesores[Estado] Hacer

V ← Min(V, Valor_Max(S))

devolver V

Poda alfa beta l.jpg

Poda Alfa-Beta

Es muy parecido al algoritmo de MiniMax pero permite no expandir nodos que no se vayan a ocupar.

En un juego es imposible o impráctico realizar todo el árbol de juego. Una mejor forma es almacenar los elementos del árbol que ya se tienen para que no haya necesidad de volver a calcularlos.

Poda alfa beta112 l.jpg

Poda Alfa-Beta

Es un algoritmo que pretende mejor al algoritmo minimax calculando dos valores umbrales, que representan las cotas inferior (Alfa) para los nodos maximizantes y una cota superior (Beta) para los nodos minimizantes.

Función Alfa-Beta(Estado) Devuelve Acción

V ← Valor_Max(Estado, –∞, ∞)

devolver Acción de Sucesores[Estado] con valor V.

Poda alfa beta113 l.jpg

Poda Alfa-Beta

Función Valor_Max(Estado,Alfa,Beta) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver


V ← –∞

Para cada S ∈ sucesores[Estado] Hacer

V ← Max(V, Valor_Min(S,Alfa,Beta))

Si V ≥ Beta Entonces devolver V

Alfa ← Max(Alfa,V)

devolver V

Poda alfa beta114 l.jpg

Poda Alfa-Beta

Función Valor_Min(Estado,Alfa,Beta) Devuelve Utilidad

Si test_terminal(Estado) Entonces Devolver


V ← ∞

Para cada S ∈ sucesores[Estado] Hacer

V ← Min(V, Valor_Max(S,Alfa,Beta))

Si V ≤ Alfa Entonces devolver V

Beta ← Min(Beta,V)

devolver V

Rboles y b squeda con adversarios m todos heur sticos l.jpg

Árboles y Búsqueda con Adversarios Métodos Heurísticos

Las heurísticas pueden ser muy variadas y depender del tipo de juego.

Para el juego de ajedrez, se puede definir matemáticamente una función que permita encontrar la mejor jugada a realizar. Como se puede hacer esto?, a través de la colocación de valores a los distintos tipos de elementos como los caballosmreyna, etc.

Representaci n del conocimiento l.jpg

Representación del Conocimiento

El conocimiento debe estar expresado en un lenguaje simbólico para que pueda ser reconocido por una computadora o ‘agente’.

Los agentes pueden consultar a la base de conocimientos para resolver problema o bien agregar nuevos conocimientos.

Los agentes pueden obtener esta nueva información a través de la inferencia lógica.

Representaci n del conocimiento117 l.jpg

Representación del Conocimiento

Inicialmente el agente cuenta con unos conocimientos básicos llamados antecedentes o hechos.

Se cuenta con una serie de reglas que definen la forma de deducir conocimiento.

El agente pregunta a estas reglas y hechos para poder razonar que opción le conviene más ejecutar.

El juejo del wumpus l.jpg

El Juejo del Wumpus

Percepciones: (4 sensores)

{Hedor, Brisa, Resplandor, Nada}

El agente no percibe su situación


Ir hacia adelante, girar izda/dcha 90º

Agarrar (estando en la casillla)

Disparar (sólo una flecha)

Objetivo: salir con el oro lo antes posible

1000 ptos: salir con el oro

1 pto penaliza cada acción. Penaliz. Máxima: 10000 ptos

L gica de proposiciones l.jpg

Lógica de Proposiciones

La sintaxis nos indica cuáles son los enunciados que se pueden construir.

Los enunciados atómicos se componen de una sola proposición.

Una proposición tiene un solo valor de verdad: Verdadero o Falso.

L gica de proposiciones120 l.jpg

Lógica de Proposiciones

  • Los enunciados complejos se forman a partir de enunciados más simples y el empleo de conectivos lógicos.

  • Los Conectivos Lógicos son cinco:

    • NO (~) también conocida como Negación.

    • Y (^) también conocida como Conjunción.

    • O (v) también conocida como Disyunción.

    • Implicación (⇒) también conocida como Condicional.

    • Sí y sólo si (⇔) también conocida como Bicondicional.

L gica de proposiciones121 l.jpg

Lógica de Proposiciones

Las expresiones que contienen conectivos lógicos se interpretan siguiendo el orden de precedencia que corresponde al mostrado en la tabla anterior.

Por ejemplo: ~P ^Q v R ⇒ S equivale a:

(~(P) ^(Q v R)) ⇒ S

Además, se emplean los paréntesis para evitar ambigüedades.

L gica de proposiciones122 l.jpg

Lógica de Proposiciones

La semántica nos define las reglas que permiten determinar el valor de verdad de un enunciado respecto de algún modelo.

Con dos símbolos proposicionales existen 4 modelos posibles para cada uno de los 5 conectivos lógicos, ¿Cómo quedarían las tablas de verdad?

L gica en wumpus l.jpg

Lógica en Wumpus

  • Regresemos al mundo del Wumpus para visualizar la construcción de la base de conocimiento.

  • Notación:

    • Bij indica que hay brisa en la celda (i,j).

    • Pij indica que hay un pozo en la celda (i,j).

  • A partir de un conocimiento inicial:

    • E1: ~P11

L gica en wumpus124 l.jpg

Lógica en Wumpus

Cuando hay brisa en una casilla implica que en una casilla contigua hay un pozo:

E2: B11 ⇔ P12 v P21

Ahora agregamos la primera percepción, no se percibe brisa en la celda (1,1): E3: ~B11

¿Cómo relacionar los enunciados 2 y 3 para obtener nuevo conocimiento?

L gica de proposiciones125 l.jpg

Lógica de Proposiciones

Cuando los resultados de una Tabla de Verdad son todos verdaderos, a esa proposición compuesta se le llama Tautología. Como ejemplo tenemos a: (p v ~p)

Cuando los resultados de una Tabla de Verdad son todos falsos, a esa proposición compuesta se le llama Contradicción. Como ejemplo tenemos a: (p ^ ~p)

L gica de proposiciones126 l.jpg

Lógica de Proposiciones

Básicamente la inferencia es la implementación de una implicación.

Los enunciados conocidos como verdaderos forman parte del antecedente.

El consecuente es un nuevo enunciado cuya veracidad se desprende de los anteriores. Simbólicamente se representa así:

antecedente :: consecuente

L gica de proposiciones127 l.jpg

Lógica de Proposiciones

La equivalencia lógica se presenta cuando dos enunciados α y β tienen los mismos valores de verdad para el mismo conjunto de modelos.

A continuación mostramos una tabla con las equivalencias lógicas más comunes:

Doble Negación: ~( ~p ) ≡ p

L gica de proposiciones128 l.jpg

Lógica de Proposiciones

Leyes Conmutativas

( p v q ) ≡ ( q v p )

( p ^ q ) ≡ ( q ^ p )

Leyes Asociativas

( p v q ) v r ≡ p v ( q v r )

( p ^ q ) ^ r ≡ p ^ ( q ^ r )

L gica de proposiciones129 l.jpg

Lógica de Proposiciones

Leyes Distributivas

p v ( q ^ r ) ≡ ( p v q ) ^ ( p v r )

p ^ ( q v r ) ≡ ( p ^ q ) v ( p ^ r )

Leyes de Idempotencia

( p v p ) ≡ p

( p ^ p ) ≡ p

L gica de proposiciones130 l.jpg

Lógica de Proposiciones

Leyes de DeMorgan

~( p v q ) ≡ ~p ^ ~q

~( p ^ q ) ≡ ~p v ~q

Leyes de Identidad

( p v ~p ) ≡ t

( p ^ ~p ) ≡ f

( p v f ) ≡ p

( p v t ) ≡ t

L gica de proposiciones131 l.jpg

Lógica de Proposiciones

Leyes de Identidad

( p v f ) ≡ f

( p v t ) ≡ p

Leyes de la Implicación

(p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p)

(p ⇒ q) ≡ (~q ⇒ ~p)

(q ⇒ p) ≡ (~p ⇒ ~q)

(p ⇒ q) ≡ (~p v q)

L gica de proposiciones132 l.jpg

Lógica de Proposiciones

Reglas de Inferencias

La siguiente implicación lógica se llama Modus Ponens y corresponde a la siguiente inferencia:

p ^ ( p ⇒ q ) :: q


p: Estudio

p ⇒ q: Si estudio aprobaré Matemáticas

q: Entonces, Aprobaré Matemáticas

L gica de proposiciones133 l.jpg

Lógica de Proposiciones

La siguiente implicación lógica se llama Modus Tollens y corresponde a la siguiente inferencia:

( p ⇒ q ) ^ ~q :: ~p


p ⇒ q: Si estudio apruebo Matemáticas

~q: No aprobé Matemáticas

~p: Entonces, no Estudié

L gica de proposiciones134 l.jpg

Lógica de Proposiciones

La siguiente implicación lógica se llama Silogismo Hipotético y corresponde a la siguiente inferencia:

( p ⇒ q ) ^ ( q ⇒ r ) :: ( p ⇒ r )


p ⇒ q: Si estudio apruebo Matemáticas

q ⇒ r: Si apruebo Matemáticas me regalan un auto

p ⇒ r: Entonces, Si estudio me regalan un auto

L gica de proposiciones135 l.jpg

Lógica de Proposiciones

La siguiente implicación lógica se llama Silogismo Disyuntivo y corresponde a la siguiente inferencia:

( p v q ) ^ ~p :: q


p v q: Hay que estudiar Francés o Alemán

~p: No estudio Francés

q: Entonces, Estudio Alemán

L gica de proposiciones136 l.jpg

Lógica de Proposiciones

La simplificación conjuntiva consiste en eliminar uno de los términos de una conjunción:

( p ^ q ) :: q o también: ( p ^ q ) :: p

Por el otro lado, la amplificación disyuntiva permite agregar un nuevo término:

p :: ( p v q )

L gica en wumpus137 l.jpg

Lógica en Wumpus

Se tiene que:

E2: B11 ⇔ P12 v P21

E3: ~ B11

Por lo que tenemos el siguiente razonamiento:

E4: (B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11)

E5: ((P12 v P21) ⇒ B11)

E6: ~B11 ⇒ ~(P12 v P21)

E7: ~(P12 v P21)

E8: ~P12 ^ ~P21

L gica en wumpus138 l.jpg

Lógica en Wumpus

Del razonamiento anterior concluimos que no hay un pozo en la casilla (1,2) ni en la (2,1).

Ahora veamos el razonamiento cuando el agente llega a la celda (1,2).

E9: ~B12

E10: B12 ⇔ P11 v P13 v P22

E12: ~P22

L gica en wumpus139 l.jpg

Lógica en Wumpus

Concluimos que no hay pozo ni en la casilla (1,3) ni en la (2,2).

E11: ~P13

E12: ~P22

Pero cuando el agente visitó la celda (2,1) percibió una brisa:

E13: B21

E14: B21 ⇔ P11 v P31 v P22

L gica en wumpus140 l.jpg

Lógica en Wumpus

Dado que ya verificamos que no hay pozo en las celdas (1,1) y (2,2), resulta evidente la conclusión que:

E15: P31

Es conveniente que nuestra base de conocimiento esté basada solamente en conjunciones y disyunciones.

L gica proposicional l.jpg

Lógica Proposicional

Cualquier enunciado compuesto puede ser transformado a uno equivalente que esté en la FNC

La Forma Normal Conjuntiva es la conjunción de n disyunciones de k elementos:

( p11 v … v p1k ) ^ … ^ ( pn1 v … v pnk )

L gica proposicional142 l.jpg

Lógica Proposicional

A continuación se describe un procedimiento para convertir a nuestra FNC:

Eliminar ⇔ usando la equivalencia:

(p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p)

Eliminar ⇒ usando la equivalencia:

(p ⇒ q) ≡ (~p v q)

L gica proposicional143 l.jpg

Lógica Proposicional

Simplificar ~ usando las equivalencias:

~( ~p ) ≡ p

~( p v q ) ≡ ~p ^ ~q

~( p ^ q ) ≡ ~p v ~q

Finalmente, aplicar la ley distributiva donde sea necesario.

p v ( q ^ r ) ≡ ( p v q ) ^ ( p v r )

L gica proposicional144 l.jpg

Lógica Proposicional

E2: B11 ⇔ (P12 v P21)

(B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11 )

(~B11 v P12 v P21) ^ (~(P12 v P21) v B11 )

(~B11 v P12 v P21) ^ ((~P12 ^ ~P21) v B11 )

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11)

L gica proposicional145 l.jpg

Lógica Proposicional

Para demostrar que una implicación BC :: α es válida, se utiliza el método de reducción al absurdo.

Esto es, probar que su negación: BC ^ ~α es una contradicción.

Para ello se lleva a la FNC y luego se prueba que es equivalente a una cláusula vacía.

L gica proposicional146 l.jpg

Lógica Proposicional

Probar que: E2 ^ E4 :: ~P12.

(B11 ⇔ (P12 - P21)) ^ ~B11 :: ~P12

Se convierte a FNC:

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (¿P21 v B11) ^ ~B11 :: ~P12

L gica proposicional147 l.jpg

Lógica Proposicional

Y para probar por reducción al absurdo, tenemos la negación:

(~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11) ^ ~B11 ^ P12

El proceso de simplificación funciona como sigue:

Si tomamos los primeros dos paréntesis, observamos que contienen a: ~B11 y B11, respectivamente.

L gica proposicional148 l.jpg

Lógica Proposicional

Como no pueden ser ambos verdaderos simultáneamente, entonces, o (P12 v P21) o bien (~P12 ) son verdaderos, lo que se reduce a la siguiente expresión:

(P12 v P21 v ~P12)

Como (P12 v ~P12 ) es una tautología, la expresión anterior se reduce a: (P21)

L gica proposicional149 l.jpg

Lógica Proposicional

Similarmente, los dos paréntesis siguientes, también contienen a: ~B11 y B11, por lo que la

expresión simplificada queda: (~P21)

Como ambas no pueden ser verdaderas, la conjunción resulta en una expresión nula.

Ejercicios l.jpg


( p ⇒ q ) ^ ( q ⇒ r )

p ^ ( p ⇒ q )

((p ^ q) ⇔ (p v ~q))

((~(p ⇒ q) ^ r ) v ~(p ⇔ ~q))

L gica de predicados l.jpg

Lógica de Predicados

Hay que aprovechar la característica declarativa y la composicionalidad de la lógica proposicional. Para ello definimos dos tipos de elementos:

Los objetos (Agente, Flecha, Wumpus, Pozo)

Las relaciones entre ellos, generalmente vinculadas por un verbo.

El Agente lanzó una Flecha

L gica de predicados152 l.jpg

Lógica de Predicados

Las relaciones unitarias también se conocen como Propiedades y se vincula un objeto con una característica por el verbo SER:

La Pelota es roja.

Las Funciones son un tipo especial de relación que involucra un solo objeto y devuelven un valor:

El padre de

Uno más que

L gica de predicados153 l.jpg

Lógica de Predicados

  • Uno sumado a Dos es igual a Tres

    • Objetos: Uno, Dos y Tres.

    • Relación: es igual a.

    • Función: sumado a; el resultado es un objeto, llamado: Uno sumado a Dos.

  • Las Casillas que rodean al Wumpus apestan.

    • Objetos: Casillas y Wumpus.

    • Relación: que rodean al.

    • Propiedad: apestan.

L gica de primer orden l.jpg

Lógica de Primer Orden

La lógica de primer orden se construye sobre: Hechos, Objetos y Relaciones.

La lógica de primer orden es universal porque puede expresar cualquier cosa que pueda ser programada.

El dominio de un modelo es el conjunto de objetos que contiene.

L gica de primer orden155 l.jpg

Lógica de Primer Orden

Una relación binaria es un conjunto de pares ordenados.

Por ejemplo, si Hugo, Paco y Luis son hermanos se denota así:

H = { (Hugo, Paco), (Hugo, Luis), (Paco, Luis),

Por ejemplo, si Pepe es el padre de Hugo, Paco y Luis, tenemos entonces:

L gica de primer orden156 l.jpg

Lógica de Primer Orden

Padre_de(Hugo) → Pepe

Padre_de(Paco) → Pepe

Padre_de(Luis) → Pepe

Padre_de(Pepe)  ?

A continuación se muestra la gramática de la LPO en BNF.

L gica de primer orden157 l.jpg

Lógica de Primer Orden

Los símbolos se agrupan en tres clases:

Símbolos de constante, que representan a los Objetos. Cada símbolo constante nombra a exactamente un objeto en el mundo, no todos los objetos necesitan tener nombres y algunos pueden tener más de un nombre.

Ejemplo: Juan, Casa, Wumpus.

L gica de primer orden158 l.jpg

Lógica de Primer Orden

Símbolos de predicado, que representan a las Relaciones. Ejemplos: Vecino, Hermano, …

Símbolos de función. Ejemplos: Coseno, Padre_de, Oficina_de

Los símbolos de predicado y de función tienen una Aridad que establece el número de argumentos.

L gica de primer orden159 l.jpg

Lógica de Primer Orden

〈Enunciado〉 → 〈Sentencia Atómica〉 | (〈Enunciado〉〈Conector〉〈Enunciado〉) | 〈Cuantificador〉〈Variable〉…〈Enunciado〉 | ~〈Sentencia〉

〈Sentencia Atómica〉 → 〈Predicado〉(〈Término〉…) | 〈Término〉 = 〈Término〉

〈Término〉 → 〈Función〉(〈Término〉…) | 〈Constante〉| 〈Variable〉

L gica de primer orden160 l.jpg

Lógica de Primer Orden

〈Conector〉 → . | - | ⇔ | ⇒

〈Cuantificador〉 → ∀ | ∃

〈Constante〉 → Martin | 59302 | Gato | X | …

〈Variable〉 → a | x | s | …

〈Predicado〉 → Previo | Gusta | Llueve | Falla | …

〈Función〉 → Padre_de | Cabello_de | Oficina_de | …

L gica de primer orden161 l.jpg

Lógica de Primer Orden

  • Un término es una expresión lógica que se refiere a un objeto.

    • Los símbolos constantes son términos

    • Los símbolos de función son términos.

    • Las variables también son términos.

  • Una sentencia atómica está formada por un símbolo predicado seguido por una lista entre paréntesis de términos.

L gica de primer orden162 l.jpg

Lógica de Primer Orden

Por ejemplo: Hermano(Roberto,Juan) indica que Roberto es el hermano de Juan.

Las sentencias atómicas pueden tener argumentos que son términos complejos: Casado(Padrede(Roberto),Madrede(Juan))

Se pueden usar conectores lógicos para construir sentencias más complejas.

L gica de primer orden163 l.jpg

Lógica de Primer Orden


Hermano(Roberto,Juan) ∧ Hermano(Juan,Roberto)

Es verdadero si Juan y Roberto son hermanos, pues la relación es simétrica.

Los cuantificadores nos permiten expresar propiedades de colecciones de objetos.

L gica de primer orden164 l.jpg

Lógica de Primer Orden

Hay dos cuantificadores en lógica de primer orden: universal y existencial.

Cuando un enunciado abarca a todos los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Universal, que se denota por ∀. El cual se enuncia con frases similares a: “Para todos …”, “Todos …”

Ejemplo: Todos los gatos son mamíferos.

L gica de primer orden165 l.jpg

Lógica de Primer Orden

Esta proposición es falsa si al menos un solo valor de la variable no satisface al enunciado.

La representación simbólica es:

∀x Gato(x) ⇒ Mamifero(x)

Sin embargo, mucha gente cae en el error de interpretarla como:

∀x Gato(x) ∧ Mamifero(x)

L gica de primer orden166 l.jpg

Lógica de Primer Orden

Aparentemente son equivalentes, pero esta segunda forma es más fuerte que la anterior, pues la primera será verdadera cuando el antecedente es falso ( x es un perro)

Cuando un enunciado indica que al menos uno de los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Existencial, el cual se denota por ∃.

L gica de primer orden167 l.jpg

Lógica de Primer Orden

Y se enuncia con frases similares a: “Hay ...” o “Existe ...” o “Para algunos ...”

Ejemplo: En mi clase hay mujeres.

Esta proposición es falsa si no existe ningún valor de la variable que satisfaga al enunciado.

La representación simbólica es:

∃x Alumnodemiclase(x) ∧ Mujer(x)

L gica de primer orden168 l.jpg

Lógica de Primer Orden

Semejante al caso anterior, mucha gente cae en el error de interpretarla como:

∃x Alumnodemiclase(x) ⇒ Mujer(x)

Pero esta segundo enunciado es más débil que el anterior y sería verdadero para los estudiantes que no están en mi clase.

Se pueden realizar afirmaciones muy complejas si se anidan cuantificadores.

L gica de primer orden169 l.jpg

Lógica de Primer Orden

Sin mezclar tipos de cuantificadores, podemos decir cosas como:

∀x,y Hermano(x,y) ⇒ Hermano(y,x)

También podemos mezclar cuantificadores,

∀x ∃y Buenopara(x,y) “Todos somos buenos para alguna cosa"

∃y ∀x Buenopara(x,y) “Alguien es bueno para todo"

L gica de primer orden170 l.jpg

Lógica de Primer Orden

Se pueden cambiar los cuantificadores mediante la negación.

Considerar la sentencia:

∀x ~Gusta(x,Verduras) “Para todo x, x no le gustan las verduras."

Es equivalente a decir: “No existe un x que le gusten las verduras.“

~∃x Gusta(x, Verduras)

L gica de primer orden171 l.jpg

Lógica de Primer Orden

Similarmente, los siguientes enunciados son equivalentes:

∃x P = ~∀x ~P

∀x P = ~∃x ~P

~∀x P = ∃x ~P

∀x ~P = ~∃x P

Con frecuencia el símbolo de igualdad se incluye como un símbolo especial.

L gica de primer orden172 l.jpg

Lógica de Primer Orden

Ejemplo: Padre(Juan) = José

Afirmar que el objeto que es padre de Juan es el mismo que el objeto José.

Los axiomas capturan los hechos básicos acerca de un dominio. Ejemplos:

∀x,y Padre(x,y) ⇔ Hijo(y,x)

∀x,y Abuelo(x,y) ⇔ ∃z Padre(x,z) . Padre(z,y)

∀x Masculino(x) ⇔ ~Femenino(x)

L gica de primer orden173 l.jpg

Lógica de Primer Orden

Algunos axiomas son considerados como Definiciones.

Los axiomas son luego usados para probar teoremas.

FOL en Wumpus:

El primer paso es definir la interface entre el agente y el mundo.

Fol wumpus l.jpg

FOL Wumpus

Un ejemplo de percepción sería:


El vector de percepciones contiene 5 elementos que son: Hedor, Brisa, Brillo, Golpe con un muro y Grito. Además incluye un sexto elemento para el tiempo.

Las acciones posibles del agente pueden ser las siguientes:

Fol wumpus175 l.jpg

FOL Wumpus






Para determinar cuál es la mejor acción, el agente realiza una petición como esta:

PREGUNTAR(BC, ∃x MejorAcción(x,5))

Fol wumpus176 l.jpg

FOL Wumpus

Esta petición retornará una lista de acciones posibles, tal como: {a/Tomar}.

Antes de realizar esa acción, el agente deberá DECIR a la base de conocimiento su decisión de hacer la acción de Tomar:

DECIR(BC, Acción(5)=Tomar)

Reglas de diagnóstico: nos llevan de los efectos observados a sus causas.

Fol wumpus177 l.jpg

FOL Wumpus

Por ejemplo: si una casilla tiene brisa significa que una casilla adyacente tiene un pozo.

∀x Brisa(x) ⇒ ∃y Adyacente(y,x) ∧ Pozo(y)

Reglas Causales: reflejan conclusiones respecto de las percepciones y sus causas. Por ejemplo: un pozo en una casilla provoca brisa en todas las casillas adyacentes.

∀y Pozo(y) ⇒ [∀x Adyacente(x,y) ⇒ Brisa(x)]

L gica de primer orden178 l.jpg

Lógica de Primer Orden

La Ingeniería del Conocimiento es un proceso general para la construcción de una base de conocimiento. A continuación se describen los pasos de este proceso:

Identificación de la tarea.

Recopilación del conocimiento.

Decidir el vocabulario.

Codificar el conocimiento.

Deducci n autom tica l.jpg

Deducción Automática

Para el hecho: Contrata(Telmex,Toño), podemos construir índices para las siguientes peticiones:

Contrata(Telmex,Toño) ¿Contrata Telmex a Toño?

Contrata(x,Toño) ¿Quién Contrata a Toño?

Contrata(Telmex,y) ¿A quién Contrata Telmex?

Contrata(x,y) ¿Quién Contrata a quién?

Deducci n autom tica180 l.jpg

Deducción automática

El primer paso consiste en transformar los enunciados en sentencias lógicas.

Posteriormente se aplican las técnicas anteriores para convertirlas en un conjunto de cláusulas positivas de primer orden.

Luego se encadenan esos conocimientos para obtener nuevos enunciados.

Deducci n autom tica181 l.jpg

Deducción Automática

Pasar a FNC la siguiente base de conocimientos:

Asterix es un galo

Los romanos que son amigos de algún galo odian a César

Asterix ayudó a Marco

Marco es amigo de quien le ayuda

Quien odia a algún romano, lucha contra él

Marco es romano

Deducci n autom tica182 l.jpg

Deducción Automática

  • Asterix es un galo

  • galo(Asterix) (en FNC)

  • Los romanos que son amigos de algún galo odian a César

  • ∀x [romano(x) . (∃y galo(y) . amigo(x, y)) ⇒ odia(x,Cesar)]

Deducci n autom tica183 l.jpg

Deducción Automática

Reemplazando la cláusula existencial:

∀x [romano(x) . (galo(G) . amigo(x, G)) ⇒ odia(x,Cesar)]

Asterix ayudó a Marco

ayuda(Asterix,Marco) (en FNC)

Marco es amigo de quien le ayuda

∀x [ayuda(x,Marco) ⇒ amigo(Marco, x)]

Deducci n autom tica184 l.jpg

Deducción Automática

Quien odia a algún romano, lucha contra él

∀x ∃y [romano(y) . odia(x, y) ⇒ lucha(x, y)]

Reemplazando la cláusula existencial:

∀x [romano(R) . odia(x, R) ⇒ lucha(x, R)]

Marco es romano

romano(Marco) (en FNC)

Deducci n autom tica185 l.jpg

Deducción Automática

Los Miembros del equipo de tenis son: Juan, Sara, Beto y Elena.

Juan está casado con Sara.

Beto es hermano de Elena.

El cónyuge de un miembro del equipo también es miembro del equipo.

Deducci n autom tica186 l.jpg

Deducción Automática

La última reunión fue en casa de Juan.

Representar los enunciados anteriores en lógica de predicados. Demostrar que:

La última reunión fue en casa de Sara.

Elena no está casada.

Agregue los hechos que necesite para las demostraciones.

Deducci n autom tica187 l.jpg

Deducción Automática

A Paco le gustan los cursos fáciles.

Los cursos de Física son difíciles.

Los cursos de Humanidades son fáciles.

El curso de Ética es del área de Humanidades.

¿Qué curso le gustaría tomar a Paco?

Deducci n autom tica188 l.jpg

Deducción Automática

A Beto le gusta la comida italiana.

En un restaurante hay comida mexicana a no ser que se anuncie explícitamente lo contrario.

En “La Conchita” no anuncian que tipo de comida sirven.

Deducci n autom tica189 l.jpg

Deducción Automática

A las personas no les gusta ir a restaurantes donde sirven comida que no es de su preferencia.

¿Se puede concluir que a Beto no le gusta ir a “La Conchita”?

Deducci n autom tica190 l.jpg

Deducción Automática

Formaliza los siguientes hechos:

Todo dragón está feliz si todos sus hijos pueden volar.

Los dragones verdes pueden volar. Un dragón es verde si es hijo de al menos un dragón verde.

Demuestra por resolución que la conjunción de los hechos anteriores implica que:

Todos los dragones verdes son felices.

Deducci n autom tica191 l.jpg

Deducción Automática

Considere las siguientes relaciones:

Feliz(x) para x es feliz.

Volar(x) para x puede volar.

Verde(x) para x es verde.

Dragón(x) para x es dragón

Rojo(x) para x es rojo.

Hijo(x,y) para x es hijo de y.

Referencias l.jpg


Russel, S. y Norving, P. (2004). Inteligencia Artificial. Un Nuevo enfoque. Pearson Prentice Hall, España

Nilsson, N. (2001). Inteligencia Artificial. Una nueva síntesis. McGraw-Hill, España.

Winston, P. (1992) Artificial Intelligence, 3ra. Edición, Addison-Wesley.

Referencias193 l.jpg


Decker, R. y Hirshfield, S. (2001). Máquina Analítica. Introducción a las Ciencias de la Computación con Uso de Internet, Thomson, México. Capítulo 9 Inteligencia Artificial pp. 295-325.

Hernández, V. (2007). Mapas Conceptuales La gestión del Conocimiento en la Didáctica. Segunda Edición, México: Alfaomega.

Referencias194 l.jpg


G. Polya, (1982), “Cómo Plantear y Resolver Problemas”, traducción al español de “How to Solve It”, Ed. Trillas, México, 1982, ISBN: 968-24-0064-3.

Montes, M. y Villaseñor L. (2008) Fundamentos de Inteligencia Artificial Métodos básicos de solución de problemas, Instituto Nacional de Astrofísica, Óptica y Electrónica, Puebla, México.

Preguntas l.jpg


  • Login