Este documento describe diferentes técnicas de búsqueda, incluyendo los elementos clave que las componen como estados iniciales, estados finales y operadores. Explica búsquedas ciegas como amplitud y profundidad, así como búsquedas heurísticas que usan costos y funciones de evaluación. También cubre estrategias como gradiente y búsqueda en haz.
2. TÉCNICAS DE BÚSQUEDA Y
ELEMENTOS
Los elementos que integran las técnicas de búsqueda son:
Conjunto de estados: todas las configuraciones
posibles en el dominio.
Estados iniciales: estados desde los que partimos.
Estados finales: las soluciones del problema.
Operadores: se aplican para pasar de un estado a
otro.
3. Solucionador: mecanismo que nos permite
evolucionar de un estado a otro mediante un
algoritmo aplicando los siguientes pasos:
1. Elegir el estado a explorar
2. Establecer un operador que trabaje sobre el estado
elegido en el paso 1
3. Comprobar si el resultado obtenido es un estado final (es
una solución del problema). Sino ir al paso 1.
4. Ejemplo con 8-puzzle: este juego consiste en, dada
una matriz de 3x3 elementos, tenemos 8 números que
deben de ser ordenados dejando la casilla central vacía.
Para resolverlo usaremos técnicas de búsqueda:
El conjunto de estados son todas las combinaciones
posibles de ordenación de las 9 piezas.
El estado inicial es el estado en el que nos dan el
puzzle, en desorden.
El estado final es el puzzle ordenado.
Los operadores son mover una ficha en cualquier
dirección: arriba, abajo, izquierda o derecha
5. TIPOS DE BUSQUEDA
Búsqueda Ciega
Búsqueda en amplitud.
Búsqueda en profundidad.
Búsqueda en profundidad progresiva.
Búsqueda en profundidad Interactiva
Búsqueda bidireccional.
Búsqueda Heurística
Costo del camino
Costo para hallar la solución
Potencia heurística
Algoritmo
6. BÚSQUEDA CIEGA
Búsqueda en amplitud:
- Procedimientos de búsqueda nivel a nivel.
- Para cada uno de los nodos de un nivel se aplican
todos los posibles operadores.
- No se expande ningún nodo de un nivel antes de haber
expandido todos los del nivel anterior.
- Se implementa con una estructura FIFO.
8. BÚSQUEDA CIEGA
Búsqueda en profundidad:
- La búsqueda se realiza por una sola rama del árbol
hasta encontrar una solución o hasta que se tome la
decisión de terminar la búsqueda por esa dirección.
- Terminar la búsqueda por una dirección se debe a no
haber posibles operadores que aplicar sobre el nodo
hoja o por haber alcanzado un nivel de profundidad
muy grande.
- Si esto ocurre se produce una vuelta atrás
(backtracking) y se sigue por otra rama hasta visitar
todas las ramas del árbol si es necesario.
9. BÚSQUEDA CIEGA
- Ventajas:
- Tiene menor complejidad espacial que búsqueda en
amplitud.
- Desventajas:
- Se pueden encontrar soluciones que están mas
alejadas de la raíz que otras.
- Existe el riesgo de presencia de bucles infinitos.
10.
11.
12. BÚSQUEDA CIEGA
Búsqueda en profundidad progresiva:
- Se define una profundidad predefinida.
- Se desarrolla el árbol realizando una búsqueda en
profundidad hasta el límite definido en el punto
anterior.
- Si se encuentra la solución FIN
- En caso contrario, se establece un nuevo límite y
volvemos al segundo paso.
13. Búsqueda bidireccional:
- Se llevan a la vez dos búsquedas: una descendente
desde el nodo inicial y otra ascendente desde el nodo
meta.
- Al menos una de estas dos búsquedas debe ser en
anchura para que el recorrido ascendente y
descendente puedan encontrarse en algún momento.
- Cuando se llegue a un nodo que ya había sido
explorado con el otro tipo de búsqueda, el algoritmo
acaba.
- El camino solución es la suma de los caminos
hallados por cada búsqueda desde el nodo mencionado
hasta el nodo inicial y hasta el nodo meta
BÚSQUEDA CIEGA
16. Búsqueda Heurística
Costo del camino: coste necesario para ir del nodo
raíz al nodo meta por dicho camino.
Costo para hallar la solución: coste necesario para
encontrar el camino anteriormente definido.
Potencia heurística: capacidad de un método de
exploración para obtener la solución con un coste lo más
bajo posible.
17. ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
Tipos:
• Estrategias tentativas: aquellas en las que se
puede abandonar la exploración de una rama y pasar
a explorar otra en cualquier momento del problema.
• Estrategias irrevocables: aquellas en las que no
se puede abandonar la exploración de la rama por la
que se comenzó.
Métodos:
• Gradiente
• Primero el mejor
• Búsqueda en haz
• Algoritmo A
18. ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
Gradiente:
• Metodología: elegir el camino de máxima
pendiente, usando para ello la función de evaluación.
• Tipo: irrevocable.
• Ventajas: se llega a la solución con poco coste
computacional.
• Inconvenientes: puede ser que el problema no sea
compatible con este método, y, por lo tanto, no
conseguiremos obtener la solución.
19. ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
Búsqueda en haz:
• Metodología: elegir un conjunto de nodos como los
siguientes a expandir, y hacerlo de forma irrevocable.
• Tipo: irrevocable/tentativo.
• Ventajas: más permisible.
• Inconvenientes: en caso de que el sistema sea
irrevocable, este método no actúa con eficacia.
20. BÚSQUEDA CON ADVERSOS
La búsqueda con adversos (juego contra un oponente)
analízalos problemas en los que existe mas de un
adversario modificando el estado del sistema.
Hay dos operadores:
El que lleva el problema a la mejor situación (jugada
nuestra)
El que lleva el problema a la peor situación (jugada de
nuestro adversario)