Anda di halaman 1dari 15

INTRODUCCION

Similares a los algoritmos genticos, aunque ms sistemticos y menos aleatorios. Un algoritmo de ascenso a colina comienza con una solucin al problema a mano, normalmente elegida al azar. Luego, la cadena se muta, y si la mutacin proporciona una solucin con mayor aptitud que la solucin anterior, se conserva la nueva solucin; en caso contrario, se conserva la solucin actual. Luego el algoritmo se repite hasta que no se pueda encontrar una mutacin que provoque un incremento en la aptitud de la solucin actual, y esta solucin se devuelve como resultado (Koza et al. 2003[42], p. 59). (Para entender de dnde viene el nombre de esta tcnica, imagine que el espacio de todas las soluciones posibles de un cierto problema se representa como un paisaje tridimensional. Un conjunto de coordenadas en ese paisaje representa una solucin particular. Las soluciones mejores estn a mayor altitud, formando colinas y picos; las que son peores estn a menor altitud, formando valles. Un ascenso a la colina '' es, por tanto, un algoritmo que comienza en un punto dado del paisaje y se mueve inexorablemente colina arriba). El algoritmo de ascenso a colina es lo que se conoce como algoritmo voraz, lo que significa que siempre hace la mejor eleccin disponible en cada paso, con la esperanza de que de esta manera se puede obtener el mejor resultado global.

Inteligencia Artificial
ALGORITMO HILL CLIMBING Tambin es conocido como el mtodo de ascenso de colinas. Usa una tcnica de mejoramiento iterativo. Comienza a partir de un punto (punto actual) en el espacio de bsqueda Si el nuevo punto es mejor, se transforma en el punto actual, si no, otro punto vecino es seleccionado y evaluado. El mtodo termina cuando no hay mejoras, o cuando se alcanza un nmero redefinido de iteraciones Escalada Simple - Dirigirse siempre a un estado mejor que el actual - Funcin Heurstica de proximidad - No se mantiene reporte de los estados anteriores - Es un mtodo local, sus movimientos estn determinados por ser mejores que los previos. Escalada por mxima pendiente Buscar no solamente un estado mejor que el actual, sino el mejor de todos los estados posibles (Mxima Pendiente). Ascenso a Colina (Hill Climbing) Es una variante del algoritmo de bsqueda de Best First. Usan una tcnica de mejoramiento iterativo. Comienzan a partir de un punto (punto actual) en el espacio de bsqueda En cada iteracin, un nuevo punto es seleccionado de la vecindad del punto actual. Si el nuevo punto es mejor, se transforma en punto actual, sino otro punto vecino es seleccionado y evaluado

Ascensin a la Cima

Pgina 2

Inteligencia Artificial
El mtodo termina cuando no hay mejoras, o cuando se alcanza un nmero predefinido de iteraciones. Del procedimiento de prueba existe una realimentacin que ayuda al generador a decidirse por cual direccin debe moverse en el espacio de bsqueda. En estos procesos se abandona la bsqueda si no existe un estado alternativo razonable al que se pueda mover. Los algoritmos de ascenso a colina son tpicamente locales, ya que deciden qu hacer, mirando nicamente a las consecuencias inmediatas de sus opciones. Puede que nunca lleguen a encontrar una solucin, si son atrapados en estados que no son el objetivo, desde donde no se puede hallar mejores estados, por ejemplo: 1. Un mximo local: Estado mejor que sus vecinos pero no es mejor que otros que estn algo ms alejados. 2. Una meseta: Es un espacio de bsqueda en el que todo un conjunto de estados vecinos tienen igual valor. 3. Un risco: que es un tipo especial de mximo local, imposible de atravesar con movimientos simples. 4. Planicie: son reas del espacio de estados en donde la funcin de evaluacin bsicamente es plana. Hay algunas formas que pueden ayudar a resolver estos problemas, aunque no existe garanta: 1. Para evitar mximos locales, regresar a un estado anterior y explorar en una direccin diferente. 2. Para casos de mesetas, dar un salto grande en alguna direccin y tratar de encontrar una nueva seccin del espacio de estados. 3. Para los riscos, aplicar dos o ms reglas, antes de realizar una prueba del nuevo estado, esto equivale a moverse en varias direcciones a la vez.

