Presentation about techniques used to generate heuristics. Includes overconstraining, metaphoric heuristics, probabilistic heuristics, iterative learning and heuristic combination.
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Part 2 of Heuristics Generation Techniques
1. María de la Asunción Gómez Castro
José Ignacio Carmona Villegas
2. Contenidos
Sobrecarga de restricciones (Overconstraining)
Heurísticas metafóricas
Heurísticas basadas en probabilidad
Desenlace más probable
Muestreo
Aprendizaje Inductivo
Combinación de heurísticas
3. Sobrecarga de restricciones
(overconstraining)
Es el proceso opuesto a la relajación de restricciones.
Consiste en añadir restricciones al modelo del problema.
Las soluciones al modelo sobrecargado no son
admisibles.
Intentar buscar cualquier camino a un objetivo (no
necesariamente el óptimo) puede dar lugar a soluciones
útiles para el modelo original.
4. Sobrecarga de restricciones
(overconstraining)
Añadir restricciones que lleven a buenas soluciones es un
proceso complejo y no siempre fructífero.
La forma más sencilla consiste en asumir que una parte
de la solución se da de antemano.
Por ejemplo, en el problema del viajante de comercio, se
puede tomar un subcircuito aleatorio y obtener un
subproblema sobrecargado más sencillo que el original.
El coste asociado constituye una cota superior de h y se
puede usar para limitar el uso de memoria de A*.
5. Heurísticas metafóricas
Se basan en el uso de modelos metafóricos (análogos)
que no simplifican necesariamente el problema
original, sino que aprovechan las capacidades del agente
resolutor de problemas.
Por ejemplo el juego del Tic-Tac-Toe nos parece a los
humanos más simple que su isomorfo, el scrabble
numérico (buscar tres números que sumen 15).
Debido a nuestra capacidad de visualizar el problema el
tic-tac-toe nos resulta más sencillo.
6. Heurísticas metafóricas
Para aprovechar esta técnica de generación de
heurísticas, es necesario conocer las capacidades
especiales del agente. Por ejemplo un agente dotado de
capacidades de visión artificial suficientemente
eficientes podría resolver más fácilmente el problema.
4 3 8
9 5 1
2 7 6
7. Heurísticas basadas en
probabilidad
De forma natural, diariamente, utilizamos heurísticas
propias que hacen uso de probabilidades que hemos
aprendido con el tiempo.
Asimismo, podemos crear heurísticas que consideren un
evento como más probable si posee características
prototípicas de una gran población.
A veces conducen a situaciones paradójicas.
Una heurística debe funcionar bien la mayoría de las
veces. De ahí que sea natural la aplicación de
distribuciones de probabilidad a los modelos de
problemas.
8. El suceso más probable
Si el dominio del problema está caracterizado por un
modelo probabilístico, se puede hacer uso del cálculo de
probabilidades para determinar el suceso más probable.
Debido a su naturaleza, estas estimaciones basadas en
probabilidad, no garantizan la admisibilidad. A veces
sobrestiman mucho el valor de h y provocan la obtención
temprana de soluciones suboptimales.
Si se permite relajar la condición de optimalidad, estas
heurísticas encuentran buenas soluciones la mayoría de
las veces.
9. Muestreo
Es una de las heurísticas más antiguas y usadas. Consiste
en inferir alguna propiedad de un gran grupo de
elementos a partir de las propiedades de un subgrupo
pequeño y aleatorio.
Ejemplo: Base de datos gigante que contiene N dígitos
binarios y se pide computar la proporción de dígitos que
son 1.
Si podemos tolerar un margen de error, podemos pasar
de orden lineal a constante (definido por los parámetros
de calidad de las muestras).
10. Muestreo
Las técnicas de muestreo pueden ser usadas para
construir distribuciones de probabilidad (originalmente
desconocidas, estiman la forma de la distribución) y que
serán utilizadas para guiar algoritmos de búsqueda
probabilística.
De nuevo, esta técnica no garantiza una heurística
admisible, pero en conjunto con otras estrategias puede
ayudar a reducir los tiempos de búsqueda.
11. Aprendizaje inductivo
Estrategia consistente en la modificación/generación de
una heurística en base a lo inferido de la experiencia
(proceso de obtención de soluciones).
En esta estrategia se basan técnicas más particulares
como las redes neuronales, árboles de
decisión, aprendizaje por refuerzo…
Funcionan mejor cuando se les suministran
características de un estado que sean relevantes para su
evaluación (no sólo la descripción del estado).
12. Aprendizaje inductivo
En el 8-Puzle, el número de fichas mal colocadas sería una
característica adecuada para la evaluación (x1(n)).
El numero de pares de fichas adyacentes que son también
adyacentes en el estado objetivo podría ser otra
característica adecuada (x2(n)).
Una combinación lineal nos puede permitir combinar x1 y
x2 para predecir h(n).
h(n) = c1x1(n) + c2x2(n)
Las constantes c1 y c2 deben ser ajustadas a los costes de
la solución.
13. Combinación de heurísticas
Si disponemos de múltiples heurísticas admisibles y
ninguna se muestra claramente mejor, podemos
combinarlas, y quedarnos con la más dominante en cada
momento.
hc (n) = max { h1(n), …, hm(n) }
Debido a que las heurísticas componentes son
admisibles, es fácil demostrar que hc es
admisible, consistente y domina a todas las demás.
14. Referencias
1. Stuart Russell y Peter Norvig. Artificial Intelligence: A modern Approach.
Pearson, 3o edición, 2010.
2. Judea Pearl. Heuristics: Intelligent search strategies for computer
problem solving. Addison-Wesley, 1985.
Hinweis der Redaktion
Usar la presentación Foundations of Visual Analytics by Pat Hanrahan.
Características Prototípicas: Se espera que un africano sea negro, por eso se le asigna una mayor probabilidad a dicho evento.Situaciones paradójicas: Esperar que resultados uniformes de secuencias de lanzamientos de monedas al aire se consideran poco probables debido a la costumbre de realizar el experimento con una población pequeña. Sin embargo, para una población lo bastante grande se empiezan a ver patrones de uniformidad.Mencionar Lógica Difusa
Recordar los métodos probabilísticos, y cómo podríamos hacer que una heurística vaya construyendo una distribución probabilística al ejecutarse múltiples veces…
Recordar los métodos probabilísticos, y cómo podríamos hacer que una heurística vaya construyendo una distribución probabilística al ejecutarse múltiples veces…