Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Julio 2004
Introducción
i
ii
Introducción ii
3 Convergencia del AG 34
3.1 Algoritmo Genético General . . . . . . . . . . . . . . . . . . . 34
3.2 Algoritmo Genético Elitista . . . . . . . . . . . . . . . . . . . 37
4 Cálculos Numéricos 41
4.1 Implementación Computacional . . . . . . . . . . . . . . . . . 41
iii
CONTENIDO iv
Apéndice1 61
A Teoremas 61
A.1 Teorema de Convergencia . . . . . . . . . . . . . . . . . . . . 61
B Glosario 62
Referencias 65
Capı́tulo 1
1
CAPÍTULO 1. INTRODUCCIÓN A LOS AG’S 2
AE = {I, φ, Ω, Ψ, s, i, µ, λ},
donde
1. I es el espacio de individuos
Algoritmo Genético
Probabilidad y Cadenas de
Markov
i) Si E ∈ β entonces E c ∈ β,
S∞
ii) Si {En }∞
n=1 es una sucesión en β, entonces n=1 En ∈ β.
8
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 9
Definición 2.1.4 Por una medida sobre un espacio medible (Ω, β) enten-
demos una función µ no negativa definida sobre β tal que
i) µ(∅) = 0,
S P∞
ii) µ( ∞i=1 Ai ) = i=1 µ(Ai ) donde Ai ∩ Aj = ∅ si i 6= j.
Demostración
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 10
1 = P (Ω) = P (E c ∪ E)
P (E c ∪ E) = P (E c ) + P (E)
entonces
1 = P (E c ) + P (E),
es decir,
P (E c ) = 1 − P (E).
P (F ) = P (E) + P (F − E)
P (F ) ≥ P (E).
P (E) = P (E ∩ F ) + P (E − F )
esto implica
P (E − F ) = P (E) − P (E ∩ F ).
F1 = E1
F2 = E2 − E1
[2
F3 = E3 − Ei
i−1
..
.
n−1
[
Fn = En − Ei
i−1
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 11
∞
S∞
obteniendo
S∞ la sucesión ajena dos a dos {F n }n=1 ∈ β, además n=1 En =
n=1 Fn y Fi ⊂ Ei para i = 1, 2, ... entonces por el inciso anterior
∞
[ ∞
[ ∞
X ∞
X
P( Ei ) = P ( Fi ) = P (Fi ) ≤ P (Ei )
i=1 i=1 i=1 i=1
ası́ ∞ ∞
[ X
P( Ei ) ≤ P (Ei ).¥
i=1 i=1
P (A ∩ B)
PB (A) = si P (B) > 0. (2.1.1)
P (B)
Demostración
Tenemos que demostrar que PB es una medida y que P (Ω) = 1. En
efecto:
P (∅∩B)
i) Sabemos que P (∅) = 0 por ser P una medida, entonces PB (∅) = P (B)
=
P (∅) 0
P (B)
= P (B)
= 0.
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 12
[∞ S S
P [( ∞i=1 Ai ) ∩ B] P[ ∞ i=1 (Ai ∩ B)]
PB ( Ai ) = = =
i=1
P (B) P (B)
P∞ ∞ ∞
i=1 P (Ai ∩ B) X P (Ai ∩ B) X
= = PB (Ai ),
P (B) i=1
P (B) i=1
P (A1 ∩ ... ∩ An ) = P (A1 )P (A2 |A1 )...P (Ak |A1 ∩ ... ∩ Ak−1 ).
Demostración
Por inducción: Para n = 2 se cumple por la Definición 2.1.9.
Ahora supongamos que el resultado vale para n = k, esto es
P (A1 ∩ ... ∩ Ak ) = P (A1 )P (A2 |A1 )...P (Ak |A1 ∩ ... ∩ Ak−1 ).
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 13
ii) Teorema de
P∞Probabilidad Total. Si P (Bk ) > 0 para todo k entonces
P (A) = k=1 P (Bk )P (A|Bk ) para todo A ∈ β.
iii) Teorema de Bayes. P (Bk |A) = P∞P (Bk )P (A|Bk ) , para todo A ∈ β tal
n=1 P (Bn )P (A|Bn )
que P (A) > 0.
Demostración
i) Sea A ∈ β, entonces
∞
[ ∞
[
A=A∩Ω=A∩( Bk ) = (A ∩ Bk )
k=1 k=1
Demostración
FP (x) ≤ FP (y).
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 16
iii) Tomemos
lim FP (x) = lim P (−∞, x] = P (∅) = 0
x→−∞ x→−∞
2.1.4 Esperanza
Definición 2.1.23 Sea X una variable aleatoria sobre (Ω, β, P ). La Espe-
ranza de X se define como la integral de X con respecto a la medida P y se
denota E(X): Z
E(X) := XdP
Ω
si esta integral existe y es finita.
i) E(a) = a
Demostración
Ver [13]. ¥
Lema 2.1.27 Sea X una variable aleatoria, entonces
Demostración
Tenemos que probar:
por lo tanto,
V ar(X) = E(X 2 ) − E(X)2 .¥
e) B es irreducible si para todo bij existe k ∈ N tal que bkij > 0, donde bkij
denota el elemento ij de la matriz B k .
f ) B es reducible si no es irreducible.
Demostración
Sea H = AB. Como A es no negativa, tenemos aij ≥ 0, pero por la
condición de ser estocástica, existe al menos un elemento en cada fila i tal
que 0 < aij ≤ 1.
Por otro lado, B es positiva, entonces bij > 0 para todo i, j, entonces
n
X
hij = aik bkj > 0
k=1
Demostración P P
Por contradicción. Sea H = ABC, entonces hij = nk=1 nr=1 air brk ckj ,
supongamos H reducible, entonces, por el Lema 2.2.2, necesariamente el
elemento h1n = 0, esto es
n X
X n
a1r brk ckn = 0;
k=1 r=1
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 21
para todo r, k. Ahora, como A es diagonal positiva tenemos que aii > 0,
entonces
b1k ckn = 0,
pero B también es diagonal positiva, por lo tanto cnn > 0, lo cual implica
b1n = 0
Definición 2.2.5 Una sucesión de matrices An = [an (i, j)] se dice que con-
verge a la matriz A = [a(i, j)] si y sólo si an (i, j) converge a a(i, j) cuando
n → ∞, para cada par i, j.
Demostración
iii) Transitividad: tomemos xRy y yRz, esto es, xT y y yT x, por otro lado,
yT z y zT y, como T es un orden débil, es transitiva, de donde tenemos
xT z y zT x, ası́ xRz.
Demostración
ii) Antisimetrı́a. Tomemos [u]T ∗ [v] y [v]T ∗ [u]. Sean cualesquiera u0 ∈ [u] y
v 0 ∈ [v], esto es u0 T v 0 y v 0 T u0 , es decir u0 Rv 0 , de donde decimos que u0
y v 0 pertenecen a la misma clase de equivalencia.
Demostración
Por la Definición 2.4.2 tenemos
de donde
[
(Xn+m = j) = Ω ∩ (Xn+m = j) = ( (Xn = k)) ∩ (Xn+m = j)
k∈S
[
= ((Xn = k) ∩ (Xn+m = j)) ,
k∈S
por consiguiente
[
P (Xn+m = j|X0 = i) = P ( ((Xn = k) ∩ (Xn+m = j))|X0 = i)
k∈S
X
= P (Xn = k, Xn+m = j|X0 = i); (2.4.6)
k∈S
Demostración
X
[P(n) P(m) ]ij = pik (n)pkj (m) = pij (n + m),
k∈S
ası́
P(n) P(m) = P(n+m) .¥
Por el Principio del Buen Orden podemos afirmar que existe el elemento
minimal, como consecuencia tenemos que en cada Cadena de Markov exis-
te un conjunto ergódico, sin embargo no necesariamente tenemos conjuntos
trascendentes. Intuitivamente sabemos que si un proceso llega a un conjunto
ergódico nunca podrá abandonarlo y por otro lado, si el proceso sale de un
estado transcendente nunca regresa a él.
Demostración
Si el proceso inicia en un estado ergódico, no hay nada que probar.
Supongamos que el proceso empieza en un estado trascendente. Por otro
lado, sabemos que siempre existe al menos un conjunto ergódico, entonces
podemos afirmar que el proceso llegará a un estado ergódico, ya que la cadena
tiene un número finito de pasos; ası́, existe un número p que es la probabili-
dad de que el proceso entre a un estado ergódico, a lo más en n pasos, donde
0 < p ≤ 1.
Por otro lado, por el inciso i) del Teorema 2.1.8 afirmamos que la proba-
bilidad de que no entre en un estado ergódico en n pasos es de 1 − p, donde
1 − p < 1, (2.4.9)
r·− s s ¸
S 0 r−s
P=
R Q s
Demostración
Sabemos que en cada Cadena de Markov existe al menos un conjunto
ergódico, y también que los elementos de éste sólo se comunican con ellos
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 30
mismos, no con otros; ası́, podemos afirmar que existe al menos una entrada
cero en P. Por el Lema 2.2.2, P puede ser llevada a la forma
r·− s s ¸
S 0 r−s
P=
R Q s
r·− s s ¸
I 0 r−s
P=
R Q s
Demostración
Vea Observación 2.4.16. ¥
Demostración
Consideremos la identidad
lo cual implica que det(I −Q) 6= 0, por ello afirmamos que I −Q tiene inversa
(I − Q)−1 . Multipliquemos por ésta en (2.4.10):
esto es
(I + Q + ... + Qk−1 ) = (I − Q)−1 (I − Qk ).
Si hacemos k → ∞ tenemos
∞
X
Qk = (I − Q)−1 .¥
k=0
Demostración
Primero, verifiquemos por indución que
· ¸
k Sk 0
P = Pk−1 i k−1−i . (2.4.11)
i=0 Q RS Qk
Ası́, para k = 2
· ¸· ¸ · ¸
2 S 0 S 0 S2 0
P = PP = =
R Q R Q RS + QR Q2
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 32
· ¸ · ¸
S2 0 S2 0
= P1 ,
Q RS + QRS Q2
0 0 i
i=0 Q RS
1−i
Q2
supongamos que (2.4.11) se cumple para k = n, es decir,
· ¸
n Sn 0
P = Pn−1 i n−1−i .
i=0 Q RS Qn
Pn+1 = Pn P
· ¸· ¸
Sn 0 S 0
= Pn−1 i n−1−i
i=0 Q RS Qn R Q
· ¸
S nS 0
= P
( n−1 i
i=0 Q RS
n−1−i
)S + Qn R Qn Q
· ¸
S n+1 0
= P n−1 i n−i
i=0 Q RS + Qn RS 0 Qn+1
· ¸
P S n+1 0
= n i n−i .
i=0 Q RS Qn+1
Por tanto, · ¸
k Sk 0
P = Pk−1 i k−1−i
i=0 Q RS Qk
para todo k ∈ N.
Ahora si k → ∞, por el Lema 2.4.18, Qk → 0 y por el Teorema A.1.1
(Ver Apéndice A), S k converge a una matriz S ∞ , entonces
· ¸
k S∞ 0
lim P = P .
k→∞ limk→∞ k−1 i
i=0 Q RS
k−1−i
0
Pk−1
Por último veamos que pasa con limk→∞ i=0 Qi RS k−1−i . Tomemos
k−1
X k−1
X k−1
X k−1
X
i k−1−i i k−1−i i ∞
Q RS = Q RS − Q RS + Qi RS ∞
i=0 i=0 i=0 i=0
k−1
X k−1
X
i k−1−i ∞
= Q R(S −S )+ Qi RS ∞
i=0 i=0
CAPÍTULO 2. PROBABILIDAD Y CADENAS DE MARKOV 33
si k → ∞ tenemos
k−1
X k−1
X ∞
X
i k−1−i ∞ i ∞
Q R(S −S )+ Q RS → Qi RS ∞
i=0 i=0 i=0
à ∞
!
X
= Qi RS ∞ ,
i=0
Convergencia del AG
max{f (b)|b ∈ B l }
34
CAPÍTULO 3. CONVERGENCIA DEL AG 35
Demostración
El operador cruza es una función cuyo dominio y rango es el espacio de
estados S, es decir, cada estado i ∈ S es transformado en otro estado j ∈ S,
esto es, es la matriz de la transición de una Cadena de Markov, por ello, la
matriz de cruza C es una matriz estocástica. Análogamente, podemos decir
que M y S son matrices estocásticas.
Como estamos usando la mutación uniforme, los elementos de la matriz
M están dados por
mij = pHm (1 − pm )
ij N −Hij
por tanto
Πn f (πk (i))
sii = Pnk=1 ,
( k=1 f (πk (i)))n
de donde sii > 0. Por consiguiente S es diagonal positiva, particularmente
es columna permisible.
Entonces, el producto de la matrices CM S cumple las hipótesis del Lema
2.2.3, es decir, P es positiva, en particular, P es primitiva.¥
Ahora veremos la convergencia del AG, para ello decimos que un algo-
ritmo converge al óptimo global si genera una sucesión cuyo valor lı́mite es el
óptimo global. En seguida damos la definición formal que utilizaremos para
demostrar la convergencia o no de un AG. Para ello definimos a πkt (i) como
el individuo k de la población i en t pasos.
CAPÍTULO 3. CONVERGENCIA DEL AG 37
Definición 3.1.3 Sea Zt = max{f (πkt (i))|k = 1, ..., n} una sucesión de va-
riables aleatorias representantes de la mejor aptitud dentro de la población
del estado i en el paso t. Un AG converge al óptimo global si y sólo si:
lim P (Zt = f ∗ ) = 1,
t→∞
La definición anterior nos indica que la sucesión {Zt } converge con pro-
babilidad 1 a f ∗ .
El siguiente teorema demuestra que P no converge al elemento óptimo.
Demostración
Sea f ∗ como en la Definición 3.1.3. Tenemos i ∈ S cualquier estado tal
que Zt = max{f (πkt (i))|k = 1, ..., n} < f ∗ y pi (t) la probabilidad de que el
AG esté en tal estado i en el tiempo t. Observe que P (Zt 6= f ∗ ) ≥ pi (t) y
eso sucede si y sólo si P (Zt = f ∗ ) ≤ 1 − pi (t).
Por otro lado, sabemos que pi (t) es una componente de la P(t) y P(t) = Pt ,
además por el Teorema 3.1.2, P es primitiva , de donde, por el Teorema A.1.1
sabemos que si t → ∞ entonces pi (t) → p, con p > 0.
Por tanto, tenemos
super individuo, las poblaciones cuyo máximo sea el i-ésimo mejor individuo
se quedaran en el i-ésimo bloque.
Ahora, tenemos que la matriz de transición P∗ del AGE es el producto
de las matrices C ∗ M ∗ S ∗ y E, esto es:
P E11
P E21 E22
∗
P = . . ..
. .
P E2l 1 E2l 2 · · · E2l 2l
PE11
PE21 PE22
= .. .
.
PE2l 1 PE2l 2 · · · PE2l 2l
PE21 PE22
.. ..
Si definimos R := . , T := . y observando
PE2l 1 PE2l 2 · · · PE2l 2l
que PE11 = P (por (3.2.3)), entonces podemos escribir a la matriz P∗ de la
siguiente manera · ¸
∗ P 0
P = , (3.2.4)
R T
siendo ası́ reducible.
Cálculos Numéricos
41
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 42
Genético Simple.
Lo anterior nos hace pensar que tenemos mucho campo para experimen-
tar computacionalmente. En este caso, mantendremos fijos los operadores
cruzamiento y mutación, haciendo algunos ligeros cambios en la selección de
individuos.
Como se mencionó, se utilizará el paquete Mathematica para implementar
el Algoritmo Genético; ası́, para describir las funciones utilizadas para los
experimentos llamaremos individuo de dimensión m a una lista de 0’s y 1’s
con m componentes, por ejemplo: un individuo de dimensión 3 es {0, 1, 0} o
{1, 1, 0}; un gen es una de las entradas de dicho individuo; y una población
es una lista de individuos; esto es, {{0, 1}, {1, 0}, {0, 0}} es una población de
individuos de dos genes.
Ahora se describirá, brevemente, lo que hace cada función utilizada,
seguida por el código con la sintaxis correspondiente para ejecutarlas en
Mathematica.
POBLACIÓN TOTAL
chain[n ] :=
Module [{a0 = n, c0, k0, c1},
c0 = {{0}, {1}};
k0 = 1;
While[k0 < a0,
c1 =Table[Append[Part[c0, j0], Part[{0, 1}, i0]], {j0, 1,2ˆk0}, {i0, 1,
2}];
c0 = Flatten[c1, 1];
k0 = k0 + 1;
];
Clear[k0, c1];
c0
]
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 43
POBLACIÓN ALEATORIA
ranlist[lis , n ] :=
Module[{lis1 = lis, n1 = n, a0, c0, k0, r1, e1, a1},
c0 = Count[lis1, x ];
a0 = { };
k0 = 1;
While[k0 < n1 + 1,
r1 = Random[Integer, {1, c0}];
e1 = Part[lis1, r1];
a1 = Prepend[a0, e1];
k0 = k0 + 1;
a0 = a1;
];
Clear[c0, k0, a1, r1, e1];
a0
]
CRUZAMIENTO
cross1[lis , p0 ] :=
Module[{lis1 = lis, lisnueva, p0t = p0, lisnu11, a00, b0, l0, r1, r2, lis2,
e1, e2, j0, e},
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 44
lisnueva = {};
lisnu11 = {};
a00 = Count[lis1, x ];
b0 = Count[First[lis1], x ];
l0 = 1;
While[ l0 < p0 + 1,
r1 = Random[Integer, {1, a00}];
r2 = Random[Integer, {1, a00 - 1}];
lis2 = Delete[lis1, r1];
e1 = Part[lis1, r1];
e2 = Part[lis2, r2];
j0 = 1;
While[j0 < (b0/2) + 1,
e = ReplacePart[e1, Part[e2, j0], j0];
e1 = e;
j0 = j0 + 1;
];
lisnu11 = Prepend[lisnueva, e1];
Clear[r1, r2, j0, e1];
lisnueva = lisnu11;
l0 = l0 + 1;
];
Clear[l0, a00, b0, e, e2, lisnu11, lis2];
lisnueva
]
MUTACIÓN
muta[lis ] :=
Module[{lis1 = lis, listanueva, pro, n0, l0, r1, e1, r2, ge, en},
pro = Random[Integer, {0, 1}];
If[pro == 1,
listanueva = { };
n0 = Count[lis1, x ];
l0 = Count[First[lis1], x ];
r1 = Random[Integer, {1, n0}];
e1 = Part[lis1, r1];
r2 = Random[Integer, {1, l0}];
ge = Part[e1, r2];
If[ge == 1,
en = ReplacePart[e1, 0, r2],
en = ReplacePart[e1, 1, r2];
];
listanueva = ReplacePart[lis1, en, r1];
Clear[n0, l0, r1, e1, r2, ge, en],
listanueva = lis1;
];
listanueva
]
FUNCIÓN DE APTITUD
fitness[in ] :=
Module[{in1 = in, func, lo, inaux},
lo = Count[in1, x ];
inaux = Table[1, {lo}];
func = ((5 inaux).in1) + 1;
Clear[lo, inaux];
func
]
POBLACIÓN ORDENADA
listopt[lis ] :=
Module[{lis1 = lis, lo, in1, in2, aux1, aux2, lisoo, i, ini, auxi, j, injj, auxjj,
lista},
lo = Count[lis1, x ];
in1 = Part[lis1, 1];
in2 = Part[lis1, 2];
aux1 = fitness[in1];
aux2 = fitness[in2];
If[aux1 > aux2,
lisoo = {in1, in2},
lisoo = {in2, in1};
];
i = 3;
While[i < lo + 1,
ini = Part[lis1, i];
auxi = fitness[ini];
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 47
j = 1;
While[j < i,
injj = Part[lisoo, j];
auxjj = fitness[injj];
If[auxi >= auxjj,
lista = Insert[lisoo, ini, j];
lisoo = lista;
i = i + 1;
Break[],
j = j + 1;
];
];
If[i == j,
lista = Append[lisoo, ini];
i = i + 1;
lisoo = lista;
];
];
lisoo
]
SELECCIÓN
selec[lis , el ] :=
Module[{lis1 = lis, el1 = el, lisorr, lisorpar, listafin},
lisorr = listopt[lis1];
lisorpar = Partition[lisorr, el1];
listafin = First[lisorpar];
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 48
listafin
]
GENÉTICO1
genetico1[l , p ] :=
Module[{li = l, pa = p, pt, tpm, pin, i, lc, lm, poi, psi, auxi},
pt = chain[li];
tpm = Quotient[2ˆli, 2];
pin = ranlist[pt, tpm];
i = 1;
While[i < pa + 1,
lc = cross1[pin, tpm];
lm = muta[lc];
poi = Join[lm, pin];
auxi = listopt[poi];
psi = selec[poi, tpm];
pin = psi;
i = i + 1;
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 49
];
Print[”Paso: ”, i - 1, ” Poblacion total: ”, auxi];
]
GENÉTICO003
genetico003[l , por , p ] :=
Module[{lo = l, porcc = por, pa = p, pt, porcenta, tpm, pin, i, lc, lm,
psi, auxi},
pt = chain[lo];
porcenta = porcc/100;
tpm = Round[(2ˆlo)*porcenta];
pin = ranlist[pt, tpm];
i = 1;
While[i <pa + 1,
lc = cross1[pin, 2ˆlo];
lm = muta[lc];
psi = selec[lm, tpm];
auxi = listopt[lm];
pin = psi;
i = i + 1;
];
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 50
GENÉTICO0004
lm = muta[lc];
pis = selec[lm, tm];
pin = pis;
e1 = First[pin];
fe1 = fitness[e1];
c = c + 1;
];
Print[”Paso: ”, c];
]
GENÉTICO02
genetico02[l , del1 ] :=
Module[{li = l, del = del1, eo, feo, pt, tpm, pin, e1, fe1, lc, lm, poi, pis,
c},
eo = Table[1, {li}];
feo = fitness[eo];
pt = chain[li];
tpm = Quotient[2ˆli, 2];
pin = ranlist[pt, tpm];
e1 = First[pin];
fe1 = fitness[e1];
c = 0;
CAPÍTULO 4. CÁLCULOS NUMÉRICOS 52
Tabla 1
Tabla 2
Tabla 3
{ 0,1,0,0,1,0} ,{ 0,0,0,0,0,1}
Población seleccionada en el paso 441:
{ 1,1,1,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} , { 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} , { 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} , { 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} , { 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 0,0,1,1,1,1} ,{ 0,0,1,1,1,1} ,{ 0,0,1,1,1,1} , { 0,0,1,1,1,1} ,{ 0,0,1,1,1,1} ,
{ 0,0,1,1,1,1} ,{ 0,0,1,1,1,1} ,{ 0,0,1,1,1,1} , { 1,0,1,1,1,0} ,{ 0,0,1,1,1,1} ,
{ 0,0,1,1,1,1} ,{ 0,0,1,1,1,1}
genetico02[6, .2]
genetico02[6, .2]
genetico02[6, .2]
{ 1,0,1,1,0,1} ,{ 1,0,1,1,0,1}
genetico02[6, .2]
4.3 Conclusión
Los Algoritmos Genéticos son algoritmos para encontrar soluciones óptimas
en espacios de búsqueda amplios. Dichos algoritmos se basan en la Teorı́a de
la Evolución; esto es, dado un conjunto de posibles soluciones, éstas operan
cruzandose y mutando para finalmente seleccionar los más aptos, ası́ hasta
encontrar el elemento óptimo, esto es lo que establece la Teorı́a de la Selección
Natural con los individuos y las especies.
Para demostrar que el Algoritmo Genético converge al óptimo, nos basamos
en el artı́culo, de Günter Rudolph, Convergence Analysis of Canonical Ge-
netic Algorithms, en donde la principal herramienta matemática son las Ca-
denas de Markov; sin embargo, para comprenderlas de forma adecuada se
desarrolló todo un capı́tulo en este trabajo. Posteriormente se desarrolló de
la forma más clara posible el artı́culo antes mencionado; donde el Algoritmo
Genético es modelado como una Cadena de Markov y usando propiedades
de convergencia de éstas obtenemos como resultado la convergencia del algo-
ritmo bajo la condición de Elitismo.
Finalmente, se implementó, como ejemplo, un Algoritmo Genético con
ayuda del paquete Mathematica para observar computacionalmente la con-
vergencia bajo algunos cambios de operadores.
El campo de investigación sobre los Algoritmos Genéticos es muy amplio,
ya que por ejemplo, aquı́ sólo se abarcó brevemente a los algoritmos simples,
por otro lado, están los algoritmos multi-objetivo, los cuales tienen mayor
aplicación para resolver problemas de la vida dı́aria; también el cálculo de
orden de convergencia, es decir, el número de iteraciones necesarios para
encontrar el óptimo; entre otros aspectos por estudiar.
Apéndice A
Teoremas
Demostración
Ver [10, pag. 123]
61
Apéndice B
Glosario
Terminologı́a Biológica
Adaptación. Conjunto de caracterı́sticas estructurales, fisiológicas o de
comportamiento que incrementan la probabilidad de que un individuo sobre-
viva o deje más progenie en un ambiente particular.
Adecuación. Conjunto de caracterı́sticas adaptativas de un organismo a su
ambiente y que se miden por su capacidad reproductiva.
ADN. Ácido presente en todas las células, es el material hereditario que
contiene toda la información genética.
Alelo. Forma alternativa de un gen.
Ambiente. Condiciones externas que afectan a un individuo y que pueden
ser fı́sicas o bióticas.
Carácter. Caracterı́stica morfológica o conductual de un organismo.
Codificar. Capacidad que tiene la secuencia de nucleótidos en el ADN para
determinar o especificar la secuencia de aminoácidos que debe tener la cadena
polipeptı́dica de cada tipo de proteı́na.
Competición. Interacción de individuos de la misma o diferente especie
en la que un recurso limitado, que es requerido por los individuos, no es
suficiente para satisfacer las necesidades de todos ellos.
Cromosoma. Estructura visible al microscopio que se observa antes de la
duplicación celular en el núcleo de las células. Por lo general tiene forma de
bastoncillo. Está compuesto por el ADN y algunas proteı́nas. El número de
cromosomas es siempre el mismo para todos los individuos de una especie
y para todas las células de un individuo, excepto para las células sexuales,
cuyo número se reduce a la mitad.
Diploide. Célula u organismo con dos juegos de cromosomas
62
APÉNDICE B. GLOSARIO 63
[2] Ash B. R., Real Analysis and Probability. Academic Press, 1972.
[9] Holland Jonh H., Adaptation in Natural and Artificial Systems. Univer-
sity of Michigan Press, 1975.
[10] Iosifescu Marius, Finite Markov Processes and Their Applications. John
Wiley y Sons, Romania, 1980.
65
REFERENCIAS 66
[16] Wolfram Stephen, The Mathematica Book, 4th Ed. Wolfram Media y
Cambridge University Press, 1999.