Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bsqueda no-informada
Ingeniera Informtica, 4
Curso acadmico: 2011/2012
Profesores: Ramn Hermoso y Matteo Vasirani
Inteligencia Artificial
1 4 Ing. Sup. Inf.
Tema 2: Agentes basados en Bsqueda
Resumen:
Inteligencia Artificial
2 4 Ing. Sup. Inf.
Agentes basados en bsqueda
A
A
B
B
C
C D E
D
E
Inteligencia Artificial
3 4 Ing. Sup. Inf.
Entorno: problemas bien definidos
Inteligencia Artificial
4 4 Ing. Sup. Inf.
Por qu bsqueda?
Objetivo:
Trasladar los discos de
la aguja A a B en el
mismo orden
A B C
Restriccin:
un disco mayor nunca
debe reposar sobre uno
de menor tamao
Inteligencia Artificial
5 4 Ing. Sup. Inf.
Solucin 1: tablas de actuacin
Inteligencia Artificial
6 4 Ing. Sup. Inf.
Solucin 2: algoritmo
Inteligencia Artificial
7 4 Ing. Sup. Inf.
Solucin 3: bsqueda
Acciones:
apilar(X,Y): poner X encima de Y
Prec.: bloques X e Y estn libres
Efecto: bloque X est encima de Y
quitar(Y): poner Y en la mesa Objetivo
Prec.: bloque Y est libre
Efecto: bloque Y est en la mesa
Inteligencia Artificial
10 4 Ing. Sup. Inf.
Mundo de los bloques: espacio de estados
A A C C B B
B C C B B A A B C A A C
estado
inicial
C B A B A C
A A C C B B
B C B A C A
estado
meta
Inteligencia Artificial
11 4 Ing. Sup. Inf.
Representacin del problema de los bloques
A A C C B B
B C C B B A A B C A A C
C B A B A C
A A C C B B
B C B A C A
Inteligencia Artificial
12 4 Ing. Sup. Inf.
Agentes especializados
Tareas:
1. Definir el modelo y generar los objetivos
Conocimiento a priori del agente facilitado por el diseador
2. Generar el espacio de estados:
ver Tema 3 (y, como introduccin, Tema 2.4)
3. Percibir y clasificar la situacin presente:
Agentes hardware: Visin artificial, Robtica
Agentes software: Algoritmos especficos del dominio
4. Buscar un plan de actuacin
5. Ejecutar el plan de actuacin
Agentes hardware: Robtica
Agentes software: Algoritmos especficos del dominio
Inteligencia Artificial
13 4 Ing. Sup. Inf.
Bsqueda en espacio de estados
s2 s3 s4 s5 s6 s7
Inteligencia Artificial
14 4 Ing. Sup. Inf.
Conocimientos a priori de nuestro agente
Inteligencia Artificial
15 4 Ing. Sup. Inf.
Mtodo de bsqueda
Inteligencia Artificial
16 4 Ing. Sup. Inf.
Algoritmo de bsqueda
Elementos del algoritmo
{bsqueda general}
el rbol se representa en base a
abierta s0
un registro del tipo nodo
Repetir
abierta es una lista de nodos, Si vaca?(abierta) entonces
con las hojas actuales del rbol devolver(negativo)
vaca? determina si una lista es nodo primero(abierta)
vaca Si meta?(nodo) entonces
primero quita el primer devolver(nodo)
elemento de una lista sucesores expandir(nodo)
Para cada nsucesores hacer
ordInsertar aade un nodo a
n.padre nodo
una lista, clasificado segn una
ordInsertar(n,abierta,<orden>)
funcin de orden
Fin {repetir}
expandir devuelve los hijos de
un nodo
Inteligencia Artificial
17 4 Ing. Sup. Inf.
Estados repetidos
Problema:
el mismo estado puede repetirse varias veces en el rbol de bsqueda
puede generarse el mismo subrbol varias veces
Soluciones:
ignorarlo
evitar ciclos simples:
no aadir el padre de un nodo al conjunto de sucesores
evitar ciclos generales:
no aadir un antecesor de un nodo al conjunto de sucesores
evitar todos los estados repetidos:
no aadir ningn nodo existente en el rbol al conjunto de sucesores
Inteligencia Artificial
18 4 Ing. Sup. Inf.
Clasificacin de mtodos
Caractersticas:
Completitud: se encuentra una solucin si existe
Optimalidad: se encuentra la mejor solucin si hay varias
Complejidad en tiempo: cunto se tarda en encontrar la solucin?
Complejidad en espacio: cunta memoria se utiliza en la bsqueda?
Resumen:
Inteligencia Artificial
20 4 Ing. Sup. Inf.
Bsqueda en amplitud
Bsqueda en amplitud:
ingls: breadth first search
Estrategia:
generar el rbol por niveles de
profundidad
expandir todos los nodos de nivel
i, antes de expandir nodos de
nivel i+1
Resultado:
considera primero todos los
caminos de longitud 1, despus
los caminos de longitud 2, etc.
Se encuentra el estado meta de
menor profundidad
Inteligencia Artificial
21 4 Ing. Sup. Inf.
rbol de bsqueda en amplitud
Bsqueda en amplitud
(evitando ciclos simples):
C
Nivel 1 A B
B
C
Nivel 2 B A
C A B C
A
Nivel 3 A
A A B C B
C A B C
B B C C B C A B A A C
Inteligencia Artificial
22 4 Ing. Sup. Inf.
Algoritmo para bsqueda en amplitud
{bsqueda en amplitud}
Algoritmo: abierta s0
usar el algoritmo general de Repetir
bsqueda Si vaca?(abierta) entonces
aadir nuevos sucesores al final devolver(negativo)
de la lista abierta nodo primero(abierta)
abierta funciona como cola Si meta?(nodo) entonces
insercin al final devolver(nodo)
recuperacin desde la cabeza sucesores expandir(nodo)
estructura FIFO: Para cada n sucesores hacer
siempre expandir primero el n.padre nodo
nodo ms antiguo (es decir: ordInsertar(n,abierta,final)
menos profundo) Fin {repetir}
Inteligencia Artificial
23 4 Ing. Sup. Inf.
rbol de bsqueda en amplitud
Lista abierta:
C
A B
C
A B B
C C
B A A B C
A
B B A
C C C C A B C
B A A B C A B C
A A B
A
A B C C A B C
A B
C A A B C B
A B C B C C B C A B A A C
B
A
C A A B C B
A B C B C C B C A B A A C
B
A
C
B A
B
A C ... B
A C
B
C
...
Inteligencia Artificial
24 4 Ing. Sup. Inf.
Complejidad
Inteligencia Artificial
25 4 Ing. Sup. Inf.
Requerimientos de tiempo y memoria
Inteligencia Artificial
26 4 Ing. Sup. Inf.
Bsqueda en amplitud: anlisis
Ventajas:
completo:
siempre se encuentra un nodo meta si existe
ptimo (para operadores de coste uno):
siempre se encuentra el nodo meta menos profundo
Problemas:
complejidad
exponencial incluso en el mejor caso
los problemas de espacio son an ms graves que los
problemas de tiempo
Inteligencia Artificial
27 4 Ing. Sup. Inf.
Ejercicio 2.1
Problema de bsqueda / conocimiento del agente:
En una mesa se encuentran dos jarras, una con una capacidad de 3 litros (llamada
Tres), y la otra con una capacidad de 4 litros (llamada Cuatro). Inicialmente, Tres
y Cuatro estn vacas. Cualquiera de ellas puede llenarse con el agua de un grifo
G. Asimismo, el contenido tanto de Tres como de Cuatro puede vaciarse en una
pila P. Es posible echar todo el agua de una jarra a la otra. No se dispone de
dispositivos de medicin adicionales. Se trata de encontrar una secuencia de
operadores que deje exactamente dos litros de agua en Cuatro.
a) Modele este problema como un problema de bsqueda. Con tal fin, defina el
estado inicial, el conjunto de estados meta, los operadores (especificando sus
precondiciones y postcondiciones), as como el coste de cada operador.
b) Caracterice el conocimiento a priori del agente de resolucin del problema
correspondiente? Facilite ejemplos de los resultados de la funcin expandir.
c) Encuentre una solucin al problema.
Inteligencia Artificial
28 4 Ing. Sup. Inf.
Ejercicio 2.2
Bsqueda en amplitud:
El grafo que se muestra al lado determina
un problema de bsqueda. Cada nodo
representa un estado; los arcos modelan la A
aplicacin de operadores. Suponga que A
es el estado inicial y que K y E son
D F G
estados meta
a) Desarrolle el rbol de bsqueda que
genera la bsqueda en amplitud. Indique H C E
el orden en que se expanden los nodos
Cul de los nodos meta se encuentra
primero? B K Z W
b) Instancie el algoritmo de bsqueda
general para que realice una bsqueda
en amplitud. Ponga el estado de la lista
abierta en cada paso del algoritmo.
Inteligencia Artificial
29 4 Ing. Sup. Inf.
Ejercicio 2.3
Bsqueda en profundidad:
Inteligencia Artificial
30 4 Ing. Sup. Inf.