2. Algoritmos Genéticos
John Holland, (1975). “Adaptation in natural and artificial
systems.”
• Algoritmos que manejan poblaciones consistentes en soluciones
codificadas de problemas.
•La búsqueda de buenas soluciones es realizada en el espacio de
soluciones codificadas.
•Manipulación de poblaciones: selección, cruce y mutación.
3. Características
n No trabajan con los objetos, sino con una
codificación de los mismos.
n Los AG realizan una búsqueda mediante toda
una generación de objetos, no buscan un
único elemento.
n Utilizan una función de salud que nos da
información de lo adaptados que están.
n Las reglas de transición son probabilísticas no
determinísticas.
4. Diagrama de flujo
n Se pueden añadir
otros operadores:
n Inmigración
n Ranking
n Dominancia
n Elitismo
8. n Idea clave: Dar
preferencia a los
mejores
individuos,
permitiéndoles
pasar sus genes
a la siguiente
generación.
Operador de selección
nLa bondad de un individuo se calcula con la
función de salud.
11. Operador de cruce
n Se escogen dos individuos
de la población mediante el
operador de selección. Se
escoge aleatoriamente un
lugar de cruce.
n Los valores de las dos
cadenas se intercambian en
este punto.
n Recombinando porciones de
buenos individuos se van
creando individuos aún
mejores .
13. Funcionamiento del cruce
por un punto
• Una vez seleccionados los
padres, con una probabilidad Pc
se elige un punto de cruce en
las cadenas de los padres y se
obtienen los dos hijos
14. Mutación
Operador de mutación:
• Con una cierta baja
probabilidad, una cierta
porción de los nuevos
individuos pueden mutar sus
bits.
• Su propósito es mantener la
diversidad dentro de la
población y prevenir la
convergencia prematura.
• La mutación y la selección (sin
cruce) crean un algoritmo de
optimización de máxima
pendiente y tolerante al ruido.
15. Dominancia
•En la naturaleza, gran parte de las especies asocian un genotipo
a un par de cromosomas, donde ciertos alelos (dominantes) dominan
sobre otros (recesivos), de manera que el fenotipo se determina por
la combinación de estos dos cromosomas y por predominio de alelos.
16. Mapa de dominación
• Hollstein desarrolló un sistema de dominación trialélico
incluyendo un tercer alelo para tener un 1 dominante y
otro 1 recesivo.
17. Algoritmos Clásicos
Algoritmos
Genéticos
Generan un sólo punto en
cada iteración. La
secuencia de puntos
aproxima la solución
óptima.
Genera una población de
puntos en cada iteración.
El mejor punto de la
población aproxima la
solución óptima.
Selecciona el siguiente
punto de la secuencia para
una computación
determinística.
Selecciona la siguiente
población por medio de
una computación que usa
un generador de números
aleatorios.
18. ¿Por qué funcionan los Algoritmos
Genéticos?
• ¿Son los AG intercambio de bits solamente?
¿Qué hay detrás de ellos?
• Holland creó un teorema, llamado
“teorema de los esquemas de Holland”.
• Existen algunos otros teoremas, algunos basados
en el análisis de las cadenas de Markov:
¿Existe una cadena de diferentes soluciones que
permita alcanzar la solución óptima?
19. Teorema de Holland
•Principio básico:
• Un esquema representa
varios puntos en el espacio.
• Un punto es representado
por varios esquemas.
20. Operaciones de los AG y Esquemas
• Dos definiciones:
– Orden del esquema: (1,1,0,*,*,*,1,*,*)=> orden 4
– Longitud del esquema: (1,1,0,*,*,*,1,*,*)=> longitud 6
• El orden de un esquema es el número de posiciones fijas
(el nº de ceros y unos).
• La longitud del esquema es la distancia entre la la primera y
la última posición específica de la cadena.
21. Operaciones de los AG y Esquemas
n Selección: buena supervivencia para
esquemas que representan buenos
individuos.
n Cruce: buena supervivencia para
esquemas de poca longitud.
n Mutación: buena supervivencia para
esquemas de orden bajo.
22. Conclusión del teorema de los esquemas
• Esquemas cortos, de orden bajo
obtienen mejor promedio.
• Los esquemas reciben un número
exponencialmente creciente de
individuos.
23. Aspectos computacionales
n Un gran número de evaluaciones de salud, puede
ser computacionalmente costoso.
n Son completamente paralelos por naturaleza.
n Existen varios buenos esquemas para la
computación en paralelo.
25. Algoritmos Genéticos con parámetros
continuos
n Uno de los problemas de la codificación binaria en
los algoritmos genéticos es que normalmente no
se aprovecha toda la precisión del ordenador.
n ¿Que se puede hacer si se quiere usar toda la
precisión posible?
n La respuesta es representar los parámetros en
coma flotante.
n Cuando la variable es continua, ésta es la
manera más natural de representar los números.
Además se tiene la ventaja de que se requiere un
menor tamaño de memoria que para el
almacenamiento en binario.
26. Algoritmos Genéticos con parámetros
continuos
n Los operadores no suelen trabajar a nivel de bit
como en el caso binario, sino que se trabaja a
nivel de todo el número en coma flotante:
n Selección: Se ordenan los cromosomas con
arreglo a su salud y nos quedamos con los
mejores miembros de la población.
n Cruce: En los métodos más simples se escogen
uno o más puntos en el cromosoma para marcar
los puntos de cruce. Entonces los parámetros
entre estos puntos simplemente se intercambian
entre los dos padres.
27. Algoritmos Genéticos con parámetros
continuos
n Mutacion: Con una cierta probabilidad, que suele
estar comprendida entre un 1% y un 20% se
seleccionan los cromosomas que van a ser
mutados.
n A continuación se seleccionan aleatoriamente los
parámetros del cromosoma que van a ser
mutados.
n Finalmente cada parámetro a mutar es
reemplazado por otro nuevo parámetro aleatorio
o bien se le suma otro nuevo parámetro
aleatorio.
28. Some Genetic Algorithm
Terminology
n Fitness Functions
n The fitness function is the function you
want to optimize. For standard optimization
algorithms, this is known as the objective
function.
n The toolbox tries to find the minimum of
the fitness function. You can write the
fitness function as an M-file and pass it as
a function handle input argument to the
main genetic algorithm function.
29. Some Genetic Algorithm
Terminology
n Individuals
n An individual is any point to which you can
apply the fitness function. The value of the
fitness function for an individual is its score.
n For example, if the fitness function is the
vector (2, 3, 1), whose length is the number
of variables in the problem, is an individual.
The score of the individual (2, 3, 1) is f(2, -
3, 1) = 51. An individual is sometimes
referred to as a genome and the vector
entries of an individual as genes.
30. Some Genetic Algorithm
Terminology
n Populations and Generations
n A population is an array of individuals. For example,
if the size of the population is 100 and the number
of variables in the fitness function is 3, you
represent the population by a 100-by-3 matrix.
n The same individual can appear more than once in
the population. For example, the individual (2, 3, 1)
can appear in more than one row of the array.
n At each iteration, the genetic algorithm performs a
series of computations on the current population to
produce a new population. Each successive
population is called a new generation.
31. Some Genetic Algorithm
Terminology
n Diversity
n Diversity refers to the average distance between
individuals in a population. A population has high
diversity if the average distance is large; otherwise
it has low diversity. In the figure, the population on
the left has high diversity, while the population on
the right has low diversity.
n Diversity is essential to the genetic algorithm
because it enables the algorithm to search a larger
region of the space.
32. Some Genetic Algorithm
Terminology
n Fitness Values and Best Fitness
Values
n The fitness value of an individual is the
value of the fitness function for that
individual.
n Because the toolbox finds the minimum of
the fitness function, the best fitness value
for a population is the smallest fitness
value for any individual in the population.
33. Some Genetic Algorithm
Terminology
n Parents and Children
n To create the next generation, the genetic
algorithm selects certain individuals in the
current population, called parents, and
uses them to create individuals in the next
generation, called children.
n Typically, the algorithm is more likely to
select parents that have better fitness
values.
34. Differential Evolution
n Differential Evolution (DE) es un optimizador estocástico de
funciones, basado en poblaciones, que usa el vector de
diferencias para perturbar la población.
n DE muestra ventajas de velocidad y rendimiento sobre los
algoritmos genéticos convencionales.
n DE fue propuesto originalmente por Kenneth Price and
Rainer Storn [1997].
n La idea crucial detrás de DE es el esquema para generar
vectores de parámetros de prueba en los que se suma la
diferencia (con peso) entre vectores a un vector
seleccionado.
38. Crossover
n To enhance the potential diversity of the population, a
crossover operation comes into play after generating the
donor vector through mutation. The donor vector exchanges
its components with the target vector Xi,G under this
operation to form the trial vector Ui,G = [u1,i,G, u2,i,G, u3,i,G, ...,
uD,i,G].
n The DE family of algorithms can use two kinds of crossover
methods—exponential (or two-point modulo) and binomial (or
uniform)
39.
40.
41.
42. GA como alternativa al aprendizaje
Back-propagation
n El aprendizaje mediante back-propagation ajusta los
pesos de una red neuronal empleando los principios
de máxima pendiente. Una desventaja principal de
este algoritmo clásico es la existencia de mínimos
locales. Debido a la mutación y cruce en un GA se
puede superar la dificultad.