Está en la página 1de 91

Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas

Tema 3: Bsqueda
Jos Luis Ruiz Reina
Jos Antonio Alonso
Franciso J. Martn Mateos
Miguel A. Gutirrez Naranjo
Departamento de Ciencias de la Computacin e Inteligencia Articial
Universidad de Sevilla
Inteligencia Articial, 2013-14
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Mtodo de solucin de problemas
Problema
como espacio
Expresion
de estados
Implementacion
en un lenguaje
de programacion
Aplicacion de al
goritmos de bus
queda de solucion
Solucion
ABSTRACCION
INTERPRETACION
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Denicin de un problema como espacio de estados
Paso previo a la bsqueda de soluciones de un problema:
Especicacin del problema
Elementos del problema:
Cul la situacin inicial desde la que se parte?
Cul es el objetivo nal?
Cmo describir las diferentes situaciones o estados por
los que podramos pasar?
Qu pasos elementales o acciones para cambiar de
estado y cmo actan?
Especicar un problema como espacio de estados
consiste en describir de manera clara cada de uno de
estos componentes
Ventaja: procedimientos generales de bsqueda de
soluciones
Independientes del problema
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Planteamiento del problema del 8-puzle
Un tablero cuadrado (3x3) en el que hay situados 8
bloques cuadrados numerados (con lo cual se deja un
hueco del tamao de un bloque). Un bloque adyacente al
hueco puede deslizarse hacia l. El juego consiste en
transformar una posicin inicial en la posicin nal
mediante el deslizamiento de los bloques. En particular,
consideramos el estado inicial y nal siguientes:
7 5
2 8 3
1 6 4 4
1 2 3
5 6 7
8
Estado final Estado inicial
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Representacin de estados
Estado: descripcin de una posible situacin en el
problema
Abstraccin de propiedades
Importancia de una buena representacin de los estados
Slo considerar informacin relevante para el problema
La representacin escogida inuye en el nmero de
estados y ste en los procedimientos de bsqueda de
soluciones
Ejemplo: 8-puzle: Elementos de la representacin:
relevante: localizacin de cada bloque y del hueco;
irrelevante: tipo de material de los bloques, colores de los
bloques,. . .
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Representacin de estados
Ejemplo del 8-puzle: Representaciones del estado
7 5
2 8 3
1 6 4
Descripcin de la posicin exacta de cada uno de los
bloques
Representacin vs. implementacin
Tuplas: (2,8,3,1,6,4,7,"H",5),
(2,8,3,4,5,"H",7,1,6)
Listas anidadas: [[2,8,3],[1,6,4],[7,"H",5]]
Diccionarios: {"primeraizquierda":2,
"primeracentro":8, ...}
Nmero de estados: 9! = 362.880.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Acciones
Acciones:
Representan un conjunto nito de operadores bsicos que
transforman unos estados en otros
Elementos que describen una accin
Aplicabilidad: precondicin y postcondicin
Estado resultante de la aplicacin de una accin (aplicable)
a un estado
Criterio para elegir acciones.
Depende de la representacin de los estados
Preferencia por representaciones con menor nmero de
acciones
Ejemplo: Acciones del 8-puzle:
Segn los movimientos de los bloques: 32 = (8 bl. 4
mov.)
Segn los movimientos del hueco: 4.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Acciones
Acciones en el 8 puzle
Mover el hueco hacia arriba
Mover el hueco hacia abajo
Mover el hueco hacia la derecha
Mover el hueco hacia la izquierda
Descripcin de la accin Mover el hueco hacia arriba
Aplicabilidad: es aplicable a estados que no tengan el
hueco en la primera la
Resultado de aplicarlo: intercambiar las posiciones del
hueco y del bloque que est encima de ste
5
8 3
1
7
6
2
4 5
8
1
7
6
2
4
3
Los tres restantes, anlogamente
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Estado inicial
Estado inicial
Un estado que describe la situacin de partida
Estado inicial en el ejemplo del 8-puzle
7 5
2 8 3
1 6 4
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Estados nales
Descripcin del objetivo
Usualmente, un conjunto de estados, que llamaremos
nales
A veces, aunque no necesariamente, un nico estado nal
Ejemplo del 8-puzle (un nico estado nal)
1 2 3
4
5
6
7
8
Formas de describir los estados nales:
Enumerativa.
Declarativa.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Soluciones de un problema
Denicin de solucin de un problema.
Secuencia de acciones a realizar para conseguir el objetivo
Secuencia de acciones cuya aplicacin desde el estado
inicial obtiene un estado nal
Ejemplo: Una solucin del 8-puzle:
7
2 8 3
1 6 4
5 7
2 8 3
1 4
5 6

7
2 3
1 4
5 6
8

7
3
1 4
5 6
8
2
7
3
4
5 6
8
2

1
4
1 2 3
5 7
8
6

