La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Heuristicas Secciones 4.2 a 4.5

Presentaciones similares


Presentación del tema: "Heuristicas Secciones 4.2 a 4.5"— Transcripción de la presentación:

1 Heuristicas Secciones 4.2 a 4.5
Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff Thomson

2 SECCIÓN 4.2 Funciones Heurísticas

3 4.2 Funciones heurísticas
Sea el caso del juego de los 8 tejos. Mi problema es encontrar una heurística para saber o adivinar cuánto me falta por llegar a la meta. Miro mi posición actual y cuento cuántos tejos están mal ubicados con respecto a la meta. Tengo h1. Cuento cuál es la distancia en línea recta DLR de cada tejo con respecto a la posición deseada en la meta. Sumo para los 8. Tengo h2 Miro mi posición actual y cuento cuántos pasos debe dar cada tejo, usando diagonales si es necesario, para llegar a su posición meta. Sumo. Tengo h3. Parto de nuevo de la posición presente. Cuento para cada tejo las cuadras de Manhattan que deben recorrer (usando rutas ortogonales y ya no diagonales). Tengo h4. Mi heurística óptima hasta este último invento es la máxima entre h1,...,h4. Todas son estrategias admisibles  optimistas  nunca sobreestiman la distancia

4 Funciones heurísticas
Inventar heurísticas por relajamiento de las restricciones del problemas  combinar con max(h1,h2,...) la evaluación heurística debviiera ser eficiente. -seleccionar una variable variable más restrictora (la que tiene menor número de valores posibles) variable már rerstringidora (involucrada con la mayoría de las restricciones) seleccionar un valor el valor menos restringidor (el que descarta el menor número de valores de las otras variables)

5 Función heurística Juego de los 8 con factor de ramificación 3 - una solución típica requiere 20 pasos una función heurística admisible nunca sobreestima el número de etapas hacia la meta. h1 - el número de tejos en posición errónea h2 - la suma de las distancias de Manhattan desde sus posiciones hasta las posiciones de meta

6 Heurísticas Admisibles
5 4 1 2 3 6 1 8 8 4 7 3 2 7 6 5 estado iniciae Estado meta Problema de los 8 tejos h1(n) =número de tejos fuera de orden h2(n) = suma de distancias de Manhattan, o sea el número de cuadrados que apartan a un tejo de su posición según la meta

7 Calidad de la heurística
Factor de ramificación efectivo b* N = 1+b*+(b*^n)^2+...+(b*)^d – forma de caracterizar la calidad de la heurística h2 está más informada que h1 si para cualquier nodo n, h2(n)>=h1(n) y ambos son admisibles h2 domina a h1 - entonces A* al usar h2 va a expandir menos nodos que usando h1 siempre será mejor usar una función heurística con números mayores, por supuesto, sin pasarse a la sobreestimación.

8 Comparación Ver figura 4.8, pag tabla de comparación de tres métodos, óptimo A*(h2)

9 Inventar funciones heurísticas
Problema relajado - menos restricciones impuestas a los operadores.- El costo de una solución exacta a un problema relajado es a menudo una buena heurística para el problema original. Un tejo se puede mover del cuadrado A al B si A es adyacente a B y B está vacío. un tejo se puede mover desde el cuadrado A al B si A está adyacente a B un tejo se puede mover del cuadrado A al B si B está vacío un tejo se puede mover del cuadrado A al B.

10 Inventar funciones heurísticas
Definición del problema - un lenguaje formal  relajación automática falla en dar claramente mejor heurística  heurística compuesta - h(n) = max(h1(n), ..., hm(n)), usa la función que sea la más precisa información estadística aprender cuál es mejor coeficiente para cada estado con sus propias características. Costo de búsqueda  hay que considerar tambien el costo de usar h en un nodo

11 Inventar funciones heurísticas - caso restricto
Sea el problema de colorear mapas con mínimo número de colores. Seleccionar una variable para su uso, eligiendo un valor para la variable. Variable más restringida (con menos grados de libertad) revisación por adelantado - qué valores aún no son tabú para cada variable. Seleccionar aquella variable con menores posibles valores el factor de ramificación tiende a ser mínimo el tamaño factible del problema para las n-reinas aumenta desde 30 con revisación por adelantado hasta cerca de 100 sin ella.

