Anda di halaman 1dari 27

Mtodos Heursticos en Inteligencia Artificial

Javier Ramrez-Rodrguez Ana Lilia Laureano-Cruces


Universidad Autnoma Metropolitana

Mtodos Heursticos en Inteligencia Artificial


Los problemas de Inteligencia Artificial (IA) generalmente usan un trmino comn llamado estado. No hay un algoritmo formal que los resuelva, i.e., dado un estado inicial no se puede decir cual es la secuencia de etapas para llegar a un estado meta.
Met. Heursticos en IA: Ramrez/Laureano

La IA estudia especialmente mtodos que permiten resolver problemas en los que no existe el conocimiento sistemtico para plantear una solucin analtica. Estos mtodos tienen la ventaja de poderse aplicar en una gran diversidad de clases de problemas. Para llevarlos a cabo efectiva y eficientemente, sobre dichos mtodos se utiliza el conocimiento heurstico disponible. Entre menos estados se generen, mejor es el algoritmo utilizado para llegar al estado meta. Heurstico: Viene del griego heuriskein que significa encontrar o descubrir.
Met. Heursticos en IA: Ramrez/Laureano

En Inteligencia Artificial, heurstico se describe mejor como mtodo de bsqueda. La bsqueda heurstica consiste en aadir informacin, basndose en el espacio estudiado hasta ese momento, de forma que se restringe drsticamente esa bsqueda Muchos problemas de IA se pueden modelar como una grfica en donde hay que buscar recorridos o caminos con ciertas caractersticas.
Met. Heursticos en IA: Ramrez/Laureano

Para estos modelos se han desarrollado muy diversas heursticas que han dado muy buenos resultados para encontrar soluciones aproximadas. Entre las que se pueden mencionar

algoritmos genticos, recocido simulado y en general algoritmos evolutivos.

Met. Heursticos en IA: Ramrez/Laureano

La IA estudia especialmente mtodos que permiten resolver problemas en los que no existe el conocimiento sistemtico para plantear una solucin analtica (a lo ancho, en profundidad, hill climbing).
Estos mtodos, considerados dbiles por realizar procedimientos de bsqueda no informada, no aprovechan la informacin relevante del dominio, suelen ser poco eficientes, pero tienen la ventaja de poderse aplicar en una gran diversidad de clases de problemas. Para llevarlos a cabo efectiva y eficientemente, sobre dichos mtodos se utiliza el conocimiento heurstico disponible.

La clave para el enfoque de IA es bsqueda inteligente y emparejamiento de estados. Entre menos estados se generen, mejor es el algoritmo utilizado para llegar al estado meta.
Met. Heursticos en IA: Ramrez/Laureano

Bsqueda Heurstica
George Polya: Estudio de mtodos y reglas para descubrimiento e invencin.
Las heursticas son formalizadas como reglas para elegir (bscar) las ramas en el espacio de estados que son ms probables de llegar a una solucin aceptable del problema.

Met. Heursticos en IA: Ramrez/Laureano

En IA, se emplean heursticas en dos casos


Un problema puede no contar con solucin exacta debido a ambigedades inherentes en el problema o datos disponibles.
Diagnstico mdico Visin

Un problema puede tener solucin exacta, pero el costo computacional por encontrarla puede ser prohibitivo.
Problema del agente viajero Problema de coloracin Juego de ajedrez

Met. Heursticos en IA: Ramrez/Laureano

Bsquedas Heursticas y Sistemas Expertos


Juegos simples son vehculos ideales para explorar el diseo y comportamiento de algoritmos de bsqueda heurstica debido a que
El espacio de bsqueda es suficientemente grande que requiere poda heurstica. Son suficientemente complejos para sugerir una amplia variedad de evaluaciones heursticas. Generalmente admiten representaciones sencillas. Cada nodo del espacio de estados tiene una representacin comn, una heurstica puede aplicarse a travs del espacio de estados.

Met. Heursticos en IA: Ramrez/Laureano

