Está en la página 1de 15

INTRODUCCION

Similares a los algoritmos genéticos, aunque más sistemáticos y menos aleatorios. Un algoritmo de ascenso a colina comienza con una solución al problema a mano, normalmente elegida al azar. Luego, la cadena se muta, y si la mutación proporciona una solución con mayor aptitud que la solución anterior, se conserva la nueva solución; en caso contrario, se conserva la solución actual. Luego el algoritmo se repite hasta que no se pueda encontrar una mutación que provoque un incremento en la aptitud de la solución actual, y esta solución se devuelve como resultado (Koza et al. 2003[42], p. 59). (Para entender de dónde viene el nombre de esta técnica, 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 solución particular. Las soluciones mejores están a mayor altitud, formando colinas y picos; las que son peores están 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 elección disponible en cada paso, con la esperanza de que de esta manera se puede obtener el mejor resultado global.

 Comienza a partir de un punto (punto actual) en el espacio de búsqueda  Si el nuevo punto es mejor.Dirigirse siempre a un estado mejor que el actual . si no.  Usa una técnica de mejoramiento iterativo. sino otro punto vecino es seleccionado y evaluado 1 Ascensión a la Cima Página 2 . Escalada por máxima pendiente Buscar no solamente un estado mejor que el actual. • Comienzan a partir de un punto (punto actual) en el espacio de búsqueda • En cada iteración. o cuando se alcanza un número redefinido de iteraciones Escalada Simple . sino el mejor de todos los estados posibles (Máxima Pendiente).Función Heurística de proximidad . se transforma en el punto actual. • Usan una técnica de mejoramiento iterativo. sus movimientos están determinados por ser mejores que los previos. un nuevo punto es seleccionado de la vecindad del punto actual. otro punto vecino es seleccionado y evaluado.No se mantiene reporte de los estados anteriores . • Si el nuevo punto es mejor. Ascenso a Colina (Hill Climbing) Es una variante del algoritmo de búsqueda de Best First.Inteligencia Artificial ALGORITMO HILL CLIMBING  También es conocido como el método de ascenso de colinas.  El método termina cuando no hay mejorías.Es un método local. se transforma en punto actual.

dar un salto grande en alguna dirección y tratar de encontrar una nueva sección del espacio de estados.Inteligencia Artificial • El método termina cuando no hay mejorías. 2. • Del procedimiento de prueba existe una realimentación que ayuda al generador a decidirse por cual dirección debe moverse en el espacio de búsqueda. Un máximo local: Estado mejor que sus vecinos pero no es mejor que otros que están algo más alejados. aunque no existe garantía: 1. Una meseta: Es un espacio de búsqueda en el que todo un conjunto de estados vecinos tienen igual valor. desde donde no se puede hallar mejores estados. por ejemplo: 1. si son atrapados en estados que no son el objetivo. • Los algoritmos de ascenso a colina son típicamente locales. mirando únicamente a las consecuencias inmediatas de sus opciones. Planicie: son áreas del espacio de estados en donde la función de evaluación básicamente es plana. 3. Para evitar máximos locales. • En estos procesos se abandona la búsqueda si no existe un estado alternativo razonable al que se pueda mover. o cuando se alcanza un número predefinido de iteraciones. 4. Para los riscos. • Hay algunas formas que pueden ayudar a resolver estos problemas. Ascensión a la Cima Página 3 . • Puede que nunca lleguen a encontrar una solución. 3. antes de realizar una prueba del nuevo estado. esto equivale a moverse en varias direcciones a la vez. regresar a un estado anterior y explorar en una dirección diferente. Para casos de mesetas. aplicar dos o más reglas. Un risco: que es un tipo especial de máximo local. 2. ya que deciden qué hacer. imposible de atravesar con movimientos simples.

sólo encuentra una solución. CARACTERÍSTICAS DEL ALGORITMO HILL CLIMBING:  Informado: Utiliza información del estado por elegir un nodo u otro. pero no la mejor puesto que no es exhaustivo. etc. usted se está moviendo más cerca al grado optimo. o puede continuar hasta que el mejor de los resultados almacenados no haya sido mejorado para cierta cantidad de iteraciones.  No exhaustivo: No explora todo el espacio de estados. ¿PARA QUÉ SIRVE EL ALGORITMO HILL CLIMBING? Se emplean sobre todo para resolver problemas de optimización. Su nombre se debe a que mientras usted se está levantando. hallar el camino mínimo de un grafo. porque evita la exploración de una parte del espacio de estados. • Y esto es justamente lo que hace con ascenso de cima con reinicio aleatorio. Como máximo. • Se guarda el mejor resultado que hasta un momento dado se haya obtenido en las diversas búsquedas.Inteligencia Artificial • En todos los casos anteriores.  Es eficiente. • Cuando esto sucede es obvio que debe empezarse de nuevo en otro punto. encontrar la secuencia óptima para procesar un conjunto de tareas por un computador. 2 Ascensión a la Cima Página 4 . el algoritmo llega un punto más allá del cual no se logra ningún avance. efectúa una serie de búsquedas de ascenso de cima desde estados iniciales generados aleatoriamente. como por ejemplo.  Encuentra buenas soluciones. • Puede usar un número fijo de iteraciones.

¿CÓMO FUNCIONA EL ALGORITMO HILL CLIMBING?  Usan una técnica de mejoramiento iterativo. VENTAJAS Y DESVENTAJAS DEL ALGORITMO HILL CLIMBING: Ventajas:  Reduce el número de nodos a analizar.Inteligencia Artificial  Es útil si se tiene una función heurística muy buena o cuando los Operadores de transición entre estados tienen cierta independencia (conmutativa).  Dado su bajo costo computacional es la estrategia de búsqueda más utilizada en optimización y aprendizaje.  No guarda los estados anteriores. Ascensión a la Cima Página 5 .  Si el nuevo punto es mejor.  Comienzan a partir de un punto (punto actual) en el espacio de búsqueda  En cada iteración. un nuevo punto es seleccionado de la vecindad del punto actual. que implica que la operación de un operador no altera la futura aplicación de otro. se transforma en punto actual. sino otro punto vecino es seleccionado y evaluado  El método termina cuando no hay mejorías.  Todos los nodos pueden parecer igualmente buenos. Desventajas:  Cuando existen "colinas falsas" ocurre qué el algoritmo de vuelta hacia atrás de manera extensa. o cuando se alcanza un número predefinido de iteraciones.  Del procedimiento de prueba existe una realimentación que ayuda al generador a decidirse por cual dirección debe moverse en el espacio de búsqueda.

3 Ascensión a la Cima Página 6 .  La búsqueda heurística consiste en añadir información.  Puede que nunca lleguen a encontrar una solución. de forma que se restringe drásticamente esa búsqueda.  Los algoritmos de ascenso a colina son típicamente locales. HEURISTICA  Viene del griego heuriskeinque significa encontrar o descubrir. mirando únicamente a las consecuencias inmediatas de sus opciones.  Actualmente.  Las heurísticas son formalizadas como reglas para elegir (buscar) las ramas en el espacio de estados que son más probables de llegar a una solución aceptable del problema.  Muchos problemas de IA se pueden modelar como una gráfica en donde hay que buscar recorridos o caminos con ciertas características. basándose en el espacio estudiado hasta ese momento. desde donde no se puede hallar mejores estados. la heurística es más frecuentemente usada como un adjetivo para referirse a cualquier técnica que mejore la media del proceso de solución de problemas. si son atrapados en estados que no son el objetivo.  En Inteligencia Artificial.Inteligencia Artificial  En estos procesos se abandona la búsqueda si no existe un estado alternativo razonable al que se pueda mover. Generalmente los métodos de búsqueda heurísticas se basan en maximizar o minimizar algunos aspectos del problema. ya que deciden qué hacer.  En esencia una heurística es simplemente un conjunto de reglas que evalúan la posibilidad de que una búsqueda va en la dirección correcta. heurístico se describe mejor como método de búsqueda.

luego es muy probable que exista agua en la superficie o subterránea. Esta información le dice al hombre que debe dirigirse al norte. La Heurística no garantiza que siempre se tome la dirección de la búsqueda correcta.Inteligencia Artificial Ejemplo: Un hombre se encuentra en una extensa llanura y tiene sed. Las mejoras locales determinadas por las heurísticas pueden cortar el camino a soluciones mejores por la falta de Ascensión a la Cima Página 7 . lo cual sugiere que el agua está en la superficie. por eso este enfoque no es óptimo sino suficientemente bueno.  Ciertas heurísticas se pueden contradecir al aplicarse al mismo problema. DESVENTAJAS Y LIMITACIONES  La flexibilidad inherente de los métodos heurísticos pueden conducir a errores o a manipulaciones fraudulentas. constituye una heurística. El movimiento de animales puede indicar que ellos se dirigen allí a beber. lo cual genera confusión y hacen perder credibilidad a los métodos heurísticos.  Soluciones óptimas no son identificadas. Desde la elevación el hombre observa el cuadro siguiente:  NORTE: vegetación verde y movimiento de animales  SUR: vegetación amarilla  ESTE: vegetación amarilla  OESTE: vegetación verde Evidentemente la vegetación verde es un indicio de que hay humedad. en ese momento ha llegado a una pequeña elevación que es la única en esa región y se sube a ella. Frecuentemente son mejores los métodos heurísticos que los métodos de búsquedas a ciegas.

los estados de menor valor heurístico son los preferidos. sus movimientos están determinados por ser mejores que los previos. aunque no siempre permite hacer la mejor elección. EJEMPLO 4 Problema Gasolineras Se dispone de un grafo a partir del cual tenemos las distancias entre los diferentes puntos de una ciudad. Bajo esta perspectiva. Por una parte.Inteligencia Artificial una perspectiva global. ¿QUÉ ES LA FUNCIÓN OBJETIVO O LA FUNCIÓN HEURÍSTICA? FUNCIÓN HEURÍSTICA: Una heurística es una regla o método que guía la decisión que hacemos al elegir un nodo que explorar. FUNCIONES HEURISTICAS La función heurística puede tener dos interpretaciones. Pero en otros casos puede suceder que lo que convenga sea maximizar esa función. El problema pretende colocar g gasolineras en la ciudad lo máximo distanciadas posibles. la función puede ser una estimación de lo próximo que se encuentra el estado de un estado objetivo. La brecha entre la solución óptima y una generada por heurística puede ser grande. Ascensión a la Cima Página 8 . ESCALADA SIMPLE  Se busca cualquier operación que suponga una mejora respecto al padre  Dirigirse siempre a un estado mejor que el actual  Función Heurística de proximidad  No se mantiene reporte de los estados anteriores  Es un método local.

Inteligencia Artificial No tendré en cuenta la central de abastecimiento puesto que no tiene ningún sentido si solo pretendemos separar las gasolineras. .j que existen dentro del número de gasolineras. no resulta complicado invertir el resultado. 5 Ascensión a la Cima Página 9 .Intercambiar la posición entre dos gasolineras adyacentes. Heurístico Como heurístico del problema he considerado oportuno utilizar el algoritmo de Dijkstra para encontrar el camino de distancia mínima entre dos gasolineras. El heurístico es: Para toda i.3} Nos indica que existen tres gasolineras. g[2] (Gasolinera 2) se encuentra en el vertice 3.j) ). El algoritmo genera aleatoriamente el mapa de la ciudad y la cantidad de gasolineras. Los diferentes pasos los podemos observar de la siguiente manera: g={4.Desplazar una gasolinera a una posición adyacente sin ocupar. Haciendo esto pretendo que h' dependa de las distancias entre las gasolineras en función de la posición dentro del mapa. g[1] (Gasolinera 1) se encuentra en el vertice 5. h'(n) = 9999 . Si bien es verdad que realmente nos interesa el camino de distancia máximo.5.sumatorio( distancia_minima(i. g[0] (Gasolinera 0) se encuentra en el vertice 4. RESULTADO 1 El problema dispone de dos operadores: .

Inteligencia Artificial EJECUCIÓN DEL ALGORITMO ======GRAFO MAPA CIUDAD====== (0.1} g={0.0) = Distancia: 4 (1.3) = Distancia: 2 ARESTAS: 10 VERTICES: 4 GASOLINERAS: 2 ============================= g={0.0) = Distancia: 8 Ascensión a la Cima Página 10 .2) = Distancia: 8 (3. Ejecución del Algoritmo ======GRAFO MAPA CIUDAD====== (0.0) = Distancia: 4 (1.1) = Distancia: 2 (2.1) = Distancia: 2 (3.0) = Distancia: 6 (1.1} g={0.0) = Distancia: 9 (1.0) = Distancia: 5 (2.2) = Distancia: 2 (3.1} g={2.0) = Distancia: 5 (3.1} 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) = Distancia: 5 (2.1} g={0.1} QueueSize = 133 Nodes Expanded = 19 RESULTADO 2 Pasamos a volver a ejecutar el programa para obtener otro resultado en función del mapa y gasolineras aleatorias.1} g={0.3} g={2.1) = Distancia: 5 (2.0) = Distancia: 0 (2.1} QueueSize = 14 Nodes Expanded = 2 ======SIMULATED ANNEALING====== cost of result node is 9981 g={0.1) = Distancia: 9 (2.2) = Distancia: 8 (3.

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) = Distancia: 4 (3.1.1. No necesariamente los dos algoritmos llegarían a una misma solución. Es muy posible que exista alguno mejor.1.2} g={0.2} g={0.2} g={3. La calidad de la solución dependerá de la profundidad a la cual permitamos que se ejecuten nuestros Algoritmos.1. Ascensión a la Cima Página 11 . El heurístico parece acercarse al propósito del problema.1.2} g={3.1.1.2} g={0.2} g={0.3} QueueSize = 231 Nodes Expanded = 21 Conclusiones Por lo que podemos apreciar después de realizar las dos ejecuciones el algoritmo Simulated Anneling consume más recursos para llegar a una solución.1) = Distancia: 7 (3.1.2} g={0.3) = Distancia: 7 ARESTAS: 10 VERTICES: 4 GASOLINERAS: 3 ============================= g={0.2} g={3.3} QueueSize = 22 Nodes Expanded = 2 ======SIMULATED ANNEALING====== cost of result node is 9957 g={0.1.Inteligencia Artificial (3.1.2} g={0. Puesto que depende de los parámetros de búsqueda.

A continuación se muestra el diagrama de flujo para el algoritmo hill climbing el cual es elaborado mediante el método de escalada simple recordando que sus características son las siguientes: 4 Ascensión a la Cima Página 12 .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 más se acerque a la meta. (Continúa utilizando este procedimiento hasta llegar al estado final o meta).

Inteligencia Artificial 6 Ascensión a la Cima Página 13 .

Inteligencia Artificial EJEMPLO: JUEGO 8.PUZZLE  Establecer una función de evaluación donde: F(nodo)= # de casillas bien Colocadas (maximización) Ascensión a la Cima Página 14 .

 Recorrido de grafos.mx/takeyas/Apuntes/Inteligencia%20 Artificial/Apuntes/tareas_alumnos/Hill_Climbing/Hill_Climbing(20 05-II-A).  Algoritmos genéticos.itnuevolaredo. Lincografía: http://www.  Recorridos simulados.  Juegos.edu.pdf Ascensión a la Cima Página 15 .Inteligencia Artificial APLICACIONES DEL ALGORITMO HILL CLIMBING: Dentro de las aplicaciones de los algoritmos genéticos se encuentran:  Problemas de optimización.

39003.. 791...

5:3908.

8*.70.:2348.9.

*2-3.

48  #0./48  _UWZ_ ZSSS  YZS  .148  :048  47924803F9.*2-3     5/1               !74-02..O3  #0.477/4882:.8/04592.477/4/07.