Está en la página 1de 15

FACULTAD DE INGENIERAS

CARRERA PROF. DE INGENIERIA DE SISTEMAS E INFORMTICA

Jonathan Revilla Castro


Alexander Valdivia Pinazo
Vernica Cruz Muoico
David Motocanche Chata
Williams Lujano Ticona

INDICE

1.1.

Estrategias de Bsqueda Informada

Bsqueda Voraz primero el

mejor..
Bsqueda A*: minimizar el costo estimado total de la solucin

... 4
Bsqueda heurstica con memoria acotada
....
5
Aprende a buscar mejor..
....
6
1.2.
Funciones Heursticas
....
8
Inventar Funciones heursticas
admisibles..... 8
Aprendizaje de heursticas desde la
experiencia.... 9
1.3.
Algoritmos de Bsqueda Local y problemas de optimizacin
...

10

Problemas de Bsqueda en
lnea....

10

Agentes de Bsqueda en lnea.


....

11

Bsqueda por haz local


....
11
Algoritmos genticos..
.... 12
1.4.

Agentes de Bsqueda online y Ambientes

Desconocidos......
1.5.
Conclusiones..

13

.......

Sistemas Expertos - UJCM 2010

14

1. ESTRATEGIAS DE BSQUEDA INFORMADA (HEURISTICAS)

Esta seccin muestra cmo una estrategia de bsqueda informada puede encontrar
soluciones de una manera ms eficiente que una estrategia no informada. Algunas
estrategias son:

BSQUEDA VORAZ PRIMERO EL MEJOR


Trata de expandir el nodo ms cercano al objetivo, alegando que probablemente
conduzca rpidamente a una solucin. As, evala los nodos utilizando solamente la
funcin heurstica: f(n)=h(n).

Veamos cmo trabaja para los problemas de encontrar una ruta en Rumania
utilizando la heurstica distancia en lnea recta, que llamaremos h DLR. Si el objetivo
es Bucarest, tendremos que conocer las distancias en lnea recta a Bucarest, que se
muestran en el siguiente grafico:

Sistemas Expertos - UJCM 2010

Etapas en una bsqueda primero el mejor avara para buscar Bucarest utilizando la heurstica
distancia en lnea recta hDLR. Etiquetamos los nodos con sus h-valores.

BSQUEDA A*: MINIMIZAR EL COSTO ESTIMADO TOTAL DE LA SOLUCIN


A la forma ms ampliamente conocida de la bsqueda primero el mejor se le llama
bsqueda A* (pronunciada bsqueda A-estrella). Evala los nodos combinando
g(n), el coste para alcanzar el nodo, y h(n), el coste de ir al nodo objetivo.
f(n)=g(n)+h(n)
Ya que la g(n) nos da el coste del camino desde el nodo inicial al nodo n, y la h(n) el
coste estimado del camino ms barato desde n al objetivo, tenemos:
f(n)= coste ms barato estimado de la solucin a travs de n
As, tratamos de encontrar la solucin ms barata, es razonable intentar primero el
nodo con el valor ms bajo de g(n). Resulta que esta estrategia es ms que
razonable: con tal de que la funcin heurstica h(n) satisfaga ciertas condiciones, la
bsqueda A* es tanto compleja como optima.

Sistemas Expertos - UJCM 2010

La optimalidad de A* es sencilla de analizar si se usa con la BUSQUEDA-ARBOLES.


En este caso, A* es optima si h(n) es una heurstica admisible, es decir, con tal de
que la h(n) nunca subestime el coste de alcanzar el objetivo. Las heursticas
admisibles son por naturaleza optimistas, porque piensan que el coste de resolver
el problema es menor que el que es en realidad. Ya que g(n) es el coste exacto para
alcanzar n, tenemos como consecuencia inmediata que la f(n) nunca sobrestima el
coste verdadero de una solucin a travs de n.
El hecho de que los f-costos no disminuyan a lo largo de cualquier camino significa
que podemos dibujar curvas de nivel en el espacio de estados, como las curvas
de nivel en un mapa topogrfico. Dentro de la curva de nivel etiquetada con 400,
todos los nodos tienen la f(n) menor o igual a 400, etctera. Entonces, debido a que
A* expande el nodo de frontera de f-coste ms bajo, podemos ver que A* busca
hacia fuera desde el nodo inicial, aadiendo nodos en bandas concntricas de fcoste creciente.

