2. Algoritmo de búsqueda exhaustiva o también conocido como algoritmo de
fuerza bruta, es aquel que explora todas las posibles combinaciones para
dar solución a un problema, con la finalidad de saber si satisface o no a
la solución de cualquier problema planteado.
La búsqueda por fuerza bruta es sencilla de implementar y, siempre que
exista, encuentra una solución. Sin embargo, su coste de ejecución es
proporcional al número de soluciones candidatas, el cual es
exponencialmente proporcional al tamaño del problema.
3. Ejemplo
Un ejemplo de búsqueda por fuerza
bruta, en este caso para solucionar
el problema de las ocho reinas
(posicionar ocho reinas en el
tablero de ajedrez de forma que
ninguna de ellas ataque al resto),
consistiría en examinar todas las
combinaciones de posición para las
8 reinas (en total 64! /56! =
178.462.987.637.760 posiciones
diferentes), comprobando en cada
una de ellas si las reinas se
atacan mutuamente.
4. La solución de fuerza bruta es simplemente calcular
la distancia total para cada ruta posible y luego
seleccionar la más corta. Esto no es particularmente
eficiente porque es posible eliminar muchas rutas
posibles a través de algoritmos inteligentes.
La complejidad temporal de la fuerza bruta es O(m
n ) , que a veces se escribe como O(n*m) .
Entonces, si tuviéramos que buscar una cadena de
"n" caracteres en una cadena de "m" caracteres
usando fuerza bruta, nos llevaría n * m intentos.