Las Heursticas
Atacan la complejidad guiando la bsqueda por los caminos ms prometedores en el espacio de bsqueda. Eliminan estados no prometedores y sus descendientes Encuentran soluciones aceptables. Desafortunadamente las reglas son falibles, pues usan informacin limitada. Juegos y probar teoremas son dos de las ms antiguas aplicaciones en IA.
No es posible examinar cada inferencia que puede ser hecha en un dominio matemtico, o cada movimiento que puede ser hecho en un tablero de ajedrez. De aqu que las funciones heursticas sean un componente esencial para resolver este tipo de problemas.

Met. Heursticos en IA: Ramrez/Laureano

Un Algoritmo heursitico consta de dos partes


1. 2.

La medida heurstica. Un algoritmo que la usa para buscar en el espacio de estados. Ejemplo: Considerar el juego del GATO.
Un simple anlisis permite determinar el nmero de estados que necesitan considerarse en una bsqueda exhaustiva en 987... o 9! Una reduccin simtrica puede disminuir un poco el espacio de bsqueda. Tomando en consideracin el punto anterior, slo hay 3 movimientos iniciales.

Met. Heursticos en IA: Ramrez/Laureano

x x

x o

o x o

x o

x o

o x

o x

o x o

x o

x o

x o

Met. Heursticos en IA: Ramrez/Laureano

Razonamiento
Si usamos reducciones por simetra, en un segundo nivel de estados el nmero de posibles caminos a travs del espacio de estados se convierte en 12 7! Una heurstica simple casi puede eliminar la bsqueda total, si se intenta colocar a X slo a estados donde esta tiene ms posibilidades de ganar.
El algoritmo selecciona y se mueve al estado con el valor ms alto de la heurstica, con lo que se podan hasta 2/3 del espacio de estados. La heurstica se utilizar en cada turno de X.
Met. Heursticos en IA: Ramrez/Laureano

Algoritmos para bsqueda heurstica


La forma ms simple de implementar una bsqueda heurstica es mediante el procedimiento llamado Hill climbing (escalando una colina):
no se corrigen fallas en la estrategia tendencia a caer en ptimo local (Hill climbing-RecSimul).

Mejor primera bsqueda (best-first-search) (MBH)


Usar listas para mantener estados: abiertos y cerrados (algoritmo A*).
Etapa adicional de este ultimo, es ordenar los estados en abiertos de acuerdo a alguna estimacin heurstica de su cercana al objetivo. En cada iteracin se considera el estado ms prometedor de la lista de abiertos Actualizando la historia de los ancestros de nodos en abierto y cerrado cuando se redescubren es ms probable que el algoritmo encuentre el camino ms corto al objetivo. Cuando abierto se mantiene como una lista clasificada se llama fila prioritaria.

Met. Heursticos en IA: Ramrez/Laureano

FUNCIONES DE EVALUACIN HEURSTICA


A continuacin se evala el desempeo de varias heursticas para el rompecabezas de las 9 celdas y 8 azulejos:
Piezas fuera de lugar, con respecto al estado meta. Suma de distancias fuera de lugar, con respecto al estado meta. Nmero de regresos directos por 2. Con respecto al estado meta

Met. Heursticos en IA: Ramrez/Laureano

2 1

8 6 7

3 4 5 3 4

2 1 7 2 1 7

6 8 6 5

5 3 4

5
(1) Piezas fuera de lugar

6
(2) Suma de distancias fuera de lugar

0
(3) 2 x no. Regresos directos

Heursticas

3 4

Meta

8 7 6

Ejemplo de la contabilizacin en un regreso directo


2 8 7 5 1 3 4 6 1 8 7 6 2 3 4 5

Un estado con una meta y dos regresos directos: 1 y 2, 5 y 6


Met. Heursticos en IA: Ramrez/Laureano

ejemplo

2 1 7

8 6

3 4 5

2 1

8 6 7

3 4 5

2 1 7

3 4

2 1 7

8 6 5

3 4

meta

1 8 7

3 4

Met. Heursticos en IA: Ramrez/Laureano

2 g(n) = 0 1 7

8 6

3 4 5

2 g(n) =1 1

8 6 7

3 4 5