Mapa de Rumania mostrando curvas de nivel en f=380, f=400 y f=420, con Arad como
estado inicial. Los nodos dentro de cada curva de nivel tienen f-costos menores o iguales al
valor de la curva de nivel.

Con la bsqueda de coste uniforme (bsqueda A* utilizando h(n) = 0), las bandas
sern circulares alrededor del estado inicial. Con heursticas ms precisas, las
bandas estiraran hacia el estado objetivo y se harn ms concntricas alrededor del
camino optimo. Si C* es el coste del camino de solucin ptimo, entonces podemos
decir lo siguiente:

A* expande todos los nodos con f(n) < C*.


A* entonces podra expandir algunos nodos directamente sobre la curva de
nivel objetivo (donde la f(n) = C*) antes de seleccionar un nodo objetivo.

Por intuicin, es obvio que la primera solucin encontrada debe ser optima, porque
los nodos objetivos en todas las curvas de nivel siguientes tendrn el f-coste ms
alto, y as el g-coste ms alto (porque todos los nodos de objetivo tienen h(n) = 0).
Por intuicin, es tambin obvio que la bsqueda A* es completa. Como aadimos las
bandas de f creciente, al final debemos alcanzar una banda donde f sea igual al
coste del camino a un estado objetivo.

Sistemas Expertos - UJCM 2010

BSQUEDA HEURSTICA CON MEMORIA ACOTADA


La forma ms simple de reducir la exigencia de memoria para A* es adaptar la idea
de profundizar iterativamente al contexto de bsqueda heurstica, resultando as el
algoritmo A* de profundidad iterativa (A*PI). La diferencia principal entre A*PI y la
profundidad iterativa estndar es que el corte utilizado es el f-coste (g+h) ms que
la profundidad; en cada iteracin, el valor del coste es el f-coste ms pequeo de
cualquier nodo que excedi el corte de la iteracin anterior. A*PI es prctico para
muchos problemas con costos unidad y evita el trabajo asociado con el
mantenimiento de una cola ordenada de nodos.
La bsqueda recursiva del primero mejor (BRMP) es un algoritmo sencillo
recursivo que intenta imitar la operacin de la bsqueda primero el mejor estndar,
pero utilizando solo un espacio lineal.

Etapas en una bsqueda BRMP para la ruta ms corta a Bucarest. Se muestra el valor de flmite para cada llamada recursiva sobre cada nodo actual. (a) Se sigue el camino va
Rimnicu Vilcea hasta que la mejor hoja actual (Pitesti) tenga un valor que es peor que el
mejor valor de las hojas del subrbol olvidado (417) se le devuelve hacia atrs a Rimnicu
Vilcea; entonces se expande Fagaras, revela un mejor valor de hoja (450). (c) La recursividad

Sistemas Expertos - UJCM 2010

se aplica el mejor valor de las hojas del subrbol olvidado (450) se le devuelve hacia atrs a
Fagaras; entonces se expande Rimnicu Vilcea. Esta vez, debido a que el mejor camino
alternativo por lo menos 447, la expansin sigue por Bucarest.

A*MS es un algoritmo ms sencillo, avanza como A*, expandiendo la mejor hoja


