Está en la página 1de 76

Algoritmos Genéticos

Asignatura Control Inteligente


Ing. Jeison Tacué González
jjtacue@unicauca.edu.co
Of. 317 FIET
Contenido

 La teoría de la evolución natural

 Computación evolutiva

 Estructura y componentes básicos de los Gas

 El algoritmo genético básico SGA (Goldberg)

 Ejemplos

2
La Teoría de la Evolución Natural
Creacionismo
 Tesis más aceptada sobre el origen de
las especies, durante mucho tiempo.

 El Universo y la vida se originaron de


actos concretos de creación divina.

 Dios creó a todas las especies del


planeta de forma separada.

 Especies jerarquizadas por Dios. El


hombre ocupaba el rango superior, al
lado del creador.

4
Georges Louis Leclerc (Conde de Buffon)

 Especuló (siglo 18) que las


especies se originaron entre sí,
oposición al "creacionismo”.

 Notó las similitudes entre el


hombre y los simios, y
especuló sobre la existencia de  Creía que los
un posible ancestro común cambios orgánicos,
entre estas dos especies. eran ocasionados
por el ambiente.

5
Jean-Baptiste Lamarck

 Principios siglo 19, enunció la


teoría de la evolución.

 Características adquiridas por un


organismo durante su vida podían
ser transmitidas a sus
descendientes.

 Ley del uso y desuso.

6
Jean-Baptiste Lamarck

 A medida que los individuos de


una de nuestras especies cambian
de situación, de clima, de manera
de ser o de hábito, reciben por ello
las influencias que cambian poco a
poco la consistencia y las
proporciones de sus partes, de su
forma, sus facultades y hasta su
misma organización.

7
Charles Darwin
 1859: “The Origin of Species”

 Derrumba el Lamarckismo

 Evolución se origina a través de


cambios aleatorios de características
hereditarias, combinados con un
proceso de selección natural
(Supervivencia de los más aptos)

 “La selección natural”

8
Selección Natural
 Proceso natural por el cual los individuos mas aptos de un
grupo de descendientes sobrevive.

 Mientras los menos aptos, mueren sin dejar descendientes y así


se eliminan los rasgos característicos de los menos aptos.

 Este proceso explica los cambios en las características de las


especies en el tiempo, y eventualmente produce especies y tipos
nuevos de organismos.

9
Charles Darwin
 Los individuos menos adaptados al
medio ambiente tienen menos
probabilidades de sobrevivir y menos
probabilidades de reproducirse.

 Los individuos más aptos tienen más


probabilidades de sobrevivir y más
posibilidades de reproducirse y de dejar
sus rasgos hereditarios.

 Este proceso es lento, pero las


variaciones se acumulan con el tiempo
para formar nuevas especies.
10
August Weisman
 Teoría del germoplasma:

(siglo 19) la información genética


se transmite a través de ciertas
células llamadas germinales (son
de las cuales se forman
los gametos), mientras que otras
células (llamadas somáticas) no
pueden transmitir nada.

11
August Weisman
 Experimento: cortó las colas de
un grupo de ratas durante 22
generaciones (1,592 ratas), y
comprobó que continuaban
naciendo con cola igual que sus
antepasados.

 Demostró así la falsedad de la


hipótesis fundamental del
Lamarckismo.

 Por tanto las características


adquiridas durante la vida no se
heredan.
12
Johann Gregor Mendel

 Realizó una serie de


experimentos con lentejas
durante una buena parte de su
vida, enunciando a partir de
ellos las leyes básicas que
gobiernan la herencia.

 Leyes de Mendel = ciencia de


la genética.

13
Johann Gregor Mendel

 Observación de las
características heredadas.

14
Experimentos de Mendel

Planta alta (TT) cruzada con una corta (tt)


Tt: Heterocigoto (Alelos distintos para mismo gen)
TT, tt: Homocigotos (Alelos iguales para mismo gen)
Carácter Alto es Dominante, y Corto es Recesivo

