IA 01 ProblemasBusqueda
-
Upload
marcelinito-vinito -
Category
Documents
-
view
222 -
download
0
Transcript of IA 01 ProblemasBusqueda
-
7/28/2019 IA 01 ProblemasBusqueda
1/37
Inteligencia Artificial
Problemas
Espacios Problema
Bsquedas
-
7/28/2019 IA 01 ProblemasBusqueda
2/37
Pasos para construir unprograma en IA
1.Definir el problema con precisin
2.Analizar el problema
3.Aislar y representar el conocimiento necesario
4.Elegir la(s) tcnica(s) y aplicarla(s)
-
7/28/2019 IA 01 ProblemasBusqueda
3/37
1- Definir el problema
En algunos problemas como el ajedrez,ocurre lo siguiente:
Nadie puede suministrar un conjunto completo
de reglas (todos los posibles movimientolegales de todas las piezas en el tablero).
Ningn programa puede manipular todas esasreglas. Se podra usar un metodo de hashing,para encontrar ms rpido la regla a aplicar,pero an as las reglas crean muchasdificultades.
-
7/28/2019 IA 01 ProblemasBusqueda
4/37
-
7/28/2019 IA 01 ProblemasBusqueda
5/37
Representacin deespacio de estados
Surge de manera natural del ajedrez, dondecada estado representa una posicin legal enel tablero.
Es adecuado para problemas menosestructurados.
Forma la base para la mayora de los mtodosde IA.
-
7/28/2019 IA 01 ProblemasBusqueda
6/37
Representacin deespacio de estados
Corresponde con la estructura de resolucin deproblemas, por 2 razones importantes:
0.Permite definir formalmente el problema, ante
la necesidad de convertir alguna situacin dadaen la situacin deseada, usando un conjunto deoperaciones permitidas.
1.Permite definir el proceso de resolucin comouna combinacin de tcnicas conocidas ybsqueda. Intenta encontrar alguna ruta desdeel estado actual al estado objetivo.
-
7/28/2019 IA 01 ProblemasBusqueda
7/37
La bsqueda es un proceso de granimportancia en la resolucin de problemas
difciles para los que no se dispone de
tcnicas ms directas.
-
7/28/2019 IA 01 ProblemasBusqueda
8/37
El problema de las jarras de agua
Se tienen dos jarras, una de 4 litros de capacidady otra de 3. Ninguna de ellas tiene marcas demedicin. Se tiene una bomba que permite llenar
las jarras de agua. Cme se puede lograr tenerexactamente 2 litros de agua en la jarra de 4litros de capacidad?
Definir las reglas para resolver el problema.
-
7/28/2019 IA 01 ProblemasBusqueda
9/37
Sistemas de Produccin
La bsqueda es el ncleo de muchos procesosinteligentes.
Los sistemas de produccin proporcionan la
forma de estructurar los programas de IA demanera que se facilite describir y desarrollar elproceso de bsqueda
-
7/28/2019 IA 01 ProblemasBusqueda
10/37
Sistemas de Produccin
Est compuesto de:
Conjunto de reglas, compuestas por una parteizquierda que determina la aplicabilidad de la
regla y una parte derecha que describe laoperacin que se lleva a cabo si se aplica laregla.
Una o ms bases de datos /conocimiento.
Estrategia de control, para determinar la regla aaplicar.
Un aplicador de reglas.
-
7/28/2019 IA 01 ProblemasBusqueda
11/37
Estrategia de control
El primer requisito que debe cumplir una buenaestrategia de control es que cause algncambio.
El segundo requisito que debe cumplir unabuena estrategia de control es que seasistemtica.
-
7/28/2019 IA 01 ProblemasBusqueda
12/37
Bsqueda Primero en Anchura
i. Se construye un rbol cuya raz sea el estadoinicial.
ii.Todas las ramificaciones de la raz se generan
al aplicar cada una de las reglas aplicables alestado inicial.
iii.Para cada nodo se generan todas las posiblessituaciones resultantes de la aplicacin detodas las reglas adecuadas.
iv.Se contina con este proceso hasta quealguna regla produce un estado objetivo.
B d P i
-
7/28/2019 IA 01 ProblemasBusqueda
13/37
Bsqueda Primero enProfundidad
i. Se construye un rbol cuya raz sea el estadoinicial.
ii.Se contina por una sola rama del rbol hasta
encontrar una solucin o hasta que se tome ladecisin de terminar la bsqueda por esadireccin.
Termina la bsqueda por una ruta (produciendoun backtracking), al llegar a un callejn sinsalida, se produce un estado ya alcanzado o laruta se alarga ms de lo especificado.
Ventajas de la Bsqueda
-
7/28/2019 IA 01 ProblemasBusqueda
14/37
Ventajas de la BsquedaPrimero en Anchura
No queda atrapada buscando callejones sinsalida.
Si existe una solucin, la bsqueda primero en
anchura garantiza que se logre encontrarla.Adems, si existen mltiples soluciones, seencuentra la solucin mnima.
Ventajas de la Bsqueda
-
7/28/2019 IA 01 ProblemasBusqueda
15/37
Ventajas de la BsquedaPrimero en Profundidad
Necesita menos memoria.
Si se tiene suerte, la bsqueda primero enprofundidad puede encontrar una solucin sin
tener que examinar gran parte del espacio deestados.
-
7/28/2019 IA 01 ProblemasBusqueda
16/37
El problema del agente viajero
Un vendedor tiene una lista de ciudades, cadauna de las cuales debe visitar exactamente unavez. Existen carreteras directas entre cada parejade ciudades de la lista. Encontrar la ruta mscorta posible que debe seguir el vendedor queempiece y termine en alguna de estas ciudades.
Considera 10 ciudades
Considera N ciudades
-
7/28/2019 IA 01 ProblemasBusqueda
17/37
Bsqueda Heurstica
Normalmente no se necesita una solucinptima, con frecuencia una buenaaproximacin es adecuada.
Si bien las aproximaciones que se logran conuna heurstica pueden no ser muy buenas enlos peores casos, estos peores casosraramente ocurren en el mundo real.
Intentar comprender por qu funciona unaheurstica, o por qu no lo hace, normalmentesirve para profundizar en la comprensin delproblema.
-
7/28/2019 IA 01 ProblemasBusqueda
18/37
Bsqueda Heurstica
Puede descomponerse el problema?
Pueden deshacerse pasos o ignorarse pasoshacia una solucin?
Es predecible el universo?
Una solucin adecuada es absoluta orelativa?
La solucin es un estado o una ruta? Cul es el papel del conocimiento?
Necesita la tarea interaccionar con una
persona?
-
7/28/2019 IA 01 ProblemasBusqueda
19/37
Criptoaritmtica
Considere un problema aritmtico representadopor letras. Asigne un dgito decimal a cada unade las letras de forma que el problema seacorrecto. Si una letra aparece ms de una vez,se le asigna siempre el mismo dgito. No puedeasignarse el mismo dgito a dos letras diferentes.
SEND
+ MORE
------
MONEY
-
7/28/2019 IA 01 ProblemasBusqueda
20/37
Tcnicas de Bsqueda Heurstica
Generacin y prueba (generate and text)
Escalada (hill climbing)
Escalada simple
Escalada por la mxima pendiente
Enfriamiento Simulado
Bsqueda el primero mejor (best first search)
Grafos O
Algoritmo A*
Agendas
-
7/28/2019 IA 01 ProblemasBusqueda
21/37
Tcnicas de Bsqueda Heurstica
Reduccin del problema (problem reduction)
Grafos Y-O
Algoritmo AO*
Verificacin de restricciones (constraintsatisfaction)
Anlisis de medios y fines (means ends
analysis)
-
7/28/2019 IA 01 ProblemasBusqueda
22/37
Verificacin de restricciones
Consiste en descubrir algn estado del problemaque satisfaga un conjunto de restricciones.
Descripcin: Se descubren las restricciones y se propagan tan
lejos como sea posible a travs del sistema. Si anno hay una solucin, la bsqueda comienza. Sehace una suposicin sobre algo y se aade comouna nueva restriccin. Entonces, la propagacincontina con esta nueva restriccin y assucesivamente.
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
23/37
Verificacin de restriccionesAlgoritmo
1. Propagar las restricciones disponibles. Paralograrlo primero hacer que ABIERTOS sea elconjunto de todos los objetos que deben tenerun valor asignado para completar unasolucin.
Hacer lo siguiente hasta que se detecte unainconsistencia o hasta que ABIERTOS est
vaco:
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
24/37
Verificacin de restriccionesAlgoritmo
a)Seleccionar un objeto OB de ABIERTOS .Fortalecer al mximo el conjunto de restriccionesque afecten OB
b)Si este conjunto es diferente del conjunto que le
fue asignado a OB la ltima vez que fueexaminado, o si es la primera vez que examinanOB, entonces aadir a ABIERTOS todos losobjetos que compartan alguna restriccin con OB.
c)Borrar OB de ABIERTOS.
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
25/37
Verificacin de restriccionesAlgoritmo
2. Si la unin de las restricciones descubiertasarriba definen una solucin, terminar ypresentar la solucin.
3. Si la unin de las restricciones descubiertasarriba definen una contradiccin, entoncesdevolver un error.
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
26/37
Verificacin de restriccionesAlgoritmo
4. Si no ocurre ninguno de los casos anteriores,entonces es necesario hacer una suposicinsobre algo con el fin de continuar.
Para hacerlo, repetir hasta que se encuentreuna solucin o hasta que todas las posiblessoluciones hayan sido eliminadas:
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
27/37
Verificacin de restriccionesAlgoritmo
a)Seleccionar un objeto del que no se hayadeterminado su valor, y seleccionar una forma defortalecer las restricciones sobre ese objeto.
b)Invocar recursivamente la verificacin derestricciones con el actual conjunto de restriccionesaumentado por el fortalecimiento de lasrestricciones seleccionado.
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
28/37
Verificacin de restriccionesEjemplo: Criptoaritmtica
Se pueden utilizar pocas y tiles heursticaspara las suposiciones iniciales. Ejemplo:
Si existe una letra que solo tiene dos posiblesvalores y otra con seis, es mejor elegir la primera.
Si existe una letra que forma parte de muchasrestricciones, es mejor elegirla. Esto conducir auna rpida contradiccin o a la generacin derestricciones adicionales.
SEND+ MORE
------
MONEY
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
29/37
Verificacin de restriccionesEjemplo: Criptoaritmtica
Abiertos{S,E,N,D,M,O,R,Y}
SEND+ MORE
------
MONEY
Restricciones
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
30/37
e cac de est cc o esEjemplo: Criptoaritmtica
Abiertos{S,E,N,D,O,R,Y}
SEND+ MORE
------
MONEY
Restricciones M=1 (la suma de dos
nmeros ms un acarreono puede ser mayor que
19)
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
31/37
Ejemplo: Criptoaritmtica
Abiertos{E,N,D,O,R,Y}
SEND+ MORE
------
MONEY
Restricciones M=1
S=8 S=9 (S+1 S+2, sihay acarreo, debe sermayor igual a 10)
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
32/37
Ejemplo: Criptoaritmtica
Abiertos{E,N,D,R,Y}
SEND+ MORE
------
MONEY
Restricciones M=1
S=8 S=9
O=0 O=1 O=0
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
33/37
Ejemplo: Criptoaritmtica
Abiertos{D,R,Y}
SEND+ MORE
------
MONEY
Restricciones M=1
S=8 S=9
O=0 O=1 O=0 N=E N=E+1 N=E+1
Acarreo2 =1
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
34/37
Ejemplo: Criptoaritmtica
Abiertos{D,Y}
SEND+ MORE
------
MONEY
Restricciones M=1
S=8 S=9
O=0 O=1 O=0 N=E N=E+1 N=E+1
Acarreo2 =1
R=8 R=9
Dado que acarreo2 = 1
N+R+1=10+E R=8 N+R=10+E R=9
Verificacin de restricciones
-
7/28/2019 IA 01 ProblemasBusqueda
35/37
Ejemplo: Criptoaritmtica
SEND+ MORE
------
MONEY
R=8 R=9
D+E=Y D+E=10+Y
S E N D M O R Y
Restricciones M=1
S=8 S=9
O=0 O=1 O=0 N=E N=E+1 N=E+1
Acarreo2 =1
Ejercicio
-
7/28/2019 IA 01 ProblemasBusqueda
36/37
Ejercicio
Haga una traza del procedimiento de verificacinde restricciones para resolver el siguienteproblema criptoaritmtico.
CROSS
+ ROADS
-------
DANGER
-
7/28/2019 IA 01 ProblemasBusqueda
37/37