Computacion Inteligente La computacion evolutiva 1.

90
Computacion Inteligente La computacion evolutiva 1

Transcript of Computacion Inteligente La computacion evolutiva 1.

Page 1: Computacion Inteligente La computacion evolutiva 1.

Computacion Inteligente

La computacion evolutiva

1

Page 2: Computacion Inteligente La computacion evolutiva 1.

Contenido Procesos de busqueda y optimizacion

La Teoría de la Evolución Natural

La computacion evolutiva

Caracterizacion de los algoritmos geneticos

Estructura y componentes basicos de los Gas

Procedimientos basicos de un AG

El algoritmo genetico basico SGA (Goldberg)

Ejemplos

2

Page 3: Computacion Inteligente La computacion evolutiva 1.

3

EL PROBLEMA DE LA OPTIMIZACION

Page 4: Computacion Inteligente La computacion evolutiva 1.

Formulacion del problema

4

3 ingredientes basicos … una funcion objectivo, Un conjunto de variables de decision, Un conjunto de restricciones

igualdades/desigualdades.

El problema es

buscar los valores de las variables de decision que minimizan la function objectivo satisfaciendo las restricciones…

Page 5: Computacion Inteligente La computacion evolutiva 1.

1. La funcion objectivo puede ser unimodal o multimodal.

a. Unimodal – Un solo optimob. Multimodal – mas de un optimo

2. La mayoria de los esquemas se basan en la suposicion de una superficie unimodal. En tales casos el optimo determinado es llamado el diseño de un optimo local.

3. El optimo global es el mejor de todos los optimos locales. 5

Optimo global y local

Page 6: Computacion Inteligente La computacion evolutiva 1.

Optimo global y local

1. La funcion objectivo puede ser unimodal o multimodal.

a. Unimodal – Un solo optimob. Multimodal – mas de un optimo

2. El optimo global es el mejor de todos los optimos locales.

6

Page 7: Computacion Inteligente La computacion evolutiva 1.

Una funcion objetivo unimodal

7

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

x1

x2

Page 8: Computacion Inteligente La computacion evolutiva 1.

Una funcion objetivo multimodal

8

0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

max local Punto en silla de montar

Page 9: Computacion Inteligente La computacion evolutiva 1.

Procesos de busqueda y la optimizacion

9

Page 10: Computacion Inteligente La computacion evolutiva 1.

Procesos de optimizacion

ClasificacionSegun la naturaleza de las soluciones

Numericas:

la solucion es un conjunto de parametros m.

Combinatorias:

el orden de los parametros en la solucion es tambien importante

10

Page 11: Computacion Inteligente La computacion evolutiva 1.

Procesos de optimizacion

ClasificacionSegun la naturaleza de la busqueda

Deterministicas:

Precisan mucho conocimiento

Aleatorias:

Poco eficientes Estocasticas u orientados

11

Page 12: Computacion Inteligente La computacion evolutiva 1.

Procesos de optimizacion

ClasificacionSegun la direccion preferente de la

busqueda Explotadoras:

Prioridad a la explotacion de las soluciones disponibles

Exploratorias:

Prioridad a la exploracion de nuevas soluciones

12

Page 13: Computacion Inteligente La computacion evolutiva 1.

Procesos de optimizacion

ClasificacionSegun el numero de candidatos a solucion

Simples:

Un solo candidato a solucion

Multiples:

Varios candidatos a solucion simultaneos

13

Page 14: Computacion Inteligente La computacion evolutiva 1.

Procesos de optimizacion

ClasificacionSegun la informacion disponible

Ciegas:

No hay informacion explicita sobre la funcion

Heuristicas:

Se dispone de cierto conocimiento especifico acerca del proceso a optimizar

f x

14

Page 15: Computacion Inteligente La computacion evolutiva 1.

Complejidad de la optimizacion

Dada la complejidad de los problemas de optimizacion,

puede ser necesario Modificar el problema, tal que admita una

