Está en la página 1de 5

Algoritmos Genticos e

Robinson Franco A.1


1

Departamento de F sica, Universidad del Valle, A.A. 25360, Cali, Colombia (Dated: 18 Septiembre 2009)

Los algoritmos genticos son mtodos de bsqueda dirigida basados en probabilidad. Estos ale e u goritmos estn inspirados en los fenmenos biolgicos de seleccin y recombinacin natural que a o o o o simulan la evolucin de una poblacin o grupos de individuos que, a la vez, son posibles soluciones o o a un determinado problema. En este trabajo se presentan los fundamentos bsicos del algoritmo a gentico simple (AGS). Posteriormente, se efectua la simulacin de un AGS en VisualBasic 5.0 que e o pretende maximizar una funcin dada con el n de corroborar la eciencia de dicho algoritmo. o INTRODUCCION

I.

3. Los individuos con mejor aptitud tienen mayor probabilidad de ser seleccionados. 4. El cruzamiento es el principal operador gentico, e representa la reproduccin sexual, opera sobre dos o individuos a la vez para generar dos descendientes donde se combinan las caracter sticas de ambos individuos padres. 5. El algoritmo gentico se deber detener cuando se e a alcance la solucin ptima, pero sta generalmente o o e se desconoce, por lo que se deben utilizar otros criterios de detencin. Normalmente se usan dos crio terios: correr el algoritmo gentico con un nmero e u mximo de iteraciones (generaciones) o detenerlo a cuando no haya cambios en la poblacin (homogeo nizac del resultado). De no ser as el algoritmo on , gentico se devuelve al punto dos. e El problema de seleccin de variables es un problema o de optimizacin, ya que lo que se quiere es encontrar, o bajo alguna heur stica, el subconjunto de variables que potencialicen las diferenciacines y las semejanzas de obo jetos de clases diferentes y de la misma clase respectivamente [1, 2, 5].

Los algoritmos genticos imitan los principios de la e evolucin biolgica tales como la reproduccin, la reo o o combinacin gentica y la seleccin para aplicarlos en o e o programas computacionales y buscar soluciones a problemas de ingenier [5]. Un algoritmo gentico opera sobre a e un conjunto de candidatos (posibles soluciones o genotipos) llamado poblacin. Este conjunto usualmente se o codica en cadenas binarias (fenotipos) que tienen longitud ja y se evalan de acuerdo a una funcin objetivo u o que indica el nivel de adaptacin que ha logrado el ino dividuo (o solucin) despus de varias generaciones (iteo e raciones). La poblacin inicial se crea aleatoriamente y o en cada generacin las cadenas se reproducen de manera o selectiva, de acuerdo a su aptitud, y son modicadas a travs de operadores genticos de cruce y mutacin ene e o tre otros. La operacin de seleccin asegura que sobreo o vivan los individuos mas adaptados, mientras que la recombinacin gentica garantiza que la informacin uya o e o a travs de las cadenas de individuos. Como resultado e apreciable se tiene que el algoritmo usualmente converge hacia una poblacin cuyos miembros representan soluo ciones cercanas al ptimo, segn requerimientos previao u mente establecidos [2, 5].

II.

FUNDAMENTO DEL ALGORITMO GENETICO A. La Funcin objetivo o

El funcionamiento de un algoritmo gentico estndar e a o simple (AGS) cumple los siguientes pasos [5]: 1. Se genera aleatoriamente una poblacin inicial de N o individuos que representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente es importante garantizar que dentro de la poblacin inicial se tenga la diversidad estructural o de estas soluciones para tener una representacin de o la mayor parte de la poblacin posible o al menos o evitar la convergencia prematura. 2. Despus de saber la aptitud de cada individuo dada e por la ecuacin (1), se procede a elegir los indivio duos que sern cruzados en la siguiente generacin, a o vase gura 2. e

La funcin objetivo es una de las partes mas imporo tantes que forman un algoritmo gentico porque en ella e est presente el atributo o atributos que se desean opa timizar. Con esta funcin se evaluar cada individuo y o a en correspondencia con el comportamiento de este, se le asignar un valor que caracteriza su aptitud para realizar a la tarea en cuestin [2, 5]. o