hasta que la memoria este llena. En este punto, no se puede aadir un nuevo nodo
al rbol de bsqueda sin retirar uno viejo. A*MS siempre retira el peor nodo hoja (el
de f-valor ms alto). Como en la BRMP, A*MS entonces devuelve hacia atrs, a su
padre, el valor del nodo olvidado.
A*MS expande la mejor hoja y suprime la peor hoja y suprime la peor hoja. Y si
todos los nodos hoja tienen el mismo f-valor? Entonces el algoritmo podra
seleccionar el mismo nodo para eliminar y expandir. A*MS soluciona este problema
expandiendo la mejor hoja mas nueva y suprimiendo la peor hoja ms vieja.
APRENDE A BUSCAR MEJOR
Hemos presentado varias estrategias fijas (primero en anchura, primero el mejor
avara, etctera) diseadas por informticos. Podra un agente aprender a buscar
mejor? La respuesta es s, y el mtodo se apoya sobre un concepto importante
llamado el espacio de estados metanivel. Cada estado en un espacio de estados a
nivel objeto como Rumania.
Para problemas ms difciles habr mucho ms errores, y un algoritmo de
aprendizaje metanivel puede aprender de estas experiencias para evitar explorar
arboles no prometedores. El objetivo del aprendizaje es reducir al mnimo el coste
total de resolver el problema, compensar el costo computacional y el coste del
camino.

Sistemas Expertos - UJCM 2010

2. FUNCIONES HEURSTICAS

La heurstica ofrece un estudio de mtodos para descubrir e inventar tcnicas para


la resolucin de problemas, por esta razn son objeto de estudio las funciones
heursticas.
QU ES UNA FUNCIN HEURSTICA?
La palabra heurstica, se deriva del verbo griego heuriskein, que significa
"encontrar" o "descubrir". El trmino tcnico "heurstica" ha adoptado diversas
connotaciones a lo largo de la historia de la IA. Actualmente, el trmino heurstica
se utiliza ms bien como adjetivo, para referirse a cualquier tcnica que permita
mejorar el desempeo de caso promedio en una tarea de resolucin de problemas,
aunque no necesariamente permita mejorar el desempeo del peor de los casos.
Especficamente, en el rea de los algoritmos de bsqueda, se refiere a una funcin
mediante la cual se obtiene un estimado del costo de una solucin.

INVENTAR FUNCIONES HEURISTICAS ADMISIBLES


A un problema con menos restricciones en las acciones se le llama problema
relajado. El costo de una solucin ptima en un problema relajado es una heurstica
admisible para el problema original. La heurstica es admisible porque la solucin
ptima en el problema original es, por definicin, tambin una solucin en el
problema relajado y por lo tanto debe ser al menos tan cara como la solucin
optima en el problema relajado.

Un problema con la generacin de nuevas funciones heursticas es que a menudo


se falla al conseguir una heurstica <<claramente mejor>>. Cuando no se
encuentra la mejor heurstica se puede utilizar la mejor de todas combinando dichas
funciones como se muestra a continuacin:

h = mx. {h1(n),.hn(n)}

Sistemas Expertos - UJCM 2010

INVENTAR

FUNCIONES

HEURSTICAS

PROBLEMA

RELAJO

MENOS

RESTRICCIONES

IMPUESTA A LOS OPERADORES.


El costo de una solucin exacta a un problema relajado es a menudo una buena
heurstica para el problema original.

Un tejo se puede mover del cuadrado A al B si A es adyacente a B y B esta


vaci.

Un tejo se puede mover desde el cuadrado A al B si A esta adyacente a B.

Un tejo se puede mover del cuadrado A al B si B esta vaci.

Un tejo se puede mover del cuadrado A al B.

Encontrar una buena heurstica para un problema.

Relajar las restricciones

En general, el costo de una solucin exacta obtenida al relajar un problema


sirve como una buena heurstica para el problema original.

Usar informacin estadstica obtenida durante entrenamientos con ejemplos


para la prediccin de valores heursticas para los nodos, con el riesgo de
generar funciones heursticas inadmisibles.

APRENDIZAJE DE HEURISTICAS DESDE LA EXPERIENCIA


Una funcin heurstica h(n), como se supone, estima el costo de una solucin que
comienza desde el estado en el nodo n. Cmo podra un agente construir tal
funcin? Se dio una solucin en la seccin anterior (idear problemas relajados para
los cuales puede encontrarse

fcilmente una solucin optima). Otra solucin es