2 1 7

3 4

2 1 7

8 6 5 6

3 4

6 4

Valores de h(n)

6 1 8 7

3 4

f(n) = g(n) + h(n), donde: g(n) = distancia de n al estado inicial (no. de niveles) h(n) = nmero de distancias fuera de lugar / heurstica (2) Met. Heursticos en IA: Ramrez/Laureano

2 1 7 h(n) = 6 4 6 2 1 8 6 7 h(n) = 5 3 5 2 8 1 7 6 3 4 5 2 1 7 3 4 5 2 1 7

8 6

3 4 5

1 8 7

3 4

3 4

2 1 7

8 6 5

3 4

3 8 6 4 5

2 1 7

8 4 6

Met. Heursticos en IA: Ramrez/Laureano

h(n) = 6

3 2 7 8 1 6 3 4 5 1 7 2 8 6 3 4 5 2 1 7 3 8 6 4 5

1 h(n) = 1 2 2 8 7 1 8 7 6 2 3 4 5

2 4 6

1 8

3 4

1 8 7

2 4 6 3 5

1 8 7

2 4 6

3 5

Met. Heursticos en IA: Ramrez/Laureano

Anlisis de las heursticas


1. 2. La heurstica ms simple cuenta los azulejos que estn fuera de lugar, cuando se compara con el estado meta. Una heurstica mejor sera la que suma todas las distancias por las cuales los azulejos estn fuera de lugar. Una heurstica que toma en cuenta esta dificultad, es la que utiliza un factor de cambio, cuando multiplica por un nmero pequeo; en este caso 2, cada regreso directo de un azulejo. Esto es, cuando dos azulejos adyacentes deben intercambiarse (en cualquier sentido) para estar en el orden del objetivo.

Ambas desconocen las dificultades para intercambiar azulejos. 3.

Met. Heursticos en IA: Ramrez/Laureano

Dificultad para crear buenas heursticas


El objetivo es usar la informacin limitada disponible para hacer selecciones inteligentes. El diseo de buenas heursticas es un problema emprico, que se apoya en buen juicio e intuicin , pero la medida final de una heurstica debe ser el desempeo en el problema en cuestin para el que fue creado. Y debe comprender los dos datos siguientes, en la funcin de evaluacin:
f(n) = g(n) + h(n) donde:
g(n): representa la longitud del estado n al estado inicial y h(n): representa la estimacin heurstica de la distancia de n al objetivo

Puntos a considerar en el diseo de funciones heursticas


En una funcin heurstica no solo existe el deseo de encontrar una solucin sino tambin encontrar el camino ms corto a una meta.
Esto es importante cuando en una aplicacin las etapas extras tienen un costo excesivo, tal como la planificacin de un camino para un robot autnomo a travs de ambientes peligrosos.

Admisible
Se denomina a la funcin heurstica que encuentra el camino ms corto a una meta siempre que exista. Por ejemplo: El mtodo de bsqueda a lo ancho es una estrategia admisible,
desgraciadamente, en general, es ineficiente para usarse en la prctica.

Al utilizar funciones heursticas


f(n) = g(n) + h(n)
Se pueden caracterizar una clase de estrategias de bsqueda admisibles. Determinando las propiedades de heursticas admisibles se define la funcin de evaluacin f*(n) = g*(n) + h*(n) Donde g*(n) es el camino ms corto del nodo inicial al nodo n y h* representa el costo del camino ms corto desde n a la meta. Una funcin heurstica h1 es ms informada que otra h2 si ambas son admisibles y adems.
h1(n) h2(n) n | n, donde n, no es un nodo meta.

Monotona
Se dice que una funcin heurstica es montona ssi:
1.
n

Para todos los estados ni y nj, se cumple que:


h(ni) h(nj) costo (ni,nj)
nj es descendiente de ni Costo (ni,nj) es el costo actual, en nmero de movimientos, para ir del estado ni al estado nj

2.

H (meta) = 0

Una manera de describir la propiedad de monotona es que la heurstica es admisible en todas partes.

FIN

Anda mungkin juga menyukai