Sie sind auf Seite 1von 195

Inteligencia Artificial

IA7700-T
M.C. Juan Carlos Olivares Rojas
olivares@correo.fie.umich.mx

Agenda
Repaso bsico de IA sobre:

Introduccin
Agentes lgicos
Mtodos de Bsqueda
Prolog
Lisp
Planificacin

Basic Concepts
Whats
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 Concepts
AI Systems extend human experts, but
never cant substituting either taken
most of human intlligence.
AI Systems dont have common sense
and generallity of human beings.
Human Intelligence are very complex
for computing.

Basic Concepts
If a problem can not be described, then
can not be programmed
Human
features:

Intelligence

have

Reasoning.
Behavior.
Use of Metaphores and Analogies.
Concepts Creating and Use.

these

Problem
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
Capacity to solution all clasess of problems
Intelligence is very subjective.
Intelligence
animals

Distinguished

man

of

AI is an interdiciplinary science which


involves phylosophy, matemathics, biology,
electronics, etc,

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 Test
Turing Test is passed when the
interviewer can not distinguished the
answer between the human and the
machine.
The new AI systems required
perception sense to pass the test.

the

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.

Gnesis 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 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
Solution Search

Logic

Expert System

Games

Natural Language
Recognition

Neuronal Networks
Genetic Algorithms

Pattern Recognition
Robotic
Machine Learning

Virtual Reality

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
The search term appliend in AI, its 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.

TSP

TSP

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


Its a complex problem. For example (in
spanish):
Ideas verdes descoloridas duermen
furiosamente,
Ideas
furiosamente
descoloridas duermen.

verdes

Natural Language Processing


El banco cierra a las 3:00
Las almejas estn listas para comer
Las almejas estn listas
comidas [por nosotros]

para

[ser]

Artificial Vision
Its 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
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.

area
This
computers

Learning

studies the way in how


can obtain new knowledge
to solve a problem.

this sense, learning means to make a


Incomputer
which is able to benefit for
the experience obtained.

Games
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 nn chessboard
such that none of them is able to
capture any other using the standard
chess queen's moves.

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

Genetic Algorithms

a computational technique inspired in


Its
biological models which are used to
realize eficient search in spatial solution
highly huge and complex.

Genetic
methods

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

has given the creation of emergence


This
areas such as evolutionary computation
and swarm computing algorithms that
rely on events of nature.

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

Any dead cell with exactly three live


neighbours becomes a live cell.

The Game of Life

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
www.bitstorm.org/gameoflife/

at:

Virtual Reality
Its one of the most recent applications
of AI. Its 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

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, its considered intelligent. The
main feature of this systems are the
adaptability like saving energy.

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


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


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 dont have the two representations
we can not understand and learn the
game.

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


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


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
We must try to dont
generate a loop

Cellular Automata
Its 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 t1.

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 Automata
Rule 30
Pattern 111
State

110 101

0
0
Rule 110

100

011

010

001

000

Pattern

111 110 101

100

011

010

001

000

State

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
relatinoships: Is-A y la Have-A.

special

Semantic Networks
We can access throught
concepts to infer knowledge.

of

each

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

Script
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
Other way to represent knowledge with a
lot of use recently is Onthology, Its 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
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

Onthology

Activity
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

Its used for AI problem solving and Its


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

When the match process is doing, one


posibility is the object dont 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


AMOR = AMOR Exact Macth
AMOR = ROMA 0% similarity
contains for characters

but

Amor = AMOR 25% similarity, contains


all character but in uppercase
Amor = Cario 0% similarity but the
same meaning
Amor = Amar 75% its a consequence

The Desc. and Match Method


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)
Diametrer (twice radio)
Areas

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 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, 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, Goose and Wheat


Problem

Farmer
Fox
Goose
Wheat

Farmer
Fox
Goose
Wheat

Se puede utilizar el mtodo de descripcin y


pareamiento?

The Farmer, Fox, Goose and Wheat


Problem
Wheat
Farmer
Fox
Goose

Farmer
Fox
Goose
Wheat

Fox
Farmer
Goose
Wheat

Fox
Wheat
Farmer
Goose

Fox
Goose
Wheat
Farmer

Goose
Wheat
Fox
Farmer

Wheat
Farmer
Fox
Goose

Farmer
Fox
Wheat
Goose

Fox
Goose
Wheat
Farmer

Farmer
Goose
Wheat
Fox

Goose
Wheat
Farmer
Fox

Farmer
Fox
Goose
Wheat

Farmer
Goose
Fox
Wheat

Farmer
Fox
Goose