(arriba arriba izquierda abajo derecha)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Soluciones de un problema
Tipos de problemas:
Buscar una solucin.
Determinar si existe solucin y encontrar un estado nal.
Buscar cualquier solucin lo ms rpidamente posible.
Buscar todas las soluciones.
Buscar la solucin ms corta.
Buscar la solucin menos costosa.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Espacio de estados como un grafo
Un espacio de estados se puede ver como un grafo
dirigido
Los vrtices de dicho grafo son los estados
Sucesores de un estado: aquellos obtenidos a partir del
estado aplicando una accin aplicable
Ejemplo en el 8-puzle
7 5
2 8 3
1 6 4
7 5
2 8 3
1 6 4
7 5
2 8 3
1 6 4
7
2 8 3
1 4
5 6
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Elementos para la implementacin
Eleccin de una representacin (estructura de datos):
para los estados
para las acciones
La implementacin de un problema como espacio de
estados consta de:
Una variable
*
ESTADO-INICIAL
*
Almacena la representacin del estado inicial
Una funcin ES-ESTADO-FINAL(ESTADO)
Comprueba si un estado es nal o no
Una funcin ACCIONES(ESTADO).
Devuelve las acciones aplicables a un estado dado
Una funcin APLICA(ACCIN,ESTADO)
Obtiene el estado resultante de aplicar una accin a un
estado (se supone aplicable)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Planteamiento del problema del granjero
Enunciado:
Un granjero est con un lobo, una cabra y una col en una
orilla de un ro.
Desea pasarlos a la otra orilla.
Dispone de una barca en la que slo puede llevar una cosa
cada vez.
El lobo se come a la cabra si no est el granjero.
La cabra se come la col si no est el granjero.
Informacin de los estados: orilla en la que est cada
elemento
La orilla de la barca es redundante (est en la orilla donde
est el granjero)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Formulacin del problema del granjero
Representacin de estados: (x y z u) en {i,d}
4
.
Nmero de estados: 16.
Estado inicial: (i i i i).
Estado nal (nico): (d d d d).
Acciones:
Pasa el granjero solo.
Pasa el granjero con el lobo.
Pasa el granjero con la cabra.
Pasa el granjero con la col.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Formulacin del problema del granjero
Aplicabilidad de las acciones
Precondicin (en los tres ltimos): los dos elementos que
pasan han de estar en la misma orilla
Poscondicin: en el estado resultante no deben estar el
lobo y la cabra, o la cabra y la col, en la misma orilla sin
que el granjero est en esa misma orilla
Estado resultante de aplicar la accin
Cambiar la orilla de los elementos que pasan por la orilla
opuesta
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Planteamiento del problema de las jarras
Enunciado:
Se tienen dos jarras, de 4 y 3 litros respectivamente.
Ninguna de ellas tiene marcas de medicin.
Se tiene una bomba que permite llenar las jarras de agua.
Averiguar cmo se puede lograr tener exactamente 2 litros
de agua en la jarra de 4 litros de capacidad.
Representacin de estados: (x y) con x en {0,1,2,3,4} e y
en {0,1,2,3}.
Nmero de estados: 20.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Formulacin del problema de las jarras
Estado inicial: (0 0).
Estados nales: todos los estados de la forma (2 y).
Acciones:
Llenar la jarra de 4 litros con la bomba.
Llenar la jarra de 3 litros con la bomba.
Vaciar la jarra de 4 litros en el suelo.
Vaciar la jarra de 3 litros en el suelo.
Llenar la jarra de 4 litros con la jarra de 3 litros.
Llenar la jarra de 3 litros con la jarra de 4 litros.
Vaciar la jarra de 3 litros en la jarra de 4 litros.
Vaciar la jarra de 4 litros en la jarra de 3 litros.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Planteamiento del problema de las jarras
Aplicacin de acciones a un estado (x y)
Accin Llenar jarra de 3
Aplicabilidad: y<3 (precondicin)
Estado resultante: (x 3)
Accin Llenar jarra de 4 con jarra de 3
Aplicabilidad: x<4, y>0, x+y>4 (precondicin)
Estado resultante: (4 x+y-4)
Accin Vaciar jarra de 3 en jarra de 4
Aplicabilidad: y>0, x+y4 (precondicin)
Estado resultante: (x+y 0)
Anlogamente las dems acciones
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Planteamiento del problema del viaje
Enunciado:
Nos encontramos en una capital andaluza (p.e. Sevilla).
Deseamos ir a otra capital andaluza (p.e. Almera).
Los autobuses slo van de cada capital a sus vecinas.
HU
SE
JA
CO
CA
GR
AL
MA
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Formulacin del problema del viaje
8 posibles estados:
Almera, Cdiz, Crdoba, Granada, Huelva, Jaen, Mlaga,
Sevilla
Estado inicial: Sevilla.
Estado nal: Almeria.
Acciones:
Ir a Almera, Ir a Cdiz, Ir a Crdoba, Ir a Granada, Ir a
Huelva, Ir a Jan, Ir a Mlaga, Ir a Sevilla.
Ejemplo: aplicacin de Ir a Mlaga a un estado x
Aplicabilidad: x debe ser provincia vecina de Mlaga
Estado resultante: Mlaga
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Problemas de la vida real
Problemas de la vida real que se pueden plantear y
resolver como espacios de estados:
Bsqueda de rutas en redes informticas
Rutas areas para viajar
Problema del viajante
Diseo de microchips
Ensamblaje de componentes
Desplazamiento de robots
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda de soluciones en espacios de estados
Objetivo: encontrar una secuencia de acciones que,
partiendo del estado inicial, obtenga un estado nal
Idea bsica: exploracin del grafo del espacio de estados
En cada momento se analiza un estado actual (en un
principio, el inicial)
Si el estado actual es nal, acabar (recopilando la sucesin
de acciones)
En caso contrario, obtener los sucesores del estado actual
(expandir)
Elegir un nuevo estado actual, dejando los restantes para
analizarlos posteriormente (si fuera necesario)
Repetir el proceso mientras haya estados por analizar
La eleccin del estado actual en cada momento determina
una estrategia de bsqueda
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda de soluciones en espacios de estados
frontier
explored nodes
unexplored nodes
start
node
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
rboles de bsqueda
El proceso anterior puede verse como la construccin
incremental de un rbol de bsqueda
Ejemplo en el problema de las jarras:
(0 0)
(4 3)
(1 0)
(1 3) (3 0)
(3 3)
(4 0) (0 3)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
rboles de bsqueda
Nodo de un rbol de bsqueda, componentes:
Estado
Nodo padre (puntero)
Accin (la que se aplica al padre para obtenerlo)
Profundidad (nmero de acciones desde el nodo raiz)
Nodo raz del rbol de bsqueda: el correspondiente al
estado inicial
Nodos hoja del rbol de bsqueda:
Nodos cuya expansin no ha producido sucesores nuevos
Nodos pendientes de considerar (y expandir en su caso)
Ntese que es fcil calcular el camino (desde el nodo raz)
hasta el nodo
Espacio de estados vs. rbol de bsqueda:
Nodos del rbol de bsqueda: estado + cmo se llega
hasta l
El rbol se construye incrementalmente y reeja un
proceso de bsqueda sobre el grafo del espacio de estados
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Recordar: implementacin de un problema de espacio
de estados
Eleccin de una representacin (estructura de datos):
para los estados
para los acciones
La implementacin de un problema como espacio de
estados consta de:
Una variable
*
ESTADO-INICIAL
*
Almacena la representacin del estado inicial
Una funcin ES-ESTADO-FINAL(ESTADO)
Comprueba si un estado es nal o no
Una funcin ACCIONES(ESTADO).
Devuelve las acciones aplicables a un estado dado
Una funcin APLICA(ACCIN,ESTADO)
Obtiene el estado resultante de aplicar una accin a un
estado (se supone aplicable)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda (funciones auxiliares)
Nodo de bsqueda: estado + padre + accin + profundidad
Funciones de acceso: ESTADO(NODO), ANTECESOR(NODO),
ACCIN(NODO), PROFUNDIDAD(NODO)
Sucesores de un nodo:
SUCESOR(NODO,ACCIN) calcula el estado resultado de
aplicar ACCIN al estado asociado al NODO y devuelve un
NUEVO NODO
SUCESORES(NODO) toma SUCESORES igual a vaco, y
para cada ACCIN aplicable sobre el NODO, aade a
SUCESORES el resultado de SUCESOR(NODO,ACCIN)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de un procedimiento general de
bsqueda
FUNCION BUSQUEDA-GENERAL()
1. Hacer ABIERTOS la "cola" formada por el nodo inicial (es decir,
el nodo cuyo estado es
*
ESTADO-INICIAL
*
);
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
2.2 Hacer ABIERTOS el resto de ABIERTOS
2.3 Poner el nodo ACTUAL en CERRADOS.
2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.4.1 devolver el nodo ACTUAL y terminar.
2.4.2 en caso contrario,
2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos
de SUCESORES(ACTUAL) cuyo estado no est
ni en ABIERTOS ni en CERRADOS
2.4.2.2 Hacer ABIERTOS igual a
GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES)
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Procedimiento general de bsqueda: comentarios
La implementacin anterior es independiente del problema
ABIERTOS puede verse como una cola en la que esperan
los nodos para ser analizados (frontera de la bsqueda)
CERRADOS contiene los nodos ya analizados:
Permite no iniciar la bsqueda en estados analizados
En particular, nos permite evitar ciclos en el proceso de
bsqueda
En determinados problemas es prescindible
GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES):
Aade NUEVOS-SUCESORES a ABIERTOS, reordenando
segn algn criterio concreto
Distintas concreciones de esta funcin dan lugar a distintos
algoritmos de bsqueda (estrategias de bsqueda)
Bsqueda no informada o ciega vs. bsqueda informada
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades a estudiar de los algoritmos de bsqueda
Completitud: si existe solucin, la encuentra?
Solucin ptima o mnima: obtiene la solucin de menor
nmero de pasos o de menor coste?
Complejidad en tiempo: cunto se tarda en encontrar una
solucin?
Complejidad en espacio: cunta memoria necesitamos?
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Observaciones sobre la complejidad
Siempre en notacin O, considerando el peor caso
En funcin del tamao del problema de entrada: r
(mximo nmero de sucesores de un nodo, llamado factor
de ramicacin), p (mnima profundidad de una solucin) y
m (profundidad mxima en el rbol de bsqueda)
Complejidad en tiempo: nmero de nodos analizados
Complejidad en espacio: tamao mximo de ABIERTOS (y
CERRADOS) durante el proceso de bsqueda
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda en anchura
En la bsqueda en anchura, ABIERTOS se gestiona como
una cola (FIFO):
FUNCION BUSQUEDA-EN-ANCHURA()
1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo
cuyo estado es
*
ESTADO-INICIAL
*
)
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
2.2 Hacer ABIERTOS el resto de ABIERTOS
2.3 Poner el nodo ACTUAL en CERRADOS.
2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.4.1 devolver el nodo ACTUAL y terminar.
2.4.2 en caso contrario,
2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos
de SUCESORES(ACTUAL) cuyo estado no est
ni en ABIERTOS ni en CERRADOS
2.4.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES al final de ABIERTOS
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en anchura
1
2 3
4 5 6 7
8 9 10 11 12 13 14
15 16

Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en anchura
rbol de bsqueda en anchura en el problema de las
jarras:
(0 0)
1
(4 3)
4 5
(1 0)
7
(0 1)
9
(4 1)
11
(2 3)
13
(1 3) (3 0)
6
(3 3)
8
(4 2)
(0 2)
12
(2 0)
10
(4 0)
2
(0 3)
3
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en anchura
Bsqueda en anchura para el problema de las jarras:
Nodo Actual Sucesores Abiertos
((0 0))
1 (0 0) ((4 0) (0 3)) ((4 0) (0 3))
2 (4 0) ((4 3) (1 3)) ((0 3) (4 3) (1 3))
3 (0 3) ((3 0)) ((4 3) (1 3) (3 0))
4 (4 3) () ((1 3) (3 0))
5 (1 3) ((1 0)) ((3 0) (1 0))
6 (3 0) ((3 3)) ((1 0) (3 3))
7 (1 0) ((0 1)) ((3 3) (0 1))
8 (3 3) ((4 2)) ((0 1) (4 2))
9 (0 1) ((4 1)) ((4 2) (4 1))
10 (4 2) ((0 2)) ((4 1) (0 2))
11 (4 1) ((2 3)) ((0 2) (2 3))
12 (0 2) ((2 0)) ((2 3) (2 0))
13 (2 3)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda en anchura
Complejidad en tiempo O(r
p+1
), donde:
r: factor de ramicacin.
p: profundidad de la solucin ms corta.
1 + r + r
2
+ + r
p
=
r
p+1
1
r 1
= O(r
p+1
)
Complejidad en espacio O(r
p+1
).
Es completa.
Obtiene una solucin con el mnimo nmero de acciones.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Limitaciones de la bsqueda en anchura
Tiempo y espacio exponenciales, la hace muchas veces
inasumible en la prctica
Suponiendo ramicacin 10, 10
6
nodos por seg. y 1000
bytes por nodo:
Profundidad Nodos Tiempo Espacio
2 110 0.11 ms. 107 Kb
4 11110 11 ms. 10.6 Mb
6 10
6
1.1 s. 1 Gb
8 10
8
2 min. 103 Gb
10 10
10
3 horas 10 Tb
12 10
12
13 das 1 Pb
14 10
14
3.5 aos 99 Pb
16 10
16
350 aos 10 Eb
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda en profundidad
Bsqueda en profundidad, ABIERTOS se gestiona como una
pila (LIFO):
FUNCION BUSQUEDA-EN-PROFUNDIDAD()
1. Hacer ABIERTOS la pila formada por el nodo inicial (el nodo
cuyo estado es
*
ESTADO-INICIAL
*
)
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
2.2 Hacer ABIERTOS el resto de ABIERTOS
2.3 Poner el nodo ACTUAL en CERRADOS.
2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.4.1 devolver el nodo ACTUAL y terminar.
2.4.2 en caso contrario,
2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos
de SUCESORES(ACTUAL) cuyo estado no est
ni en ABIERTOS ni en CERRADOS
2.4.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES al principio de ABIERTOS
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 16

Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad
Arbol de bsqueda en profundidad para el problema de las
jarras:
(0 0)
1
(4 3)
(1 0)
(0 1)
(4 1)
(2 3)
(1 3)
(4 0)
2
(0 3)
3 4
6
7
8
5
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad
Tabla de bsqueda en profundidad para el problema de las
jarras:
Nodo Actual Sucesores Abiertos
((0 0))
1 (0 0) ((4 0) (0 3)) ((4 0) (0 3))
2 (4 0) ((4 3) (1 3)) ((4 3) (1 3) (0 3))
3 (4 3) () ((1 3) (0 3))
4 (1 3) ((1 0)) ((1 0) (0 3))
5 (1 0) ((0 1)) ((0 1) (0 3))
6 (0 1) ((4 1)) ((4 1) (0 3))
7 (4 1) ((2 3)) ((2 3) (0 3))
8 (2 3)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda en profundidad
No es completa (puede no terminar)
S lo es en espacios nitos
Cuando termina, no necesariamente obtiene una solucin
mnima.
Complejidad en tiempo O(r
m+1
), donde:
r: factor de ramicacin.
m: mxima profundidad de la bsqueda.
Complejidad en espacio:
en la implementacin dada anteriormente (que usa la lista
de CERRADOS), O(r
m+1
)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Observaciones sobre la complejidad en espacio
En la implementacin que se ha dado:
El mximo tamao de la lista de ABIERTOS es O(r m)
La complejidad exponencial la introduce la lista de
CERRADOS
Deteccin de ciclos en la bsqueda:
En algunos espacios de estados no hay posibilidad de
caminos cclicos (y por tanto no se necesita la lista de
CERRADOS para detectar ciclos)
En general, para detectar ciclos slo es necesario
almacenar los nodos de la rama que se est explorando en
cada momento
Es decir, es sencillo implementar una bsqueda en
profundidad que, an detectando ciclos, tiene complejidad
espacial O(r m)
Por tanto, en general consideraremos que la bsqueda en
profundidad tiene complejidad espacial O(r m)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad acotada
Podemos paliar en cierto modo la incompletitud de la
bsqueda en profundidad
Idea: no explorar caminos ms all de una determinada
longitud.
Problema: tampoco es completa, si la cota es menor de la
longitud de la solucin ms corta
Aunque en muchos casos se puede conocer de antemano
una cota adecuada.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda en profundidad
acotada
FUNCION BUSQUEDA-EN-PROFUNDIDAD-ACOTADA(COTA)
1. Hacer ABIERTOS la pila formada por el nodo inicial (el nodo
cuyo estado es
*
ESTADO-INICIAL
*
);
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
2.2 Hacer ABIERTOS el resto de ABIERTOS
2.3 Poner el nodo ACTUAL en CERRADOS.
2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.4.1 devolver el nodo ACTUAL y terminar.
2.4.2 en caso contrario, si PROFUNDIDAD(ACTUAL)
es menor que la cota,
2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos
de SUCESORES(ACTUAL) cuyo estado no est
ni en ABIERTOS ni en CERRADOS
2.4.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES al principio de ABIERTOS
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda en profundidad acotada
Complejidad en tiempo O(r
c
), donde:
r: factor de ramicacin
c: cota de la profundidad
Complejidad en espacio: O(rc)
En general, no es completa
Si la cota es demasiado pequea
Incluso si la cota se toma mayor que la longitud de una
solucin, la implementacin anterior podra no encontrar
solucin, debido a CERRADOS
La versin que no usa CERRADOS s es completa cuando la
cota es mayor que la profundidad de una solucin
No necesariamente obtiene una solucin mnima
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad iterativa
Cuando no se conoce la cota, una opcin para evitar la
incompletitud es realizar bsquedas acotadas,
incrementando la cota gradualmente
Implementacin de la bsqueda en profundidad iterativa
FUNCION BUSQUEDA-EN-PROFUNDIDAD-ITERATIVA(COTA-INICIAL)
1. Hacer N=COTA-INICIAL
2. Si BUSQUEDA-EN-PROFUNDIDAD-ACOTADA(N) no devuelve fallo,
2.1 devolver su resultado y terminar.
2.2 en caso contrario, hacer N igual a N+1 y volver a 2
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda en profundidad iterativa
Arbol de bsqueda en profundidad iterativa (problema de
las jarras):
(0 0)
(4 0)
1,2,5,11,19,29,41
3,6,12,20,30,42
(4 3)
7,13,21,31,43
(1 0)
(0 1)
(4 1)
(2 3)
(1 3)
8,14,22,32,44
15,23,33,45
24,34,46
48
(3 0)
(3 3)
(4 2)
(0 2)
(2 0)
(0 3)
10,17,26,37
18,27,38
40
28,39
35,47
4,9,16,25,36
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda en profundidad iterativa
Complejidad en tiempo O(r
p
), donde:
r: factor de ramicacin.
p: profundidad de solucin.
Complejidad en espacio, O(rp).
Es completa
Obtiene una solucin con el mnimo nmero de acciones
(en la versin que no usa CERRADOS)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda en profundidad iterativa
La bsqueda iterativa es el mtodo preferido si el espacio
de bsqueda es grande y no se conoce la profundidad de
la solucin
La redundancia en la expansin queda compensada con la
completitud
Adems, la redundancia no es signicativa
Ejemplo, r = 10 y p = 5:
Bsqueda acotada, nodos analizados:
1 + 10 + 100 + 1000 + 10000 + 100000 = 111111
Bsqueda iterativa, nodos analizados:
1 + 11 + 111 + 1111 + 11111 + 111111 = 123456
Tan slo un 10 % ms
Razn: la mayora de los nodos estn en el ltimo nivel del
rbol
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Comparacin de procedimientos
Anchura Profundidad
Profundidad
acotada
Profundidad
iterativa
Tiempo O(r
p+1
) O(r
m+1
) O(r
c+1
) O(r
p+1
)
Espacio O(r
p+1
) O(rm) O(rc) O(rp)
Completa S No S, si c >= p S
Mnima S No No S
r: factor de ramicacin.
p: profundidad de la solucin.
m: mxima profundidad de la bsqueda.
c: cota de la profundidad.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Espacio de estados con coste
En algunos problemas, existe un coste (positivo) asociado
a la aplicacin de los acciones.
coste-de-aplicar-accin(estado,accin).
Asumimos que accin es aplicable a estado.
Coste asociado a un camino:
Suma de los costes de la aplicacin de cada uno de sus
acciones.
Una solucin ptima es una solucin con coste mnimo.
En algunos problemas, no existe un coste explcito
En ese caso,
coste-de-aplicar-accin(estado,accin)=1, y
las soluciones ptimas son las minimales.
Coste en el problema del viaje: distancia eucldea entre
estado y aplica(accin,estado)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Idea de la bsqueda ptima
Analizar primero los nodos con menor coste.
Es decir, ordenar la cola de abiertos por coste, de menor a
mayor
De esta manera, cuando se llega por primera vez a un
estado, se llega con el menor coste posible.
Y en particular, la primera vez que se llega a un estado
nal tenemos una solucin ptima
Se trata de una bsqueda ciega o no informada:
No usa conocimiento para guiar la bsqueda hacia el
objetivo
Caso particular: bsqueda en anchura.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda ptima
Nodo de bsqueda: aadir el campo coste del camino
Funcin de acceso: COSTE-CAMINO(nodo)
Sucesores de un nodo con coste:
FUNCION SUCESOR(NODO,ACCIN)
1. Hacer ESTADO-SUCESOR igual a APLICA(ACCIN,ESTADO(NODO))
2. Devolver un nodo cuyo estado es ESTADO-SUCESOR, cuyo padre es NODO,
cuya accin es ACCIN, cuya profundidad es PROFUNDIDAD(NODO)+1 y
cuyo coste es COSTE-CAMINO(NODO) ms
COSTE-DE-APLICAR-ACCIN(ESTADO(NODO),ACCIN)
FUNCION SUCESORES(NODO)
1. Hacer SUCESORES igual a vaco
1. Para cada ACCIN en ACCIONES(ESTADO(NODO)),
incluir SUCESOR(NODO,ACCIN) en SUCESORES
3. Devolver SUCESORES
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda ptima
FUNCION BUSQUEDA-OPTIMA()
1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo con
estado
*
ESTADO-INICIAL
*
, camino vaco y coste 0);
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primero de ABIERTOS
Hacer ABIERTOS el resto de ABIERTOS
2.2 Poner el nodo ACTUAL en CERRADOS.
2.3 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.3.1 devolver el nodo ACTUAL y terminar.
2.3.2 en caso contrario,
2.3.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de
SUCESORES(ACTUAL) que o bien tienen un estado
que no aparece en los nodos de ABIERTOS ni de
CERRADOS, o bien su coste es menor que cualquier
otro nodo con el mismo estado que apareciera
en ABIERTOS o en CERRADOS
2.3.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES en ABIERTOS y ordenar
todo en orden creciente de los costes
de los caminos de los nodos
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
rbol de bsqueda ptima para el problema del viaje
Cdiz Crdoba Huelva Mlaga
1
Sevilla
C = 120.75
C = 0
C = 99.72 C = 88.04 C = 162.45
Granada
Almera Almera
Granada Jan
C = 257.28 C = 219.39
C = 370.38
C = 255.23
C = 361.49
2 3 4 5
6 7 8
9
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda ptima
Es completa (siempre que todos los costes individuales
sean mayores que un cierto > 0)
Complejidad en tiempo y espacio: O(r
1+[C/]
), donde C
es el coste de una solucin ptima.
Exponencial (es una generalizacin de la bsqueda en
anchura)
Siempre encuentra solucin ptima.
Salvo en espacios de estados pequeos, en la prctica
esta bsqueda no es posible, debido a la cantidad de
tiempo y espacio que necesita
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bsqueda informada
Bsqueda ciega o no informada (anchura,
profundidad,. . . ): no cuenta con ningn conocimiento
sobre cmo llegar al objetivo.
Bsqueda informada: aplicar conocimiento al proceso de
bsqueda para hacerlo ms eciente.
El conocimiento vendr dado por una funcin que estima
la bondad de los estados:
Dar preferencia a los estados mejores.
Ordenando la cola de ABIERTOS, comparando su bondad
estimada.
Objetivo: reducir el rbol de bsqueda, ganando eciencia
en la prctica.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Concepto de heurstica
Heurstica:
Del griego heuriskein, descubrir: Eureka!
Segn el DRAE: tcnica de la indagacin y del
descubrimiento.
Otro signicado: mtodo para resolver problemas que no
garantiza la solucin, pero que en general funciona bien.
En nuestro caso, una heurstica ser una funcin numrica
sobre los estados.
Funcin heurstica, heurstica(estado):
Estima la distancia al objetivo.
Siempre mayor o igual que 0.
Valor en los estados nales: 0.
Admitimos valor .
Todo el conocimiento especco que se va a usar sobre el
problema est codicado en la funcin heurstica.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Recordar: problema del viaje por Andaluca
Ir de Sevilla a Almera, mediante una secuencia de
desplazamientos a capitales de provincia fronterizas
8 posibles estados:
Almera, Cdiz, Crdoba, Granada, Huelva, Jaen, Mlaga,
Sevilla
Estado inicial: Sevilla.
Estado nal: Almeria.
Acciones:
Ir a Almera, Ir a Cdiz, Ir a Crdoba, Ir a Granada, Ir a
Huelva, Ir a Jan, Ir a Mlaga, Ir a Sevilla.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Una heurstica para el problema del viaje
Coordenadas:
Almeria : (409.5, 93 )
Granada : (309 ,127.5)
Malaga : (232.5, 75 )
Cadiz : ( 63 , 57 )
Huelva : ( 3 ,139.5)
Sevilla : ( 90 ,153 )
Cordoba : (198 ,207 )
Jaen : (295.5,192 )
Funcin heurstica (distancia en lnea recta):
heurstica(estado) =
distancia(coordenadas(estado),
coordenadas(almeria))
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Recordar: problema del 8-puzle
Un tablero cuadrado (3x3) en el que hay situados 8
bloques cuadrados numerados (con lo cual se deja un
hueco del tamao de un bloque). Un bloque adyacente al
hueco puede deslizarse hacia l. El juego consiste en
transformar una posicin inicial en la posicin nal
mediante el deslizamiento de los bloques. En particular,
consideramos el estado inicial y nal siguientes:
7 5
2 8 3
1 6 4 4
1 2 3
5 6 7
8
Estado final Estado inicial
Estados: cada una de las posibles conguraciones del
tablero
Acciones: arriba, abajo, izquierda, derecha (movimientos
del hueco)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Primera heurstica en el problema del 8puzle
Problema del 8-puzle (primera heurstica):
heurstica(estado): nmero de piezas descolocadas
respecto de su posicin en el estado nal
Ejemplo:
H = 0
7 5
2 8 3
1 6 4 4
1 2 3
5 6 7
8
H = 4
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Segunda heurstica en el problema del 8puzle
Problema del 8-puzle (segunda heurstica):
heurstica(estado): suma de las distancias Manhattan
de cada pieza a donde debera estar en el estado nal
Ejemplo:
7 5
2 8 3
1 6 4 4
1 2 3
5 6 7
8
H = 0 H = 5
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Idea de la bsqueda por primero el mejor
Bsqueda por primero el mejor:
Analizar preferentemente los nodos con heurstica ms
baja.
Ordenar la cola de abiertos por heurstica, de menor a
mayor
Tambin llamada bsqueda voraz o codiciosa (del ingls
greedy)
Porque siempre elige expandir lo que estima que est ms
cerca del objetivo
Su rendimiento depender de la bondad de la heurstica
usada.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda por primero el mejor
FUNCION BUSQUEDA-POR-PRIMERO-EL-MEJOR()
1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo
cuyo estado es
*
ESTADO-INICIAL
*
);
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
2.2 Hacer ABIERTOS el resto de ABIERTOS
2.3 Poner el nodo ACTUAL en CERRADOS.
2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.4.1 devolver el nodo ACTUAL y terminar.
2.4.2 en caso contrario,
2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos
de SUCESORES(ACTUAL) cuyo estado no est
ni en ABIERTOS ni en CERRADOS
2.4.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES en ABIERTOS y ordenar
en orden creciente de las heursticas
de los estados de los nodos
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Primero el mejor para el problema del viaje
Cdiz Crdoba Huelva Mlaga
2
1
Sevilla
H = 325.08
H = 348.37 H = 240.27 H = 409.15 H = 177.91
Granada
Almera Jan
4
3
H = 106.26
H = 150.99 H = 0
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
8puzle por primero el mejor: heurstica 1
1
7 5
2 8 3
1 6 4