solucion aproximada Desarrollar algoritmos especificos, tal que

encuentren la solucion en algunos casos (no todos)

Rebajar las restricciones del problema Investigar otros algoritmos de optimizacion

16

Page 16: Computacion Inteligente La computacion evolutiva 1.

El conflicto generalidad/eficiencia

Generalidad:

Cantidad de problemas capaz de resolver

Fortaleza:

Eficiencia del algoritmo

Robustez:

Generalidad X eficiencia

17

Page 17: Computacion Inteligente La computacion evolutiva 1.

El conflicto generalidad/eficiencia

Para los procedimientos tradicionalesla relacion generalidad vs eficiencia

es inevitablemente constante

La computacion evolutiva trata de dar mayor robustez que las tecnicas clasicas

18

Page 18: Computacion Inteligente La computacion evolutiva 1.

Tecnicas clasicas de optimizacion

Tecnicas analiticas

El espacio de busqueda esta claramente definido y es continuo

La funcion objetivo es lo suficientemente “suave” y no es ruidosa

19

Page 19: Computacion Inteligente La computacion evolutiva 1.

Tecnicas analiticas de optimizacion

Metodos de solucion

Solucion directa

Solucion indirecta Busca el optimo trepando iterativamente en la

direccion de maxima pendiente

20

Page 20: Computacion Inteligente La computacion evolutiva 1.

Tecnicas analiticas de optimizacion

Desventajas

Para la funcion objetivo tiene sentido el concepto de ”direccion preferente de busqueda”

Son esencialmente locales

21

Page 21: Computacion Inteligente La computacion evolutiva 1.

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).

22

Page 22: Computacion Inteligente La computacion evolutiva 1.

Ejemplo: maximizar la funcion peaks Derivada de la funcion “peaks”

dz/dx = -6*(1-x)*exp(-x^2-(y+1)^2) - 6*(1-x)^2*x*exp(-x^2-(y+1)^2) - 10*(1/5-3*x^2)*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*x*exp(-x^2-y^2) - 1/3*(-2*x-2)*exp(-(x+1)^2-y^2)

dz/dy = 3*(1-x)^2*(-2*y-2)*exp(-x^2-(y+1)^2) + 50*y^4*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*y*exp(-x^2-y^2) + 2/3*y*exp(-(x+1)^2-y^2)

d(dz/dx)/dx = 36*x*exp(-x^2-(y+1)^2) - 18*x^2*exp(-x^2-(y+1)^2) - 24*x^3*exp(-x^2-(y+1)^2) + 12*x^4*exp(-x^2-(y+1)^2) + 72*x*exp(-x^2-y^2) - 148*x^3*exp(-x^2-y^2) - 20*y^5*exp(-x^2-y^2) + 40*x^5*exp(-x^2-y^2) + 40*x^2*exp(-x^2-y^2)*y^5 -2/3*exp(-(x+1)^2-y^2) - 4/3*exp(-(x+1)^2-y^2)*x^2 -8/3*exp(-(x+1)^2-y^2)*x

d(dz/dy)/dy = -6*(1-x)^2*exp(-x^2-(y+1)^2) + 3*(1-x)^2*(-2*y-2)^2*exp(-x^2-(y+1)^2) + 200*y^3*exp(-x^2-y^2)-200*y^5*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*exp(-x^2-y^2) - 40*(1/5*x-x^3-y^5)*y^2*exp(-x^2-y^2) + 2/3*exp(-(x+1)^2-y^2)-4/3*y^2*exp(-(x+1)^2-y^2)

23

Page 23: Computacion Inteligente La computacion evolutiva 1.

Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:

poblacion Inicial 5a generacion 10a generacion

24

Page 24: Computacion Inteligente La computacion evolutiva 1.

Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:

25

Page 25: Computacion Inteligente La computacion evolutiva 1.

Ejemplo: problema de minimizacion

Minimizar 2 22, 100 1 f x y y x x

