Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
AG

AG

Ratings: (0)|Views: 4|Likes:
Descripción de un algoritmo genético simple y aplicación.
Descripción de un algoritmo genético simple y aplicación.

More info:

Categories:Types, Research, Science
Published by: Robinson Franco Alvarez on Jul 02, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/07/2013

pdf

text

original

 
Algoritmos Gen´eticos
Robinson Franco A.
1
1
Departamento de F´ısica, Universidad del Valle, A.A. 25360, Cali, Colombia 
(Dated: 18 Septiembre 2009)Los algoritmos gen´eticos son etodos de usqueda dirigida basados en probabilidad. Estos al-goritmos est´an inspirados en los fen´omenos biol´ogicos de seleccon y recombinaci´on natural que simulan la evoluci´on de una poblaci´on o grupos de individuos que, a la vez, son posibles solucionesa un determinado problema. En este trabajo se presentan los fundamentos b´asicos del algoritmogen´etico simple (AGS). Posteriormente, se efectua la simulaci´on de un AGS en VisualBasic 5.0 quepretende maximizar una funci´on dada con el fin de corroborar la eficiencia de dicho algoritmo.
I. INTRODUCCI´ON
Los algoritmos gen´eticos imitan los principios de laevoluci´on bioogica tales como la reproducci´on, la re- combinaci´on gen´etica y la selecci´on para aplicarlos enprogramas computacionales y buscar soluciones a proble-mas de ingenier´ıa [5]. Un algoritmo gen´etico opera sobreun conjunto de candidatos (posibles soluciones o genoti-pos) llamado poblaci´on. Este conjunto usualmente secodifica en cadenas binarias (fenotipos) que tienen longi-tud fija y se eval´uan de acuerdo a una funci´on objetivoque indica el nivel de adaptaci´on que ha logrado el in-dividuo (o soluci´on) despu´es de varias generaciones (ite-raciones). La poblaci´on inicial se crea aleatoriamente yen cada generaci´on las cadenas se reproducen de maneraselectiva, de acuerdo a su aptitud, y son modificadas atrav´es de operadores gen´eticos de cruce y mutaci´on en-tre otros. La operaci´on de selecci´on asegura que sobre-vivan los individuos mas adaptados, mientras que la re-combinaci´on gen´etica garantiza que la informaci´on fluyaa traes de las cadenas de individuos. Como resultadoapreciable se tiene que el algoritmo usualmente convergehacia una poblaci´on cuyos miembros representan solu-ciones cercanas al ´optimo, seg´un requerimientos previa-mente establecidos [2, 5].
II. FUNDAMENTO DEL ALGORITMOGEN´ETICO
El funcionamiento de un algoritmo gen´etico est´andaro simple (AGS) cumple los siguientes pasos [5]:1. Se genera aleatoriamente una poblaci´on inicial de
individuos que representan las posibles solucionesdel problema. En caso de no hacerlo aleatoria-mente es importante garantizar que dentro de lapoblaci´on inicial se tenga la diversidad estructuralde estas soluciones para tener una representaci´on dela mayor parte de la poblaci´on posible o al menosevitar la convergencia prematura.2. Despu´es de saber la aptitud de cada individuo dadapor la ecuaci´on (1), se procede a elegir los indivi-duos que ser´an cruzados en la siguiente generaci´on,ease figura 2.3. Los individuos con mejor aptitud tienen mayorprobabilidad de ser seleccionados.4. El cruzamiento es el principal operador gen´etico,representa la reproducci´on sexual, opera sobre dosindividuos a la vez para generar dos descendientesdonde se combinan las caracter´ısticas de ambos in-dividuos padres.5. El algoritmo gen´etico se deber´a detener cuando sealcance la soluci´on ´optima, pero ´esta generalmentese desconoce, por lo que se deben utilizar otros cri-terios de detenci´on. Normalmente se usan dos cri-terios: correr el algoritmo gen´etico con un n´umeroaximo de iteraciones (generaciones) o detenerlocuando no haya cambios en la poblaci´on (homoge-nizac´ıon del resultado). De no ser as´ı, el algoritmogen´etico se devuelve al punto dos.El problema de seleccon de variables es un problemade optimizaci´on, ya que lo que se quiere es encontrar,bajo alguna heur´ıstica, el subconjunto de variables quepotencialicen las diferenciaci´ones y las semejanzas de ob- jetos de clases diferentes y de la misma clase respectiva-mente [1, 2, 5].
A. La Funci´on objetivo
La funci´on objetivo es una de las partes mas impor-tantes que forman un algoritmo gen´etico porque en ellaest´a presente el atributo o atributos que se desean op-timizar. Con esta funci´on se evaluar´a cada individuo yen correspondencia con el comportamiento de este, se leasignar´a un valor que caracteriza su aptitud para realizarla tarea en cuesti´on [2, 5].
B. Operadores gen´eticos
Usualmente se utilizan en este tipo de algoritmos tresoperadores b´asicos: selecci´on, cruce y mutaci´on.
 