Sistemas Expertos - UJCM 2010

aprender es aprender de la experiencia. <<La experiencia>> aqu significa

la

solucin de muchos 8-puzle, por ejemplo cada solucin ptima de un problema del
8 puzle proporciona ejemplos para que pueda aprender

la funcin h(n). Cada

ejemplo se compone de un estado del camino solucin y el costo real de la solucin


desde ese punto.
A partir de estos ejemplos se puede utilizar un algoritmo de aprendizaje inductivo
para construir una funcin h(n) que pueda (con suerte) predecir los costos solucin
para otros estados que surjan durante la bsqueda. Las tcnicas para hacer esto
utilizando redes neuronales, rboles de decisin y otros mtodos.
Los mtodos de aprendizaje inductivos trabajan mejor cuando se les subministra
caractersticas de un estado que sean relevantes para su evolucin, ms que solo la
descripcin del estado.

Sistemas Expertos - UJCM 2010

10

3. ALGORITMOS DE BSQUEDA LOCAL Y PROBLEMAS DE OPTIMIZACIN

Los algoritmos de bsqueda que hemos visto hasta ahora se disean para
explorar sistemticamente espacio de bsqueda. Esta forma sistemtica se alcanza
manteniendo uno o ms caminos en memoria y registrando alternativas se han
explorado en cada punto a lo largo del camino y cules no. Cuando se encuentran
un objetivo, el camino a ese objetivo tambin constituye una solucin al problema.

BSQUEDA LOCAL; ESTADO ACTUAL


Si no importa el camino al objetivo, podemos considerar una clase diferente de
algoritmos que no se preocupen en absoluto de los caminos. Los algoritmos de
bsqueda local funcionan con un solo estado actual (mas que mltiples caminos) y
generalmente se mueve soplo a dos vecinos del estado. Tpicamente, los caminos
seguidos por la bsqueda no se retienen. Aunque los algoritmos de bsqueda local
no son sistemticos, tienen dos ventajas calves: (1) usan muy poca memoria (por lo
general una cantidad constante): y (2) pueden encontrar a menudo soluciones
razonables en espacios de estados grandes o infinitos (continuos) para los cuales
son inadecuados los algoritmos sistemticos

Problemas de Optimizacin; Funcin Objetivo


Adems de encontrar los algoritmos de bsqueda ocal son tiles para resolver
problemas de optimizacin puros, en los cuales el objetivo es encontrar el mejor
estado segn una funcin objetivo. Muchos problemas de optimizacin no encajan
en el modelo (estndar) de bsqueda. Por ejemplo la naturaleza proporciona una
funcin objetivo (idoneidad o salud reproductiva) que la evolucin Darwiniana
intenta optimizar, pero no hay ningn test objetivo y ningn coste de camino
para este problema.

Sistemas Expertos - UJCM 2010

11

Para entender la bsqueda local, encontraremos muy til considerar la forma o el


paisaje del espacio de estados (4.10). el paisaje tiene posicin(definido por el
estado ) y elevacin(definido por el valor de la funcin de coste heurstica o
funcin objetivo). Si la elevacin corresponde al costo, entonces el objetivo es
encontrar el valle mas bajo (un minino global); si la elevacin corresponde a una
funcin objetivo es encontrar el poco mas alto (un mximo global). (Puedes
convertir uno en el otro solamente al insertar un signo menos). Los algoritmos de
bsqueda local exploran este paisaje. Un algoritmos de bsqueda local completo
siempre encuentra un objetivo si existe; un algoritmo ptimo siempre encuentran
un mnimo/ mximo global

BSQUEDA DE ASCENSIN DE COLINAS


