Las técnicas de búsqueda son una serie de
esquemas de representación del
conocimiento, que mediante diversos
algoritmos nos permite resolver ciertos
problemas desde el punto de vista de la I.A.
Búsqueda ciega
Sólo utiliza información acerca de
si un estado es o no objetivo para
guiar su proceso de búsqueda
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.
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
Se produce una vuelta atrás (backtracking) y
se sigue por otra rama hasta visitar todas las
ramas del árbol si es necesario.
Búsqueda heurística
usan el conocimiento del dominio para
adaptar el solucionador y, de esta manera,
éste sea más potente y consiga llegar a la
solución con mayor rapidez.
Estas técnicas utilizan el conocimiento
para avanzar buscando la solución al
problema.
Estrategias de búsqueda heurística
Primero el mejor
Metodología: elegir como siguiente nodo
aquel con mayor función de evaluación.
Tipo: tentativo
Ventajas: no depende en
exceso de la función de
evaluación.
Inconvenientes: excesiva
complejidad espacial, pues se
deben guardar todos los nodos
abiertos.
Búsqueda con Adversos
Analiza los 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)