Fox
Goose
Wheat

Wheat

Farmer

Farmer
Fox
Goose
Wheat

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

LOC

Return

Function
Call

1
2
3
4
5

66
41
68
90
75

20
10
5
34
12

1
2
8
5
14

Activity
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
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
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
Its other form to problem solving tha its
used in AI.
Analogy is a special type of relation that
define how are objects represented los
objetos de una categora y como obtener
sus predecesores y antecesores inmediatos.
Generalmente se habla de anlogo cuando
se tiene el mismo tipo de relacin aun
cuando sean entidades diferentes.

Problemas de Analogas
Alguna vez nos hemos preguntado por
qu en la mayora de los exmenes de
admisin
generalmente
son
ms
importantes que los de conocimientos?
Por que en la mayora 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 ms importantes las
reglas que el conocimiento.

Problemas de Analogas
En matemticas y en el rea de
programacin se utiliza mucho la
analoga 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 solucin.

Problemas de Analogas
A

Cmo quedaran D y 5?

Problemas de Analogas
Qu problemas se presentan con la
Abstraccin de la Figura D o bien de la
Figura 3?

La resolucin de problemas por analoga


tiene como base cierto conocimiento
previo en ocasiones difcil de obtener.

Reconocimiento de
Abstracciones
A lo largo de esta presentacin se ha
podido comprobar que prcticamente 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-Condicin-Accin)

