Está en la página 1de 125

Búsqueda informada

• 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

• El análisis clínico es de tipo heurístico, se da una


estimación de su estado actual con respecto a la meta que
corresponde al de una persona saludable
• No es 100% seguro
Búsqueda informada

Heurística
• Problemas:
- Decidir qué ruta tomar para ir a algún sitio*
- Decidir el lugar para estacionarse

La heurística estima el valor real


Búsqueda informada

h1 h2 h3
Búsqueda informada

h1: costo estimado


de llegar a la meta
desde este nodo
h1 h2 h3
Búsqueda informada

h1 h2 h3

Si conociera los valores de


h, cuál de los tres nodos
escogería
Búsqueda informada

h1=6 h2=4 h3=10

Si conociera los valores de


h, cuál de los tres nodos
escogería
Búsqueda informada

h1 h3

Suponga que se llega a un


nodo meta, cuál debería ser
h4 h5 h6
el valor de la heurística en
este nodo?
Búsqueda informada

h1 h3

Suponga que se llega a un


nodo meta, cuál debería ser
h4 h5 h6
el valor de la heurística en
este nodo?

La heurística h(n) debe


ser 0 cuando n es un
nodo meta
Búsqueda informada

• Las heurísticas son criterios para decidir cuál entre


varias acciones promete ser la mejor para alcanzar una
meta

Arquímedes (287 – 212 a.c)


Hierón - Monarca de Siracusa
Búsqueda informada

8-puzzle

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

¿Cuál podría ser una heurística?


Búsqueda informada

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

¿Cuál está más distante de la meta? ¿Cómo lo sabe?


¿Cuál es el valor de la heurística en la meta?
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): 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

• Defina una heurística


Búsqueda informada

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

h(n): cantidad de pares de reinas que se atacan


Búsqueda informada

• Defina una heurística

3m 3c L
0m 0c
Búsqueda informada

• Defina una heurística

3m 2c 0m 2c
0m 1c L 3m 1c L

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

• Defina una heurística

3m 2c 0m 2c 0m 0c
0m 1c L 3m 1c L 3m 3c L

h(n): misioneros + caníbales en el lado inicial del rio


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
90 86
Mehadia
75 138 Giurgiu Eforie
Dobreta Craiova

¿Cuál podría ser una heurística?


Se cuenta con las coordenadas de las ciudades
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
90 86
Mehadia
75 138 Giurgiu Eforie
Dobreta Craiova

¿Cuál está más distante de la meta? ¿Cómo lo sabe?


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
90 86
Mehadia
75 138 Giurgiu Eforie
Dobreta Craiova

h(n): distancia en línea recta entre n y la ubicación de la meta


Búsqueda informada
Distancia en
Neamt línea recta a
87 Bucarest:
Arad 366
Oradea Iasi Bucarest 0
Zerind Craiova 160
71 151 92 Dobreta 242
Fagaras Vaslui Eforie 161
75 Sibiu 99
Arad 142 Fagaras 178
140 Giurgiu 77
118 80 211
Rimnicu Urziceni Hirsova 151
Iasi 226
Timisoara Vilcea 85 98 Lugoj 244
111 97
Pitesti Mehadia 241
Lugoj 101 Hirsova Neamt 234
70 146 BUCHAREST
86 Oradea 380
Mehadia 90 Pitesti 98
75 138 Giurgiu Eforie Rimnicu 193
Dobreta Craiova Sibiu 253
Timisoara 329
Urziceni 80
Vaslui 199
h(n): distancia en línea recta entre n y la ubicación de la meta Zerind 374
Búsqueda informada

• Defina una heurística

El triángulo mágico. Utilizando el operador intercambio(a,b) que


cambia de posición los números a y b, colocarlos de tal forma que la
suma sobre cada lado sea 20.

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

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

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

h(n): cantidad de lados que no suman 20


5 1

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

¿Cuál podría ser una heurística?


Entre diferentes estados del ambiente, ¿cómo
saber cuál está más distante de la meta?
Búsqueda informada

Cubo de Rubik

¿Cuál podría ser una heurística?


Entre diferentes estados del ambiente, ¿cómo
saber cuál está más distante de la meta?
Búsqueda informada

Cubo de Rubik

¿Cuál podría ser una heurística?


Entre diferentes estados del ambiente, ¿cómo
saber cuál está más distante de la meta?
Búsqueda informada

Estrategias de búsqueda informada


• Avara
• A*
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é
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é

- Intenta reducir al mínimo el costo estimado para lograr


una meta
Búsqueda informada
Distancia en
Neamt línea recta a
Bucarest:
Iasi Arad 366
Oradea Bucarest 0
Craiova 160
Zerind Vaslui Dobreta 242
Sibiu
Fagaras Eforie 161
Arad Fagaras 178
Giurgiu 77
Rimnicu Urziceni Hirsova 151
Timisoara Iasi 226
Lugoj 244
Lugoj Pitesti Hirsova Mehadia 241
Neamt 234
BUCHAREST Oradea 380
Mehadia Pitesti 98
Giurgiu
Eforie Rimnicu 193
Craiova Sibiu 253
Dobreta Timisoara 329
Urziceni 80
Vaslui 199
Zerind 374
h(n): distancia en línea recta entre n y la ubicación de la meta

