You are on page 1of 4

ALGORITMOS GENETICOS*

JUAN ANDRES ALVAREZ V.


SANDRA VICTORIA HURTADO G.
HENRY TRUJILLO M.
Estudiantes de 90. Semestre de Ingeniera de Sistemas ICESI
31
ICESI
-&1;;;
Cmo logran esto los seres vivos?
Si se conoce la respuesta es posible tra-
tar de aplicarla a un programa o al-
goritmo; esto es lo que efectivamente
ocurri.
La respuesta fue dada por Charles
Darwin y su teora evolutiva: los orga-
nismos sobreviven gracias a la selec-
cin natural. Por este principio, los indi-
viduos con mayores ventajas frente al
ambiente sobreviven y tienen descen-
dencia con esas o mejores ventajas.
Ahora surge la pregunta: Cmo lle-
var unos principios biolgicos y ge-
nticos a un algoritmo para poder "imi-
tar" el comportamiento de los seres vi-
vos? La respuesta son los algoritmos
genticos.
Las ventajas de los algoritmos
genticos radican no slo en su capaci-
"" Hit &+ ir i ,!t2IlJgFMi1q
r' 'Wp MM
1. INTRODUCCiN
:>.onas interesadas en adquirir el disquete de este programa favor consignar $4.000
enta 0026 04536 9 Ahorrams -Cosmocentro Cali, y enviar recibo o colocar Fax al
2345, Oficina de Investigaciones ICESI y les haremos llegar por Servientrega a la
,drreCclOn indicada.
En el presente artculo se presenta
el final del proyecto de Inves-
tigacinsobreAlgoritmos Genticos que
se desarroll con la asesora del profe-
Mnera.
que los computadores evo-
IUEi0.t:tflP, aumeqta su capacidad para
resolver problemas cada vez ms com-
muchos campos han supera-
do humanos, por ejemplo, la
la que realizan clculos
matemticos.
-",;.,,
." existen muchos otros
en los cuales los seres vivos
a cualquier programa. Uno
es la capacidad de adaptarse
a nevos ambientes o situaciones de
cua,lqutfr'tipo y superar los problemas
que s-presentan.
HIJOS
Cruzamiento
PADRES
En este caso la po:sicin de cruce fue 3
El procedimiento necesita de ampliar
su espacio de ello utili-
za la Mutacin, que proporciona altera-
ciones ocasionales del cromosoma, con
el fin de evitar poblaciones montonas.
En el caso de utilizar un alfabeto binario
realizar una mutacin consistir en cam-
biar un 1 por un Oo viceversa.
-Cmo funcionan los algoritmos
genticos?
Lo primero que debemos hacer es
determinar cmo representar los par-
metros del en un cromosoma
y la funcin objetivo para
evaluar de los individuos.
Simulando los sistemas de seleccin
natural a los que se encuentran someti-
dos los organismos vivos, los algoritmos
utilizan tres operadores bsi-
cos para solucionar el nrnhl<>m",
De acuerdo con un procedimiento
probabilstico, los cromosomas con al-
tos valores de su funcin objetivo son
escogidos para contribuir con uno o ms
descendientes en la genera-
cin. A este procedimiento se le deno-
mina Seleccin.
El procedimiento requerido para pro-
ducir cromosomas hijos se llama Cru-
zamiento y consiste en la mezcla y
recombinacin de los genes de dos
cromosomas, que han sido pn:wi,lm,eo-
te seleccionados de la generacin an-
terior. Para cruzar estos cromosomas se
escoge la de cruce entre 1 y la
longitud del cromosoma, y se prc)dlJcEin
dos cromosomas con caractersti-
cas de ambos Por eie'm[)lo:
Cada cromosoma es una solucin,
buena o del A medida
que el se va desa-
rrollando las soluciones se acercan cada
ala
En los sistemas naturales, los indivi-
duos se encuentran a las condi-
los rodean y de acuerdo con
ad,apl:acin al mismo se determina su
soIJreviven:;ia. de manera que los "me-
individuos sobreviven y tienen
En los sistemas naturales, un indivi-
dLlO es un ser que caracteriza su
eSIJe(;II::. En los algoritmos un
indlVlClUO es un solo cromosoma, que en
,nTO forman una poblacin de
cromosomas.
Cuando nos enfrentamos a un pro-
blema con los mtodos tradicionales es
manipular mucha informacin
adiCional para apropiadamente,
pues adems de los parmetros y la fun-
cin que deseamos optimizar es nece-
sario utilizar tcnicas y mtodos adicio-
nales para la resolucin al
oroblema plante,adIJ. Por para
obtener el mximo para una funcin
nnlinr)mi",,,, sera necesario conocer el
dorninio de la funcin y, todos los
del dominio en la funcin y obte-
ner de ellos el que d mayor resultado o
el mximo utilizando mtodos
analticos (derivadas). Para resolver
este mismo utilizando
ritmos lo nico que debemos
saber es la codificacin de los parme-
tros en un cromosoma y la funcin que
cadenas (strings) y cada de la
cadena representa un gen.
El primer paso al desarrollar un
algoritmo gentico es, entonces, codifi-
car el parmetro deseado como una
cadena y usando unalfabeto. Por ejem-
plo, si buscamos codificar la posicin de
un interruptor (encendido-apagado) po-
dramos utilizar una cadena de una sola
posicin y que tomara dos valores: uno
para indicar encendido y otro para indi-
car apagado. Si utilizamos los valores
y 1 estaramos usando un alfabeto
binario.
O: apagado
1: encendido
La longitud de un cromosoma est
determinada por el nmero de genes
que lo conforman.
Si, por queremos codificar
el nmero 5 usando el alfabeto binario
es utilizando una cade-
na de 3: 101, una cadena de
longitlld 4: 0101, etc.
El valor que pueda tomar cada gen
se conoce como alelo. Si utiliza el alfa-
beto binario cada gen slo tomar
dos valores, uno o cero.
El conjunto ordenado de genes un
cromosoma se conoce como genotipo
y las caractersticas del indi-
viduo. Por en el cromosoma
el genotipo es {1 ,0,0,1 ,O}.
carac:telrst,iClS de un individuo
COlldil:;iolrlacias por su y
se a nivel externo. As, de
los valores que tengan los
genes de una persona decir
que es alta o de ojos azules o ver-
de cabello liso o rizado, etc. Esto
se denomina fenotipo, y en los al-
goritmos corresponde a la
decodificacin de un cromosoma. Con-
tinuando con el el fenotipo para
el cromosoma 10010 ser su represen-
tacin en decimal (18).
Las caractersticas de los seres vi-
vos se encuentran registradas en los
cromosomas y los genes, lo que hace
que cada individuo sea diferente dentro
de una poblacin.
En algoritmos genticos los cro-
mosomas se representan mediante
11. ALGORITMOS GENETICOS:
CONCEPTOS y FUNDAMENTOS
-Qu son Jos algoritmos
genticos?
Los algoritmos genticos son
algoritmos inspirados en la seleccin
natural que han logrado todo el
proceso evolutivo de los vi-
vos para resolver problemas de optimi-
zacin, y aprendizaje en las
mquinas.
La teora de los algoritmos nAnilir.()!';
fue desarrollada por John H. Holland,
sus y sus estudiantes en la
Universidad de en un proyec-
to que buscaba el proceso de
de los di-
sistemas artificiales que conser-
varartlos I'Ils iml)Orlantes mecanismos
sis'lenlas naturales. De este pro-
frI'l'lnn Algorii:mo Ge-
dad de adaptacin sino en la robustez
que presentan, es decir, el balance en-
tre eficiencia y eficacia necesario para
sobrevivir en diferentes ambientes.
En el siguiente pargrafo se dar una
breve introduccin a los algoritmos
genticos, mostrando sus principales
conceptos.
y otros. i Puede hacer c1ick en ellos y
averiguar qu sucede!
Este botn indica que la
ventana actual depen-
de de otra principal.
Haciendo c1ick en este
botn o presionando
las teclas ALT- Rse re-
gresar a la ventana
desde la cual se llam
a la ventana actual.
En algunas de las ventanas se en-
contrar adems con otros botones que
sirven para diferentes propsitos, por
ejemplo:
Una vez haya terminado de leer la in-
formacin que se da en esta ventana,
puede volver a la pantalla normal presio-
nando el botn OK (o digitando ALT-O).
3. Ventanas acerca de...
En muchas pantallas se encontrar
con palabras en color rojo (donde ade-
ms cambia la forma del cursor, al pa-
sar el mouse sobre ellas), al hacer c1ick
sobre ellas con el mouse aparecer una
ventana Acerca de... donde se dar in-
formacin adicional relacionada con la
palabra seleccionada.
Este botn permite ir a
la ventana anterior. La
misma funcin se pue-
de obtener presionan-
do las teclas: ALT - A
DEMO
Algoritmos
Genticos
Al seleccionar este bo-
tn o presionar ALT- S
se, terminar la ejecu-
cin del programa (ver
Salir).
En la primera ventana se mostrarn
dos botones, para empezar el progra-
ma seleccione el botn Inicio:
Seleccionando este bo-
tn se ir a la siguiente
ventana. Tambin se
puede hacer presio-
nando: ALT-[
en el cono Demo Algoritmos Ge-
nticos
2. Botones y comandos
En la mayora de las ventanas se ten-
drn disponibles botones en la parte in-
ferior, cuya funcin se explicar a conti-
nuacin:
Tambin puede presionar las teclas:
ALU
Una vez ha comenzado el programa,
podr navegar a travs de las pantallas
o ventanas con los botones que se en-
cuentran en la parte inferior de la venta-
na.
O. Introduccin
En este manual para usuarios fina-
les se muestra el funcionamiento bsi-
co del programa Tutorial sobre Al-
goritmos Genticos Simples (DEMO-
AG). Este programa busca mostrar de
una manera general y sencilla los prin-
cipales conceptos de los Algoritmos
Genticos.
El programa Demo Algoritmos Ge-
nticos v 1.0 fue escrito por Juan An-
drs Alvarez, Sandra Victoria Hurtado y
Henry Trujllo, utilizando Visual Basic,
versin 3.0 standard.
Para correr el programa es necesa-
rio tener Windows 3.1 o superior. Ade-
ms se debe tener una resolucin de
aO()x600, letra pequea. Se puede co-
rrer con 16 colores, pero se recomienda
qyeseln 256 colores.
1. Cmo empezar
El puede correrse desde
DOS (en e,1 directorio donde se encuen-
tre el programa) con el comando:
demo -ag <enter>. (Esto iniciar
Windows automticamente).
Tambin puede correrse desde Win-
dows dando doble c1ick con el mouse
111. DEMO ALGORITMOS
GENTICOS (V 1.0 MANUAL
BSICO)
Usan la informacin que les propor-
ciona la funcin objetivo y no requie-
ren de otros mtodos o conocimien-
tos auxiliares. Esta caracterstica
hace que se puedan adaptar ms
fcilmente a los diferentes proble-
mas.
Usan reglas de transicin probabi-
lsticas como una herramienta para
distribuir mejor los puntos de bs-
queda.
es[>aciiQ,Il? solu-
po-
ClfQ1110S'OlTlaS Que por sus
d,iversls a9arXafl dis-
tintas soluciones al mismotiempo, y
adems, por efectos del cruzamien-
to amplan mucho ms el espacio de
bsqueda. Por el contrario, los
algoritmos tradicionales manipulan
un solo punto de bsqueda.
Tambin se deben asignar las probabili-
dades de cruzamiento y mutacin ade-
cuadas para el problema, y seguir los
pasos que se describen a continuacin:
1. Se crea una poblacin inicial aleato-
ria y se evala cada cromosoma de
acuerdo con la funcin objetivo.
2. Se seleccionan los cromosomas con
mejor valor fitness para ser reprodu-
cidos.
3. De los cromosomas seleccionados
se escogen pares al azar para ser
cruzados. Los cromosomas hijos for-
man la nueva generacin.
4. Ocasionalmente se muta algn gen
de acuerdo con la probabilidad de
mutacin.
5. Se repite el proceso de seleccin,
cruzamiento y mutacin de genera-
cin en generacin hasta que se
complete el nmero mximo de ge-
neraciones establecido, o se alcan-
za una solucin suficientemente bue-
na.
o -.ii Ventajas de los algoritmos
genticos?
algoritmOS genticos difieren en
de los algoritmos
especialrnotl'1 n los
de bsqueda y opti-
, ,
d6H t Mi n,,' {Bitk 1
ss, :2 35
rii ICESI
GOLBERG, David E. Genetic Algorithms in
Search, Optimization, andMachine Learning.
Addison-Wesley Publishing Company, inc.
1989.
HEDBERG, Sara Emergin Genetic AI-
gorithms. En: Al Expert. Vol. 9 No. 9 (Sept.
de 1994).
HOLLAND, John. Algoritmos Genticos. En:
Investigacin y Ciencia. No. 192 (Sept. de
1992).
KENNEDY, Scott A. Five ways to a Smarter
Genetic Algorithm. Vol. 8 No. 12 (Dic. de
1993).
LAWTON, George. Genetic Algorithms for
Schedule Optimization. En: Al Expert. Vol. 7
No. 5 (May. de 1992).
WINSTON, Patrick Henry. Inteligencia artifi-
cial. 3a. Ed. Addison-Wesley Iberoamerica-
na. 1994.
gentico (como la probabilidad de
mutacin y de cruce), lo que permi-
le encontrar soluciones ms pti-
mas.
Los algoritmos genticos represen-
tan, por todas sus caractersticas,
una opcin que debe ser tenida en
cuenta cuando se busca resolver un
problema con algn grado de com-
plejidad, yen general debera ser un
mtodo que pueda ser conocido y
aplicado por los estudiantes de In-
geniera de Sistemas dellCESI.
V. BIBLlOGRAFIA
CONA, John. Developing a Genetic Progra-
ma System. En: Al Expert. Vol. 10 No. 2 (Feb.
de 1995).
IV. CONCLUSIONES
Los algoritmos genticos presentan
importantes ventajas sobre los
algoritmos tradicionales, como son:
su capacidad para trabajar con va-
rios puntos simultneamente abar-
cando as un espacio mucho mayor
de bsqueda ("paralelismo"), su sim-
plicidad (ya que no requieren mani-
pular directamente los parmetros
del problema) y su facilidad para
adaptarse a muy diferentes tipos de
problemas.
Los algoritmos genticos presentan
algunas desventajas como: la dificul-
tad para encontrar una representa-
clnapropiada de los parmetros del
prOblema o para hallar una funcin
objetivo adecuada.
Los algOritmos genticos no asegu-
ran encontrar la solucin ptima,
pero en muchos casos pueden pro-
porcionar soluciones bastante ade-
cuadas y que por otros mtodos hu-
biera sido imposible encontrar.
Es posible modificar algunos de los
parmetros iniciales de un algoritmo
== Salir
Est seguro?
tAsi.1
Puede seleccionar salir (botn SI o
ALT - S) o retornar al programa y conti-
nuar normalmente (botn NO o ALT- N).
En este caso se mostrar una venta-
na para confirmar que desea terminar
el programa
6. Realizadores
Si desea informacin acerca de los
creadores del programa Demo Al-
goritmos Genticos puede hacer c1ick
sobre el dibujo que se muestra en la
parte inferior izquierda de todas las pan-
tallas.
5. Salir
En cualquier momento es posible fi-
nalizar la ejecucin del programa al pre-
sionar el botn Salir o digitar ALT - S.
Irdeesla

Retornar para volver ala panta1l9 des-
de donde se inici el ejemplo y conti-
nuar desde all.
Al presionar este bo-
tn se mostrar una
ventana con las esta-
dsticas de la pobla-
cin mostrada. Para
salir de esta ventana
seleccione el botn
OK.
Al hacer c1ick sobre
este botn aparecer
una ventana con co-
mentarios acerca de
lageneraciQn que se
muestra en la panta-
lla. Para eliminar esta
ventana haga Click


4. Ejemplo
Presionando el botn Ejemplo que
aparece en una de las pantallas se po-
dr observar una aplicacin prctica de
un algoritmo gentico. En esta seccin
se podr navegar como en las dems
pantallas con los botones que aparecen
en la parte inferior derecha.
En las ltimas pantallas de esta sec-
cin se tendrn dos botones adiciona-
les cuya funcin se explica a continua-
cin:
:_=.=:Qi::===*:ii::I:========:C:-:m:"j==*::,

You might also like