1 / 195

Inteligencia Artificial - PowerPoint PPT Presentation

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

Related searches for Inteligencia Artificial

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

PowerPoint Slideshow about 'Inteligencia Artificial' - daniel_millan

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 ArtificialIA7700-T

M.C. Juan Carlos Olivares Rojas

Repaso básico de IA sobre:

Introducción

Agentes lógicos

Métodos de Búsqueda

Prolog

Lisp

Planificación

• 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).

• 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.

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

• Human Intelligence have these features:

Reasoning.

Behavior.

Use of Metaphores and Analogies.

Concepts Creating and Use.

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?

• 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,

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 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.

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.

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.

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.

• Solution Search

• Expert System

• Natural Language Recognition

• Pattern Recognition

• Robotic

• Machine Learning

• Logic

• Games

• Neuronal Networks

• Genetic Algorithms

• Virtual Reality

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?

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.

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.

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

“Ideas verdes descoloridas duermen furiosamente”,

“Ideas furiosamente verdes descoloridas duermen”.

“El banco cierra a las 3:00”

“Las almejas están listas para comer”

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

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)

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.

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.

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.

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

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, 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 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:

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.

The Game of Life live cell.

The Game of Life live cell.

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

Play the game at: www.bitstorm.org/gameoflife/

Virtual Reality live cell.

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 live cell.

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 Learning live cell.

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 Learning live cell.

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 live cell.

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 live cell.

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 live cell.

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 Activity live cell.

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 live cell.

We must try to don´t generate a loop

Cellular Automata live cell.

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 Automata live cell.

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 Automata live cell.

Semantic Networks live cell.

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 Networks live cell.

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 Networks live cell.

Script live cell.

Script Example:

Printers

Subset_of: Office_Machine

Superset_of: {Laser_Printer, Inject_Printer}

Feed_Source: Door_Socket

Author: Juan_Perez

Date: 07_January_2008

Onthologies live cell.

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 Networks live cell.

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 live cell.

Onthology live cell.

Activity live cell.

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 live cell.

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 live cell.

• 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):

AMOR

Love a person or thing for over all things

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

The Desc. and Match Method live cell.

AMOR = AMOR Exact 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 Method live cell.

Circle

Description:

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

Properties:

Center (point)

Areas

The Desc. and Match Method live cell.

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 Method live cell.

• 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 live cell.oose 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 live cell.oose and Wheat Problem

Farmer

Fox

Goose

Wheat

Farmer

Fox

Goose

Wheat

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

The Farmer, Fox, G live cell.oose and Wheat Problem

Fox

Farmer

Goose

Wheat

Wheat

Farmer

Fox

Goose

Farmer

Goose

Wheat

Fox

Farmer

Fox

Goose

Wheat

Wheat

Farmer

Fox

Goose

Farmer

Fox

Goose

Wheat

Farmer

Fox

Goose

Wheat

Fox

Wheat

Farmer

Goose

Farmer

Fox

Wheat

Goose

Goose

Wheat

Farmer

Fox

Farmer

Goose

Fox

Wheat

Fox

Goose

Wheat

Farmer

Farmer

Fox

Goose

Wheat

Fox

Goose

Wheat

Farmer

Goose

Wheat

Fox

Farmer

Fox

Goose

Wheat

Farmer

Activity live cell.

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

Activity live cell.

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|

Where:

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

Activity live cell.

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

Activity live cell.

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 live cell.

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 live cell.

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ías live cell.

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ías live cell.

A

B

2

3

C

4

1

¿Cómo quedarían D y 5?

Problemas de Analogías live cell.

A

C

B

1

2

¿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 live cell.

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 Abstracciones live cell.

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 live cell.

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 Conocimiento live cell.

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 live cell.

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 live cell.

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 Ciegos live cell.

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 Ciegos live cell.

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 Ciegos live cell.

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 live cell.

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 Anchura live cell.

• 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.

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 live cell.

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

Homework live cell.

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 live cell.

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 live cell.

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 Caballo live cell.

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 Caballo live cell.

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 Caballo live cell.

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ística live cell.

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 live cell.

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 trayectoria live cell.

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 live cell.

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 Trayectoria live cell.

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 live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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ático live cell.

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.

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.

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 ó

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 live cell.

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

V ← –∞

Algoritmo Minimax live cell.

V ← Max(V, Valor_MIn(S))

devolver V

V ← ∞

Algoritmo Minimax live cell.

V ← Min(V, Valor_Max(S))

devolver V

