Algoritmos Evolutivos

24

description

aplicación de algoritmos evolutivos.

Transcript of Algoritmos Evolutivos

Page 1: Algoritmos Evolutivos
Page 2: Algoritmos Evolutivos

Los algoritmos evolutivos poseen una gran ventaja con respecto a otros algoritmos en la generación de reglas de predicción para el descubrimiento de nueva información, estos permiten realizar una búsqueda global sobre la población existente y obtener de esta la mejor o la información más idónea.

Page 3: Algoritmos Evolutivos
Page 4: Algoritmos Evolutivos

Función Objetivo Los algoritmos evolutivos son utilizados

para resolver problemas de optimización los que utilizan la función objetivo que es la función que se quiere optimizar. Tanto los algoritmos genéticos como evolutivos utilizan la función objetivo para asignar a cada individuo (x) de una población un valor optimo que le corresponda utilizando para este mecanismos de selección que identifican las mejores soluciones.

Page 5: Algoritmos Evolutivos

La selección es lo más importante dentro de un algoritmo evolutivo ya que permite obtener la mejor respuesta dentro de espacios de búsquedas que son óptimas. Aunque existen diversos métodos de selección de los mejores resultados y descartar los que no son óptimos, la mayoría de métodos de selección son estocásticos y determinísticos.

Page 6: Algoritmos Evolutivos

Es la forma en que el usuario representa los resultados de la ejecución del algoritmo con la selección del mejor(es) individuo(s). Para la representación de soluciones de problemas existen muchas formas de hacerlo la más sencilla es a través de datos binarios se les asigna a un conjunto de datos un peso y utilidad la selección de cada objeto se puede representar con un 0 o 1.

Otro método consiste en codificar las soluciones como cadenas de enteros o números decimales, donde cada posición representa algún aspecto particular de la solución. Este método permite una mayor precisión y complejidad que el método comparativamente restringido de utilizar sólo números binarios, y a menudo “está intuitivamente más cerca del espacio de problemas''.

Page 7: Algoritmos Evolutivos

Una vez que la selección ha elegido a los individuos aptos, éstos deben ser alterados aleatoriamente con la esperanza de mejorar su aptitud para la siguiente generación. Existen dos estrategias básicas para llevar esto a cabo. La primera y más sencilla se llama mutación, el segundo método se llama cruzamiento

Page 8: Algoritmos Evolutivos

El termino mutación quiere decir “cambio”, así como en la naturaleza las especies cambian para sobrevivir en un entorno cambiante, en la IA se busca obtener las mejores soluciones a través de la variación de dichas soluciones esto se realiza variando ciertos cromosomas de la solución.

Al igual que una mutación en los seres vivos cambia un gen por otro, una mutación en un algoritmo genético también causa pequeñas alteraciones en puntos concretos del código de un individuo.

Page 9: Algoritmos Evolutivos

Fig. Ejemplo de mutación

Page 10: Algoritmos Evolutivos

Implica elegir a dos individuos para que intercambien segmentos de su código, produciendo una “descendencia'' artificial cuyos individuos son combinaciones de sus padres.

Fig. Ejemplo de Cruzamiento

Page 11: Algoritmos Evolutivos
Page 12: Algoritmos Evolutivos

Aplicación Algoritmos Genéticos y Dijkstra para encontrar Rutas de caminos más cortas

La determinación de rutas cortas en cualquier ciudad se lleva a diario por cualquier individuo, donde la ciudad está formada por algunas vías interconectadas donde cada vía posee una dirección única. Para ir de un lugar a otro entre un punto inicial y final (X1, X2), se determina el camino más corto para optimizar los recursos. La optimización de cualquier tarea conlleva a la reducción de los tiempos utilizados en la resolución de cualquier tipo de problema lo que permite mejorar la productividad en cualquier área, Utilizando la herramienta Genetic Algorit Vehicle Routing Simulation permite obtener las rutas entre dos puntos, el problema que está planteado es la determinación de la mejor ruta entre un punto inicial O y el punto final D.  ProblemaEn una determinada ciudad las calles se pueden representar mediante una determinada red donde circulan vehículos que se puede representar matemáticamente mediante grafos que representan las vías y sus intercesiones. Para resolver el problema se representan mediante grafos donde las intersecciones de calles representan los vértices (nodos), y las calles que los unen se denominan aristas.

Page 13: Algoritmos Evolutivos

Fig. Mapa de rutas

Page 14: Algoritmos Evolutivos

Algoritmo Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el

nodo inicial, un vector D de tamaño N guardará al final del algoritmo las distancias desde x al resto de los nodos.

Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sería 0.

Sea a = x (tomamos a como nodo actual). Recorremos todos los nodos adyacentes a menos los nodos

marcados, llamaremos a estos vi.

Si la distancia desde x hasta vi guardada en D es mayor que la distancia desde x hasta a sumada a la distancia desde a hasta vi; esta se substituye con la segunda nombrada, esto es:si (Di > Da + d(a,vi)) entonces