H = 4
2
5
2 8 3
1 6 4
7
H = 5
7 5
2 8 3
1 4
6
H = 3
7
2 8 3
1 6 4
5
H = 5
5
2 8 3
4
7 6
1
H = 3
7 5
2 3
1 4
6
H = 3

8
7
2 8 3
1
6 5
4
H = 4
3
5
3
4
7 6
8
2 1
H = 3
5
2
4
6
H = 4
8 3
7 1
5
3
1 4
7 6
8
2
H = 2
7 5
2
1 4
6
3
8
H = 4
4
7 5
3
4
6
1 2
8
H = 0
3
4
5
H = 2
1 2
7 8
6
7 5
3
6
1 2
8 4
H = 1
5
6
7
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
8puzle por primero-el-mejor: heurstica 2
1
2
7 5
2 3
1 4
6
H = 3

8
7 5
2 8 3
1 6 4

H = 5
5
2 8 3
1 6 4
7
H = 6
7 5
2 8 3
1 4
6
H = 4
7
2 8 3
1 6 4
5
H = 6
5
2 8 3
4
7 6
1
H = 5
7
2 8 3
1
6 5
4
H = 5
3
5
3
1 4
7 6
8
2
H = 2
7 5
2
1 4
6
3
8
H = 4
7 5
3
4
6
1 2
8
H = 0
3
4
5
H = 2
1 2
7 8
6
7 5
3
6
1 2
8 4
H = 1
6
5
4
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de la bsqueda por primero el mejor
Complejidad en tiempo O(r
m
), donde:
r: factor de ramicacin.
m: profundidad mxima del rbol de bsqueda.
Complejidad en espacio: O(r
m
).
En la prctica, el tiempo y espacio necesario depende del
problema concreto y de la calidad de la heurstica usada
No es completa, en general.
Por ejemplo, una mala heurstica podra hacer que se
tomara un camino innito.
No es minimal (no garantiza soluciones con el menor
nmero de acciones).
La heurstica podra guiar hacia una solucin no minimal
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Uso de heursticas para buscar soluciones ptimas
Podemos usar bsqueda por primero el mejor para
acelerar la bsqueda y an estar seguro de obtener
soluciones ptimas? En general, NO.
Ejemplo 1:
I
A
C
E
B
D
H=5
H=4
H=2
H=1
H=0
H=1
H=5
2
2
1
2
1
1
3
G
Solucin encontrada por primero el mejor: I-A-C-E-G
(subptima)
Causa: la heurstica sobrestima el coste real
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Uso de heursticas para buscar soluciones ptimas
Ejemplo 2:
I
A
C
E
B
D
H=5
H=2
H=1
H=0
H=1
2
2
1
1
1
3
G
H=3
H=2
10
Solucin encontrada por primero el mejor: I-B-D-G
(subptima)
Causa: no se han tenido en cuenta los costes de los
caminos ya recorridos
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Idea de la bsqueda A