Poda Alfa-Beta live cell.

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-Beta live cell.

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.

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

Poda Alfa-Beta live cell.

V ← –∞

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

Si V ≥ Beta Entonces devolver V

Alfa ← Max(Alfa,V)

devolver V

Poda Alfa-Beta live cell.

V ← ∞

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

Si V ≤ Alfa Entonces devolver V

Beta ← Min(Beta,V)

devolver V

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 live cell.

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 Conocimiento live cell.

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 live cell.

Percepciones: (4 sensores)

El agente no percibe su situación

Acciones:

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 live cell.

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

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

Lógica de Proposiciones live cell.

• 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 Proposiciones live cell.

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

Lógica de Proposiciones live cell.

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 live cell.

• 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 Wumpus live cell.

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 Proposiciones live cell.

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 Proposiciones live cell.

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

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

antecedente :: consecuente

Lógica de Proposiciones live cell.

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 Proposiciones live cell.

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 Proposiciones live cell.

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 Proposiciones live cell.

Leyes de DeMorgan

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

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

( p v ~p ) ≡ t

( p ^ ~p ) ≡ f

( p v f ) ≡ p

( p v t ) ≡ t

Lógica de Proposiciones live cell.

( 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 Proposiciones live cell.

Reglas de Inferencias

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

p ^ ( p ⇒ q ) :: q

Ejemplo:

p: Estudio

p ⇒ q: Si estudio aprobaré Matemáticas

q: Entonces, Aprobaré Matemáticas

Lógica de Proposiciones live cell.

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

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

Ejemplo:

p ⇒ q: Si estudio apruebo Matemáticas

~q: No aprobé Matemáticas

~p: Entonces, no Estudié

Lógica de Proposiciones live cell.

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

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

Ejemplo:

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 Proposiciones live cell.

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

( p v q ) ^ ~p :: q

Ejemplo:

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

~p: No estudio Francés

q: Entonces, Estudio Alemán

Lógica de Proposiciones live cell.

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 Wumpus live cell.

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 Wumpus live cell.

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 Wumpus live cell.

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 Wumpus live cell.

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 live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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 Proposicional live cell.

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

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

Ejercicios live cell.

( p ⇒ q ) ^ ( q ⇒ r )

p ^ ( p ⇒ q )

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

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

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

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:

Uno más que

• Uno sumado a Dos es igual a Tres

• Objetos: Uno, Dos y Tres.

• Relación: es igual a.

• Las Casillas que rodean al Wumpus apestan.

• Objetos: Casillas y Wumpus.

• Relación: que rodean al.

Lógica de Primer Orden live cell.

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 Orden live cell.

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 Orden live cell.

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

Lógica de Primer Orden live cell.

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 Orden live cell.

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 Orden live cell.

〈Sentencia Atómica〉 → 〈Predicado〉(〈Término〉…) | 〈Término〉 = 〈Término〉

〈Término〉 → 〈Función〉(〈Término〉…) | 〈Constante〉| 〈Variable〉

Lógica de Primer Orden live cell.

〈Conector〉 → . | - | ⇔ | ⇒

〈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 Orden live cell.

• 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 Orden live cell.

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

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

Lógica de Primer Orden live cell.

Ejemplo:

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

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

Lógica de Primer Orden live cell.

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 Orden live cell.

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 Orden live cell.

Aparentemente son equivalentes, pero esta segunda forma es más fuerte que la anterior, pues la primera será verdadera cuando el antecedente es falso (v.gr. 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 Orden live cell.

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 Orden live cell.

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 Orden live cell.

Sin mezclar tipos de cuantificadores, podemos decir cosas como:

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

∀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 Orden live cell.

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 Orden live cell.

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 Orden live cell.

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 Masculino(x) ⇔ ~Femenino(x)

Lógica de Primer Orden live cell.

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 live cell.

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 Wumpus live cell.

Girar(Derecha)

Girar(Izquierda)

Avanzar

Disparar

Tomar

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 Wumpus live cell.

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 Wumpus live cell.

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 Orden live cell.

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 live cell.

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ática live cell.

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.

Deducción Automática live cell.

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ática live cell.

• 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ática live cell.

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ática live cell.

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ática live cell.

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

Beto es hermano de Elena.

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

Deducción Automática live cell.

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

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

Agregue los hechos que necesite para las demostraciones.

Deducción Automática live cell.

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ática live cell.

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ática live cell.

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ática live cell.

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ática live cell.

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 live cell.

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.

Referencias live cell.

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.

Referencias live cell.

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? live cell.