Actividad 1

Page 1

El algoritmo gen´etico cl´asico Emmanuel Torres Mar´ın Universidad Abierta y a Distancia de M´exico Distrito Federal, M´exico November 18, 2014

1

Introducci´ on

Los algoritmos gene´ticos es el nombre con el que se conoce de manera gen´erica al conjunto de t´ecnicas desarrolladas a partir de los trabajos de John Henry Holland, consistentes principalmente en una b´ usqueda heur´ıstica de la soluci´on ´optima a diversos problemas a trav´es de mecanismos similares a los presentes en la selecci´on natural, como pueden ser la selecci´on, el apareamiento o la mutaci´on. Estos mecanismos permiten la b´ usqueda de soluciones a problemas representados como funciones matem´aticas, en los que a partir de un conjunto de soluciones iniciales, que pueden ser feasibles o no, dichas soluciones se van depurando mediante varias t´ecnicas a lo largo del tiempo. El resultado es una o varias soluciones que satisfacen las condiciones del problema. Son muchos los algoritmos de este tipo que se han propuesto a lo largo del tiempo, cada cual con sus ventajas y desventajas, sin embargo, es un hecho que en general la mayor´ıa no son estructuralmente distintos, toda vez que implementan de alguna forma cuatro mecanismos cl´asicos de los AG: Evaluaci´on, Selecci´on, Cruzamiento y Mutaci´on [1], variando en mayo o menor medida la forma en que realizan cada uno de estos pasos. El presente trabajo es un resumen del algoritmo gen´etico simple de Holland y las diversas t´ecnicas con que puede implementarse cada una de sus fases

2

Desarrollo

El Algoritmo Gen´etico Simple o Can´onico, fue desarrollado por John Holland en 1970[3] y es reminiscente de los procesos evolutivos existentes en la naturaleza para la b´ usqueda de individuos aptos para un problema especifico, de esta forma, se establece un conjunto de soluciones iniciales a un problema definido como una funci´on matem´atica (llamada de fitness), este espacio de soluciones es continuamente modificado por medio de diversos operadores o fases: • Codificacion: En este paso los elementos del espacio de soluciones se representan de una manera que permita o facilite la aplicacion de los siguientes operadores, la codificac’on cl´asica es la representaci´on binaria de cada individuo. • Generaci´on de una poblaci´on de N soluciones al problema

1


• Evaluaci´on: En este paso cada individuo del espacio es evaluado mediante la funcion de fitness, lo que presenta un indicador de que tan buena solucion es un elemento • Selecci´on: En este paso se toman dos individuos de manera aleatoria con una probabilidad proporcional a su evaluaci´on, es decir que los individuos mejor evaluados tiene mayor probabilidad de ser seleccionados • Cruzamiento: De manear aleatoria con probabilidad pc mezclar los c´odigos de ambos individuos para la generaci´on de dos nuevos individuos. • Mutaci´on Para cada bit de los nuevos individuos cambiarlo aleatoriamente de acuerdo a una probabilidad Pm • Los nuevos individuos se agregan a una nueva poblaci´on. • El proceso se repite desde el paso de Seleccion hasta obtenert una nueva poblaci´on de tama˜ no N . Este proceso puede resumirse en cuatro grandes fases conocidas como Evaluaci´on (que incluye la decodificaci´on), Selecci´on, Cruzamiento y Mutaci´on que se realizan sobre la poblaci´on inicial durante varias iteraciones a trav´es de las cuales los individuos van adoptando progresivamente los mismos valores en cada uno de los bits (formando esquemas[2]) y mejorando en teor´ıa las soluciones encontradas.

Figure 1: Estructura del Algoritmo Gen´etico

Actualmente son muchas las propuestas que existen como alternativas a este modelo, pero a´ un hoy, el AGS es un referente en el desarrollo de los AG, proporcionando su estructura a otros algoritmos que simplemente var´ıan alguna de las t´ecnicas usadas en cada uno de los pasos. A continuacion se explican cada uno de los mecanismos que componen el a algoritmo gen´etico cl´asico

2