12 Inventar funciones heurísticas - caso restricto
Variable más restringida (menor gl) seleccione cuál es la variable involucrada en el máximo de restricciones con respecto a otra variable sin asignar. Es la que tiene menos valores posibles Intentar una reducción del factor de ramificación en las elecciones futuras. Valor menos restringidor elegir un valor que descarta el menor número de valores en variables conectadas a la variable en estudio por restricciones (el valor menos molesto para los vecinos) Dejar mayor grado de libertad para selecciones futuras.

13 Heurísticas Admisibles
Encontrar una buena heurística para un problema relajar las restricciones en general, el costo de una solución exacta obtenida al relajar un problema sirve como una buena heurística para el problema original - se menciona de nuevo la distancia de Manhattan como ejemplo usar información estadística obtenidos durante entrenamiento con ejemplos para la predicción de valores heurísticos para los nodos, con el riesgo de generar funciones heurísticas inadmisibles.

14 Buscando una solución subóptima
Las etiquetas de los nodos son su valor heurístico k y los números entre paréntesis son el orden de prioridad para expandir. El valor k de un nodo significa que esperamos que esté a k pasos de la meta. El método siempre expande nodos con min distancia esperada del nodo meta, así que el subárbol de la derecha nunca tiene turno para expandir. (Es una cola que privilegia a la ruta izquierda, primero en profundidad) Problema: no tratamos de encontrar algun nodo que esté a una profundidad más chata. 3 (1) (2) 2 4 (3) 1 1 (4) 1 goal (5) 1 (6) 1 (7) goal

15 Buscar la Solución Optima
0+3 (1) Las etiquetas de los nodos son aquí “valor heurístico + profundidad”. Números entre paréntesis son orden de expansión. Para A* no hay diferencia real entre (5) y (6) No se puede garantir que se pueda encontrar la solución óptima . Por ejemplo, qué pasa si (5) fuese el nodo meta? Problema: con pesimismo se ha etiquetado al primer nodo de la rama derecha como 4 (hemos sobreestimado su distancia a la meta) Es imperiosa una heurística optimista. (2) 1+2 1+4 (6) (3) 2+1 2+1 (7) (4) 3+1 3+0 (8) goal (5) 4+1 5+1 goal

16 Buscar la Solución Optima
Admisibilidad h - la función heurística - es optimista si para todo n, h(n) £ h* (costo actual de llegar al nodo meta) con eso no se sobreestima al costo. Una heurística optimista se llama admisible Casos especiales h(n) = h(n)* (la heurística perfecta) h(n) = 0 ? 0+3 (1) (2) 1+2 1+2 (6) (3) 2+1 2+1 (7) (4) 3+1 3+0 (8) goal (5) 4+1 5+1 goal

17 SECCIÓN 4.3 Búsqueda restricta por la capacidad de memoria

18 4.3 Búsqueda Restricta por la Memoria
- A* con Profundización Iterativa (IDA*) [Fig4.10] - BPP por todos los nodos cuyos f sean menores o iguales al f límite el nuevo f límite siempre será el menor f de los nodos expandidos más allá del f límite el número de las iteraciones de este método es proporcional al número de los diferentes valores de f podría usarse un incremento e fijo para f límite pero no sería ADMISIBLE (e-admisible) que e  |opt – soln|

19 4.3 Búsqueda restringida por Memoria - IDA*
¿Gran problema de A*?  mucho requisito de memoria. ¿Cuál es lo mejor para economía de memoria? BPP (DFS) ¿De qué forma se mejoraban los defectos de BPP sin empeorar más que un poco sus requisitos de memoria?  PI De allí: iterative deepening A* search (IDA* o A*PI) cada iteración es una búsqueda en profundidad, ahorrativa, usando un límite basado en el costo f y no en l (límite de profundidad) Estudiemos cinco iteraciones típicas donde f va creciendo. La última fila es la conclusión de la iteración terminada. “ Ciudad” meta D  Otras: B,C,E,F,G,H,I,J,K

20 Ejemplo de IDA* o A*PI iteración 1 DFS-CONTOUR(A, 12)
DFS-CONTOUR(B, 12) f-cost(B) = 15 > 12 new-f = 15 next-f = 15 f-cost(G) = 13 > 12 new-f = 13 next-f = 13 f-limit = 13

21 Ejemplo de IDA* o A*PI iteración 2 f-limit = 15 DFS-CONTOUR(A, 13)
DFS-CONTOUR(B, 13) f-cost(B) = 15 > 13 next-f = 15 DFS-CONTOUR(G, 13) DFS-CONTOUR(H, 13) f-cost(H) = 18 > 13 DFS-CONTOUR(I, 13) f-cost(I) = 24 > 13 f-limit = 15

