busqueda heuristica
Click here to load reader
-
Upload
kriztian-onofre -
Category
Documents
-
view
156 -
download
0
Transcript of busqueda heuristica
![Page 1: busqueda heuristica](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/1.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/2.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/3.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/4.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/5.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/6.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/7.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/8.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/9.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/10.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/11.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022100601/55721407497959fc0b939861/html5/thumbnails/12.jpg)
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.