No evite devolverse
Búsqueda informada

No evite devolverse Arad


h=366
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
AradSibiuFagarasBucarest
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
AradSibiuFagarasBucarest
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 costo real de la solución


AradSibiuFagarasBucarest es 450
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

¿Es ésta la solución óptima?


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 óptimo es
AradSibiuRimnicuPitestiBucarest
porque tiene costo 418
Búsqueda informada

• La búsqueda avara no es óptima


Búsqueda informada

El ratón inteligente

0 1 2 3 4 5

h(n): suma de las distancias horizontales y verticales


para alcanzar la salida. Distancia de Manhattan
Búsqueda informada

• Construya el árbol para ir de Iasi a Fagaras


No evite devolverse
Búsqueda informada

• Construya el árbol para ir de Iasi a Fagaras


No evite devolverse Distancia en
Neamt línea recta a
87 Fagaras:
Iasi Fagaras 0
Oradea Iasi 160
Neamt 150
Zerind 71 151 92 Urziceni 155
Fagaras Vaslui Vaslui 170
75 Sibiu 99
Arad 140 142
118 80 211
Rimnicu Urziceni
Timisoara 85
97 98
111 Pitesti
Lugoj Hirsova
70 146 101 BUCHAREST
Mehadia 90 86
75 138 Giurgiu Eforie
Craiova
Dobreta
Búsqueda informada

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

• La búsqueda avara no es completa


Búsqueda informada

8-puzzle

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

h(n): cantidad de piezas ubicadas en el lugar incorrecto


(teniendo en cuenta la placa vacía)
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
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

Complete el árbol de búsqueda


No evite devolverse
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
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

• Aplicar búsqueda avara


No evite devolverse 0m 3c L
3m 0c
Búsqueda informada

• Aplicar búsqueda avara

0m 3c L
3m 0c
<0,2> <0,1>

0m 1c 0m 2c
3m 2c L 3m 1c L
1 2

<0,2> <0,1> <1,0>

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

• Definir una heurística


• Aplicar búsqueda avara
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

• Definir una heurística

Meta:
Búsqueda informada

• Definir una heurística

Meta:

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

• Definir una heurística

Meta:

h: cantidad de símbolos en el lugar incorrecto

h: 1 h: 2
Búsqueda informada

• Aplicar búsqueda avara

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

• Definir una heurística


• Aplicar búsqueda avara

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

• Definir una heurística


• Aplicar búsqueda avara
0 1 2 3 4 5 6
0
1 M
2
3
4
5

¿Cuál está más distante de la meta?


¿Cómo lo sabe?
Búsqueda informada

• Definir una heurística


• Aplicar búsqueda avara
0 1 2 3 4 5 6
0
1 M
2
3
4
5

h(n): suma de las distancias horizontales y verticales


para alcanzar la salida. Distancia de Manhattan
Búsqueda informada

• Definir una heurística


• Aplicar búsqueda avara
0 1 2 3 4 5 6
0
1 M
2
3
4
5
Búsqueda informada

Aplicar búsqueda Avara


0 1 2 3
0
Agente Minero. Indique el 1
camino que sigue el agente. 2

No evite devolverse

Punto de inicio (0,1)

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

Aplicar búsqueda Avara


0 1 2
El ratón inteligente. 0
- Llegar a una casilla libre cuesta 1 1

- Llegar a una casilla donde hay gato 2


cuesta 5 3
- Llegar a una casilla donde hay 4
ratonera cuesta 3

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

• Completitud: no, puede caer en ciclos


• Complejidad temporal: O(bd), exponencial
• Complejidad espacial: O(bd), exponencial
• Solución óptima: no, la función heurística no garantiza
la solución óptima
Búsqueda informada

• ¿Cuál es la diferencia entre costo uniforme y avara?


Búsqueda informada

• ¿Cuál es la diferencia entre costo uniforme y avara?

g1 g2 g3 h1 h2 h3
Búsqueda informada

• ¿Cuál es la diferencia entre costo uniforme y avara?

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

Adamclisi Oradea Iasi

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

Adamclisi Oradea Iasi


g=239
g=170 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

Adamclisi Oradea Iasi


g=239
g=170 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

Adamclisi Oradea Iasi


h=178
h=420 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

Adamclisi Oradea Iasi


h=178
h=420 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

Adamclisi Oradea g+h Iasi


239+178=417
g+h Zerind
Fagaras Vaslui
Sibiu
170+420=590 Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau

Brasov
Iulia
Neamt

Adamclisi Oradea g+h Iasi


239+178=417
g+h Zerind
Fagaras Vaslui
Sibiu
170+420=590 Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Costo estimado de una solución
Bacau

Brasov
Iulia
Neamt

Adamclisi Oradea g+h Iasi


239+178=417
g+h Zerind
Fagaras Vaslui
Sibiu
170+420=590 Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
g =15.000, h =60.000 g =10.000, h =80.000

