2. La búsqueda es una técnica para resolver problemas cuya solución consiste en una serie de pasos que
frecuentemente deben determinarse mediante la prueba sistemática de las alternativas. Estos procesos de búsqueda
sonuna seriedeesquemasderepresentacióndel conocimiento, quemediante diversosalgoritmosnospermiteresolver
ciertos problemas desde el punto de vista de la I.A.
Desde los inicios de la I.A, la búsqueda se ha aplicado en diversas clases de problemas como juegos de dos jugadores,
problemas de satisfacción de restricciones problemas de pathfinding de un único agente.
TIPOS DE BUSQUEDAD
BÚSQUEDA CIEGA: Este tipo de búsqueda intenta encontrar la primer solución sin importar que tan optima
sea, no detecta si esta aproximado o alojada de la solución. Como su nombre lo indica es una búsqueda ciega y por lo
tanto se le dificulta encontrar la solución de un problema que no
exista o que sea demasiado complejo encontrarle la solución.
Tipo de búsqueda ciega:
Exhaustiva
Aleatoria (Genera-y-Prueba)
Por Profundidad (Depth-First)
Por Amplitud (Breath-First)
Costo Uniforme
Limitada por Profundidad
La mejor solución es la que está más cerca a la raíz
3. Los algoritmos pueden ser:
Óptimo: Si siempre encuentra la mejor solución
Completo: Si existe solución, en la va a encontrar.
Métodos:
Amplitud
Algoritmo por amplitud (BFS): Al expandirse un nodo, visita primero a sus hermanos y luego a sus hijos.
Óptimo: Si
Completo: Si
4. Profundidad
Algoritmo DFS: Este puede ser visto como un proceso por niveles, donde se visita un nodo, se visitan sus hijos antes
que sus hermanos, por lo que el algoritmo tiende a bajar por las ramas del árbol hacia las hojas antes de visitar cada
una de las ramas posibles.
Óptimo:No (En caso de existir más de una solución, podría alcanzar varias niveles deprofundidad y la solución que
se encuentre podría estar lejos de la raíz)
Completo:No (En árboles grandes con ramas infinitas, dondepuede caer en ciclos y nunca salir de allí, por tanto no
encontrar la solución).
5. BUSQUEDA HEURISTICA: La heurística es definida bajo una función de evaluación basada en información específica
para el dominio o contexto relacionada con algún problema en particular.
Los métodos de búsqueda heurística se basan de alguna información sobre la proximidad de cada estado a un
estado meta, lo cual posibilita la exploración de los caminos más prometedores.
Esta busca soluciones aceptables mediante la reduce el espacio de búsqueda y es capaz de determinar su proximidad
a una solución y la calidad de la misma utilizando conocimiento.
Esta es un tipo de búsqueda inteligente ya que utiliza técnicas o mecanismo que
se aproximan a la solución del problema de manera inteligente.
Tipo de búsqueda heurística:
Búsqueda Tacaña (Greedy Search)
Búsqueda A*
Templado Simulado
Búsqueda Tabú
Búsqueda Basada en Restricciones
BUSQUEDAD IRREVOCABLE O SIN VUELTAS ATRÁS: Una vez que se ha tomado un camino, este no se puede dejar.
6. BUSQUEDA DE TENTATIVAS: Se avanza en una dirección y si se llega a un punto en el que se suponeque no se llega a
alguna meta, se abandona este camino para retomar alguno anterior que también prometía.
BUSQUEDAD DIRIGIDA POR LOS DATOS O ENCADENADAHACIA ADELANTE: Consisteen seguir algún procedimiento
para encontrar alguna meta. También se le llama búsqueda de arriba - abajo.
BÚSQUEDA DIRIGIDA POR LAS METAS O ENCADENADA HACIA ATRÁS:
Consiste en, que dada una solución conocida, se debe encontrar el procedimiento para llegar a esa solución. En estas
se parte de una meta, a la que se le aplica algún operador que la transforma en una o más sub metas de un menor
tamaño o dificultad. Cada sub meta se puede transformar en una o más sub metas de manera recursiva, hasta que
estas sean lo suficientemente triviales para ser solucionadas en el nivel simbólico. También se la llama búsqueda de
abajo-arriba.
7. CUADRO COMPARATIVO DE LOS TIPOS DE BUSQUEDA
Búsqueda ciegas Definición Características Ventajas Desventajas Algoritmos
Búsqueda en
amplitud
Es un algoritmo de
búsqueda sin
información, que
expande y examina todos
los nodos de un árbol
sistemáticamente para
buscar una solución
Búsqueda nivel a nivel. Para
cada uno delos nodos Para
cada uno delos nodos de un
nivel se aplican todos los
posibles operadores. No se
expande ningún nodo de un
nivel antes de haber
expandidotodoslosdel nivel
anterior. Se implementa con
una estructura FIFO.
Si existe la
solución, la
encuentra en
la menor
profundidad
posible
Explosión
combinatoria
aparece
frecuentemente
debido a la alta
complejidad espacial
y temporal de esta
técnica.
Consisteen visitar todos los nodos que
hay a profundidad antes de pasar a
visitar aquellos que hay a profundidad
i+1. Es decir, tras visitar un nodo,
pasamos a visitar a sushermanos antes
que a sus hijos.
Búsqueda en
Profundidad
Esta técnica su fines
recorrer todos los nodos
del mismo nivel que de
donde se encuentra
como todo siempre la
posición será el inicio y
como final el objetivo
buscado
La búsqueda se realiza por
una solarama del árbol hasta
encontrar una solución.
Tiene menor
complejidad
espacial que
búsqueda en
amplitud.
Se pueden encontrar
soluciones que están
másalejadasdelaraíz
que otras. Existe el
riesgo de presencia
de bucles infinitos.
Puede ser visto como un proceso por
niveles, pero con la diferencia de que,
tras visitar un nodo, se visitan sus hijos
antes que sus hermanos, por lo que el
algoritmo tiende a bajar por las ramas
del árbol hacia lashojasantes devisitar
cada una delas ramas posibles.
Búsqueda General
en Grafos
Cualquier proceso de
búsqueda debe tener
la posibilidad de
determinarsi unnuevo
estado ha sido
generado y expandido
previamente.
En general manejadoslistas:
Abierta y cerrada. El grafo se
va generando durante la
ejecución del algoritmo.
Evita repetirla
exploración de
caminos.
Permite
reanudar
caminos
abandonados.
Es difícil Identificar
todas las aristas. Se
desperdicia memoria
si el grafo es poco
denso.
Se crea un grafo común nodo que
contiene el problema, y crea las
listas abierta y cerrada.