UNIVERSIDAD JOSÉ CARLOS MARIÁTEGUI FACULTAD DE INGENIERÍAS
MÉTODOS DE 10 BUSQUEDA CARRERA PROF. DE INGENIERIA DE SISTEMAS E INFORMÁTICA INFORMADAS Docente del Curso Sistemas Docente Expertos: Ing. Yuri Román Lazarinos Autores: Jonathan Revilla Castro Alexander Valdivia Pinazo Verónica Cruz Muñoico David Motocanche Chata Williams Lujano Ticona
Sistemas Expertos - UJCM © 2010
1
INDICE 1.1.Estrategias de Búsqueda Informada ………… …… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ……
3
Búsqueda Voraz primero el mejo mejor… r……… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………. …...
3
Búsqueda A*: minimizar el costo estimado total de la solución ………………………… ……………………………….…. …….…... 4 Búsqueda heurística con memoria acotada ……………………………………………………..…………..
5
Aprende a buscar mejor………………………………………………………………. mejor………………………………………………………………... ………………………..…..
6
1.2.Funciones Heurísticas ……………………………………………………………………………………..………….. 8 Inventar Funciones heurísticas admisi admisible bles…… s…………… ……………… ……………… ……………… ……………… ……………… ………..… ..………… ………... ... 8 Aprendizaje de heurísticas desde la experiencia……………………………………………..………….. experiencia……………………………………………..………… .. 9
1.3.Algoritmos de Búsqueda Local y problemas de optimización ……………………………………...
10
Problemas de Búsqueda en líne línea… a……… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………… ………. …..… .……… ………. …...
10
Agentes de Búsqueda en línea………………………………………………. ………………………..…………..
11
Búsqueda por haz local …………………………………………………………………………………..………….. 11 Algoritmos genéticos…………………………………………… genéticos…………………………………………….. .. ………… …… ………… ………… ………… ………… ………… ………. …..… .……… ………. …... 12
1.4.Agentes de Búsqueda online y Ambientes Desconocidos…………………….. Desconocidos…………………….. ……………..………..
13
1.5.Conclusiones……………………..……………………………………………………... ………… …… ………… ………… ………. …..… .……… …….. .. 14
Sistemas Expertos - UJCM © 2010
2
1. ESTRATEGIA ESTRATEGIAS S DE BÚSQUEDA BÚSQUEDA INFORM INFORMADA ADA (HEURIST (HEURISTICAS) ICAS)
Esta sección muestra cómo una estrategia de búsqueda informada puede encontrar soluciones de una manera más eficiente eficiente que una estrategia estrategia no informada. Algunas estrategias son:
BÚSQUEDA VORAZ PRIMERO EL MEJOR Trata Trata de expandir el nodo más cercano cercano al objetivo, objetivo, alegando alegando que probablemente probablemente conduzca rápidamente a una solución. Así, evalúa los nodos utilizando solamente la función heurística: f(n)=h(n).
Veam Veamos os cómo cómo trab trabaj aja a para para los los prob proble lema mas s de enco encont ntra rarr una una ruta ruta en Ruma Rumani nia a utilizando la heurística distancia en línea recta, que llamaremos hDLR. Si el objetivo es Bucarest, tendremos que conocer las distancias en línea recta a Bucarest, que se muestran en el siguiente grafico:
Sistemas Expertos - UJCM © 2010
3
Etapas en una búsqueda primero el mejor avara para buscar Bucarest utilizando la heurística distancia en línea recta h DLR. Etiquetamos los nodos con sus h-valores.
BÚSQUEDA A*: MINIMIZAR EL COSTO ESTIMADO TOTAL DE LA SOLUCIÓN Sistemas Expertos - UJCM © 2010
4
A la forma más ampliamente conocida de la búsqueda primero el mejor se le llama búsqueda A* (pronunciada “búsqueda A-estrella”). Evalúa 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 más barato desde n al objetivo, tenemos: f(n)= coste más barato estimado de la solución a través de n Así, tratamos de encontrar la solución más barata, es razonable intentar primero el nodo con el valor más bajo de g(n). Result Resulta a que esta esta estrat estrategi egia a es más que razonable: con tal de que la función heurística h(n) satisfaga ciertas condiciones, la búsqueda A* es tanto compleja como optima. 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 heurística admisible, es decir, con tal de que que la h(n) nunca nunca subest subestime ime el coste coste de alcanz alcanzar ar el objeti objetivo. vo. Las heurís heurístic ticas as 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 solución a través 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 espacio de estados, como como las curvas de nivel en un mapa topográfico. Dentro de la curva de nivel etiquetada con 400, todos los nodos tienen la f(n) menor o igual a 400, etcétera. Entonces, debido a que A* expande el nodo de frontera de f-coste más bajo, podemos ver que A* busca hacia fuera desde el nodo inicial, añadiendo nodos en bandas concéntricas 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.
Sistemas Expertos - UJCM © 2010
5
Con la búsqueda búsqueda de coste coste uniforme uniforme (búsqueda A* utilizando utilizando h(n) = 0), las bandas serán serán “circulare “circulares” s” alrededor alrededor del estado estado inicial. inicial. Con heurísticas heurísticas más precisas, precisas, las bandas estiraran hacia el estado objetivo y se harán más concéntricas alrededor del camino optimo. Si C* es el coste del camino de solución óptimo, entonces podemos decir lo siguiente: • •
A* expande todos los nodos con f(n) < C*. A* entonces podría expandir algunos nodos directamente sobre “la curva de nivel objetivo” (donde la f(n) = C*) C*) antes de seleccionar un nodo objetivo.
Por intuición, es obvio que la primera solución encontrada debe ser optima, porque los nodos objetivos en todas las curvas de nivel siguientes tendrán el f-coste más alto, y así el g-coste más alto (porque todos los nodos de objetivo tienen h(n) = 0). Por intuición, es también obvio que la búsqueda A* es completa. Como añadimos las bandas de f creciente, al final debemos alcanzar una banda donde f sea igual al coste del camino a un estado objetivo.
BÚSQUEDA HEURÍSTICA CON MEMORIA ACOTADA La forma más simple de reducir la exigencia de memoria para A* es adaptar la idea de profundizar iterativamente al contexto de búsqueda heurística, resultando así el algoritmo algoritmo A* de profundidad profundidad iterativa iterativa (A*PI). La diferencia diferencia principal principal entre entre A*PI y la profundidad iterativa estándar es que el corte utilizado es el f-coste f-coste (g+h) más que la profundidad; en cada iteración, el valor del coste es el f-coste más pequeño de cualquier nodo que excedió el corte de la iteración anterior. A*PI es práctico para much muchos os prob proble lema mas s con con cost costos os unid unidad ad y evit evita a el trab trabaj ajo o asoc asocia iado do con con el mantenimiento de una cola ordenada de nodos.
La búsqueda recursiva del primero mejor (BRMP) es un algoritmo sencillo recursivo que intenta imitar la operación de la búsqueda primero el mejor estándar, pero utilizando solo un espacio lineal.
Sistemas Expertos - UJCM © 2010
6
Etapas en una búsqueda BRMP para la ruta más corta a Bucarest. Bucarest. Se muestra el valor de flímite límite para cada cada llamad llamada a recurs recursiva iva sobre sobre cada cada nodo nodo actua actual. l. (a) Se sigue sigue el camin camino o vía Rimnicu Vilcea hasta que la mejor hoja actual (Pitesti) tenga un valor que es peor que el mejor valor de las hojas del subárbol olvidado (417) se le devuelve hacia atrás a Rimnicu Vilcea; entonces se expande Fagaras, revela un mejor valor de hoja (450). (c) La recursividad se aplica el mejor valor de las hojas del subárbol olvidado (450) se le devuelve hacia atrás a Fagaras; entonces se expande Rimnicu Vilcea. Esta vez, debido a que el mejor camino alternativo por lo menos 447, la expansión sigue por Bucarest.
A*MS es un algoritmo más sencillo, avanza avanza como A*, expandiendo expandiendo la mejor hoja hasta que la memoria este llena. En este punto, no se puede añadir un nuevo nodo al árbol de búsqueda sin retirar uno viejo. A*MS siempre retira el peor nodo hoja (el de f-valor más alto). Como en la BRMP, A*MS entonces devuelve hacia atrás, a su padre, el valor del nodo olvidado.
Sistemas Expertos - UJCM © 2010
7
A*MS expande expande la mejor hoja hoja y suprime la peor peor hoja y suprime la peor peor hoja. ¿Y si todo todos s los los nodo nodos s hoja hoja tien tienen en el mism mismo o f-va f-valo lor? r? Ento Entonc nces es el algo algori ritm tmo o podr podría ía seleccionar el mismo nodo para eliminar y expandir. A*MS soluciona este problema expandiendo la mejor hoja mas nueva y suprimiendo la peor hoja más vieja. vieja.
APRENDE A BUSCAR MEJOR Hemos Hemos presentado presentado varias estrategias estrategias fijas (primero (primero en anchura, anchura, primero primero el mejor avara, etcétera) diseñadas por informáticos. ¿Podría un agente aprender a buscar mejor? mejor? La respuesta respuesta es sí, y el método se apoya apoya sobre un concepto concepto importante importante llamado el espacio de estados metanivel. Cada estado en un espacio de estados a nivel objeto como Rumania. Para Para prob proble lema mas s más más difí difíci cile les s habr habrá á much mucho o más más erro errore res, s, y un algo algorit ritmo mo de aprendizaje metanivel puede aprender de estas experiencias para evitar explorar arboles no prometedores. El objetivo del aprendizaje es reducir al mínimo el coste total de resolver el problema, compensar el costo computacional y el coste del camino.
Sistemas Expertos - UJCM © 2010
8
1. FUNCI FUNCIONE ONES S HEURÍS HEURÍSTIC TICAS AS
La heurística ofrece un estudio de métodos para descubrir e inventar técnicas para la resolución de problemas, por esta razón son objeto de estudio las funciones heurísticas.
¿QUÉ ES UNA FUNCIÓN HEURÍSTICA? La pala palabr bra a heur heurís ísti tica ca,, se deri deriva va del del verb verbo o grieg griego o
heuriskein,
que que sign signif ific ica a
"encontrar "encontrar"" o "descubrir" "descubrir".. El término término técnico técnico "heurística "heurística"" ha adoptado adoptado diversas connotaciones a lo largo de la historia de la IA. Actualmente, el término heurística se utiliza más bien como adjetivo, para referirse a cualquier técnica que permita mejorar el desempeño de caso promedio en una tarea de resolución de problemas, aunque no necesariamente permita mejorar el desempeño del peor de los casos. Específicamente, en el área de los algoritmos de búsqueda, se refiere a una función mediante la cual se obtiene un estimado del costo de una solución.
INVENTAR FUNCIONES HEURISTICAS ADMISIBLES A un proble problema ma con menos menos restri restricci ccione ones s en las accio acciones nes se le llama llama proble problema ma relajado. El costo de una solución óptima en un problema relajado es una heurística admisible para el problema original. La heurística es admisible porque la solución óptima óptima en el proble problema ma origin original al es, por definici definición, ón, tambié también n una soluc solución ión en el problema relajado y por lo tanto debe ser al menos tan cara como la solución optima en el problema relajado. Un problema con la generación de nuevas funciones heurísticas es que a menudo se fall falla a al cons conseg egui uirr una una heur heurís ísti tica ca << < r>>. >. Cuan Cuando do no se encuentra la mejor heurística se puede utilizar la mejor de todas combinando dichas funciones como se muestra a continuación: h = máx. {h1(n),….hn(n)}
INVE INVENT NTAR AR
FUNC FUNCIO IONE NES S
HEUR HEURÍS ÍSTI TICA CAS S
PROB PROBLE LEMA MA
RELA RELAJO JO
-
MENO MENOS S
RESTRICCIONES IMPUESTA 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. Sistemas Expertos - UJCM © 2010
9
•
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 puede mover del cuadrado cuadrado A al B si B esta vació. vació.
•
Un tejo se puede mover del cuadrado A al B.
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.
•
Usar información estadística obtenida durante entrenamientos con ejemplos para la predicció predicción n de valores valores heurística heurísticas s para los nodos, nodos, con el riesgo de generar funciones heurísticas inadmisibles.
APRENDIZAJE DE HEURISTICAS DESDE LA EXPERIENCIA Una función heurística h(n), como se supone, estima el costo de una solución que comienza desde el estado en el nodo n. ¿Cómo podría un agente construir tal función? Se dio una solución en la sección anterior (idear problemas relajados para los cuales cuales puede encontrarse encontrarse fácilmente fácilmente una solución solución optima). optima). Otra solución solución es aprender aprender es aprender de la experiencia experiencia.. < experiencia>> > aquí significa significa
la
solución de muchos 8-puzle, 8-puzle, por ejemplo cada solución óptima de un problema del 8 puzle proporc proporcion iona a ejempl ejemplos os para que pueda aprende aprenderr
la función función h(n). h(n). Cada Cada
ejemplo se compone de un estado del camino solución y el costo real de la solución desde ese punto. A partir partir de estos estos ejemplos ejemplos se puede puede utilizar utilizar un algoritmo de aprendizaje aprendizaje inductivo para construir una función h(n) que pueda (con suerte) predecir los costos solución para otros estados que surjan durante la búsqueda. Las técnicas para hacer esto utilizando redes neuronales, árboles de decisión y otros métodos. Los métodos de aprendizaje inductivos trabajan mejor cuando se les subministra características de un estado que sean relevantes para su evolución, más que solo la descripción del estado.
Sistemas Expertos - UJCM © 2010
10
3. ALGORITMOS DE BÚSQUEDA LOCAL Y PROBLEMAS DE OPTIMIZACIÓN
Los algoritmo algoritmos s de búsqueda búsqueda que hemos hemos visto hasta hasta ahora ahora se diseñan diseñan para explorar sistemáticamente espacio de búsqueda. Esta forma sistemática se alcanza manteniend manteniendo o uno o más caminos en memoria memoria y registrando registrando alternativa alternativas s se han explorado en cada punto a lo largo del camino y cuáles no. Cuando se encuentran un objetivo, el camino a ese objetivo también constituye una solución al problema.
BÚSQUEDA 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 búsqueda local funcionan con un solo estado actual (mas que múltiples caminos) y generalmente se mueve soplo a dos vecinos del estado. Típicamente, los caminos seguidos por la búsqueda no se retienen. Aunque los algoritmos de búsqueda local no son sistemáticos, tienen dos ventajas calves: (1) usan muy poca memoria (por lo genera generall una cantid cantidad ad consta constante nte): ): y (2) (2) pueden pueden encont encontrar rar a menudo menudo soluc solucion iones es razonables en espacios de estados grandes o infinitos (continuos) para los cuales son inadecuados los algoritmos sistemáticos
Problemas de Optimización; Función Objetivo Además Además de encontrar encontrar los algoritm algoritmos os de búsqueda búsqueda ocal son útiles para para resolver resolver problemas de optimización puros, en los cuales el objetivo es encontrar el mejor estado según una función objetivo. Muchos problemas de optimización no encajan en el modelo (estándar) de búsqueda. Por ejemplo la naturaleza proporciona una función función objetivo objetivo (idoneidad (idoneidad o salud reproducti reproductiva) va) que la evolución evolución Darwiniana Darwiniana
Sistemas Expertos - UJCM © 2010
11
intenta optimizar, pero no hay ningún “test objetivo” y ningún “coste de camino” para este problema.
Para entender la búsqueda local, encontraremos muy útil considerar la forma o el paisaje del espacio de estados (4.10). el paisaje tiene “posición”(definido por el estado ) y “elevación”(definido por el valor de la función de coste heurística o funció función n objeti objetivo) vo).. Si la elevac elevación ión corres correspon ponde de al costo, costo, entonc entonces es el objeti objetivo vo es encontrar el valle mas bajo (un minino global); si la elevación corresponde a una funció función n objeti objetivo vo es encontr encontrar ar el poco poco mas mas alto alto (un máximo máximo global). global). (Puedes (Puedes convertir uno en el otro solamente al insertar un signo menos). Los algoritmos de búsqueda local exploran este paisaje. Un algoritmos de búsqueda local completo siempre encuentra un objetivo si existe; un algoritmo óptimo siempre encuentran un mínimo/ máximo global
BÚSQUEDA DE ASCENSIÓN DE COLINAS Ascensión de Colinas En la figura 4.11 se muestra el algoritmo de búsquedas de ascensión de colinas. Es simp simple leme ment nte e un bucl bucle e que que cont contin inua uame ment nte e se muev mueve e en dire direcc cció ión n del del valo valorr creciente, es decir, cuesta arriba. Termina cuando alcanza “un pico” en donde ningún ningún vecino vecino tiene tiene un valor valor mas alto. alto. El algori algoritmo tmo no mantie mantiene ne un árbol árbol de búsque búsqueda, da, sino una estruct estructura ura de datos datos del nodo actual actual que necesita necesita solo solo el registro del estado y su valor de función objetivo. La ascensión de colinas no mira delante mas allá de los vecinos inmediatos del del estado actual. actual.
BÚSQUEDA LOCAL VORAZ A veces a la ascensión de colinas se le llama búsqueda local voraz porque toma un estado vecino bueno sin pensar hacia donde ir después. Aunque la avaricia sea considerada uno de los siete pecado mortales, resulta que los algoritmos avaros a menudo menudo result resultan an basta bastante nte bien. bien. La ascen ascensió sión n de colinas colinas a menudo menudo hace hace el Sistemas Expertos - UJCM © 2010
12
progreso progreso muy rápido rápido hacia hacia una solució solución, n, porque porque es por lo genera generall bastante bastante fácil fácil mejora mejorarr un estado estado malo. Por ejempl ejemplo, o, desde desde el estado estado en la figura figura 4.12(a 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 solución. Lamentablemente, la ascensión de colinas a menudo se atasca por
BÚSQUEDA DE TEMPLE SIMULADO Un algoritmo de ascensión ascensión de colinas que nunca hace movimientos movimientos “cuesta abajo” abajo” hacia estados con un valor inferior (o coste mas alto) garantiza ser incompleto, porque puede estancarse en un máximo local. En contraste, un camino puramente aleatorio, es decir moviéndose a un sucesor elegido uniformemente aleatorio de un conj conjun unto to de suce suceso sore res, s, es comp comple leto to,, pero pero suma sumame ment nte. e. Por Por lo tant tanto, o, parec parece e razonable intentar combinar la ascensión de colinas con un camino aleatorio de algún modo que produzca tanto eficacia como completitud. El temple simulado es se algoritmo. algoritmo. Para entender entender el temple temple simulado simulado hay que cambiar cambiar de vista de la ascensión de colinas al gradiente descendente (es decir, minimizando el coste). El bucle bucle del algori algoritmo tmo del temple temple simula simulado do es bastan bastante te simila similarr a la ascen ascensió sión n de coli colina nas. s. En vez vez de esco escoge gerr el mejo mejorr movi movimi mien ento to,, se esco escoge ge un movi movimi mien ento to aleatorio. Si el movimiento mejora la situación, es siempre aceptado.
BÚSQUEDA POR HAZ LOCAL Guardar Guardar solamente solamente un nodo en la memoria podría podría parecer parecer una reacción reacción extrema para el problema de limitaciones de memoria. El algoritmo de búsqueda por haz loc local guar guard da la pist pista a de K estado tados s. Com Comienz ienza a con con esta estado dos s gene genera rado dos s aleatoriamente. En cada paso, se generan todos los sucesores de los K estados. Si alguno alguno es un objeti objetivo vo separa separa el algori algoritmo tmo.. Por otra parte parte se selecci selecciona onan n los K mejo mejore res s suce suceso sore res s de la list lista a comp complet leta. a. En una búsq búsque ueda da por por haz haz loca local, l, la información útil es pasada entre los K hilos paralelos de búsqueda. En su forma mas simple, la búsqueda de haz local puede sufrir una carencia de diversidad entre los K estados (se pueden concentrar rápidamente en una pequeña región de espacio de estados, haciendo de la búsqueda un poco mas que un versión cara de la ascensión de colinas). colinas). Una Una variante variante llamada llamada búsqueda de haz estocástica, análoga ayuda a Sistemas Expertos - UJCM © 2010
13
alivia aliviarr este este proble problema, ma, en ves d e elegir elegir los K mejor mejores es conjunto conjuntos s de sucesore sucesores s candidatos, la búsqueda de haz estocástica escoge K sucesores aleatoriamente, con la probabilidad de elegir a un sucesor como como una función creciente creciente de su valor
ALGORITMOS GENÉTICOS Un algoritmo genético o (AG) es una variante de la búsqueda de haz estocástica en la que los estados sucesores se generan combinando dos estados padres, mas que modificar un solo estado. estado. La analogía a la selección selección natural es la misma misma que con la búsqueda de haz estocástica. Como en la búsqueda de haz, los AG comienzan con un conjunto conjunto de K estados estados generados generados aleatoriamen aleatoriamente, te, llamados llamados población. población. Cada estado o individuo, esta representado representado como una cadena sobre un alfabeto finito finito
4. AGENTES DE BÚSQUEDA ONLINE Y AMBIENTES DESCONOCIDOS
Antes de abordar sobre los agentes de búsqueda online debemos tener en claro que son los agentes de búsqueda offline para saber diferenciar unos de otros. Un agente de búsqueda offline son aquellos que calculan una solución completa antes de pone ponerr un pie pie en el mund mundo o real real y lueg luego o ejec ejecut utan an la acci acción ón sin sin recu recurr rrir ir a sus sus percepciones. En contraste un agente de búsqueda online funciona intercalando el cálculo y la acción: primero toma una acción, entonces observa el entorno y calcula la siguiente acci acción ón.. La búsq búsque ueda da onli online ne es una una buen buena a idea idea en domi domini nios os diná dinámi mico cos s o semi semidi diná námi mico cos, s, y es una una idea idea incl inclus uso o mejo mejorr para para domi domini nios os esto estocá cást stic icos os.. La búsqueda online es una idea necesaria para un problema de exploración, 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 después, y a partir de ahí debe intercalar el cálculo y la acción. 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 expansión de un nodo implica simulación más que verdaderas acciones. Un algoritmo online, por otra parte, puede expandir el nodo que ocupa físicamente.
APRENDIZAJE La igno ignora ranc ncia ia inic inicia iall de los los agen agente tes s de búsq búsque ueda da onli online ne prop propor orci cion ona a varia varias s oportunidades para aprender. Primero, los agentes aprenden un <> del ento entorn rno o (mas (mas prec precis isam amen ente te,, el resu result ltad ado o de cada cada acci acción ón en cada cada esta estado do)) simplemente registrando cada una de sus experiencias. Segundo los agentes de búsqueda búsqueda locales locales adquieren adquieren estimacio estimaciones nes más exactas del valor valor de cada estado utilizando las reglas de actualización local. Sistemas Expertos - UJCM © 2010
14
5. CONCLUSIONES
Hemos examinado la aplicación de las Heurísticas para reducir los costos de la búsqueda. Hemos mirado varios algoritmos que utilizan heurísticas y encontramos que la optimalidad tiene un precio excesivo en términos del costo de búsqueda, aun con heurísticas buenas.
•
Búsqueda primero el mejor es una BUSQUEDA GRAFO donde los nodos no expandidos de costo mínimo se escogen para la expansión.
•
Búsqueda primero el mejor avara expande con mínimo f(n)=g(n)=+h(n). No es óptima, pero a menudo eficiente.
•
Búsqueda A* expande nodos con mínimo 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 todavía prohibitiva.
•
El rendim rendimien iento to de los algori algoritmo tmos s de búsque búsqueda da heurís heurístic tica a depend depende e de la calidad de la función heurística. Las heurísticas buenas pueden construirse a vece veces s rela relaja jand ndo o la defi defini nici ción ón del del prob proble lema ma,, por por cost costos os de solu soluci ción ón precal precalcul culado ados s para para sub-pr sub-probl oblema emas s en un modelo modelo de bases bases de datos, datos, o aprendiendo de la experiencias con clases de problemas.
•
BRPM y A*MS son algoritmos de búsqueda 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 métodos de búsqueda local, como la ascensión de colinas, operan en formulaciones completas de estados, manteniendo solo un número pequeño de nodos en memoria.
•
algoritmo genético genético es una Un algoritmo una búsq búsque ueda da de asce ascens nsió ión n de coli colina nas s estocástica en la que se mantiene una población grande de estados. Los estados nuevos se generan por mutación y por cruce, combinando pares de estados de la población.
•
Los problemas de exploración surgen cuando el agente no tiene la menor idea idea acer acerca ca de los los esta estado dos s y acci accion ones es de su ento entorn rno. o. Para Para ento entonc nces es segura seguramen mente te explor explorabl ables, es, los agente agentes s de búsque búsqueda da en línea línea pueden construir construir un mapa y encontrar encontrar un objetivo objetivo si existe. existe. Las estimacio estimaciones nes de la heurística, que se actualizan por la experiencia, proporcionan un método efectivo para escapar de mínimos locales.
Sistemas Expertos - UJCM © 2010
15