Está en la página 1de 42

ESTRATEGIAS DE

BÚSQUEDA
AGENTES DE Búsqueda en
BÚSQUEDA Anchura

BÚSQUEDA NO
INFORMADA
Búsqueda en
Profundidad

SISTEMAS DE
BUSQUEDA
Búsqueda Voraz

BÚSQUEDA
Búsqueda A*
HEURÍSTICA

Búsqueda con
memoria Acotada

Algoritmo Alfa
Beta
BÚSQUEDA CON
ADVERSARIO
Algoritmo Mini
Max
BÚSQUEDA

• Encontrar la forma apropiada de decidir las reglas a


aplicar desde el estado inicial para llegar al estado
final y el orden en que estas se aplican
BÚSQUEDA NO
INFORMADA
O BÚSQUEDA A CIEGAS
BÚSQUEDA NO INFORMADA

Aporta como información: La definición del problema


Se genera nodos y comprueba si alguno de ellos es la solución
al problema
Los algoritmos se diferencian en cuanto al siguiente nodo a
expandir
GRAFO
BÚSQUEDA PRIMERO EN ANCHURA

- Se expande el nodo raíz


- Luego todos sus nodos hijos
- Luego los hijos de los hijos, así hasta encontrar la
solución
- Se expande cada nivel antes de expandir los del
siguiente nivel
BÚSQUEDA PRIMERO EN ANCHURA
• Implementación lista FIFO
• [1]→[2,3,4]→[3,4,5,6]→[4,5,6,7,8]→[5,6,7,8,9,10]
1

3 4
2

8 9 10
5 6 7
MEDIDA DE RENDIMIENTO
- Completo: Si, si existe la solución la encuentra. Comprueba si un
nodo es solución cuando se genera y no cuando se expande

- Öptimo: Si, porque la solución encontrada es la mas superficial

- Complejidad:
- Tiempo: exponencial O(rp+1)=rp+…..+r2+r+1
- Espacio: exponencial O (rp+1) en frontera y O(rp-1)en explorada
VENTAJAS

- Si existe solución, la encuentra


- Encuentra la solución óptima

DESVENTAJAS

- Expande muchos nodos inútiles


- Orden exponencial en espacio
- Coste constante y no negativo
- Solo para problemas muy simples
BÚSQUEDA PRIMERO EN PROFUNDIDAD
- Se expande el nodo raíz
- Luego uno de sus hijos
- Luego uno de los hijos del hijo, etc
- Cuando se llega a una hoja, si no es solución se
retrocede y se prueba con el siguiente hijo
- Se expande el nodo más profundo de la frontera
BÚSQUEDA PRIMERO EN PROFUNDIDAD
Implementación lista LIFO o recursión
1

3 4
2

5 6 8 9 10
7

11 12 13 14 16 17
15
VENTAJAS
- Ocupa muy poco espacio

DESVENTAJAS
- No es completo, ni óptimo
- Puede probar muchos caminos inútiles
- Puede quedar atrapado en bucles infinitos
- Coste constante y no negativo
- Solo para problemas simples
BÚSQUEDA EN PROFUNDIDAD LIMITADA

- Basado en Primero en profundidad


- Se establece una profundidad máxima (p) como diámetro del
espacio de estados (camino máximo)
- Cuando se llega a la profundidad máxima p, si no hay solución, se
retrocede.
Se expande el nodo más profundo de la frontera hasta un límite
MEDIDAS DE RENDIMIENTO
- Completo:
No es completo. Solo encuentra la solución si evita caminos
redundantes y el espacio de estados es finito.
- Óptimo:
No, puede encontrar otras soluciones antes de la óptima
- Complejidad:
- Tiempo: exponencial: O(bm)=bd+…..+b2+b+1 m>=d
- Espacio: O (b.m) solo almacena el camino y los nodos hijos de los
nodos intermedios
VENTAJAS
- Completo y óptima
- Admite costes variables

DESVENTAJAS
- Orden exponencial en espacio
- Solo para problemas muy simples
BÚSQUEDA EN PROFUNDIDAD ITERATIVA

- Ampliación de Profundidad Limitada


- De forma gradual se va ampliando el límite máximo p.
- Se va ampliando el limite hasta alcanzar una solución que
además será la óptima.
Búsqueda con Profundidad Limitada con P=4
MEDIDAS DE RENDIMIENTO
- Completo:
No. Las soluciones pueden estar más allá del límite máximo p.
- Óptimo:
No. Puede encontrar otras soluciones antes de la óptima, que podría
quedar además por debajo del limite máximo p

- Complejidad:
Tiempo: exponencial: O(rp)
Espacio: lineal O(r.p)
VENTAJAS
- Ocupa muy poco espacio
- No cae en bucles infinitos