B.

Operadores genticos e

Usualmente se utilizan en este tipo de algoritmos tres operadores bsicos: seleccin, cruce y mutacin. a o o

2
1. Seleccin o

La seleccin es el operador mediante el cual el indio viduo se copia proporcionalmente a su aptitud para solucionar un problema, con vista a formar un conjunto intermedio de individuos a los que se les aplicarn los dems a a operadores. Seleccionar individuos acorde a su tness signica que los individuos con mayor idoneidad tienen una mayor probabilidad de contribuir con una o mas copias en la siguiente generacin. La funcin objetivo o o es la que determina el tness de cada individuo. Este operador se aplica de tal manera que se le da la mayor probabilidad de seleccionarse a los individuos ms aptos. a Este mtodo llamado usualmente seleccin proporcional e o se aplica a travs de la siguiente ecuacin: e o
t P r(Ii ) = n j=1 t f itness(Ii ) t f itness(Ij )

FIG. 2: Mtodo de cruce sencillo. e

(1)

un nmero entero entre 1 y Lc 1 donde Lc se reere u al largo de la cadena. Frecuentemente a los individuos seleccionados para cruzarse se les denomina padres y los nuevos individuos formados por el cruce se les llama hijos [2, 5]. Una forma de aplicar este operador es el cruce sencillo o simple como se muestra en la gura 2. En este punto del algoritmo se pueden seguir varios caminos: Mantener el tamao de la poblacin ja, en la que n o los hijos sustituyen a los padres. Hacer una poblacin en donde hay una mezcla de o hijos y padres; esta poblacin existir temporalo a mente, porque siempre al empezar el algoritmo el tamao de la poblacin debe ser jo. n o

t donde P r(Ii ) es la probabilidad de seleccin proporcional o correspondiente al i-simo individuo en el instante t. Dese pus de obtener la probabilidad de seleccin para cada e o individuo se procede a efectuar la seleccin. El criteo rio de seleccin tiene muchas variantes como por ejemo plo: el criterio de seleccin jerrquico, por torneo o el o a de muestreo universal estocstico teniendo este ultimo a mayor aceptacin entre los diseadores de algoritmos o n genticos. Buckles [3] introduce este mtodo, el cual utie e liza un unico giro de la ruleta siendo los sectores circu lares proporcionales a la funcin objetivo. Los individuos o son seleccionados a partir de marcadores, vase Figura 1, e igualmente espaciados y con comienzo aleatorio [1, 2, 5].

3.

Mutacin o

FIG. 1: Mtodo seleccin de padres denominado muestreo e o t universal estocstico. El individuo I1 se escoge dos veces, a t t mientras que los individuos I3 e I4 son elegidos una unica vez.

La mutacin consiste en recorrer cada uno de los o nuevos individuos hijos y cambiar aleatoriamente, segn u lo determine la probabilidad de mutacin (Pm), su valor o actual por su complemento (en codicacin binaria esto o quiere decir que hay que cambiar un bit de 1 a 0 o viceversa). La mutacin debe implementarse de tal forma o que garantice la variabilidad gentica pero que no afecte e demasiado la aptitud de un individuo para solucionar un problema [5]. En un algoritmo gentico, la seleccin y e o el cruce juegan un papel fundamental. Se debe tener en cuenta que siempre se trabaja con una probabilidad de cruce muy alta, lo cual se fundamenta en que el intercambio de soluciones valiosas es la forma idnea de o llegar a la mejor solucin. Por su parte, la mutacin es o o un operador secundario en el algoritmo gentico y sieme pre tiene una probabilidad muy baja. Se utiliza para evitar que se pierda alguna caracter stica importante en el individuo [2, 5].

2.

Cruce

El cruce se realiza aleatoriamente entre individuos que han sido seleccionados con una probabilidad de cruce, o Pc. La posicin en que se realiza el cruce tambin se o e decide de forma aleatoria, esta posicin est dada por o a

