Sie sind auf Seite 1von 41

FACULTAD DE INGENIERIA

ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA


DE SISTEMAS E INFORMATICA
ALGORITMOS GENETICOS
INTELIGENCIA ARTIFICIAL
INTREGRANTES:
MILLA FLORES, Jos
PEREZ AGUSTIN Jemima Ruth
RAMOS ACAS, Os!a"
SOSA SAN MARTIN
DOCENTES: #ILCES CUMACERO, Ri!a"$o%
LIMA &PERU
'(()
FACULTAD DE INGENIERIA
ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA
DE SISTEMAS E INFORMATICA
ALGORITMOS GENETICOS
INTELIGENCIA ARTIFICIAL
nteligencia Artificial
*+$i!e
INTRODUCCI,N%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -
.U/ ES UN ALGORITMO%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% )
.U/ ES GENETICA%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% )
0.U/ ES UN ALGORITMO GEN/TICO1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% )
LA EVOLUCN........................................................................................................ 7
UNA 2RE#E ISTORIA DE LOS ALGORITMOS GENETICOS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3
MECANISMOS DE CAM2IO EN LA E#OLUCI,N%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4(
Seleccin Natural.................................................................................................... 10
Deriva gnica: ........................................................................................................ 10
Mutacin:................................................................................................................. 10
Poliploida: .............................................................................................................. 10
Recombinacin:....................................................................................................... 10
Flujo gentico: ........................................................................................................ 11
0CU5LES SON LAS #ENTAJAS DE LOS AGS1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%44
0CU5LES SON LAS LIMITACIONES DE LOS AGS1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%46
ALGORTMO GENTCO SMPLE.........................................................................17
ANATOMA DE UN ALGORTMO GENTCO SMPLE..........................18
Codificacin de las variables....................................................................19
EJEMPLO 1:........................................................................................... 19
EJEMPLO 2: ........................................................................................... 19
Algoritmo gentico propiamente dicho.....................................................20
Algoritmo gentico.............................................................20
Tamao de la poblacin: ......................................................................... 20
Condicin de terminacin:........................................................................20
EVALUACN Y SELECCN................................................................................20
Basado en el Rango:................................................................................ 21
Rueda de Ruleta:..................................................................................... 21
Seleccin de Torneo:............................................................................... 22
CROSSOVER.......................................................................................... 22
Crossover n-puntos: ................................................................................23
Crossover uniforme:.................................................................................23
Crossover especializados:.......................................................................23
MUTACN.............................................................................................. 23
OTROS OPERADORES..........................................................................24
Cromosomas de longitud variable............................................................24
Operadores de nicho (ecolgico).............................................................25
Operadores especializados......................................................................25
APLCANDO OPERADORES GENTCOS............................................26
EJEMPLO SMPLE DE ALGORTMOS GENTCO:..............................................26
Ejemplo completo de un algoritmo gentico............................................................28
1.- NCALZACN:................................................................................ 29
2.- EVALUACN:.................................................................................... 30
3.- SELECCN:...................................................................................... 30
4.- REPRODUCCN:............................................................................. 31
5.- ENTRENAMENTO:............................................................................31
ALGUNOS EJEMPLOS ESPEC*FICOS DE AG%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%7'
ACSTCA ............................................................................................................. 32
NGENERA AEROESPACAL ..............................................................................33
ASTRONOMA Y ASTROFSCA ...........................................................................33
QUMCA ................................................................................................................ 33
Algoritmos Genticos Pg. 3
nteligencia Artificial
NGENERA ELCTRCA ..................................................................................... 34
MERCADOS FNANCEROS .................................................................................34
JUEGOS ................................................................................................................ 35
GEOFSCA ............................................................................................................ 36
NGENERA DE MATERALES .............................................................................36
MATEMTCAS Y ALGORTMA ...........................................................................36
BOLOGA MOLECULAR ....................................................................................... 36
RECONOCMENTO DE PATRONES Y EXPLOTACN DE DATOS ..................37
ROBTCA ............................................................................................................. 37
NGENERA DE SSTEMAS ..................................................................................38
ARGUMENTOS CREACIONISTAS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 73
CONCLUSI,N%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 73
2I2LIOGRAF*A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 64
Algoritmos Genticos Pg. 4
nteligencia Artificial
INTRODUCCI,N
De vez en cuando, los creacionistas acusan a la evolucin de que carece de utilidad
como teora cientfica porque no produce beneficios prcticos y no tiene relevancia en la
vida diaria. Sin embargo, tan slo la evidencia de la biologa demuestra que esta
afirmacin es falsa. Hay numerosos fenmenos naturales para los que la evolucin nos
ofrece un slido fundamento terico. Por nombrar uno, el desarrollo observado de la
resistencia a los insecticidas en las plagas de cultivos, a los antibiticos en las bacterias,
a la quimioterapia en las clulas cancerosas, y a los frmacos antiretrovirales en virus
como el VH, es una consecuencia abierta de las leyes de la mutacin y la seleccin, y
comprender estos principios nos ha ayudado a desarrollar estrategias para enfrentarnos a
estos nocivos organismos. El postulado evolutivo de la descendencia comn ha ayudado
al desarrollo de nuevos medicamentos y tcnicas, al proporcionar a los investigadores
una buena idea de con qu organismos deben experimentar para obtener resultados que
probablemente sern relevantes para los seres humanos. Finalmente, el hombre ha
utilizado con grandes resultados el principio de cra selectiva para crear organismos
personalizados, distintos a cualquiera que se pueda encontrar en la naturaleza, para
beneficio propio. El ejemplo cannico, por supuesto, es la diversidad de variedades de
perros domsticos (razas tan diversas como los bulldogs, chihuahuas y dachshunds han
sido producidas a partir de lobos en slo unos pocos miles de aos), pero ejemplos
menos conocidos incluyen al maz cultivado (muy diferente de sus parientes salvajes, que
carecen de las familiares ``orejas'' del maz cultivado), a los peces de colores (como los
perros, hemos criado variedades cuyo aspecto es drsticamente distinto al del tipo
salvaje), y a las vacas lecheras (con ubres inmensas, mucho mayores que las necesarias
para alimentar a una cra).
Pero en las ltimas dcadas, el continuo avance de la tecnologa moderna ha producido
algo nuevo. Ahora la evolucin est produciendo beneficios prcticos en un campo muy
distinto y, esta vez, los creacionistas no pueden afirmar que su explicacin se adapte a
los hechos igual de bien. Este campo es la informtica, y los beneficios provienen de una
estrategia de programacin llamada algoritmos genticos.
Algoritmos Genticos Pg. 5
nteligencia Artificial
.U/ ES UN ALGORITMO
Un a89o"itmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una
tarea y/o resolver un problema. De un modo ms formal, un algoritmo es una secuencia
finita de operaciones realizables, no ambiguas, cuya ejecucin da una solucin de un
problema en un tiempo finito.
El trmino algoritmo no est exclusivamente relacionado con la matemtica, ciencias de
la computacin o informtica. En realidad, en la vida cotidiana empleamos algoritmos en
multitud de ocasiones para resolver diversos problemas. Algunos ejemplos son el uso de
una lavadora (se siguen las instrucciones), pero no la preparacin de una comida (porque
no estn perfectamente definidos los pasos). Tambin existen ejemplos de ndole
matemtica, como el algoritmo de la divisin para calcular el cociente de dos nmeros, el
algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos, o
incluso el mtodo de Gauss para resolver Sistema lineal de ecuaciones
.U/ ES GENETICA
Del griego ysvvo, genno, dar a luz, es la ciencia que estudia los genes, la herencia y la
variacin de los organismos. El trmino "Gentica" fue propuesto para describir el estudio
de la herencia y la ciencia de la variacin por el prominente cientfico britnico William
Bateson en una carta personal a Adam Sedgwick fechada el 18 de abril de 1905. Bateson
emple pblicamente el trmino "Gentica" por primera vez en la Tercera Conferencia
nternacional de Gentica (Londres, nglaterra) en 1906.
Los genes contienen la informacin necesaria para determinar la secuencia de
aminocidos de las protenas. stas, a su vez, desempean una funcin importante en la
determinacin del fenotipo final, o apariencia fsica, del organismo. En los organismos
diploides, un alelo dominante en uno de los cromosomas homlogos enmascara la
expresin de expression de un alelo recesivo en el otro.
0.U/ ES UN ALGORITMO GEN/TICO1
Un algoritmo gentico (AG) es una tcnica de programacin que imita a la evolucin
biolgica como estrategia para resolver problemas. Dado un problema especfico a
resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema,
codificadas de alguna manera, y una mtrica llamada funcin de aptitud que permite
evaluar cuantitativamente a cada candidata. Estas candidatas pueden ser soluciones que
ya se sabe que funcionan, con el objetivo de que el AG las mejore, pero se suelen
generar aleatoriamente.
Luego el AG evala cada candidata de acuerdo con la funcin de aptitud. En un acervo
de candidatas generadas aleatoriamente, por supuesto, la mayora no funcionarn en
absoluto, y sern eliminadas. Sin embargo, por puro azar, unas pocas pueden ser
prometedoras -pueden mostrar actividad, aunque slo sea actividad dbil e imperfecta,
hacia la solucin del problema.
Algoritmos Genticos Pg. 6
nteligencia Artificial
Estas candidatas prometedoras se conservan y se les permite reproducirse. Se realizan
mltiples copias de ellas, pero las copias no son perfectas; se introducen cambios
aleatorios durante el proceso de copia. Luego, esta descendencia digital prosigue con la
siguiente generacin, formando un nuevo acervo de soluciones candidatas, y son
sometidas a una ronda de evaluacin de aptitud. Las candidatas que han empeorado o
no han mejorado con los cambios en su cdigo son eliminadas de nuevo; pero, de nuevo,
por puro azar, las variaciones aleatorias introducidas en la poblacin pueden haber
mejorado a algunos individuos, convirtindolos en mejores soluciones del problema, ms
completas o ms eficientes. De nuevo, se seleccionan y copian estos individuos
vencedores hacia la siguiente generacin con cambios aleatorios, y el proceso se repite.
Las expectativas son que la aptitud media de la poblacin se incrementar en cada ronda
y, por tanto, repitiendo este proceso cientos o miles de rondas, pueden descubrirse
soluciones muy buenas del problema.
Aunque a algunos les puede parecer asombroso y antiintuitivo, los algoritmos genticos
han demostrado ser una estrategia enormemente poderosa y exitosa para resolver
problemas, demostrando de manera espectacular el poder de los principios evolutivos. Se
han utilizado algoritmos genticos en una amplia variedad de campos para desarrollar
soluciones a problemas tan difciles o ms difciles que los abordados por los diseadores
humanos. Adems, las soluciones que consiguen son a menudo ms eficientes, ms
elegantes o ms complejas que nada que un ingeniero humano producira. En algunos
casos, los algoritmos genticos han producido soluciones que dejan perplejos a los
programadores que escribieron los algoritmos en primera instancia!
LA E#OLUCI,N
Despus de ver el tipo de problemas a los que se pueden aplicar los algoritmos
evolutivos, se va a estudiar qu es lo que inspira dichos algoritmos, la
Naturaleza, ese fenmeno natural denominado evolucin, y si optimiza
o no.
La teora de la evolucin (que no es tal teora, sino una serie de hechos probados), fue
descrita por Charles Darwin. La hiptesis de Darwin, presentada junto
con Wallace, que lleg a las mismas conclusiones independientemente,
es que pequeos cambios heredables en los seres vivos y la seleccin
son los dos hechos que provocan el cambio en la Naturaleza y la
generacin de nuevas especies. Pero Darwin desconoca cual es la
base de la herencia, pensaba que los rasgos de un ser vivo eran como
un fluido, y que los "fluidos" de los dos padres se mezclaban en la
descendencia; esta hiptesis tena el problema de que al cabo de cierto
tiempo, una poblacin tendra los mismos rasgos intermedios.
Fue Me+$e8 quien descubri que los caracteres se heredaban de forma discreta, y que se
tomaban del padre o de la madre, dependiendo de su carcter
dominante o recesivo. A estos caracteres que podan tomar diferentes
valores se les llamaron genes, y a los valores que podan tomar, alelos.
Algoritmos Genticos Pg. 7
nteligencia Artificial
En realidad, las teoras de Mendel, que trabaj en total aislamiento, se
olvidaron y no se volvieron a redescubrir hasta principios del siglo XX.
Adems, hasta 1930 el geneticista ingls Ro:e"t A;8me" no relacion
ambas teoras, demostrando que los genes mendelianos eran los que
proporcionaban el mecanismo necesario para la evolucin.
Ms o menos por la misma poca, el bilogo alemn <a8the" F8emmi+9 describi los
cromosomas, como ciertos filamentos en los que se agregaba la
cromatina del ncleo celular durante la divisin; poco ms adelante se
descubri que las clulas de cada especie viviente tenan un nmero
fijo y caracterstico de cromosomas.
Y no fue hasta los aos 50, cuando <atso+ y C"i!= descubrieron que la base molecular
de los genes est en el ADN, cido desoxirribonucleico. Los
cromosomas estn compuestos de ADN, y por tanto los genes estn en
los cromosomas. La macromolcula de ADN est compuesta por bases
pricas y pirimidnicas, la adenina, citosina, guanina y timina. La
combinacin y la secuencia de estas bases forma el !>$i9o 9e+ti!o,
nico para cada ser vivo. Grupos de 3 bases forman un codon, y cada
codon codifica un aminocido (el que exprese ese aminocido o no
depende de otros factores); el cdigo gentico codifica todas las
protenas que forman parte de un ser vivo. Mientras que al cdigo
gentico se le llama genotipo, al cuerpo que construyen esas protenas,
modificado por la presin ambiental, la historia vital, y otros
mecanismos dentro del cromosoma, se llama fenotipo.
Proyectos como el del Genoma Humano tratan de identificar cules son estos genes, sus
posiciones, y sus posibles alteraciones, que habitualmente conducen a
enfermedades.
Todos estos hechos forman hoy en da la teora del neo-darwinismo, que afirma que la
historia de la mayora de la vida est causada por una serie de
procesos que actan en y dentro de las poblaciones: "e?"o$u!!i>+,
muta!i>+, !om?eti!i>+ ; se8e!!i>+.
La evolucin se puede definir entonces como cambios en el pool o conjunto gentico de
una poblacin.
Un tema polmico, con opiniones variadas dependiendo de si se trata de informticos
evolutivos o de bilogos o geneticistas, es si la evolucin optimiza o no.
Segn los i+@o"mAti!os eBo8utiBos, la evolucin optimiza, puesto que va creando seres
cada vez ms perfectos, cuya cumbre es el hombre; adems, indicios
de esta optimizacin se encuentran en el organismo de los animales,
desde el tamao y tasa de ramificacin de las arterias, diseada para
maximizar flujo, hasta el metabolismo, que optimiza la cantidad de
energa extrada de los alimentos.
Algoritmos Genticos Pg. 8
nteligencia Artificial
Sin embargo, 8os 9e+eti!istas ; :i>8o9os eBo8utiBos afirman que la evolucin no
optimiza, sino que adapta y optimiza localmente en el espacio y el
tiempo; evolucin no significa progreso. Un organismo ms
evolucionado puede estar en desventaja competitiva con uno de sus
antepasados, si se colocan en el ambiente del ltimo.
UNA 2RE#E ISTORIA DE LOS ALGORITMOS GENETICOS
Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos aparecieron
a finales de los 50 y principios de los 60, programados en computadoras por bilogos
evolutivos que buscaban explcitamente realizar modelos de aspectos de la evolucin
natural. A ninguno de ellos se le ocurri que esta estrategia podra aplicarse de manera
ms general a los problemas artificiales, pero ese reconocimiento no tardara en llegar:
``La computacin evolutiva estaba definitivamente en el aire en los das formativos de la
computadora electrnica'' En 1962, investigadores como G.E.P. Box, G.J. Friedman,
W.W. Bledsoe y H.J. Bremermann haban desarrollado independientemente algoritmos
inspirados en la evolucin para optimizacin de funciones y aprendizaje automtico, pero
sus trabajos generaron poca reaccin. En 1965 surgi un desarrollo ms exitoso, cuando
ngo Rechenberg, entonces de la Universidad Tcnica de Berln, introdujo una tcnica
que llam estrategia evolutiva, aunque se pareca ms a los trepacolinas que a los
algoritmos genticos. En esta tcnica no haba poblacin ni cruzamiento; un padre
mutaba para producir un descendiente, y se conservaba el mejor de los dos,
convirtindose en el padre de la siguiente ronda de mutacin. Versiones posteriores
introdujeron la idea de poblacin. Las estrategias evolutivas todava se emplean hoy en
da por ingenieros y cientficos, sobre todo en Alemania.
En una fecha tan temprana como 1962, el trabajo de John Holland sobre sistemas
adaptativos estableci las bases para desarrollos posteriores; y lo que es ms importante,
Holland fue tambin el primero en proponer explcitamente el cruzamiento y otros
operadores de recombinacin. Sin embargo, el trabajo fundamental en el campo de los
algoritmos genticos apareci en 1975, con la publicacin del libro ``Adaptacin en
Sistemas Naturales y Artificiales''. Basado en investigaciones y papers anteriores del
propio Holland y de colegas de la Universidad de Michigan, este libro fue el primero en
presentar sistemtica y rigurosamente el concepto de sistemas digitales adaptativos
utilizando la mutacin, la seleccin y el cruzamiento, simulando el proceso de la evolucin
biolgica como estrategia para resolver problemas. El libro tambin intent colocar los
algoritmos genticos sobre una base terica firme introduciendo el concepto de esquema.
Ese mismo ao, la importante tesis de Kenneth De Jong estableci el potencial de los
AGs demostrando que podan desenvolverse bien en una gran variedad de funciones de
prueba, incluyendo paisajes de bsqueda ruidosos, discontinuos y multimodales.
Al principio, estas aplicaciones eran principalmente tericas. Sin embargo, al seguir
proliferando la investigacin, los algoritmos genticos migraron hacia el sector comercial,
al cobrar importancia con el crecimiento exponencial de la potencia de computacin y el
desarrollo de nternet. Hoy en da, la computacin evolutiva es un campo floreciente, y los
algoritmos genticos estn ``resolviendo problemas de inters cotidiano'' en reas de
estudio tan diversas como la prediccin en la bolsa y la planificacin de la cartera de
valores, ingeniera aeroespacial, diseo de microchips, bioqumica y biologa molecular, y
diseo de horarios en aeropuertos y lneas de montaje. La potencia de la evolucin ha
tocado virtualmente cualquier campo que uno pueda nombrar, modelando invisiblemente
el mundo que nos rodea de incontables maneras, y siguen descubrindose nuevos usos
mientras la investigacin sigue su curso. Y en el corazn de todo esto se halla nada ms
que la simple y poderosa idea de Charles Darwin: que el azar en la variacin, junto con la
ley de la seleccin, es una tcnica de resolucin de problemas de inmenso poder y de
aplicacin casi ilimitada.
Algoritmos Genticos Pg. 9
nteligencia Artificial
MECANISMOS DE CAM2IO EN LA E#OLUCI,N
Estos mecanismos de cambio sern necesarios para entender los algoritmos
evolutivos, pues se trata de imitarlos para resolver problemas de ingeniera; por eso
merece la pena conocerlos en ms profundidad. Los mecanismos de cambio alteran
la proporcin de alelos de un tipo determinado en una poblacin, y se dividen en dos
tipos: los que disminuyen la variabilidad, y los que la aumentan.
Los principales mecanismos que disminuyen la variabilidad son los siguientes:
Se8e!!i>+ Natu"a8
Los individuos que tengan algn rasgo que los haga menos vlidos para realizar su
tarea de seres vivos, no llegarn a reproducirse, y, por tanto, su patrimonio gentico
desaparecer del pool; algunos no llegarn ni siquiera a nacer. Esta seleccin sucede
a muchos niveles: competicin entre miembros de la especie (intraespecfica),
competicin entre diferentes especies, y competicin predador-presa, por ejemplo.
Tambin es importante la seleccin sexual, en la cual las hembras eligen el mejor
individuo de su especie disponible para reproducirse.
De"iBa 9+i!a:
El simple hecho de que un alelo sea ms comn en la poblacin que otro, causar
que la proporcin de alelos de esa poblacin vaya aumentando en una poblacin
aislada, lo cual a veces da lugar a fenmenos de especiacin, por ejemplo, por el
denominado efecto fundador.
Otros mecanismos aumentan la diversidad, y suceden generalmente en el mbito
molecular. Los ms importantes son:
Muta!i>+:
La mutacin es una alteracin del cdigo gentico, que puede suceder por mltiples
razones. En muchos casos, las mutaciones las elimina la ADN-polimerasa, la navaja
del ejrcito suizo del ADN, que igual duplica, que corrige, que desinvierte un cacho
gentico mal colocado. En muchos otros casos, las mutaciones, que cambian un
nucletido por otro, son letales, y los individuos ni siquiera llegan a desarrollarse,
pero a veces se da lugar a la produccin de una protena que aumenta la
supervivencia del individuo, y que, por tanto, es pasada a la descendencia. Las
mutaciones son totalmente aleatorias, y son el mecanismo bsico de generacin de
variedad gentica. A pesar de lo que se piensa habitualmente, la mayora de las
mutaciones ocurren de forma natural, aunque existen sustancias mutagnicas que
aumentan su frecuencia.
Po8i?8oi$Ca:
Mientras que las clulas normales poseen dos copias de cada cromosoma, y las
clulas reproductivas una (haploides), puede suceder por accidente que alguna clula
reproductiva tenga dos copias; si se logra combinar con otra clula diploide o
haploide dar lugar a un ser vivo con varias copias de cada cromosoma. La mayora
de las veces, la poliploida da lugar a individuos con algn defecto (por ejemplo, el
tener 3 copias del cromosoma 21 da lugar al mongolismo), pero en algunos casos se
crean individuos viables. Un caso de mutacin fue el que sufri (o disfrut) el
mosquito Culex pipiens, en el cual se duplic un gen que generaba una enzima que
rompa los organofosfatos, componentes habituales de los insecticidas.
Re!om:i+a!i>+:
Cuando las dos clulas sexuales, o gametos, una masculina y otra femenina se
combinan, los cromosomas de cada una tambin lo hacen, intercambindose genes,
que a partir de ese momento pertenecern a un cromosoma diferente. A veces
tambin se produce traslocacin dentro de un cromosoma; una secuencia de cdigo
se elimina de un sitio y aparece en otro sitio del cromosoma, o en otro cromosoma.
Algoritmos Genticos Pg. 10
nteligencia Artificial
F8uDo 9e+ti!o:
O intercambio de material gentico entre seres vivos de diferentes especies.
Normalmente se produce a travs de un vector, que suelen ser virus o bacterias;
estas incorporan a su material gentico genes procedentes de una especie a la que
han infectado, y cuando infectan a un individuo de otra especie pueden transmitirle
esos genes a los tejidos generativos de gametos.
En resumen, la seleccin natural acta sobre el fenotipo y suele disminuir la
diversidad, haciendo que sobrevivan solo los individuos ms aptos (aunque esta
frase, bien mirada, es una redundancia: Sobreviven los mejores o son los mejores
porque sobreviven?); los mecanismos que generan diversidad y que combinan
caractersticas actan habitualmente sobre el genotipo.
0CU5LES SON LAS #ENTAJAS DE LOS AGs1
El primer y ms importante punto es que los algoritmos genticos son
i+t"C+se!ame+te ?a"a8e8os. La mayora de los otros algoritmos son en serie y
slo pueden explorar el espacio de soluciones hacia una solucin en una
direccin al mismo tiempo, y si la solucin que descubren resulta subptima, no
se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de
nuevo. Sin embargo, ya que los AGs tienen descendencia mltiple, pueden
explorar el espacio de soluciones en mltiples direcciones a la vez. Si un camino
resulta ser un callejn sin salida, pueden eliminarlo fcilmente y continuar el
trabajo en avenidas ms prometedoras, dndoles una mayor probabilidad en
cada ejecucin de encontrar la solucin.
Sin embargo, la ventaja del paralelismo va ms all de esto. Considere lo siguiente:
todas las cadenas binarias (cadenas de ceros y unos) de 8 dgitos forman un espacio
de bsqueda, que puede representarse como ******** (donde * significa ``o 0 o 1''). La
cadena 01101010 es un miembro de este espacio. Sin embargo, tambin es un
miembro del espacio 0*******, del espacio 01******, del espacio 0******0, del espacio
0*1*1*1*, del espacio 10*01**0, etctera. Evaluando la aptitud de esta cadena
particular, un algoritmo gentico estara sondeando cada uno de los espacios a los
que pertenece. Tras muchas evaluaciones, ira obteniendo un valor cada vez ms
preciso de la aptitud media de cada uno de estos espacios, cada uno de los cuales
contiene muchos miembros.
Por tanto, un AG que evale explcitamente un nmero pequeo de individuos est
evaluando implcitamente un grupo de individuos mucho ms grande de la misma
manera que un encuestador que le hace preguntas a un cierto miembro de un grupo
tnico, religioso o social espera aprender algo acerca de las opiniones de todos los
miembros de ese grupo, y por tanto puede predecir con fiabilidad la opinin nacional
sondeando slo un pequeo porcentaje de la poblacin. De la misma manera, el AG
puede dirigirse hacia el espacio con los individuos ms aptos y encontrar el mejor de
ese grupo. En el contexto de los algoritmos evolutivos, esto se conoce como teorema
del esquema, y es la ventaja principal de los AGs sobre otros mtodos de resolucin
de problemas.
Debido al paralelismo que les permite evaluar implcitamente muchos esquemas a la
vez, los algoritmos genticos funcionan particularmente bien resolviendo problemas
cuyo espacio de soluciones potenciales es realmente grande -demasiado vasto para
hacer una bsqueda exhaustiva en un tiempo razonable. La mayora de los
problemas que caen en esta categora se conocen como ``no lineales''. En un
problema lineal, la aptitud de cada componente es independiente, por lo que
cualquier mejora en alguna parte dar como resultado una mejora en el sistema
Algoritmos Genticos Pg. 11
nteligencia Artificial
completo. No es necesario decir que hay pocos problemas como ste en la vida real.
La no linealidad es la norma, donde cambiar un componente puede tener efectos en
cadena en todo el sistema, y donde cambios mltiples que, individualmente, son
perjudiciales, en combinacin pueden conducir hacia mejoras en la aptitud muchos
mayores. La no linealidad produce una explosin combinatoria: el espacio de
cadenas binarias de 1.000 dgitos puede examinarse exhaustivamente evaluando
slo 2.000 posibilidades si el problema es lineal, mientras que si no es lineal, una
bsqueda exhaustiva requiere evaluar 21.000 posibilidades -un nmero que, escrito,
ocupara ms de 300 dgitos.
Afortunadamente, el paralelismo implcito de los AGs les permite superar incluso este
enorme nmero de posibilidades, y encontrar con xito resultados ptimos o muy
buenos en un corto periodo de tiempo, tras muestrear directamente slo regiones
pequeas del vasto paisaje adaptativo. Por ejemplo, un algoritmo gentico
desarrollado en comn por ingenieros de General Electric y el Rensselaer Polytechnic
nstitute produjo el diseo de la turbina de un motor a reaccin de altas prestaciones
que era tres veces mejor que la configuracin diseada por humanos, y un 50%
mejor que una configuracin diseada por un sistema experto que recorri con xito
un espacio de soluciones que contena ms de 10.387 posibilidades. Los mtodos
convencionales para disear estas turbinas son una parte fundamental de proyectos
de ingeniera que pueden durar hasta cinco aos y costar ms de 2.000 millones de
dlares; el algoritmo gentico descubri esta solucin en dos das, en una estacin
de trabajo de escritorio tpica en ingeniera.
Otra ventaja notable de los algoritmos genticos es que se desenvuelven bien en
problemas con un paisaje adaptativo complejo -aqullos en los que la funcin de
aptitud es discontinua, ruidosa, cambia con el tiempo, o tiene muchos ptimos
locales. La mayora de los problemas prcticos tienen un espacio de soluciones
enorme, imposible de explorar exhaustivamente; el reto se convierte entonces en
cmo evitar los ptimos locales -soluciones que son mejores que todas las que son
similares a ella, pero que no son mejores que otras soluciones distintas situadas en
algn otro lugar del espacio de soluciones. Muchos algoritmos de bsqueda pueden
quedar atrapados en los ptimos locales: si llegan a lo alto de una colina del paisaje
adaptativo, descubrirn que no existen soluciones mejores en las cercanas y
concluirn que han alcanzado la mejor de todas, aunque existan picos ms altos en
algn otro lugar del mapa.
Los algoritmos evolutivos, por otro lado, han demostrado su efectividad al escapar de
los ptimos locales y descubrir el ptimo global incluso en paisajes adaptativos muy
escabrosos y complejos. (Debe decirse que, en la realidad, a menudo no hay manera
de decir si una cierta solucin a un problema es el ptimo global o slo un ptimo
local muy alto. Sin embargo, aunque un AG no devuelva siempre una solucin
perfecta y demostrable a un problema, casi siempre puede devolver al menos una
muy buena solucin).
Todos los cuatro componentes principales de los AGs -paralelismo, seleccin,
mutacin y cruzamiento- trabajan juntos para conseguir esto. Al principio, el AG
genera una poblacin inicial diversa, lanzando una ``red'' sobre el paisaje adaptativo
compara esto con un ejrcito de paracaidistas cayendo sobre el paisaje del espacio
de bsqueda de un problema, cada uno de ellos con rdenes de buscar el pico ms
alto). Pequeas mutaciones permiten a cada individuo explorar sus proximidades,
mientras que la seleccin enfoca el progreso, guiando a la descendencia del
algoritmo cuesta arriba hacia zonas ms prometedoras del espacio de soluciones.
Algoritmos Genticos Pg. 12
nteligencia Artificial
Sin embargo, el cruzamiento es el elemento clave que distingue a los algoritmos
genticos de los otros mtodos como los trepacolinas y el recocido simulado. Sin el
cruzamiento, cada solucin individual va por su cuenta, explorando el espacio de
bsqueda en sus inmediaciones sin referencia de lo que el resto de individuos
puedan haber descubierto. Sin embargo, con el cruzamiento en juego, hay una
transferencia de informacin entre los candidatos prsperos -los individuos pueden
beneficiarse de lo que otros han aprendido, y los esquemas pueden mezclarse y
combinarse, con el potencial de producir una descendencia que tenga las virtudes de
sus dos padres y ninguna de sus debilidades. En una generacin se seleccionaron
dos circuitos progenitores para llevar a cabo el cruzamiento; un padre tena una
buena topologa (componentes como inductores y condensadores colocados en el
sitio correcto) pero malos tamaos (valores demasiado bajos de inductancia y
capacidad para los componentes). El otro padre tena mala topologa pero buenos
tamaos. El resultado de aparearlos mediante cruzamiento fue una descendencia con
la buena topologa de un padre y los buenos tamaos del otro, dando como resultado
una mejora sustancial de la aptitud sobre sus dos padres.
El problema de encontrar el ptimo global en un espacio con muchos ptimos locales
tambin se conoce como el dilema de la exploracin versus explotacin, ``un
problema clsico de todos los sistemas que pueden adaptarse y aprender'' Una vez
que un algoritmo (o un diseador humano) ha encontrado una estrategia para
resolver problemas que parece funcionar satisfactoriamente, debera centrarse en
hacer el mejor uso de esa estrategia, o buscar otras? Abandonar una estrategia de
probada solvencia para buscar otras nuevas casi garantiza que supondr una prdida
y degradacin del rendimiento, al menos a corto plazo. Pero si uno se queda con una
estrategia particular excluyendo a todas las dems, corre el riesgo de no descubrir
estrategias mejores que existen pero no se han encontrado. De nuevo, los algoritmos
genticos han demostrado ser muy buenos en dar con este equilibrio y descubrir
buenas soluciones en un tiempo y esfuerzo computacional razonables.
Otra rea en el que destacan los algoritmos genticos es su habilidad para manipular
muchos parmetros simultneamente. Muchos problemas de la vida real no pueden
definirse en trminos de un nico valor que hay que minimizar o maximizar, sino que
deben expresarse en trminos de mltiples objetivos, a menudo involucrando
contrapartidas: uno slo puede mejorar a expensas de otro. Los AGs son muy
buenos resolviendo estos problemas: en particular, su uso del paralelismo les permite
producir mltiples soluciones, igualmente buenas, al mismo problema, donde
posiblemente una solucin candidata optimiza un parmetro y otra candidata optimiza
uno distinto y luego un supervisor humano puede seleccionar una de esas candidatas
para su utilizacin. Si una solucin particular a un problema con mltiples objetivos
optimiza un parmetro hasta el punto en el que ese parmetro no puede mejorarse
ms sin causar una correspondiente prdida de calidad en algn otro parmetro, esa
solucin se llama ptimo paretiano o no dominada.
Finalmente, una de las cualidades de los algoritmos genticos que, a primera vista,
puede parecer un desastre, resulta ser una de sus ventajas: a saber, los AGs no
saben nada de los problemas que deben resolver. En lugar de utilizar informacin
especfica conocida a priori para guiar cada paso y realizar cambios con un ojo
puesto en el mejoramiento, como hacen los diseadores humanos, son ``relojeros
ciegos''; realizan cambios aleatorios en sus soluciones candidatas y luego utilizan la
funcin de aptitud para determinar si esos cambios producen una mejora.
La virtud de esta tcnica es que permite a los algoritmos genticos comenzar con una
mente abierta, por as decirlo. Como sus decisiones estn basadas en la
aleatoriedad, todos los caminos de bsqueda posibles estn abiertos tericamente a
un AG; en contraste, cualquier estrategia de resolucin de problemas que dependa
de un conocimiento previo, debe inevitablemente comenzar descartando muchos
Algoritmos Genticos Pg. 13
nteligencia Artificial
caminos a priori, perdiendo as cualquier solucin novedosa que pueda existir. Los
AGs, al carecer de ideas preconcebidas basadas en creencias establecidas sobre
``cmo deben hacerse las cosas'' o sobre lo que ``de ninguna manera podra
funcionar'', los AGs no tienen este problema. De manera similar, cualquier tcnica
que dependa de conocimiento previo fracasar cuando no est disponible tal
conocimiento, pero, de nuevo, los AGs no se ven afectados negativamente por la
ignorancia.
Mediante sus componentes de paralelismo, cruzamiento y mutacin, pueden viajar
extensamente por el paisaje adaptativo, explorando regiones que algoritmos
producidos con inteligencia podran no haber tenido en cuenta, y revelando
potencialmente soluciones de asombrosa e inesperada creatividad que podran no
habrseles ocurrido nunca a los diseadores humanos. Un ejemplo muy grfico de
esto es el redescubrimiento, mediante la programacin gentica, del concepto de
retroalimentacin negativa -un principio crucial para muchos componentes
electrnicos importantes de hoy en da, pero un concepto que, cuando fue
descubierto en primera instancia, se le deneg una patente de nueve aos porque el
concepto era demasiado contrario a las creencias establecidas. Por supuesto, los
algoritmos evolutivos no estn enterados ni preocupados de si una solucin va en
contra de las creencias establecidas -slo de si funciona.
0CU5LES SON LAS LIMITACIONES DE LOS AGs1
Aunque los algoritmos genticos han demostrado su eficiencia y potencia como estrategia
de resolucin de problemas, no son la panacea. Los AGs tienen ciertas limitaciones; sin
embargo, se demostrar que todas ellas pueden superarse y que ninguna de ellas afecta
a la validez de la evolucin biolgica.
La primera y ms importante consideracin al crear un algoritmo gentico es definir
una representacin del problema. El lenguaje utilizado para especificar soluciones
candidatas debe ser robusto; es decir, debe ser capaz de tolerar cambios aleatorios
que no produzcan constantemente errores fatales o resultados sin sentido.
Hay dos maneras principales para conseguir esto. La primera, utilizada por la mayora de
los algoritmos genticos, es definir a los individuos como listas de nmeros -binarios,
enteros o reales- donde cada nmero representa algn aspecto de la solucin candidata.
Si los individuos son cadenas binarias, un 0 o 1 podra significar la ausencia o presencia
de una cierta caracterstica.
Si son listas de nmeros, estos nmeros podran representar muchas cosas distintas: los
pesos de las conexiones en una red neuronal, el orden de las ciudades visitadas en un
recorrido dado, la situacin espacial de componentes electrnicos, los valores con los que
se alimenta a un controlador, los ngulos de torsin de los enlaces pptidos de una
protena, etctera. As, la mutacin implica cambiar estos nmeros, cambiar bits o sumar
o restar valores aleatorios. En este caso, el propio cdigo del programa no cambia; el
cdigo es lo que dirige la simulacin y hace un seguimiento de los individuos, evaluando
sus aptitudes y quiz asegurando que slo se producen valores realistas y posibles para
el problema dado.
En otro mtodo, la programacin gentica, el propio cdigo del programa s cambia.
Como ya se dijo en la seccin ``Mtodos de representacin'', la PG representa a los
individuos como rboles de cdigo ejecutables que pueden mutar cambiando o
intercambiando subrboles. Ambos mtodos producen representaciones robustas ante la
Algoritmos Genticos Pg. 14
nteligencia Artificial
mutacin, y pueden representar muchos tipos diferentes de problemas y, como se dice en
la seccin ``Algunos ejemplos especficos'', ambas han tenido un xito considerable.
El problema de representar a las soluciones candidatas de manera robusta no surge en la
naturaleza, porque el mtodo de representacin utilizado por la evolucin, a saber, el
cdigo gentico, es inherentemente robusto: con muy pocas excepciones, como una
cadena de cordones de parada, no existe una secuencia de bases de ADN que no pueda
traducirse en una protena.
Por lo tanto, virtualmente, cualquier cambio en los genes de un individuo siempre
producir un resultado inteligible, y por tanto las mutaciones en la evolucin tienen mayor
probabilidad de producir una mejora. Esto entra en contraste con los lenguajes creados
por el hombre como el ingls, donde el nmero de palabras con significado es pequeo
comparado con el nmero total de formas en las que se pueden combinar las letras del
alfabeto, y por tanto, es probable que un cambio aleatorio en una frase en ingls
produzca un sinsentido.
El problema de cmo escribir la funcin de aptitud debe considerarse
cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente
signifique una solucin mejor para el problema dado. Si se elige mal una funcin de
aptitud o se define de manera inexacta, puede que el algoritmo gentico sea incapaz
de encontrar una solucin al problema, o puede acabar resolviendo el problema
equivocado. (Esta ltima situacin se describe a veces como la tendencia del AG a
``engaar'', aunque en realidad lo que est pasando es que el AG est haciendo lo
que se le pidi hacer, no lo que sus creadores pretendan que hiciera). Se puede
encontrar un ejemplo donde unos investigadores utilizaron un algoritmo evolutivo en
conjuncin con una serie de chips reprogramables, haciendo que la funcin de aptitud
recompensara al circuito en evolucin por dar como salida una seal oscilatoria. Al
final del experimento, se produca efectivamente una seal oscilatoria -pero en lugar
de actuar como un osculador, como pretendan los investigadores, descubrieron que
el circuito se haba convertido en un receptor de radio que estaba recibiendo y
retransmitiendo una seal oscilatoria de un componente electrnico cercano!
Sin embargo, esto no es un problema en la naturaleza. En el laboratorio de la evolucin
biolgica, slo hay una funcin de aptitud que es igual para todos los seres vivos -la
carrera por sobrevivir y reproducirse, sin importar qu adaptaciones hagan esto posible.
Los organismos que se reproducen con ms abundancia que sus competidores estn
ms adaptados; los que fracasan en reproducirse no estn adaptados.
Adems de elegir bien la funcin de aptitud, tambin deben elegirse cuidadosamente
los otros parmetros de un AG -el tamao de la poblacin, el ritmo de mutacin y
cruzamiento, el tipo y fuerza de la seleccin. Si el tamao de la poblacin es
demasiado pequeo, puede que el algoritmo gentico no explore suficientemente el
espacio de soluciones para encontrar buenas soluciones consistentemente. Si el
ritmo de cambio gentico es demasiado alto o el sistema de seleccin se escoge
inadecuadamente, puede alterarse el desarrollo de esquemas beneficiosos y la
poblacin puede entrar en catstrofe de errores, al cambiar demasiado rpido para
que la seleccin llegue a producir convergencia.
Los seres vivos tambin se enfrentan a dificultades similares, y la evolucin se ha
encargado de ellas. Es cierto que si el tamao de una poblacin cae hacia un valor
muy bajo, los ritmos de mutacin son muy altos o la presin selectiva es demasiado
fuerte (una situacin as podra ser resultado de un cambio ambiental drstico),
entonces la especie puede extinguirse. La solucin ha sido ``la evolucin de la
evolutividad'' -las adaptaciones que alteran la habilidad de una especie para
adaptarse. Un ejemplo. La mayora de los seres vivos han evolucionado una
Algoritmos Genticos Pg. 15
nteligencia Artificial
elaborada maquinaria celular que comprueba y corrigue errores durante el proceso
de replicacin del ADN, manteniendo su ritmo de mutacin a unos niveles
aceptablemente bajos; a la inversa, en tiempos de fuerte presin ambiental, algunas
especies de bacterias entran en un estado de hipermutacin en el que el ritmo de
errores en la replicacin del ADN aumenta bruscamente, aumentando la probabilidad
de que se descubrir una mutacin compensatoria. Por supuesto, no pueden eludirse
todas las catstrofes, pero la enorme diversidad y las adaptaciones altamente
complejas de los seres vivos actuales muestran que, en general, la evolucin es una
estrategia exitosa. gualmente, las aplicaciones diversas y los impresionantes
resultados de los algoritmos genticos demuestran que son un campo de estudio
poderoso y que merece la pena.
Un problema con el que los algoritmos genticos tienen dificultades son los
problemas con las funciones de aptitud ``engaosas'', en las que la situacin de los
puntos mejorados ofrecen informacin engaosa sobre dnde se encuentra
probablemente el ptimo global. Por ejemplo: imagine un problema en el que el
espacio de bsqueda est compuesto por todas las cadenas binarias de ocho
caracteres, y en el que la aptitud de cada individuo sea directamente proporcional al
nmero de unos en l -es decir, 00000001 sera menos apto que 00000011, que
sera menos apto que 00000111, etctera -, con dos excepciones: la cadena
11111111 resulta tener una aptitud muy baja, y la cadena 00000000 resulta tener una
aptitud muy alta. En este problema, un AG (al igual que la mayora de los algoritmos)
no tendra ms probabilidad de encontrar un ptimo global que una bsqueda
aleatoria.
La solucin a este problema es la misma para los algoritmos genticos y la evolucin
biolgica: la evolucin no es un proceso que deba encontrar siempre el ptimo global.
Puede funcionar casi igual de bien alcanzando la cima de un ptimo local alto y, para la
mayora de las situaciones, eso ser suficiente, incluso aunque el ptimo global no pueda
alcanzarse fcilmente desde ese punto. La evolucin es como un ``satisfactor'' -un
algoritmo que entrega una solucin ``suficientemente buena'', aunque no necesariamente
la mejor solucin posible, dada una cantidad razonable de tiempo y esfuerzo invertidos en
la bsqueda. La ``FAQ de la evidencia de diseo improvisado en la naturaleza''
proporciona ejemplos de la naturaleza con estos resultados. (Tambin hay que tener en
cuenta que pocos o ningn problema real es tan engaoso como el ejemplo algo forzado
dado arriba. Normalmente, la situacin de las mejoras locales proporciona alguna
informacin sobre la situacin del ptimo global).
Un problema muy conocido que puede surgir con un AG se conoce como
convergencia prematura. Si un individuo que es ms apto que la mayora de sus
competidores emerge muy pronto en el curso de la ejecucin, se puede reproducir
tan abundantemente que merme la diversidad de la poblacin demasiado pronto,
provocando que el algoritmo converja hacia el ptimo local que representa ese
individuo, en lugar de rastrear el paisaje adaptativo lo bastante a fondo para
encontrar el ptimo global. Esto es un problema especialmente comn en las
poblaciones pequeas, donde incluso una variacin aleatoria en el ritmo de
reproduccin puede provocar que un genotipo se haga dominante sobre los otros.
Los mtodos ms comunes implementados por los investigadores en AGs para
solucionar este problema implican controlar la fuerza selectiva, para no proporcionar tanta
ventaja a los individuos excesivamente aptos. La seleccin escalada, por rango y por
torneo, discutidas anteriormente, son tres de los mtodos principales para conseguir esto;
algunos mtodos de seleccin escalada son el escalado sigma, en el que la reproduccin
se basa en una comparacin estadstica de la aptitud media de la poblacin, y la
seleccin de Boltzmann, en la que la fuerza selectiva aumenta durante la ejecucin de
manera similar a la variable ``temperatura'' en el recocido simulado.
La convergencia prematura ocurre en la naturaleza (los bilogos la llaman deriva
Algoritmos Genticos Pg. 16
nteligencia Artificial
gentica). Esto no debe sorprender; como ya se dijo arriba, la evolucin, como estrategia
de resolucin de problemas, no est obligada a encontrar la mejor solucin, slo una que
sea lo bastante buena. Sin embargo, en la naturaleza, la convergencia prematura es
menos comn, ya que la mayora de las mutaciones beneficiosas en los seres vivos slo
producen mejoras en la aptitud pequeas e incrementales; son raras las mutaciones que
producen una ganancia de aptitud tan grande que otorgue a sus poseedores una drstica
ventaja reproductiva.
Finalmente, varios investigadores aconsejan no utilizar algoritmos genticos en
problemas resolubles de manera analtica. No es que los algoritmos genticos no puedan
encontrar soluciones buenas para estos problemas; simplemente es que los mtodos
analticos tradicionales consumen mucho menos tiempo y potencia computacional que los
AGs y, a diferencia de los AGs, a menudo est demostrado matemticamente que
ofrecen la nica solucin exacta. Por supuesto, como no existe una solucin matemtica
perfecta para ningn problema de adaptacin biolgica, este problema no aparece en la
naturaleza
ALGORITMO GEN/TICO SIMPLE
John Holland desde pequeo, se preguntaba cmo logra la naturaleza, crear seres cada
vez ms perfectos. No saba la respuesta, pero tena una cierta idea de
como hallarla: tratando de hacer pequeos modelos de la naturaleza,
que tuvieran alguna de sus caractersticas, y ver cmo funcionaban,
para luego extrapolar sus conclusiones a la totalidad.
Fue a principios de los 60, en la Universidad de Michigan en Ann Arbor, donde, dentro del
grupo Logic of Computers, sus ideas comenzaron a desarrollarse y a
dar frutos. Y fue, adems, leyendo un libro escrito por un bilogo
evolucionista, R. A. Fisher, titulado La teora gentica de la seleccin
natural, como comenz a descubrir los medios de llevar a cabo sus
propsitos de comprensin de la naturaleza. De ese libro aprendi que
la evolucin era una forma de adaptacin ms potente que el simple
aprendizaje, y tom la decisin de aplicar estas ideas para desarrollar
programas bien adaptados para un fin determinado.
En esa universidad, Holland imparta un curso titulado Teora de sistemas adaptativos.
Dentro de este curso, y con una participacin activa por parte de sus
estudiantes, fue donde se crearon las ideas que ms tarde se
convertiran en los algoritmos genticos.
Por tanto, cuando Holland se enfrent a los algoritmos genticos, los objetivos de su
investigacin fueron dos:
mitar los procesos adaptativos de los sistemas naturales, y
Disear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales.
Unos 15 aos ms adelante, David Goldberg, actual delfn de los algoritmos genticos,
conoci a Holland, y se convirti en su estudiante. Goldberg era un
ingeniero industrial trabajando en diseo de pipelines, y fue uno de los
primeros que trat de aplicar los algoritmos genticos a problemas
industriales. Aunque Holland trat de disuadirle, porque pensaba que el
problema era excesivamente complicado como para aplicarle
algoritmos genticos, Goldberg consigui lo que quera, escribiendo un
Algoritmos Genticos Pg. 17
nteligencia Artificial
algoritmo gentico en un ordenador personal Apple . Estas y otras
aplicaciones creadas por estudiantes de Holland convirtieron a los
algoritmos genticos en un campo con base suficiente aceptado para
celebrar la primera conferencia en 1985.
ANATOM*A DE UN ALGORITMO GEN/TICO SIMPLE
Los algoritmos genticos son mtodos sistemticos para la resolucin de problemas de
bsqueda y optimizacin que aplican a estos los mismos mtodos de la
evolucin biolgica: seleccin basada en la poblacin, reproduccin
sexual y mutacin.
Los algoritmos genticos son mtodos de optimizacin, que tratan de resolver el mismo
conjunto de problemas que se ha contemplado anteriormente, es decir,
el objetivo es hallar (xi,...,xn) tales que F(xi,...,xn) sea mximo.
En un algoritmo gentico, tras parametrizar el problema en una serie de variables,
(xi,...,xn) se codifican en un cromosoma.
Todos los operadores utilizados por un algoritmo gentico se aplicarn sobre estos
cromosomas, o sobre poblaciones de ellos. En el algoritmo gentico va
implcito el mtodo para resolver el problema; son slo parmetros de
tal mtodo los que estn codificados, a diferencia de otros algoritmos
evolutivos como la programacin gentica.
Hay que tener en cuenta que un algoritmo gentico es independiente del problema, lo
cual lo hace un algoritmo robusto, por ser til para cualquier problema,
pero a la vez dbil, pues no est especializado en ninguno.
Las soluciones codificadas en un cromosoma compiten para ver cul constituye la mejor
solucin (aunque no necesariamente la mejor de todas las soluciones
posibles).
El ambiente, constituido por las otras camaradas soluciones, ejercer una presin
selectiva sobre la poblacin, de forma que slo los mejor adaptados
(aquellos que resuelvan mejor el problema) sobrevivan o leguen su
material gentico a las siguientes generaciones, igual que en la
evolucin de las especies.
La diversidad gentica se introduce mediante mutaciones y reproduccin sexual.
En la Naturaleza lo nico que hay que optimizar es la supervivencia, y eso significa a su
vez maximizar diversos factores y minimizar otros. Un algoritmo
gentico, sin embargo, se usar habitualmente para optimizar slo una
funcin, no diversas funciones relacionadas entre s simultneamente.
Este tipo de optimizacin, denominada optimizacin multimodal,
tambin se suele abordar con un algoritmo gentico especializado.
Por lo tanto:
Algoritmos Genticos Pg. 18
Un algoritmo gentico consiste en hallar de qu parmetros depende el problema,
codificarlos en un cromosoma, y se aplican los mtodos de la evolucin:
seleccin y reproduccin sexual con intercambio de informacin y
alteraciones que generan diversidad. En las siguientes secciones se vern
cada uno de los aspectos de un algoritmo gentico.
nteligencia Artificial
Co$i@i!a!i>+ $e 8as Ba"ia:8es
Los algoritmos genticos requieren que el conjunto se codifique en un cromosoma. Cada
cromosoma tiene varios genes, que corresponden a sendos parmetros
del problema. Para poder trabajar con estos genes en el ordenador, es
necesario codificarlos en una cadena, es decir, una ristra de smbolos
(nmeros o letras) que generalmente va a estar compuesta de 0s y 1s.
EJEMPLO 4:
Si un atributo (tiempo) puede tomar tres valores posibles (despejado, nublado, lluvioso)
una manera de representarlo es mediante tres bits de forma que:
(Tiempo = Nublado Lluvioso) y (Viento = Fuerte) se representara con la siguiente
cadena: 011 10.
De esta forma podemos representar fcilmente conjunciones de varios atributos para
expresar restricciones (precondiciones) mediante la concatenacin de
dichas cadenas de bits.
Adems si tenemos otro atributo "Viento que puede ser Fuerte o Moderado, se
representara con la siguiente cadena: 011 10.
Las postcondiciones de las reglas se pueden representar de la misma forma. Por ello una
regla se puede describir como la concatenacin de la precondicin y la
postcondicin.
EJEMPLO ':
"JugaralTenis puede ser Cierto o Falso.
Si Viento = Fuerte entonces JugaralTenis = Cierto se representara mediante la cadena
111 10 10. Donde los tres primeros bits a uno indican que el atributo
"Tiempo no afecta a nuestra regla.
Cabe destacar que una regla del tipo 111 10 11 no tiene demasiado sentido, puesto que
no impone restricciones en la postcondicin. Para solucionar esto, una
alternativa es codificar la postcondicin con un nico bit (1 = Cierto y 0
= Falso). Otra opcin es condicionar los operadores genticos para que
no produzcan este tipo de cadenas o conseguir que estas hiptesis
tengan una adecuacin muy baja (segn la funcin de evaluacin) para
que no logren pasar a la prxima generacin de hiptesis.
A continuacin se comienza con una poblacin de soluciones posibles, que pueden ser
generadas al azar o mediante algn mtodo que produzca soluciones
relativamente satisfactorias. A partir de este punto inicial, el algoritmo
procede por etapas que ejecutan los pasos elementales siguientes:
Se evalan todas las soluciones de la poblacin, con el fin de otorgar ms probabilidades
de emparejamiento a las ms satisfactorias.
Mediante un mecanismo de azar, aunque dando ms oportunidades a las mejor
evaluadas, se eligen las soluciones que han de cruzarse entre s para
dar lugar a descendencia.
El cruce opera sobre las cadenas de los genotipos de cada pareja de las soluciones
elegidas como progenitores. El sistema mediante el cual se obtienen
nuevas soluciones a partir las precedentes, es decir lo que se llama el
Algoritmos Genticos Pg. 19
nteligencia Artificial
operador de cruzamiento, puede ser distinto segn las tcnicas
especficas empleadas. El que se describe en el punto siguiente es uno
de los ms generalizados.
A89o"itmo 9e+ti!o ?"o?iame+te $i!ho
Para comenzar la competicin, se generan aleatoriamente una serie de
cromosomas. El algoritmo gentico procede de la forma
siguiente:
A89o"itmo 9e+ti!o
Evaluar la puntuacin (fitness) de cada uno de los genes.
Permitir a cada uno de los individuos reproducirse, de acuerdo con su puntuacin.
Emparejar los individuos de la nueva poblacin, haciendo que intercambien material
gentico, y que alguno de los bits de un gen se vea alterado debido a una mutacin
espontnea.
Cada uno de los pasos consiste en una actuacin sobre las cadenas de bits, es decir, la
aplicacin de un operador a una cadena binaria. Se les denominan, por
razones obvias, operadores genticos, y hay tres principales: seleccin,
crossover o recombinacin y mutacin; aparte de otros operadores
genticos no tan comunes, todos ellos se vern a continuacin.
Un algoritmo gentico tiene tambin una serie de parmetros que se tienen que fijar para
cada ejecucin, como los siguientes:
TamaEo $e 8a ?o:8a!i>+:
Debe de ser suficiente para garantizar la diversidad de las soluciones, y, adems, tiene
que crecer ms o menos con el nmero de bits del cromosoma, aunque
nadie ha aclarado cmo tiene que hacerlo. Por supuesto, depende
tambin del ordenador en el que se est ejecutando.
Co+$i!i>+ $e te"mi+a!i>+:
lo ms habitual es que la condicin de terminacin sea la convergencia del algoritmo
gentico o un nmero prefijado de generaciones.
E#ALUACI,N F SELECCI,N
Durante la evaluacin, se decodifica el gen, convirtindose en una serie de parmetros de
un problema, se halla la solucin del problema a partir de esos
parmetros, y se le da una puntuacin a esa solucin en funcin de lo
cerca que est de la mejor solucin. A esta puntuacin se le llama
fitness.
Por ejemplo, supongamos que queremos hallar el mximo de la funcin f(x), una parbola
invertida con el mximo en x=1. En este caso, el nico parmetro del
Algoritmos Genticos Pg. 20
nteligencia Artificial
problema es la variable x. La optimizacin consiste en hallar un x tal
que F(x) sea mximo. Crearemos, pues, una poblacin de
cromosomas, cada uno de los cuales contiene una codificacin binaria
del parmetro x. Lo haremos de la forma siguiente: cada byte, cuyo
valor est comprendido entre 0 y 255, se transformar para ajustarse al
intervalo [-1,1], donde queremos hallar el mximo de la funcin.
#a8o" :i+a"io
De!o$i@i!a!i>+ EBa8ua!i>+ @GHI
10010100 21 0,9559
10010001 19 0,9639
101001 -86 0,2604
1000101 -58 0,6636
El fitness determina siempre los cromosomas que se van a reproducir, y aquellos que se
van a eliminar, pero hay varias formas de considerarlo para seleccionar
la poblacin de la siguiente generacin:
Usar el orden, o rango, y hacer depender la probabilidad de permanencia o evaluacin de
la posicin en el orden.
Aplicar una operacin al fitness para escalarlo; como por ejemplo el escalado sigma.
En este esquema el fitness se escala
En algunos casos, el fitness no es una sola cantidad, sino diversos nmeros, que
tienen diferente consideracin. Basta con que tal fitness forme un orden parcial, es
decir, que se puedan comparar dos individuos y decir cul de ellos es mejor. Esto
suele suceder cuando se necesitan optimizar varios objetivos.
Una vez evaluado el fitness, se tiene que crear la nueva poblacin teniendo en cuenta
que los buenos rasgos de los mejores se transmitan a sta. Para ello,
hay que seleccionar a una serie de individuos encargados de tan ardua
tarea. Y esta seleccin, y la consiguiente reproduccin, se puede hacer
de dos formas principales:
2asa$o e+ e8 Ra+9o:
En este esquema se mantiene un porcentaje de la poblacin, generalmente la mayora,
para la siguiente generacin. Se coloca toda la poblacin por orden de
fitness, y los M menos dignos son eliminados y sustituidos por la
descendencia de alguno de los M mejores con algn otro individuo de la
poblacin.
A este esquema se le pueden aplicar otros criterios; por ejemplo, se crea la descendencia
de uno de los paladines/amazonas, y esta sustituye al ms parecido
entre los perdedores. Esto se denomina crowding, y fue introducido por
DeJong.
Una variante de este es el muestreado estocstico universal, que trata de evitar que los
individuos con ms fitness copen la poblacin dando ms posibilidades
al resto de la poblacin; de esta forma, la distribucin estadstica de
descendientes en la nueva poblacin es ms parecida a la real.
Rue$a $e Ru8eta:
Se crea un conjunto gentico formado por cromosomas de la generacin actual, en una
cantidad proporcional a su fitness. Si la proporcin hace que un
Algoritmos Genticos Pg. 21
nteligencia Artificial
individuo domine la poblacin, se le aplica alguna operacin de
escalado. Dentro de este conjunto, se cogen parejas aleatorias de
cromosomas y se emparejan, sin importar incluso que sean del mismo
progenitor (para eso estn otros operadores, como la mutacin). Hay
otras variantes: por ejemplo, en la nueva generacin se puede incluir el
mejor representante de la generacin actual. En este caso, se
denomina mtodo elitista.
Se8e!!i>+ $e To"+eo:
S escogen aleatoriamente un nmero T de individuos de la poblacin, y el que tiene
puntuacin mayor se reproduce, sustituyendo su descendencia al que
tiene menor puntuacin.
CROSSO#ER
Consiste en el intercambio de material gentico entre dos cromosomas (a veces ms,
como el operador orga propuesto por Eiben). El crossover es el
principal operador gentico, hasta el punto que se puede decir que no
es un algoritmo gentico si no tiene crossover, y, sin embargo, puede
serlo perfectamente sin mutacin, segn descubri Holland. El teorema
de los esquemas confa en l para hallar la mejor solucin a un
problema, combinando soluciones parciales.
Para aplicar el crossover, entrecruzamiento o recombinacin, se escogen aleatoriamente
dos miembros de la poblacin. No pasa nada si se emparejan dos
descendiente de los mismos padres; ello garantiza la perpetuacin de
un individuo con buena puntuacin (y, adems, algo parecido ocurre en
la realidad; es una prctica utilizada, por ejemplo, en la cra de ganado,
llamada inbreeding, y destinada a potenciar ciertas caractersticas
frente a otras). Sin embargo, si esto sucede demasiado a menudo,
puede crear problemas: toda la poblacin puede aparecer dominada
por los descendientes de algn gen, que, adems, puede tener
caracteres no deseados. Esto se suele denominar en otros mtodos de
optimizacin atranque en un mnimo local, y es uno de los principales
problemas con los que se enfrentan los que aplican algoritmos
genticos.
En cuanto al teorema de los esquemas, se basa en la nocin de bloques de construccin.
Una buena solucin a un problema est constituida por unos buenos
bloques, igual que una buena mquina est hecha por buenas piezas.
El crossover es el encargado de mezclar bloques buenos que se
encuentren en los diversos progenitores, y que sern los que den a los
mismos una buena puntuacin. La presin selectiva se encarga de que
slo los buenos bloques se perpeten, y poco a poco vayan formando
una buena solucin. El teorema de los esquemas viene a decir que la
cantidad de buenos bloques se va incrementando con el tiempo de
ejecucin de un algoritmo gentico, y es el resultado terico ms
importante en algoritmos genticos.
El intercambio gentico se puede llevar a cabo de muchas formas, pero hay dos grupos
principales
Algoritmos Genticos Pg. 22
nteligencia Artificial
C"ossoBe" +J?u+tos:
Los dos cromosomas se cortan por n puntos, y el material gentico situado entre
ellos se intercambia. Lo ms habitual es un crossover de un
punto o de dos puntos.
Padre
( ( ( 4 ( 4 ( 4 ( 4 ( 4 ( 4
Madre
4 ( 4 4 4 ( ( 4 4 4 ( 4 4 4
Hijo
( ( ( 4 ( ( ( 4 4 4 ( 4 ( 4
C"ossoBe" u+i@o"me:
Se genera un patrn aleatorio de 1s y 0s, y se intercambian los bits de los dos
cromosomas que coincidan donde hay un 1 en el patrn. O bien
se genera un nmero aleatorio para cada bit, y si supera una
determinada probabilidad se intercambia ese bit entre los dos
cromosomas.
Padre
( ( ( 4 ( 4 ( 4 ( 4 ( 4 ( 4
Madre
4 ( 4 4 4 ( ( 4 4 4 ( 4 4 4
Hijo
( ( 4 4 ( ( ( 4 4 4 ( 4 4 4
C"ossoBe" es?e!ia8iKa$os:
En algunos problemas, aplicar aleatoriamente el crossover da lugar a
cromosomas que codifican soluciones invlidas; en este caso
hay que aplicar el crossover de forma que genere siempre
soluciones vlidas. Un ejemplo de estos son los operadores de
crossover usados en el problema del viajante.
MUTACI,N
En la evolucin, una mutacin es un suceso bastante poco comn (sucede
aproximadamente una de cada mil replicaciones), como ya se ha
Algoritmos Genticos Pg. 23
nteligencia Artificial
visto anteriormente. En la mayora de los casos las mutaciones
son letales, pero en promedio, contribuyen a la diversidad
gentica de la especie. En un algoritmo gentico tendrn el
mismo papel, y la misma frecuencia (es decir, muy baja).
Una vez establecida la frecuencia de mutacin, por ejemplo, uno por mil, se
examina cada bit de cada cadena cuando se vaya a crear la
nueva criatura a partir de sus padres (normalmente se hace de
forma simultnea al crossover). Si un nmero generado
aleatoriamente est por debajo de esa probabilidad, se cambiar
el bit (es decir, de 0 a 1 o de 1 a 0). Si no, se dejar como est.
Dependiendo del nmero de individuos que haya y del nmero
de bits por individuo, puede resultar que las mutaciones sean
extremadamente raras en una sola generacin.
No hace falta decir que no conviene abusar de la mutacin. Es cierto que es un
mecanismo generador de diversidad, y, por tanto, la solucin
cuando un algoritmo gentico est estancado, pero tambin es
cierto que reduce el algoritmo gentico a una bsqueda aleatoria.
Siempre es ms conveniente usar otros mecanismos de
generacin de diversidad, como aumentar el tamao de la
poblacin, o garantizar la aleatoriedad de la poblacin inicial.
Este operador, junto con la anterior y el mtodo de seleccin de ruleta,
constituyen un algoritmo gentico simple, sga, introducido por
Goldberg en su libro.
OTROS OPERADORES
No se usan en todos los problemas, sino slo en algunos, y en principio su
variedad es infinita. Generalmente son operadores que exploran
el espacio de soluciones de una forma ms ordenada, y que
actan ms en las ltimas fases de la bsqueda, en la cul se
pasa de soluciones "casi buenas" a "buenas" soluciones.
C"omosomas $e 8o+9itu$ Ba"ia:8e
Hasta ahora se han descrito cromosomas de longitud fija, donde se conoce de
antemano el nmero de parmetros de un problema. Pero hay
problemas en los que esto no sucede. Por ejemplo, en un
problema de clasificacin, donde dado un vector de entrada,
queremos agruparlo en una serie de clases, podemos no saber
siquiera cuntas clases hay. O en diseo de redes neuronales,
puede que no se sepa (de hecho, nunca se sabe) cuntas
neuronas se van a necesitar. Por ejemplo, en un perceptrn hay
reglas que dicen cuantas neuronas se deben de utilizar en la
capa oculta; pero en un problema determinado puede que no
haya ninguna regla heurstica aplicable; tendremos que utilizar
los algoritmos genticos para hallar el nmero ptimo de
neuronas.
Algoritmos Genticos Pg. 24
nteligencia Artificial
En estos casos, necesitamos dos operadores ms: aadir y eliminar. Estos
operadores se utilizan para aadir un gen, o eliminar un gen del
cromosoma. La forma ms habitual de aadir un locus es
duplicar uno ya existente, el cul sufre mutacin y se aade al
lado del anterior. En este caso, los operadores del algoritmo
gentico simple (seleccin, mutacin, crossover) funcionarn de
la forma habitual, salvo, claro est, que slo se har crossover en
la zona del cromosoma de menor longitud.
O?e"a$o"es $e +i!ho Ge!o8>9i!oI
Otros operadores importantes son los operadores de nicho. Estos operadores
estn encaminados a mantener la diversidad gentica de la
poblacin, de forma que cromosomas similares sustituyan slo a
cromosomas similares, y son especialmente tiles en problemas
con muchas soluciones; un algoritmo gentico con estos
operadores es capaz de hallar todos los mximos, dedicndose
cada especie a un mximo. Ms que operadores genticos, son
formas de enfocar la seleccin y la evaluacin de la poblacin.
Uno de las formas de llevar esto a cabo ya ha sido nombrada, la introduccin del
crowding (apiamiento). Otra forma es introducir una funcin de
comparticin o sharing, que indica cun similar es un cromosoma
al resto de la poblacin. La puntuacin de cada individuo se
dividir por esta funcin de comparticin, de forma que se facilita
la diversidad gentica y la aparicin de individuos diferentes.
Tambin se pueden restringir los emparejamientos, por ejemplo, a aquellos
cromosomas que sean similares. Para evitar las malas
consecuencias del inbreeding (destinado a potenciar ciertas
caractersticas frente a otras) que suele aparecer en poblaciones
pequeas, estos periodos se intercalan con otros periodos en los
cules el emparejamiento es libre.
O?e"a$o"es es?e!ia8iKa$os
En una serie de problemas hay que restringir las nuevas soluciones generadas
por los operadores genticos, pues no todas las soluciones
generadas van a ser vlidas, sobre todo en los problemas con
restricciones. Por ello, se aplican operadores que mantengan la
estructura del problema. Otros operadores son simplemente
generadores de diversidad, pero la generan de una forma
determinada:
Zap:
En vez de cambiar un solo bit de un cromosoma, cambia un gen completo de un
cromosoma.
Creep:
Este operador aumenta o disminuye en 1 el valor de un gen; sirve para cambiar
suavemente y de forma controlada los valores de los genes.
Algoritmos Genticos Pg. 25
nteligencia Artificial
Transposicin:
Similar al crossover y a la recombinacin gentica, pero dentro de un solo
cromosoma; dos genes intercambian sus valores, sin afectar al
resto del cromosoma. Similar a este es el operador de
eliminacin-reinsercin, en el que un gen cambia de posicin con
respecto a los dems.
APLICANDO OPERADORES GEN/TICOS
En toda ejecucin de un algoritmo gentico hay que decidir con qu frecuencia se
va a aplicar cada uno de los algoritmos genticos; en algunos
casos, como en la mutacin o el crossover uniforme, se debe de
aadir algn parmetro adicional, que indique con qu frecuencia
se va a aplicar dentro de cada gen del cromosoma. La frecuencia
de aplicacin de cada operador estar en funcin del problema;
teniendo en cuenta los efectos de cada operador, tendr que
aplicarse con cierta frecuencia o no. Generalmente, la mutacin y
otros operadores que generen diversidad se suele aplicar con
poca frecuencia; la recombinacin se suele aplicar con
frecuencia alta.
En general, la frecuencia de los operadores no vara durante la ejecucin del
algoritmo, pero hay que tener en cuenta que cada operador es
ms efectivo en un momento de la ejecucin. Por ejemplo, al
principio, en la fase denominada de exploracin, los ms eficaces
son la mutacin y la recombinacin; posteriormente, cuando la
poblacin ha convergido en parte, la recombinacin no es til,
pues se est trabajando con individuos bastante similares, y es
poca la informacin que se intercambia. Sin embargo, si se
produce un estancamiento, la mutacin tampoco es til, pues
est reduciendo el algoritmo gentico a una bsqueda aleatoria;
y hay que aplicar otros operadores. En todo caso, se pueden
usar operadores especializados.
Por ejemplo, en el algoritmo gentico para jugar al MasterMind, se usan varios
operadores genticos: transposicin, mutacin y
entrecruzamiento. Sin embargo, la mutacin y el crossover dejan
de ser efectivos en el momento que la combinacin que se ha
jugado tiene los colores correctos, y en cualquier caso la tasa de
mutacin tendr que ser mayor cuantos menos colores haya
averiguados; por eso las tasas varan durante la ejecucin,
convirtindose eventualmente en 0.
EJEMPLO SIMPLE DE ALGORITMOS GENTICO:
Supongamos que hemos de calcular el mximo de una funcin f(x) en un
intervalo [a,b]. Pues bien, sencillo, derivamos e igualamos a cero,
no?. Pues no. Se me olvidaba decir que no conocemos f(x),
aunque s podemos calcular o estimar su valor en cualquier
punto.
Algoritmos Genticos Pg. 26
nteligencia Artificial
He aqu los pasos a seguir:
Estimamos con qu resolucin queremos trabajar. Es decir, elegimos el
nmero de puntos que vamos a examinar dentro de ese intervalo. Si, por
ejemplo, el intervalo es el [0,100] y ponemos una resolucin de 0.5, pues
tendremos 200 puntos en el intervalo.
Generamos una poblacin inicial de n individuos; que sern -no poda ser
menos- n nmeros (elegidos al azar). Es decir, ya tenemos x1, x2, ... ,x
n
.
Todos ellos, entre a y b, los lmites de nuestro intervalo.
Ahora hemos de dar mayor capacidad de reproduccin a los mejor dotados.
Si estamos buscando el mximo, pues el mejor dotado ser aquel cuyo valor
de f(x
i
) sea mayor. Hasta aqu, todo de lo ms normal.
Pues de los n individuos que tenemos, vamos a crear una poblacin intermedia,
que ser los que se van a recombinar. Calculamos la frecuencia
de cada uno de los n genotipos en la primera poblacin.
Bueno, tenemos que calcular esas probabilidades: p(xi) = f(xi)/suma_total. Les he
llamado probabilidades, aunque en realidad son frecuencias, por
aquello de no confundir la notacin. Siguiendo con esta tnica,
definimos P(xi) como la funcin de distribucin: P(xj) es la suma,
desde cero hasta j, de los p(xi).
Creo que es necesario un breve ejemplo para aclarar las cosas (aunque tambin
est el mail). Supongamos que nuestra n sea igual a 4, y que,
por ejemplo, tenemos:
f(x0)=10
f(x1)=40
f(x2)=30
f(x3)=20
Por lo tanto,
p(x0)=0.1
p(x1)=0.4
p(x2)=0.3
p(x3)=0.2
y tambin
P(x0)=0.1
P(x1)=0.5
P(x2)=0.8
P(x3)=1.0
Esta claro que los p(xi) suman 1. A continuacin generamos n
nmeros aleatorios entre 0 y 1. Cada uno de esos nmeros -por
ejemplo, t- estar relacionado con un individuo de nuestra
Algoritmos Genticos Pg. 27
nteligencia Artificial
generacin intermedia; de la siguiente forma:
si t est entre P(xi) y P(xi+1
) escogemos xi+1
)
Seguimos con el ejemplo: Si nuestros cuatro nmeros aleatorios son 0.359,
0.188, 0.654 y 0.399, entonces nuestra generacin intermedia
ser:
NLme"o a8eato"io I+$iBi$uo se8e!!io+a$o NueBo Ba8o"
0.1<0.359<0.5 x1 x0
0.1<0.188<0.5 x1 x1
0.5<0.654<0.8 x2 x2
0.1<0.399<0.5 x1 x3
Como se ve, est claro que, pese al azar el individuo mejor dotado es el ms
favorecido.
El siguiente paso es la recombinacin. Se puede hacer de la forma que nos
parezca ms adecuada. En primer lugar hay que buscar las parejas. Se trata
de obtener una nueva generacin como mezcla de esta con la que estamos
trabajando. Una vez que tenemos las parejas, hemos de hacer la
recombinacin. Una alternativa: media aritmtica;(1) otra: media geomtrica
(2). Otra, la ms usada: cortar los dos nmeros "paps" por un lugar al azar
(3) y conseguir los "hijos" intercambiando partes. Por si este ltimo punto no
ha quedado demasiado claro, digamos que, si los individuos son 456 y 123,
elegimos al azar un nmero entre 1 y 2 (ya que hay tres cifras). Si, por
ejemplo, nos sale el 1, pues un posible hijo podra ser el 4-23 y otro 1-56.
Aunque hay que decir que lo ms habitual es trabajar en base 2 (al menos,
los nmeros sern ms largos).
En este momento ya tenemos una nueva generacin. Generalmente, mejor
dotada que la inicial. Lo que se hace ahora es volver al tercer punto (clculo
de una poblacin intermedia). Por supuesto, el algoritmo se para cuando
queramos. Por ejemplo, cuando llevemos un nmero de iteraciones
determinado, o cuando la poblacin no mejore demasiado.
Una variante posible es permitir la existencia de mutaciones (por ejemplo,
introducir cada cierto nmero de generaciones alguna variacin en una cifra
en busca de mejores soluciones. Esto es interesante debido a que, por
ejemplo, si estamos dando vueltas en torno a un mximo local, la variacin
introducida podra llevarnos hacia un genotipo mejor dotado.
Otra variante es la elitista, consistente en que los mejores genotipos no se
recombinen, sino que pasen directamente -tal cual- a la siguiente generacin.
Ejempo compe!o "e #n a$ori!mo $en%!ico
La finalidad de este ejemplo es construir un planeador de rutas, capaz de
encontrar la ruta ms corta a la salida ms cercana, para cada
una de las "n personas que se encuentran en un cuarto.
Algoritmos Genticos Pg. 28
nteligencia Artificial
Este cuarto contiene obstculos estticos y varias salidas. La ruta encontrada
para la persona "x no debe llevarla a chocar con algn obstculo
ni con otra persona que a su vez se est moviendo en el cuarto.

La interfase del programa tiene la siguiente simbologa:
Cubos de colores y mas pequeos: Personas
Cubos azules: Obstculos
Cuadros rojos: Salidas
Los pasos de un algoritmo gentico son los siguientes:
4%J INICIALIZACI,N:
En este primer paso se crea aleatoriamente un conjunto de individuos (que estn
sobre el espacio S).
nicialmente tenemos 20 individuos. Los individuos se representan como un
vector, cuyos valores van del 0-7, y que significan lo siguiente:
0 -> Camina un paso a la izquierda
1 -> Camina un paso a la derecha
2 -> Camina un paso adelante
3 -> Camina un paso atrs
4 -> Camina en diagonal izquierda hacia arriba
5 -> Camina en diagonal izquierda hacia abajo
6 -> Camina en diagonal derecha hacia abajo
7 -> Camina en diagonal derecha hacia arriba
8 -> Qudate en tu lugar
Algoritmos Genticos Pg. 29
nteligencia Artificial
stos seran dos ejemplos de individuos:
4I 2 - 1 - 2 - 0 - 7 - 4 - 3 - 6 - 3 - 3 - 3 - 0 - 5 - 0 - 3 - 3 - 3 - 1 - 1 - 1 - 3 - 5 - 1 - 4 -
7 - 4 - 3 - 1 - 6 - 1 - 2 -
'I 0 - 4 - 1 - 7 - 5 - 3 - 1 - 1 - 3 - 3 - 3 - 7 - 5 - 1 - 2 - 5 - 6 - 4 -
Despus el algoritmo itera en los siguientes pasos hasta que se cumpla alguna
condicin.
En este caso dicha condicin es que evolucionen 6 generaciones.
'%J E#ALUACI,N:
La Funcin F es computada para cada individuo, ordenando la poblacin del
mejor individuo al peor. En el ejemplo, la funcin a optimizar es la
longitud de los individuos. Es decir deseamos obtener un
individuo con longitud mnima. Por ello, se ordenan en base a su
longitud y en orden ascendente.
7%J SELECCI,N:
Se selecciona con la regla de seleccin - explicada a continuacin - una pareja
de individuos. La regla utilizada es roulette wheel selection, que
elige en base a probabilidad proporcional a su calificacin:
1.- Se genera un nmero aleatorio r E [0,1].
2.- Se multiplica r por la suma de las calificaciones de la poblacin (S),
obtenindose
c = rS.
3.- Se establece la calificacin acumulada (Ca) y el ndice en cero: Ca = 0, i=0
4.- A la calificacin acumulada se le suma la calificacin del i-simo individuo:
Ca = Ca + calif(i)
5.- Si Ca > c entonces el i-esimo individuo es seleccionado.
6.- Si no, entonces se incrementa i y se regresa al paso 4.
Esta seleccin es con reemplazo, es decir, un mismo individuo puede ser
seleccionado varias veces. As que cada vez que se selecciona
un individuo no se quita de la poblacin de la que se est
seleccionando, permanece en ella para que pueda ser elegido
nuevamente.
Algoritmos Genticos Pg. 30
nteligencia Artificial
6%J REPRODUCCI,N:
Se generan nuevos individuos a partir de la pareja seleccionada en el paso 3.
El algoritmo de reproduccin que se ha utilizado es el siguiente:
Una vez seleccionados 2 individuos p1 y p2 (llamados padres) se procede a
cruzarlos.
Generamos un nmero aleatorio entre 1 y (longitud de p1)/2, llamado n1.
Generamos un nmero aleatorio entre (longitud de p2)/2 y longitud de p2,
llamado n2.
Calculamos la posicin en la que se encuentra p1 al dar n1 pasos, y la
llamamos pasosp1.
Calculamos la posicin en la que se encuentra p2 al dar (longitud de p2)/2
pasos, y la llamamos pasosp2.
Generamos un camino aleatorio de pasosp1 a pasosp2, llamado
camino_intermedio. Este camino aleatorio verifica que no choque
con ningn obstculo predefinido (esttico).
Copiamos los primeros n1 pasos de p1 en el nuevo individuo ni1.
Copiamos camino_intermedio a ni1.
Copiamos los pasos de p2 de n2 a longitud p2.
Y de la misma manera generamos el segundo nuevo individuo, slo que ahora
tomamos el inicio de p2 y el final de p1.
Esta cruza nos garantiza que obtengamos individuos vlidos, es decir que nos
van a dar un camino que inicie en la posicin original de la
persona y finalice en alguna salida. Y que adems no choque
con ningn obstculo.
Despus de repetir 6 veces los pasos del 2 al 4, se obtiene una poblacin final.
El algoritmo adems de estos pasos, incorpora un quinto paso al que llamamos
entrenamiento.
-%J ENTRENAMIENTO:
Repite los pasos del 1 al 4 n veces. El primer algoritmo gentico coloca en la
poblacin inicial del segundo algoritmo gentico, a su mejor
individuo (lo coloca 2 veces, para asegurarse de que va a
preservarse en las siguientes generaciones), el segundo hace lo
mismo con el tercero, y as sucesivamente hasta n.
Algoritmos Genticos Pg. 31
nteligencia Artificial
Los algoritmos genticos tienen una caracterstica peculiar, que es que cada vez
que se ejecuta nos da (muy probablemente) respuestas
diferentes, y esto es porque la poblacin inicial se genera
aleatoriamente.
Estos entrenamientos nos permiten tomar el mejor individuo evolucionado del
algoritmo gentico anterior, y a su vez generar nuevos individuos.
Esto es conocido tambin como elitismo. Con esto generamos n
veces poblaciones aleatorias y (n-1) veces la poblacin inicial al
menos tiene un buen individuo. Este nuevo individuo al cruzarlo
con algn otro buen individuo generado aleatoriamente puede
ser que nos d uno an mejor.
Parmetros que deben ser especificados en el programa:
N de generaciones: cantidad de veces que se produce una nueva generacin de
individuos, utilizando las reglas anteriormente explicadas. Por
lgica, cuantas ms generaciones produzcamos, obtendremos
mejores individuos.
N de individuos por generacin: en este ejemplo, la cantidad de individuos de
una generacin a otra es constante, no vara.
N de entrenamientos: cantidad de veces que se lleva a cabo un entrenamiento
entre diferentes generaciones de individuos.
ALGUNOS EJEMPLOS ESPEC*FICOS DE AG
Mientras el poder de la evolucin gana reconocimiento cada vez ms
generalizado, los algoritmos genticos se utilizan para abordar una amplia
variedad de problemas en un conjunto de campos sumamente diverso,
demostrando claramente su capacidad y su potencial. Esta seccin analizar
algunos de los usos ms notables en los que han tomado parte.
AC&STICA
Utilizaron algoritmos genticos para disear una sala de conciertos con
propiedades acsticas ptimas, maximizando la calidad del sonido para la
Algoritmos Genticos Pg. 32
nteligencia Artificial
audiencia, para el director y para los msicos del escenario. Esta tarea implica la
optimizacin simultnea de mltiples variables. Comenzando con una sala con
forma de caja de zapatos, el AG de los autores produjo dos soluciones no
dominadas, ambas descritas como ``con forma de hoja''. Los autores afirman que
estas soluciones tienen proporciones similares al Grosser Musikvereinsaal de
Viena, el cual est considerado generalmente como una de las mejores -si no la
mejor- salas de conciertos del mundo, en trminos de propiedades acsticas.
INGENIER'A AEROESPACIAL
Utilizaron un algoritmo gentico de mltiples objetivos para disear la forma del
ala de un avin supersnico. Hay tres consideraciones principales que
determinan la configuracin del ala -minimizar la resistencia aerodinmica a
velocidades de vuelo supersnicas, minimizar la resistencia a velocidades
subsnicas y minimizar la carga aerodinmica (la fuerza que tiende a doblar el
ala). Estos objetivos son mutuamente exclusivos, y optimizarlos todos
simultneamente requiere realizar contrapartidas.
ASTRONOM'A ( ASTRO)'SICA
Charbonneau sugiere la utilidad de los AGs para problemas de astrofsica,
aplicndolos a tres problemas de ejemplo: obtener la curva de rotacin de una
galaxia basndose en las velocidades rotacionales observadas de sus
componentes, determinar el periodo de pulsacin de una estrella variable
basndose en series de datos temporales, y sacar los valores de los parmetros
crticos de un modelo magnetohidrodinmico del viento solar. Son tres difciles
problemas no lineales y multidimensionales.
El algoritmo gentico de Charbonneau, PKAA, utiliza seleccin generacional y
proporcional a la aptitud, junto con elitismo, para asegurar que el mejor individuo
se copia una vez hacia la siguiente generacin sin ninguna modificacin. PKAA
tiene un ritmo de cruzamiento de 0,65 y un ritmo de mutacin variable que se
pone a 0,003 inicialmente y luego aumenta gradualmente, mientras la poblacin
se aproxima a la convergencia, para mantener la variabilidad en el acervo
gentico.
Basndose en los resultados obtenidos hasta ahora, Charbonneau sugiere que
los AGs pueden y deben encontrar uso en otros problemas difciles de astrofsica,
en particular, problemas inversos como las imgenes por Doppler y las
inversiones heliossmicas. Para terminar, Charbonneau sostiene que los AGs son
un ``contendiente poderoso y prometedor'' (p. 324) en este campo, del que se
puede esperar que complemente (no sustituya) a las tcnicas tradicionales de
optimizacin, y concluye que ``el punto decisivo, si es que tiene que haber
alguno, es que los algoritmos genticos funcionan, y a menudo colosalmente
bien'' (p. 325).
*+'MICA
Un pulso lser ultracorto de alta energa puede romper molculas complejas en
molculas ms sencillas, un proceso con aplicaciones importantes en la qumica
orgnica y la microelectrnica. Los productos especficos de una reaccin as
pueden controlarse modulando la fase del pulso lser. Sin embargo, para
Algoritmos Genticos Pg. 33
nteligencia Artificial
molculas grandes, obtener la forma del pulso deseado de manera analtica es
demasiado difcil: los clculos son demasiado complejos y las caractersticas
relevantes (las superficies de energa potencial de las molculas) no se conocen
con suficiente precisin.
INGENIER'A ELCTRICA
Una matriz de puertas programable en campo (Field Programmable Gate Array, o
FPGA), es un tipo especial de placa de circuito con una matriz de celdas lgicas,
cada una de las cuales puede actuar como cualquier tipo de puerta lgica,
interconectado con conexiones flexibles que pueden conectar celdas. Estas dos
funciones se controlan por software, as que simplemente cargando un programa
especial en la placa, puede alterarse al vuelo para realizar las funciones de
cualquier dispositivo de hardware de la amplia variedad existente.
Su objetivo se alcanz en 3.000 generaciones, pero el xito fue mayor de lo que
haba anticipado. El sistema que evolucion utilizaba muchas menos celdas que
cualquier cosa que pudiera haber diseado un ingeniero humano, y ni siquiera
necesita del componente ms crtico de los sistemas diseados por humanos -un
reloj. Cmo funcionaba? Thompson no tiene ni idea, aunque ha rastreado la
seal de entrada a travs de un complejo sistema de bucles realimentados del
circuito evolucionado. De hecho, de las 37 puertas lgicas que utiliza el producto
final, cinco de ellas ni siquiera estn conectadas al resto del circuito de ninguna
manera -pero si se les retira la alimentacin elctrica, el circuito deja de
funcionar. Parece que la evolucin ha explotado algn sutil efecto
electromagntico de estas celdas para alcanzar su solucin, pero el
funcionamiento exacto de la compleja e intrincada estructura evolucionada sigue
siendo un misterio.
MERCADOS )INANCIEROS
Mahfoud y Mani 1996 utilizaron un algoritmo gentico para predecir el
rendimiento futuro de 1.600 acciones ofertadas pblicamente. Concretamente, al
AG se le asign la tarea de predecir el beneficio relativo de cada accin, definido
como el beneficio de esa accin menos el beneficio medio de las 1.600 acciones
a lo largo del periodo de tiempo en cuestin, 12 semanas (un cuarto del
calendario) en el futuro. Como entrada, al AG se le proporcionaron datos
histricos de cada accin en forma de una lista de 15 atributos, como la relacin
precio-beneficio y el ritmo de crecimiento, medidos en varios puntos del tiempo
pasado; se le pidi al AG que evolucionara un conjunto de reglas si/entonces
para clasificar cada accin y proporcionar, como salida, una recomendacin
sobre qu hacer con respecto a la accin (comprar, vender o ninguna prediccin)
y un pronstico numrico del beneficio relativo. Los resultados del AG fueron
comparados con los de un sistema establecido, basado en una red neuronal, que
los autores haban estado utilizando para pronosticar los precios de las acciones
y administrar las carteras de valores durante tres aos. Por supuesto, el mercado
de valores es un sistema extremadamente ruidoso y no lineal, y ningn
mecanismo predictivo puede ser correcto el 100% del tiempo; el reto consiste en
encontrar un predictor que sea preciso ms de la mitad de las veces.
En el experimento, el AG y la red neuronal hicieron pronsticos al final de la
semana para cada una de las 1.600 acciones, durante doce semanas
consecutivas. Doce semanas despus de cada prediccin, se compar el
Algoritmos Genticos Pg. 34
nteligencia Artificial
rendimiento verdadero con el beneficio relativo predicho. Globalmente, el AG
super significativamente a la red neuronal: en una ejecucin de prueba, el AG
predijo correctamente la direccin de una accin el 47,6% de las veces, no hizo
prediccin el 45,8% de las veces y realiz una prediccin incorrecta slo un 6.6%
de las veces, una precisin predictiva total de un 87,8%. Aunque la red neuronal
realiz predicciones precisas ms a menudo, tambin hizo predicciones errneas
ms a menudo (de hecho, los autores especulan que la mayor capacidad del AG
para no realizar predicciones cuando los datos eran dudosos fue un factor de su
xito; la red neuronal siempre produce una prediccin a menos que sea
restringida explcitamente por el programador). En el experimento de las 1.600
acciones, el AG produjo un beneficio relativo de un +5,47%, contra el +4,40% de
la red neuronal -una diferencia estadsticamente significativa. De hecho, el AG
tambin super significativamente a tres ndices burstiles importantes -el S&P
500, el S&P 400 y el Russell 2000- en este periodo; la casualidad fue excluda
como causa de este resultado con un margen de confianza de un 95%. Los
autores atribuyen este convincente xito a la capacidad del algoritmo gentico de
percatarse de relaciones no lineales difcilmente evidentes para los observadores
humanos, adems del hecho de que carece del ``prejuicio contra las reglas
antiintuitivas y contradictorias'' (p. 562) de los expertos humanos.
Andreou, Georgopoulos y Likothanassis 2002 lograron un xito similar utilizando
algoritmos genticos hbridos para evolucionar redes neuronales que predijeran
los tipos de cambio de monedas extranjeras hasta un mes en el futuro. Al
contrario que en el ejemplo anterior, donde competan AGs y redes neuronales,
aqu los dos trabajaron conjuntamente: el AG evolucion la arquitectura (nmero
de unidades de entrada, nmero de unidades ocultas y la estructura de enlaces
entre ellas) de la red, que luego era entrenada por un algoritmo de filtro.
La utilizacin de los AGs en los mercados financieros ha empezado a extenderse
en las empresas de corretaje burstil del mundo real. Naik 1996 informa de que
LBS Capital Management, una empresa estadounidense con sede en Florida,
utiliza algoritmos genticos para escoger las acciones de los fondos de
pensiones que administra. Coale 1997 y Begley y Beals 1995 informan de que
First Quadrant, una empresa de inversiones de Californa que mueve ms de
2.200 millones de dlares, utiliza AGs para tomar decisiones de inversin en
todos sus servicios financieros. Su modelo evolucionado gana, de media, 225
dlares por cada 100 dlares invertidos durante seis aos, en contraste con los
205 dlares de otros tipos de sistemas de modelos.
J+EGOS
Una de las demostraciones ms novedosas y persuasivas de la potencia de los
algoritmos genticos la presentaron Chellapilla y Fogel 2001, que utilizaron un
AG para evolucionar redes neuronales que pudieran jugar a las damas. Los
autores afirman que una de las mayores dificultades en este tipo de problemas
relacionados con estrategias es el problema de la asignacin de crdito -en otras
palabras, cmo escribir una funcin de aptitud? Se ha credo ampliamente que
los criterios simples de ganar, perder o empatar no proporcionan la suficiente
informacin para que un algoritmo gentico averige qu constituye el buen
juego.
Algoritmos Genticos Pg. 35
nteligencia Artificial
GEO)'SICA
Sambridge y Gallaguer 1993 utilizaron un algoritmo gentico para los hipocentros
de los terremotos basndose en datos sismolgicos. (El hipocentro es el punto
bajo la superficie terrestre en el que se origina un terremoto. El epicentro es el
punto de la superficie directamente encima del hipocentro). Esto es una tarea
sumamente compleja, ya que las propiedades de las ondas ssmicas dependen
de las propiedades de las capas de roca a travs de las que viajan. El mtodo
tradicional para localizar el hipocentro se basa en lo que se conoce como
algoritmo de inversin ssmico, que empieza con la mejor estimacin de la
ubicacin, calcula las derivadas del tiempo de viaje de la onda con respecto al
punto de origen, y realiza una operacin de matriz para proporcionar una
ubicacin actualizada. Sin embargo, este mtodo requiere informacin diferencial
y es propenso a quedar atrapado en ptimos locales.
INGENIER'A DE MATERIALES
Giro, Cyrillo y Galvo 2002 utilizaron algoritmos genticos para disear polmeros
conductores de electricidad basados en el carbono, conocidos como polianilinas.
Estos polmeros, un tipo de material sinttico inventado recientemente, tienen
``grandes aplicaciones tecnolgicas potenciales'' y podran abrir la puerta a
``nuevos fenmenos fsicos fundamentales''. Sin embargo, debido a su alta
reactividad, los tomos de carbono pueden formar un nmero virtualmente infinito
de estructuras, haciendo que la bsqueda de nuevas molculas con propiedades
interesantes sea del todo imposible. En este artculo, los autores aplican un
enfoque basado en AGs a la tarea de disear molculas nuevas con propiedades
especificadas a priori, comenzando con una poblacin de candidatos iniciales
generada aleatoriamente. Concluyen que su metodologa puede ser una
``herramienta muy efectiva'' (p. 174) para guiar a los investigadores en la
bsqueda de nuevos compuestos y es lo suficientemente general para que pueda
extenderse al diseo de nuevos materiales que pertenezcan virtualmente a
cualquier tipo de molcula.
MATEM,TICAS ( ALGORITMIA
Aunque algunas de las aplicaciones ms prometedoras y las demostraciones
ms convincentes de la potencia de los AGs se encuentran en el campo de la
ingeniera de diseo, tambin son relevantes en problemas ``puramente''
matemticos. Haupt y Haupt 1998, describen el uso de AGs para resolver
ecuaciones de derivadas parciales no lineales de alto orden, normalmente
encontrando los valores para los que las ecuaciones se hacen cero, y dan como
ejemplo una solucin casi perfecta para los coeficientes de la ecuacin de quinto
orden conocido como Super Korteweg-de Vries.
-IOLOG'A MOLEC+LAR
En los seres vivos, las protenas transmembrana son protenas que sobresalen
de una membrana celular. Las protenas transmembrana realizan a menudo
funciones importantes como detectar la presencia de ciertas sustancias en el
exterior de la clula o transportarlas hacia el interior de la clula. Para
comprender el comportamiento de una protena transmembrana es necesario
identificar el segmento de la protena que realmente est insertado en la
Algoritmos Genticos Pg. 36
nteligencia Artificial
membrana, lo que se conoce como dominio transmembrana. Durante las dos
ltimas dcadas, los bilogos moleculares han publicado una serie de algoritmos
cada vez ms precisos para este propsito.
RECONOCIMIENTO DE PATRONES ( E.PLOTACI/N DE DATOS
La competicin en la industria actual de las telecomunicaciones es feroz, y se ha
acuado un nuevo trmino -``fuga'' para describir la velocidad a la que los
usuarios se cambian de un proveedor de servicios a otro. La fuga le cuesta a las
compaas de telecomunicaciones una gran cantidad de dinero cada ao, y
reducir las fugas es un factor importante para aumentar la rentabilidad. Si las
compaas pueden contactar con los clientes que tienen probabilidad de cambiar
y ofrecerles incentivos especiales para que se queden, puede reducirse la tasa
de fugas; pero ninguna compaa tiene los recursos para contactar a ms de un
pequeo porcentaje de sus clientes. El problema es, por tanto, cmo identificar a
los clientes que ms piensen fugarse con mayor probabilidad. Todas las
compaas tienen grandes bases de datos con informacin de los clientes que
tericamente puede utilizarse para este propsito; pero qu mtodo funciona
mejor para examinar esta enorme cantidad de datos e identificar los sutiles
patrones y tendencias que indican la probabilidad de fuga de un cliente?
Hughes y Leyland 2000, tambin aplicaron AGs multiobjetivo a la tarea de
clasificar objetivos basndose en sus reflexiones radar. Los datos de una seccin
transversal radar de alta resolucin necesitan enormes cantidades de espacio de
almacenamiento en disco, y producir un modelo realista de la fuente a partir de
los datos es muy costoso computacionalmente. En contraste, el mtodo basado
en el AG de los autores demostr ser muy exitoso, produciendo un modelo tan
bueno como el del mtodo iterativo tradicional, pero reduciendo el gasto
computacional y las necesidades de almacenamiento hasta el punto de que era
factible generar buenos modelos en un ordenador de escritorio. En contraste, el
mtodo iterativo tradicional requiere diez veces ms resolucin y 560.000 veces
ms accesos a los datos de imagen para producir modelos de calidad similar. Los
autores concluyen que sus resultados ``demuestran claramente'', la capacidad
del AG de procesar datos de radar bidimensionales y tridimensionales de
cualquier nivel de resolucin con muchos menos clculos que los mtodos
tradicionales, manteniendo una precisin aceptablemente alta.
RO-/TICA
El torneo internacional RoboCup es un proyecto para promocionar el avance de
la robtica, la inteligencia artificial y los campos relacionados, proporcionando un
problema estndar con el que probar las nuevas tecnologas -concretamente, es
un campeonato anual de ftbol entre equipos de robots autnomos. (El objetivo
fijado es desarrollar un equipo de robots humanoides que puedan vencer al
equipo humano de ftbol que sea campen del mundo en 2050; actualmente, la
mayora de los equipos de robots participantes funcionan con ruedas). Los
programas que controlan a los miembros del equipo robtico deben exhibir un
comportamiento complejo, decidiendo cundo bloquear, cundo tirar, cmo
moverse, cundo pasar la pelota a un compaero, cmo coordinar la defensa y el
ataque, etctera. En la liga simulada de 1997, David Andre y Astro Teller
inscribieron a un equipo llamado Darwin United cuyos programas de control
haban sido desarrollados automticamente desde cero mediante programacin
Algoritmos Genticos Pg. 37
nteligencia Artificial
gentica, un desafo a la creencia convencional de que ``este problema es
simplemente demasiado difcil para una tcnica como sa'' (Andre y Teller 1999.
Para resolver este difcil problema, Andre y Teller le proporcionaron al programa
gentico un conjunto de funciones de control primitivas como girar, moverse, tirar,
etctera. (Estas funciones estaban tambin sujetas al cambio y refinamiento
durante el curso de la evolucin). Su funcin de aptitud, escrita para que
recompensara el buen juego en general en lugar de marcar goles expresamente,
proporcionaba una lista de objetivos cada vez ms importantes: acercarse a la
pelota, golpear la pelota, conservar la pelota en el campo contrario, moverse en
la direccin correcta, marcar goles y ganar el partido. Debe sealarse que no se
suministr ningn cdigo para ensear especficamente al equipo cmo
conseguir estos objetivos complejos. Luego los programas evolucionados se
evaluaron utilizando un modelo de seleccin jerrquico: en primer lugar, los
equipos candidatos se probaron en un campo vaco y, si no marcaban un gol en
menos de 30 segundos, se rechazaban. Luego se evaluaron hacindoles jugar
contra un equipo estacionario de ``postes pateadores'' que golpeaban la pelota
hacia el campo contrario. En tercer lugar, el equipo jugaba un partido contra el
equipo ganador de la competicin RoboCup de 1997. Finalmente, los equipos
que marcaron al menos un gol contra este equipo jugaron unos contra otros para
determinar cul era el mejor.
INGENIER'A DE SISTEMAS
Benini y Toffolo 2002, aplicaron un algoritmo gentico a la tarea multiobjetivo de
disear molinos elicos para generar energa elctrica. Este diseo ``es un
procedimiento complejo caracterizado por varias decisiones sobre
contrapartidas... El proceso de toma de decisiones es muy difcil y no hay
tendencias de diseo bien establecidas''; como resultado, hoy existen varios tipos
de turbina distintos y no hay acuerdo sobre cul es la ptima, si alguna lo es.
Deben tomarse en cuenta objetivos mutuamente exclusivos como la produccin
mxima de energa anual y el coste mnimo de la energa. En este artculo se
utiliz un algoritmo evolutivo multiobjetivo para encontrar el mejor conjunto de
contrapartidas entre estos objetivos, construyendo palas de molino con una
configuracin ptima de caractersticas como la velocidad de la punta de la pala,
la razn buje/punta, y la distribucin de cuerda y giro. Al final, al AG consigui
encontrar soluciones competitivas con los diseos comerciales, adems de
dilucidar ms claramente los mrgenes entre los que se puede aumentar la
produccin anual de energa sin producir diseos demasiado caros.
Haas, Burnham y Mills 1997, utilizaron un algoritmo gentico multiobjetivo para
optimizar la forma, orientacin e intensidad del haz de los emisores de rayos X
utilizados en la radioterapia dirigida, para destruir los tumores cancerosos al
tiempo que se evita el tejido sano. (Los fotones de rayos X dirigidos hacia un
tumor tienden a dispersarse por las estructuras interiores del cuerpo, daando
inintencionadamente los rganos internos.
El reto consiste en minimizar este efecto mientras se maximiza la dosis de
radiacin dirigida hacia el tumor). Utilizando un modelo de aptitud basada en
rango, los investigadores comenzaron con la solucin producida por el mtodo
convencional, un mtodo de mnimos cuadrados iterativo, y luego utilizaron el AG
para modificarlo y mejorarlo. Construyendo un modelo del cuerpo humano y
exponindolo al rayo evolucionado por el AG, encontraron un buen acuerdo entre
Algoritmos Genticos Pg. 38
nteligencia Artificial
las distribuciones de radiacin predichas y reales. Los autores concluyen que sus
resultados ``muestran una proteccin [de los rganos sanos] que no poda
lograrse utilizando las tcnicas convencionales''.
ARGUMENTOS CREACIONISTAS
Como era de esperar, la demostracin real del poder de la evolucin que
representan los AGs ha resultado sorprendente y descorcentante para los
creacionistas, que siempre han afirmado que slo un diseo inteligente, no la
variacin aleatoria y la seleccin, puede haber producido la cantidad y
complejidad de informacin que contienen los seres vivos. Por tanto, han
argumentado que el xito de los algoritmos genticos no nos permite deducir
nada sobre la evolucin biolgica. Abordar las crticas de dos antievolucionistas
que representan dos puntos de vista distintos: un creacionista de tipo tierra-joven,
el Dr. Don Batten, de ``Answers in Genesis'', que ha escrito un artculo titulado
``Algoritmos genticos - demuestran que la evolucin funciona?'', y un
creacionista de tipo tierra-vieja y defensor del diseo inteligente, el Dr. William
Dembski, cuyo reciente libro ``No Free Lunch'' (Dembski 2002) trata sobre este
tema.
CONCLUSI,N
Hasta los creacionistas encuentran imposible negar que la combinacin de la
mutacin y la seleccin natural puede producir adaptacin. No obstante, todava
siguen intentando justificar su rechazo a la evolucin dividiendo el proceso
evolutivo en dos categoras "microevolucin' y "macroevolucin' y afirmando
que slo la segunda es controvertida, y que cualquier cambio evolutivo que
podemos observar es slo un ejemplo de la primera.
La microevolucin y la macroevolucin son trminos que tienen significado para
los bilogos; se definen, respectivamente, como evolucin por debajo del nivel de
especies y evolucin al nivel de especies o por encima. Pero la diferencia crucial
entre el modo en el que los creacionistas utilizan estos trminos y el modo en el
que lo hacen los cientficos es que los cientficos reconocen que los dos son
fundamentalmente el mismo proceso con los mismos mecanismos, tan slo
operando a diferentes escalas. Sin embargo, los creacionistas estn obligados a
postular algn tipo de brecha infranqueable que los separa, para poder negar que
los procesos de cambio y adaptacin que vemos en la actualidad puedan
extrapolarse para producir toda la diversidad que vemos en el mundo de los
seres vivos.
No obstante, los algoritmos genticos hacen que esta idea sea insostenible, al
demostrar la naturaleza sin junturas del proceso evolutivo. Consideremos, por
ejemplo, un problema que consista en programar un circuito para que discrimine
entre un tono de 1 kilohercio y un tono de 10 kilohercios, y responda
respectivamente con salidas uniformes de 0 y 5 voltios. Digamos que tenemos
una solucin candidata que puede discriminar con precisin entre los dos tonos,
Algoritmos Genticos Pg. 39
nteligencia Artificial
pero sus salidas no son lo bastante uniformes como se requiere; producen
pequeas ondulaciones en lugar del voltaje constante requerido.
Supuestamente, de acuerdo con las ideas creacionistas, cambiar este circuito de
su estado presente a la solucin perfecta sera ``microevolucin'', un cambio
pequeo dentro de las capacidades de la mutacin y la seleccin. Pero, sin duda
-argumentara un creacionista-, llegar a este mismo estado final desde una
ordenacin inicial completamente aleatoria de componentes sera
``macroevolucin'', y estara ms all del alcance de un proceso evolutivo. Sin
embargo, los algoritmos genticos han sido capaces de conseguir ambas cosas:
evolucionar el sistema a partir de una ordenacin aleatoria hasta la solucin casi
perfecta y finalmente hasta la solucin perfecta y ptima. No surgi ninguna
dificultad o brecha insalvable en ningn punto del camino.
En ningn momento hizo falta intervencin humana para montar un conjunto de
componentes irreduciblemente complejo (a pesar del hecho de que el producto
final s contiene tal cosa) o para ``guiar'' al sistema evolutivo a travs de algn
pico dificultoso.
El circuito evolucion, sin la ayuda de ninguna orientacin inteligente, desde un
estado completamente aleatorio y no funcional hasta un estado rigurosamente
complejo, eficiente y ptimo. Cmo puede no ser esto una demostracin
experimental convincente del poder de la evolucin?
Se dice que la evolucin cultural humana ha reemplazado a la biolgica -que
nosotros, como especie, hemos llegado a un punto en el que somos capaces de
controlar conscientemente nuestra sociedad, nuestro entorno y hasta nuestros
genes al nivel suficiente para hacer que el proceso evolutivo sea irrelevante.
Se dice que los caprichos culturales de nuestra cambiante sociedad son los que
determinan la aptitud hoy en da, en lugar de la marcha enormemente lenta, en
comparacin, de la mutacin gentica y la seleccin natural. En cierto sentido,
esto puede ser perfectamente cierto.
Pero en otro sentido, nada podra estar ms lejos de la verdad. La evolucin es
un proceso de resolucin de problemas cuyo poder slo comenzamos a
comprender y explotar; a pesar de esto, ya est funcionando por todas partes,
moldeando nuestra tecnologa y mejorando nuestras vidas, y, en el futuro, estos
usos no harn sino multiplicarse. Sin un conocimiento detallado del proceso
evolutivo no habran sido posibles ninguno de los incontables avances que le
debemos a los algoritmos genticos.
Algoritmos Genticos Pg. 40
nteligencia Artificial
2I2LIOGRAF*A
http://www.sav.us.es/formaciononline/asignaturas/asigpid/apartados/textos/recurs
os/curvas03
www.dec.fct.unl.pt/UNC/palestras/Ciclo_Palestras_2004/palestras_Rocha/palestr
a_optim&fiabil.ppt
www.lania.mx/~asanchez/A/GAapuntes/gen50.html
www.inf.ufrgs.br/~alvares/NF01048A/AlgoritmosGeneticos2.pdf
http://www.sav.us.es/formaciononline/asignaturas/asigpid.htm
Algoritmos Genticos Pg. 41

Das könnte Ihnen auch gefallen