Ascensin de Colinas
En la figura 4.11 se muestra el algoritmo de bsquedas de ascensin de colinas. Es
simplemente un bucle que continuamente se mueve en direccin del valor
creciente, es decir, cuesta arriba. Termina cuando alcanza un pico en donde
ningn vecino tiene un valor mas alto. El algoritmo no mantiene un rbol de
bsqueda, sino una estructura de datos del nodo actual que necesita solo el
registro del estado y su valor de funcin objetivo. La ascensin de colinas no mira
delante mas all de los vecinos inmediatos del estado actual.

BSQUEDA LOCAL VORAZ


A veces a la ascensin de colinas se le llama bsqueda local voraz porque toma un
estado vecino bueno sin pensar hacia donde ir despus. Aunque la avaricia sea
considerada uno de los siete pecado mortales, resulta que los algoritmos avaros
a menudo resultan bastante bien. La ascensin de colinas a menudo hace el
progreso muy rpido hacia una solucin, porque es por lo general bastante fcil
mejorar un estado malo. Por ejemplo, desde el estado en la figura 4.12(a), se
realizan solamente cinco pasos para alcanzar el estado de la figura 4.12(b), que
tiene H = 1 y es casi una solucin. Lamentablemente, la ascensin de colinas a
menudo se atasca por

Sistemas Expertos - UJCM 2010

12

BSQUEDA DE TEMPLE SIMULADO


Un algoritmo de ascensin de colinas que nunca hace movimientos cuesta abajo
hacia estados con un valor inferior (o coste mas alto) garantiza ser incompleto,
porque puede estancarse en un mximo local. En contraste, un camino puramente
aleatorio, es decir movindose a un sucesor elegido uniformemente aleatorio de un
conjunto de sucesores, es completo, pero sumamente. Por lo tanto, parece
razonable intentar combinar la ascensin de colinas con un camino aleatorio de
algn modo que produzca tanto eficacia como completitud. El temple simulado es
se algoritmo. Para entender el temple simulado hay que cambiar de vista de la
ascensin de colinas al gradiente descendente (es decir, minimizando el coste). El
bucle del algoritmo del temple simulado es bastante similar a la ascensin de
colinas. En vez de escoger el mejor movimiento, se escoge un movimiento
aleatorio. Si el movimiento mejora la situacin, es siempre aceptado.

BSQUEDA POR HAZ LOCAL


Guardar solamente un nodo en la memoria podra parecer una reaccin extrema
para el problema de limitaciones de memoria. El algoritmo de bsqueda por haz
local guarda la pista de K estados. Comienza con estados generados
aleatoriamente. En cada paso, se generan todos los sucesores de los K estados. Si
alguno es un objetivo separa el algoritmo. Por otra parte se seleccionan los K
mejores sucesores de la lista completa. En una bsqueda por haz local, la
informacin til es pasada entre los K hilos paralelos de bsqueda. En su forma mas
simple, la bsqueda de haz local puede sufrir una carencia de diversidad entre los K
estados (se pueden concentrar rpidamente en una pequea regin de espacio de
estados, haciendo de la bsqueda un poco mas que un versin cara de la ascensin
de colinas). Una variante llamada bsqueda de haz estocstica, anloga ayuda a
aliviar este problema, en ves d e elegir los K mejores conjuntos de sucesores
candidatos, la bsqueda de haz estocstica escoge K sucesores aleatoriamente, con
la probabilidad de elegir a un sucesor como una funcin creciente de su valor
ALGORITMOS GENTICOS
Un algoritmo gentico o (AG) es una variante de la bsqueda de haz estocstica en
la que los estados sucesores se generan combinando dos estados padres, mas que
Sistemas Expertos - UJCM 2010

13

modificar un solo estado. La analoga a la seleccin natural es la misma que con la


bsqueda de haz estocstica. Como en la bsqueda de haz, los AG comienzan con
un conjunto de K estados generados aleatoriamente, llamados poblacin. Cada
estado o individuo, esta representado como una cadena sobre un alfabeto finito
4. AGENTES DE BSQUEDA ONLINE Y AMBIENTES DESCONOCIDOS