Reconocimiento de
Abstracciones
Generalmente respondemos a estmulos
(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 abstraccin permite llegar a cierto tipo
de conclusiones y preguntas resueltas.

Interpretacin del
Conocimiento

La interpretacin del conocimiento, es


decir la utilizacin 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 aplicacin
son diversas.
Existen muchas corrientes filosficas que
le tratan de dar sentido al conocimiento:
empirismo y racionalismo cientfico.

Interpretacin del
Conocimiento
Se pretende que las reglas y hechos
(base de conocimientos) permitan
resolver problemas y que a su vez de la
resolucin de estos problemas se
obtenga nuevos conocimientos.

Homework
Make a survey (Caracterization) about the
frecuencie of each character in Spanish
Alfabet. For example, in % how many c
appears.
This surve will aplied
Cryptoanalisys System.

on

Inteligent

Research about cryptograph system by


transposition and substitution algorithms.

Mtodos 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
computacin,
desafortunadamente
para
muchos
problemas, el espacio de soluciones es
grandsimo por lo que la bsqueda se
volvera muy extensa.

Mtodos Ciegos
De esta forma, se necesitan de mejores
mecanismos de bsqueda. En muchas
ocasiones el espacio de bsqueda se puede
reducir
simplemente
con
observar
simetras, 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.

Mtodos Ciegos
El primer mtodo de bsqueda optimizada
es el de bsqueda primero en anchura.
La idea de este mtodo 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 funcin de
estados sucesores que indique los nodos
que se producirn al aplicar todos los
operadores a dicho nodo.

Mtodos Ciegos
Existen otras variantes de este mtodo
como la bsqueda 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 vrtice V, A un vector de
arcos inicialmente vaco y P un vector
auxiliar inicialmente vaco:

Bsqueda en Anchura
1. Se introduce el vrtice inicial en P y se
elimina del conjunto.
2. Mientras V no sea vaco repetir los
puntos 3 y 4. En otro caso parar.
3. Se toma el primer elemento de P como
vrtice activo.

Bsqueda en Anchura
4. Si el vrtice activo tiene algn vrtice
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
vrtice activo.

Si el vrtice activo no tiene adyacentes


se elimina de P.

Bsqueda en Profundidad
Tambin se le conoce como vuelta atrs.
Consume menos memoria que el mtodo
en anchura pero en algunas ocasiones
puede ser contraproducente por lo que se
llega a limitar su profundidad.
Los ejemplos ms utilizados en bsqueda
de profundidad son los algoritmos de
preorden, enorden, postorden. Los cuales
trabajan slo con arboles binarios.

Bsqueda Heurstica
Heurstica viene del griego heuriskein,
que significa descubrir. De la misma
palabra se deriva la exclamacin:
Eureka!

Homework
Investigar que problemas de los visto en
clases pueden resolver a travs de
Bsqueda en Anchura y en Profundidad.
Investigar que otro tipo de problemas
pueden
ser
resueltos
utilizando
bsquedas en anchura y en profundidad.

Backtracking
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 solucin satisfactoria.
El problema de las n reinas se soluciona
de esta forma al igual que otros
problemas

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 Caballo


Recordar que los caballos se mueven en
forma de L una posicin en un sentido
(vertical/horizontal) y dos en el otro sentido
(horizontal/vertical). Por ejemplo si se
mueve una posicin 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 heurstica de una posicin X
de la matriz.

Problema del Caballo


La matriz est inicializada con 0s. Se
coloca un 1 en la primera posicin. Se
escoge una nueva solucin que no est
ocupada colocando el siguiente nmero
(secuencia del viaje). Si todas las celdas
estn ocupadas se debe regresar a la
solucin anterior y tratar con un nuevo
camino.
Se necesita ir guardando las celdas ya
visitadas en un nivel

Problema del Caballo


El algoritmo termina cuando o se llenan
todas las celdas o cuando se tiene la
mejor solucin (ms celdas llenas).
Se recomienda utilizar bsqueda por
anchura calculando previamente el espacio
de solucin de cada nivel.
El usuario deber dar el tamao de la matriz
y la posicin inicial del caballo y el
programa deber mostrar la matriz con los
movimientos del caballo.

Bsqueda Heurstica
Heurstica viene del griego heuriskein, que
significa descubrir. De la misma palabra se
deriva la exclamacin: Eureka!
El algoritmo ms conocido de este tipo es
el A* que basa su funcionamiento en
obtener dos distancias del origen a la raz
y de la raz al nodo objetivo.
f(n) = g(n) + h(n)

La mejor trayectoria
Es otro algoritmo heurstico que trata de
encontrar la mejor trayectoria depende de lo
que se trate.
Ejemplo de este tipo de algoritmos se
encuentra la ruta crtica, la ruta ms corta, el
canal con ms ancho de banda, etc.
A los algoritmos heursticos reciben el
nombre de bsqueda informada, mientras
que los ciegos son bsquedas no informadas.

La mejor trayectoria
Las heursticas no son otra cosa que
estrategias de bsquedas informada.
Desafortunadamente las heursticas no
lo miden todo, simplemente pretende
encontrar una solucin lo mejor posible
al problema.
Un mtodo heurstico ms avanzado lo
comprenden los algoritmos genticos.

Trayectorias Redundantes
Son algoritmos que pretenden eliminar
todos aquellos espacios que no son
soluciones viables dado que consume
mucho tiempo.
Los algoritmos de planificacin son un
ejemplo de este tipo de herramientas.
Se debe cuidar de no repetir estados.
Una posible solucin es ver la simetra
de los rboles.

La Mejor Trayectoria
Son dependientes
mnimos locales.

a los mximos y

En la naturaleza nos basamos mucho en


como trabajan los organismos como las
abejas y en fenmenos fsicos como el
recocido simulado.

Problema del Cajero


Automtico

Los cajeros automticos (ATM por sus


siglas
en
ingls)
son
dispositivos
embebidos cuya funcin 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
combinacin de dinero.

Problema del Cajero


Automtico

Se debe brindar de una buena combinacin


ya que sino se pueden acabar los billetes
de cierta denominacin pudiendo dejar sin
operaciones a muchos clientes.
Una heurstica balanceada muy simple pero
poco eficiente consiste en repartir dinero de
una
denominacin
hasta
tratar
de
completar la suma (por ejemplo dar billetes
muy altos puede ser bajos pero no es tan
eficiente- y despus completarlos con los
de siguiente denominacin).

Problema del Cajero


Automtico

Esta solucin da como resultado que


primero se acaben todos los billetes de una
denominacin.
Una solucin simple y ms eficiente es
repartir dinero en forma balanceada,
empezando
por
billetes
de
altas
denominaciones hasta bajas. Este esquema
es ms justo ya que va quitando billetes
por igual, desgraciadamente esta es su
deficiencia ya que un billete de 50 tendra
un peso igual a uno de 500.

Problema del Cajero


Automtico
mejor solucin consiste en ponerle

Una
ponderacin a cada recurso (billete) de
acuerdo a su valor monetario y a la
cantidad de recurso disponible, por lo que
se ocupara una funcin de similaridad
que quizs tenga que ser dinmica y
quizs no muy sencilla de calcular.

Problema del Cajero


Automtico

En general existen diversas alternativas


de solucin para el mismo problema. En
el caso de los cajeros se prefiere una
heurstica de acabar primero los billetes
ms grandes ya que de los chicos hay
mayor cantidad.

Problema del Cajero


Automtico

Otra solucin de entre las mejores


consiste en crear diversas soluciones
para despus comparar aquellas que
sean ms benficas, pero esto requiere
de tiempo y de espacio.
Este problema se puede solucionar a
travs
de
autmatas
(gramticas),
bsquedas ciegas, bsquedas heursticas
y algoritmos de planificacin.

Problema del Cajero


Automtico

Tarea: realizar un programa que funcione


como cajero automtico. El usuario deber
introducir un valor a retirar y el cajero
deber indicarle la combinacin de dinero.
El programa debe preguntar la cantidad de
billetes al inicio de la simulacin, por lo
que se puede calcular el total de dinero.
Existe un lmite mximo de retiro de $4000
en mltiplos de 50

Problema del Cajero


Automtico

El cajero deber validar que la cantidad no


se pase y que el sistema la pueda dar (que
sea mltiplo 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 transaccin mostrar
la cantidad de billetes disponibles as como
la combinacin de billetes entregada.

Problema del Cajero


Automtico

El programa deber mostrar cuantos


clientes ha atendido (este parmetro ser
el que mida el desempeo 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 opcin
de simulacin en donde se generen
retiros al azar.

rboles y Bsqueda con


Adversarios Mtodos
Algortmicos
En este tipo de bsqueda no slo importa
los movimientos de una persona o proceso
implica adems considerar otro factor
cambiante llamado jugador adversario.
Todo mtodo de bsqueda con adversario
debe de tener los siguientes elementos:
estado inicial, funcin sucesor, test
terminal y una funcin de utilidad que
ayuda a determinar los pesos.

Bsqueda con Adversarios


El algoritmo ms 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 funcin:
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

Bsqueda con Adversarios


min elemento s de sucesores(n)
vMiniMax(s) si n es un estado min.
Por ejemplo para el juego del gato, la
funcin para vMiniMax contara todas
aquellas posiciones que estn libres
para MAX todas aquellas posiciones
para MIN. Si la posicin es ganadora
para MAX devuelve un nmero infinito
positivo, si la posicin es ganadora para
MIN

Algoritmo Minimax
Funcin MiniMax(Estado) Devuelve Accin
V Valor_Max(Estado)
devolver Accin de Sucesores[Estado] con
valor V.
Funcin
Valor_Max(Estado)
Utilidad
Si
test_terminal(Estado)
Devolver
Utilidad[Estado]
V

Devuelve
Entonces

Algoritmo Minimax
Para cada S sucesores[Estado] Hacer
V Max(V, Valor_MIn(S))
devolver V
Funcin
Valor_Min(Estado)
Utilidad
Si test_terminal(Estado)
Devolver
Utilidad[Estado]
V

Devuelve
Entonces

Algoritmo Minimax
Para cada S sucesores[Estado]
Hacer
V Min(V, Valor_Max(S))
devolver V

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 imprctico
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
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.
Funcin
Alfa-Beta(Estado)
Devuelve
Accin
V Valor_Max(Estado, , )
devolver Accin de Sucesores[Estado]
con valor V.

Poda Alfa-Beta
Funcin
Valor_Max(Estado,Alfa,Beta)
Devuelve Utilidad
Si test_terminal(Estado) Entonces Devolver
Utilidad[Estado]
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-Beta
Funcin
Valor_Min(Estado,Alfa,Beta)
Devuelve Utilidad
Si test_terminal(Estado) Entonces Devolver
Utilidad[Estado]
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 Bsqueda con


Adversarios Mtodos
Heursticos
Las heursticas pueden ser muy
variadas y depender del tipo de juego.
Para el juego de ajedrez, se puede
definir matemticamente una funcin
que permita encontrar la mejor jugada
a realizar. Como se puede hacer esto?,
a travs de la colocacin de valores a
los distintos tipos de elementos como
los caballosmreyna, etc.

Representacin del
Conocimiento
El conocimiento debe estar expresado en
un lenguaje simblico 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
informacin a travs de la inferencia
lgica.

Representacin del
Conocimiento
Inicialmente el agente cuenta con unos
conocimientos
bsicos
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 opcin
le conviene ms ejecutar.

El Juejo del Wumpus


Percepciones: (4 sensores)
{Hedor, Brisa, Resplandor, Nada}
El agente no percibe su situacin

Acciones:
Ir hacia adelante, girar izda/dcha 90
Agarrar (estando en la casillla)
Disparar (slo una flecha)

Objetivo: salir con el oro lo antes posible


1000 ptos: salir con el oro
1 pto penaliza cada accin. Penaliz. Mxima: 10000 ptos

Lgica de Proposiciones
La sintaxis nos indica cules son los
enunciados que se pueden construir.
Los enunciados atmicos se componen
de una sola proposicin.
Una proposicin tiene un solo valor de
verdad: Verdadero o Falso.

Lgica de Proposiciones
Los enunciados complejos se forman a
partir de enunciados ms simples y el
empleo de conectivos lgicos.
Los Conectivos Lgicos son cinco:

NO (~) tambin conocida como Negacin.


Y (^) tambin conocida como Conjuncin.
O (v) tambin conocida como Disyuncin.
Implicacin () tambin conocida como
Condicional.
S y slo si () tambin conocida como
Bicondicional.

Lgica de Proposiciones
Las
expresiones
que
contienen
conectivos
lgicos
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
Adems, se emplean los parntesis para
evitar ambigedades.

Lgica de Proposiciones
La semntica nos define las reglas que
permiten determinar el valor de verdad
de un enunciado respecto de algn
modelo.
Con dos smbolos proposicionales
existen 4 modelos posibles para cada
uno de los 5 conectivos lgicos, Cmo
quedaran las tablas de verdad?

Lgica en Wumpus
Regresemos al mundo del Wumpus para
visualizar la construccin de la base de
conocimiento.
Notacin:
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

Lgica 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 percepcin,
no se percibe brisa en la celda (1,1): E3:
~B11
Cmo relacionar los enunciados 2 y 3
para obtener nuevo conocimiento?

Lgica de Proposiciones
Cuando los resultados de una Tabla de
Verdad son todos verdaderos, a esa
proposicin compuesta se le llama
Tautologa. Como ejemplo tenemos a: (p
v ~p)
Cuando los resultados de una Tabla de
Verdad son todos falsos, a esa
proposicin compuesta se le llama
Contradiccin. Como ejemplo tenemos
a: (p ^ ~p)

Lgica de Proposiciones
Bsicamente
la
inferencia
es
implementacin de una implicacin.

la

Los
enunciados
conocidos
como
verdaderos forman parte del antecedente.
El consecuente es un nuevo enunciado
cuya veracidad se desprende de los
anteriores. Simblicamente se representa
as:
antecedente :: consecuente

Lgica de Proposiciones
La equivalencia lgica se presenta
cuando dos enunciados y tienen los
mismos valores de verdad para el
mismo conjunto de modelos.
A continuacin mostramos una tabla con
las equivalencias lgicas ms comunes:
Doble Negacin: ~( ~p ) p

Lgica de Proposiciones
Leyes Conmutativas
(pvq)(qvp)
(p^q)(q^p)
Leyes Asociativas
(pvq)vrpv(qvr)
(p^q)^rp^(q^r)

Lgica de Proposiciones
Leyes Distributivas
pv(q^r)(pvq)^(pvr)
p^(qvr)(p^q)v(p^r)
Leyes de Idempotencia
(pvp)p
(p^p)p

Lgica 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
(pvf)p
(pvt)t

Lgica de Proposiciones
Leyes de Identidad
(pvf)f
(pvt)p
Leyes de la Implicacin
(p q) (p q) ^ (q p)
(p q) (~q ~p)
(q p) (~p ~q)
(p q) (~p v q)

Lgica de Proposiciones
Reglas de Inferencias
La siguiente implicacin lgica se llama
Modus Ponens y corresponde a la
siguiente inferencia:
p ^ ( p q ) :: q
Ejemplo:
p: Estudio
p q: Si estudio aprobar Matemticas
q: Entonces, Aprobar Matemticas

Lgica de Proposiciones
La siguiente implicacin lgica se llama
Modus Tollens y corresponde a la
siguiente inferencia:
( p q ) ^ ~q :: ~p
Ejemplo:
p q: Si estudio apruebo Matemticas
~q: No aprob Matemticas
~p: Entonces, no Estudi

Lgica de Proposiciones
La siguiente implicacin lgica se llama
Silogismo Hipottico y corresponde a la
siguiente inferencia:
( p q ) ^ ( q r ) :: ( p r )
Ejemplo:
p q: Si estudio apruebo Matemticas
q r: Si apruebo Matemticas me regalan
un auto
p r: Entonces, Si estudio me regalan un
auto

Lgica de Proposiciones
La siguiente implicacin lgica se llama
Silogismo Disyuntivo y corresponde a la
siguiente inferencia:
( p v q ) ^ ~p :: q
Ejemplo:
p v q: Hay que estudiar Francs o Alemn
~p: No estudio Francs
q: Entonces, Estudio Alemn

Lgica de Proposiciones
La simplificacin conjuntiva consiste en
eliminar uno de los trminos de una
conjuncin:
( p ^ q ) :: q o tambin: ( p ^ q ) :: p
Por el otro lado, la amplificacin
disyuntiva permite agregar un nuevo
trmino:
p :: ( p v q )

Lgica 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

Lgica 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

Lgica 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

Lgica en Wumpus
Dado que ya verificamos que no hay
pozo en las celdas (1,1) y (2,2), resulta
evidente la conclusin que:
E15: P31
Es conveniente que nuestra base de
conocimiento est basada solamente en
conjunciones y disyunciones.

Lgica Proposicional
Cualquier enunciado compuesto puede
ser transformado a uno equivalente que
est en la FNC
La Forma Normal Conjuntiva es la
conjuncin de n disyunciones de k
elementos:
( p11 v v p1k ) ^ ^ ( pn1 v v
pnk )

Lgica Proposicional
A
continuacin
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)

Lgica 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.
pv(q^r)(pvq)^(pvr)

Lgica 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)

Lgica Proposicional
Para demostrar que una implicacin BC ::
es vlida, se utiliza el mtodo de
reduccin al absurdo.
Esto es, probar que su negacin: BC ^
~ es una contradiccin.
Para ello se lleva a la FNC y luego se
prueba que es equivalente a una
clusula vaca.

Lgica 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

Lgica Proposicional
Y para probar por reduccin al absurdo,
tenemos la negacin:
(~B11 v P12 v P21) ^ (~P12 v B11) ^
(~P21 v B11) ^ ~B11 ^ P12
El proceso de simplificacin funciona
como sigue:
Si tomamos los primeros dos parntesis,
observamos que contienen a: ~B11 y
B11, respectivamente.

Lgica Proposicional
Como no pueden ser ambos verdaderos
simultneamente, entonces, o (P12 v
P21) o bien (~P12 ) son verdaderos, lo
que se reduce a la siguiente expresin:
(P12 v P21 v ~P12)
Como (P12 v ~P12 ) es una tautologa,
la expresin anterior se reduce a: (P21)

Lgica Proposicional
Similarmente,
los
dos
parntesis
siguientes, tambin contienen a: ~B11
y B11, por lo que la
expresin simplificada queda: (~P21)
Como
ambas
no
pueden
ser
verdaderas, la conjuncin resulta en
una expresin nula.

Ejercicios
(pq)^(qr)
p^(pq)
((p ^ q) (p v ~q))
((~(p q) ^ r ) v ~(p ~q))

Lgica de Predicados
Hay que aprovechar la caracterstica
declarativa y la composicionalidad de la
lgica 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

Lgica de Predicados
Las relaciones unitarias tambin se
conocen como Propiedades y se vincula
un objeto con una caracterstica por el
verbo SER:
La Pelota es roja.
Las Funciones son un tipo especial de
relacin que involucra un solo objeto y
devuelven un valor:
El padre de
Uno ms que

Lgica de Predicados
Uno sumado a Dos es igual a Tres
Objetos: Uno, Dos y Tres.
Relacin: es igual a.
Funcin: sumado a; el resultado es un
objeto, llamado: Uno sumado a Dos.

Las Casillas que rodean al Wumpus


apestan.
Objetos: Casillas y Wumpus.
Relacin: que rodean al.
Propiedad: apestan.

Lgica de Primer Orden


La lgica de primer orden se construye
sobre: Hechos, Objetos y Relaciones.
La lgica 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.

Lgica de Primer Orden


Una relacin 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:

Lgica de Primer Orden


Padre_de(Hugo) Pepe
Padre_de(Paco) Pepe
Padre_de(Luis) Pepe
Padre_de(Pepe) ?
A continuacin se muestra la gramtica
de la LPO en BNF.

Lgica de Primer Orden


Los smbolos se agrupan en tres clases:
Smbolos de constante, que representan
a los Objetos. Cada smbolo constante
nombra a exactamente un objeto en el
mundo, no todos los objetos necesitan
tener nombres y algunos pueden tener
ms de un nombre.
Ejemplo: Juan, Casa, Wumpus.

Lgica de Primer Orden


Smbolos de predicado, que representan
a las Relaciones. Ejemplos: Vecino,
Hermano,
Smbolos de funcin. Ejemplos: Coseno,
Padre_de, Oficina_de
Los smbolos de predicado y de funcin
tienen una Aridad que establece el
nmero de argumentos.

Lgica de Primer Orden


Enunciado Sentencia Atmica |
(EnunciadoConectorEnunciado)
|
CuantificadorVariableEnunciado |
~Sentencia
Sentencia Atmica Predicado
(Trmino) | Trmino = Trmino
Trmino Funcin(Trmino) |
Constante| Variable

Lgica de Primer Orden


Conector . | - | |
Cuantificador |
Constante Martin | 59302 | Gato | X |

Variable a | x | s |
Predicado Previo | Gusta | Llueve |
Falla |
Funcin Padre_de | Cabello_de |
Oficina_de |

Lgica de Primer Orden


Un trmino es una expresin lgica que
se refiere a un objeto.
Los smbolos constantes son trminos
Los smbolos de funcin son trminos.
Las variables tambin son trminos.

Una sentencia atmica est formada


por un smbolo predicado seguido por
una lista entre parntesis de trminos.

Lgica de Primer Orden


Por
ejemplo:
Hermano(Roberto,Juan)
indica que Roberto es el hermano de Juan.
Las sentencias atmicas pueden tener
argumentos que son trminos complejos:
Casado(Padrede(Roberto),Madrede(Juan))
Se pueden usar conectores lgicos para
construir sentencias ms complejas.

Lgica de Primer Orden


Ejemplo:
Hermano(Roberto,Juan)
Hermano(Juan,Roberto)

Es verdadero si Juan y Roberto son


hermanos, pues la relacin es simtrica.
Los
cuantificadores
nos
permiten
expresar propiedades de colecciones de
objetos.

Lgica de Primer Orden


Hay dos cuantificadores en lgica 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
mamferos.

Lgica de Primer Orden


Esta proposicin es falsa si al menos un
solo valor de la variable no satisface al
enunciado.
La representacin simblica es:
x Gato(x) Mamifero(x)
Sin embargo, mucha gente cae en el error
de interpretarla como:
x Gato(x) Mamifero(x)

Lgica de Primer Orden


Aparentemente son equivalentes, pero esta
segunda forma es ms 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 .

Lgica de Primer Orden


Y se enuncia con frases similares a: Hay
... o Existe ... o Para algunos ...
Ejemplo: En mi clase hay mujeres.
Esta proposicin es falsa si no existe
ningn valor de la variable que satisfaga
al enunciado.
La representacin simblica es:
x Alumnodemiclase(x) Mujer(x)

Lgica 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 ms dbil
que el anterior y sera verdadero para los
estudiantes que no estn en mi clase.
Se pueden realizar afirmaciones muy
complejas si se anidan cuantificadores.

Lgica de Primer Orden


Sin mezclar tipos de cuantificadores,
podemos decir cosas como:
x,y Hermano(x,y) Hermano(y,x)
Tambin
podemos
mezclar
cuantificadores,
x y Buenopara(x,y) Todos somos
buenos para alguna cosa"
y x Buenopara(x,y) Alguien es bueno
para todo"

Lgica de Primer Orden


Se pueden cambiar los cuantificadores
mediante la negacin.
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)