Objetivo de la bsqueda A

:
conseguir buenas soluciones (ptimas).
ganar en eciencia (reduciendo el rbol de bsqueda).
Idea: asignar a cada nodo n un valor f (n) = g(n) + h(n)
g(n): coste del camino hasta n
h(n): heurstica del nodo, estimacin del coste de un
camino ptimo desde n hasta un estado nal
f (n): estimacin del coste total de una solucin ptima que
pasa por n
Seleccionar siempre el nodo con menor valor de f
ordenando la cola de ABIERTOS en orden creciente
respecto a f
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Implementacin de la bsqueda A

FUNCION BUSQUEDA-A-ESTRELLA()
1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo cuyo
estado es
*
ESTADO-INICIAL
*
, cuyo camino es vaco, cuyo coste
es 0, y cuyo coste-ms-heurstica es HEURISTICA(
*
ESTADO-INICIAL
*
));
Hacer CERRADOS vaco
2. Mientras que ABIERTOS no est vaca,
2.1 Hacer ACTUAL el primer nodo de ABIERTOS
Hacer ABIERTOS el resto de ABIERTOS
2.2 Poner el nodo ACTUAL en CERRADOS.
2.3 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)),
2.3.1 devolver el nodo ACTUAL y terminar.
2.3.2 en caso contrario,
2.3.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de
SUCESORES(ACTUAL) que o bien tienen un estado
que no aparece en los nodos de ABIERTOS ni
de CERRADOS, o bien su coste es menor que
cualquier otro nodo con el mismo estado que
apareciera en ABIERTOS o en CERRADOS
2.3.2.2 Hacer ABIERTOS el resultado de incluir
NUEVOS-SUCESORES en ABIERTOS y ordenar
todo en orden creciente de
del coste+heurstica de los nodos
3. Devolver FALLO.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
rbol de bsqueda A