FIG. 3: Individuo tras el cruce y la mutacin. o

3
III. MODELO TEORICO

Entonces, la probabilidad de seleccionar algn represenu tante del esquema H es: PH = o tambien: PH = f1 + f2 + ..... + fk
N j=1

El modelo matemtico usual para describir el compora tamiento de los algoritmos genticos est basado en el e a teorema del esquema. Este fue planteado originalmente por Holland [1] para el AGS, y se caracteriza por utilizar seleccin proporcional y cruzamiento de un punto, entre o otras cosas.

f1 N j=1

fj

f2 N j=1

fj

+ ..... +

fk N j=1

fj

(3)

fj

(4)

A.

Esquemas

Se ha creado una notacin para los conjuntos de cao denas binarias mediante cadenas compuestas de tres s mbolos, es decir: 0,1,*. Considrese un conjunto de cae denas que poseen valores comunes en ciertas posiciones. Para construir la cadena que denota este conjunto, basta colocar en las posiciones donde las cadenas coinciden el valor explicito que tienen, y en las posiciones donde los valores no coinciden se coloca un *. De esta manera, por ejemplo, 1*0* denota el conjunto (1000, 1001, 1100, 1101). A las cadenas compuestas de 1, 0 y * se les denomina esquemas. El nmero de posiciones con valor expliu cito de un esquema H se denomina orden del esquema y se denota por o(H ). La distancia entre la primera y la ultima posicin explicita se denomina longitud de denicin o o o dening length y se denota como (H). En la gura 4 se ilustran estas deniciones.

Sea f (H) el valor de adaptacin promedio de los reo presentantes del esquema H y m(H, t) el nmero de reu presentantes del esquema en la poblacin de generacin o o t. Por denicin: o f1 + f2 + ..... + fk f (H) = , m(H, t) de donde: f1 + f2 + ..... + fk = f (H)m(H, t), sustituyendo en la ecuacin (4), se obtiene: o PH = m(H, t) f (H)
N j=1

(5)

(6)

fj

(7)

que denota la probabilidad de seleccionar un representante del esquema H en la poblacin de generacin t. o o Sea f el valor promedio de adaptacin de la poblacin en o o la generacin t: o f=
N j=1

fj

(8)

seleccionando N individuos de la poblacin de generacin o o t para la generacin t + 1, el valor esperado de individuos o seleccionados del esquema H es:
FIG. 4: Orden y longitud de denicin en un esquema. La o longitud de denicin es el nmero de posiciones que hay entre o u el primer y ultimo bit denido y el orden de denicin es la o suma del nmero de bits denidos en un esquema. u

msel (H, t + 1) = N m(H, t) o tambien: msel (H, t + 1) = m(H, t)

f (H)
N j=1

fj

1.

Efecto de la seleccin aplicado a los esquemas o

f (H) . f

(9)

Supngase que en la poblacin de tamao N de geo o n neracin t de un algoritmo gentico existen k represeno e tantes del esquema H y que f1 , f2 , f3 ,...., fk son los valores de la funcin de adaptacin para los k represeno o tantes. Si se selecciona aleatoriamente un miembro de la poblacin usando el mecanismo de la ruleta, la probabilio dad de que ste sea el i -simo representante del esquema e e H es: Pi = fi N j=1 . (2)

Hay que reiterar que las expresiones presentadas son vlidas slo para el tipo de seleccin proporcional o de a o o ruleta (no son ciertas en general).

2.

Efecto del cruce tras la seleccin o

fj

Supngase ahora que se aplica algn tipo de cruzao u miento con cierta probabilidad pc sobre los individuos previamente seleccionados. Considrese lo que ocurrir e a con aquellas cadenas pertenecientes a un cierto esquema H. Algunas de estas cadenas se cruzar con otras de an

4 forma tal que la cadena resultante ya no ser represena tante del esquema H, es decir, el esquema se romper a. Otras no ser seleccionadas para cruzarse y simplean mente pasar intactas a la siguiente generacin y habr an o a otras ms que originalmente no eran representantes del a esquema y que al cruzarse generar cadenas de H. El an valor esperado de cadenas representantes de H que han sido seleccionadas y a las que no se les aplica cruzamiento es: f (H) (1 pc )m(H, t) . (10) f Sea pr la probabilidad de ruptura del esquema H bajo el tipo de cruzamiento que est siendo utilizado. El valor e esperado del nmero de cadenas representantes de H que u fueron seleccionadas y permanecen en el esquema despus e de aplicrseles cruzamiento es: a pc m(H, t) f (H) (1 pr ) . f (11) representante del esquema H permanezca en l tras una e mutacin, debe ocurrir que ninguno de los bits denidos o del esquema sea invertido. Recurdese que el nmero de e u bits denidos del esquema es o(H ). La probabilidad de que un bit no sea invertido por una mutacin es 1pm , as o que la probabilidad de que ninguno de los bits denidos sea invertido, suponiendo que el invertir cada bit es un evento independiente, es: (1 pm )
o(H)

(16)

Por lo tanto la ecuacin (15) se ve afectada por este faco tor, quedando de la siguiente forma: msel,cru,mut (H, t + 1) (H) f o(H) m(H, t) (1 pc pr ) (1 pm ) . f

(17)

A la expresin anterior habr que hacerle una pequea o a n correccin para considerar aquellas cadenas que origio nalmente estaban fuera del esquema y que despus de e cruzarlas generaron representantes de l. Sea g el nmero e u de cadenas ganadas por el esquema H mediante el mecanismo descrito, reescribiendo la anterior expresin se o tiene: f (H) pc m(H, t) (1 pr ) + g . (12) f El valor esperado del nmero total de representantes del u esquema H, tras haber efectuado la seleccin y el cruzao miento es: f (H) msel,cru (H, t + 1) = (1 pc )m(H, t) + f f (H) pc m(H, t) (1 pr ) + g , (13) f si se excluye g, es claro notar que: msel,cru (H, t + 1) (1 pc )m(H, t) pc m(H, t) es decir: msel,cru (H, t + 1) m(H, t) f (H) (1 pc pr ). f (15) f (H) + f (14)

A esta expresin se le conoce como el teorema de los o esquemas y proporciona una cota inferior del nmero esu perado de individuos que se asocian con el esquema H en la siguiente generacin, expresado en funcin del nmero o o u de individuos que se asocian con el esquema en la actual generacin, asi como de la adaptacin del esquema reo o lativa a la adaptacin media de la poblacin, el orden y o o la longitud del esquema, la longitud de las cadenas binarias, asi como las probabilidades de cruce y mutacin. o Tal y como se desprende de la expresin anterior, eso quemas cortos, de bajo orden y con una adaptacin al o problema superior a la adaptacin media, se espera que o a medida que evoluciona el algoritmo gentico, obtengan e un incremento exponencial en el nmero de individuos u que se asocian con los mismos. A sto se le denomina e la hipotesis de los bloques constructivos (building blocks) (HBC).
EXPERIMENTACION Y RESULTADOS

IV.

f (H) (1 pr ) , f

Se dise un programa en VisualBasic versin 5.0, con no o el n de corroborar cualitativamente la efectividad de los algoritmos genticos simples o (AGS). Este programa e trata de maximizar una funcin la cual tiene unas caro acter sticas deseables para la aplicacin de dicho algoo ritmo, es decir, solo tiene un mximo global; adems, a a cuando x toma un valor muy grande f (x) tiende a cero lo cual signica que no es necesario una poblacin de indio viduos muy densa ya que para valores extrmales de x la e funcin objetivo f (x) se vera muy devaluada por lo que o estos valores de x probablemente se vern descartados. a La funcin objetivo comentada es: o f (x) = x5 , ex + 1 (18)

3.

Efecto de la mutacin tras la seleccin y el cruce o o

Por ultimo, hay que considerar el efecto de las muta ciones. Supngase que una mutacin se aplica con probao o bilidad pm y que tiene el efecto de invertir un bit (cambiar un 1 por un 0 viceversa). Para que una cadena o

