You are on page 1of 22

1

Inteligencia g
Artificial
Tema 2
Bsquedas q
Ivan Olmos Pineda
Contenido
Estructura General de un PSA
Formulacin de un PSA
Algoritmos de Bsqueda de Soluciones
Aplicaciones
BUAP Inteligencia Artificial 2
2
Introduccin
Agentes
Como actan para alcanzar la meta Como actan para alcanzar la meta
Secuencia de acciones para alcanzarla
Agentes para la solucin de problemas
Problema, se define como:
Una meta
Conjunto de medios que permiten alcanzarla
BUAP Inteligencia Artificial 3
Bsqueda
Procedimiento de exploracin para determinar que es lo
que se puede obtener
Introduccin
Formulacin de metas
U t j t d t d d l d Una meta es un conjunto de estados del mundo
A travs de las acciones, un agente pasa de un
estado a otro
Acciones
BUAP Inteligencia Artificial 4
Causantes de la transicin de un estado a otro
El agente tiene que determinar que acciones
permiten obtener el estado de la meta
3
Formulacin de un Problema
Proceso que consiste en decidir que
acciones y estados habrn de considerarse acciones y estados habrn de considerarse
Qu condiciones son necesarias?
Qu sucede si no hay forma de discernir que
camino nos lleva a la meta?
BUAP Inteligencia Artificial 5
Qu decisin tomar en tal situacin?
Bsquedas
En trminos generales, cuando un agente
tiene ante si diversas opciones cuyo valor tiene ante si diversas opciones cuyo valor
ignora, stas se tienen que evaluar de alguna
forma
Evaluar las diversas secuencias de acciones que
le conducen a estados cuyo valor se conoce
BUAP Inteligencia Artificial 6
Bsquedas
4
Bsquedas
Algoritmo de bsqueda
E t d bl Entrada: un problema
Salida: solucin que adopta la forma de una
secuencia de acciones
Una vez encontrada una solucin, se
BUAP Inteligencia Artificial 7
procede a ejecutar las acciones
Bsquedas
BUAP Inteligencia Artificial 8
5
Agentes que Resuelven Problemas
Formular: decidir que acciones y estados Formular: decidir que acciones y estados
debern considerarse
Buscar: proceso para hallar las secuencias
de acciones que conduzcan a una meta
BUAP Inteligencia Artificial 9
Ejecutar: fase donde se llevan a cabo las
acciones que conducen a la meta
Agentes que Resuelven Problemas
funcin AGENTE-SENCILLO-RESOLVENTE-PROBLEMAS(percepcin) devuelve una accin
entradas: percepcin, una percepcin
esttico: sec, una secuencia de acciones, vaca inicialmente
estado, una descripcin del estado actual del mundo
objetivo, un objetivo inicialmente nulo
problema, una formulacin del problema
estado ACTUALIZAR-ESTADO(estado, percepcin)
si sec est vaca entonces hacer
objetivo FORMULAR OBJETIVO(estado)
problema FORMULAR-PROBLEMA(estado, objetivo)
sec BSQUEDA(problema)
BUAP Inteligencia Artificial 10
(p )
accin PRIMERO(secuencia)
sec RESTO(secuencia)
devolver accin
6
Ejemplo
Imagine un agente en la ciudad de Arad, Rumana,
disfrutando de un viaje de vacaciones. Maana sale d s uta do de u aje de acac o es a a a sa e
un vuelo a Bucarest.
Formulacin del objetivo:
estar en Bucarest
Formulacin del problema:
estados: varias ciudades
i d i t l i d d
BUAP Inteligencia Artificial 11
acciones: conducir entre las ciudades
Encontrar solucin:
secuencia de ciudades, por ejemplo, Arad, Sibiu,
Fagaras, Bucarest.
Ejemplo
BUAP Inteligencia Artificial 12
7
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. Solucin?
BUAP Inteligencia Artificial 13
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. Solucin?
[Derecha, Aspirar]
Estado mltiple, estado inicial
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
Solucin?
BUAP Inteligencia Artificial 14
8
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. Solucin?
[Derecha, Aspirar]
Conformado, estado inicial
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
Solucin?
[Derecha, Aspirar, Izquierda, Aspirar]
Contingencia, estado inicial 5.
Ley de Murphy: Aspirar a veces deposita
suciedad en la alfombra.
BUAP Inteligencia Artificial 15
Sensores locales: suciedad,
slo en el lugar.
Solucin?
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. Solucin?
[Derecha, Aspirar]
Conformado estado inicial Conformado, estado inicial
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
Solucin?
[Derecha, Aspirar, Izquierda, Aspirar]
Contingencia, estado inicial 5.
Ley de Murphy: Aspirar a veces deposita
suciedad en la alfombra
BUAP Inteligencia Artificial 16
suciedad en la alfombra.
Sensores locales: suciedad,
slo en el lugar.
Solucin?
[Derecha, si suciedad entonces Aspirar]
9
Problemas Bien Definidos
Un problema se define por cuatro elementos:
estado inicial por ejemplo, Estoy en Arad
funcin sucesor S(x) = conjunto de pares accin-estado
por ejemplo, S(Arad) = {<Arad Zerind, Zerind>,...}
Prueba de meta, descripcin para decidir si se trata de un edo meta
explcito, por ejemplo, x = en Bucarest
implcito, por ejemplo, en ajedrez, el estado jaque mate
costo del camino, se asignan costos a una ruta
por ejemplo suma de distancias nmero de acciones
BUAP Inteligencia Artificial 17
por ejemplo, suma de distancias, nmero de acciones
ejecutadas, etc.
Una solucin es una secuencia de acciones que parten desde un
estado inicial hasta alcanzar un estado objetivo.
Costos
Mediante una ruta se conectan los conjuntos de
estados estados
La solucin es una ruta que conduce a estados meta
Espacio de conjunto de estados
cul es el mejor camino?
Permite encontrar una solucin? (decisin)
Es una buena solucin? (optimizacin)
BUAP Inteligencia Artificial 18
Cul es el costo de bsqueda correspondiente al tiempo y
memoria necesarios para encontrar la solucin?
10
Costos
Costo total
C.T. = Costo del Camino + Costo de la Bsqueda
BUAP Inteligencia Artificial 19
Ejemplo: Espacio de Estados Aspiradora
BUAP Inteligencia Artificial 20
Estados?
Acciones?
Prueba de meta?
Costo del camino?
11
Ejemplo: Espacio de Estados Aspiradora
BUAP Inteligencia Artificial 21
Estados? Suciedad completa y localizaciones de robot (ignorar cantidades de suciedad)
Acciones? Izquierda, Derecha, Aspirar, NoOp
Prueba de meta? No suciedad
Costo del camino? 1 por accin (0 por NoOp)
Ejemplo: el 8-puzzle
E d ?
BUAP Inteligencia Artificial 22
Estados?
Acciones?
Prueba de meta?
Costo del camino?
12
Ejemplo: el 8-puzzle
E t d ? L li i l t d l i (i l i i i t di )
BUAP Inteligencia Artificial 23
Estados? Localizaciones completas de las piezas (ignorar las posiciones intermedias)
Acciones? Mover el negro a la izquierda, derecha, arriba, abajo (ignorar los atascos, etc.)
Prueba de meta? = estado objetivo (proporcionado)
Costo del camino? 1 por movimiento
[Nota: solucin ptima de la familia del n-puzzle es NP-C]
Bsquedas
rboles
Idea general: Explorar las diferentes ramas de un
rbol con el objetivo de encontrar un camino desde rbol, con el objetivo de encontrar un camino desde
la raz a una hoja que represente un estado final
funcin BSQUEDA-RBOLES(problema,estrategia) devuelve una solucin o fallo
inicializa el rbol de bsqueda usando el estado inicial del problema
Hacer ciclo
BUAP Inteligencia Artificial 24
si no hay candidatos para expandir entonces devolver fallo
escoger, de acuerdo a la estrategia, un nodo hoja para expandir
si el nodo contiene un estado objetivo entonces devolver la correspondiente solucin
en otro caso expandir el nodo y aadir los nodos resultado al rbol de bsqueda
13
Bsquedas en rboles
Bsqueda a lo ancho
Bsqueda en Profundidad primero
Bsqueda ancho-profundo
BUAP Inteligencia Artificial 25
Bsqueda en profundidad limitada
Bsqueda primero en anchura
Se expande primero el nodo raz, a continuacin, se expanden todos
los sucesores del nodo raz, despus sus sucesores, etc.

