Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
2.
de ellos es una muestra de un alelo particular (0 o 1). El operador de seleccin escoge, entre
los cromosomas de la poblacin, aquellos con capacidad de reproduccin, y entre stos, los
que sean ms compatibles, producirn ms descendencia que el resto. El de cruce extrae
partes de dos cromosomas, imitando la combinacin1 biolgica de dos cromosomas
aislados (gametos). La mutacin se encarga de cambiar, de modo aleatorio, los valores del
alelo en algunas localizaciones del cromosoma; y, por ltimo, la inversin, invierte el orden
de una seccin contigua del cromosoma , recolocando por tanto el orden en el que se
almacenan los genes.
La mayor innovacin de Holland fue la de introducir un algoritmo basado en
poblaciones con cruces, mutaciones e inversiones2. Es ms, Holland fue el primero en
intentar colocar la computacin evolutiva sobre una base terica firme (Holland, 1975).
Hasta hace poco, esta base terica, fundamentada en la nocin de esquemas, fue la
estructura sobre la que se edificaron la mayora de los trabajos tericos sobre algoritmos
genticos en las dcadas siguientes.
En estos ltimos aos se ha generado una amplia interaccin entre los
investigadores de varios mtodos de computacin evolutiva, rompindose las fronteras
entre algoritmos genticos, estrategias evolutivas y programacin evolutiva. Como
consecuencia, en la actualidad, el trmino algoritmo gentico se utiliza para designar un
concepto mucho ms amplio del que concibi Holland.
3.
3.1 Concepto
Los objetivos que perseguan John Holland y sus colegas de la Universidad de
Michigan cuando concibieron los algoritmos genticos, eran dos: (1) abstraer y explicar
rigurosamente el proceso adaptativo de los sistemas naturales, y (2) disear sistemas
artificiales que retuvieran los mecanismos ms importantes de los sistemas naturales. En
este sentido, podemos decir que los algoritmos genticos son
Algoritmos de bsqueda basados en los mecanismos de seleccin natural y gentica
natural. Combinan la supervivencia de los ms compatibles entre las estructuras de cadenas, con
una estructura de informacin ya aleatorizada, intercambiada para construir un algoritmo de
bsqueda con algunas de las capacidades de innovacin de la bsqueda humana3.
Aqu, como en la mayora de la literatura sobre algoritmos genticos, combinacin equivale a cruce.
Las estrategias evolutivas de Rechenberg comenzaban con una poblacin de dos individuos, un padre y un
descendiente, siendo ste una versin mutada del padre; hasta ms tarde no se incorporaron poblaciones de
ms individuos, ni cruces entre ellos. En cuanto a los programas evolutivos de Fogel, Owens y Walsh, slo
utilizaban mutaciones para producir variaciones.
3
Goldberg, D. (1989) Genetics Algorithms in Search, Optimization and Machine Learning. Addison Wesley.
2
algoritmos que poseen un nivel genotpico y uno fenotpico (por ejemplo, la cadena de
bits que codifica una red neuronal, y la red en s misma).
Segn hemos visto, podemos considerar que los algoritmos genticos tienen, al
menos, estos elementos en comn: poblaciones de cromosomas, seleccin en base a su
capacidad, cruces para producir descendencia nueva, y mutacin aleatoria de la nueva
descendencia. La inversin - el cuarto elemento de los algoritmos genticos tal y como los
concibi Holland - se usa raramente en las implementaciones actuales, y sus ventajas, si las
tiene, no estn del todo establecidas.
Se puede pensar en cada cromosoma de un algoritmo gentico como en un punto en
el espacio de bsqueda de candidatos a soluciones. El algoritmo gentico procesa
poblaciones de cromosomas, remplazando sucesivamente cada poblacin por otra. El
algoritmo suele requerir una funcin de capacidad o potencial que asigna una puntuacin
(la capacidad) a cada cromosoma de la poblacin actual. La capacidad o el potencial de un
cromosoma depende de cmo resuelva ese cromosoma el problema a tratar4. Un concepto
relacionado es el del paisaje del potencial. Definido originalmente por Sewell Wright
(1931) en el contexto de la gentica de poblaciones, el paisaje de un potencial es la
representacin del espacio de todos los posibles genotipos junto con sus capacidades. De
este modo, los operadores de cruce y mutacin pueden verse como modos de mover una
poblacin en el paisaje definido por su funcin de capacidad, y un algoritmo gentico como
un mtodo de bsqueda de ese paisaje para cadenas altamente cualificadas5.
La forma ms simple de algoritmo gentico utiliza tres tipos de operadores:
seleccin, cruce y mutacin.
Seleccin o reproduccin: Este operador escoge cromosomas entre la poblacin
para efectuar la reproduccin. Cuanto ms capaz sea el cromosoma, ms veces ser
seleccionado para reproducirse.
Cruce: Se trata de un operador cuya labor es elegir un lugar, y cambiar las
secuencias antes y despus de esa posicin entre dos cromosomas, para crear nueva
descendencia (por ejemplo, las cadenas 10010011 y 11111010 pueden cruzarse
despus del tercer lugar para producir la descendencia 10011010 y 11110011). Imita
la recombinacin biolgica entre dos organismos haploides.
Mutacin: Este operador produce variaciones de modo aleatorio en un cromosoma
(por ejemplo, la cadena 00011100 puede mutar su segunda posicin para dar lugar a
la cadena 01011100). La mutacin puede darse en cada posicin de un bit en una
cadena, con una probabilidad, normalmente muy pequea (por ejemplo 0.001).
Como se ve, los Algoritmos Genticos difieren de los mtodos tradicionales de
bsqueda y optimizacin, en cuatro cuestiones esenciales:
4
Como ejemplo, si se trata de maximizar la funcin f ( y) = y + sen(32 y) , 0 y < (Riolo, 1992), los
candidatos a soluciones son valores de y, que se codifican como cadenas de bits que representan nmeros
reales. El clculo de la capacidad traslada una cadena de bits dadas, x, en un n real, y, y se evala entonces la
funcin en ese valor. La capacidad de una cadena es, pues, el valor de la funcin en ese punto.
5
Esta idea de evolucin como movimientos de poblaciones a lo largo de paisajes invariables, no es realista
biolgicamente. Por ejemplo, a un organismo no se le puede asignar un valor potencial independientemente
de otro organismo de su entorno; a medida que la poblacin cambia, la capacidad de un genotipo particular
cambia tambin.
En ingls la palabra es run, que en computacin se asocia a correr un programa. En este caso se ha traducido
por serie para indicar el conjunto de todas las iteraciones del programa.
7
En Goldberg (1989) se puede encontrar un captulo dedicado a las aplicaciones, tanto histricas como
actuales, de los Algoritmos Genticos, junto con una tabla en la que se detalla una relacin de las
investigaciones, el campo al que pertenecen, el ao, y los investigadores que las desarrollaron.
Bibliografa