Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Busqueda1 PDF
Busqueda1 PDF
MOTIVACI ON Y TERMINOLOGIA
Cuando un agente inteligente act ua en el mundo se ve enfrentado a una
multiplicidad de alternativas, dentro de las cuales debe elegir.
La elecci on que se realice depender a de las consecuencias de la elecci on.
Un aspecto esencial de los problemas que se enfrentan en Inteligencia Arti-
cial es el de b usqueda de soluciones.
Los problemas de b usqueda est an siembre relacionados con problemas de
representaci on. Es necesario tener lenguajes de representaci on para expre-
sar lo que estamos buscando, como evoluciona el mundo, etc.
Jorge Baier Aranda, PUC 162
El Problema de los Misioneros y Canbales
Usaremos el problema de los Misioneros y Canbales para mostrar qu e ele-
mentos necesitaremos en un problema de b usqueda.
En este conocido problema hay tres canbales, tres misioneros, un ro y un bote. Los
canbales, los misioneros y el bote se encuentran en una rivera del ro. Los seis sujetos
deben cruzar el ro, pero el bote permite trasladar a lo m as a dos personas a la vez.
Se debe encontrar una secuencia de movimientos de personas en el bote que permita
cruzar a los seis individuos de manera segura. No se debe permitir que hayan m as
canbales que misioneros en algun lado del ro alg un momento.
Otros problema cl asicos de b usqueda son:
El coloreo de un mapa con cuatro colores.
Planicaci on de tareas (scheduling).
Problemas de planicaci on de rutas (vendedor viajero).
Navegaci on de robots.
Encontrar una estrategia para elegir la pr oxima jugada en un juego con
adversarios.
Jorge Baier Aranda, PUC 163
Terminologa
Para analizar los problemas de b usqueda usaremos la siguiente termino-
loga:
Estado: Dado un problema, un estado es una conguraci on del dominio
asociado al problema que se est a analizando.
Por ejemplo, en el caso de los misioneros y canbales, un estado est a dado
por la posici on de los misioneros, de los canbales y del bote.
c omo es un estado para el problema de coloreo de mapas?
El estado del problema lo representaremos con un functor
estado(Ci,Mi,Cd,Md,B)
donde los argumentos corresponden a:
Ci: Canbales en la rivera izquierda.
Mi: Misioneros en la rivera izquierda.
Cd: Canbales en la rivera derecha.
Md: Misioneros en la rivera derecha.
B: Indica en qu e lado del ro se encuentra el bote. Los valores posibles
ser an izq y der.
Jorge Baier Aranda, PUC 164
Estado Inicial: Dado un problema de b usqueda, existe uno o m as estados
que se toman como de partida.
En nuestro ejemplo, el estado inicial se representa por estado(3,3,0,0,izq).
Descripci on de Estados Objetivos: Para un problema de b usqueda pue-
den haber varios estados que representen una soluci on al problema de
b usqueda.
Estos estados son descritos mediante la denici on de un predicado o fun-
ci on que, dado un estado, retorna verdadero si el estado es un estado
objetivo y falso en otro caso.
Jorge Baier Aranda, PUC 165
En el ejemplo, podemos utilizar la funci on final/1 para identicar estados
nales. As:
final(estado(0,0,3,3,der)).
Establece que el estado nal es uno en el cual todos los misioneros y
canbales est an al lado derecho del ro.
Soluci on Optima: En muchos casos se necesita encontrar un estado opti-
mo. Es decir, que sea un estado objetivo, pero que adem as sea mejor, en
alg un sentido, que todas los estados objetivos alternativos. En este caso,
el problema de b usqueda corresponde a un problema de optimizaci on.
Operador: Un operador es una funci on que, dado un estado, entrega otro
estado. Por ejemplo, en el caso de los misioneros y de los canbales, pode-
mos denir el operador de cruce resulta/3 que recibe un estado y genera
un estado sucesor .
Jorge Baier Aranda, PUC 166
El predicado resulta(E,A,Er) cuando Er es el estado que se genera al
ejecutar la acci on A sobre el estado E.
Podemos escribir este predicado de la siguiente manera:
resulta(E1,cruzar(C,M),E2):-
posible(cruzar(C,M),E1),
E1 = estado(Ci,Mi,Cd,Md,izq),
Cip is Ci-C,
Mip is Mi-M,
Cdp is Cd+C,
Mdp is Md+M,
E2 = estado(Cip,Mip,Cdp,Mdp,der).
resulta(E1,cruzar(C,M),E2):-
posible(cruzar(C,M),E1),
E1 = estado(Ci,Mi,Cd,Md,der),
Cip is Ci+C,
Mip is Mi+M,
Cdp is Cd-C,
Mdp is Md-M,
E2 = estado(Cip,Mip,Cdp,Mdp,izq).
Jorge Baier Aranda, PUC 167
Donde posible/2 se dene de la siguiente manera:
posible(cruzar(C,M),estado(Ci,Mi,_,_,izq)):-
C=<Ci, M=<Mi.
posible(cruzar(C,M),estado(_,_,Cd,Md,der)):-
C=<Cd, M=<Md.
Sucesor Inmediato: Dado un estado s y un operador, el estado s
que se
obtiene al aplicar el operador al estado s se le llama sucesor inmediato de
s. Tambi en se dice que el estado s