22 Ejemplo de IDA* o A*PI iteración 3 DFS-CONTOUR(A, 15)
DFS-CONTOUR(B, 15) DFS-CONTOUR(C, 15) next-f = 25 DFS-CONTOUR(D, 15) next-f = 20 DFS-CONTOUR(G, 15) DFS-CONTOUR(H, 15) next-f = 18 DFS-CONTOUR(I, 15) f-limit = 18

23 Ejemplo de IDA* o A*PI iteración 4 DFS-CONTOUR(A, 18)
DFS-CONTOUR(B, 18) DFS-CONTOUR(C, 18) DFS-CONTOUR(D, 18) next-f = 20 DFS-CONTOUR(G, 18) DFS-CONTOUR(H, 18) DFS-CONTOUR(J, 18) DFS-CONTOUR(K, 18) DFS-CONTOUR(I, 18) f-limit = 20

24 Ejemplo de IDA* o A*PI iteración 5 DFS-CONTOUR(A, 20)
DFS-CONTOUR(B, 20) DFS-CONTOUR(C, 20) DFS-CONTOUR(D, 20) solución = D

25 Algoritmo IDA* Un problema inherente a A* es su malgasto de meoria
cuando h = 0 se reduce a BPA con lo cual usa memoria exponencial con la profundidad en que se encuentra el nodo meta óptimo la profundización iterativa puede ayudar - ahora podamos los nodos cuyo nodo meta más cercano se puede mostrar que está por debajo de la profundidad de corte. Las s iteraciones individuales realizan una BPP. La función heurística tiene como misión podar nodos, sin llegar a determinar el orden de la expansión. Sketch of IDA* Algorithm: 1. Set c = 1; this is the current cutoff value. 2. Set L to be the list of initial nodes. 3. Let n be the first node on L. If L is empty, increment c and return to step 2. 4. If n is a goal node, stop and return the path from initial node to n. 5. Otherwise, remove n from L. Add to front of L every child node n’ of n for which f(n’) £ c. Return to step 3.

26 Algoritmo IDA* Para c = 1, solo se examina el nodo inicio
0+2 (1,2,4,9) Para c = 1, solo se examina el nodo inicio para c = 2, examinar dos nodos, inicio y su hijo izquierdo. Notar que el hijo derecho es podado pues su valor de f > c = 2 las iteraciones individuales se realizan mediante BPP (el nodo 12 se expande antes que el 14, pese a que el valor de f es menor) (3,5,10) 1+1 1+2 (7,13) (6,11) 2+1 2+1 (8,14) (12) 3+1 3+1 (15) 4+1 4+0 (16) goal 5+0 goal

27 Búsqueda Restricta por Memoria
A* Simplificada y Limitada por Memoria (SMA*) [Fig4.12] - según exigencias de memoria, descarta nodos de ella que tengan valores de f altos. -los valores de f descartados quedan memorizados en ancestros - mecanismo de regeneración de nodos descartados que regenera lo faltante solo si todo el resto de rutas son peores. - óptima y completa si la solución más “chata” cupo en la memoria. En el otro caso, entrega la mejor solución alcanzable ejemplo [Fig4.11]

28 En qué consiste SMA* o A*SRM
IDA* emplea demasiado poca memoria y no la llena, con lo cual se malgasta esfuerzo SMA* usa en cambio toda la memoria M disponible para realizar la búsqueda evita estados repetidos dentro de la dispònibilidad de M completa si M >= d, optima si M >= d* optima en eficiencia si M >= bm la limitación de la memoria hace que no se pueda rastrear cuál será el tiempo de cómputo (pendula entre candidatos)  optimalidad cae.

29 SECCIÓN 4.4 Algoritmos de Mejoramiento Iterativo

30 Algoritmos de Mejoramiento Iterativo
La lista de los principales ejemplos es: 1) Arrancar con la configuración completa e ir modificando hasta llegar a una solución. Por ejemplo, las 8 reinas [Fig4.16] 2) Ascenso a la Cima o Descenso por Gradientes [Fig4.14] 3) Endurecimento (FORJADO) Simulado [Fig4.15] Se transige con el empeoramiento transitorio

