busqueda heuristica

12

Click here to load reader

Transcript of busqueda heuristica

Page 1: busqueda heuristica

6. BUSQUEDA HEURISTICA

Técnicas de búsqueda heurística:

1. Primero en profundidad.

2. Primero en anchura.

3. Generación y prueba.

4. Escalada.

5. Primero el mejor.

6. Reducción del problema.

7. Verificación de restricciones.

8. Análisis de medios y fines.

Page 2: busqueda heuristica

6. BUSQUEDA HEURISTICA (2)

3- Técnica de Generación y Prueba. Algoritmo:

1. Generar una solución posible (objeto, estado o camino)

2. Verificar si el objetivo elegido es la solución (comparado con el objetivo final).

3. Si se encuentra la solución terminar, sino volver a 1.

Análisis:• Si el espacio del problema es grande solución puede tardar.• Si es aleatorio puede no encontrar la solución.• Es un método equivalente a Primero en profundidad con vuelta

atrás.• Puede funcionar para problemas simples. Ej: 4 cubos con caras de

diferentes colores “Ubicar los cubos con cara superior de diferente color”.

• No hay retroalimentación.

Page 3: busqueda heuristica

6. BUSQUEDA HEURISTICA (3)

4- Técnica de la Escalada.

• Es una variante del Método de Generación y prueba.

• Utiliza retroalimentación en una solución.

• La función de prueba se amplía mediante una función heurística. “Que tan cerca está del estado objetivo”. Ej: “Para llegar al centro de una ciudad desconocida” “Seguir en dirección de los edificios más altos.

• Funciona bien en problemas absolutos (el objetivo es claro). Ej: “Llegar al centro de la ciudad”. En problemas relativos no funciona bién (el objetivo no es exacto). Ej: “problema del viajero”.

Page 4: busqueda heuristica

6. BUSQUEDA HEURISTICA (4)

4.1.- Escalada Simple:

1. Evaluar el estado inicial (si es = objetivo terminar).

2. Repetir hasta que encuentre una solución o hasta que no queden operadores que aplicar al estado actual. • Seleccionar un operador no usado para el estado actual y

aplicarlo para obtener un nuevo estado.• Evaluar el nuevo estado:

Si es igual al objetivo terminar. Si es mejor que el estado actual Nuevo estado actual. Si es no mejor que el estado actual Repetir.

• “Mejor” Función heurística.• Ej: Problema de los bloques de colores. “Sumar numero de

diferentes colores en c/u de las 4 caras”. Solución = 16.• Regla: rotar bloque 90° .

Page 5: busqueda heuristica

6. BUSQUEDA HEURISTICA (5)

4.2.- Escalada por Máxima Pendiente: (Búsqueda del Gradiente)

• Se consideran todos los posibles movimientos a partir del estado actual y se selecciona el mejor como nuevo estado.

• El Método de la escalada puede no encontrar el estado objetivo:• Se puede llegar a un máximo local, meseta o cresta.

Máximo local: Estado no objetivo mejor que todos sus vecinos.

Meseta: Area plana en la que todos los estados vecinos tienen igual valor.

Cresta: Area más alta que las circundantes y que tiene area que se puede escalar. La cresta no se puede atravezar con movimientos simples.

Page 6: busqueda heuristica

6. BUSQUEDA HEURISTICA (6)

4.2.- Escalada por Máxima Pendiente: (Búsqueda del Gradiente)

Formas de evitar estos problemas:

Volver atrás y seguir por otro camino. Realizar un gran salto en alguna dirección. Aplicar 2 o más reglas antes de realizar la evaluación.

• Escalada es un método “inmediato”, solo se fija en estados próximos.

• Ventaja: No provoca explosión combinatoria.• Ejemplo: Problema de los bloques. • Heurística: “Añadir 1 cuando un bloque está sobre lugar que

le corresponde, -1 cuando está sobre un bloque incorrecto”.

Page 7: busqueda heuristica

6. BUSQUEDA HEURISTICA (7)

Estado objetivo: Estado inicial:

H

G

F

E

D

C

B

A

A

H

G

F

E

D

C

B

Función heurística = 8 Función heurística = 4

• Si baja el bloque A Función heurística = 6. Genera 3 movimientos posibles.

• Volver a subir A, bajar H a la mesa, H sobre A Función heurística = 4. Encuentra un máximo local.

Page 8: busqueda heuristica

6. BUSQUEDA HEURISTICA (8)

• Otra heurística: “Añadir 1 punto a los bloques de la estructura para c/bloque que se sitúe en la posición correcta”. C/bloque que esté incorrecto (se resta 1 punto) por cada bloque de la estructura”.

• Estado objetivo. Valor de la función = 28 (1 para B, 2 para C,..).

• Estado inicial = -28. • Bajar A a la mesa = -21.

4.3.- Enfriamiento Simulado:

• Variante de la escalada.• Consiste en realizar una “exploración amplia al principio para

evitar caer en un máximo local”

Page 9: busqueda heuristica

6. BUSQUEDA HEURISTICA (9)

5- Búsqueda “El Primero Mejor”.

• Combina el primero en profundidad y en anchura.

5.1.- Grafos O.

• Estrategia: “Seguir un único camino cada vez, y cambiarlo cuando alguna ruta parezca más prometedora”. Algoritmo:1. Se selecciona el nodo más prometedor hasta el momento (con

una función heurística).2. Se expande el nodo elegido aplicando reglas para generar

sucesores.3. Si llega la solución terminar. Sino, se añade a la lista de

nodos explorados y se selecciona el más prometedor.• Este método no abandona los movimientos previos y pueden ser

de nuevo considerados. Ej: Algoritmo de Dijsktra.

Page 10: busqueda heuristica

6. BUSQUEDA HEURISTICA (10)

5.1.- Grafos O.

• Maneja 2 tipos de nodos:• Abiertos: Nodos con función heurística pero que aún no han sido

expandidos.• Cerrados: Nodos ya examinados.

Diferencia con el método escalada de máxima pendiente:• Se abandonan los movimientos previos no seleccionados (en

máxima pendiente). • Se representa mediante un grafo donde c/nodo es un punto en el

espacio de estados. C/nodo contiene: Descripción de lo que representa. Valor de la función (“que tan prometedor es el nodo”) Enlace paterno (nodo a partir del que se generó). Lista de nodos que se generan a partir de él.

Page 11: busqueda heuristica

6. BUSQUEDA HEURISTICA (11)

6..- Reducción del problema.

Grafos Y-O:• Los problemas se descomponen en problemas más pequeños.• Se generan arcos denominados arcos Y (apuntan a cualquier

número de nodos sucesores que se resuelven para llegar a la solución).

• C/nodo puede tener varios arcos varias alternativas de solución (grafos O).

• Los arcos con soluciones costosas se abandonan.

Page 12: busqueda heuristica

6. BUSQUEDA HEURISTICA (12)

Verificación de restricciones:

• Objetivo: Estado que satisface un conjunto de restricciones. Ej: rompecabezas criptoaritméticos.

• Restricciones de diseño. Límites de tiempo, costo, espacio y materiales.

• Las restricciones se propagan tan lejos como se pueda a través del sistema. Si se detectan inconsistencias Se detiene la búsqueda en esa línea.

Análisis de medios y fines:

• Se centra en la detección de diferencias entre el estado actual y el objetivo.

• Se busca un operador que reduzca la diferencia. Si no se puede aplicar Se busca un estado en que pueda aplicarse.

• Este proceso de análisis y fines se aplica recursivamente.