Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase # 5
Bsqueda Heurstica
Dr. Wladimir Rodrguez
Postgrado de Computacin
ULA
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA HEURISTICA O
INFORMADA
Usan algn mtodo para controlar o guiar la bsqueda
Para que son utilizadas las heursticas?
Para ordenar la bsqueda (busqueda plausible) ver primero
los nodos mas prometedores
Para controlar el ancho de la bsquedaprobar ms en
profundidad que a lo ancho
Tipos de Heurstica:
Dirigidas por las metas conociendo que es lo que se quiere
alcanzar
Dirigidas por el conocimiento usando conocimiento
especifico del dominio para reducir la bsqueda
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA EL MEJOR
PRIMERO
Selecciona de la lista de nodos para su expansin el
mejor nodo
Requiere de una funcin de evaluacin f la cual
determinara numericamente que tan bueno es un nodo
dado. (asumir que valores mayores de f indican un mejor
nodo).
Garantia de encontrar una solucin debido a que todos
los nodos sucesores de un nodo son agregados tal como
en la bsqueda a lo ancho. Sin embargo, no garantiza
una respuesta ptima a menos que la funcin de
evaluacin sea escogida correctamente.
SemestreA
Dr.Wladimir
Inteligencia
Dr.Wladimir
Inteligencia
BUSQUEDA EL MEJOR
PRIMERO
Tambin conocida como bsqueda avara, cuando f(n)
es una funcin heurstica h(n) usada para estimar el costo
para alcanzar la meta desde el nodo actual. Mientras que
f no es necesariamente dirigida a la meta, h si lo es.
Para el 8-puzzle, f(n) podra ser el nmero de piezas en
la posicin correcta. A mayor nmero de piezas correctas
en algn estado, mejor ser el nodo que representa ese
estado.
Tambin podra ser la distancia manhattan para que
todas las piezas estn en la posicin correcta.
SemestreA
Dr.Wladimir
Inteligencia
8-PUZZLE
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA EL MEJOR
PRIMERO
Mejoras:
Computar f para cada sucesor en el momento de
la expansin, y almacenarlo con el nodo. Esto
significa que f es computada solamente una vez
por nodo.
Ordenar la lista para agregar los sucesores en la
posicin adecuada. Esto implica no tener que
seleccionar el mnimo cada vez.
SemestreA
Dr.Wladimir
Inteligencia
EJEMPLO
SemestreA
Dr.Wladimir
Inteligencia
EJEMPLO
SemestreA
Dr.Wladimir
Inteligencia
Bsqueda Avara
Es una bsqueda mejor el primero con
f(nodo)=h(nodo).
Funcin heurstica (h)
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
6
7
SemestreA
6
5
4
5
Dr.Wladimir
Inteligencia
6
77
SemestreA
6
5
00
Qu paso?
5
6
Dr.Wladimir
Inteligencia
Bsqueda ms Informada
La meta no es minimizar la distancia desde
el ltimo nodo en el camino hasta la meta,
lo que queremos es minimizar el largo
global del camino a la meta.
Dado g(N) como el costo del mejor camino
encontrado hasta el momento entre el nodo
inicial y N
f(N) = g(N) + h(N)
SemestreA
Dr.Wladimir
Inteligencia
5+6
5 4+7
4 3+8
3
6+1
6
1+100+11
3 2+9
2 1+10
1 0 1
5
2
7+0
7 6+1
6
8+1
7+26+3
8 7+2
7 6+35+4
6 5+44+5
5 4+53+6
4 3+62+7
3 2+73+8
2 3 4
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA EN ASCENSO DE
CIMA
Seguir el camino que parece estar mejorando ms
rpidamente.
Continuar mientras que el camino siga mejorando.
Necesita de una funcin local que indique que tan
bueno es el camino, conocida como funcin de
evaluacin (similar al f en el mejor primero).
Nunca retrocede.
Rpido, pero no garantiza encontrar una solucin.
La solucin encontrada no es necesariamente ptima.
Funciona si el camino a la solucin es monotnico.
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA ASCENSO A LA
CIMA
Es similar a la bsqueda el primero mejor, pero los
nodos son agregados en forma diferente.
El Mejor Primero:
Escoger para expandir el nodo con el valor de f mnimo.
Ascenso a la Cima:
Escoger el nodo de la lista de sucesores del ltimo nodo
expandido con el valor mnimo de f (una vez que se decide
expandir un nodo, solo considere sus sucesores y nunca trate
un camino alternativo).
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA ASCENSO A LA
CIMA
Problemas:
puede parase en
mnimos locales.
Planicies, no hay
mejora local en f,
por lo que puede
andar sin rumbo.
SemestreA
Dr.Wladimir
Inteligencia
COMPARACION
ASCENSO A LA
CIMA
EL MEJOR
PRIMERO
COSTO
UNIFORME
Garantiza una
solucin
No
Si (finito)
Si (finito)
Siempre para
Si
Si
Si
Optimo
No
Depende de f
Si
Cuando falla
Mnimos locales
Eficiencia
++
Requerimientos
especoales
Funcin de
evaluacin
Funcin de
evaluacin
SemestreA
Dr.Wladimir
Inteligencia
ENDURECIMIENTO SIMULADO
Un mtodo de descenso de gradiente como el ascenso
a la cima.
Usa aleatoriedad para remover los problemas de
mnimos locales.
Similar al proceso metalrgico de endurecimiento.
La temperatura es disminuida en el tiempo: a mayor T,
mayor la aleatoriedad de la seleccin del sucesor.
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA A*
Bsqueda ptima para solucin
ptima
Parecida a el mejor primero, con:
f(n) = g(n) + h(n)
donde:
g(n) = costo mnimo del camino desde
el nodo inicial al nodo n.
f(n) = costo mnimo estimado desde el
nodo n al nodo meta.
SemestreA
Dr.Wladimir
Inteligencia
BUSQUEDA A*
f, g, h son aproximaciones a los verdaderos
valores de f*, g*, h*, respectivamente.
Requiere conocer el costo de cada uno de los
movimentos, tal como en el costo uniforme,
para calcular g.
Requiere de una funcin de evaluacin
heurstica para juzgar que tan dficil es llegar
desde el nodo actual al nodo final.
SemestreA
Dr.Wladimir
Inteligencia
Notas sobre g
g se calcula a partir del costo actual del camino
recorrido hasta ese momento.
g se conoce exactamente mediante la suma de
todos costo del camino desde el inicip hasta el
nodo actual (como en el costo uniforme)
Si el espacio de bsqueda es un rbol, g = g*,
debido a que solo hay un camino desde el nodo
inicial al nodo actual.
SemestreA
Dr.Wladimir
Inteligencia
Notas sobre g
En general, el espacio de bsqueda ser un
grafo. En este caso, g >= g*, esto es, g nunca
puede ser menor que el costo del camino
ptimo. Solo puede sobreestimar el costo.
g puede ser = g* en un grafo si es escogida
apropiadamente.
SemestreA
Dr.Wladimir
Inteligencia
Notas sobre h
h es una informacin heurstica que representa una
aproximacin a que tan dficil es llegar desde el nodo actual
hasta el nodo meta.
Para que el algoritmo A* encuentre la solucin de costo mnimo:
h(n) debe ser >= 0.
h(n) debe ser <= h*(n), esto es, h nunca debe sobreestimar el
costo actual para alcanzar la meta desde el nodo actual.
Esto es conocido como la CONDICION DE AMSIBILIDAD.
(Si un algoritmo garantiza encontrar un camino solucin de
costo mnimo (si existe), entonces el es ADMISIBLE.)
SemestreA
Dr.Wladimir
Inteligencia
Ms notas sobre h
Si h = h* (heurstica perfecta), nunca se expandirn
nodos innecesarios.
Si h = 0, entonces A* se reduce al algoritmo de
bsqueda ciega de costo uniforme.
Meta: hacer h tan cercana como sea posible a h* sin
sobreestimar h.
Si h* >= h1(n) > h2(n),
h1 es ms informada que h2.
Dr.Wladimir
Inteligencia
EJEMPLO A*
Usar la menor distancia Euclidiana en lnea
recta como heurstica para h (admisible).
SemestreA
Dr.Wladimir
Inteligencia
Neamt
Oradea
71
Zerind
87
75
151
Arad
140
118
Sibiu
Timisoara
99
Lugoj
Faragas
Mehadia
97
Dobreta
120
SemestreA
Urziceni
101
138
98
Hirsova
86
Pitesti
146
75
142
211
Rimnicu
70
92
Vaslui
80
111
Iasi
Bucharest
86
90
Craiova
Giurgui
Dr.Wladimir
Eforie
Inteligencia
DLR
DLR
Mehadai
241
Neamt
234
Craiova
160
Oradea
380
Dobreta
242
Pitesti
98
Eforie
161
Rimnicu
193
Fagaras
178
Sibiu
253
Giurgiu
77
Timisoara
329
Hirsova
151
Urziceni
80
Iasi
226
Vaslui
199
Lugoj
244
Zerind
374
Bucharest
366
Ciudad
Se puede usar la distancia en lnea recta como una heurstica admisible ya que ella nunca
sobre estimar el costo hasta la meta. Debido a que no hay una distancia ms corta entre
SemestreA
Dr.Wladimir
Inteligencia
dos ciudades
que la distancia en lnea
recta.
Zerind
Oradea
F= 75 + 374
F= 291 + 380
F= 449
F= 671
F= 0 + 366
Arad
F= 366
Fagaras
Sibiu
F= 239 + 178
F= 417
F= 140 + 253
F= 118 + 329
F= 447
Timisoara
F= 220 + 193
F= 413
Bucharest(2)
F= 393
F= 450 + 0
Rimnicu
F= 450
Bucharest
F= 418 + 0
Pitesti
Craiova
F= 418
F= 317 + 98
F= 415
F= 366 + 160
F= 526
SemestreA
Dr.Wladimir
Inteligencia
Mapa de Rumania mostrando los contornos a f = 380, f = 400 and f = 420, con
Arad como estado inicial. Nota: Nodos dentro de un contorno dado tienen costos
de f menor que el valor del contorno.
Zerind
Oradea
380
Arad
420
400
Sibiu
Timisoara
Fagaras
Rimnicu
Bucharest
Pitesti
Craiova
SemestreA
Dr.Wladimir
Inteligencia
ALGORITMO A*
1) N lista de todos los nodos iniciales.
2) Si N esta vaco, no hay solucin.
3) Selecione n en N tal que f(n) = g(n) + h(n)
es minimo.
4) Si n es un nodo meta, fin meta encontrada.
5) De lo contrario, remueva n de N, y agregue
todos los hijos de n a N y vaya al paso 3.
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=4
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=4
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=4
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=4
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=4
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
5
7
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
5
4
5
7
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
5
4
5
7
SemestreA
Dr.Wladimir
Inteligencia
8-Puzzle
Cutoff=5
5
4
5
7
SemestreA
Dr.Wladimir
Inteligencia
JUEGOS
Crear programas en el computador para jugar
Emular el razonamiento humano en el computador
Construir sistemas que sean capaces de tomar
decisiones en un entorno adverso
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
Desarrollo Incompleto
Funcin de
evaluacin esttica
Lmites inferior y
superior
Valores
programados,
mximo y mnimo.
Desarrollo del NIM
con valores
programados.
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
SemestreA
Dr.Wladimir
Inteligencia
Complejidad en el NIM
Estados evaluados:
Empezando la mquina,
Con profundidad 20 y
Eligiendo el humano siempre 1.
8
Minimax
Minimax-a-b
12
16
20
192
16
2223
67
25472 291551
294
1023
SemestreA
Dr.Wladimir
Inteligencia
3 en raya: Evaluacin
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-3
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
0
0
0
-3
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
1
0
0
-3
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
1
0
-3
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
1
0
-3
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Ejemplo Alpha-Beta
1
0
-3
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia
Qu ganamos?
1
-3
1
1
-5
-5
-3
-5
0 5 -3 3 3 -3 0 2 -2 3 5 2 5 -5 0 1 5 1 -3 0 -5 5 -3 3 2
SemestreA
Dr.Wladimir
Inteligencia