Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Búsquedas no informadas
También llamadas búsquedas a ciegas, los métodos no cuentan con ninguna
información adicional, toda la información se encuentra en la definición del
problema. Los algoritmos pueden generar sucesores y distinguir un estado meta.
Las estrategias de búsqueda son diferenciadas por el orden que utilizan para
generar estados.
Brute Force Search
Métodos de búsqueda que evalúan todos los nodos del árbol de búsqueda, también
llamados métodos exhaustivos. Se puede decir que estos métodos son prueba y
error ya que generan posibles soluciones al problema, después prueban cada uno
de ellos y se detienen cuando encuentran una solución válida.
El método utilizado para la generación de soluciones debe ser elegido
cuidadosamente.
1. Breadth – First Search: Sigue cada camino hasta cierta profundidad antes
de que cambie a la siguiente profundidad.
2. Depth – First Search: Sigue cada camino hasta el nodo más profundo antes
de hacer backtrack y probar el siguiente camino.
Se utilizan para guiar la búsqueda informada solamente, son como ciertos consejos
que se le da a la búsqueda para saber por dónde es más recomendable ir. Para
evaluar su funcionalidad no debe exceder el costo para llegar a una meta y debe
comparar que tan bueno es la distancia desde el nodo actual hasta la meta.
Las heurísticas pueden ser de todo tipo mientras sean admisibles, queda decir que
hay heurísticas que funcionarán mejor comparadas a otras dependiendo del
problema que se esté tratando.
Búsquedas informadas
Estrategias de búsqueda que utilizan conocimiento relacionado al problema a tratar,
usa una función de evaluación f(n) para decidir si un nodo es mejor que otro nodo,
esta puede ser una función heurística, de costo o ambas.
1. Best – First Search: Emplea una heurística tal que su función de evaluación
sea: f(n) = h(n). Toda la fila es sorteada después de que nuevos caminos
hayan sido añadidos a ella, BFS sigue el mejor camino posible.
Algoritmos de camino óptimo
Un camino óptimo es aquel que tiene el menor costo o que involucra viajar la menor
distancia posible desde el inicio hasta la meta. Las técnicas anteriores pueden
encontrar un camino óptimo por accidente, pero ninguna garantiza encontrarlo.
Algunos de los algoritmos mejor conocidos que aplican una función de heurística o
de costo para encontrar un camino óptimo son:
1. A* o AStar: Su función de evaluación es la suma entre el costo real desde el
inicio y hasta el nodo, y la heurística desde la distancia del nodo hasta la
meta siendo: f(n) = g(n) + h(n). La heurística debe ser admisible y siempre
se considerará el costo total desde el inicio hasta la meta.
2. Uniform Cost Search: Usa únicamente el costo desde el inicio y hasta el
nodo, expande el nodo que tenga menor costo, DFS es similar a este tipo de
búsqueda se los costos son los mismos.
3. Greedy Best – First Search: Utiliza la heurística, que es la distancia desde
el nodo hasta la meta, expande el nodo más cercano a la meta.
TEMA IV: Búsqueda local
La función objetivo es suave, uno o más puntos iniciales son seleccionados de
manera aleatoria, en cada paso algunas variaciones son realizadas para los puntos
que tengan mayor probabilidad de encontrar una solución, el algoritmo continúa
hasta alzancar un criterio de finalización.
1. Hill Climbing: Checa la altura que sigue en las cuatro direcciones conocidas,
tan pronto como encuentres un punto que sea mayor al que te encuentras
cambia de posición a ese punto. Continúa hasta que los demás puntos estén
por debajo de tu posición actual.
a. Steepest Ascent Hill Climbing: Cambia de posición al siguiente
punto más elevado en vez de al primero que encuentre.
b. Stochastic Hill Climbing: Escoge una posición aleatoria de los
puntos que estén por encima de él.
c. First – Choice Hill Climbing: Genera sucesores de manera aleatoria
hasta que uno sea el mejor, buena estrategia cuando se tienen miles
de sucesores.
d. Random – Restart Hill Climbing: Serie de búsquedas de Hill
Climbing, todas empiezan en estados iniciales aleatorios.
2. Simulated Annealing: Algoritmo que se mueve a un nodo aleatorio para
explorarlo. La función de costo es tomada como la energía del proceso, se
debe reducir la temperatura del proceso poco a poco para evitar sesgos, esto
se puede hacer poniendo cierta cantidad de tiempo en un nodo antes de
explorar otro. Se compone de:
- Descripción de la posible configuración del sistema.
- Generador de cambios aleatorios en la configuración, opciones presentadas
al sistema.
- Función objetivo a optimizar.
- Controle del parámetro de temperatura, debe tener una calendarización del
recocido:
o Define cómo disminuirá la temperatura.
o Número de cambios aleatorios por temperatura.
o Qué tan largo es el paso para disminuir la temperatura.
o Depende del problema.
Annealing Schedule
Depende del problema, requiere una serie de pruebas y errores, la constante k de
Boltzmann es reemplazada según se requiera pero debe introducirse una constante
que controle el enfriado. La más común es: