Vous êtes sur la page 1sur 4

ALGORITMOS GENETICOS*

JUAN ANDRES ALVAREZ V.


SANDRA VICTORIA HURTADO G.
HENRY TRUJILLO M.
Estudiantes de 90. Semestre de Ingeniera de Sistemas ICESI

1. INTRODUCCiN Cmo logran esto los seres vivos?


En el presente artculo se presenta Si se conoce la respuesta es posible tra-
el resu~ado final del proyecto de Inves- tar de aplicarla a un programa o al-
tigacinsobreAlgoritmos Genticos que goritmo; esto es lo que efectivamente
se desarroll con la asesora del profe- ocurri.
~~t!.'~~is,~du~rdo Mnera. La respuesta fue dada por Charles
>;~'l'l'leiii que los computadores evo- Darwin y su teora evolutiva: los orga-
IUEi0.t:tflP, aumeqta su capacidad para nismos sobreviven gracias a la selec-
resolver problemas cada vez ms com- cin natural. Por este principio, los indi-
plejo~~;En muchos campos han supera- viduos con mayores ventajas frente al
do i~~res humanos, por ejemplo, la ambiente sobreviven y tienen descen-
rapit~f'con la que realizan clculos dencia con esas o mejores ventajas.
matemticos.
-",;.,,
Ahora surge la pregunta: Cmo lle-
var unos principios biolgicos y ge-
~ln~rT'l~flr$o, ." existen muchos otros
aspe~e~ en los cuales los seres vivos nticos a un algoritmo para poder "imi-
deg~"~t~s a cualquier programa. Uno tar" el comportamiento de los seres vi-
~e e~~ es la capacidad de adaptarse vos? La respuesta son los algoritmos
a nevos ambientes o situaciones de genticos.
cua,lqutfr'tipo y superar los problemas Las ventajas de los algoritmos
que s-presentan. genticos radican no slo en su capaci-

:>.onas interesadas en adquirir el disquete de este programa favor consignar $4.000


e~; enta 0026 04536 9 Ahorrams -Cosmocentro Cali, y enviar recibo o colocar Fax al
~o<,. 2345, Oficina de Investigaciones ICESI y les haremos llegar por Servientrega a la
,drreCclOn indicada.

""
r'
Hit
'Wp
&+ ir i ,!
t2IlJ g FMi1q
MM
-&1;;;

