Inteligencia Artificial Artificial

Anuncio
Inteligencia
Artificial
Tema 2
Búsquedas
Dr. Jesús Antonio González Bernal
Contenido
y Estructura General de un PSA (Problem Solving Agent)
y Formulación de un PSA
y Algoritmos
Al it
dde Bú
Búsqueda
d de
d SSoluciones
l i
y Aplicaciones
2
Inteligencia Artificial
UPP
Introducción
ó
y Agentes
y Como actúan para alcanzar la meta
Æ Secuencia de acciones p
para alcanzarla
Æ Agentes para la solución de problemas
y Problema, se define como:
y Una meta
y Conjunto de medios que permiten alcanzarla
y Búsqueda
y Procedimiento de exploración para determinar que es lo que se
puede obtener
3
Inteligencia Artificial
UPP
Introducción
ó
y Formulación de metas
y Una meta es un conjunto de estados del mundo
y A través de las acciones,
acciones un agente pasa de un estado a otro
y Acciones
A i
y Causantes de la transición de un estado a otro
El agente
t titiene que determinar
d t i que acciones
i
permiten
it obtener
bt
ell estado
t d de
d
la meta
4
Inteligencia Artificial
UPP
Formulación
ó de un Problema
y Proceso que consiste en decidir que acciones y estados habrán
de considerarse
y ¿Qué condiciones son necesarias?
y ¿Qué
Q é sucede
d sii no hhay forma
f
de
d discernir
di
i que camino
i nos lllleva a
la meta?
y ¿Qué decisión tomar en tal situación?
5
Inteligencia Artificial
UPP
Búsquedas
ú
y En términos generales
generales, cuando un agente tiene ante sí
diversas opciones cuyo valor ignora, éstas se tienen que
evaluar
eva
ua dee aalguna
gu a forma
o a
y Evaluar las diversas secuencias de acciones que le conducen a
estados cuyo
y valor se conoce
Búsquedas
6
Inteligencia Artificial
UPP
Búsquedas
ú
y Algoritmo de búsqueda
y Entrada: un problema
y Salida: solución que adopta la forma de una secuencia de
acciones
y Una vez encontrada una solución, se procede a ejecutar las
acciones
7
Inteligencia Artificial
UPP
Búsquedas
ú
8
Inteligencia Artificial
UPP
Agentes que Resuelven Problemas
y Formular: decidir que acciones y estados deberán
considerarse
y Buscar: p
proceso ppara hallar las secuencias de acciones qque
conduzcan a una meta
y Ejecutar: fase donde se llevan a cabo las acciones que
conducen a la meta
9
Inteligencia Artificial
UPP
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,
p
(
, objetivo)
j
)
sec ← BÚSQUEDA(problema)
acción ← PRIMERO(secuencia)
sec ← RESTO(secuencia)
devolver acción
10
Inteligencia Artificial
UPP
Agentes que Resuelven Problemas
y El Agente
Agente-Resuelve-Problema-Simple
Resuelve Problema Simple anterior asume que el
ambiente tiene las siguientes características:
y Estático
y Nada cambiará mientras determinamos cómo alcanzar nuestra meta
y Observable
y Podemos ver si la secuencia de acciones alcanzará nuestra meta
y Discreto
y Podemos enumerar los posibles estados
y Determinista
y Una vez que nuestra secuencia de acciones ha sido determinada, sabemos que
funcionará
y Este mismo proceso no funcionará con juegos como el tic-tac-toe.
¿Porqué?
q
11
Inteligencia Artificial
UPP
Ejemplo: Rumanía
í
y Imagine un agente en la ciudad de Arad
Arad, Rumanía
Rumanía,
disfrutando de un viaje de vacaciones. Mañana sale un vuelo
de Bucarest.
y Formulación del objetivo:
estar en Bucarest
y Formulación del problema:
estados: varias ciudades
acciones: conducir entre las ciudades
y Encontrar solución:
secuencia
i dde ciudades,
i d d por ejemplo,
j
l A
Arad,
d Sibi
Sibiu, FFagaras,
Bucarest.
12
Inteligencia Artificial
UPP
Ejemplo
13
Inteligencia Artificial
UPP
Ejemplo de una Aspiradora
E t d simple,
Estado
i l estado
t d iinicial
i i l 55. ¿Solución?
S l ió ?
14
Inteligencia Artificial
UPP
Ejemplo de una Aspiradora
Estado
E
t d simple,
i l estado
t d iinicial
i i l 55. ¿Solución?
S l ió ?
[Derecha, Aspirar]
Estado
E
d múltiple,
úl i l estado
d inicial
i iil
{1, 2, 3, 4, 5, 6, 7, 8}
Por ejemplo, Derecha produce {2, 4, 6, 8}.
¿Solución?
15
Inteligencia Artificial
UPP
Ejemplo de una Aspiradora
Estado simple,
simple estado inicial 5.
5 ¿Solución?
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]
g
estado inicial 5.
Contingencia,
Ley de Murphy: Aspirar a veces deposita
suciedad en la alfombra.
Sensores locales: suciedad,
sólo en el lugar.
¿Solución?
16
Inteligencia Artificial
UPP
Ejemplo de una Aspiradora
Estado simple, estado inicial 5. ¿Solución?
[Derecha, Aspirar]
Conformado, estado inicial
{1 22, 33, 44, 55, 66, 77, 8}
{1,
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.
lugar
¿Solución?
[Derecha, si suciedad entonces Aspirar]
17
Inteligencia Artificial
UPP
Problemas Bien Definidos
Un pproblema se define ppor 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,
lícit por ejemplo,
ejemplo x = “en
en Bucarest”
Bucarest
implícito, por ejemplo, en ajedrez, el estado jaque mate
costo del camino, se asignan
g costos a una ruta
por ejemplo, suma de 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.
18
Inteligencia Artificial
UPP
Costos
y Mediante una ruta se conectan los conjuntos de estados
y La solución es una ruta que conduce a estados meta
p
de conjunto
j
de estados
Espacio
y ¿Cuál es el mejor camino?
y ¿¿Permite encontrar una solución? ((decisión))
y ¿Es una buena solución? (optimización)
y ¿Cuál es el costo de búsqueda correspondiente al tiempo y memoria
necesarios para encontrar la solución?
19
Inteligencia Artificial
UPP
Costos
y Costo total
y C.T. = Costo del Camino + Costo de la Búsqueda
20
Inteligencia Artificial
UPP
Ejemplo: Espacio de Estados Aspiradora
¿Estados?
¿
¿Acciones?
¿Prueba de meta?
¿Costo del camino?
21
Inteligencia Artificial
UPP
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 ppor acción (0
( por
p NoOp)
p)
22
Inteligencia Artificial
UPP
Ejemplo: el 8-puzzle
¿Estados?
¿Acciones?
¿Prueba de meta?
¿Costo del camino?
23
Inteligencia Artificial
UPP
Ejemplo: el 8-puzzle
¿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: solución óptima de la familia del n-puzzle es NP-C]
24
Inteligencia Artificial
UPP
Estrategias de Búsqueda
ú
y Una estrategia de búsqueda se define por la elección del orden de
la expansión de nodos
y Las estrategias
g se evalúan a través de las siguientes
g
dimensiones:
y Completés -¿Siempre encuentra una solución si es que existe?
y Complejidad en tiempo – Número de nodos generados/expandidos
y Complejidad en espacio – Máximo número de nodos en memoria
y Optimalidad - ¿Siempre encuentra una solución de costo mínimo?
y La
L complejidad
l jid d en ti
tiempo y espacio
i se mide
id en té
términos
i dde:
y b – máximo factor de ramificación del árbol de búsqueda
y d – Profundidad de la solución de mínimo costo
y m – Máxima profundidad del espacio de estados (puede ser ∞)
25
Inteligencia Artificial
UPP
Búsquedas
Árboles
y Idea general: Explorar las diferentes ramas de un árbol, con el
objetivo de encontrar un camino desde la raíz a una hoja que
represente
t un estado
t d fifinall
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
26
Inteligencia Artificial
UPP
Búsquedas
ú
en Árboles
Á
y Búsqueda a lo ancho
y Búsqueda
Bú
d en Profundidad
P f did d primero
i
y Búsqueda ancho-profundo
y Búsqueda en profundidad limitada
27
Inteligencia Artificial
UPP
Búsqueda
ú
primero en anchura
y Se expande primero el nodo raíz,
raíz a continuación,
continuación se expanden todos los sucesores del
nodo raíz, después sus sucesores, etc.
y Implementación:
y Usa una estructura FIFO, es decir, los nuevos sucesores van al final.
28
Inteligencia Artificial
UPP
Búsqueda
ú
primero en anchura
y Se expande primero el nodo raíz,
raíz a continuación,
continuación se expanden todos los sucesores del
nodo raíz, después sus sucesores, etc.
y
y Implementación:
y Usa una estructura FIFO, es decir, los nuevos sucesores van al final.
29
Inteligencia Artificial
UPP
Búsqueda
ú
primero en anchura
y Se expande primero el nodo raíz,
raíz a continuación,
continuación se expanden todos los sucesores del
nodo raíz, después sus sucesores, etc.
y
y Implementación:
y Usa una estructura FIFO, es decir, los nuevos sucesores van al final.
30
Inteligencia Artificial
UPP
Búsqueda
ú
primero en anchura
y Se expande primero el nodo raíz,
raíz a continuación,
continuación se expanden todos los sucesores del
nodo raíz, después sus sucesores, etc.
y
y Implementación:
y Usa una estructura FIFO, es decir, los nuevos sucesores van al final.
31
Inteligencia Artificial
UPP
Propiedades de la búsqueda primero en
anchura
y ¿Completa?
C
l t ? Sí
b: factor de ramificación.
d: profundidad de solución.
y ¿Tiempo? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)
y ¿Espacio? O(bd+1) (mantiene todos los nodos en la memoria)
32
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
33
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
34
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
35
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
36
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
37
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
38
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
39
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
40
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
41
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
42
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
43
Inteligencia Artificial
UPP
Búsqueda primero en profundidad
y Se expande el nodo no expandido más profundo.
profundo
y Implementación:
y Usa una estructura LIFO,, es decir,, los sucesores se ponen
p
delante.. Suponiendo
p
M como nodo objetivo.
44
Inteligencia Artificial
UPP
Propiedades de la búsqueda primero en
profundidad
y ¿Completa? Si
Æ Completa en espacios finitos.
y ¿Tiempo? O(bm): terrible si m es mucho mayor que d.
m: máxima profundidad.
y Pero si las soluciones son densas, puede ser mucho más rápida que la
búsqueda primero en anchura.
y ¿Espacio? O(bm), es decir, espacio lineal.
45
Inteligencia Artificial
UPP
Actividad
y Implementar un programa que determine la ruta más corta
entre un par de ciudades
y Entrada: Mapa
p ((conjunto
j
de ciudades,, conjunto
j
de carreteras qque unen
a ciudades, distancia entre las ciudades), Origen, Destino
y Salida: Secuencia de ciudades a visitar (desde el origen hasta el destino).
En caso de no existir
e istir un camino
camino, reportarlo
reportarlo.
46
Inteligencia Artificial
UPP
Descargar