26

Page 26: Computacion Inteligente La computacion evolutiva 1.

La Teoría de la Evolución Natural

27

Page 27: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva

La computacion evolutiva:

Enfoque alternativo para abordar problemas complejos de

busqueda y aprendizaje A traves de modelos computacionales de

procesos evolutivos

28

Page 28: Computacion Inteligente La computacion evolutiva 1.

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

33

Page 29: Computacion Inteligente La computacion evolutiva 1.

Evolución

Proceso de descendencia con cambio, y posiblemente diversificación

Componentes:

Població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

42

Page 30: Computacion Inteligente La computacion evolutiva 1.

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 43

Page 31: Computacion Inteligente La computacion evolutiva 1.

Computación Evolutiva

44

Page 32: Computacion Inteligente La computacion evolutiva 1.

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

45

Page 33: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva

La computacion evolutiva:

Enfoque alternativo para abordar problemas complejos de

busqueda y aprendizaje A traves de modelos computacionales de

procesos evolutivos

47

Page 34: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva

Años 70: propuesta por John Holland (1975)

“Adaptation in natural and artificial systems”

propone por primera vez una clase de métodos, llamados Algoritmos Genéticos, para la resolución de problemas.

La aparicion de computadoras de altas prestaciones permite el uso practico de la CE

Años 80: divulgacion por Goldberg y Davis

48

Page 35: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva

Los algoritmos evolutivos:

La computacion evolutiva no trata tanto de reproducir ciertos fenomenos que suceden en la naturaleza

sino de aprovechar las ideas genericas detras

de ellos: la evolucion

49

Page 36: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva

Los algoritmos evolutivos:

AE: procedimiento estocastico de busqueda basado en el principio de la evolucion “supervivencia del mas apto”

Modo de conseguirlo “adaptacion al entorno”

50

Page 37: Computacion Inteligente La computacion evolutiva 1.

Mecanismo de la evolucion

51

Page 38: Computacion Inteligente La computacion evolutiva 1.

Los Algoritmos evolutivos

52

Page 39: Computacion Inteligente La computacion evolutiva 1.

Procedimiento en los AE

Poblacion = conjunto de candidatos (individuos) a soluciones de un problema

La poblacion es sometida a: Transformacion: proceso de adaptacion Seleccion: supervivencia de los mas

aptos

Transformacion+Seleccion = una generacion

53

Page 40: Computacion Inteligente La computacion evolutiva 1.

Estructura de los AE

Un AE debe disponer de:

Una poblacion de posibles soluciones, es decir, individuos

Un procedimiento de transformacion: construccion de nuevos individuos a partir de los disponibles

Un procedimiento de seleccion, basado en la aptitud de los individuos

54

Page 41: Computacion Inteligente La computacion evolutiva 1.

Proposito de los AE

Un AE debe encontrar

Al final de una generacion, la supervivencia de la poblacion mas apta

Tras cierto numero de generaciones, los individuos mas proximos a la solucion buscada sobreviven

55

Page 42: Computacion Inteligente La computacion evolutiva 1.

El Ciclo Evolutivo

Recombination

MutationPopulation

Offspring

ParentsSelection

Replacement

56

Page 43: Computacion Inteligente La computacion evolutiva 1.

Paradigmas de los AE

3 paradigmas fundamentales

Algoritmos geneticos [Holland] Poblacion: enteros binarios

Estrategias evolutivas [Rechenberg] Poblacion: numeros reales

Programacion evolutiva [Fogel] Poblacion: maquinas de estado

57

Page 44: Computacion Inteligente La computacion evolutiva 1.

Algoritmos Genéticos

Jhon Holland, 60s, y 70s, Univ. Michigan

Idea original: estudio teórico de la adaptación, no la resolución de problemas

Representación genética independiente del dominio: cadenas de bits

Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante

Selección probabilística

58

Page 45: Computacion Inteligente La computacion evolutiva 1.