Antes de abordar sobre los agentes de bsqueda online debemos tener en claro que
son los agentes de bsqueda offline para saber diferenciar unos de otros. Un agente
de bsqueda offline son aquellos que calculan una solucin completa antes de
poner un pie en el mundo real y luego ejecutan la accin sin recurrir a sus
percepciones.
En contraste un agente de bsqueda online funciona intercalando el clculo y la
accin: primero toma una accin, entonces observa el entorno y calcula la siguiente
accin. La bsqueda online es una buena idea en dominios dinmicos o
semidinmicos, y es una idea incluso mejor para dominios estocsticos. La
bsqueda online es una idea necesaria para un problema de exploracin, donde los
estados y las acciones son desconocidos por el agente; un agente en este estado de
ignorancia debe usar sus acciones como experimentos para determinar qu hacer
despus, y a partir de ah debe intercalar el clculo y la accin.
Los algoritmos offline como A* tiene la capacidad de expandir un nodo en una parte
del espacio y luego inmediatamente expandir un nodo en una parte del espacio,
porque la expansin de un nodo implica simulacin ms que verdaderas acciones.
Un algoritmo online, por otra parte, puede expandir el nodo que ocupa fsicamente.
APRENDIZAJE
La ignorancia inicial de los agentes de bsqueda online proporciona varias
oportunidades para aprender. Primero, los agentes aprenden un <<mapa>> del
entorno (mas precisamente, el resultado de cada accin en cada estado)
simplemente registrando cada una de sus experiencias. Segundo los agentes de
bsqueda locales adquieren estimaciones ms exactas del valor de cada estado
utilizando las reglas de actualizacin local.

Sistemas Expertos - UJCM 2010

14

5. CONCLUSIONES

Hemos examinado la aplicacin de las Heursticas para reducir los costos de la


bsqueda. Hemos mirado varios algoritmos que utilizan heursticas y encontramos
que la optimalidad tiene un precio excesivo en trminos del costo de bsqueda, aun
con heursticas buenas.

Bsqueda primero el mejor es una BUSQUEDA GRAFO donde los nodos no

expandidos de costo mnimo se escogen para la expansin.


Bsqueda primero el mejor avara expande con mnimo f(n)=g(n)=+h(n).

No es ptima, pero a menudo eficiente.


Bsqueda A* expande nodos con mnimo f(n)=g(n)=+h(n). A* es completa
y ptima, con tal que garanticemos que h(n) sea admisible (para BUSQUEDAARBOL) o consistente (para BUSQUEDA-GRAFO). La complejidad en espacio

de A* es todava prohibitiva.
El rendimiento de los algoritmos de bsqueda heurstica depende de la
calidad de la funcin heurstica. Las heursticas buenas pueden construirse a
veces relajando la definicin del problema, por costos de solucin
precalculados para sub-problemas en un modelo de bases de datos, o

aprendiendo de la experiencias con clases de problemas.


BRPM y A*MS son algoritmos de bsqueda robustos y ptimos que utilizan
cantidades limitadas de memoria; con suficiente tiempo, pueden resolver los

problemas que A* no puede resolver porque se queda sin memoria.


Los mtodos de bsqueda local, como la ascensin de colinas, operan en
formulaciones completas de estados, manteniendo solo un nmero pequeo

de nodos en memoria.
Un algoritmo gentico es una bsqueda de ascensin de colinas
estocstica en la que se mantiene una poblacin grande de estados. Los
estados nuevos se generan por mutacin y por cruce, combinando pares de

estados de la poblacin.
Los problemas de exploracin surgen cuando el agente no tiene la menor
idea acerca de los estados y acciones de su entorno. Para entonces
seguramente explorables, los agentes de bsqueda en lnea pueden
construir un mapa y encontrar un objetivo si existe. Las estimaciones de la
heurstica, que se actualizan por la experiencia, proporcionan un mtodo
efectivo para escapar de mnimos locales.

Sistemas Expertos - UJCM 2010

15

También podría gustarte