Tema3b_ busqueda_cie..

Download Report

Transcript Tema3b_ busqueda_cie..

BUSQUEDA
ESTRATEGIAS DE BUSQUEDA A CIEGAS
1
•
Algoritmos de búsqueda ciega
(desinformada)
mindless search
 Búsqueda en amplitud
• Búsqueda en profundidad
• Profundización iterativa
• Búsqueda con costo uniforme
2
Búsqueda Primero en Amplitud
Se basa en desarrollar completamente cada nivel del
Arbol antes de pasar a desarrollar la siguiente
Depth 0
Depth 1
Depth 2
3
Búsqueda Primero en Amplitud
Depth 0
Depth 1
Depth 2
4
Búsqueda Primero en Amplitud
Depth 0
Depth 1
Depth 2
5
Búsqueda Primero en Amplitud
• Expandir el más chato - menos profundo “nodo sin expandir”
Arad
Arad
Zerind
Sibiu
Timisoara
6
Búsqueda Primero en Amplitud
Arad
Zerind
Arad
Sibiu
Timisoara
Oradea
7
Búsqueda Primero en Amplitud
Arad
Zerind
Arad
Oradea
Sibiu
Arad
Timisoara
Oradea
Fagaras
Rimnicu
Vilcea
8
Búsqueda Primero en Amplitud
Arad
Sibiu
Zerind
Arad
Arad
Oradea
Oradea
Timisoara
Fagaras
Rimnicu
Vilcea
Arad
Lugoi
9
Búsqueda Primero en Amplitud
1
2
5
11
4
3
6
7
12
8
13
9
10
14
goal
10
Espacio de búsqueda “total”
(BPA con supresor de repetidos)
Juego de 8 fichas
11
Algoritmos de búsqueda
básica(desinformada)
mindless search
• Búsqueda en amplitud
• 
Búsqueda en profundidad
• Profundización iterativa
• Búsqueda con costo uniforme
12
Búsqueda Primero
en Profundidad
Se basa en elegir un camino en el árbol y seguirlo hasta el final.
Si no se encuentra la solución se retrocede (“backtraking”) y se
prueba por otro camino.
13
Búsqueda Primero en
Profundidad
14
Búsqueda Primero en
Profundidad
15
Búsqueda Primero en
Profundidad
16
Búsqueda Primero en
Profundidad
17
Búsqueda Primero en
Profundidad
18
Búsqueda Primero en
Profundidad
19
Búsqueda Primero en
Profundidad
20
Búsqueda Primero en
Profundidad
21
Búsqueda Primero en Profundidad
• Expandir el”nodo sin expandir” más profundo
– QueuingFN = Insertar sucesor en tope de cola
Arad
Zerind
Arad
Sibiu
Timisoara
Oradea
22
Búsqueda Primero en Profundidad
Arad
Zerind
Arad
Zerind
Sibiu
Sibiu
Oradea
Timisoara
Timisoara
BPP puede incurrir en
excursiones cíclicas
infinitas. Necesita un
espacio de búsqueda que
sea * finito
* no-cíclico, o bien
* supresor de repetidos.
23
Algoritmos de búsqueda
básica(desinformada)
mindless search
• Búsqueda en amplitud
• Búsqueda en profundidad
• 
Profundización iterativa
• Búsqueda con costo uniforme
24
Ventajas de la búsqueda en extensión
• No se “pierde” explorando caminos
infructuosos que consumen mucho tiempo
sin llegar a una solución o de los que no se
vuelve nunca (bucles en profundidad).
• Si hay una solución la encuentra. Es más, si
hay varias encuentra la óptima.
Ventajas de la búsqueda en profundidad
• Requiere mucha menos memoria (sólo hay
que guardar el camino actual).
• Puede encontrar una solución sin examinar
mucho el árbol, sobre todo si hay varios
caminos a la solución.
25
Profundización Iterativa
• Búsqueda Primero en Profundidad con
límite en profundidad l si no se encuentra
la solución.
– Nodos a profundidad l sin sucesores
26
Profundización Iterativa
27
Profundización Iterativa
28
Profundización Iterativa
29
Profundización Iterativa
30
Profundización Iterativa
Arad
Arad
l=0
l=1
etapas 1 y 2
Zerind
Sibiu
Timisoara
31
Profundización Iterativa
Arad
Zerind
Arad
Oradea
Timisoara
Sibiu
l=2
etapas 1, 2 y 3
32
Profundización Iterativa
l=2
etapa 5
Arad
Sibiu
Zerind
Arad
Oradea
Arad
Oradea
Timisoara
Fagaras
Rimnicu
Vilcea
Arad
Lugoi
33
Algoritmos de búsqueda
básica(desinformada)
mindless search
• Búsqueda en amplitud
• Búsqueda en profundidad
• Profundización iterativa
• Búsqueda con costo uniforme <=
34
Búsqueda con costo uniforme
35
Búsqueda con costo uniforme
• Se basa en desarrollar el nodo con
menor coste.
Arad
75
Zerind
140
118
Sibiu
Timisoara
<== Zerid, Timisoara, Sibiu <==
36
Búsqueda con costo uniforme
Arad
75
Zerind
75+75
Arad
140
Sibiu
118
Timisoara
71+75
Oradea
<== Timisoara, Sibiu, Oradea, Arad <==
37
Búsqueda con costo uniforme
Arad
75
Zerind
75+75
Arad
140
118
Sibiu
Timisoara
71+75
118+118
111+118
Oradea
Arad
Lugoi
<== Sibiu, Oradea, Arad, Lugoi, Arad <==
38
39
Propiedades de búsqueda
con costo uniforme
• Completa?
– Sí, mientras b sea finita (similar a búsqueda Primero en Amplitud)
• Complejidad temporal?
– Numero de nodos con g(n)  costo de la solución óptima
• Complejidad espacial?
– Numero de nodos con g(n)  costo de la solución óptima
• Optima?
– Sí, mientras el costo de ruta no disminuya siguiendo cualquier ruta
– o sea que g(Successor(n))  g(n), para todo n
• Qué sucede con operadores con costo negativo?
40
Búsqueda bidireccional
Estado inicial
EstadoFinal
41
No vale para todos los problemas:
Los operadores deben ser
reversibles.
• Problema si hay varias soluciones.
• Debe haber comprobación eficiente
de encuentro.
42
PREGUNTAS….
43