Di = Da + d(a,vi) Marcamos como completo el nodo a. Tomamos como próximo nodo actual el de menor valor en D (puede

hacerse almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras existan nodos no marcados.

Page 15: Algoritmos Evolutivos

Datos de entrada Para que funcione el programa se deben ingresar varios

parámetros deben ser siempre antes de realizar la simulación del proceso para resolver el problema. Los parámetros son básicamente como el tamaño de la población, Cross-Over Tasa de mutación y número de generación. Las necesidades de los usuarios para determinar el origen y destino en el mapa antes de simular las soluciones. En la siguiente figura 11, se indica la opción para ingresar los datos requeridos:

Fig. La figura muestra el punto de partida y el de llegada

Page 16: Algoritmos Evolutivos

Numero Nodo Distancia VelocidadN1 N1<->N9 2.9 21N2 N2<->N4 12.5 2N3 N3<->N8 7.4 14N4 N4<->N2 12.5 2N5 N5<->N21 11.6 4N6 N6<->N12 4.8 3N7 N7<->N20 7.1 16N8 N8<->N6 15.5 10N9 N9<->N15 10.2 3N10 N10<->N1 6.9 15N11 N11<->N13 3.3 27N13 N12<->N2 7.9 7N13 N13<->N11 3.3 27N14 N14<->N17 3 22N15 N15<->N9 10.2 3N16 N16<->N24 17.2 26N17 N17<->N1 13 5N18 N18<->N15 5 22N19 N19<->N7 5.1 1N20 N20<->N5 15.1 9N21 N21<->N3 17.8 8N22 N22<->N25 13.1 19N23 N23<->N21 30 17N24 N24<->N16 172 26N25 N25<->N14 5.3 23

Page 17: Algoritmos Evolutivos

Fig. Resultados con todos los caminos y distancias

Page 18: Algoritmos Evolutivos

Resultados Para ir del nodo origen al destino (N0, N6), seleccionando el origen y destino en el

programa la ruta más corta es por los nodos (N0 -> N3 -> N10 -> N13 ->N6) en la siguiente tabla se indican los resultados obtenidos y en la siguiente figura el resultado gráficamente obtenido

Los turistas que viajan a otros lugares donde no conocen las ciudades visitadas pueden utilizar este tipo de herramienta para determinar rutas más cortas desde su lugar origen al destino.

Fig. La figura muestra la mejor ruta con la menor distancia

Page 19: Algoritmos Evolutivos

Aplicación de Algoritmos Evolutivos para la Selección de Instancias La aplicación pretende obtener modelos

o patrones con información importante para realizar mejoras a los sitios Web de cada Universidad.

Page 20: Algoritmos Evolutivos

Fig. Datos de Universidades rankeadas en el internetFuente: http://www.handelsblatt.com/pshb?fn=relhbi&sfn=buildframe&strucid=PAGE_200014&pageid=PAGE_301100&cnct=3&cframe=

http://uniranking.vnoffice.de&frameheight=5000

Page 21: Algoritmos Evolutivos

Fig 10. Aplicación de la herramienta utilizando algoritmos evolutivos

Máximo número de generaciones 10 Total de la población 72Probabilidad mutación 0.2 Probabilidad cruzamiento 0.2

Page 22: Algoritmos Evolutivos

Fig. Resultados

El proceso consiste en descubrir relaciones importantes entre los datos de utilización recogidos durante las ejecuciones de los distintos usuarios. Esta información puede ser de gran utilidad para el administrador de la página, que puede decidir qué modificaciones son las más adecuadas para mejorar las visitas.

Page 23: Algoritmos Evolutivos

La implementación de algoritmos evolutivos para la resolución de problemas de AVR obtiene la mejor ruta con la distancia más corta en el recorrido que una persona realice.

IA Solver da libertad al usuario para formular problemas, creando datos de entrenamiento y prueba, donde cada línea representa un dato y prueba las soluciones luego de cada interacción de entrenamiento en un momento dado.

La utilización de herramientas que permitan la carga de datos correspondiente a la información de las calles de una determinada ciudad permite que los individuos que utilizan estas herramientas obtengan los beneficios de la optimización del tiempo utilizado para ir de un lugar origen a un destino.

La Aplicación de algoritmos evolutivos como técnica de minería de datos puede servir para la mejora de recursos Hipermedia basados en web

La calidad de resultados depende del tamaño de información, mientras más datos se tengan de entrada habrá una mejor selección de características.

El trabajar con el mínimo número de características que son relevantes es beneficioso que el trabajar con un rango elevado que puede contener características irrelevantes.

Page 24: Algoritmos Evolutivos

[1] M.J., González, P., Herrera, F. and Mesonero, M., Evolutionary fuzzy rule induction process for subgroup discovery: a case study in marketing. IEEE Trans. Fuzzy Systems.

  [2] M.J., González, P., and Herrera, F., Inducción evolutiva

multiobjetivo de reglas de descripción de subgrupos en un problema de marketing. IV Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados, pp. 661-669, Granada. 2005.

  [3] Jose Ramon Cano, Francisco Herrera, and Manuel Lozano, A

Study on the Combination of Evolutionary Algorithms and Stratied Strategies for Training Set Selection in Data Mining.

[4]http://www.freedownloadmanager.org/es/downloads/A.I._Estudio_de_Solucionista_46361_p/

[5] http://rapid-i.com/content/blogcategory/38/69/. [6] http://www.geneticalgorithm.ahyeek.com/index.php [7] http://www.rapidminer.com/index.php [8] http://www. es.wikipedia.org/wiki/Algoritmo_de_Dijkstra