Inteligencia Artificial

Anuncio
Inteligencia
g
Artificial
Tema 2
q
Búsquedas
Ivan Olmos Pineda
Contenido
„
„
„
„
Estructura General de un PSA
Formulación de un PSA
Algoritmos de Búsqueda de Soluciones
Aplicaciones
BUAP
Inteligencia Artificial
2
1
Introducción
„
Agentes
‰
Como actúan para alcanzar la meta
Æ
Æ
„
Problema, se define como:
‰
‰
„
Secuencia de acciones para alcanzarla
Agentes para la solución de problemas
Una meta
Conjunto de medios que permiten alcanzarla
Búsqueda
‰
Procedimiento de exploración para determinar que es lo
que se puede obtener
BUAP
Inteligencia Artificial
3
Introducción
„
Formulación de metas
‰
‰
„
Una meta
U
t es un conjunto
j t d
de estados
t d d
dell mundo
d
A través de las acciones, un agente pasa de un
estado a otro
Acciones
‰
BUAP
Causantes de la transición de un estado a otro
El agente tiene que determinar que acciones
permiten obtener el estado de la meta
Inteligencia Artificial
4
2
Formulación de un Problema
„
Proceso que consiste en decidir que
acciones y estados habrán de considerarse
„
¿Qué condiciones son necesarias?
‰
‰
¿Qué sucede si no hay forma de discernir que
camino nos lleva a la meta?
¿Qué decisión tomar en tal situación?
BUAP
Inteligencia Artificial
5
Búsquedas
„
En términos generales, cuando un agente
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
Búsquedas
BUAP
Inteligencia Artificial
6
3
Búsquedas
„
Algoritmo de búsqueda
‰
‰
„
Entrada:
E
t d un problema
bl
Salida: solución que adopta la forma de una
secuencia de acciones
Una vez encontrada una solución, se
procede a ejecutar las acciones
BUAP
Inteligencia Artificial
7
Inteligencia Artificial
8
Búsquedas
BUAP
4
Agentes que Resuelven Problemas
„
Formular: decidir que acciones y estados
deberán considerarse
„
Buscar: proceso para hallar las secuencias
de acciones que conduzcan a una meta
„
Ejecutar: fase donde se llevan a cabo las
acciones que conducen a la meta
BUAP
Inteligencia Artificial
9
Agentes que Resuelven Problemas
función AGENTE-SENCILLO-RESOLVENTE-PROBLEMAS(percepción) devuelve una acción
entradas: percepción, una percepción
estático: sec, una secuencia de acciones, vacía inicialmente
estado, una descripción del estado actual del mundo
objetivo, un objetivo inicialmente nulo
problema, una formulación del problema
estado ← ACTUALIZAR-ESTADO(estado, percepción)
si sec está vacía entonces hacer
objetivo ← FORMULAR OBJETIVO(estado)
problema ← FORMULAR-PROBLEMA(estado, objetivo)
(p
)
sec ← BÚSQUEDA(problema)
acción ← PRIMERO(secuencia)
sec ← RESTO(secuencia)
devolver acción
BUAP
Inteligencia Artificial
10
5
Ejemplo
„
Imagine un agente en la ciudad de Arad, Rumanía,
disfrutando
d
s uta do de u
un viaje
aje de vacaciones.
acac o es Mañana
a a a sa
sale
e
un vuelo a Bucarest.
„
Formulación del objetivo:
estar en Bucarest
Formulación del problema:
estados: varias ciudades
acciones:
i
conducir
d i entre
t llas ciudades
i d d
Encontrar solución:
secuencia de ciudades, por ejemplo, Arad, Sibiu,
Fagaras, Bucarest.
„
„
BUAP
Inteligencia Artificial
11
Inteligencia Artificial
12
Ejemplo
BUAP
6
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. ¿Solución?
BUAP
Inteligencia Artificial
13
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. ¿Solución?
[Derecha, Aspirar]
Estado múltiple, estado inicial
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
¿Solución?
BUAP
Inteligencia Artificial
14
7
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. ¿Solución?
[Derecha, Aspirar]
Conformado, estado inicial
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
¿Solución?
[Derecha, Aspirar, Izquierda, Aspirar]
Contingencia, estado inicial 5.
Ley de Murphy: Aspirar a veces deposita
suciedad en la alfombra.
Sensores locales: suciedad,
sólo en el lugar.
¿Solución?
BUAP
Inteligencia Artificial
15
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. ¿Solución?
[Derecha, Aspirar]
Conformado estado inicial
Conformado,
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
¿Solución?
[Derecha, Aspirar, Izquierda, Aspirar]
Contingencia, estado inicial 5.
Ley de Murphy: Aspirar a veces deposita
suciedad en la alfombra.
alfombra
Sensores locales: suciedad,
sólo en el lugar.
¿Solución?
[Derecha, si suciedad entonces Aspirar]
BUAP
Inteligencia Artificial
16
8
Problemas Bien Definidos
Un problema se define por cuatro elementos:
estado inicial por ejemplo, “Estoy en Arad”
función sucesor S(x) = conjunto de pares acción-estado
por ejemplo, S(Arad) = {<Arad → Zerind, Zerind>,...}
Prueba de meta, descripción para decidir si se trata de un edo meta
explícito, por ejemplo, x = “en Bucarest”
implícito, por ejemplo, en ajedrez, el estado jaque mate
costo del camino, se asignan costos a una ruta
por ejemplo,
ejemplo suma de distancias,
distancias número de acciones
ejecutadas, etc.
Una solución es una secuencia de acciones que parten desde un
estado inicial hasta alcanzar un estado objetivo.
BUAP
Inteligencia Artificial
17
Costos
„
Mediante una ruta se conectan los conjuntos de
estados
‰
„
La solución es una ruta que conduce a estados meta
Espacio de conjunto de estados
¿cuál es el mejor camino?
‰
‰
‰
BUAP
¿Permite encontrar una solución? (decisión)
¿Es una buena solución? (optimización)
¿Cuál es el costo de búsqueda correspondiente al tiempo y
memoria necesarios para encontrar la solución?
Inteligencia Artificial
18
9
Costos
„
Costo total
‰
C.T. = Costo del Camino + Costo de la Búsqueda
BUAP
Inteligencia Artificial
19
Ejemplo: Espacio de Estados Aspiradora
¿Estados?
¿Acciones?
¿Prueba de meta?
¿Costo del camino?
BUAP
Inteligencia Artificial
20
10
Ejemplo: Espacio de Estados Aspiradora
¿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 acción (0 por NoOp)
BUAP
Inteligencia Artificial
21
Ejemplo: el 8-puzzle
¿Estados?
E d ?
¿Acciones?
¿Prueba de meta?
¿Costo del camino?
BUAP
Inteligencia Artificial
22
11
Ejemplo: el 8-puzzle
¿Estados?
E t d ? Localizaciones
L
li
i
completas
l t d
de llas piezas
i
(i
(ignorar llas posiciones
i i
iintermedias)
t
di )
¿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: solución óptima de la familia del n-puzzle es NP-C]
BUAP
Inteligencia Artificial
23
Búsquedas
Árboles
„
Idea general: Explorar las diferentes ramas de un
árbol con el objetivo de encontrar un camino desde
árbol,
la raíz a una hoja que represente un estado final
función BÚSQUEDA-ÁRBOLES(problema,estrategia) devuelve una solución o fallo
inicializa el árbol de búsqueda usando el estado inicial del problema
Hacer ciclo
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 solución
en otro caso expandir el nodo y añadir los nodos resultado al árbol de búsqueda
BUAP
Inteligencia Artificial
24
12
Búsquedas en Árboles
„
Búsqueda a lo ancho
„
Búsqueda en Profundidad primero
„
Búsqueda ancho-profundo
„
Búsqueda en profundidad limitada
BUAP
Inteligencia Artificial
25
Búsqueda primero en anchura
„
Se expande primero el nodo raíz, a continuación, se expanden todos
los sucesores del nodo raíz, después sus sucesores, etc.
„
„
Implementación:
‰ Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP
Inteligencia Artificial
26
13
Búsqueda primero en anchura
„
Se expande primero el nodo raíz, a continuación, se expanden todos
los sucesores del nodo raíz, después sus sucesores, etc.
„
„
Implementación:
‰ Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP
Inteligencia Artificial
27
Búsqueda primero en anchura
„
Se expande primero el nodo raíz, a continuación, se expanden todos
los sucesores del nodo raíz, después sus sucesores, etc.
„
„
Implementación:
‰ Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
BUAP
Inteligencia Artificial
28
14
Búsqueda primero en anchura
Se expande primero el nodo raíz, a continuación, se expanden todos
los sucesores del nodo raíz, después sus sucesores, etc.
„
„
Implementación:
‰ Usa una estructura FIFO, es decir, los nuevos sucesores van al
final.
„
BUAP
Inteligencia Artificial
29
Propiedades de la búsqueda primero en
anchura
„
¿Completa? Sí
b ffactor
b:
t de
d ramificación.
ifi
ió
d: profundidad de solución.
„
¿Tiempo? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)
„
¿Espacio? O(bd+1) (mantiene todos los nodos
en la memoria)
BUAP
Inteligencia Artificial
30
15
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
31
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
32
16
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
33
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
34
17
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
35
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
36
18
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
37
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
38
19
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
39
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
40
20
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
41
Búsqueda primero en profundidad
„
„
Se expande el nodo no expandido más profundo.
Implementación:
‰ Usa una estructura LIFO, es decir, los sucesores se ponen
delante. Suponiendo M como nodo objetivo.
BUAP
Inteligencia Artificial
42
21
Propiedades de la búsqueda primero en
profundidad
„
¿Completa? Si
Æ Completa en espacios finitos.
„
¿Tiempo? O(bm): terrible si m es mucho mayor que d.
m: máxima profundidad.
‰
„
Pero si las soluciones son densas, puede ser mucho más
rápida que la búsqueda primero en anchura.
¿Espacio? O(bm),
O(bm) es decir
decir, espacio lineal
lineal.
BUAP
Inteligencia Artificial
43
Actividad
„
Implementar un programa que determine la
ruta más corta entre un par de ciudades
„
„
BUAP
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
reportarlo.
Inteligencia Artificial
44
22
Descargar