31 Ascenso a la Cima (Hill-Climbing Search)
Descenso por gradiente - continuamente se desplaza en la dirección de valor que más crece - elegir el mejor siguiente estado inmediato) no mantiene un árbol de búsqueda descarta información de ruta rearranque de ascenso basado en azar tres motivos de falla reconocidos máximos locales - caminata al azar mesas - caminata al azar riscos - oscilaciones y poco progreso ascenso a la cima aleatorio con rearranque la estructura de la “superficie” del espacio de estados

32 Ascenso a la Cima Idea general  si no podemos usar una descripción matemática para derivar e igualar a cero y con ello encontrar la ruta inteligente adecuada, recurrimos al ascenso a la cima. Exploramos localmente cerca del punto en que estamos, palpando la dirección del ascenso máximo o pendiente máxima Dejamos así de lado un árbol de búsqueda Avanzamos por la pendiente máxima con un paso arbitrario (no sabemos cuál usar). Un paso corto lleva a vagabundeo sin ganancia de información. Si el paso es muy largo nos sobrepasamos y ya no estamos dentro del método Cuando decae la mejora, estamos en la cima o en una mesa. Retomamos la búsqueda al azar.

33 FORJADO o Endurecimiento simulado
En metalurgia y termodinámica se menciona el forjado o endurecimiento como el proceso de inicio a alta temperatura y enfriamiento gradual para obtener transiciones de fase más estables que las obtenidas por enfriamiento rápido. FORJADO o ENDURECIMIENTO SIMULADO  proceso de búsqueda global u optimización global en sistemas de comportamiento estocástico, con alguna probabilidad que es función de una “temperatura” (un cierto parámetro que desciende por ejemplo hasta cero) con lo cual la conducta es diferente de una completamente determinística. La temperatura arranca siendo alta, el metal está blando y se va endureciendo al descender la temperatura con un programa preestablecido.

34 FORJADO o Endurecimiento simulado
 problemas difíciles, por ejemplo multimodales, basados en la metáfora de imitar el endurecimiento o forjado usado en metalurgia. Si el programa de enfriamiento es demasiado rápido, las transiciones de fase ocurren desordenadamente, mientras que si el programa de temperatura es suave, se logra mayor estabilidad, que aquí se interpreta como encontrando la más alta cima en lugar de cimas subóptimas. Pertenece a la familia de los métodos de búsqueda heurísticos, esto es, admite que haya pasos aparentemente en falso, que no mejoran la evaluación, pero esos pasos van disminuyendo en su probabilidad a lo largo del tiempo, cuando no se han encontrado otras cimas que la principal que se está ascendiendo. La tasa con que se admiten aparentes pasos en falso (decrecientes) está regulado por un programa de enfriamiento (cooling schedule), con lo cual se mantiene la vigencia de la metáfora. El método garante un óptimo global y no un subóptimo local si la temperatura baja con suavidad.

35 FORJADO o Endurecimiento Simulado
Elegir un movimiento al azar si es mejor, ejecutarlo si es peor, ejecutarlo con probabilidad que decrezca exponencialmente con lo “malo” del movimiento y la “temperatura” la temperatura cambia de acuerdo con un programa si el programa hace descender la T en forma lenta, el algoritmo va a encontrar un óptimo global

36 Aplicaciones en Problemas con Satisfacción de Restricciones (CSP)
Resolver los CSP por mejoramiento iterativo solución inicial - uso de todas las variables operador de modificación - asignar un valor diferente a una variable reparación heurística heurística de min-conflictos - seleccionar el valor que resulte en un número mínimo de conflictos con otras variables

37 Satisfacción de Restricciones
- elegir un valor para cada variable -luego usar reparación heurística (reparar las inconsistencias)  un método frecuentemente muy exitoso  elegir los valores que entren en min-conflictos con otras variables

38 SECCIÓN 4.5 Resumen y conclusiones razonadas

39 Resumen Búsqueda Primero por lo Mejor - parte de Búsqueda General y expande según COSTO MINIMO Avara  COSTO MINIMO se interpreta como h, el que falta por satisfacer A*  combina costo uniforme (g) con avara (h) - inconveniente - no ahorra espacio

40 Resumen (2) Una buena heurística, ahorra.
A*PI = A* + PI (profundización iterativa). Al ser profundización, ahorra. A*SRM - si la memoria está llena, borrar el nodo de f más alto de la cola de espera (supresor) Mejoramiento iterativo: ascenso a la cima - evaluación por calidad gradiente mínimo - evaluación por costo forjado simulado - retroceder pasos