2
1. Selecci´ on 
La selecci´on es el operador mediante el cual el indi-viduo se copia proporcionalmente a su aptitud para solu-cionar un problema, con vista a formar un conjunto inter-medio de individuos a los que se les aplicar´an los dem´asoperadores. Seleccionar individuos acorde a su
fitness
significa que los individuos con mayor idoneidad tienenuna mayor probabilidad de contribuir con una o mascopias en la siguiente generaci´on. La funci´on objetivoes la que determina el
fitness
de cada individuo. Esteoperador se aplica de tal manera que se le da la mayorprobabilidad de seleccionarse a los individuos m´as aptos.Este etodo llamado usualmente
selecci´ on proporcional 
se aplica a trav´es de la siguiente ecuaci´on:
Pr
(
ti
) =
fitness
(
ti
)
nj
=1
fitness
(
tj
)(1)donde
Pr
(
ti
) es la probabilidad de selecci´on proporcionalcorrespondiente al
i
esimo individuo en el instante
t
. Des-pu´es de obtener la probabilidad de selecci´on para cadaindividuo se procede a efectuar la selecci´on. El crite-rio de selecci´on tiene muchas variantes como por ejem-plo: el criterio de seleccon
jer´ arquico
, por
torneo
o elde
muestreo universal estoc´ astico
teniendo este ultimomayor aceptaci´on entre los dise˜nadores de algoritmosgen´eticos. Buckles [3] introduce este etodo, el cual uti-liza un ´unico giro de la ruleta siendo los sectores circu-lares proporcionales a la funci´on objetivo. Los individuosson seleccionados a partir de marcadores, v´ease Figura 1,igualmente espaciados y con comienzo aleatorio [1, 2, 5].
FIG. 1: etodo selecci´on de padres denominado muestreouniversal estoc´astico. El individuo
t
1
se escoge dos veces,mientras que los individuos
t
3
e
t
4
son elegidos una ´unicavez.
2. Cruce
El cruce se realiza aleatoriamente entre individuos quehan sido seleccionados con una probabilidad de cruce, o
Pc
. La posicon en que se realiza el cruce tambi´en sedecide de forma aleatoria, esta posici´on est´a dada por
FIG. 2: etodo de cruce sencillo.
un n´umero entero entre 1 y
Lc
1 donde
Lc
se refiereal largo de la cadena. Frecuentemente a los individuosseleccionados para cruzarse se les denomina padres y losnuevos individuos formados por el cruce se les llama hi- jos [2, 5]. Una forma de aplicar este operador es el crucesencillo o simple como se muestra en la figura 2.En este punto del algoritmo se pueden seguir varioscaminos:
Mantener el tama˜no de la poblaci´on fija, en la quelos hijos sustituyen a los padres.
Hacer una poblaci´on en donde hay una mezcla dehijos y padres; esta poblaci´on existia temporal-mente, porque siempre al empezar el algoritmo eltama˜no de la poblaci´on debe ser fijo.
3. Mutaci´ on 
La mutacon consiste en recorrer cada uno de losnuevos individuos
hijos
y cambiar aleatoriamente, seg´unlo determine la probabilidad de mutaci´on (
Pm 
), su valoractual por su complemento (en codificaci´on binaria estoquiere decir que hay que cambiar un bit de 1 a 0 o vice-versa). La mutaci´on debe implementarse de tal formaque garantice la variabilidad gen´etica pero que no afectedemasiado la aptitud de un individuo para solucionar unproblema [5]. En un algoritmo gen´etico, la selecci´on yel cruce juegan un papel fundamental. Se debe teneren cuenta que siempre se trabaja con una probabilidadde cruce muy alta, lo cual se fundamenta en que el in-tercambio de soluciones valiosas es la forma id´onea dellegar a la mejor soluci´on. Por su parte, la mutacon esun operador secundario en el algoritmo gen´etico y siem-pre tiene una probabilidad muy baja. Se utiliza paraevitar que se pierda alguna caracter´ıstica importante enel individuo [2, 5].
FIG. 3: Individuo tras el cruce y la mutaci´on.
 