Lgica 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 smbolo de igualdad
se incluye como un smbolo especial.

Lgica 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 bsicos
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)

Lgica 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
Un ejemplo de percepcin sera:
Percepcin([Hedor,Brisa,Brillo,Nada,Nada],5)
El vector de percepciones contiene 5
elementos que son: Hedor, Brisa, Brillo,
Golpe con un muro y Grito. Adems incluye
un sexto elemento para el tiempo.
Las acciones posibles del agente pueden ser
las siguientes:

FOL Wumpus

Girar(Derecha)
Girar(Izquierda)
Avanzar
Disparar
Tomar

Para determinar cul es la mejor accin,


el agente realiza una peticin como esta:
PREGUNTAR(BC, x MejorAccin(x,5))

FOL Wumpus
Esta peticin retornar una lista de
acciones posibles, tal como: {a/Tomar}.
Antes de realizar esa accin, el agente
deber DECIR a la base de conocimiento
su decisin de hacer la accin de Tomar:
DECIR(BC, Accin(5)=Tomar)
Reglas de diagnstico: nos llevan de los
efectos observados a sus causas.

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)]

Lgica de Primer Orden


La Ingeniera del Conocimiento es un
proceso general para la construccin de
una
base
de
conocimiento.
A
continuacin se describen los pasos de
este proceso:

Identificacin de la tarea.
Recopilacin del conocimiento.
Decidir el vocabulario.
Codificar el conocimiento.

Deduccin Automtica
Para el hecho: Contrata(Telmex,Too),
podemos construir ndices para las
siguientes peticiones:
Contrata(Telmex,Too) Contrata Telmex
a Too?
Contrata(x,Too) Quin Contrata a
Too?
Contrata(Telmex,y) A quin Contrata
Telmex?
Contrata(x,y) Quin Contrata a quin?

Deduccin automtica
El primer paso consiste en transformar
los enunciados en sentencias lgicas.
Posteriormente se aplican las tcnicas
anteriores para convertirlas en un
conjunto de clusulas positivas de primer
orden.
Luego se encadenan esos conocimientos
para obtener nuevos enunciados.

Deduccin Automtica
Pasar a FNC la siguiente base de
conocimientos:
1.Asterix es un galo
2.Los romanos que son amigos de algn
galo odian a Csar
3.Asterix ayud a Marco
4.Marco es amigo de quien le ayuda
5.Quien odia a algn romano, lucha contra
l
6.Marco es romano

Deduccin Automtica
1. Asterix es un galo
galo(Asterix) (en FNC)
1. Los romanos que son amigos de algn
galo odian a Csar
x [romano(x) . (y galo(y) . amigo(x,
y)) odia(x,Cesar)]