Ascensin a la Cima

Pgina 3

Inteligencia Artificial
En todos los casos anteriores, el algoritmo llega un punto ms all del cual no se logra ningn avance. Cuando esto sucede es obvio que debe empezarse de nuevo en otro punto. Y esto es justamente lo que hace con ascenso de cima con reinicio aleatorio, efecta una serie de bsquedas de ascenso de cima desde estados iniciales generados aleatoriamente. Se guarda el mejor resultado que hasta un momento dado se haya obtenido en las diversas bsquedas. Puede usar un nmero fijo de iteraciones, o puede continuar hasta que el mejor de los resultados almacenados no haya sido mejorado para cierta cantidad de iteraciones. PARA QU SIRVE EL ALGORITMO HILL CLIMBING? Se emplean sobre todo para resolver problemas de optimizacin, como por ejemplo, encontrar la secuencia ptima para procesar un conjunto de tareas por un computador, hallar el camino mnimo de un grafo, etc. Su nombre se debe a que mientras usted se est levantando, usted se est moviendo ms cerca al grado optimo. CARACTERSTICAS DEL ALGORITMO HILL CLIMBING: Informado: Utiliza informacin del estado por elegir un nodo u otro. No exhaustivo: No explora todo el espacio de estados. Como mximo, slo encuentra una solucin. Encuentra buenas soluciones, pero no la mejor puesto que no es exhaustivo. Es eficiente, porque evita la exploracin de una parte del espacio de estados.

Ascensin a la Cima

Pgina 4

Inteligencia Artificial
Es til si se tiene una funcin heurstica muy buena o cuando los Operadores de transicin entre estados tienen cierta independencia (conmutativa), que implica que la operacin de un operador no altera la futura aplicacin de otro. No guarda los estados anteriores. VENTAJAS Y DESVENTAJAS DEL ALGORITMO HILL CLIMBING: Ventajas: Reduce el nmero de nodos a analizar. Dado su bajo costo computacional es la estrategia de bsqueda ms utilizada en optimizacin y aprendizaje. Desventajas: Cuando existen "colinas falsas" ocurre qu el algoritmo de vuelta hacia atrs de manera extensa. Todos los nodos pueden parecer igualmente buenos.
CMO FUNCIONA EL ALGORITMO HILL CLIMBING? Usan una tcnica de mejoramiento iterativo. Comienzan a partir de un punto (punto actual) en el espacio de bsqueda En cada iteracin, un nuevo punto es seleccionado de la vecindad del punto actual. Si el nuevo punto es mejor, se transforma en punto actual, sino otro punto vecino es seleccionado y evaluado El mtodo termina cuando no hay mejoras, o cuando se alcanza un nmero predefinido de iteraciones. Del procedimiento de prueba existe una realimentacin que ayuda al generador a decidirse por cual direccin debe moverse en el espacio de bsqueda.

Ascensin a la Cima

Pgina 5

Inteligencia Artificial
En estos procesos se abandona la bsqueda si no existe un estado alternativo

razonable al que se pueda mover. Los algoritmos de ascenso a colina son tpicamente locales, ya que deciden qu hacer, mirando nicamente a las consecuencias inmediatas de sus opciones. Puede que nunca lleguen a encontrar una solucin, si son atrapados en estados que no son el objetivo, desde donde no se puede hallar mejores estados. HEURISTICA Viene del griego heuriskeinque significa encontrar o descubrir. 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. Las heursticas son formalizadas como reglas para elegir (buscar) las ramas en el espacio de estados que son ms probables de llegar a una solucin aceptable del problema. Actualmente, la heurstica es ms frecuentemente usada como un adjetivo para referirse a cualquier tcnica que mejore la media del proceso de solucin de problemas. En esencia una heurstica es simplemente un conjunto de reglas que evalan la posibilidad de que una bsqueda va en la direccin correcta. Generalmente los mtodos de bsqueda heursticas se basan en maximizar o minimizar algunos aspectos del problema.

Ascensin a la Cima

Pgina 6