3
III. MODELO TE´ORICO
El modelo matem´atico usual para describir el compor-tamiento de los algoritmos gen´eticos est´a basado en el
teorema del esquema 
.´Este fue planteado originalmentepor Holland [1] para el AGS, y se caracteriza por utilizarselecci´on proporcional y cruzamiento de un punto, entreotras cosas.
A. Esquemas
Se ha creado una notaci´on para los conjuntos de ca-denas binarias mediante cadenas compuestas de tress´ımbolos, es decir: 0,1,*. Consid´erese un conjunto de ca-denas que poseen valores comunes en ciertas posiciones.Para construir la cadena que denota este conjunto, bastacolocar en las posiciones donde las cadenas coinciden elvalor explicito que tienen, y en las posiciones donde losvalores 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 deno-mina esquemas. El n´umero de posiciones con valor expli-cito de un esquema
se denomina orden del esquema yse denota por
o
(
). La distancia entre la primera y la ul-tima posici´on explicita se denomina
longitud de definici´ on 
o
defining length 
y se denota como
δ
(
). En la figura 4se ilustran estas definiciones.
FIG. 4: Orden y longitud de definici´on en un esquema. Lalongitud de definici´on es el n´umero de posiciones que hay entreel primer y ultimo bit definido y el orden de definici´on es lasuma del n´umero de bits definidos en un esquema.
1. Efecto de la selecci´ on aplicado a los esquemas
Sup´ongase que en la poblaci´on de tama˜no
de ge-neraci´on
de un algoritmo gen´etico existen
represen-tantes del esquema
y que
1
,
2
,
3
,....,
k
son losvalores de la funci´on de adaptaci´on para los
represen-tantes. Si se selecciona aleatoriamente un miembro de lapoblaci´on usando el mecanismo de la ruleta, la probabili-dad de que ´este sea el
esimo representante del esquema
es:
i
=
i
j
=1
j
.
(2)Entonces, la probabilidad de seleccionar alg´un represen-tante del esquema
es:
=
1
j
=1
j
+
2
j
=1
j
+
.....
+
k
j
=1
j
,
(3)o tambien:
=
1
+
2
+
.....
+
k
j
=1
j
.
(4)Sea¯
(
) el valor de adaptaci´on promedio de los re-presentantes del esquema
y
(
H,
) el n´umero de re-presentantes del esquema en la poblaci´on de generaci´on
. Por definici´on:¯
(
) =
1
+
2
+
.....
+
k
m
(
H,t
)
,
(5)de donde:
1
+
2
+
.....
+
k
=¯
(
)
m
(
H,t
)
,
(6)sustituyendo en la ecuaci´on (4), se obtiene:
=
m
(
H,t
)¯
(
)
j
=1
j
,
(7)que denota la probabilidad de seleccionar un represen-tante del esquema
en la poblaci´on de generaci´on
.Sea¯
el valor promedio de adaptaci´on de la poblaci´on enla generaci´on
:¯
=
j
=1
j
,
(8)seleccionando
individuos de la poblaci´on de generaci´on
para la generaci´on
t
+1, el valor esperado de individuosseleccionados del esquema
es:
m
sel
(
H,t
+ 1) =
Nm
(
H,t
)¯
(
)
j
=1
j
,
o tambien:
m
sel
(
H,t
+ 1) =
m
(
H,t
)¯
(
)¯
.
(9)Hay que reiterar que las expresiones presentadas sonalidas s´olo para el tipo de selecci´on proporcional o de ruleta (no son ciertas en general).
2. Efecto del cruce tras la selecci´ on 
Sup´ongase ahora que se aplica alg´un tipo de cruza-miento con cierta probabilidad
p
c
sobre los individuospreviamente seleccionados. Consid´erese lo que ocurrir´ıacon aquellas cadenas pertenecientes a un cierto esquema
. Algunas de estas cadenas se cruzar´ıan con otras de

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->