g =20.000, h =50.000 g =180.000, h =10.000


Búsqueda informada
Cisnadie
Bacau

Brasov
Iulia
Neamt

Adamclisi Oradea g+h Iasi


239+178=417
g+h Zerind
Fagaras Vaslui
Sibiu
170+420=590 Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau

Brasov
Iulia
Neamt

Adamclisi Oradea g+h Iasi


220+178=417
g+h Zerind
Fagaras Vaslui
Sibiu
170+420=590 Arad
Rimnicu Urziceni
Timisoara
Lugoj Pitesti
Hirsova
Bucarest
Mehadia
Giurgiu
Eforie
Dobreta Craiova
Búsqueda informada
Cisnadie
Bacau

Brasov
Iulia
Neamt

Adamclisi Oradea Iasi

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

Adamclisi Oradea Iasi

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

Adamclisi Oradea Iasi

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

f(n) = g(n) + h(n)


Búsqueda informada

Aplicar A*
0 1 2 3
0
Agente Minero. Indique el 1
camino que sigue el agente. 2
No evite devolverse

Punto de inicio (0,1)

Lingote
(0,0)1+5 (0,2) 1+3
(0,1)

(0,0)1+5 (0,2)1+3

(1,0)2+4 (0,1)2+4 (0,1)2+4 (0,3)2+2

(2,0) 3+3 (0,0)3+5 (0,2)3+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

(1,0)2+4 (0,1)2+4 (0,1)2+4 (0,3)2+2

(2,0) 3+3 (0,0)3+5 (0,2)3+3

(1,0)4+4 (2,1)4+2 (0,1)4+4 (0,3)4+2

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
SibiuRimnicuPitestiBucarest 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

- Llegar a una casilla donde hay gato 2


cuesta 5 3
- Llegar a una casilla donde hay 4
ratonera cuesta 3

Evite devolverse
Compare el resultado con Avara
(0,2)

(0,1) 3+4 (1,2) 1+4

0 1 2
0
1
2
3

4
(0,2)

(0,1) 3+4 (1,2) 1+4

(1,1) 6+3 (2,2)2+3

(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)

(0,1) 3+4 (1,2) 1+4

(0,0)4+5 (1,1) 8+3 (1,1) 6+3 (2,2)2+3

(1,0)5+4 (2,1)7+2 (3,2)5+2

(1,1) 10+3 (2,0)6+3 0 1 2 (3,1)10+1 (4,2)10+1


0
1
(2,1) 11+2 (3,0) 7+2
2
(4,0)8+1 (3,1)12+1 3
* 4
(4,1)9+0
Búsqueda informada

Aplique A* para ir de Iasi a Fagaras


Distancia en
Neamt línea recta a
87 Fagaras:
Bucarest 185
Oradea Iasi Fagaras 0
Giurgiu 182
Zerind 71 92 Iasi 160
151
Fagaras Vaslui Hirsova 190
75 Sibiu 99 Pitesti 170
Arad 140 142 Neamt 150
118 80 211 Urziceni 178
Rimnicu Urziceni
Vaslui 170
Timisoara Vilcea 85 98
111 97
Pitesti
Lugoj 101 Hirsova
70 146 BUCHAREST
90 86
75 138 Giurgiu Eforie
Mehadia
Craiova
Búsqueda informada

• 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)

1+2 1+2 1+2 1+2 1+3 1+3


I(1,2) I(2,3) I(3,4) I(4,5) S(1) S(5)

1+2 1+2 1+2 1+2 1+3 1+3

I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)

2+2 2+3 2+2 2+2 2+2 2+3


I(1,2) I(2,3) I(3,4) I(4,5) S(1) S(5)

1+2 1+2 1+2 1+2 1+3 1+3

I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)

2+2 2+3 2+2 2+2 2+2 2+3

I(1,2) I(2,3) I(3,4) I(4,5) S(4) S(5)

2+2 2+2 2+1 2+2 2+1 2+3


I(1,2) I(2,3) I(3,4) I(4,5) S(1) S(5)

1+2 1+2 1+2 1+2 1+3 1+3

I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)

2+2 2+3 2+2 2+2 2+2 2+3

I(1,2) I(2,3) I(3,4) I(4,5) S(4) S(5)

2+2 2+2 2+1 2+2 2+1 2+3

I(1,2) I(2,3) I(3,4) I(4,5) S(4) S(5)

3+1 3+0 3+2 3+1 3+2 3+2


I(1,2) I(2,3) I(3,4) I(4,5) S(1) S(5)

1+2 1+2 1+2 1+2 1+3 1+3

I(1,2)
I(2,3) I(3,4) I(4,5) S(1) S(5)

2+2 2+3 2+2 2+2 2+2 2+3

I(1,2) I(2,3) I(3,4) I(4,5) S(4) S(5)

2+2 2+2 2+1 2+2 2+1 2+3

I(1,2) I(2,3) I(3,4) I(4,5) S(4) S(5)

3+1 3+0 3+2 3+1 3+2 3+2


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 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

También podría gustarte