UNED 2015 Ampliación de sistemas inteligentes
Algoritmo genético Variante 1 Datos iniciales F. adecuación x1
x2
x
x!
x5
x"
x#
$!.%
$#.""
$5.20
&!.5%
.1%
$.0"
$%.5%
0.#'!#15
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
0.'"5#00
&.2
&%.!5
$".!5
$#.%0
$.1!
$'.!#
&0.!
0.#2""!5
$'.5%
$5.'#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
0.#0%%'2
&5.
&5.!0
$2."'
0.'!
&.1!
&'.!1
&2."0
0.#5%1
$!.%1
$1.2%
$%."2
$!.2
&1.5'
&'.'1
$5.00
0.11##
&1.1#
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
1."1#'0
&%.0'
&.!%
&5.!2
&'.""
.50
$#.'2
$".#5
0.#2#"##
$.1#
&'.'2
$#.!!
$'."!
$1.!
$$'.%0
&!.%0
0.5'!!
total
".''2'2
En la selección proporcional calculamos la pro(a(ilidad de selección de cada cromosoma como) pi = __fi_________ * de la las +unciones de adecuación , ".''2'2 -uego la pro(a(ilidad acumulada como) qi = * desde ,1 /asta , i de las pi de esa generación eleccionamos un nmero aleatorio del interalo 30$14 para cada sa(er ue cromosoma se muestrea. De(ido a ue se pide reali6ar sustitución generacional completa elitista7 solo necesitamos ' cromosomas de muestra para cru6arse 8 generar ' indiiduos nueos para completar una nuea po(lación. +. adecuación 9d indiiduo i
f i
selección pi
pr acumulada qi
num aleat r
ind muestreo i
1
0.#'!#15
0.11!#5
0.11!#5
0."1!2'
!
2
0.'"5#00
0.12""00
0.2!15
0."!!#"
#
0.#2""!5
0.10"25%
0.!#"12
0.1%551%
2
!
0.#0%%'2
0.10'2
0.!51!5
0.105%"
2
5
0.#5%1
0.110250
0.5"1"'5
0.%2'%"!
%
"
0.11##
0.01"5##
0.5#'2"2
0.!52
!
#
1."1#'0
0.2"5'
0.'1!'!5
0.'50%"1
'
'
0.#2#"##
0.10"!11
0.%2125"
0.#51!##
#
%
0.5'!!
0.0#'#!!
1.000000
Empareamos en orden secuencial los cromosomas 8 aplicamos la pro(a(ilidad de cruce para sa(er ue parea se an a cru6ar. eguimos eligiendo nmeros aleatorios de la columna del inter alo 30$14 para aplicarla como pro(a(ilidad de cruce de la parea :. i :; p entonces la parea se cru6a mediante cruce simple. indiiduo i
p cruce
n< aleatorio pro(7:
!
0.!
0.0"'%52
9ndiiduo i
p cruce
n< aleatorio pro(7:
2
0.!
0.100%52
9ndiiduo i
p cruce
n< aleatorio pro(7:
%
0.!
0.50'"2
9ndiiduo i
p cruce
n< aleatorio pro(7:
'
0.!
0.1"#2!
cruce si=no si
#
cruce si=no si
2
cruce si=no no
!
cruce si=no si
#
>ruces simples -as pareas ue se an a cru6ar con cruce simple necesitan conocer su punto de corte as? extraigo de la columna 317long$14 un numero aleatorio ue representar@ el punto de corte. adres ↓ i x1
x2
x
! $'.5% $5.'# $%.2'
x!
x5
x"
$".%% &11.5% &1.%1 $!.25 1
# &1.1# $%.%% &0.25 &%.1% &'.!
&.2 $%.1
adres i x1
x#
↓
x2
x
pos /ios corte x1 x2
x!
x5
2 &".%# $."5 &.!" .%# &'.5"
x"
x#
$5.!% $#.5
x
x!
x5
$'.5% $%.%% &0.25 &%.1% &'.!
x"
x#
&.2 $%.1
&1.1# $5.'# $%.2' $".%% &11.5% &1.%1 $!.25
pos /ios corte x1 x2
x
x!
x5
&".%# $."5 &.!" .%# &'.5"
x"
x#
$5.!%
$#.5
2 &".%# $."5 &.!" .%# &'.5"
$5.!% $#.5 "
adres i
x1
x2
x
x!
x5
% $.1# &'.'2 $#.!! $'."! $1.!
pos /ios corte x1 x2
x"
x#
$'.%0
&!.%0 B
! $'.5% $5.'# $%.2' $".%% &11.5% &1.%1 $!.25
adres i x1
x
x!
x5
x"
x
x!
x5
$.1# &'.'2 $#.!! $'."! $1.!
$5.!%
x"
$#.5
x#
$'.%0 &!.%0
$'.5% $5.'# $%.2' $".%% &11.5% &1.%1 $!.25
pos /ios corte x1 x2
↓
x2
&".%# $."5 &.!" .%# &'.5"
x#
x
x!
x5
x"
x#
' &%.0' &.!% &5.!2 &'."" .50
$#.'2 $".#5
&%.0' &.!% &5.!2 .%# &'.5"
$5.!%
$#.5
# &".%# $."5 &.!" .%# &'.5"
$5.!% $#.5
&".%# $."5 &.!" &'."" .50
$#.'2
$".#5
Cutaciones igo eligiendo alores de la ta(la de 30$14 para pro(a(ilidades. ara intercam(iar componentes de los cromosomas utili6o la columna 31$#4 p=0.2 n< aleatorio pro( parea c1 , 0.%1#27 como c1 p G no se reali6a mutación. n< aleatorio pro( parea c2 , 0.051"#7 como c2; p G se reali6a mutación. 9ntercam(iar 2 8 1. Hios 1I parea x1
x2
x
x!
x5
x"
x#
c1
$'.5%
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
c2
$5.'#
&1.1#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
n< aleatorio pro( parea c , 0.'!"2!'7 como c p G no se reali6a mutación. n< aleatorio pro( parea c! , 0.##"'1#7 como c! p G no se reali6a mutación. Hios 2I parea x1
x2
x
x!
x5
x"
x#
c
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
c!
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
n< aleatorio pro( parea c5 , 0."'"!%7 como c5 p G no se reali6a mutación. n< aleatorio pro( parea c" , 0.#'1!"27 como c" p G no se reali6a mutación. Hios I parea
x1
x2
x
x!
x5
x"
x#
c5
$.1#
&'.'2
$#.!!
$'."!
$1.!
$'.%0
&!.%0
c"
$'.5%
$5.'#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
n< aleatorio pro( parea c# , 0."2'%7 como c# p G no se reali6a mutación. n< aleatorio pro( parea c' , 0.1#017 como c'; p G se reali6a mutación. 9ntercam(iar # 8 ! Hios !I parea x1
x2
x
x!
x5
x"
x#
c#
&%.0'
&.!%
&5.!2
.%#
&'.5"
$5.!%
$#.5
c'
&".%#
$."5
&.!"
$".#5
.50
$#.'2
&'.""
Al usar una estrategia elitista nos uedamos con el indiiduo con meor adecuación de entre los padres7 en este caso el #. As? la nuea generación est@ +ormada por)
+. adecuación x1
x2
x
x!
x5
x"
x#
&1.1#
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
1."1#'0
$'.5%
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
0."05'
$5.'#
&1.1#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
0.5"2#'
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
0.'"5#00
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
0.'"5#00
$.1#
&'.'2
$#.!!
$'."!
$1.!
$'.%0
&!.%0
0.5'!!
$'.5%
$5.'#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
0.#0%%'2
&%.0'
&.!%
&5.!2
.%#
&'.5"
$5.!%
$#.5
0.5"%0'1
&".%#
$."5
&.!"
&'.""
.50
$#.'2
$".#5
0.#"2'0#
total
#.122!5%
ma8or
1."1#'0
menor
0.5'!!
media
0.#%1'5
Variante 2 El método de sustitución ue se utili6a es de estado esta(le con n , ! indiiduos. -a selección es por torneo (inario 8 por cada torneo se elige un indiiduo7 al de ma8or +unción de adecuación7 As? ue es necesario elegir ' indiiduos de la po(lación inicial con reempla6amiento. -os nmeros aleatorios ue utili6o son los de la columna C7 31$%4.
Jorneos -os dos primeros nmeros aleatorios de la columna son ! 8 "7 ue ser@n los indiiduos ue competir@n.
+. adecuación
ganador
!
0.#0%%'2
!
"
0.11##
9ndiiduo i
-os siguientes dos indiiduos ser@n 2 8 2
+. adecuación
ganador
2
0.'"5#00
!
2
0.'"5#00
9ndiiduo i
-os siguientes dos son % 8 ! +. adecuación 9ndiiduo i
ganador
!
0.#0%%'2
%
0.5'!!
!
-os ltimos dos son ' 8 # +. adecuación
ganador
'
0.#2#"##
#
#
1."1#'0
9ndiiduo i
muestreo i
x1
x2
x
x!
x5
x"
x#
!
$'.5%
$5.'#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
2
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
!
$'.5%
$5.'#
$%.2'
$".%%
&11.5%
&1.%1
$!.25
#
&1.1#
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
>ruce Aritmético Utili6o los nmeros aleatorios de la columna -7 30$14 1I area ! 8 2. :1 , 0."1!2' :2 , 1 $ :1, 0."'5#2 2I parea % 8 ! : , 0."!!#" :! , 1 K L , 0.55"2! -a pro(a(ilidad de cruce es p=0.45 Extraigo otro nmero aleatorio para er si la primera parea de(e cru6arse7 s , 0.1%551%7 s ; p -a parea de(e cru6arse7 utili6ando cruce aritmético 8 con :1 , 0."1!2' 8 :2 0."'5#2 >ada componente se calcula como) para c1) :1Mc1&:2Mc2 con ,1...# para c2) :2Mc1&:1Mc2 con ,1...# Hios 1I
x1
x2
x
x!
x5
x"
x#
c1
&1.5
$!.!5
$1.1!
&2.5"
&%."5
$2.'1
$".!
c2
$2.%#
$5.0#
$!."'
$1.5'
&10.!%
$0.#"
$5.!
Extraigo otro nmero aleatorio para er si la primera parea de(e cru6arse7 s , 0.105%"7 s ; p -a parea de(e cru6arse7 utili6ando cruce aritmético 8 con : , 0."!!#" 8 :! , 0.55"2! >ada componente se calcula como)
para c) :Mc1&:!Mc2 con ,1...# para c!) :!Mc1&:Mc2 con ,1...#
Hios 2I
x1
x2
x
x!
x5
x"
x#
c
$5.12
$#.
$5.'%
$1.2!
&10.!
&2.'
$".05
c!
$2.0
$'.52
$.1!
&.!!
&%.50
&2.#"
$#.51
Cutaciones pro(a(ilidad de mutación p = 0.25 >on c1 extraigo un nmero aleatorio de la columna para er si de(e mutar7 s , 0.%2'%"!7 s p7 c1 no de(e mutar. Al ser una mutación por intercam(io m?nimo /a(r?a ue extraer de la columna dos nmeros del 1 al # ue se intercam(iar?an de posición. >on c2 /acemos lo mismo7 s , 0.!527 s p entonces no /a8 mutación. >on c /acemos lo mismo7 s , 0.'50%"17 s p entonces no /a8 mutación. >on c /acemos lo mismo7 s , 0.#51!##7 s p entonces no /a8 mutación. Al +inal los /ios ser@n)
x1
x2
x
x!
x5
x"
x#
&1.5
$!.!5
$1.1!
&2.5"
&%."5
$2.'1
$".!
$2.%#
$5.0#
$!."'
$1.5'
&10.!%
$0.#"
$5.!
$5.12
$#.
$5.'%
$1.2!
&10.!
&2.'
$".05
$2.0
$'.52
$.1!
&.!!
&%.50
&2.#"
$#.51
-a sustitución es por estado esta(le con n , ! as? ue ordenamos la po(lación inicial por su +unción de adecuación 8 eliminamos los cuatro peores ue sustituiremos por los ! /ios generados7 para tener nueamente una po(lación de % indiiduos. Oan:ing po(lación inicial) "
%
!
'
5
1
2
#
Descartamos los indiiduos "7 %7! 8 . As? la po(lación +inal ser@) F. adecuación
x1
x2
x
x!
x5
x"
x#
&1.5
$!.!5
$1.1!
&2.5"
&%."5
$2.'1
$".!
0.!2'"##
$2.%#
$5.0#
$!."'
$1.5'
&10.!%
$0.#"
$5.!
0.'"!10
$5.12
$#.
$5.'%
$1.2!
&10.!
&2.'
$".05
1.2!51'%
$2.0
$'.52
$.1!
&.!!
&%.50
&2.#"
$#.51
1.15515#
&1.1#
$%.%%
&0.25
&%.1%
&'.!
&.2
$%.1
1."1#'0
&".%#
$."5
&.!"
.%#
&'.5"
$5.!%
$#.5
0.'"5#00
&%.0'
&.!%
&5.!2
&'.""
.50
$#.'2
$".#5
0.#2#"##
&5.
&5.!0
$2."'
0.'!
&.1!
&'.!1
&2."0
0.#5%1
$!.%
$#.""
$5.20
&!.5%
.1%
$.0"
$%.5%
0.#'!#15
total
#.%"52"'
ma8or
1."1#'0
menor
0.'"!10
media
0.''500
. Entorno) PindoQs # pen ++ice !.!1 calculadora piniones) Algunos temas no est@n claros en el texto de estudio as? ue de(? (uscarlas en otras +uentes. or lo dem@s se comprende 8 es interesante el tema de los algor?tmos genéticos. A lo largo de la carrera /emos escuc/ado de ellos pero es a/ora cuando los emos con detenimiento. Fuentes) /ttp)==sedici.unlp.edu.ar=(itstream=/andle=10%15=!05%="RRAlgoritmosReolutiosRaan6adosRparaR J.pd+Sseuence,% /ttp)==arro(a.com=algoritmos$geneticos$eemplo= /ttp)==QQQ.geat(x.com=docu=algindex$02./tmlT!1"R20#!!