Implementacin:
Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP Inteligencia Artificial 26
14
Bsqueda primero en anchura
Se expande primero el nodo raz, a continuacin, se expanden todos
los sucesores del nodo raz, despus sus sucesores, etc.

Implementacin:
Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP Inteligencia Artificial 27
Bsqueda primero en anchura
Se expande primero el nodo raz, a continuacin, se expanden todos
los sucesores del nodo raz, despus sus sucesores, etc.

Implementacin:
Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP Inteligencia Artificial 28
15
Bsqueda primero en anchura
Se expande primero el nodo raz, a continuacin, se expanden todos
los sucesores del nodo raz, despus sus sucesores, etc.

Implementacin:
Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP Inteligencia Artificial 29
Propiedades de la bsqueda primero en
anchura
Completa? S
b f t d ifi i b: factor de ramificacin.
d: profundidad de solucin.
Tiempo? 1+b+b
2
+b
3
+ +b
d
+ b(b
d
-1) = O(b
d+1
)
BUAP Inteligencia Artificial 30
Espacio? O(b
d+1
) (mantiene todos los nodos
en la memoria)
16
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 31
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 32
17
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 33
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 34
18
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 35
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 36
19
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 37
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 38
20
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 39
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 40
21
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 41
Bsqueda primero en profundidad
Se expande el nodo no expandido ms profundo.
Implementacin:
Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP Inteligencia Artificial 42
22
Propiedades de la bsqueda primero en
profundidad
Completa? Si
Completa en espacios finitos.
Tiempo? O(b
m
): terrible si m es mucho mayor que d.
m: mxima profundidad.
Pero si las soluciones son densas, puede ser mucho ms
rpida que la bsqueda primero en anchura.
Espacio? O(bm) es decir espacio lineal
BUAP Inteligencia Artificial 43
Espacio? O(bm), es decir, espacio lineal.
Actividad
Implementar un programa que determine la
ruta ms corta entre un par de ciudades ruta ms corta entre un par de ciudades
Entrada: Mapa (conjunto de ciudades, conjunto de
carreteras que unen a ciudades, distancia entre las
ciudades), Origen, Destino
Salida: Secuencia de ciudades a visitar (desde el origen
hasta el destino). En caso de no existir un camino,
reportarlo
BUAP Inteligencia Artificial 44
reportarlo.

You might also like