Inteligencia Artificial
Ejemplo: Un hombre se encuentra en una extensa llanura y tiene sed, en ese momento ha llegado a una pequea elevacin que es la nica en esa regin y se sube a ella. Desde la elevacin el hombre observa el cuadro siguiente: NORTE: vegetacin verde y movimiento de animales SUR: vegetacin amarilla ESTE: vegetacin amarilla OESTE: vegetacin verde Evidentemente la vegetacin verde es un indicio de que hay humedad, luego es muy probable que exista agua en la superficie o subterrnea. El movimiento de animales puede indicar que ellos se dirigen all a beber, lo cual sugiere que el agua est en la superficie. Esta informacin le dice al hombre que debe dirigirse al norte, constituye una heurstica. La Heurstica no garantiza que siempre se tome la direccin de la bsqueda correcta, por eso este enfoque no es ptimo sino suficientemente bueno. Frecuentemente son mejores los mtodos heursticos que los mtodos de bsquedas a ciegas. DESVENTAJAS Y LIMITACIONES La flexibilidad inherente de los mtodos heursticos pueden conducir a errores o a manipulaciones fraudulentas. Ciertas heursticas se pueden contradecir al aplicarse al mismo problema, lo cual genera confusin y hacen perder credibilidad a los mtodos heursticos. Soluciones ptimas no son identificadas. Las mejoras locales determinadas por las heursticas pueden cortar el camino a soluciones mejores por la falta de

Ascensin a la Cima

Pgina 7

Inteligencia Artificial
una perspectiva global. La brecha entre la solucin ptima y una generada por heurstica puede ser grande. FUNCIONES HEURISTICAS La funcin heurstica puede tener dos interpretaciones. Por una parte, la funcin puede ser una estimacin de lo prximo que se encuentra el estado de un estado objetivo. Bajo esta perspectiva, los estados de menor valor heurstico son los preferidos. Pero en otros casos puede suceder que lo que convenga sea maximizar esa funcin. QU ES LA FUNCIN OBJETIVO O LA FUNCIN HEURSTICA? FUNCIN HEURSTICA: Una heurstica es una regla o mtodo que gua la decisin que hacemos al elegir un nodo que explorar, aunque no siempre permite hacer la mejor eleccin. ESCALADA SIMPLE Se busca cualquier operacin que suponga una mejora respecto al padre Dirigirse siempre a un estado mejor que el actual Funcin Heurstica de proximidad No se mantiene reporte de los estados anteriores Es un mtodo local, sus movimientos estn determinados por ser mejores que los previos. EJEMPLO

Problema Gasolineras
Se dispone de un grafo a partir del cual tenemos las distancias entre los diferentes puntos de una ciudad. El problema pretende colocar g gasolineras en la ciudad lo mximo distanciadas posibles.

Ascensin a la Cima

Pgina 8

Inteligencia Artificial
No tendr en cuenta la central de abastecimiento puesto que no tiene ningn sentido si solo pretendemos separar las gasolineras. El algoritmo genera aleatoriamente el mapa de la ciudad y la cantidad de gasolineras. Heurstico Como heurstico del problema he considerado oportuno utilizar el algoritmo de Dijkstra para encontrar el camino de distancia mnima entre dos gasolineras. Si bien es verdad que realmente nos interesa el camino de distancia mximo, no resulta complicado invertir el resultado. El heurstico es: Para toda i,j que existen dentro del nmero de gasolineras. h'(n) = 9999 - sumatorio( distancia_minima(i,j) ); Haciendo esto pretendo que h' dependa de las distancias entre las gasolineras en funcin de la posicin dentro del mapa. RESULTADO 1 El problema dispone de dos operadores: - Desplazar una gasolinera a una posicin adyacente sin ocupar. - Intercambiar la posicin entre dos gasolineras adyacentes. Los diferentes pasos los podemos observar de la siguiente manera: g={4,5,3} Nos indica que existen tres gasolineras. g[0] (Gasolinera 0) se encuentra en el vertice 4. g[1] (Gasolinera 1) se encuentra en el vertice 5. g[2] (Gasolinera 2) se encuentra en el vertice 3.

Ascensin a la Cima

Pgina 9