41 Resumen (3) PSR (constraint satisfaction) - se asignan valores a todas las variables y luego se modifican para conducir el proceso hacia buen éxito. Al reparar inconsistencias se llaman algoritmos PSR GSAT – algoritmo paradigmático en su uso en temas posteriores

42 Conclusiones razonadas
En nuestra conducta intelectual raramente resolvemos nuestros problemas con un ascenso contínuo hacia el buen éxito. Por eso es difícil de interpretar que un agente resolvedor de problemasvaya a servir en los casos generales de búsqueda. Probablemente necesitará un abanico de recursos de búsqueda. Quizás haya que disponerlos en una estructura jerárquica rica con estructuras complejas y recursivas.

43 Conclusiones razonadas
Como contrapartida, es estupendo que una máquina se guíe por los gradientes de la superficie de respuesta. Me parece que los métodos de búsqueda se dividen en dos grupos: los DESINFORMADOS ACERCA DE DERIVADAS, globalmente lentos e ineficientes (en muchas casos) y los INFORMADOS y que usan inteligentemente esa información. El ascenso a la cima es un bello ejemplo de algoritmo informado y al serlo es muy rápido y eficiente. En el caso del humano, me hace recordar la teoría de la felicidad de Mihaly Csikszentmihalyi, acerca del desafío y la habilidad. Una habilidad orientada por derivadas, pendientes y tangentes me parece la mejor manera de enfrentar desafíos.

44 Conclusiones razonadas
En la medida que no aparezca el FENOMENO DE MESA (the Mesa Phenomenon) - donde el espacio está compuesto primariamente por zonas sin pendientes - el método de ascenso a la cima me parece un buen ejemplo de las reflexiones estimuladas por el lema de la I.A., “los aviones no aletean” ( no hay que imitar temas secundarios de la biología, sino los principales – aquó trepar, errar y trapar es primario) Frente al efecto MESA  apelar al ingenio de encontrar heurísticas adecuadas que complementen a la búsqueda de ascenso a la cima.

45 Conclusiones razonadas
Estas heurísticas conducen a pensar en otra categoría de métodos de búsqueda mucho más afines a la mente humana. No han sido mencionados en este Capítulo 4. Son los que incorporan aprendizaje a la búsqueda  tema por ver. La idea fundamental es aprendizaje por refuerzo (típico de los animales) , un concepto tradicional de la psicología y de la IA. El clásico método de programación dinámica de Bellman es el único método que computa la mejor estrategia de control a lo largo del tiempo de búsqueda. Se podría hibridizar entonces entre aprendizaje por refuerzo y programación dinámica clásica, generando ADP (programación dinámica aproximada). Ese quizás sea el futuro.

46 Conclusiones razonadas
Si no sabemos cómo obtener X, creemos un espacio de estados donde sepamos que va a estar incorporado X y luego busquemos a X dentro de ese espacio. Mérito de esta formulación  siempre es posible encontrar un espacio donde esté contenida la respuesta o solución. Cuanto menos conocimiento tengamos, tanto más grande será el espacio. La inteligencia lo achica.

47 Conclusiones razonadas
Quizás haya dos grandes temas fundamentales en IA. La búsqueda es uno de ellos. Los procesos de reconocimiento de patrones  APRENDIZAJE, son el otro, igualmente fundamental. Permiten el contacto entre la estructura de memoria almacenada y la estructura de la tarea temporariamente disponible. La esencia de tener un problema es el de no saber qué hacer a continuación. Esto genera búsqueda - una búsqueda combinatoria.

48 Conclusiones razonadas
Hay por lo menos tres búsquedas en cada tarea intelectual. Búsqueda clásica dentro del espacio de problema tradicional, a través de los nodos de un árbol o entre nodos, como el ascenso a la cima. Búsqueda de la receta intelectual para buscar Búsqueda de medir bien la aproximación a la meta (la heurística) Alguna de esas búsquedas podría ser encarada como reconocimiento de patrones o como búsqueda propiamente dicha. A esta altura lo que sabemos es buscar  esa es la opción..

49 CONTINÚA http://www.chez.com/vonvon/clase9_1.html
BIBLIOGRAFIA DEL TEMA:


Descargar ppt "Heuristicas Secciones 4.2 a 4.5"

Presentaciones similares


Anuncios Google