Deduccin Automtica
Reemplazando la clusula existencial:
x [romano(x) . (galo(G) . amigo(x, G))
odia(x,Cesar)]
3.Asterix ayud a Marco
ayuda(Asterix,Marco) (en FNC)
4.Marco es amigo de quien le ayuda
x [ayuda(x,Marco) amigo(Marco, x)]

Deduccin Automtica
5. Quien odia a algn romano, lucha contra
l
x y [romano(y) . odia(x, y) lucha(x,
y)]
Reemplazando la clusula existencial:
x [romano(R) . odia(x, R) lucha(x, R)]
6. Marco es romano
romano(Marco) (en FNC)

Deduccin Automtica
Los Miembros del equipo de tenis son:
Juan, Sara, Beto y Elena.
Juan est casado con Sara.
Beto es hermano de Elena.
El cnyuge de un miembro del equipo
tambin es miembro del equipo.

Deduccin Automtica
La ltima reunin fue en casa de Juan.
Representar los enunciados anteriores en
lgica de predicados. Demostrar que:
La ltima reunin fue en casa de Sara.
Elena no est casada.
Agregue los hechos que necesite para las
demostraciones.

Deduccin Automtica
A Paco le gustan los cursos fciles.
Los cursos de Fsica son difciles.
Los cursos de Humanidades son fciles.
El curso de tica es del rea de
Humanidades.
Qu curso le gustara tomar a Paco?