para el viaje
Cdiz Crdoba Huelva Mlaga
1
Sevilla
Granada
Almera
C+H = 361.01 C+H = 497.19 C+H = 340.36 C+H = 448.09
C+H = 361.49
C+H = 361.49
C+H = 325.08
Jan
C+H = 370.38
2 3
4
5
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de A

Sea h

(n) coste de un camino ptimo desde el estado de


n hasta un estado nal
f

(n) = g(n) + h

(n) coste total de una solucin ptima


que pasa por n
En la prctica, no conocemos h

Usamos una funcin heurstica h que estima h

Posibilidades:
Para todo nodo n, h(n) = 0: bsqueda ptima, no hay
reduccin del rbol de bsqueda
Para todo nodo n, h(n) = h

(n): estimacin perfecta, no


hay bsqueda
Para todo nodo n, 0 h(n) h

(n): heurstica admisible,


solucin ptima garantizada
Para algn nodo n, h(n) > h

(n): no se puede garantizar


que la solucin encontrada sea ptima
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Propiedades de A

Usando una heurstica admisible:


Es completa.
Encuentra siempre solucin ptima.
Complejidad en tiempo y en espacio: en el peor de los
casos, como la bsqueda ptima
En la prctica, el coste en tiempo y espacio depende del
problema particular y de la calidad de la heurstica usada
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Demostracin de que A