Los AE en el Soft Computing

65

Page 46: Computacion Inteligente La computacion evolutiva 1.

Caracterizacion de los algoritmos geneticos

66

Page 47: Computacion Inteligente La computacion evolutiva 1.

La computacion evolutiva y los AGs

Razones de la preeminencia de los AGs frente a otros paradigmas

Son muy flexibles. Se pueden fusionar con otros paradigmas y enfoques

Mayor base teorica Necesitan menos conocimiento especifico

para su funcionamiento Es el paradigma mas usado entre los de la CE

67

Page 48: Computacion Inteligente La computacion evolutiva 1.

Algoritmos geneticos: Definicion

Los Algoritmos Geneticos sonmetodos estocasticos

de busqueda ciegade soluciones cuasi-optimas

68

Page 49: Computacion Inteligente La computacion evolutiva 1.

Algoritmos geneticos: caracteristicas

Los AGs son metodos de busqueda

Ciega Codificada Multiple estocastica

69

Page 50: Computacion Inteligente La computacion evolutiva 1.

Estructura y componentes basicos de los AGs

70

Page 51: Computacion Inteligente La computacion evolutiva 1.

Bucle basico de un AG

71

Page 52: Computacion Inteligente La computacion evolutiva 1.

Terminologia

GENOTIPO CROMOSOMA

GENES

Sucesión Lineal

“Caracteres”

LOCUS: Lugar del cromosoma

ALELES: valores de los caracteres ó estados de los genes.

72

Page 53: Computacion Inteligente La computacion evolutiva 1.

Terminologia

CROMOSOMA INDIVIDUO FENOTIPO

SOLUCIÓN POTENCIAL

1 1 0 0 0 1 0 0 1 0 1 1 1

73

Page 54: Computacion Inteligente La computacion evolutiva 1.

La poblacion

Objetos sometidos a evolucion

n individuos

m posiciones

m genes

aj alelos

L1+…+Lm bits

74

Page 55: Computacion Inteligente La computacion evolutiva 1.

Los individuos

Estructura y contenido de los individuos

75

Page 56: Computacion Inteligente La computacion evolutiva 1.

Evaluacion de los individuos

La aptitud de los individuos se evalua a partir de

La funcion de evaluacion,

Evaluacion, o “aptitud bruta”

La funcion de aptitud,

Aptitud, o “aptitud neta”

f x

u x

76

Page 57: Computacion Inteligente La computacion evolutiva 1.

Evaluacion de los individuos

77

Page 58: Computacion Inteligente La computacion evolutiva 1.

Bucle basico de un AG

Soluciones

1100101010

1011101110

0011011001

1100110001

Cromosomas 110010 1010

101110 1110

1100101110

0011011001

0011001001

1100101110

1011101010

0011001001

Soluciones

Cálculo Aptitud

Rueda de la Ruleta

Selección

Cruce

Mutación

Evaluación

Decodificación

Codificación

78

Page 59: Computacion Inteligente La computacion evolutiva 1.

79

Dos generacionesDos generaciones

Flujo

1001011001100010101001001001100101111101

. . .

. . .

. . .

. . .

1001011001100010101001001001110101111001

. . .

. . .

. . .

. . .

Seleccion Cruce Mutacion

Generacionacual

Proximageneracion

Elitismo

Page 60: Computacion Inteligente La computacion evolutiva 1.

Procedimientos basicos de un AG

80

Page 61: Computacion Inteligente La computacion evolutiva 1.

Procedimientos basicos de un AG

El proceso de seleccion de progenitores

A partir de la poblacion inicial Mediante muestreo Obtener la poblacion de

progenitores

81

Page 62: Computacion Inteligente La computacion evolutiva 1.

Mecanismos de muestreo de poblaciones

Muestreo directo

los k mejores,

a dedo,

etc,…

S Se toma un subconjunto de individuos de la poblacion siguiendo un criterio fijo A

82

