sistemas inteligentes - Centro de Inteligencia Artificial

Anuncio
Universidad
de Oviedo
Centro de
Inteligencia Artificial
SISTEMAS INTELIGENTES
T2: Sistemas de Búsqueda
{jdiez, juanjo} @ aic.uniovi.es
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
¿Cómo resolverlo?
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Índice
•  El papel de la búsqueda en IA
•  Componentes de un sistema de búsqueda
•  Ejemplos de problemas de búsqueda
°  Artificiales
°  Reales
•  Algoritmo general de búsqueda en árboles
•  Caracterización de las estrategias de búsqueda
°  Medidas
de rendimiento
°  Estrategias de búsqueda a ciegas
°  Estrategias de búsqueda informada
•  Estrategias de búsqueda a ciegas
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
El papel de la búsqueda en IA
•  Existe una unión inseparable entre los
conceptos razonamiento o resolución de
problemas y búsqueda
•  Constituyen el núcleo fundamental de ideas
que aparecen en casi todos los programas
inteligentes que se realizan en IA
°  Deducción
°  Elaboración
de planes de actuación
°  Prueba automática de teoremas
°  …
•  Los sistemas de búsqueda son una
herramienta básica para construir SSII
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Resolver problemas por búsqueda (I)
•  Formulación del objetivo: conjunto de estados del
mundo que satisfacen el objetivo buscado
°  Por
extensión
°  Se especifica como una propiedad abstracta
•  Formulación del problema: decidir qué acciones y
estados debemos considerar
La abstracción es un proceso clave
°  Se deben eliminar aquellos detalles del problema no
sustanciales y que dificultan su resolución
° 
•  Búsqueda: proceso en el que se examinan diferentes
secuencias posibles de acciones que conducen a
estados conocidos y en el que se escoge la mejor
secuencia
•  Ejecución: llevar a cabo la secuencia de acciones
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Resolver problemas por búsqueda (II)
•  Encontrar secuencias de acciones que conduzcan
desde el estado actual a algún estado objetivo
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Encontrar una ruta en Rumania (I)
•  De vacaciones en Arad (Rumania)
•  El vuelo de vuelta sale mañana de Bucarest
•  Formular objetivo: llegar a Bucarest cuanto
antes
•  Formular problema:
°  estados:
estar en una ciudad de Rumania
°  acciones: conducir de una ciudad a otra
•  Encontrar una solución: secuencia de
ciudades que nos lleve desde Arad hasta
Bucarest en el menor tiempo posible
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Encontrar una ruta en Rumania (II)
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Elementos
•  Estado inicial del agente, punto de partida para la búsqueda
En(Arad)
•  Función sucesor que dado un estado x devuelve un conjunto ordenado de
pares <acción, sucesor>
{<Ir(Sibiu),En(Sibiu)>,<Ir(Timisoara),En(Timisoara)> ,<Ir(Zerind), En(Zerind)> }
° 
° 
Espacio de estados o de búsqueda es el conjunto de estados alcanzables desde el
estado inicial aplicando distintas acciones. Es un grafo donde los nodos son estados y
los arcos acciones
Camino es una secuencia de estados conectado por una secuencia de acciones
•  Coste del camino (g) es una función que asigna un coste numérico a cada
camino. Suele ser la suma de costes de cada acción individual, g(x,a,y)
Suma de kilómetros de la ruta entre dos ciudades
•  Test objetivo determina si un estado es objetivo
En(Bucarest)
° 
Solución secuencia de acciones que llevan del estado inicial a un estado objetivo. Las
que tengan coste del camino mínimo, serán las óptimas
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Tipos de problemas/entornos
•  Totalmente/parcialmente observable
Rumania: totalmente observable, el agente percibe totalmente el entorno
•  Determinista/estocástico
Rumania: determinista, el agente sabe en qué estado se encontrará
después de realizar una acción
•  Episódico/secuencial
Rumania: secuencial, cada acción depende de las acciones anteriores
•  Estático/dinámico
Rumania: estático, la formulación y búsqueda se hacen sin prestar
atención a cualquier cambio que pudiera ocurrir en el entorno
•  Discreto/continuo
Rumania: discreto, no se tiene en cuenta la variable tiempo
•  Individual/Multiagente
Rumania: individual, sólo interviene un agente
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Ejemplos de problemas
•  Problemas Artificiales
Se utilizan para:
°  Ilustrar
los métodos de resolución de
problemas
°  Comparar
el funcionamiento de diferentes
algoritmos
Ejemplos: n-puzzle, n-reinas,…
•  Problemas Reales
Tienden a tener formulaciones particulares en
cada caso
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
El mundo de la aspiradora (I)
•  La aspiradora puede estar en una de las dos
habitaciones, donde puede haber o no suciedad
•  Estados: 2x22=8 posibles estados
•  Estado inicial: cualquiera de los posibles
•  Función sucesor: genera estados resultantes de aplicar
Izquierda, Derecha, o Aspirar
•  Test objetivo: todas las habitaciones limpias
•  Coste: suma del número de acciones realizadas
•  Si hubiera n habitaciones tendríamos n 2n estados
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
El mundo de la aspiradora (II)
Las acciones son: Izquierda (L), Derecha (R), Aspirar (S)
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
El mundo de los bloques
B
A
C
•  Estados: 13 posibles estados
•  Estado inicial: cualquiera de los posibles
•  Función sucesor: mover un bloque
•  Coste: suma del número de acciones realizadas
•  Test objetivo:
A
B
C
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
El 8-puzzle (I)
•  Estados: especifican la
posición de cada ficha
•  Estado inicial: una posición
•  Función sucesor: genera los
estados resultantes de “desplazar el hueco”
Arriba, Abajo, a la Izquierda o a la Derecha
•  Test objetivo: indica si la configuración de
fichas es la deseada
•  Coste: número de movimientos
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
El 8-puzzle (II)
•  Parece simple …
•  pero es un problema NP-completo
°  P:
resoluble en tiempo polinomial
°  NP: polinomial no determinístico, se puede verificar la
validez de una solución en tiempo polinomial
» NP-completo: los problemas más difíciles NP
•  La complejidad crece rápidamente con el
tamaño del puzzle
°  8-puzzle:
181,440 estados, 0.1 segundos
°  15-puzzle:
~1.3×1012 estados, 6 días
°  24-puzzle: ~1025 estados, … mucho!
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Las 8-reinas (I)
•  Colocar 8 reinas en un tablero de ajedrez
sin que se ataquen entre ellas
Este estado no es un objetivo!!! Las reinas
en la primera y última columna se atacan
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Las 8-reinas (II)
•  Formulación Incremental
°  Se
aumenta paulatinamente la descripción de
cada estado añadiendo una reina al tablero
°  Estados: cualquier combinación de 0 a 8 reinas
°  Estado
inicial: tablero vacío
°  Función sucesor: añadir una reina a cualquier
cuadrado vacío
°  Test objetivo: 8 reinas sobre el tablero,
ninguna es atacada
Hay 64·63·62·…·58·57 ~ 3·1014 estados
Para 100-reinas tendríamos 10400 estados
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Problemas reales
•  Búsqueda de rutas
° 
° 
° 
Generalización del problema de ir hasta Bucarest
Se añaden complicaciones adicionales como el coste en tiempo, dinero,
disponibilidad de transporte …
Ejemplo: viajes de líneas aéreas
•  Problemas turísticos: visitar varias ciudades al menos una vez
•  Problema del viajante de comercio (TSP)
° 
Sólo una vez en cada ciudad y además han de recorrerse todas con un coste
mínimo
•  Distribución VLSI: colocación de componentes y conexiones en un chip
verificando que el área es mínima
•  Navegación de un robot
° 
Generalización de la búsqueda de una ruta en un espacio continuo
•  Secuenciación para ensamblaje automático
•  Diseño de proteínas
•  Juegos
•  Búsquedas en internet
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Algunas definiciones
•  Árbol de búsqueda: generado por el estado inicial y
la función sucesor. En general será un grafo
•  Nodo de búsqueda: cada nodo de un árbol de
búsqueda que representa un estado del problema
•  Expansión de un nodo: aplicar la función sucesor al
estado representado por el nodo para generar nodos
sucesores
•  Estrategia de búsqueda: determina el estado a
expandir en cada momento. En esencia, se trata de
escoger una opción y posponer la exploración de otras
opciones para más tarde
•  Frontera: conjunto de nodos generados y aún no
expandidos. La estrategia de búsqueda selecciona qué
estado expandir de entre los de la frontera
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Árbol de búsqueda para
encontrar una ruta desde
Arad a Bucarest
Universidad
de Oviedo
El estado inicial
Tras expandir Arad
Tras expandir Sibiu
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Algoritmo de Búsqueda en Árboles
función Búsqueda_Árboles( problema , estrategia ) devuelve
solución o fallo
inicializa el árbol con el estado inicial del problema
bucle hacer
si no hay candidatos a expandir
entonces devolver fallo
escoger, según estrategia, un nodo hoja para expandir
si el nodo es objetivo
entonces devolver la correspondiente solución
sino expandir el nodo y añadir los sucesores al árbol
fin bucle hacer
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Representación de los nodos
•  Los nodos no son equivalentes a los
estados
•  La representación de los nodos suele
depender del problema
•  Se suelen describir mediante:
°  el
estado que representan
°  su nodo padre
°  la acción que lleva al nodo
°  el coste del camino hasta ese nodo: g(n)
°  la profundidad del nodo
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Medidas de rendimiento
•  Completitud: Si existe solución ¿la encuentra?
•  Optimización: Si la encuentra ¿es la mejor?
•  Complejidad espacio-temporal: ¿cuánto tiempo y
memoria necesita para encontrar una solución?
En informática teórica se expresa mediante el tamaño del grafo
En IA la dificultad del problema se expresa en función de:
°  factor de ramificación (b): máximo número de sucesores de
cualquier nodo
°  profundidad del objetivo (d): profundidad del nodo objetivo
menos profundo
°  profundidad máxima (m) de cualquier camino en el espacio de
estados
°  ¿Qué cantidad de recursos se requieren para encontrar la
solución? Máximo número de nodos almacenados en memoria
°  ¿Cuánto se tarda en encontrar la solución? Suele medirse en
términos de número de nodos generados
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Estrategias de búsqueda
•  Búsqueda no informada o a ciegas: no tienen
información para medir la calidad de los estados
Primero en anchura
°  Coste uniforme
°  Primero en profundidad
°  Profundidad limitada
°  Primero en profundidad con profundidad iterativa
°  Bidireccional
° 
•  Búsqueda informada o heurística: saben estimar si un
estado es “más prometedor” que otro
Voraz primero el mejor
°  Algoritmo A*
°  Escalada (hill-climbing)
°  Temple simulado (simulated annealing)
°  Haz local (beam seach)
°  Algoritmos genéticos
° 
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Primero en anchura (I)
•  Se expande el nodo raíz, a continuación se expanden
todos los sucesores, luego los sucesores de éstos, …
•  En general, se expanden todos los nodos de un nivel
antes de expandir cualquier nodo del nivel siguiente
•  La estrategia sería una cola FIFO
•  Cada nodo generado debe permanecer en memoria,
ya que es parte de la frontera, o un antepasado de
un nodo frontera
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Primero en anchura (II)
•  Completitud: es una estrategia completa si el factor
de ramificación es finito
•  Optimización: no se garantiza una solución óptima. El
nodo objetivo más superficial no tiene por qué ser la
solución óptima
Sería óptima si el coste fuera una función no decreciente de la
profundidad
•  Complejidad: Si cada nodo tiene b sucesores y la
solución está a nivel d, en el peor de los casos
tenemos que expandir todos menos el último nodo
del nivel d
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Primero en anchura (III)
Ejemplo: suponemos un problema con un factor de ramificación b=10,
que será resuelto por un ordenador capaz de generar 10.000 nodos/
seg. y que requiere 1.000 bytes/nodo de espacio
Profundidad
Nodos
Tiempo
Memoria
2
1.100
0,11 segs.
1 MB
4
111.100
11 segs.
106 MB
6
107
19 mins.
10 GB
8
109
31 horas
1 TB
10
1011
129 días
101 TB
12
1013
35 años
10 PB
14
1015
3.523 años
1 EB
Requisitos de espacio más problemáticos que los de tiempo
Aplicable en problemas pequeños, si no es necesario una búsqueda informada
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Coste uniforme (I)
•  Primero en anchura es óptimo cuando todos los costes
son iguales, ya que expande el nodo menos profundo
•  Coste uniforme es una extensión de primero en
anchura de forma que es óptimo para cualquier
función de coste (estrictamente positiva)
•  Se expande el nodo con el camino de menor coste
desde el nodo raíz
•  Si todos los costes de cada acción son iguales, es
idéntico a primero en anchura
•  Se preocupa, no por la profundidad, sino por el coste
total
•  No puede haber acciones de coste 0 que conduzcan al
mismo estado (bucle infinito)
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Coste uniforme (II)
•  Completitud: está garantizada si el coste de cada
acción es mayor o igual que un constante positiva
pequeña (ε)
•  Optimización: la condición anterior también garantiza la
optimización
El algoritmo expande nodos en orden creciente de coste del camino, por
lo que el primer nodo objetivo seleccionado para expandir es la solución
óptima
•  Complejidad: depende del coste. Si el coste óptimo es
C* y suponemos que el coste mínimo de cada acción
es ε, entonces la complejidad en el peor caso es:
puede ser mucho mayor que
(el efecto de muchos pasos pequeños)
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Primero en profundidad (I)
•  Se expande primero el nodo más
profundo en la frontera actual del árbol
de búsqueda
•  Cuando todos los nodos del nivel más
profundo no tienen sucesor, la búsqueda
retrocede al nivel anterior
•  La estrategia se implementaría con una
pila LIFO
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Primero en
profundidad (II)
Universidad
de Oviedo
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Primero en profundidad (III)
•  Completitud: si hay ramas infinitas el proceso de
búsqueda podría no terminar, aún teniendo una solución
próxima a la raíz
•  Optimización: no se garantiza que la solución sea óptima
•  Complejidad temporal: si m es la profundidad máxima
del árbol, la complejidad temporal es de orden
en general m>>d y es
infinito si el árbol es ilimitado
•  Complejidad espacial: requiere almacenar sólo bm+1
nodos. La complejidad espacial es de orden
con profundidad m=d=12
sólo requiere 118 KB en lugar
de los 10 PB de la búsqueda
primero en anchura (mismas
condiciones)
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Profundidad limitada (I)
•  Trata de aliviar el problema de los árboles ilimitados (con ramas
infinitas) con la búsqueda primero en profundidad
•  Se efectúa búsqueda primero en profundidad pero hasta una
profundidad máxima l
•  Primero en profundidad = profundidad limitada con l=∞ (ó m)
•  Lamentablemente se añade alguna complicación adicional si
escogemos l tal que l<d. Entonces el objetivo está fuera del límite
de profundidad
•  El límite de profundidad puede estar basado en el conocimiento
previo del problema:
° 
Ejemplo: en el mapa de Rumania hay 20 ciudades, luego la solución
debe ser como mucho con l=19
•  Diámetro del espacio de estados: la profundidad máxima para
alcanzar cualquier estado desde otro
° 
Ejemplo: cualquier ciudad puede alcanzarse desde otra en 9 pasos
•  Para la mayor parte de problemas no conocemos un límite de
profundidad bueno hasta que no resolvemos el problema
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Profundidad limitada (II)
•  Completitud: no se puede garantizar que
encuentre solución, ya que podría ocurrir
que l<d.
•  Optimización: no se puede garantizar
que la solución sea óptima
•  Complejidad: en general, menor que la
de la búsqueda en profundidad
Espacial:
Temporal:
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
BPP con profundidad iterativa (I)
•  Se trata de aplicar repetidas veces la búsqueda con
profundidad limitada, aumentando en cada ocasión el
límite de profundidad (0, 1, 2, …) hasta encontrar un
estado objetivo (cuando alcancemos la profundidad d)
•  Trata de combinar las ventajas de la búsqueda en
anchura (completitud) y primero en profundidad
(complejidad)
•  Los estados se generan en cada iteración, es poco
costoso. Los nodos de profundidad d son generados 1
vez, los de d-1 2 veces, …, los de la raíz d veces
•  Es más rápida que la búsqueda en anchura ya que no
genera sucesores en el nivel d+1
•  Es el método de búsqueda a ciegas preferido cuando
hay un espacio grande de búsqueda y no se conoce d
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
BPP con profundidad
iterativa (II)
Límite=0
Límite=1
Límite=2
Límite=3
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
BPP con profundidad iterativa (III)
•  Completitud: es como una búsqueda en anchura
por niveles. Hereda de ésta su carácter completo
cuando el factor de ramificación es finito
•  Optimización: si todas las acciones tienen el
mismo coste, también hereda la capacidad de
encontrar soluciones óptimas
•  Complejidad
Nodos:
Ejemplo: b=10, d=5
N(prof. it.)=50+400+3000+20.000+100.000=123.450
N(anc.)=10+100+1.000+10.000+100.000+999.990=1.111.100
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Búsqueda bidireccional (I)
Inicio
Objetivo
El área de dos círculos pequeños es menor que
área de uno grande
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Búsqueda bidireccional (II)
•  Se ejecutan dos búsquedas simultáneas: una hacia
delante, desde el estado inicial y la otra hacia atrás,
desde el objetivo
•  Se para cuando ambas búsquedas se encuentren: se
comprueba que el nodo expandido de un árbol esté en la
frontera del otro
•  Su interés radica en la reducción de la complejidad
•  La búsqueda hacia atrás puede plantear dificultades ya
que no siempre es fácil calcular los nodos predecesores.
El caso más difícil se plantea cuando el test objetivo da
únicamente una descripción implícita de algún conjunto
(posiblemente grande) de estados objetivo
•  Su principal problema es que requiere mucho espacio
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Búsqueda bidireccional (III)
•  Si las búsquedas son primero en anchura
°  es
completo
°  es
óptimo para costes uniforme
•  Complejidad:
Espacial: O(bd/2)
Temporal: O(bd/2)
•  Otras combinaciones en cuanto a los algoritmos
de búsqueda utilizados pueden sacrificar la
completitud, optimización o ambas
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Comparación de estrategias de búsqueda
no informada
1ºA
CU
1ºP
PL
PI
B
¿Completa? Síc1
Síc1,c2
No
No
Síc1
Síc1,c4
¿Óptima?
Síc3
Sí
No
No
Síc3
Síc3,c4
Tiempo
O(bd+1) O(bC*/ε) O(bm)
O(bl)
O(bd)
O(bd/2)
Espacio
O(bd+1) O(bC*/ε) O(bm) O(bl)
O(bd)
O(bd/2)
Variables
Condiciones
b: factor de ramificación
c1: factor de ramificación finito
d: profundidad mínima de un objetivo
c2: costes individuales >= ε
m: profundidad máxima de un estado
c3: costes individuales iguales
C*: coste de la solución óptima
c4: 1ºA en ambas direcciones
ε: cantidad positiva mínima de coste ind.
l: límite de profundidad
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Eliminar estados repetidos (I)
•  Perder tiempo expandiendo estados ya
expandidos es una de las complicaciones más
importantes de los procesos de búsqueda
•  Hay problemas que no tienen esta dificultad ya
que su espacio de estados es un árbol (no un
grafo) y hay un solo camino a cada estado
•  Para otros problemas es inevitable la repetición
de estados
°  Son
problemas en los que las acciones suelen ser reversibles
(ej. búsqueda de rutas)
°  Sus árboles de búsqueda son infinitos (son grafos)
°  Una poda puede producir una reducción exponencial del
coste de la búsqueda
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Las 8-reinas (III)
•  Formulación Alternativa
°  Estados:
combinación de n reinas, con
0<=n<=8, una por columna, desde la situada
más a la izquierda y sin que se ataquen
°  Función sucesor: añadir una reina en la
columna más a la izquierda posible tal que no
sea atacada por las reinas anteriores
•  Esta formulación no repite estados
El espacio de búsqueda se reduce a tan
sólo 2057 estados!!!
100-reinas seguimos teniendo 1052 estados
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Eliminar estados repetidos (II)
•  La formulación eficiente del problema de las
8-reinas debe su eficiencia en parte a que no
se repiten estados
•  Cada estado sólo se puede alcanzar por un
camino
•  Si se formula permitiendo poner una reina en
cualquier columna, entonces cada estado se
puede alcanzar por n! caminos diferentes
“Los algoritmos que olvidan su historia están
condenados a repetirla”
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Eliminar estados repetidos (III)
Espacio de estados en el que dos
acciones nos llevan de A a B, dos de
B a C, etc
El espacio tiene d+1 estados
El árbol asociado tiene 2d caminos
Un problema más real: la rejilla rectangular
Cada estado tiene 4 sucesores
El árbol de búsqueda tendría 4d hojas
Pero sólo hay 2d2 estados distintos
Para d=20 pasamos de un billón de nodos
del árbol a sólo 800 estados
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Eliminar estados repetidos (IV)
•  Conclusión: no detectar estados repetidos puede
provocar que un problema resoluble llegue a ser
irresoluble
•  Solución:
Los nodos expandidos pueden almacenarse en una lista. La
llamaremos LISTA_CERRADA
°  Los nodos de la frontera, que almacenaremos en
LISTA_ABIERTA, que aparezcan en LISTA_CERRADA se
eliminarán en lugar de ser expandidos de nuevo
° 
•  En algunos casos tendríamos que comprobar si el
nuevo camino encontrado es de menor coste que el
encontrado previamente. Esto no será necesario si
utilizamos búsqueda de coste uniforme o en anchura
con coste constante, pero sí en otros casos
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Algoritmo de Búsqueda en Grafos
función Búsqueda_Grafos( problema, estrategia ) devuelve
solución o fallo
lista_cerrada = lista vacía
lista_abierta = estado inicial del problema
bucle hacer
si Vacía(lista_abierta)
entonces devolver fallo
nodo = EscogerNodo(estrategia,lista_abierta)
si EsObjetivo(nodo)
entonces devolver la correspondiente solución
sino
si NoEstá(nodo,lista_cerrada)
entonces Añadir(nodo,lista_cerrada)
Añadir(Sucesores(nodo,problema),lista_abierta)
fin bucle hacer
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Universidad
de Oviedo
Centro de
Inteligencia Artificial
El problema puede ser más complejo
•  Hemos estudiado las estrategias de búsqueda
para problemas sencillos, con entornos
totalmente observables, deterministas, estáticos,
con agentes individuales
•  ¿Qué pasa cuando el conocimiento de las
acciones o los estados es incompleto?
°  problemas
sin sensores: si es parcialmente
observable, cada acción llevaría a un conjunto de
estados posibles
°  problemas de contingencia: si tenemos adversarios,
tendremos incertidumbre por las acciones de otro agente
°  problemas de exploración: el agente no conoce los
estados, deberá actuar para descubrirlos
Sistemas Inteligentes - T2: Sistemas de Búsqueda
Descargar