es ptimo
m
n
p
f(m)
h*(n)
g(n)
ABIERTOS
Sea m un nodo correspondiente a una solucin no ptima.
Vamos a probar que si la heurstica h es admisible, entonces el
nodo m nunca es el primero en la lista de ABIERTOS y por
tanto el algoritmo A

nunca devuelve m como solucin.


Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Demostracin de que A

es ptimo
m
n
p
f(m)
h*(n)
g(n)
ABIERTOS
Para ello, sea p un nodo correspondiente a una solucin
ptima y consideremos el camino que une el nodo inicial
con p.
Puesto que ABIERTOS siempre contiene a los nodos no
explorados, cualquier conjunto ABIERTOS que contenga a
m tambin contendr algn nodo del camino que une al
estado inicial con p. Llamaremos n a ese nodo.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Demostracin de que A

es ptimo
m
n
p
f(m)
h*(n)
g(n)
ABIERTOS
Puesto que m y n pertenecen al mismo conjunto ABIERTOS,
para ver que m nunca es el primero, basta ver que
f (n) < f (m). Vamos a probarlo.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Demostracin de que A

es ptimo
f (n) = g(n) + h(n) [Por denicin de f ]
g(n) + h

(n) [Por ser h admisible]


= g(p) [Por denicin de h

]
< g(m) [Por ser m nal no ptimo]
= g(m) + h(m) [m es nal, h(m) = 0]
= f (m) [Por denicin de f ]
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Invencin de heursticas
Recordar: estimacin del coste mnimo restante hasta un
estado nal
Comparacin de heursticas:
Si para todo nodo n, 0 h
1
(n) h
2
(n) h

(n),
entonces h
2
est ms informada que h
1
y mejora la
eciencia
Tcnicas para encontrar heursticas
Relajacin del problema
Combinacin de heursticas admisibles
Uso de informacin estadstica
Evaluacin eciente de la funcin heurstica
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Problema del laberinto
En el siguiente laberinto, se puede pasar desde una casilla
a otra de las posibles adyacentes (arriba, abajo, izquierda,
derecha), salvo si existe una barrera entre ellas
A B
C D E
K M N
P Q R T
I G
F
W
Objetivo: ir de I a F
Como ejercicio nal, resolveremos el problema aplicando
las bsquedas en profundidad, primero el mejor y A*
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Problema del laberinto como problema de espacio de
estados
Estados: A, B, C, D, E, G, I, W, K, M, N, P, Q, R, T y F
Estado inicial: I
Estado nal: F
Acciones: arriba, abajo, izquierda, derecha
Aplicabilidad y resultado de la aplicacin
Arriba es aplicable a un estado si existe una casilla arriba
y no est separada por barrera; el resultado de aplicarlo es
la casilla de arriba y su coste es 1
El resto de acciones, anlogamente
Consideraremos que los sucesores estn ordenados
alfabticamente
Heurstica (admisible): distancia Manhattan del estado a
la casilla F
Durante la bsqueda, y con igual valoracin, elegir por
orden alfabtico
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Laberinto: bsqueda en profundidad
C
A
B
D
1
I
R
Q
T
K
G W
P
M
F N
2
3
4
5
6
7
8
9
10
12
13
11
Solucin encontrada: I-Q-R-T-K-M-F
No es ptima
Nodos analizados: 13
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Laberinto: bsqueda primero el mejor
I
G Q W
P R
T
K
C M
D F N
H=4
H=5
H=3
H=3
H=4 H=2
H=1
H=2
H=3
H=1
H=2 H=2
H=0
1
2
3
4
5
6
7
Solucin encontrada: I-Q-R-T-K-M-F
No es ptima
Nodos analizados: 7
La heurstica ha servido para reducir el espacio de
bsqueda
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Laberinto: bsqueda A*
5
I
G Q
P R
T
K
1
2
3
4
W
C M
D F N
K
C+H=0+4
C+H=1+5
C+H=1+3
C+H=1+3
C+H=2+4 C+H=2+2 C+H=2+2
C+H=3+1 C+H=3+3
C+H=3+1
C+H=4+2 C+H=4+0
C+H=4+2
6
7
8
C+H=4+2
Solucin encontrada: I-W-K-M-F
ptima (heurstica admisible)
Nodos analizados: 8
Aunque en este caso se analizan ms nodos (se ha
explorado parcialmente un camino equivocado), la solucin
ptima est asegurada
Ntese que se generan dos nodos distintos con el mismo
estado K (pero distinto camino)
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bibliografa
Russell, S. y Norvig, P. Inteligencia articial: Un enfoque
moderno (segunda edicin) (Prentice Hall, 2004).
Cap. 3: Solucin de problemas mediante bsqueda
Russell, S. y Norvig, P. Articial Intelligence (A Modern
Approach) (PrenticeHall, 2010). Third Edition
Cap. 3: Solving problems by searching.
Espacios de estados Tcnicas bsicas de bsqueda en espacios de estados Bsqueda informada mediante tcnicas heursticas
Bibliografa complementaria
Luger, G.F. Articial Intelligence (Structures and Strategies
for Complex Problem Solving (4 edition) (AddisonWesley,
2002)
Cap. 3: Structure and strategies for state space search
Cap. 4: Heuristic search
Nilsson, N.J. Inteligencia articial (Una nueva sntesis)
(McGrawHill, 2001)]
Cap. 8: Bsqueda
Poole, D.; Mackworth, A. y Goebel, R. Computational
Intelligence (A Logical Approach) (Oxford University Press,
1998).
Cap. 4: Searching

También podría gustarte