Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Algoritmos Genticos
ALGORITMOS GENTICOS
ALGORITMOS GENTICOS
Considere los siguientes problemas:
1. Pedro desea visitar 12 universidades. Antes de decidir a la
que va a postular, sus padres le dicen a Pedro, que dibuje
la ruta ms eficiente en el mapa para poder as viajar en el
auto de la familia.
2. Javier desea programar un software que maneje un telescopio,
de tal manera que el nmero de estrellas que pueda
observar sea maximizado, mientras el movimiento del
telescopio sea minimizado.
La solucin ptima a los problemas anteriores ser el fitness
individual de cada generacin, luego de muchos ciclos de
seleccin, reproduccin y mutacin.
ALGORITMOS GENTICOS
ALGORITMOS GENTICOS
Fundamento biolgico
Cromosoma
Son cadenas de ADN, y son como un modelo.
Los cromosonas son un conjunto de genes (bloques
de ADN). Cada gen codifica proteinas
particulares, (rasgos como el color de los ojos)
para el organismo.
Los posibles ajustes para un gen se llaman alelos
(color de ojos = marron)
ALGORITMOS GENTICOS
Fundamento biolgico
Genoma es el conjunto de material gentico, es decir
todos los cromosomas.
ALGORITMOS GENTICOS
Fundamento biolgico
Reproduccin
Es la recombinacin o cruzamiento de los genes de los
padres para formar un cromosoma totalmente nuevo.
organismo en su vida.
ALGORITMOS GENTICOS
Problemas P vs NP
Los algoritmos genticos son una alternativa de
solucin para problemas NP.
P= polinomiales.
NP=No polinomiales.
Lista de problemas de optimizacion NP:
http://www.nada.kth.se/~viggo/problemlist/
Codificacin de cromosomas
Contienen informacin de la solucin que representan.
La manera ms usada de codificarlas es usando cadenas
binarias.
Cromosoma 1:
Cromosoma 2:
1101100100110110
11011 11 000011110
ALGORITMOS GENTICOS:
OPERADORES
ALGORITMOS GENTICOS:
OPERADORES
Cruzamiento
Escoger aleatoriamente algn punto (o varios) de cruce, y
copiar la informacin de un cromosoma hacia otro a partir del
punto generado.
Ejemplo 1:
Cromosona 1
Cromosona 2
Descendencia 1
Descendencia
2
11011 | 00100110110
11011 | 11000011110
11011 | 11000011110
11011 | 00100110110
Cruzamiento
Ejemplo 2:
Punto de corte
1 1 1 1 1 1 1
1 1 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 1 1 1 1
padres
hijos
Cruzamiento (binaria)
Cruzamiento de un punto
11001011
11011111
11001111
11011111
11011111
ALGORITMOS GENTICOS:
OPERADORES
Mutacin
til para salir o evitar mnimos locales.
Cambia aleatoriamente la descendecia.
Ejemplo 1:
Original descendencia 1
Original descendencia 2
Descendencia mutada 1
Descendencia mutada 2
1101111000011110
1101100100110110
1100111000011110
1101101100110110
ALGORITMOS GENTICOS:
OPERADORES
Mutacin
Ejemplo 2:
antes
1 1 1 1 1 1 1
despus
1 1 1 0 1 1 1
ALGORITMOS GENTICOS:
PARMETROS
Probabilidad de cruce
100% todos los descendientes son hechos por cruzamientos.
0% no se usa cruzamiento.
Probabilidad de mutacin
No ocurre mucho, ya que se estara realizando una
bsqueda aleatoria.
Tamao de la Poblacin
Es la cantidad de cromosomas q u e existen en la poblacin
de una generacin.
Si la poblacin es muy pequea el espacio de bsqueda es
limitado; si es muy grande el algoritmo se vuelve muy lento.
Seleccin
La teora de la evolucin de Darwin sugiere que solamente los
mejores deben sobrevivir y formar una nueva poblacin.
Algunas tcnicas computacionales para seleccionar los
mejores cromosomas son las siguientes:
Seleccin de la ruleta.
Seleccin de estado de equilibrio.
Seleccin de ranking.
Seleccin de Boltzman.
Seleccin mediante torneo.
ALGORITMOS GENTICOS:
PARMETROS
Seleccin
Seleccin de la ruleta
ALGORITMOS GENTICOS:
PARMETROS
Seleccin
Seleccin de estado de equilibrio
La idea es que la mayor parte de los cromosomas
sobrevivan a la siguiente generacin.
Los cromosomas con mas alto fitness se reproducen, y
esta descendencia reemplazar a los cromosomas con
mas bajo fitness.
El resto de cromosomas sobreviven a la siguiente
generacin.
Codificacin
Depende mucho del problema.
Codificacin Binaria
Cromosoma A:
101100101100101011100101
Cromosoma B:
111111100000110000011111
Codificacin
Codificacin por Permutacin
Los cromosomas son cadenas de nmeros, que representan
una secuencia.
Cromosoma A
7 9
Cromosoma B
1 4
Codificacin
Codificacin por Valor
Cada cromosoma es una cadena de valores. Los valores
pueden ser numros enteros, reales, caracteres, etc.
Cromosoma A
Cromosoma B
Cromosoma C
1.2324
5.3243
0.4556
2.3293 2.4545
ABDJEIFJDHDIERJFDLDFLFEGT
(back), (back), (right), (forward), (left)
ALGORITMOS GENTICOS:
PARMETROS
Codificacin
Codificacin de rbol
Cada cromosoma es un rbol de objetos como funciones,
comandos etc.
Codificacin
Codificacin de rbol
Cromosoma A
Cromosoma B
(+ x (/ 5 y))
(
ALGORITMOS GENTICOS:
PARMETROS
Cruzamiento y Mutacin
(rbol)
Cruzamiento de rbol
Se selecciona en mbos padres un punto de cruce y
se
intercambian los subrboles
estados
generados
aleatoriamente
ab
i st
n ra
cc
Ejemplo de
cruzamiento