15
Hugo De Vries
 El botánico holandés (1848-1935) introdujo el
concepto de mutación.
 Creía que las especies no surgían de manera
gradual, sino a través de mutaciones de especies
conocidas.
 Si estas mutaciones derivan en características
beneficiosas, las mismas se propagan entre la
descendencia.
 Fue responsable de que los trabajos de Mendel
viesen la luz, ya que en 1900, dieciséis años
después de la muerte de Mendel, encontró dichos
trabajos y los dio a conocer.

16
Neo-Darwinismo

 Versión moderna de la Teoría Evolutiva de Darwin


 Síntesis entre el Darwinismo y la Genética Mendeliana
 Darwin desconocía los mecanismos de variación

17
Evolución

 Proceso de descendencia con cambio, y


posiblemente diversificación

Evolución = Variación + Herencia + Selección

 Variación: en una o mas características


 Herencia: Transmisión padres - hijos
 Selección: Diferentes tasas de reproducción y supervivencia.
Mas aptos se reproducen mas

18
Computación Evolutiva

19
Computación Evolutiva

 Años 50s y 60s:


Varios científicos de manera independiente estudiaron
sistemas evolutivos, con la idea usar la evolución como
método optimización en ingeniería.

 Idea: Evolucionar una población de posibles soluciones a


un problema dado, utilizando operadores inspirados por la
variación genética, y la selección natural.

20
Computación Evolutiva
 Rama de la Computación Emergente que engloba
técnicas que simulan la Evolución Natural.

 Enfoque alternativo para abordar problemas complejos de


búsqueda y aprendizaje.

 A través de modelos computacionales de procesos evolutivos.

21
La computacion evolutiva
 Años 70: propuesta por John Holland (1975)
“Adaptation in natural and artificial systems”
Tesis doctoral en la Universidad de Michigan
 Es posible implementar, en un ordenador, un programa que,
guiado por los principios de la herencia y la evolución de las
especies, suministre la solución de un problema.
 Propone por primera vez una clase de métodos, llamados
Algoritmos Genéticos, para la resolución de problemas.
 La aparición de computadoras de altas prestaciones permite el uso
practico de la Computación Evolutiva
 Años 80: divulgación por Goldberg y Davis
 La computación evolutiva no trata tanto de reproducir ciertos
fenómenos que suceden en la naturaleza, sino de aprovechar las
ideas genéricas detrás de ellos: la evolución
22
Mecanismo de la evolución

23
Los algoritmos evolutivos

 AE: procedimiento estocástico de búsqueda basado en el


principio de la evolución “supervivencia del mas apto”

 Modo de conseguirlo
“adaptación al entorno”

24
Estructura de los AE

Un AE debe disponer de:

 Una población de posibles soluciones, es decir, individuos


 Un procedimiento de transformación: construcción de
nuevos individuos a partir de los disponibles
 Un procedimiento de selección, basado en la aptitud de los
individuos

Transformación + Selección = una generación

25
Propósito de los AE

Un AE debe encontrar

 Al final de una generación, la supervivencia de la


población mas apta es “la mejor solución”

 Tras cierto numero de generaciones, los individuos mas


próximos a la solución buscada sobreviven

26
El Ciclo Evolutivo
Selection
Parents

Recombination

Population Mutation

Replacement
Offspring

27
Estructura y componentes
básicos de los AGs

28
Definiciones

29
Definiciones

Alelo
Gen
Cromosoma
Población
Índice

30
Terminología

 El genotipo es la totalidad de la información genética que posee


un organismo en particular
 El fenotipo a la expresión del genotipo en función de un
determinado ambiente, característica externa.

32
Los individuos
Estructura y contenido de los individuos

33
Adaptabilidad

34
Bucle básico de un AG

35
Secuencia de un AG

 Generar la población inicial


 Evaluar la aptitud de los individuos
 Verificar si cumple el objetivo