31
ICESI
dad de adaptacin sino en la robustez cadenas (strings) y cada de la En los sistemas naturales, un indivi- Simulando los sistemas de seleccin
que presentan, es decir, el balance en- cadena representa un gen. dLlO es un ser que caracteriza su natural a los que se encuentran someti-
tre eficiencia y eficacia necesario para El primer paso al desarrollar un eSIJe(;II::. En los algoritmos un dos los organismos vivos, los algoritmos
sobrevivir en diferentes ambientes. indlVlClUO es un solo cromosoma, que en genl:icc~s utilizan tres operadores bsi-
algoritmo gentico es, entonces, codifi-
~A'~" ,nTO forman una poblacin de cos para solucionar el nrnhl<>m",
En el siguiente pargrafo se dar una car el parmetro deseado como una
breve introduccin a los algoritmos cadena y usando un alfabeto. Por ejem- cromosomas. De acuerdo con un procedimiento
genticos, mostrando sus principales plo, si buscamos codificar la posicin de Cuando nos enfrentamos a un pro- probabilstico, los cromosomas con al-
conceptos. un interruptor (encendido-apagado) po- blema con los mtodos tradicionales es tos valores de su funcin objetivo son
dramos utilizar una cadena de una sola ~A.~o"",rln manipular mucha informacin escogidos para contribuir con uno o ms
11. ALGORITMOS GENETICOS: posicin y que tomara dos valores: uno descendientes en la genera-
adiCional para apropiadamente,
CONCEPTOS y FUNDAMENTOS para indicar encendido y otro para indi- cin. A este procedimiento se le deno-
pues adems de los parmetros y la fun-
-Qu son Jos algoritmos
genticos?
car apagado. Si utilizamos los valores cin que deseamos optimizar es nece- mina Seleccin.
y 1 estaramos usando un alfabeto sario utilizar tcnicas y mtodos adicio- El procedimiento requerido para pro-
Los algoritmos genticos son binario. nales para la resolucin al ducir cromosomas hijos se llama Cru-
algoritmos inspirados en la seleccin O: apagado oroblema plante,adIJ. Por para zamiento y consiste en la mezcla y
natural que han logrado todo el obtener el mximo para una funcin recombinacin de los genes de dos
1: encendido
proceso evolutivo de los vi- nnlinr)mi",,,, sera necesario conocer el cromosomas, que han sido pn:wi,lm,eo-
vos para resolver problemas de optimi- La longitud de un cromosoma est dorninio de la funcin y, todos los te seleccionados de la generacin an-
zacin, y aprendizaje en las determinada por el nmero de genes del dominio en la funcin y obte- terior. Para cruzar estos cromosomas se
mquinas. que lo conforman. ner de ellos el que d mayor resultado o escoge la de cruce entre 1 y la
La teora de los algoritmos nAnilir.()!'; Si, por queremos codificar el mximo utilizando mtodos longitud del cromosoma, y se prc)dlJcEin
fue desarrollada por John H. Holland, el nmero 5 usando el alfabeto binario analticos (derivadas). Para resolver dos cromosomas con caractersti-
sus y sus estudiantes en la es utilizando una cade- este mismo utilizando cas de ambos Por eie'm[)lo:
Universidad de en un proyec- na de 3: 101, una cadena de ritmos lo nico que debemos
to que buscaba el proceso de longitlld 4: 0101, etc. PADRES HIJOS
saber es la codificacin de los parme-
de los di- tros en un cromosoma y la funcin que
El valor que pueda tomar cada gen
sistemas artificiales que conser-
se conoce como alelo. Si utiliza el alfa-
varartlos I'Ils iml)Orlantes mecanismos Cruzamiento
beto binario cada gen slo tomar Cada cromosoma es una solucin,
sis'lenlas naturales. De este pro-
dos valores, uno o cero. buena o del A medida
frI'l'lnn Algorii:mo Ge-
El conjunto ordenado de genes un que el se va desa-
cromosoma se conoce como genotipo rrollando las soluciones se acercan cada
y las caractersticas del indi- ala En este caso la po:sicin de cruce fue 3
viduo. Por en el cromosoma En los sistemas naturales, los indivi- El procedimiento necesita de ampliar
el genotipo es {1 ,0,0,1 ,O}. duos se encuentran a las condi- su espacio de ello utili-
carac:telrst,iClS de un individuo los rodean y de acuerdo con za la Mutacin, que proporciona altera-
COlldil:;iolrlacias por su y ad,apl:acin al mismo se determina su ciones ocasionales del cromosoma, con
se a nivel externo. As, de soIJreviven:;ia. de manera que los "me- el fin de evitar poblaciones montonas.
los valores que tengan los individuos sobreviven y tienen En el caso de utilizar un alfabeto binario
genes de una persona decir realizar una mutacin consistir en cam-
que es alta o de ojos azules o ver- biar un 1 por un O o viceversa.
Las caractersticas de los seres vi- de cabello liso o rizado, etc. Esto - Cmo funcionan los algoritmos
vos se encuentran registradas en los se denomina fenotipo, y en los al- genticos?
cromosomas y los genes, lo que hace goritmos corresponde a la Lo primero que debemos hacer es
que cada individuo sea diferente dentro decodificacin de un cromosoma. Con- determinar cmo representar los par-
de una poblacin. tinuando con el el fenotipo para metros del en un cromosoma
En algoritmos genticos los cro- el cromosoma 10010 ser su represen- y la funcin objetivo para
mosomas se representan mediante tacin en decimal (18). evaluar de los individuos.
Tambin se deben asignar las probabili- Usan la informacin que les propor- en el cono Demo Algoritmos Ge- Este botn indica que la
dades de cruzamiento y mutacin ade- ciona la funcin objetivo y no requie- nticos ventana actual depen-
cuadas para el problema, y seguir los ren de otros mtodos o conocimien- de de otra principal.
pasos que se describen a continuacin: tos auxiliares. Esta caracterstica Haciendo c1ick en este
1. Se crea una poblacin inicial aleato- hace que se puedan adaptar ms botn o presionando
ria y se evala cada cromosoma de fcilmente a los diferentes proble- las teclas ALT- Rse re-
mas. DEMO gresar a la ventana
acuerdo con la funcin objetivo.
Algoritmos desde la cual se llam
2. Se seleccionan los cromosomas con Usan reglas de transicin probabi- Genticos
lsticas como una herramienta para a la ventana actual.
mejor valor fitness para ser reprodu-
cidos. distribuir mejor los puntos de bs- En la primera ventana se mostrarn En algunas de las ventanas se en-
queda. dos botones, para empezar el progra- contrar adems con otros botones que
3. De los cromosomas seleccionados
ma seleccione el botn Inicio: sirven para diferentes propsitos, por
se escogen pares al azar para ser
111. DEMO ALGORITMOS ejemplo:
cruzados. Los cromosomas hijos for-
man la nueva generacin. GENTICOS (V 1.0 MANUAL
BSICO)
4. Ocasionalmente se muta algn gen
de acuerdo con la probabilidad de O. Introduccin
mutacin. Tambin puede presionar las teclas: y otros. iPuede hacer c1ick en ellos y
En este manual para usuarios fina-
5. Se repite el proceso de seleccin, ALU averiguar qu sucede!
les se muestra el funcionamiento bsi-
cruzamiento y mutacin de genera- co del programa Tutorial sobre Al- Una vez ha comenzado el programa,
3. Ventanas acerca de...
cin en generacin hasta que se podr navegar a travs de las pantallas
goritmos Genticos Simples (DEMO-
complete el nmero mximo de ge- o ventanas con los botones que se en- En muchas pantallas se encontrar
AG). Este programa busca mostrar de
neraciones establecido, o se alcan- cuentran en la parte inferior de la venta- con palabras en color rojo (donde ade-
una manera general y sencilla los prin- ms cambia la forma del cursor, al pa-
za una solucin suficientemente bue- na.
cipales conceptos de los Algoritmos sar el mouse sobre ellas), al hacer c1ick
na.
Genticos. 2. Botones y comandos sobre ellas con el mouse aparecer una
o -.ii Ventajas de los algoritmos
El programa Demo Algoritmos Ge- En la mayora de las ventanas se ten- ventana Acerca de... donde se dar in-
genticos?
nticos v 1.0 fue escrito por Juan An- drn disponibles botones en la parte in- formacin adicional relacionada con la
algoritmOS genticos difieren en palabra seleccionada.
drs Alvarez, Sandra Victoria Hurtado y ferior, cuya funcin se explicar a conti-
frma~ de los algoritmos
Henry Trujllo, utilizando Visual Basic, nuacin:
especialrnotl'1 n los
.~J'Jt(1) de bsqueda y opti-
versin 3.0 standard.
Para correr el programa es necesa- Este botn permite ir a
rio tener Windows 3.1 o superior. Ade- la ventana anterior. La
misma funcin se pue-
ms se debe tener una resolucin de
de obtener presionan-
aO()x600, letra pequea. Se puede co-
do las teclas: ALT - A
rrer con 16 colores, pero se recomienda
qyeseln 256 colores. Seleccionando este bo-
!i':LE)~plolr?rl"LJ!lglran es[>aciiQ,Il? solu- tn se ir a la siguiente
1. Cmo empezar
po- ventana. Tambin se
OIaclQflq~ ClfQ1110S'OlTlaS Que por sus El progr~ml puede correrse desde puede hacer presio-
d,iversls c~raxte,rsticl9 a9arXafl dis- DOS (en e,1 directorio donde se encuen- nando: ALT -[
tintas soluciones al mismotiempo, y tre el programa) con el comando:
adems, por efectos del cruzamien- Al seleccionar este bo-
demo -ag <enter>. (Esto iniciar Una vez haya terminado de leer la in-
to amplan mucho ms el espacio de tn o presionar ALT - S
Windows automticamente). se, terminar la ejecu- formacin que se da en esta ventana,
bsqueda. Por el contrario, los
Tambin puede correrse desde Win- cin del programa (ver puede volver a la pantalla normal presio-
algoritmos tradicionales manipulan
dows dando doble c1ick con el mouse Salir). nando el botn OK (o digitando ALT-O).
un solo punto de bsqueda.

, ,
d6H t Mi n,,' {Bitk 1
ss, :2 35
rii ICESI
4. Ejemplo En este caso se mostrar una venta-
gentico (como la probabilidad de GOLBERG, David E. Genetic Algorithms in
Presionando el botn Ejemplo que na para confirmar que desea terminar
mutacin y de cruce), lo que permi- Search, Optimization, and Machine Learning.
aparece en una de las pantallas se po- el programa
le encontrar soluciones ms pti- Addison-Wesley Publishing Company, inc.
dr observar una aplicacin prctica de
un algoritmo gentico. En esta seccin
== Salir
mas. 1989.

Los algoritmos genticos represen- HEDBERG, Sara Emergin Genetic AI-


se podr navegar como en las dems gorithms. En: Al Expert. Vol. 9 No. 9 (Sept.
Est seguro? tan, por todas sus caractersticas,
pantallas con los botones que aparecen de 1994).
tAsi.1 ~ una opcin que debe ser tenida en
en la parte inferior derecha. HOLLAND, John. Algoritmos Genticos. En:
cuenta cuando se busca resolver un
En las ltimas pantallas de esta sec- problema con algn grado de com- Investigacin y Ciencia. No. 192 (Sept. de
cin se tendrn dos botones adiciona- Puede seleccionar salir (botn SI o 1992).
plejidad, yen general debera ser un
les cuya funcin se explica a continua- ALT - S) o retornar al programa y conti- mtodo que pueda ser conocido y KENNEDY, Scott A. Five ways to a Smarter
cin: nuar normalmente (botn NO o ALT - N). aplicado por los estudiantes de In- Genetic Algorithm. Vol. 8 No. 12 (Dic. de
1993).
geniera de Sistemas dellCESI.
Al presionar este bo- 6. Realizadores LAWTON, George. Genetic Algorithms for
tn se mostrar una Si desea informacin acerca de los V. BIBLlOGRAFIA Schedule Optimization. En: Al Expert. Vol. 7
ventana con las esta- creadores del programa Demo Al- No. 5 (May. de 1992).
CONA, John. Developing a Genetic Progra-
dsticas de la pobla- goritmos Genticos puede hacer c1ick ma System. En: Al Expert. Vol. 10 No. 2 (Feb. WINSTON, Patrick Henry. Inteligencia artifi-
cin mostrada. Para sobre el dibujo que se muestra en la de 1995). cial. 3a. Ed. Addison-Wesley Iberoamerica-
salir de esta ventana parte inferior izquierda de todas las pan- na. 1994.
seleccione el botn tallas.
OK.
IV. CONCLUSIONES
Al hacer c1ick sobre
este botn aparecer Los algoritmos genticos presentan
una ventana con co- importantes ventajas sobre los
mentarios acerca de algoritmos tradicionales, como son:
la generaciQn que se su capacidad para trabajar con va-
muestra en la panta- rios puntos simultneamente abar-
lla. Para eliminar esta cando as un espacio mucho mayor
ventana haga Click de bsqueda ("paralelismo"), su sim-
plicidad (ya que no requieren mani-
~?~ pular directamente los parmetros
nt~f1a
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
Irdeesla objetivo adecuada.
~ecci~p;$ecpodr~i.f:>~~~inai:eli~otn
Retornar para volver ala panta1l9 des- Los algOritmos genticos no asegu-
de donde se inici el ejemplo y conti- ran encontrar la solucin ptima,
nuar desde all. pero en muchos casos pueden pro-
porcionar soluciones bastante ade-
5. Salir cuadas y que por otros mtodos hu-
En cualquier momento es posible fi- biera sido imposible encontrar.
nalizar la ejecucin del programa al pre- Es posible modificar algunos de los
sionar el botn Salir o digitar ALT - S. parmetros iniciales de un algoritmo

:_=.=:Qi::===*:ii::I:========:C:-:m:"j==*::,=:=::::I*='=:::IJ/~CE~