Page 63: Computacion Inteligente La computacion evolutiva 1.

Mecanismos de muestreo de poblaciones

Muestreo aleatorio equiprobable

SASe asigna a todos los

elementos de la poblacion las mismas probabilidades de

formar parte de la muestraA

83

Page 64: Computacion Inteligente La computacion evolutiva 1.

Mecanismos de muestreo de poblaciones

Muestreos estocasticos:Se asignan las probabilidades en funcion de su aptitud

SAA

1

ii

n

up

u u

84

Page 65: Computacion Inteligente La computacion evolutiva 1.

Procedimientos basicos de un AG

El proceso de reproduccion

A partir de la poblacion de progenitores Seleccionar algunos miembros Aplicar alguno de los operadores

geneticos de transformacion: Cruce Mutacion Inversion, etc

85

Page 66: Computacion Inteligente La computacion evolutiva 1.

Operadores geneticos de recombinacion

Actuan sobre parejas y originan otro par que combinan caracteristicas de

los progenitores

Cruce

86

Page 67: Computacion Inteligente La computacion evolutiva 1.

Operadores geneticos de alteracion

Actuan sobre un individuo, realizando una pequeña modificacion a alguno o

algunos de sus genes

Mutacion

87

Page 68: Computacion Inteligente La computacion evolutiva 1.

Procedimientos basicos de un AG

El proceso de reproduccion

El numero de descendientes s es aleatorio Para valores grandes de s varia mas la

poblacion de una generacion a otra s menor o igual al 60% de n.

88

Page 69: Computacion Inteligente La computacion evolutiva 1.

Procedimientos basicos de un AG

El proceso de remplazo

Remplazo inmediato de los progenitores

Remplazo de los mas parecidos Remplazo por insercion

s < n se sustituyen s progenitores s > n se muestrean n miembros de la

poblacion Remplazo por inclusion se muestrean n

de los s+n89

Page 70: Computacion Inteligente La computacion evolutiva 1.

El algoritmo genetico basicoSGA (Goldberg)

90

Page 71: Computacion Inteligente La computacion evolutiva 1.

Criterios para implantar un AG

Criterio de codificacion

Criterio de inicializacion

Criterio de parada

Funciones de evaluacion y aptitud

¿Cómo codificar?

¿Cómo evaluar?

91

Page 72: Computacion Inteligente La computacion evolutiva 1.

Criterios para implantar un AG

Criterios de seleccion

Operadores geneticos

Criterios de remplazo

Parametros de funcionamiento

¿Cuáles individuos?

¿Cuáles individuos?

92

Page 73: Computacion Inteligente La computacion evolutiva 1.

Criterios del algoritmo genetico basico

Criterio de codificacion:

especifico a cada problema Criterio de inicializacion

cadenas binarias elegidas al azar Criterio de parada

numero maximo de iteraciones Funcion de evaluacion = funcion de aptitud

Una funcion objetivo

93

Page 74: Computacion Inteligente La computacion evolutiva 1.

Metodos para implantar el SGA

Operadores geneticos:

cruce monopunto y mutacion bit a bit

Criterio de seleccion: Por sorteo Criterio de remplazo: inmediato Parametros de funcionamiento:

discrecionalesParametros de funcionamiento tipicos

Popsize=30 maxIter=50Pcross=60& pmut=3.33%

94

Page 75: Computacion Inteligente La computacion evolutiva 1.

Operador genetico de cruce

Cruce monopunto

95

Page 76: Computacion Inteligente La computacion evolutiva 1.

Operador genetico de mutacion

Mutacion bit a bit

El punto de mutacion se selecciona de entre todos los (n x l ) de la

poblacion

96

Page 77: Computacion Inteligente La computacion evolutiva 1.

El procedimiento de seleccion

El proceso de seleccion

Para cada individuo se genera un numero aleatorio ri

Se comparan ri con la probabilidad de cruce Pcross

Son seleccionados para cruzarse los individuos para los que