propuesto por el algoritmo
 Realizar el sorteo de los individuos
 Seleccionar los individuos a cruzar
 Cruzar los individuos seleccionados
 Sustituir los progenitores
 Generar los bits a mutar y mutar los bits
correspondientes

36
Población inicial

Tamaño de la Población
Este parámetro nos indica el número de individuos que
tenemos en nuestra población para una generación
determinada.
En caso de que esta medida sea insuficiente, el algoritmo
genético tiene pocas posibilidades de realizar
reproducciones con lo que se realizaría una búsqueda de
soluciones escasa y poco óptima.
Por otro lado si la población es excesiva, el algoritmo
genético será excesivamente lento.

37
Población inicial

38
Población inicial

39
Evaluación de los individuos
La aptitud de los individuos se evalúa a
partir de:

 Fitness: con la función de evaluación, f  x


Evaluación, o “aptitud bruta”

 Porcentaje fitness: con La función de aptitud, u  x 


Aptitud, o “aptitud neta”

40
Evaluación de los individuos

f  x

41
Procedimientos básicos de un AG

 El proceso de selección de progenitores se


hace

A partir de la población inicial Mediante muestreo

42
Mecanismos de muestreo de poblaciones

 Muestreo directo:

Se toma un subconjunto de individuos de la


población siguiendo un criterio fijo: los k mejores, a
dedocracia, etc,…

43
Mecanismos de muestreo de poblaciones

 Muestreo aleatorio simple o equiprobable

Se asigna a todos los elementos de la población las


mismas probabilidades de formar parte de la
muestra.

44
Mecanismos de muestreo de poblaciones

 Muestreos estocásticos:
Se asignan las probabilidades de selección o puntuaciones en
función de su aptitud.

ui
pi 
u1   un

Por defecto, la puntuación pi, asociada al individuo xi de la población


P={x1,...,xn}, se calcula como la aptitud relativa de dicho individuo: esto es,
siendo u1, . . ., un las respectivas aptitudes que poseen los individuos.

45
Mecanismos de muestreo de poblaciones

 Selección por torneo

Se escogen de forma aleatoria un número de individuos de la


población, y el que tiene puntuación mayor se reproduce,
sustituyendo su descendencia al que tiene menor puntuación
de la población.

46
Procedimientos básicos de un AG

La reproducción o crossover

Consiste en el intercambio de material genético entre


dos cromosomas. El objetivo del crossover es conseguir
que el descendiente mejore la aptitud de sus padres.

Para aplicar la reproducción habrá que seleccionar con


anterioridad dos individuos de la población con una de
las diversas técnicas de selección de la etapa anterior.

47
Procedimientos básicos de un AG

El proceso de reproducción o crossover

Se realiza a partir de la población de progenitores para


esto se deben seleccionar algunos miembros y luego
aplicar alguno de los operadores genéticos de
transformación:
 Cruce
 Mutación

48
Operadores geneticos de recombinacion

Actúan sobre parejas y originan otro par de individuos


que combinan características de los progenitores.

cruce

49
Operadores geneticos de recombinacion

Formas de realizar el cruce de los progenitores


 Cruce a 1 punto

 Cruce a 2 puntos

 Cruce por operador matemático

50
Operadores geneticos de recombinacion

Probabilidad de cruce, Pc:

Indica la frecuencia con la que se realizan cruces entre los


cromosomas padre.

En caso de que no exista probabilidad de reproducción, los


hijos serán copias exactas se los padres.

En caso de haberla, los hijos tendrán partes de los


cromosomas de los padres.
51
Operadores genéticos de alteración

Actúan sobre un individuo, realizando una pequeña


modificación a alguno o algunos de sus genes.

Mutación

Actúa luego del cruce sobre cada individuo de forma


particular.

52
Operadores genéticos de alteración

Mutación

Consiste en modificar ciertos genes de forma aleatoria


de acuerdo con la probabilidad de mutación establecida
Pm.