DESVENTAJAS
- No es completo, ni óptimo
- Puede probar muchos caminos inútiles
- Coste constante y no negativo
- Sólo para problemas simples
VENTAJAS
- Ocupa muy poco espacio
- No cae en bucles infinitos
- Es completo y óptimo

DESVENTAJAS
- Puede probar muchos caminos inútiles
- Visita muchas veces los nodos superficiales
- Coste constante y no negativo
BÚSQUEDA DE COSTE UNIFORME

• Basado primero en anchura


• Costes de las acciones variables
• Costes no negativos
• Expande con nodo con menor coste asociado (no el más
superficial)
• Implementación con lista de prioridad
MEDIDAS DE RENDIMIENTO

Completo: Si, si existe la solución la encuentra. Comprueba si


un nodo es solución cuando se genera y no cuando se expande

Óptimo: Si, porque la solución encontrada es la mas superficial

Complejidad:
- Tiempo: exponencial O(r[C*/ε])
- Espacio: exponencial O(r[C*/ε])
funcion BUSQUEDA-COSTE-UNIFORME(problema) devuelve solución a fallo
nodo-raíz CREAR-NODO-RAIZ(problema)
frontera CREAR-PRIORIDAD()
fronteraAGREGAR(nodo-raíz)
exploradaCREAR-CONJUNTO()
repetir
si frontera.ESTA-VACIA() entonces devuelve fallo
nodofrontera.POP()
si problema.ES-OBJETIVO(nodo.ESTADO) entonces devolver nodo
explorada.AGREGAR(nodo)
por cada acción en problema.ACCIONES(nodo.ESTADO) hacer
hijo CREAR-NODO-HIJO(problema, nodo, acción)
si hijo.ESTADO no esta en explorada y
hijo.ESTADO no esta en frontera.ESTADOS() entonces
frontera.AGREGAR(hijo)
sino
nodo-frontera frontera.BUSCAR(hijo.ESTADO)
si hijo.COSTE  nodo-frontera.COSTE entonces
nodo-fronterahijo
BÚSQUEDA BI-DIRECCIONAL
- Basada en Primero en Anchura
- Dos búsquedas: una desde estado inicial y otra desde estado
final
- Se busca estado intermedio común
- Una de las búsquedas pueden ser en Profundidad iterativa.
Cuando se conoce la solución óptima, las acciones son
reversibles y se busca el camino más corto.
Estado
Estado
Inicial
Objetivo
Búsqueda
Progresiva Búsqueda
Regresiva
MEDIDAS DE RENDIMIENTO
- Completo: si, si hay solución la encuentra
- Óptimo: no, no se puede garantizar que la solución
encontrada sea la mejor.

- Complejidad:
- Tiempo: exponencial O(rp/2)
- Espacio: exponencial O(rp/2)
VENTAJAS:
- Mucha mejor complejidad en tiempo que el resto de
algoritmos.

DESVENTAJAS:
- Complejidad espacial exponencial.
- No garantiza que la solución sea óptima.
- Requiere que se conozca la solución
- Requiere de acciones reversibles
COMPARACIÓN ESTRATEGIAS DE
BÚSQUEDA NO INFORMADA
Criterio Primero en Costo Primero en Profundidad Profundidad Bidireccional
Anchura uniforme profundidad limitada iterativa (si aplica)
¿Completa? Si Si No No Si Si
Tiempo O(rp+1) O(r[c*/e]) O(rm) O(rl) O(rp) O(rp/2)
Espacio O(rp+1) O(r[c*/e]) O(rm) O(rl) O(rp) O(rp/2)
¿Óptima?
Si Si No No Si Si

R: Factor de ramificación: Numero de acciones posibles para cada nodo del grafo si es variable hallar el
promedio
P: Profundidad: La distancia del número de pasos desde el estado inicial
M: La lngitud de la trayectoria más largo entre dos vértices del grafo
L: Límite establecido (o profundidad limite)
QUÉ OPERADORES TENEMOS?

Mover la ficha roja a la derecha


Mover la ficha roja a la izquierda
Mover la ficha roja hacia arriba
Mover la ficha roja hacia abajo
Mover la flecha amarilla abajo
Mover la flecha amarilla arriba
REGLAS DE PRODUCCIÓN

• Si la ubicación actual de la ficha roja la casilla a la derecha esta libre y a la derecha


no tiene parede ENTONCES muevo la ficha roja a la derecha
CÓMO REPRESENTO LOS ESTADOS DEL
PROBLEMA?
BÚSQUEDA EN ANCHURA
A
A

Estado Inicial: A
B C
Estado Final: H
B C
Frontera:
Explorados:
D E
D E Acciones:

H
F G
F G

SOLUCION H

También podría gustarte