Deduccin Automtica
A Beto le gusta la comida italiana.
En
un
restaurante
hay
comida
mexicana a no ser que se anuncie
explcitamente lo contrario.
En La Conchita no anuncian que tipo
de comida sirven.

Deduccin Automtica
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?

Deduccin Automtica
Formaliza los siguientes hechos:
Todo dragn est feliz si todos sus hijos
pueden volar.
Los dragones verdes pueden volar. Un
dragn es verde si es hijo de al menos
un dragn verde.
Demuestra por resolucin que la
conjuncin de los hechos anteriores
implica que:
Todos los dragones verdes son felices.

Deduccin Automtica
Considere las siguientes relaciones:

Feliz(x) para x es feliz.


Volar(x) para x puede volar.
Verde(x) para x es verde.
Dragn(x) para x es dragn
Rojo(x) para x es rojo.
Hijo(x,y) para x es hijo de y.

Referencias
Russel, S. y Norving, P. (2004).
Inteligencia Artificial. Un Nuevo enfoque.
Pearson Prentice Hall, Espaa
Nilsson, N. (2001). Inteligencia Artificial.
Una nueva sntesis. McGraw-Hill, Espaa.
Winston, P. (1992) Artificial Intelligence,
3ra. Edicin, Addison-Wesley.

Referencias
Decker, R. y Hirshfield, S. (2001).
Mquina Analtica. Introduccin
a las
Ciencias de la Computacin con Uso de
Internet, Thomson, Mxico. Captulo 9
Inteligencia Artificial pp. 295-325.
Hernndez,
V.
(2007).
Mapas
Conceptuales
La
gestin
del
Conocimiento en la Didctica. Segunda
Edicin, Mxico: Alfaomega.

Referencias
G. Polya, (1982), Cmo Plantear y
Resolver
Problemas,
traduccin
al
espaol de How to Solve It, Ed. Trillas,
Mxico, 1982, ISBN: 968-24-0064-3.
Montes, M. y Villaseor L. (2008)
Fundamentos de Inteligencia Artificial
Mtodos
bsicos
de
solucin
de
problemas,
Instituto
Nacional
de
Astrofsica, ptica y Electrnica, Puebla,
Mxico.

Preguntas?

Das könnte Ihnen auch gefallen