ri < Pcross

97

Page 78: Computacion Inteligente La computacion evolutiva 1.

Ejemplos

98

Page 79: Computacion Inteligente La computacion evolutiva 1.

Ejemplo (Riolo, 1992)

Se propone resolver el siguiente problema de optimizacion

Hallar

Utilizando un AG con parametros

popSize=6 pcross=30% pmut=1%

Con una precision de media centesima

TOL=5X10-3

* arg max sin 32 : 0,1x f x x x x

99

Page 80: Computacion Inteligente La computacion evolutiva 1.

Ejemplo (Riolo, 1992)

El problema tiene la dificultad de ser multimodal

La funcion objetivo100

Page 81: Computacion Inteligente La computacion evolutiva 1.

Ejemplo (Riolo, 1992)

Codificacion: binaria, tal que

Len = 8

Formula de decodificacion

101

Page 82: Computacion Inteligente La computacion evolutiva 1.

Algoritmo del ejemplo

Generar la poblacion 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

Nueva poblacion102

Page 83: Computacion Inteligente La computacion evolutiva 1.

Ejemplo

Se propone resolver el siguiente problema de optimizacion

Hallar

* 2arg max : 0,1,2, ,31x f x x x

103

Page 84: Computacion Inteligente La computacion evolutiva 1.

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

Generación 1

Selección Proporcional al valor del fitness

Nº String Valor X

Fitness X2

% del total 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

1

23

4

Cromosoma (representación del genotipo)Fenotipo (característica externa observable)( 169 / 1170 ) * 100Valor de aptitud del individuo en la

resolución del problema

104

Page 85: Computacion Inteligente La computacion evolutiva 1.

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

Obtención de la próxima generación

Accionar la ruleta dos veces para elegir dos individuos.

Obtener dos hijos del par de padres seleccionados.

Repetir el proceso hasta obtener tantos hijos como padres y reemplazar la vieja población por la nueva.

105

Page 86: Computacion Inteligente La computacion evolutiva 1.

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

Supóngase que al accionar 4 veces la ruleta se obtienen los siguientes resultados en el orden indicado: 2,1,4,2.

Se aplicará crossover con probabilidad 0.8 PadreID Cromosoma Pto.cruce Hijos

2 11000 1100 | 0 11001

1 01101 4

0110 | 1 01100

PadreID Cromosoma Pto.cruce Hijos

4 10011 10 | 011 10000

2 11000 2

11 | 000 11011

106

Page 87: Computacion Inteligente La computacion evolutiva 1.

Note que existe una probabilidad de 0.2 de que las parejas pasen intactas.

Aplicar mutación con probabilidad baja. Ej: 0.001

Nueva generacion

11001

01100

10000

11011

107

Page 88: Computacion Inteligente La computacion evolutiva 1.

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

Evaluacion de la generación 2

Repetir hasta que se cumpla la condición de finalización

Nº String Valor X

Fitness X2

% del total de fitness

1 11001 25 625 35.6 2 01100 12 144 8.2 3 10000 16 256 14.6 4 11011 27 729 41.6 Total 1754 100.0

108

Page 89: Computacion Inteligente La computacion evolutiva 1.

Algoritmo Genético Básico

begin

t := 0;

inicializar P(t);

evaluar los individuos de P(t);

while la condición de terminación no se satisfaga do

begin

t := t + 1;

select_repro C(t) desde P(t-1);

recombinar y mutar los individuos en C(t) formando C’(t);

evaluar los inidividuos en C’(t);

select_replace P(t) desde C’(t) y P(t-1);

end;

end;

Note que la selección puede aplicarse para la reproducción o el reemplazo.

109

Page 90: Computacion Inteligente La computacion evolutiva 1.

Fuente

Anselmo Perez Serrada

Una introduccion a la computacion evolutiva

EscuelaTecnica Superior de Ingenieria Industrial de Valladolid, 9 de marzo de 1996

110