Clase 7 : Componentes Básicos del Algoritmo Genético (Continuación)
Ejemplo resolución algoritmo genético
-
Upload
javier-rey -
Category
Documents
-
view
6 -
download
0
description
Transcript of Ejemplo resolución algoritmo genético
UNED 2015
Ampliación de sistemas inteligentes
Algoritmo genético
Variante 1
Datos iniciales
F. adecuación
x1 x2 x3 x4 x5 x6 x7
-4.39 -7.66 -5.20 +4.59 +7.19 -3.06 -9.59 0.784715
+6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 0.865700
+3.32 +9.45 -6.45 -7.90 -3.14 -8.47 +0.34 0.726645
-8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25 0.709982
+5.33 +5.40 -2.68 0.84 +3.14 +8.41 +2.60 0.753913
-4.91 -1.29 -9.62 -4.23 +1.58 +8.81 -5.00 0.113377
+1.17 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31 1.617830
+9.08 +3.49 +5.42 +8.66 +7.50 -7.82 -6.75 0.727677
-3.17 +8.82 -7.44 -8.64 -1.43 --8.90 +4.90 0.538443
total 6.838282
En la selección proporcional calculamos la probabilidad de selección de cada cromosoma como:
pi = __fi_________ Σ de la las funciones de adecuación = 6.838282
Luego la probabilidad acumulada como:
qi = Σ desde j=1 hasta j= i de las pi de esa generación
Seleccionamos un número aleatorio del intervalo [0-1] para cada saber que cromosoma se muestrea.Debido a que se pide realizar sustitución generacional completa elitista, solo necesitamos 8 cromosomas de muestra para cruzarse y generar 8 individuos nuevos para completar una nueva
población.
f. adecuación selección pr acumulada num aleat ind muestreo
Id individuo i fi pi qi r i
1 0.784715 0.114753 0.114753 0.361428 4
2 0.865700 0.126600 0.241353 0.644376 7
3 0.726645 0.106259 0.347612 0.195519 2
4 0.709982 0.103823 0.451435 0.130596 2
5 0.753913 0.110250 0.561685 0.928964 9
6 0.113377 0.016577 0.578262 0.433523 4
7 1.617830 0.236583 0.814845 0.850961 8
8 0.727677 0.106411 0.921256 0.751477 7
9 0.538443 0.078744 1.000000
Emparejamos en orden secuencial los cromosomas y aplicamos la probabilidad de cruce para saber que pareja se van a cruzar. Seguimos eligiendo números aleatorios de la columna del intervalo [0-1]para aplicarla como probabilidad de cruce de la pareja k. Si k<p entonces la pareja se cruza mediante cruce simple.
individuo i p cruce nº aleatorio prob,k cruce si/no
4 0.4 0.068952 si
7
Individuo i p cruce nº aleatorio prob,k cruce si/no
2 0.4 0.100952 si
2
Individuo i p cruce nº aleatorio prob,k cruce si/no
9 0.4 0.508623 no
4
Individuo i p cruce nº aleatorio prob,k cruce si/no
8 0.4 0.316724 si
7
Cruces simples
Las parejas que se van a cruzar con cruce simple necesitan conocer su punto de corte así extraigo dela columna [1,long-1] un numero aleatorio que representará el punto de corte.
Padres ↓ poscorte
hijos
i x1 x2 x3 x4 x5 x6 x7 x1 x2 x3 x4 x5 x6 x7
4 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25 1 -8.59 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31
7 +1.17 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31 +1.17 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25
Padres ↓ poscorte
hijos
i x1 x2 x3 x4 x5 x6 x7 x1 x2 x3 x4 x5 x6 x7
2 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53
62 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53
Padres poscorte
hijos
i x1 x2 x3 x4 x5 x6 x7 x1 x2 x3 x4 x5 x6 x7
9 -3.17 +8.82 -7.44 -8.64 -1.43 -8.90 +4.90 X -3.17 +8.82 -7.44 -8.64 -1.43 -8.90 +4.90
4 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25
Padres ↓ poscorte
hijos
i x1 x2 x3 x4 x5 x6 x7 x1 x2 x3 x4 x5 x6 x7
8 +9.08 +3.49 +5.42 +8.66 +7.50 -7.82 -6.75 3 +9.08 +3.49 +5.42 +7.97 +8.56 -5.49 -7.53
7 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 +6.97 -3.65 +3.46 +8.66 +7.50 -7.82 -6.75
Mutaciones
Sigo eligiendo valores de la tabla de [0-1] para probabilidades.Para intercambiar componentes de los cromosomas utilizo la columna [1-7]
p=0.2
nº aleatorio (prob pareja) c1 = 0.913732, como c1> p → no se realiza mutación.nº aleatorio (prob pareja) c2 = 0.051637, como c2< p → se realiza mutación. Intercambiar 2 y 1.
Hijos 1ª pareja
x1 x2 x3 x4 x5 x6 x7
c1 -8.59 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31
c2 -5.87 +1.17 -9.28 -6.99 +11.59 +1.91 -4.25
nº aleatorio (prob pareja) c3 = 0.846248, como c3> p → no se realiza mutación.nº aleatorio (prob pareja) c4 = 0.776817, como c4> p → no se realiza mutación.
Hijos 2ª pareja
x1 x2 x3 x4 x5 x6 x7
c3 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53
c4 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53
nº aleatorio (prob pareja) c5 = 0.686349, como c5> p → no se realiza mutación.nº aleatorio (prob pareja) c6 = 0.781462, como c6> p → no se realiza mutación.
Hijos 3ª pareja
x1 x2 x3 x4 x5 x6 x7
c5 -3.17 +8.82 -7.44 -8.64 -1.43 -8.90 +4.90
c6 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25
nº aleatorio (prob pareja) c7 = 0.632389, como c7> p → no se realiza mutación.nº aleatorio (prob pareja) c8 = 0.173013, como c8< p → se realiza mutación. Intercambiar 7 y 4
Hijos 4ª pareja
x1 x2 x3 x4 x5 x6 x7
c7 +9.08 +3.49 +5.42 +7.97 +8.56 -5.49 -7.53
c8 +6.97 -3.65 +3.46 -6.75 +7.50 -7.82 +8.66
Al usar una estrategia elitista nos quedamos con el individuo con mejor adecuación de entre los padres, en este caso el 7. Así la nueva generación está formada por:
f. adecuación
x1 x2 x3 x4 x5 x6 x7
+1.17 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31 1.617830
-8.59 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31 0.630538
-5.87 +1.17 -9.28 -6.99 +11.59 +1.91 -4.25 0.562378
+6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 0.865700
+6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 0.865700
-3.17 +8.82 -7.44 -8.64 -1.43 -8.90 +4.90 0.538443
-8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25 0.709982
+9.08 +3.49 +5.42 +7.97 +8.56 -5.49 -7.53 0.569081
+6.97 -3.65 +3.46 +8.66 +7.50 -7.82 -6.75 0.762807
total 7.122459
mayor 1.617830
menor 0.538443
media 0.791385
Variante 2
El método de sustitución que se utiliza es de estado estable con n = 4 individuos.La selección es por torneo binario y por cada torneo se elige un individuo, al de mayor función de adecuación, Así que es necesario elegir 8 individuos de la población inicial con reemplazamiento.Los números aleatorios que utilizo son los de la columna M, [1-9].
Torneos
Los dos primeros números aleatorios de la columna son 4 y 6, que serán los individuos que competirán.
f. adecuación ganador
Individuo i
4 0.709982 4
6 0.113377
Los siguientes dos individuos serán 2 y 2
f. adecuación ganador
Individuo i
2 0.865700 4
2 0.865700
Los siguientes dos son 9 y 4
f. adecuación ganador
Individuo i
4 0.709982 4
9 0.538443
Los últimos dos son 8 y 7
f. adecuación ganador
Individuo i
8 0.727677 7
7 1.617830
muestreo
i x1 x2 x3 x4 x5 x6 x7
4 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25
2 +6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53
4 -8.59 -5.87 -9.28 -6.99 +11.59 +1.91 -4.25
7 +1.17 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31
Cruce Aritmético
Utilizo los números aleatorios de la columna L, [0-1]
1ª Pareja 4 y 2. k1 = 0.361428k2 = 1 - k1= 0.638572
2ª pareja 9 y 4k3 = 0.644376k4 = 1 – K3 = 0.355624
La probabilidad de cruce es p=0.45Extraigo otro número aleatorio para ver si la primera pareja debe cruzarse, s = 0.195519, s < pLa pareja debe cruzarse, utilizando cruce aritmético y con k1 = 0.361428 y k2 0.638572Cada componente se calcula como:
para c1: k1*c1j+k2*c2j con j=1...7para c2: k2*c1j+k1*c2j con j=1...7
Hijos 1ª x1 x2 x3 x4 x5 x6 x7
c1 +1.35 -4.45 -1.14 +2.56 +9.65 -2.81 -6.34
c2 -2.97 -5.07 -4.68 -1.58 +10.49 -0.76 -5.43
Extraigo otro número aleatorio para ver si la primera pareja debe cruzarse, s = 0.130596, s < pLa pareja debe cruzarse, utilizando cruce aritmético y con k3 = 0.644376 y k4 = 0.355624Cada componente se calcula como:
para c3: k3*c1j+k4*c2j con j=1...7para c4: k4*c1j+k3*c2j con j=1...7
Hijos 2ª x1 x2 x3 x4 x5 x6 x7
c3 -5.12 -7.33 -5.89 -1.24 +10.43 +2.38 -6.05
c4 -2.30 -8.52 -3.14 +3.44 +9.50 +2.76 -7.51
Mutaciones
probabilidad de mutación p = 0.25
Con c1 extraigo un número aleatorio de la columna para ver si debe mutar, s = 0.928964, s > p, c1 no debe mutar. Al ser una mutación por intercambio mínimo habría que extraer de la columna O dosnúmeros del 1 al 7 que se intercambiarían de posición.
Con c2 hacemos lo mismo, s = 0.433523, s > p entonces no hay mutación.
Con c3 hacemos lo mismo, s = 0.850961, s > p entonces no hay mutación.
Con c3 hacemos lo mismo, s = 0.751477, s > p entonces no hay mutación.
Al final los hijos serán:
x1 x2 x3 x4 x5 x6 x7
+1.35 -4.45 -1.14 +2.56 +9.65 -2.81 -6.34
-2.97 -5.07 -4.68 -1.58 +10.49 -0.76 -5.43
-5.12 -7.33 -5.89 -1.24 +10.43 +2.38 -6.05
-2.30 -8.52 -3.14 +3.44 +9.50 +2.76 -7.51
La sustitución es por estado estable con n = 4 así que ordenamos la población inicial por su función de adecuación y eliminamos los cuatro peores que sustituiremos por los 4 hijos generados, para tener nuevamente una población de 9 individuos.
Ranking población inicial:
6 9 4 3 8 5 1 2 7
Descartamos los individuos 6, 9,4 y 3.Así la población final será:
F. adecuación
x1 x2 x3 x4 x5 x6 x7
+1.35 -4.45 -1.14 +2.56 +9.65 -2.81 -6.34 0.428677
-2.97 -5.07 -4.68 -1.58 +10.49 -0.76 -5.43 0.386410
-5.12 -7.33 -5.89 -1.24 +10.43 +2.38 -6.05 1.245189
-2.30 -8.52 -3.14 +3.44 +9.50 +2.76 -7.51 1.155157
+1.17 -9.99 +0.25 +9.19 +8.34 +3.23 -9.31 1.617830
+6.97 -3.65 +3.46 +7.97 +8.56 -5.49 -7.53 0.865700
+9.08 +3.49 +5.42 +8.66 +7.50 -7.82 -6.75 0.727677
+5.33 +5.40 -2.68 0.84 +3.14 +8.41 +2.60 0.753913
-4.39 -7.66 -5.20 +4.59 +7.19 -3.06 -9.59 0.784715
total 7.965268
mayor 1.617830
menor 0.386410
media 0.885030.Entorno:
Windows 7Open Office 4.41calculadora
Opiniones:
Algunos temas no están claros en el texto de estudio así que debí buscarlas en otras fuentes. Por lo demás se comprende y es interesante el tema de los algorítmos genéticos.A lo largo de la carrera hemos escuchado de ellos pero es ahora cuando los vemos con detenimiento.
Fuentes:
http://sedici.unlp.edu.ar/bitstream/handle/10915/4059/6__Algoritmos_evolutivos_avanzados_para_TSP.pdf?sequence=9
http://jarroba.com/algoritmos-geneticos-ejemplo/
http://www.geatbx.com/docu/algindex-02.html#P416_20744