donde y y por defecto = 0.00001 y = 0.05. En la gura 5 se muestra la poblacin inicial generada o aleatoriamente por el programa, la poblacin consta de o seis individuos. La primera columna, de izquierda a

5 derecha, son los genotipos o codicacin binaria de dichos o individuos. La segunda columna muestra los fenotipos o valor decimal correspondiente a cada genotipo. La tercera columna es la evaluacin de la funcin objetivo para cada o o individuo, f (x). La cuarta columna muestra la probabilidad que tiene cada individuo de ser seleccionado, (P S) y la quinta columna es la probabilidad acumulada, (P A). En este caso se utiliz Pc = 0.8 y Pm = 0.05. o
V. CONCLUSIONES

1. En problemas reales en los que se aplican los algoritmos genticos, existe la tendencia a la homogee nizacin de la poblacin, es decir a que todos los o o individuos de la misma sean idnticos. Esto impide e que el algoritmo siga explorando nuevas soluciones, con lo que podemos quedar estancados en un maximo o m nimo local no muy bueno. Existen tcnicas e para contrarrestar esta deriva gentica. El mecae nismo ms elemental, aunque no siempre suciena temente ecaz, es introducir una mutacin tras la o seleccin y el cruce. Una vez se realiza la seleccin o o y el cruce se escoge un nmero determinado de bits u de la poblacin y se alteran aleatoriamente. o 2. En el desempeo de un algoritmo gentico es imporn e tante seleccionar adecuadamente los parmetros de a control, la probabilidad de cruce debe ser alta para garantizar el intercambio de informacin gentica o e de calidad entre los mejores individuos. La probabilidad de mutacin debe ser baja y como criterio o debe afectar a los individuos de una poblacin de o la menor manera posible de modo que solo cumpla un papel secundario para evitar perdida de caracter sticas competentes en algn individuo. u 3. El tamao de la poblacin incide sobre los resuln o tados; poblaciones muy grandes garantizan mayor probabilidad de tener mejores soluciones, pero sacrican la velocidad de ejecucin del algoritmo; por o tanto, se debe lograr un consenso. La funcin obo jetivo debe seleccionarse de manera adecuada para garantizar la calicacin correcta de los individuos. o 4. La capacidad de los algoritmos genticos para e tratar simultneamente varias soluciones, implica, a por tanto, su potencialidad para determinac on y tratamiento simultaneo de varios conjuntos de parmetros ptimos. a o 5. Se evidencian las ventajas sobre todo desde el punto de vista computacional, dada la rpida convergena cia del algoritmo, a veces en reducido nmero de u generaciones o iteraciones.

FIG. 5: Poblacin Inicial. o

Despus de 30 iteraciones se homogeniz la poblacin, e o o este fue el criterio de parada. Esto se puede notar en la siguiente tabla:

FIG. 6: Poblacin nal tras aplicar 30 veces el proceso de o seleccin cruce y mutacin. o o

Se puede mostrar grcamente el efecto de este mtodo. a e Los puntos de colores corresponden a la evolucin de cada o individuo desde el primero al sexto en orden descendente. Se puede notar claramente como estos puntos, que inicialmente estn dispersos, se van concentrando alrededor del a punto mximo que, por otros mtodos numricos, debe a e e estar entre: 100.65217 < xmax < 100.65218.

FIG. 7: Grca de 10x100 que muestra la convergencia evoa lutiva de los individuos.

[1] Holland, J.H., Adaptation in Natural and Articial Systems, University of Michigan Press, 1975, 211 p. [2] Goldberg, D.E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison- Wesley Publishing Company, 1989, 412 p. [3] Buckles, B.P., and Petry, F.E., Genetic Algorithms, IEEE

Computer Society Press, 1992, 109 p. [4] Richard J. Bauer, Jr, Genetic Algorithms and Investment Strategies, John Wiley and Sons, Inc , 1994, 308 p. [5] Escuela de ingenier elctrica y electrnica de la univera e o sidad del valle. Rev. Energ y computacin. Volumen VI, a o N 01, edicin N 12. Cali, Colombia, 1997. o