Las mutaciones son beneficiosas pues contribuyen a la


diversidad genética de la especie. Además previenen
obtener soluciones que convergen a un óptimo local.

53
Operadores genéticos de alteración

Probabilidad de mutación

Indica la frecuencia con que los genes de un cromosoma


son mutados.

Si es 100% todo el cromosoma es mutado.

54
Operadores genéticos de alteración

Mutación

 Catastrófica: produce un hijo no viable.

 Neutral: produce un hijo que no altera fitness

 Ventajosa: produce un hijo con característica


beneficiosa.

55
Procedimientos básicos de un AG

Como realizar el proceso de reproducción

 s: cantidad de descendientes
 n: cantidad de progenitores
 El numero de descendientes s es aleatorio
 Para valores grandes de s varia más la población de una
generación a otra. (muchas características)
 s menor o igual al 60% de n.

56
Procedimientos básicos de un AG

 El proceso de remplazo
 Remplazo inmediato de los progenitores (hijos por padres)
 Remplazo por inserción. Si: (se mantiene la población)
s < n se sustituyen s progenitores de la población.
s > n se muestrean n miembros de la
población y se descartan s de menor fitness (muestreo entre
padres e hijos)
 Remplazo por inclusión se pasa a muestrear los s+n, la
población crece.

57
Bucle básico de un AG

58
Ejemplo: maximizar la función costo
f(x) = x2 sobre los enteros [0..31]

 Generación 1 Valor de aptitud del individuo en la


Cromosoma
Fenotiporesolución
(característica
((representación
169 / 1170 externa
) * 100
del genotipo)
del problema observable)

Nº String Valor Fitness % del total


X X2 de fitness
1 01101 13 169 14.4
2 11000 24 576 49.2
3 01000 8 64 5.5
4 10011 19 361 30.9
Total 1170 100.0

 Selección Proporcional
al valor del fitness

59
Pseudocódigo de un AG

60
Como construir el AG

TAREA: Decodificación de una población y


escalización

61
Algoritmo de ejemplo

 Generar la población inicial


 Evaluar la aptitud de los individuos
 Realizar el sorteo de los individuos
 Seleccionar los individuos a cruzar
 Cruzar los individuos seleccionados
 Sustituir los progenitores
 Generar los bits a mutar
 Mutar los bits correspondientes

Ejercicio: Encontrar el valor que minimiza la función f(x)= x^2


en el intervalo [-30,50] utilizando Matlab.

62
Algoritmo de ejemplo

Función principal – Parámetros del AG

63
Algoritmo de ejemplo

Función principal – Función a minimizar

64
Algoritmo de ejemplo

Función principal – Función de creación de población inicial

65
Algoritmo de ejemplo

Función principal – Bucle central de repetición

66
Algoritmo de ejemplo

Función principal – Gráficos de comportamiento generacional

67
Algoritmo de ejemplo

Sub-funciones – función a minimizar

Sub-funciones – crear población inicial

68
Algoritmo de ejemplo

Sub-funciones – obtención de fenotipo

69
Algoritmo de ejemplo

Sub-funciones – Generar la nueva generación

70
Algoritmo de ejemplo

Sub-funciones – Selección de padres

71
Algoritmo de ejemplo

Sub-funciones –

Cruce y mutación

72
Algoritmo de ejemplo

Sub-funciones – mutación

73
Ejemplo: maximizar la funcion peaks

 Encontrar el max. de la funcion “peaks”


 z = f(x, y) = 3*(1-x)^2*exp(-(x^2) - (y+1)^2) - 10*(x/5 - x^3 - y^5)*exp(-
x^2-y^2) -1/3*exp(-(x+1)^2 - y^2).

74
Ejemplo: maximizar la funcion peaks

 Proceso aplicando Algoritmos Genéticos:

poblacion Inicial 5a generacion 10a generacion

75
Ventajas de un AG

76
Desventajas de un AG

77

También podría gustarte