Inteligencia Artificial
EJECUCIN DEL ALGORITMO
======GRAFO MAPA CIUDAD====== (0,0) = Distancia: 9 (1,0) = Distancia: 4 (1,1) = Distancia: 2 (2,0) = Distancia: 0 (2,1) = Distancia: 9 (2,2) = Distancia: 2 (3,0) = Distancia: 5 (3,1) = Distancia: 2 (3,2) = Distancia: 8 (3,3) = Distancia: 2 ARESTAS: 10 VERTICES: 4 GASOLINERAS: 2 ============================= g={0,1} heuristico del estado inicial: 9991 ==========HILLCLIMBING========= cost of result node is 9981 Search stuck on local maximum HighestNode has Value -9981 g={0,1} g={2,1} QueueSize = 14 Nodes Expanded = 2 ======SIMULATED ANNEALING====== cost of result node is 9981 g={0,1} g={0,1} g={0,1} g={0,1} g={0,1} g={0,3} g={2,1} QueueSize = 133 Nodes Expanded = 19

RESULTADO 2

Pasamos a volver a ejecutar el programa para obtener otro resultado en funcin del mapa y gasolineras aleatorias. Ejecucin del Algoritmo
======GRAFO MAPA CIUDAD====== (0,0) = Distancia: 4 (1,0) = Distancia: 6 (1,1) = Distancia: 5 (2,0) = Distancia: 5 (2,1) = Distancia: 5 (2,2) = Distancia: 8 (3,0) = Distancia: 8

Ascensin a la Cima

Pgina 10

Inteligencia Artificial
(3,1) = Distancia: 7 (3,2) = Distancia: 4 (3,3) = Distancia: 7 ARESTAS: 10 VERTICES: 4 GASOLINERAS: 3 ============================= g={0,1,2} heuristico del estado inicial: 9967 ==========HILLCLIMBING========= cost of result node is 9957 Search stuck on local maximum HighestNode has Value -9957 g={0,1,2} g={0,1,3} QueueSize = 22 Nodes Expanded = 2 ======SIMULATED ANNEALING====== cost of result node is 9957 g={0,1,2} g={3,1,2} g={0,1,2} g={3,1,2} g={0,1,2} g={0,1,2} g={3,1,2} g={0,1,2} g={0,1,3} QueueSize = 231 Nodes Expanded = 21

Conclusiones Por lo que podemos apreciar despus de realizar las dos ejecuciones el algoritmo Simulated Anneling consume ms recursos para llegar a una solucin. La calidad de la solucin depender de la profundidad a la cual permitamos que se ejecuten nuestros Algoritmos. No necesariamente los dos algoritmos llegaran a una misma solucin. Puesto que depende de los parmetros de bsqueda. El heurstico parece acercarse al propsito del problema. Es muy posible que exista alguno mejor.

Ascensin a la Cima

Pgina 11

Inteligencia Artificial
RECORRIDO DE UN GRAFO MEDIANTE EL ALGORITMO HILL CLIMBING: En este grafo se parte del estado inicial y de all se pasa al estado hijo que ms se acerque a la meta. (Contina utilizando este procedimiento hasta llegar al estado final o meta). A continuacin se muestra el diagrama de flujo para el algoritmo hill climbing el cual es elaborado mediante el mtodo de escalada simple recordando que sus caractersticas son las siguientes:

Ascensin a la Cima

Pgina 12

Inteligencia Artificial

Ascensin a la Cima

Pgina 13

Inteligencia Artificial
EJEMPLO: JUEGO 8- PUZZLE Establecer una funcin de evaluacin donde: F(nodo)= # de casillas bien Colocadas (maximizacin)

Ascensin a la Cima

Pgina 14

Inteligencia Artificial
APLICACIONES DEL ALGORITMO HILL CLIMBING: Dentro de las aplicaciones de los algoritmos genticos se encuentran: Problemas de optimizacin. Recorrido de grafos. Juegos. Algoritmos genticos. Recorridos simulados.

Lincografa: http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20 Artificial/Apuntes/tareas_alumnos/Hill_Climbing/Hill_Climbing(20 05-II-A).pdf

Ascensin a la Cima

Pgina 15

Anda mungkin juga menyukai