UNIVERSIDAD MAYOR DE SAN SIMÓN
FACULTAD DE CIENCIAS Y TECNOLOGIA
INGENIERIA DE SISTEMAS
Integrantes: Balderrama Guzmán Dayana Nicol
Bilbao Mamani Danitza Belén
Vargas Arteaga Vanessa Alejandra
Carrera: Ingeniería de Sistemas
Docente: García Pérez Carmen Rosa
Semestre I-2014
Inteligencia Artificial
Búsqueda Voraz Primero el Mejor
COCHABAMBA - BOLIVIA
INDICE
1. INTRODUCCION ......................................................................................................................................................... 3
2. DESARROLLO ............................................................................................................................................................. 3
2.1. BUSQUEDA VORAZ O GREEDY ............................................................................................................................ 3
2.2. CARACTERISTICAS DE LA BUSQUEDA VORAZ ....................................................................................................... 3
2.3. ALGORITMO DE LA BUSQUEDA VORAZ ............................................................................................................... 4
2.4. APLICACIONES ............................................................................................................................................... 4
2.4.1. PROBLEMA DEL 8 PUZZLE .......................................................................................................................... 4
2.4.2. El PROBLEMA DEL ROBOT CONDUCTOR ................................................................................................... 11
3. CONCLUSION ........................................................................................................................................................... 13
1. INTRODUCCION La búsqueda informada o heurística utiliza información adicional sobre el problema específico como el coste ó la distancia al estado final; pudiendo encontrar soluciones de una manera más eficiente. La búsqueda primero el mejor es una caso particular del algoritmo general de Busqueda-Árboles o
Busqueda-Grafos en el cual se selecciona un nodo para la expansión basada en una función de
evaluación f(n).
Se tiene dos casos especiales en la Busqueda Primero el Mejor:
Busqueda Voraz Primero el Mejor
Busqueda A*
2. DESARROLLO
2.1. BUSQUEDA VORAZ O GREEDY Los algoritmos voraces intentan construir la solución óptima búscada paso a paso, eligiendo en cada paso la componente de la solución que parece más apropiada. Estos algoritmos nunca revisan una elección ya realizada, confían en haber elegido bien las componentes anteriores. Por ello, no siempre dan resultado, existen problemas para los cuales a veces conviene realizar un paso aparentemente menos apropiado pero que a la larga resulta en una solución mejor (de la misma forma que en ajedrez puede convenir sacrificar una pieza para obtener una ventaja varias jugadas después). Sin embargo, para ciertos problemas interesantes, los algoritmos voraces obtienen soluciones óptimas. Cuando eso ocurre, no sólo resultan algoritmos sencillos, sino que además son muy eficientes.
2.2. CARACTERISTICAS DE LA BUSQUEDA VORAZ Se tiene un problema a resolver de manera óptima, para ello se cuenta con un conjunto de candidatos a ser parte de la solución, a medida que el algoritmo se ejecuta, los candidatos pueden clasificarse en 3: Aquéllos que áun no han sido considerados, aquéllos que han sido incorporados a la solución que se intenta construir, y aquéllos que han sido descartados, existe una función que chequea si los candidatos incorporados ya forman una solución del problema, sin preocuparse por si la misma es o no óptima, una segunda función que comprueba si un conjunto de candidatos es factible de crecer hacia una solución (nuevamente sin preocuparse por cuestiones de optimalidad), finalmente, una tercer función que selecciona de entre los candidatos aún no considerados, cuál es el más promisorio. Para poder resolver un problema usando el algoritmo greedy, tendremos que considerare 6
elementos:
1. Conjunto de candidatos (Elementos seleccionables)
2. Solución parcial(candidatos seleccionados)
3. Función de selección(Determina el mejor candidato del conjunto de datos seleccionables)
4. Función de factibilidad(de3termina si es posible completar la solucion parcial para alcanzar
una solución del problema)
5. Criterio que define lo que es una solución (Indica si la solución parcial obtenida resuelve el
problema )
6. Función objetivo(Valor de la solución alcanzada)
2.3. ALGORITMO DE LA BUSQUEDA VORAZ El término Voraz (Greedy) o Avaro es porque en cada paso trata de situarse tan cerca del objetivo
como pueda, seleccionando el nodo con menor función de evaluación f(n). No necesariamente brinda
la solución óptima.
Expande el nodo más cercano al objetivo, asumiento que probablemente conduzca más rápidamente
a la solución.
La función de evaluación f(n) es la función heurística h(n): f(n)=h(n) donde h(n)= costo estimado del
camino más barato desde el nodo n hasta el objetivo.
Las heurísticas son criterios, métodos o principios para decidir cuál de entre varias acciones promete
ser la mejor para alcanzar una determinada meta.
2.4. APLICACIONES
2.4.1. PROBLEMA DEL 8 PUZZLE
Un tablero cuadrado de (3x3) en el que hay situados 8 bloques cuadrados numerados (con lo cual se
deja un hueco del tamaño de un bloque). Un bloque adyacente al hueco puede deslizarse hacia él. El
juego consiste en transformar la posición inicial en la posición final mediante el deslizamiento de
bloques. En particular, consideremos el estado inicial y final siguiente:
Estados: Cada una de las posibles configuraciones del tablero.
Operadores: Arriba, Abajo, Izquierda, Derecha. (Movimientos del hueco)
Definiremos dos heurísticas para este problema.
Primera Heurística: Número de piezas descolocadas respecto a la posición final.
Tenemos como número total de piezas en la posición incorrecta respecto a la posición final un valor
de 4.
Segunda Heurística: Suma de las distancias Manhattan (distancia vertical y horizontal) de
cada pieza a donde debería estar en el estado final.
PIEZA DISTANCIA MANHATTAN
1 1 2 1 3 0 4 0 5 0 6 1 7 0 8 2
TOTAL 5
A continuación se muestra la resolución del problema mediante la primera heurística:
Resolución del problema mediante la segunda heurística:
Se tiene que si h2(n) ≥ h1(n) para todos los casos, entonces h2(n) está mejor informado y es
dominante respecto a h1(n), por lo que al momento de escoger una heurística la mejor sería h2(n).
2.4.2. El PROBLEMA DEL ROBOT CONDUCTOR
Un robot conductor, quiere viajar de su ubicación actual La Paz Bolivia a Quito Ecuador,
no sabe cuál es la ruta que debe seguir para poder llegar a su destino, usando como medio de
transporte su auto verde.
Solución
3. CONCLUSION Para una buena búsqueda voraz es necesario plantear una buena heurística.
• ¿Completa? No – puede quedarse atorada en ciclos
Usaremos un ejemplo para demostrar el caso en el que se queda atorado en un ciclo
• ¿Óptimo? No, si bien encuentra una solución no es la más óptima.
En el peor caso se tiene que:
Complejidad temporal: O(bm). Se deben recorrer todos los nodos.
Complejidad espacial: O(bm). Se deben almacenar todos los nodos.
En donde:
b: factor de ramificación
m: profundidad máxima del árbol de búsqueda
En la práctica, el tiempo y espacio necesario depende del problema concreto y de la calidad de la heurística usada. Las complejidades espaciales y temporales pueden reducirse sustancialmente con un buen heurístico.