Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Búsqueda no informada:
- Costo en tiempo
- Costo en espacio
• ¿Cómo mejorar la búsqueda?
- Seleccionar mejor entre los nodos de un árbol
Búsqueda informada
Función heurística
• Una heurística es una función que asigna a cada nodo un
valor que corresponde al costo estimado de llegar a la
meta estando en dicho nodo
• Se denota por h(n)
Búsqueda informada
Heurística
• Problemas:
- Decidir qué ruta tomar para ir a algún sitio*
- Decidir el lugar para estacionarse
h1 h2 h3
Búsqueda informada
h1 h2 h3
h1 h3
h1 h3
8-puzzle
7 8 3 1 2 3
2 1 6 4 5 6
5 4 7 8
8-puzzle
7 8 3 1 2
2 1 6 4 5 6
5 4 7 8 3
¿Cuál está más distante de la meta?
¿Cómo lo sabe?
Búsqueda informada
8-puzzle
7 8 3 1 2 1 2 3
2 1 6 4 5 6 4 5 6
5 4 7 8 3 7 8
8-puzzle
7 8 3 1 2 1 2 3
2 1 6 4 5 6 4 5 6
5 4 7 8 3 7 8
h(n): cantidad de placas en la posición incorrecta
Búsqueda informada
8-puzzle
7 8 3 1 2 1 2 3
2 1 6 4 5 6 4 5 6
5 4 7 8 3 7 8
h(n)=7 h(n)=2 h(n)=0
Búsqueda informada
3m 3c L
0m 0c
Búsqueda informada
3m 2c 0m 2c
0m 1c L 3m 1c L
3m 2c 0m 2c 0m 0c
0m 1c L 3m 1c L 3m 3c L
9 2
8 3
7 6 5 4
Búsqueda informada
5 1
1 4 9 2
9 6 8 3
2 7 3 8 7 6 5 4
5 1
1 4 9 2
9 6 8 3
2 7 3 8 7 6 5 4
Búsqueda informada
5 1
1 4 9 2
9 6 8 3
2 7 3 8 7 6 5 4
1 4 h=2 h=3 9 2
9 6 8 3
2 7 3 8 7 6 5 4
4 1
h=0
9 6
2 7 3 8
Búsqueda informada
Heurística
• La utilización de heurísticas en los métodos de búsqueda
permiten reducir el espacio de estados a expandir en la
construcción del árbol
Búsqueda informada
Cubo de Rubik
Cubo de Rubik
Cubo de Rubik
Búsqueda Avara
• Expandir el nodo con menor h(n), esto es, aquel que
parece estar más cerca de la meta sin importar a qué
profundidad esté
Búsqueda informada
Búsqueda Avara
• Expandir el nodo con menor h(n), esto es, aquel que
parece estar más cerca de la meta sin importar a qué
profundidad esté
No evite devolverse
Búsqueda informada
Arad
h=366
Sibiu Zerind
h=253 Timisoara h=374
h=329
Búsqueda informada
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Búsqueda informada
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Sibiu
h=253 Bucharest
h=0
Búsqueda informada
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Sibiu
h=253
* Bucharest
h=0
El camino obtenido es
AradSibiuFagarasBucarest
Búsqueda informada
Neamt
87
Oradea Iasi
Zerind 71 92
151 Vaslui
75 99 Fagaras
Sibiu
Arad 140 142
118 80 211
Rimnicu Urziceni
Timisoara 85 98
111 97
Lugoj Pitesti
101 Hirsova
70 146 BUCHAREST
90 86
Mehadia
75 138 Giurgiu Eforie
Dobreta Craiova
El camino obtenido es
AradSibiuFagarasBucarest
Búsqueda informada
Neamt
87
Oradea Iasi
Zerind 71 92
151 Vaslui
75 99 Fagaras
Sibiu
Arad 140 142
118 80 211
Rimnicu Urziceni
Timisoara 85 98
111 97
Lugoj Pitesti
101 Hirsova
70 146 BUCHAREST
90 86
Mehadia
75 138 Giurgiu Eforie
Dobreta Craiova
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Sibiu
h=253
* Bucharest
h=0
El camino óptimo es
AradSibiuRimnicuPitestiBucarest
porque tiene costo 418
Búsqueda informada
El ratón inteligente
0 1 2 3 4 5
Iasi
h=160
Búsqueda informada
Iasi
h=160
Neamt Vaslui
h=150 h=170
Búsqueda informada
Iasi
h=160
Neamt Vaslui
h=150 h=170
Iasi
h=160
Búsqueda informada
Iasi
h=160
Neamt Vaslui
h=150 h=170
Iasi
h=160
Vaslui
Neamt
h=170
h=150
Búsqueda informada
8-puzzle
7 4 3 1 2 3
2 5 6 4 5 6
1 8 7 8
1 5 2
4 3
7 8 6
1 5 2 1 2 1 5 2 1 5 2
4 3 4 5 3 4 3 4 8 3
7 8 6 7 8 6 7 8 6 7 6
Búsqueda informada
1 5 2
4 3
7 8 6
1 5 2 1 2 1 5 2 1 5 2
4 3 4 5 3 4 3 4 8 3
7 8 6 7 8 6 7 8 6 7 6
h=? h=?
Búsqueda informada
1 5 2
4 3
7 8 6
1 5 2 1 2 1 5 2 1 5 2
4 3 4 5 3 4 3 4 8 3
7 8 6 7 8 6 7 8 6 7 6
h=6 h=4
1 5 2 1 2 1 5 2 1 5 2
4 3 4 5 3 4 3 4 8 3
7 8 6 7 8 6 7 8 6 7 6
6 4 5 6
1 2 1 5 2 1 2
4 5 3 4 3 4 5 3
7 8 6 7 8 6 7 8 6
3 5 5
1 2 1 2 3
4 5 3 4 5
7 8 6 7 8 6
4 2
1
*
2 3 1 2 1 2 3
4 5 6 4 5 3 4 5
7 8 7 8 6 7 8 6
0 3 3
Búsqueda informada
0m 3c L
3m 0c
<0,2> <0,1>
0m 1c 0m 2c
3m 2c L 3m 1c L
1 2
0m 3c L 0m 2c L 1m 1c L
3m 0c 3m 1c 2m 2c
3 2 2
<0,2> <0,1>
0m 0c
* 0m 1c
3m 3c L 3m 2c L
0 1
Búsqueda informada
Operadores
• I(x,y). Intercambiar los símbolos en las posiciones X y Y.
Estos símbolos debe estar adyacentes. Se pueden hacer
intercambios con la casilla vacía
• S(x). Saltar, permite que el símbolo en la casilla x llegue a la
casilla vacía. No se puede saltar a una casilla adyacente
Búsqueda informada
Meta:
Búsqueda informada
Meta:
Meta:
h: 1 h: 2
Búsqueda informada
Meta:
1 2 3 4 5
Operadores
• I(x,y). Intercambiar los símbolos en las posiciones X y Y.
Estos símbolos debe estar adyacentes. Se pueden hacer
intercambios con la casilla vacía
• S(x). Saltar, permite que el símbolo en la casilla x llegue a la
casilla vacía. No se puede saltar a una casilla adyacente
Búsqueda informada
S(5)
3
I(1,2) I(2,3) I(3,4) I(4,5) S(3) S(4)
2 3 1 2 2 1
S(5)
2
I(1,2)
I(2,3) I(3,4) I(4,5) S(3) S(4)
1 1 2 1 0 2
*
Búsqueda informada
No evite devolverse
Lingote
(0,0)5 (0,2)3
• Utilice Manhattan
Búsqueda informada
0 1 2 3
(0,1)
0
1
(0,0)5 (0,2)3 2
(0,1) 4 (0,3)2
(0,2)3
(0,1) 4 (0,3)
2
Búsqueda informada
0 1 2 3
(0,1)
0
1
(0,0)5 (0,2)3 2
(0,1) 4 (0,3)2
Búsqueda avara se queda en un ciclo
(0,2)3
(0,1) 4 (0,3)
2
Búsqueda informada
Evite devolverse
• Utilice Manhattan
(0,2)
(0,1) 4 (1,2) 4
(1,1) 3 (2,2)3
0 1 2
(2,1)2 (3,2)2
0
1
2 (3,1)1 (4,2) 1
3
4
(4,1)*0
Búsqueda informada
Implementación
• Se puede implementar considerando la lista de nodos a
expandir como una cola de prioridad, donde la prioridad
es el valor de la heurística
Búsqueda informada
g1 g2 g3 h1 h2 h3
Búsqueda informada
g1 g3 h1 h2
g4 g5 g6 h4 h5 h6
Búsqueda informada
g1 g3 h1 h2
g4 g5 g6 h4 h5 h6
0 1 2 3
0
1
2
3
4
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Zerind
Fagaras Vaslui
Sibiu
Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Brasov
Iulia
Neamt
Brasov
Iulia
Neamt
Brasov
Iulia
Neamt
Brasov
Iulia
Neamt
Brasov
Iulia
Neamt
Zerind
Fagaras Vaslui
Sibiu
Arad
239+193=432 Urziceni
Rimnicu
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Zerind
Fagaras Vaslui
Sibiu
Arad
Rimnicu Urziceni
Timisoara 317+98=415
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau
Brasov
Iulia
Neamt
Zerind
Fagaras Vaslui
Sibiu
Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia 418+0=418
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Algoritmo A*
• Tiene en cuenta que:
- La búsqueda de costo uniforme reduce g(n), el
costo de llegar hasta el nodo n
- La búsqueda avara reduce h(n), el costo hacia la
meta
Búsqueda informada
Algoritmo A*
• Expandir el nodo con menor f(n), esto es, aquel con el
menor costo estimado para la solución
Aplicar A*
0 1 2 3
0
Agente Minero. Indique el 1
camino que sigue el agente. 2
No evite devolverse
Lingote
(0,0)1+5 (0,2) 1+3
(0,1)
(0,0)1+5 (0,2)1+3
0 1 2 3
(1,0)4+4 (2,1)4+2 0
1
2
(2,0)5+3 (2,2)5+1
(2,1)6+2 (2,3)*6+0
(0,1)
(0,0)1+5 (0,2)1+3
0 1 2 3
(2,0)5+3 (2,2)5+1 0 (0,2)5+3
1
2
(2,1)6+2 (2,3)*6+0
Búsqueda informada
Distancia en
Neamt línea recta a
87 Bucarest:
Arad 366
Oradea Iasi Bucarest 0
Craiova 160
Zerind 71 92 Dobreta 242
151 Vaslui
75 Sibiu 99 Fagaras Eforie 161
Arad 142 Fagaras 178
140 Giurgiu 77
118 80 211
Rimnicu Urziceni Hirsova 151
Iasi 226
Timisoara 85 98 Lugoj 244
111 97
Pitesti Mehadia 241
Lugoj 101 Hirsova Neamt 234
70 146 BUCHAREST
86 Oradea 380
90 Pitesti 98
75 138 Giurgiu Eforie Rimnicu 193
Mehadia
Craiova Sibiu 253
Timisoara 329
Urziceni 80
Problema: ir de Sibiu a Bucarest Vaslui 199
Zerind 374
Evite devolverse
Aplique A*
Búsqueda informada
Sibiu
Rimnicu Fagaras
f=80+193 f=99+178
f=273 f=277 Arad Oradea
f=140+366 f=151+380
f=506 f=531
Búsqueda informada
Sibiu
Rimnicu Fagaras
f=80+193 f=99+178
f=273 f=277 Arad Oradea
f=140+366 f=151+380
Craiova Pitesti f=506 f=531
f=226+160 f=177+98
f=386 f=275
Búsqueda informada
Sibiu
Rimnicu Fagaras
f=80+193 f=99+178
f=273 f=277 Arad Oradea
f=140+366 f=151+380
Craiova Pitesti f=506 f=531
f=226+160 f=177+98
f=386 f=275
Craiova Bucarest
f=315+160 f=278+0
f=475 f=278
Búsqueda informada
Sibiu
Rimnicu Fagaras
f=80+193 f=99+178
f=273 f=277 Arad Oradea
f=140+366 f=151+380
Craiova Pitesti Bucarest f=506 f=531
f=226+160 f=177+98 f=310+0
f=386 f=275 f=310
Craiova Bucarest
f=315+160 f=278+0
f=475 f=278
Búsqueda informada
Sibiu
Rimnicu Fagaras
f=80+193 f=99+178
f=273 f=277 Arad Oradea
f=140+366 f=151+380
Craiova Pitesti Bucarest f=506 f=531
f=226+160 f=177+98 f=310+0
f=386 f=275 f=310
Craiova Bucarest*
f=315+160 f=278+0
f=475 f=278
Búsqueda informada
Neamt
87
Oradea Iasi
Zerind 71 92
151 Vaslui
75 99 Fagaras
Sibiu
Arad 140 142
118 80 211
Rimnicu Urziceni
Timisoara 85 98
111 97
Pitesti
Lugoj 101 Hirsova
70 146 BUCHAREST
Mehadia 90 86
75 138 Giurgiu Eforie
Dobreta Craiova
La solución obtenida es
SibiuRimnicuPitestiBucarest que tiene
costo 278 y es la óptima
Búsqueda informada
Aplicar A*
0 1 2
El ratón inteligente. 0
- Llegar a una casilla libre cuesta 1 1
Evite devolverse
Compare el resultado con Avara
(0,2)
0 1 2
0
1
2
3
4
(0,2)
(2,1)7+2 (3,2)5+2
0 1 2 (3,1)10+1 (4,2)10+1
0
1
2
3
4
(0,2)
• Aplicar A*
0 1 2 3 4 5 6
0
1 M
2
3
4
5
Búsqueda informada
Aplicar A*
Meta:
1 2 3 4 5
Operadores
• I(x,y). Intercambiar los símbolos en las posiciones X y Y.
Estos símbolos debe estar adyacentes. Se pueden hacer
intercambios con la casilla vacía. Costo 1.
• S(x). Saltar, permite que el símbolo en la casilla x llegue a la
casilla vacía. Costo 1.
I(1,2) I(2,3) I(3,4) I(4,5) S(1) S(5)
I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)
I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)
I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)
I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)
Implementación
• Se puede implementar considerando la lista de nodos a
expandir como una cola de prioridad, donde la prioridad
es el valor de f(n) y se selecciona aquel con menor
prioridad
Búsqueda informada
Algoritmo A*
• La estrategia es completa y óptima si se cumple que la
heurística h(n) sea admisible