Inicializaci´ on El primer paso es la generaci´on de un espacio de soluciones, llamado poblaci´on inicial en la que cada individuo es un n´ umero aleatorio que se representa en codificaci´on binaria. Evaluaci´ on En este paso se propone un problema a resolver en la forma de una funci´on matem´atica, llamada funci´on de fitness. Cada individuo es ingresado a la funci´on y evaluado mediante ella, con lo que algunos individuos tendr´an una mayor o menor calificaci´on. Selecci´ on por Ruleta En la selecci´on por ruleta se suman las calificaciones de los individuos en un gran total que se considera el 100% de una gr´afica de pastel, luego a cada individuo se le asigna un porcentaje del c´ırculo proporcional a su aportaci´on al total de calificaci´on.

Figure 2: Selecci´on por ruleta

A partir de una poblaci´on de tama˜ no N se obtiene otra poblaci´on del mismo tama˜ no en la que se considera un apuntador como el de una ruleta, misma que se “gira” N veces para obtener una poblaci´on nueva donde algunos elementos (los que mas hayan aportado al total) tienden a repetirse. Cruzamiento en 1 punto En cualquier caso una vez que se ha seleccionado a la poblaci´on se procede a cruzarlos de dos en dos , el cruzamiento solo ocurre con una probabilidad Pc , aunque hay muchas formas de cruzar los individuos, en este trabajo usamos el cruzamiento en un punto definido en el trabajo original de Holland. Este cruzamiento consiste en generar dos individuos nuevos a partir de dos individuos seleccionados. Para generar estos nuevos individuos se selecciona un punto aleatorio de los individuos seleccionados, segmentandolos en dos partes e intercambiando las segundas mitades entre ellos.

3


Figure 3: Cruzamiento en un punto

Mutaci´ on Una vez que se ha cruzado la poblaci´on seleccionada se utilizo el operador de mutaci´on definido por Holland, denominado Mutaci´on Uniforme, consistente en recorrer cada bit de cada individuo e irlos cambiando de 0 a 1 o de 1 a 0 con una probabilidad Pm

Figure 4: Mutaci´on

En algunos casos la ejecuci´on natural de estos pasos induce variaciones de los indiviudos que pueden alejarnos de la soluci´on o´ptima, lo que ha lleva a algunos a plantear el uso de una medida conocida como Elitismo, que no es sino la conservaci´on de un subconjunto de los mejores individuos, mismos que pueden ser reinsertados en la poblaci´on para que la soluci´on converja de mnaera monot´onica. El resultado de la aplicaci´on de estos pasos es la generaci´on sucesiva de nuevas poblaciones en las que los individuos cada vez est´an mejor evaluados, lo que impica que son mejores solucione que los individuos iniciales. Este proceso se puede fectuar tantas veces como se quiera, sin embargo para ser consistentes con la definici´on de algoritmo, es necesario establecer una condici´on de paro. Esta condici´on puede ser un n´ umero definido de iteraciones, un espacio de tiempo limitado, o incluso un margen de error m´ınimo.

3

Conclusiones

Se ha presentado un resumen del Algoritmo Gen´etico cl´asico, el cual es reminisicente de los procesos existentes en la naturaleza, mediante los cuales los individuos mejoran progresivamente su adaptaci´on a diversas situaciones. As´ı pues cada generaci´on se tienen individuos m´as aptos o que satisfacen de mejor manera el problema que se presenta. Es evidente que dependiendo 4


del problema algunos individuos ser´an mejores que otros, pero adem´as se ha demostrado que estructuralemtne la mayoria de lo salgoritmos son parecidos y que su comportamiento, al menos estad´ısticamente es el mismo [4]

4

Reflexi´ on

La raz´on del tema elegido radica en mi fascinaci´on por los temas de inteligencia artificial, y su aplicaci´on, adem´as de que es un tema que domino debido a mis experiencias anteriores. El punto de partida para la realizaci´on de este trabajo fueron las tareas y actividades de mis cursos de algoritmos gen´eticos

References [1] Michael D. Vose (1998) The Simple Genetic Algorithm: Foundations and Theory, MIT Press Cambridge [2] Kuri Morales, ngel et. Al.(2007) Algoritmos Gen´eticos 2a Edici´on. Sociendad M´exicana de Inteligencia Artificial [3] John H. Holland (1992), Adaptation in Natural and Artificial Systems, MIT Press Cambridge [4] Kuri Morales, ngel et Al. A Comprehensive Comparative Study of Structurally Different Genetic Algorithms a´ un no publicado. [5] Wolpert, D.H., Macready, W.G. (1997), ”No Free Lunch Theorems for Optimization”, IEEE Transactions on Evolutionary Computation 1, 67.

5


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.