Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ITULO 1. INTRODUCCI
ON A LOS AGS 2
satisfactorio, as surgieron dos corrientes de pensamiento dominantes acerca
del origen y evoluci on de las especies, establecidas por Buon y Lamarck:
Buon, miembro de la Academia de Ciencias Francesa, inuenciado por la
obra Protogaea de Leibniz, que sugiere la posibilidad de la transformacion de
las especies, fue el primero en enfrentar seriamente las ideas evolucionistas
de su epoca; sin embargo, nunca propuso una explicacion razonable. Por
otro lado, Lamarck, discpulo de Buon propuso una explicacion concreta a
la evolucion; primero propone que la transmision de los caracteres adquiri-
dos es el causante de la evolucion, luego, expone que hay una tendencia a la
mayor complejidad en los animales y que esto es una ley natural, establecio
que se pueden producir nuevos organos resultado de una nueva necesidad, y
esta nueva caracterstica es transmitida a sus descendientes.
Posteriormente, Charles Darwin, propone la Teora Evolutiva donde es-
tablece que la seleccion natural es el mecanismo mas importante en el cambio
de las especies. Esto es, ante la variabilidad de los individuos, el efecto de
la lucha por la existencia sobre las probabilidades de sobrevivencia y re-
produccion no es al azar, sino selectivo, Los individuos mejor adaptados
al ambiente en el que viven seran los que tengan mayor probabilidad de
sobrevivir y dejar mas progenie. Darwin saba que los padres transmiten
sus caractersticas a los hijos; sin embargo, nunca comprendio este proceso,
fue George Mendel quien desarrollo la teora acerca de la transmision de
caracteres, donde propone que debido al cruzamiento, el nuevo ser recibe
caratersticas de ambos progenitores, donde ciertos caracteres son recesivos
y otros dominantes, los dominantes determinan la forma fsica, pero el re-
cesivo se encuentra en el material genetico. Ademas propone que la trans-
mision de caracteres es independiente una de otra. A principios del siglo
pasado surgio otra corriente de pensamiento que propona que los cambios
en los organismos se daban de forma s ubita, uno de los seguidores de esta
corriente fue Hugo de Vries, quien acu no el termino mutaciones a estos cam-
bios. Posteriormente, Ronald A. Fisher, John B. Haldane y Sewall Wright
llegaron a la conclusion de que las mutaciones peque nas eran mucho mas fre-
cuentes y tenan un efecto mucho mas importante que las macromutaciones.
Haba una posibilidad mayor de que las peque nas mutaciones se jaran mas
rapidamente en la poblacion si eran favorables.
Unicando estas teoras surge el Noedarwinismo que se basa en el cruza-
miento, competencia, mutaciones y seleccion natural. En dicho paradigma
se basan los Algoritmos Evolutivos, en particular los Geneticos. Para mayor
informacion ver [4] y [14].
CAP
ITULO 1. INTRODUCCI
ON A LOS AGS 3
1.1.2 Breve Historia del Desarrollo de la Genetica
La genetica estudia como las caractersticas de los organismos vivos se trans-
miten, se generan, se expresan y por que, a su vez, varan de generacion en
generacion.
Tiene sus races en el siglo XIX, la genetica surge con el monge austriaco
George Mendel (1822-1884). Hacia 1886, eran bien conocidos los trabajos
de Charles Darwin sobre el origen de las especies, la intenci on de Mendel
era demostrar experimentalmente el origen de las especies; logro generalizar
principios acerca de como se heredan los caracteres. Franz Unger, apoyaba
la idea de que las variedades aparecen en la naturaleza y que con el paso
del tiempo, solo algunas de ellas, se convierten en especies bien diferencia-
das. Los trabajos de Mendel no fueron comprendidos hasta 1900 cuando
tres artculos publicados hacen referencia a Mendel, as en este a no nace la
genetica; el mendelismo se expandio por Europa y America, en 1906 William
Bateson acu na el termino genetica.
Hacia nales del siglo XIX se estudiaron los cambios que ocurren en la
meiosis y su posible relacion con la herencia. Destacando Augusto Weismann,
aunque sus resultados fueron equivocados se nalo la importancia de relacionar
los cromosomas con la herencia de los caracteres, es decir, son los portadores
de los elementos hereditarios o genes. Posteriormente, en 1909, Johannsen
acu nara los terminos de gen, genotipo y fenotipo, este ultimo se reere a las
caracterirsticas que vemos, mientras que el genotipo se reere al conjunto
de todos los genes.
Thomas Hunt Morgan funda el Grupo de las Moscas, sus estudiantes
eran Alfred Henry Sturtevan, Herman Joseph Muller y Calvin Blackman
Bridges, esta escuela establecio que los genes forman parte de los cromosomas,
propuso que los genes ocupan lugares concretos en el cromosoma y que era
posible construir mapas geneticos, descubrio que puede haber distribuciones
anomalas de genes y esto altera los resultados obtenidos por Mendel y algunas
veces pueden ser letales.
Posteriormente se establecio la idea de que ciertos factores externos pue-
den producir efectos sobre los cromosomas sin lesionar el resto de la celula.
A esta nueva rama de la genetica se le conoce como mutagenesis. Muller
observo que era posible inducir las mutaciones y estudiar los genes mutados
y su estructura, tambien descubrio que estas carctersticas mutadas eran
heredables.
Hasta 1945 el gen era considerado como la unidad fundamental de la
CAP
ITULO 1. INTRODUCCI
ON A LOS AGS 4
herencia, pero poco se saba de su estructura y funcionamiento. George W.
Beadle y Edward L. Tatum establecieron en 1941 la relacion entre los genes
y las enzimas, observaron que los genes producen enzimas que act uan directa
o indirectamente en la cadena metabolica.
Por otro lado, el ADN fue descubierto en 1869 por Frieddrich Miescher,
pero hasta 1914 Robert Fuelgen logro visualizar el contenido del n ucleo, sin
embargo se descarto la posibilidad de que este fuera el material hereditario,
pues su composicion era sencilla; en 1944 Avery, Leod y Carty comprobaron
que el ADN es la molecula portadora de la informacion genetica. Gracias a
la aplicacion cristalografa de rayos X se pudo extraer la estructura tridimen-
sional del ADN. En 1961 Francis Crick encontr o como se traduce la infor-
macion contenida en las protenas dando como resultado el codigo genetico,
siendo hoy da muy importante en investigaciones cientcas.
1.2 Algoritmos Geneticos
En esta seccion veremos un poco del desarrollo historico de los Algoritmos
Geneticos, as como aspectos generales de los mismos. El material presentado
en el siguiente apartado fue tomado de [5].
1.2.1 Historia de la Computacion Evolutiva
En 1932, Cannon visualizo la evolucion natural como un proceso de apren-
dizaje. Alan Turing reconocio, en 1950, que debe haber una conexion entre
el aprendizaje de las maquinas y la evoluci on. Campbell conjeturo, en 1960,
que en los procesos de expansion del conocimiento, se involucra un proceso
de variacion y supervivencia selectiva. Los primeros intentos de aplicar de
manera formal la Teora de la Evolucion, a problemas practicos de inge-
niera, aparecio en las areas de control de procesos estadsticos, aprendizaje
de maquina y optimizacion de funciones. El primer intento serio se dio en
el trabajo que realizaron Box y sus colegas en 1957, en el desarrollo de una
tecnica que denominaron operacion evolutiva, la cual se aplico a una planta
de manufactura.
Friedberg intento, en 1958, hacer que un programa en lenguaje maquina
se mejorara a s mismo, seleccionando instrucciones que se asociaban mas
frecuentemente con un resultado exitoso. Aunque Friedberg nunca menciono
explcitamente estar simulando la evoluci on natural. Posteriormente, Bre-
CAP
ITULO 1. INTRODUCCI
ON A LOS AGS 5
mermann, en 1958, se enfoco mas a la optimizacion, advirtio que la mutaci on
jugaba un papel importante en la evoluci on, pues impeda el estancamiento
en mnimos locales. Baricelli, en 1954, realizo una de las primeras simula-
ciones que usaba principios evolutivos, con este trabajo, junto con el que
Reed realizo posteriormente en 1967, se concluyo que la cruza no pareca
mejorar la velocidad de la adaptacion selectiva, y el operador primordial era
la mutaci on. Fue Fogel el que introdujo la primera tecnica evolutiva que real-
mente funciono mas o menos dentro de los lineamientos actuales de la com-
putacion evolutiva. Fogel introdujo los importantes conceptos de poblacion
y seleccion; Solomono, enfatizo que el metodo de Fogel no deba verse como
algo util para resolver problemas, a excepcion de los mas simples posibles.
Otros investigadores como Holland, Kieras, Rada y Lenat compartieron esa
opinion.
Otra tecnica evolutiva se desarrollo en Alemania, en 1965, por Rechenberg
y Schwefel, llamada estrategia evolutiva para resolver problemas ingenieriles.
La estrategia evolutiva utiliza como operador principal a la mutaci on.
Aunque el australiano Fraser propuso, desde nes de los 50, un proce-
dimiento muy similar al que John Holland llamo planes evolutivos a nes de
los 60, es al segundo al que se le suele atribuir la creacion de la tecnica que
se conoce como algoritmo genetico, a raz de que Holland publicara el libro
Adaptation in Natural and Articial Systems en 1975. La principal diferencia
del algoritmo genetico con las tecnicas antes mencionadas, es que utiliza la
cruza como operador principal y a la mutacion como operador secundario. El
algoritmo genetico funciona como una caja negra que recibe ciertas entradas y
produce las salidas deseadas. Sin embargo, los algoritmos geneticos no necesi-
tan entrenarse con ejemplos de ning un tipo, sino que son capaces de generar
sus propios ejemplos y contra-ejemplos que guen la evoluci on a partir de
poblaciones iniciales totalmente aleatorias. Los mecanismos de seleccion del
mas apto y de reproduccion sexual del algoritmo genetico, son los encargados
de preservar las caractersticas mas adecuadas de cada individuo a n de hacer
converger a la poblacion en soluciones optimas. Los algoritmos geneticos se
distinguen tambien por no quedar atrapados facilmente en mnimos locales.
No obstante, no pueden garantizar encontrar siempre la solucion optima,
pero cuando se utilizan apropiadamente, pueden proporcionar soluciones muy
aceptables. Los algoritmos geneticos se han ido ganando poco a poco, el re-
conocimiento de los investigadores como una tecnica efectiva en problemas
de gran complejidad.
CAP
ITULO 1. INTRODUCCI
ON A LOS AGS 6
1.2.2 Algoritmos Evolutivos y Geneticos
Ahora veremos la denicion general de un Algoritmo Evolutivo, (tomada
de [3]), que como se menciono anteriormente, un Algoritmo Genetico es un
Algoritmo Evolutivo donde su principal funcion es el cruzamiento.
Denicion 1.2.1 Un Algoritmo Evolutivo (AE) es el conjunto
AE = {I, , , , s, i, , },
donde
1. I es el espacio de individuos
2. : I IR, asigna valores reales a los individuos y es una funcion de
aptitud.
3. es un conjunto de operadores probabilsticos, por ejemplo : I
2
I
es un operador sexual, esto es, se necesitan dos progenitores para
generar un nuevo individuo, con .
4. : I
, pasa a otro
espacio nuevamente con individuos, I
.
5. s : I
.
6. i : I
. La sucesion
P(0), P(1), P(2), ... es llamada poblacion sucesiva o evolucion si y solo
si
P(t + 1) = (P(t)) para todo t N.
A continuaci on se da el Algoritmo Genetico general, en forma de lenguaje
de programacion.
CAP
ITULO 1. INTRODUCCI
ON A LOS AGS 7
Algoritmo Genetico
Escoger una poblacion inicial
Calcular la aptitud de cada individuo
Seleccionar
Repetir
Cruzar
Mutar
Calcular la aptitud de los nuevos individuos
Seleccionar
Aplicar un criterio de paro
Para terminar este captulo se dan brevemente algunos conceptos que se
describieron en el campo de la biologa, pero ahora traspasados al ambiente
computacional.
Dado un problema a resolverse en Computacion Evolutiva, un cromo-
soma se representa con una estructura de datos que codica los parametros
de una posible solucion a dicho problema. Cada cromosoma corresponde
con un individuo, un gen es una subseccion del cromosoma. Por ello, el
genotipo corresponde a la codicacion del cromosoma y el fenotipo con
la decodicacion del mismo. Los alelos son los valores posibles que puede
tomar cada posicion genetica. La aptitud de un individuo es un valor que
se le asigna y que denota la calidad de este con respecto a los demas. Gene-
racion es la creacion de una nueva poblacion a partir de la existente.
Los operadores de produccion usados en la Computacion Evolutiva son
tres:
Cruza: Forma un nuevo individuo combinando lo cromosomas de los
padres.
Mutacion: Obtiene un nuevo cromosoma alterando los genes del cro-
mosoma padre.
Reordenamiento: Cambia el orden de los genes del cromosoma padre.
Ahora tenemos el conocimiento basico sobre Algoritmos Geneticos, en
el siguiente captulo obtendremos las nociones basicas sobre Cadenas de
Markov, para posteriormente demostrar la convergencia del Algoritmo Gene-
tico, modelando dicho algoritmo con una Cadena de Markov.
Captulo 2
Probabilidad y Cadenas de
Markov
Para estudiar la convergencia del Algoritmo Genetico necesitamos tener no-
ciones basicas de Cadenas de Markov, pero previo a estas necesitamos Teora
de Probabilidad. Los siguientes conceptos de Probabilidad pueden ser en-
contrados en [2], [6] y [8].
2.1 Probabilidad basica
2.1.1 Deniciones
Denicion 2.1.1 Sea un conjunto no vaco y una coleccion no vaca,
de subconjuntos de . Decimos que es una -algebra si
i) Si E entonces E
c
,
ii) Si {E
n
}
n=1
es una sucesion en , entonces
n=1
E
n
.
Ejemplo 2.1.2 Sea = R y sea A la familia de todos los intervalos abiertos
de la forma (a, b), donde (a, b) R. Entonces la algebra generada por A,
se llama la algebra de Borel sobre R y se denota por B(R)
Si B B(R), se dice que B es un conjunto de Borel en R.
Cualquier intervalo de la forma [a, b], (a, b], [a, b) es un conjunto de
Borel en R.
8
CAP
i=1
A
i
) =
i=1
(A
i
) donde A
i
A
j
= si i = j.
Denicion 2.1.5 La tercia (, , ), donde y estan dadas como en la
Denicion 2.1.3, y es una medida, se llama espacio de medida.
Denicion 2.1.6 Sea (, ) un espacio medible. Una medida de proba-
bilidad P sobre (, ) es una medida tal que P() = 1.
Denicion 2.1.7 Un espacio de probabilidad es una terna (, , P) que
consiste en un espacio medible (, ) junto con una medida de probabilidad
P sobre (, ).
Los conjuntos E se llaman eventos, es el espacio muestral y el
n umero P(E) se llama probabilidad de E. Observemos que , y a este
evento lo llamamos evento imposible, mientras que el espacio muestral
tambien esta en y se le denomina evento seguro.
En el siguiente teorema veremos alguna propiedades basicas de los espa-
cios de probabilidad.
Teorema 2.1.8 Sea (, , P) un espacio de probabilidad, entonces
i) Para cualquier evento E tenemos P(E
c
) = 1 P(E).
ii) Si E, F y E F entonces P(E) P(F).
iii) P(E F) = P(E) P(E F) para cualesquiera E, F .
iv) Si {E
i
}
i=1
, entonces P(
i=1
E
i
)
i=1
P(E
i
).
Demostracion
CAP
i=1
, construyamos la sucesion {F
i
}
i=1
como sigue
F
1
= E
1
F
2
= E
2
E
1
F
3
= E
3
2
_
i1
E
i
.
.
.
F
n
= E
n
n1
_
i1
E
i
CAP
n=1
, ademas
n=1
E
n
=
n=1
F
n
y F
i
E
i
para i = 1, 2, ... entonces por el inciso anterior
P(
_
i=1
E
i
) = P(
_
i=1
F
i
) =
i=1
P(F
i
)
i=1
P(E
i
)
as
P(
_
i=1
E
i
)
i=1
P(E
i
).
De las propiedades anteriores es facil observar que todo evento en un
espacio muestral tiene una probabilidad entre 0 y 1, es decir, si (, , P) es
un espacio de probabilidad y tomemos E entonces 0 P(E) 1.
2.1.2 Probabilidad Condicional e Independencia
En esta seccion consideremos un espacio de probabilidad (, , P).
Denicion 2.1.9 Si A y B son dos eventos, entonces la probabilidad condi-
cional del evento A dado que el evento B ha ocurrido se dene como:
P
B
(A) =
P(A B)
P(B)
si P(B) > 0. (2.1.1)
Si P(B) = 0, la probabilidad condicional no esta denida.
La probabilidad condicional P
B
(A) se interpreta como la probabilidad de
que ocurra el evento A cuando se sabe que el evento B ha ocurrido. Al evento
B se le llama evento condicionante.
Teorema 2.1.10 Sea B con P(B) > 0. Si para cada A denimos
P
B
(A) como en (2.1.1), entonces (, , P
B
) es un espacio de probabilidad.
Demostracion
Tenemos que demostrar que P
B
es una medida y que P() = 1. En
efecto:
i) Sabemos que P() = 0 por ser P una medida, entonces P
B
() =
P(B)
P(B)
=
P()
P(B)
=
0
P(B)
= 0.
CAP
i=1
tal que A
i
A
j
= si i = j, entonces
P
B
(
_
i=1
A
i
) =
P[(
i=1
A
i
) B]
P(B)
=
P[
i=1
(A
i
B)]
P(B)
=
i=1
P(A
i
B)
P(B)
=
i=1
P(A
i
B)
P(B)
=
i=1
P
B
(A
i
),
es decir, P
B
es una medida.
Por ultimo, vemos que es una medida de probabilidad, en efecto:
P
B
() =
P( B)
P(B)
=
P(B)
P(B)
= 1.
Por tanto, (, , P
B
) es un espacio de probabilidad.
En particular, observe que si A y B son ajenos entonces P
B
(A) = 0 pues
la ocurrencia de B no da informacion alguna sobre la ocurrencia de A.
Lema 2.1.11 Si B esta contenido en A y B ocurre entonces necesariamente
A ocurre, es decir P
B
(A) = 1.
Demostracion
Sabemos que B A entonces A B = B, por tanto
P
B
(A) =
P(A B)
P(B)
=
P(B)
P(B)
= 1.
Notacion: Escribimos P
B
(A) como P(A|B).
Ahora vemos que pasa cuando tenemos mas de dos eventos, para ellos
enunciaremos y demostraremos el siguiente teorema.
Teorema 2.1.12 (Teorema de la Multiplicacion) Para cualesquiera n even-
tos A
1
, A
2
, ..., A
n
para los cuales se tiene P(A
1
.... A
n1
) > 0, se verica
P(A
1
... A
n
) = P(A
1
)P(A
2
|A
1
)...P(A
k
|A
1
... A
k1
).
Demostracion
Por induccion: Para n = 2 se cumple por la Denicion 2.1.9.
Ahora supongamos que el resultado vale para n = k, esto es
P(A
1
... A
k
) = P(A
1
)P(A
2
|A
1
)...P(A
k
|A
1
... A
k1
).
CAP
k=1
B
k
= entonces
i) P(A) =
k=1
P(A B
k
) para todo A .
ii) Teorema de Probabilidad Total. Si P(B
k
) > 0 para todo k entonces
P(A) =
k=1
P(B
k
)P(A|B
k
) para todo A .
iii) Teorema de Bayes. P(B
k
|A) =
P(B
k
)P(A|B
k
)
n=1
P(B
n
)P(A|B
n
)
, para todo A tal
que P(A) > 0.
Demostracion
i) Sea A , entonces
A = A = A (
_
k=1
B
k
) =
_
k=1
(A B
k
)
como la sucesion {(A B
k
)} es ajena tenemos que
P(A) = P(
_
k=1
(A B
k
)) =
k=1
P(A B
k
).
ii) Sea A , supongamos P(B
k
) > 0 para toda k entonces tomemos la
probabilidad condicional
P(A|B
k
) =
P(A B
k
)
P(B
k
)
,
entonces
P(A B
k
) = P(B
k
)P(A|B
k
), (2.1.2)
de aqu
k=1
P(A B
k
) =
k=1
P(B
k
)P(A|B
k
)
CAP
k=1
P(B
k
)P(A|B
k
). (2.1.3)
iii) Por ultimo, de la denicion de probabilidad condicional
P(B
k
|A) =
P(B
k
A)
P(A)
,
por (2.1.2) tenemos que
P(B
k
|A) =
P(B
k
)P(A|B
k
)
P(A)
y nalmente, por (2.1.3) tenemos
P(B
k
|A) =
P(B
k
)P(A|B
k
)
n=1
P(B
n
)P(A|B
n
)
.
Ahora vemos la denicion de eventos independientes.
Denicion 2.1.14 Dos eventos A y B son independientes si P(AB) =
P(A)P(B).
Si A y B son independientes, entonces la ocurrencia de uno de estos
eventos no afecta la ocurrencia (o no ocurrencia) del otro.
En efecto: sean A y B independientes y P(B) > 0 entonces
P
B
(A) =
P(A B)
P(B)
=
P(A)P(B)
P(B)
= P(A).
Por otro lado, generalizando, sean {A
1
, A
2
, ..., A
n
}, se dice que los A
i
, con
i = 1, 2, ..., n son independientes si
P(A
1
... A
n
) =
n
i=1
P(A
i
).
En general, dada una coleccion arbitraria z = {A
t
: t I} de eventos de-
cimos que estos son independientes si y solo si A
t
1
, ..., A
tn
son independientes,
para un conjunto nito {t
1
, ..., t
n
} de ndices distintos de I.
CAP
n=1
una sucesion de n umeros reales tal que x
n
x. Tomemos
F
P
(x
n
) F
P
(x) = P(, x
n
] P(, x] = P(x
n
, x],
haciendo n y como x
n
x entonces P(x
n
, x] P() = 0, es
decir
lim
n
F
P
(x
n
) = F
P
(x).
iii) Tomemos
lim
x
F
P
(x) = lim
x
P(, x] = P() = 0
lim
x
F
P
(x) = lim
x
P(, x] = P() = 1.
Observacion 2.1.19 La funcion de distribucion de una variable aleatoria X
es una funcion de distribucion de probabilidad, y recprocamente, es decir, si
F es una funcion de distribucion de probabilidad, entonces existe un espacio
de probabilidad (, , P) y una variable aleatoria X : R tal que F
X
= F.
(Ver [6]).
Denicion 2.1.20 Se dice que una Variable Aleatoria X es Discreta
si solo toma un conjunto nito o innito numerable de valores distintos.
Denicion 2.1.21 Sea X una variable aleatoria con funcion de distribucion
F
X
. Se dice que X es una variable aleatoria continua si F
X
se puede escribir
en la forma
F
X
(x) =
_
x
XdP
si esta integral existe y es nita.
Tambien decimos que X L
1
(, , P).
Ejemplo 2.1.24 Sea X una variable aleatoria discreta con valores x
1
, x
2
,
... si se cumple que
i=1
|x
i
|P(X = x
i
) <
decimos que la esperanza E(X) de X es:
E(X) :=
i=1
x
i
P(X = x
i
)
donde P(X = x
i
) denota la probabilidad de que la variable aleatoria X tome
el valor de x
i
. (Ver [13, Captulo 4] y [6, pagina 57]).
A E(X) se le conoce como valor esperado, valor medio o la media de X.
Denicion 2.1.25 La Varianza de X se dene como
V ar(X) := E(X E(X))
2
de cualquier variable aleatoria.
Proposicion 2.1.26 Si X, Y son variables aleatorias y a, b son n umeros
reales entonces:
i) E(a) = a
ii) E(aX +b) = aE(X) + b
iii) E(X +Y ) = E(X) +E(Y ).
CAP
n
j=1
b
ij
= 1 para
cada i, es decir, las suma de cada una de sus las es 1.
d) B es primitiva si existe k entero positivo tal que B
k
> 0.
e) B es irreducible si para todo b
ij
existe k N tal que b
k
ij
> 0, donde b
k
ij
denota el elemento ij de la matriz B
k
.
f) B es reducible si no es irreducible.
Sea C
nn
una matriz estocastica:
g) C es diagonal positiva si cada elemento en su diagonal es positivo.
h) C es columna permisible si al menos tiene una componente positiva
en cada la.
i) C es estable si tiene las identicas.
Ahora analizaremos algunos resultados con este tipo de matrices.
Lema 2.2.2 B es una matriz reducible si y solo si se puede llevar, mediante
permutaciones de la y columna, a la forma:
_
C 0
R T
_
donde C y T son matrices cuadradas.
Demostracion ) Supongamos B
nn
reducible, es decir, B es no irre-
ducible, esto es existe al menos b
ij
tal que para todo k N tenemos b
k
ij
= 0.
En particular b
ij
= 0. Primero intercambiamos la la i por la primer la,
entonces en esta nueva matriz B
tenemos b
1j
= 0. Ahora intercambiamos
la columna j con la ultima, de donde, la nueva matriz B
tiene elemento
b
1n
= 0. Si hay otro elemento en B igual a cero, procedemos analogamente
hasta agrupar todos los ceros en una submatriz en la parte superior derecha.
Obteniendo as la forma
_
C 0
R T
_
.
CAP
=
_
C 0
R T
_
,
entonces al menos b
1n
= 0, esto es, B tiene un elemento nulo, digamos b
ij
= 0,
esto indica que B no es irreducible, en consecuencia B es reducible.
Lema 2.2.3 Sean A,B y C matrices estocasticas, donde B es positiva y C
es columna permisible, entonces el producto ABC es una matriz positiva.
Demostracion
Sea H = AB. Como A es no negativa, tenemos a
ij
0, pero por la
condicion de ser estocastica, existe al menos un elemento en cada la i tal
que 0 < a
ij
1.
Por otro lado, B es positiva, entonces b
ij
> 0 para todo i, j, entonces
h
ij
=
n
k=1
a
ik
b
kj
> 0
para todo i, j, es decir, H es positiva.
Consideremos M = HC. Como C es columna-permisible, entonces tiene
al menos un elemento positivo en cada columna, as
m
ij
=
n
k=1
h
ik
c
kj
> 0
para todo i, j. Por tanto, M = ABC es positiva.
Lema 2.2.4 Sean A, B y C matrices estocasticas, donde B es irreducible
y A, C son diagonal positivas. Entonces el producto ABC es una matriz
irreducible.
Demostracion
Por contradicci on. Sea H = ABC, entonces h
ij
=
n
k=1
n
r=1
a
ir
b
rk
c
kj
,
supongamos H reducible, entonces, por el Lema 2.2.2, necesariamente el
elemento h
1n
= 0, esto es
n
k=1
n
r=1
a
1r
b
rk
c
kn
= 0;
CAP
, sobre el conjunto de
clases de equivalencia, donde [u]T
es un orden parcial.
Demostracion
i) Transitividad. Sea [u]T
[v] y [v]T
[u],
v
[v] y w
[w], entonces u
Tv
y v
Tw
, como T es transitiva u
Tw
,
de donde armamos [u]T
[w].
ii) Antisimetra. Tomemos [u]T
[v] y [v]T
[u] y
v
[v], esto es u
Tv
y v
Tu
, es decir u
Rv
y v
es un orden parcial.
Denicion 2.3.7 Un elemento a de U es llamado minimal si aTx implica
xTa para todo x U.
Un elemento b de U es llamado maximal si xTb implica bTx para todo
x U.
Relaciones comunicantes. Si aTb decimos que a esta en contacto con
b, o a transmite un mensaje (directa o indirectamente) a b; si T es un orden
debil, entonces la relacion aTb y bTa es una relacion de equivalencia, y la
leemos como a se comunica con b. Esta relacion de equivalencia clasica a los
individuos; dos individuos estan en la misma clase si estan comunicados. Sean
[u] y [v] clases de equivalencia, decimos que [u]T
es un orden parcial.
En particular, [u] es minimal si sus miembros no pueden ser comunicados
con miembros de otra clase. En efecto: (por contradicci on), supongamos que
[u] es minimal y [u] = [v] tomemos u
[u] entonces u
Tv
para todo v
[v],
por otro lado, como [u] es minimal tenemos v
Tu
, esto es u
Rv
, por tanto
[u] = [v]. Contradicci on!!.
Por otro lado, [u] es maximal si sus miembros no pueden comunicarse a
miembros de ninguna otra clase. En efecto: (por contradiccion), supongamos
que [u] es maximal y que v
Tu
con v
Tv
, de donde tenemos v
Ru
j
p
ij
=
j
P(X
n
= j|X
n1
= i)
= P(
_
j
(X
n
= j|X
n1
= i))
= P()
= 1.
Una Cadena de Markov es un proceso que se mueve de un estado a otro.
Si en alg un tiempo esta en el estado i, entonces se mueve en un paso al
estado j, con probabilidad p
ij
. El vector de probabilidad inicial y la matriz
de transicion determinan completamente la Cadena de Markov, esto es, dado
un vector de probabilidad
0
y una matriz de transicion P existe una unica
Cadena de Markov con vector de probabilidad inicial
0
y matriz de transicion
P.
Denicion 2.4.7 Denimos la matriz de transicion en n pasos como
P
(n)
:= [p
ij
(n)],
con P
(0)
= I.
Ahora veamos un resultado muy util, el cual aplicaremos posteriormente.
Teorema 2.4.8 (Ecuacion de Chapman-Kolmogorov). Para cualquier n, m
N tenemos
p
ij
(n +m) =
kS
p
ik
(n)p
kj
(m)
para todo i, j en S.
CAP
kS
P(X
n
= k, X
n+m
= j|X
0
= i); (2.4.6)
por el Teorema de la Multiplicacion de Probabilidad Condicional tenemos
P(X
n
= k, X
n+m
= j|X
0
= i)
= P(X
n
= k|X
0
= i)P(X
n+m
= j|X
n
= k, X
0
= i)
= p
ik
(n)P(X
n+m
= j|X
n
= k)
= p
ik
(n)p
kj
(m),
usando la propiedad de Markov, ahora sustituyendo esto ultimo en la Ecuacion
(2.4.6) tenemos
p
ij
(n +m) =
kS
p
ik
(n)p
kj
(m).
Corolario 2.4.9 La matriz de transicion en n+m pasos es igual al producto
de la matriz de transicion en n pasos y la matriz de transicion en m pasos,
es decir:
P
(n+m)
= P
(n)
P
(m)
.
CAP
kS
p
ik
(n)p
kj
(m) = p
ij
(n +m),
as
P
(n)
P
(m)
= P
(n+m)
.
Corolario 2.4.10 La matriz de transicion en n pasos P
(n)
, se puede calcular
multiplicando la matriz de transicion P n veces consigo misma, es decir:
P
(n)
= P
n
.
Demostracion
Por induccion. Para n = 1 se cumple como consecuencia de las Deni-
ciones 2.4.2 y 2.4.3, esto es
P
(1)
= P. (2.4.7)
Ahora supongamos que
P
(n)
= P
n
(2.4.8)
y veamos que pasa para P
(n+1)
P
(n+1)
= P
(n)
P
(1)
por el Corolario 2.4.9
= P
n
P
(1)
= P
n
P por las Ecuaciones (2.4.8) y (2.4.7)
= P
n+1
por tanto, concluimos que
P
(n)
= P
n
para toda n N.
2.4.2 Clasicacion de Estados y Cadenas Absorbentes
Clasicaremos los estados de una Cadena de Markov en base a si es posible
ir de un estado dado i a otro estado dado j; esto es, si existe un paso n
tal que la probabilidad de ir del estado i al estado j es mayor que cero, es
decir, p
ij
(n) > 0. Decimos que i se comunica con j, cuando iT
j, como
en la Seccion 2.3, as los resultados de dicha seccion seran aplicables. En
particular, los estados son divididos en clases de equivalencia; dos estados
estan en la misma clase, si son comunicantes, es decir, si puedo ir de una
estado a otro y viceversa.
CAP
k=0
Q
k
.
Demostracion
Consideremos la identidad
(I Q) (I +Q+Q
2
+... +Q
k1
) = I Q
k
, (2.4.10)
la cual es facil de vericar haciendo la multiplicacion y aplicando operaciones
de matrices. Por el Lema 2.4.18 sabemos que Q
k
0 cuando k ,
entonces haciendo k el elemento de la derecha de (2.4.10) es I. Por
otro lado, sabemos que det I = 1, por consiguiente, det(I Q
k
) = 0 para k
sucientemente grande, entonces
det(I Q) det(I +Q+Q
2
+... +Q
k1
) = 0,
CAP
k=0
Q
k
= (I Q)
1
.
Denicion 2.4.20 Para una Cadena de Markov absorbente, denimos N :=
(I Q)
1
, N se llama Matriz Fundamental.
Ahora tenemos uno de los teoremas mas importantes para demostrar la
convergencia del Algoritmo Genetico.
Teorema 2.4.21 Sea P =
_
S 0
R Q
_
la forma canonica de la matriz de
transicion de una Cadena de Markov, entonces P
k
converge a la matriz
P
=
_
S
0
R
0
_
cuando k , donde S
y R
denotan S
k
y NRS
k
, cuando k ,
respectivamente.
Demostracion
Primero, veriquemos por inducion que
P
k
=
_
S
k
0
k1
i=0
Q
i
RS
k1i
Q
k
_
. (2.4.11)
As, para k = 2
P
2
= PP =
_
S 0
R Q
_ _
S 0
R Q
_
=
_
S
2
0
RS +QR Q
2
_
CAP
1
i=0
Q
i
RS
1i
Q
2
_
,
supongamos que (2.4.11) se cumple para k = n, es decir,
P
n
=
_
S
n
0
n1
i=0
Q
i
RS
n1i
Q
n
_
.
Ahora calculemos P
n+1
P
n+1
= P
n
P
=
_
S
n
0
n1
i=0
Q
i
RS
n1i
Q
n
_ _
S 0
R Q
_
=
_
S
n
S 0
(
n1
i=0
Q
i
RS
n1i
)S +Q
n
R Q
n
Q
_
=
_
S
n+1
0
n1
i=0
Q
i
RS
ni
+Q
n
RS
0
Q
n+1
_
=
_
S
n+1
0
n
i=0
Q
i
RS
ni
Q
n+1
_
.
Por tanto,
P
k
=
_
S
k
0
k1
i=0
Q
i
RS
k1i
Q
k
_
para todo k N.
Ahora si k , por el Lema 2.4.18, Q
k
0 y por el Teorema A.1.1
(Ver Apendice A), S
k
converge a una matriz S
, entonces
lim
k
P
k
=
_
S
0
lim
k
k1
i=0
Q
i
RS
k1i
0
_
.
Por ultimo veamos que pasa con lim
k
k1
i=0
Q
i
RS
k1i
. Tomemos
k1
i=0
Q
i
RS
k1i
=
k1
i=0
Q
i
RS
k1i
k1
i=0
Q
i
RS
+
k1
i=0
Q
i
RS
=
k1
i=0
Q
i
R(S
k1i
S
) +
k1
i=0
Q
i
RS
CAP
i=0
Q
i
R(S
k1i
S
) +
k1
i=0
Q
i
RS
i=0
Q
i
RS
=
_
i=0
Q
i
_
RS
,
por el Teorema 2.4.19 y la Denicion 2.4.20 sabemos que
_
i=0
Q
i
_
RS
NRS
.
As, cuando k tenemos
P
k
_
S
0
NRS
0
_
.
Captulo 3
Convergencia del AG
En este captulo nos enfocaremos en el Algoritmo Genetico Simple, por ello
cuando se diga Algoritmo Genetico, AG, dese por entendido tambien simple.
Veremos que, como en la Seleccion Natural, el individuo mejor adap-
tado transmite sus caractersticas int actas a la siguiente generacion del pro-
ceso evolutivo; los AG modelados de esta manera, llamados Elitistas o con
Elitismo (AGE), convergen al elemento optimo. Para este estudio el AG
se modela como una Cadena de Markov nita, todo esto basandonos en el
trabajo de G. Rudolph [7].
3.1 Algoritmo Genetico General
El AG es usado para resolver problemas de optimizacion del tipo
max{f(b)|b B
l
}
donde B
l
= {0, 1}
l
, es el conjunto de cadenas de 0 y 1 de longitud l y f(b)
es una funcion, llamada funcion de aptitud, tal que 0 < f(b) < .
El AG puede describirse como una Cadena de Markov, cuyo espacio de
estados S = B
N
, con N = ln, donde n es el n umero de individuos de la
poblacion y l es el n umero de genes; as cada i S corresponde con una
posible poblacion del AG. Observe que S = 2
nl
.
Los cambios probabilsticos de los genes son causados por operadores
geneticos, como se vio en el Captulo 1, y se representan por la matriz de
transicion P, esto es:
P = CMS
34
CAP
n
j=1
f(b
j
)
(3.1.1)
donde f es la funcion de aptitud. Observe que P(b
i
sea seleccionado) es
mayor que cero.
Por otro lado, trabajaremos con la mutaci on uniforme, esta es estocastica-
mente independiente, es decir, la ocurrencia de la mutacion de un gen de un
individuo no afecta la ocurrencia de la mutacion en otro gen del mismo
individuo, (ver Seccion 2.1.2), y ocurre con probabilidad p
m
(0, 1). Por
ejemplo: supongamos que el individuo b = (0, 0, 0, 0, 0) queremos mutarlo al
individuo b
i
) = p
H(b
i
,b
i
)
m
(1 p
m
)
lH(b
i
,b
i
)
(3.1.2)
donde l es la longitud de la cadena y H(b
i
, b
i
) es la distancia de Hamming
de b
i
a b
i
, denida a continuacion:
Denicion 3.1.1 Sean a = (a
1
, ..., a
l
) y b = (b
1
, ..., b
l
) en B
l
, la metrica
denida como
H(a, b) =
l
i=1
|a
i
b
i
|
es llamada Distancia de Hamming.
Observe que si b
i
= b
i
entonces P(b
i
b
i
) > 0.
Por otro lado, el operador cruza utilizado en este trabajo tiene una pro-
babilidad p
c
[0, 1].
Para simplicar notacion, denotaremos
k
(i) como el individuo k de la
poblacion i, dentro de la Cadena de Markov y f(
k
(i)) representa la aptitud
del individuo
k
(i), esta notacion sera usada a continuaci on.
Ahora veremos una propiedad muy importante de la matriz P.
CAP
n
k=1
f(
k
(i)))
n
si
k
(j) {
r
(i)|r = 1, ..., n} para toda k = 1, ..., n
0
por tanto
s
ii
=
n
k=1
f(
k
(i))
(
n
k=1
f(
k
(i)))
n
,
de donde s
ii
> 0. Por consiguiente S es diagonal positiva, particularmente
es columna permisible.
Entonces, el producto de la matrices CMS cumple las hipotesis 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 optimo global si genera una sucesion cuyo valor lmite es el
optimo global. En seguida damos la denicion formal que utilizaremos para
demostrar la convergencia o no de un AG. Para ello denimos a
t
k
(i) como
el individuo k de la poblacion i en t pasos.
CAP
) = 1,
donde f
= max{f(b)|b B
l
}.
La denicion anterior nos indica que la sucesion {Z
t
} converge con pro-
babilidad 1 a f
.
El siguiente teorema demuestra que P no converge al elemento optimo.
Teorema 3.1.4 El AG con matriz de transicion primitiva no converge al
optimo global.
Demostracion
Sea f
y p
i
(t) la probabilidad de que el
AG este en tal estado i en el tiempo t. Observe que P(Z
t
= f
) p
i
(t) y
eso sucede si y solo si P(Z
t
= f
) 1 p
i
(t).
Por otro lado, sabemos que p
i
(t) es una componente de la P
(t)
y P
(t)
= P
t
,
ademas por el Teorema 3.1.2, P es primitiva , de donde, por el Teorema A.1.1
sabemos que si t entonces p
i
(t) p, con p > 0.
Por tanto, tenemos
lim
t
P(Z
t
= f
) 1 p < 1
as, no se satisface la condicion de la Dencion 3.1.3 y P no converge a un
estado optimo.
3.2 Algoritmo Genetico Elitista
Como se menciono anteriormente, en la naturaleza, el proceso de evoluci on
mantiene las caractersticas del individuo mejor adapatado hasta el momento;
por ello, modelamos de esta forma al AG. Agregamos a la poblacion del AG
un super individuo que no tomara parte en la aplicacion del algoritmo y por
facilidad sera colocado en la primera posicion de la izquierda. A este tipo de
algoritmo lo llamamos Algoritmo Genetico Elitista (AGE).
CAP
, M
y S
, respectivamente, donde C
, M
y S
son matrices
diagonales por bloques, es decir:
C
=
_
_
C
C
.
.
.
C
_
_
, M
=
_
_
M
M
.
.
.
M
_
_
,
S
=
_
_
S
S
.
.
.
S
_
_
donde C, M y S son matrices cuadradas de dimension 2
nl
2
nl
como en la
seccion anterior; y C
, M
y S
tienen 2
l
matrices, una por cada posicion
original del super individuo y en la diagonal porque si tuvieramos alguna
entrada, diferente de cero, fuera de esta implicara que el super individuo
pasa a otro estado y contradice la hipotesis de que no toma parte en el
proceso evolutivo. Los espacios vacos denotan matrices cero.
Multiplicando tenemos
C
=
_
_
C
C
.
.
.
C
_
_
_
_
M
M
.
.
.
M
_
_
_
_
S
S
.
.
.
S
_
_
=
_
_
CMS
CMS
.
.
.
CMS
_
_
=
_
_
P
P
.
.
.
P
_
_
,
CAP
_
E
11
E
21
E
22
.
.
.
E
2
l
1
E
2
l
2
E
2
l
2
l
_
_
,
donde E esta de forma ordenada, es decir, las poblaciones estan aco-
modadas de manera descendente de acuerdo a la calidad de su super in-
dividuo.
As, E
11
representa las poblaciones que tienen como super individuo al
elemento optimo, es decir
E
11
= I. (3.2.3)
En E cada la de bloques i representa las probabilidades de transicion
de todas las posibles poblaciones pero con el i-esimo mejor individuo como
CAP
y E, esto es:
P
=
_
_
P
P
.
.
.
P
_
_
_
_
E
11
E
21
E
22
.
.
.
E
2
l
1
E
2
l
2
E
2
l
2
l
_
_
=
_
_
PE
11
PE
21
PE
22
.
.
.
PE
2
l
1
PE
2
l
2
PE
2
l
2
l
_
_
.
Si denimos R :=
_
_
PE
21
.
.
.
PE
2
l
1
_
_
, T :=
_
_
PE
22
.
.
.
PE
2
l
2
PE
2
l
2
l
_
_
y observando
que PE
11
= P (por (3.2.3)), entonces podemos escribir a la matriz P
de la
siguiente manera
P
=
_
P 0
R T
_
, (3.2.4)
siendo as reducible.
Teorema 3.2.1 El AGE converge al optimo global.
Demostracion Sea P
converge
al optimo.
Captulo 4
Calculos Numericos
En este captulo, nos olvidaremos un poco de la parte formal del Algo-
ritmo Genetico Simple, para enfocarnos en aspectos practicos. En la primera
seccion, hablaremos un poco de algunos tipos de operadores geneticos, as
como el codigo que implementamos con ayuda del paquete Mathematica (Ver
[16]). En la segunda y ultima seccion, se realizaran algunos experimentos,
con los antes mencionados programas; para as, ver el comportamiento y
similitudes del AG bajo cambio de operadores.
4.1 Implementacion Computacional
Como podemos suponer, los operadores evolutivos o geneticos (cruzamiento,
mutaci on y seleccion) pueden ser muy variados; por ejemplo, en el cruza-
miento combinamos los genes de dos o mas individuos, sin embargo, pode-
mos tener dos o mas tipos de cruzas con el mismo conjunto de individuos,
veamos un ejemplo: Sean I
1
= {0, 0, 0, 0} y I
2
= {1, 1, 1, 1}, al cruzarlos com-
binando la primera y segunda mitad correspondiente obtenemos {0, 0, 1, 1},
pero el individuo {1, 0, 1, 0} tambien puede ser hijo de I
1
y I
2
bajo el tipo
de cruza que toma un gen de cada individuo y los combina. Por otro lado,
en el operador mutacion sabemos que el proceso es aleatorio, pero la varia-
bilidad depende de cuantos individuos pueden o deben mutar? y cuantos
genes de este mutaran? En el operador seleccion es claro que siempre se selec-
cionara de acuerdo a la aptitud, pero cuantos seleccionar de cada poblacion?
As podemos enfrentarnos con muchas dudas sobre como inuyen los opera-
dores geneticos en la convergencia o rapidez de convergencia del Algoritmo
41
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 42
Genetico Simple.
Lo anterior nos hace pensar que tenemos mucho campo para experimen-
tar computacionalmente. En este caso, mantendremos jos los operadores
cruzamiento y mutacion, haciendo algunos ligeros cambios en la seleccion de
individuos.
Como se menciono, se utilizara el paquete Mathematica para implementar
el Algoritmo Genetico; as, para describir las funciones utilizadas para los
experimentos llamaremos individuo de dimension m a una lista de 0s y 1s
con m componentes, por ejemplo: un individuo de dimension 3 es {0, 1, 0} o
{1, 1, 0}; un gen es una de las entradas de dicho individuo; y una poblacion
es una lista de individuos; esto es, {{0, 1}, {1, 0}, {0, 0}} es una poblacion de
individuos de dos genes.
Ahora se describira, brevemente, lo que hace cada funcion utilizada,
seguida por el codigo con la sintaxis correspondiente para ejecutarlas en
Mathematica.
1. POBLACI
ON 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,2k0}, {i0, 1,
2}];
c0 = Flatten[c1, 1];
k0 = k0 + 1;
];
Clear[k0, c1];
c0
]
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 43
2. POBLACI
ON 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
]
3. CRUZAMIENTO. El operador cross1[lis, p0] requiere una poblacion
lis, de la cual escoge aleatoriamente dos individuos siempre diferentes y gen-
era un nuevo individuo poniendo la mitad de los genes de uno y la mitad
del otro (para el caso de que los individuos tengan longitud par), en caso
contrario en uno toma la parte entera de la longitud entre dos y del otro
el resto. Realizara este proceso hasta generar p0 nuevos individuos, observe
que un individuo puede ser padre de varios hijos de la siguiente generacion
y puede haber hijos iguales pero con padres distintos.
CRUZAMIENTO
cross1[lis , p0 ] :=
Module[{lis1 = lis, lisnueva, p0t = p0, lisnu11, a00, b0, l0, r1, r2, lis2,
e1, e2, j0, e},
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 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
]
4. MUTACI
ITULO 4. C
ALCULOS NUM
ERICOS 45
MUTACI
ON
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
]
5. FUNCI
ITULO 4. C
ALCULOS NUM
ERICOS 46
FUNCI
ON DE APTITUD
tness[in ] :=
Module[{in1 = in, func, lo, inaux},
lo = Count[in1, x ];
inaux = Table[1, {lo}];
func = ((5 inaux).in1) + 1;
Clear[lo, inaux];
func
]
6. POBLACI
ON 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 = tness[in1];
aux2 = tness[in2];
If[aux1 > aux2,
lisoo = {in1, in2},
lisoo = {in2, in1};
];
i = 3;
While[i < lo + 1,
ini = Part[lis1, i];
auxi = tness[ini];
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 47
j = 1;
While[j < i,
injj = Part[lisoo, j];
auxjj = tness[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
]
7. SELECCI
ON
selec[lis , el ] :=
Module[{lis1 = lis, el1 = el, lisorr, lisorpar, listan},
lisorr = listopt[lis1];
lisorpar = Partition[lisorr, el1];
listan = First[lisorpar];
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 48
listan
]
8. GEN
ETICO1
genetico1[l , p ] :=
Module[{li = l, pa = p, pt, tpm, pin, i, lc, lm, poi, psi, auxi},
pt = chain[li];
tpm = Quotient[2li, 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
ITULO 4. C
ALCULOS NUM
ERICOS 49
];
Print[Paso: , i - 1, Poblacion total: , auxi];
]
9. GEN
ETICO003
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[(2lo)*porcenta];
pin = ranlist[pt, tpm];
i = 1;
While[i <pa + 1,
lc = cross1[pin, 2lo];
lm = muta[lc];
psi = selec[lm, tpm];
auxi = listopt[lm];
pin = psi;
i = i + 1;
];
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 50
Print[Paso: , i - 1, Poblacion total: , auxi];
]
10. GEN
ETICO0004
genetico0004[l , por , del1 ] :=
Module[{li = l, del = del1, eo, feo, pt, tm, porcc = por, porcenta, pin,
e1, fe1, lc, lm, pis, c},
eo = Table[1, {li}];
feo = tness[eo];
pt = chain[li];
porcenta = porcc/100;
tm = Round[(2li)*porcenta];
pin = ranlist[pt, tm];
e1 = First[pin];
fe1 = tness[e1];
c = 0;
While[Abs[fe1 - feo] > del,
lc = cross1[pin, tm];
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 51
lm = muta[lc];
pis = selec[lm, tm];
pin = pis;
e1 = First[pin];
fe1 = tness[e1];
c = c + 1;
];
Print[Paso: , c];
]
11. GEN
ETICO02
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 = tness[eo];
pt = chain[li];
tpm = Quotient[2li, 2];
pin = ranlist[pt, tpm];
e1 = First[pin];
fe1 = tness[e1];
c = 0;
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 52
While[Abs[fe1 - feo] > del,
lc = cross1[pin, tpm];
lm = muta[lc];
poi = Join[lm, pin];
pis = selec[poi, tpm];
pin = pis;
e1 = First[pin];
fe1 = tness[e1];
c = c + 1;
];
Print[Paso: , c];
]
4.2 Resultados Numericos
En esta ultima seccion utilizaremos las funciones anteriores para hacer una
comparacion practica entre la convergencia del Algoritmo Genetico Simple
cambiando un poco el operador seleccion.
Primero, se corrieron los programas genetico02 y genetico0004 para pobla-
ciones de individuos de longitud 2 a 12, siempre con un error de 0.2, re-
gistrando en la Tabla 1 el n umero de generacion en la cual existe al menos
un individuo optimo. As, la primer columna es la longitud de los individ-
uos; la segunda, corresponde a los experimentos con genetico02, que como
sabemos tiene elitismo; en las siguientes cinco se uso genetico0004 con un
porcentaje de muestra de 10%, 20%, 50%, 70% y 90%, respectivamente. (Los
guiones en las primeras las de las columnas del 10% y 20% indican que el
programa no pudo correr adecuadamente debido a lo peque no de la poblacion
total y este porcentaje es menor a un individuo). Con una simple observaci on
podemos notar que el algoritmo con elitismo llega mucho mas pronto a una
poblacion con al menos un individuo optimo; al igual que el que toma como
muestra el 90% de la poblacion, en contraste con el algoritmo que toma 10%
de la poblacion. As, podemos concluir que el porcentaje de muestra a inter-
actuar en el proceso evolutivo inuye fuertemente en la rapidez de encontrar
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 53
un individuo optimo. Recuerde que el algoritmo sin elitismo no converge, sin
embargo, es posible encontrar individuos optimos en la poblacion.
longitud Elitismo 10% 20% 50% 70% 90%
2 5 21 14 1
3 1 12 9 2 2
4 2 14 89 32 8 1
5 2 28 6 23 1 183
6 1 510 4 1570 4 2
7 1 2941 1266 5 3 1
8 2 43 6 6855 2 4
9 2 4101 768 1 1 1
10 1 2 1 3 1 1
11 1 10 882 2 4 1
12 1 3 4 2 4 3
Tabla 1
En la Tabla 2 lo que registra es el n umero de individuos optimos en la
decima generacion, esto se hizo corriendo los programas genetico1 y genetico
0003 con una condicion de paro de 10 pasos. La primera columna indica la
longitud de los individuos; la segunda, indica cuantos individuos hay en total
en cada generacion; la columna que tiene como encabezado Elitismo se reere
al programa genetico1; en las siguientes se uso genetico0003 con el respectivo
porcentaje de muestra. (Los guiones indican nuevamente que el sistema no
pudo correr debido a que el porcentaje indicado es menor a un individuo).
En este caso, observamos que entre mayor sea el porcentaje de individuos
que intervienen en el proceso evolutivo es menor el n umero de individuos
optimos en la poblacion debido a que los operadores geneticos se realizan
entre muchos individuos no optimos.
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 54
longitud total Elitismo 10% 20% 50% 70% 90%
2 4 4 3 3 0
3 8 7 0 5 7 7
4 16 16 16 16 15 15 2
5 32 32 32 0 31 31 1
6 64 63 63 64 63 24 3
7 128 127 0 127 128 83 0
8 256 256 256 256 255 207 7
9 512 512 512 512 511 163 5
10 1024 1024 1024 1023 1024 500 6
11 2048 2047 2047 2047 2048 452 1
12 4096 4095 4096 4096 4096 586 21
Tabla 2
En la Tabla 3 solo queremos comparar el algoritmo genetico con y sin
elitismo. Como vimos en las tablas anteriores el porcentaje de la muestra
inuye fuertemente en el algoritmo genetico, as que en el siguiente exper-
imento para el algoritmo genetico sin elitismo tomaremos una muestra del
50% para tratar de equilibrar la rapidez de encontrar un elemento optimo,
pero tambien tratar de que no haya un solo optimo en esta poblacion. As,
lo que se hizo fue correr 20 veces genetico02 y genetico0004 para individuos
de longitud 8 y un margen de error de 0.5, para ver que tanta diferencia hay
entre el algoritmo con elitismo y sin elitismo. Observando la Tabla 3 vemos
que en la mayora de veces el algoritmo elitista converge con mayor rapidez,
como era de esperarse; aunque se demostro que el algoritmo sin elitismo no
converge, aqu estamos solo calculando la generacion donde se encuentra un
individuo optimo, sin embargo, este no siempre seguira en la poblacion de
las siguientes generaciones.
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 55
Elitismo Sin elitismo
1 2 2
2 1 1
3 1 2
4 1 1
5 1 7
6 1 1
7 1 7
8 1 15
9 2 1
10 1 3
11 1 5
12 1 1
13 1 315
14 1 1
15 3 7265
16 1 2
17 1 2
18 3 1
19 1 5
20 1 952
Tabla 3
Por ultimo se hicieron modicaciones a genetico0004 y a genetico02 para
que desplieguen en pantalla la poblacion de muestra inicial y la muestra
seleccionada en la generacion donde existe al menos un individuo optimo y
aqu mostramos dichos experimentos.
genetico0004[6, 50, .2]
Poblacion de muestra inicial:
{ 1,1,1,1,1,0} ,{ 1,1,1,1,1,0} ,{ 1,1,0,0,1,1} ,{ 0,1,1,0,1,1} ,{ 1,1,0,1,0,1} ,
{ 1,0,1,0,1,1} ,{ 0,1,1,1,1,0} ,{ 0,1,1,0,0,1} , { 1,1,0,0,1,0} ,{ 1,0,1,0,1,0} ,
{ 1,0,0,1,0,1} ,{ 0,1,1,1,0,0} ,{ 1,0,1,1,0,0} , { 0,1,1,0,1,0} ,{ 0,0,1,1,0,1} ,
{ 0,1,1,0,1,0} ,{ 0,1,0,0,1,1} ,{ 1,0,0,1,0,1} , { 1,1,0,1,0,0} ,{ 0,1,1,0,0,1} ,
{ 1,1,1,0,0,0} ,{ 0,1,1,0,0,1} ,{ 0,1,0,0,1,0} , { 0,0,1,0,1,0} ,{ 0,0,1,1,0,0} ,
{ 0,0,1,0,1,0} ,{ 0,0,1,0,1,0} ,{ 0,1,0,1,0,0} , { 0,0,0,1,1,0} ,{ 0,0,1,0,1,0} ,
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 56
{ 0,1,0,0,1,0} ,{ 0,0,0,0,0,1}
Poblacion 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]
Poblacion de muestra inicial:
{ 0,1,1,1,1,1} ,{ 0,1,1,1,1,1} ,{ 0,1,0,1,1,1} , { 0,1,0,1,1,1} ,{ 1,1,1,1,0,0} ,
{ 1,1,0,0,1,1} ,{ 0,1,1,1,0,1} ,{ 1,0,0,1,1,1} , { 0,1,1,0,1,1} ,{ 0,1,1,1,1,0} ,
{ 1,1,0,0,1,1} ,{ 1,0,1,1,0,1} ,{ 1,1,1,1,0,0} , { 0,1,1,0,0,1} ,{ 1,1,0,0,0,1} ,
{ 1,0,1,0,0,1} ,{ 1,1,1,0,0,0} ,{ 1,0,1,1,0,0} , { 0,0,1,0,1,1} ,{ 0,1,1,0,0,1} ,
{ 0,1,1,0,0,1} ,{ 1,1,0,0,0,0} ,{ 0,0,1,0,1,0} , { 0,0,0,1,0,1} ,{ 0,0,1,1,0,0} ,
{ 0,0,0,0,1,1} ,{ 0,1,1,0,0,0} ,{ 0,1,0,0,1,0} , { 0,0,1,0,1,0} ,{ 0,1,1,0,0,0} ,
{ 0,1,0,0,0,0} ,{ 1,0,0,0,0,0}
Poblacion seleccionada en el paso 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,0,1,1,1} ,{ 0,1,0,1,1,1} ,{ 1,1,1,1,0,0} , { 1,1,0,0,1,1} ,{ 0,1,1,1,0,1} ,
{ 1,0,0,1,1,1} ,{ 0,1,1,0,1,1} ,{ 0,1,1,1,1,0} , { 1,1,0,0,1,1} ,{ 1,0,1,1,0,1} ,
{ 1,1,1,1,0,0} ,{ 1,1,0,1,0,1} ,{ 0,1,1,0,1,1} , { 1,1,1,0,0,1} ,{ 1,0,1,0,1,1} ,
{ 1,1,0,0,1,1} ,{ 1,1,1,1,0,0} ,{ 1,1,1,1,0,0} , { 0,1,1,0,1,1} ,{ 0,1,1,1,0,1} ,
{ 0,1,1,0,0,1} ,{ 1,1,0,0,0,1} ,{ 1,0,1,0,0,1} , { 1,1,1,0,0,0} ,{ 1,0,1,1,0,0} ,
{ 0,0,1,0,1,1} ,{ 0,1,1,0,0,1}
genetico0004[6, 50, .2]
Poblacion de muestra inicial:
{ 1,1,1,1,0,1} ,{ 1,1,0,1,1,1} ,{ 0,1,0,1,1,1} , { 1,1,1,0,0,1} ,{ 1,0,1,0,1,1} ,
{ 1,0,1,1,1,0} ,{ 1,0,0,1,1,1} ,{ 1,1,1,1,0,0} , { 0,1,1,1,1,0} ,{ 1,0,1,1,1,0} ,
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 57
{ 0,1,1,1,0,1} ,{ 0,0,1,1,1,1} ,{ 1,0,1,1,1,0} , { 1,0,0,1,0,1} ,{ 1,0,0,1,1,0} ,
{ 0,1,0,1,0,1} ,{ 1,0,1,0,1,0} ,{ 1,0,0,1,1,0} , { 0,0,1,1,1,0} ,{ 0,0,1,0,1,1} ,
{ 0,1,1,0,0,1} ,{ 0,1,0,1,1,0} ,{ 0,0,0,0,1,1} , { 0,1,1,0,0,0} ,{ 0,0,0,1,1,0} ,
{ 1,1,0,0,0,0} ,{ 0,0,1,1,0,0} ,{ 0,1,1,0,0,0} , { 0,0,0,1,1,0} ,{ 0,0,0,0,0,1} ,
{ 0,0,1,0,0,0} ,{ 0,0,0,0,1,0}
Poblacion seleccionada en el paso 62:
{ 1,1,1,1,1,1} ,{ 0,1,1,1,1,1} ,{ 1,0,1,1,1,1} , { 1,0,1,1,1,1} ,{ 0,1,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,0,1,1,1,1} , { 0,1,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 0,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} ,{ 0,1,1,1,1,1} ,{ 0,1,1,1,1,1} , { 1,0,1,1,1,1} ,{ 0,0,1,1,1,1} ,
{ 0,0,1,1,1,1} ,{ 0,1,1,0,1,1} ,{ 0,0,1,1,1,1} , { 0,0,1,1,1,1} ,{ 0,1,1,0,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,0,1,1,1} ,
{ 0,0,0,1,1,1} ,{ 0,0,0,0,1,1}
genetico02[6, .2]
Poblacion de muestra inicial:
{ 0,1,1,1,1,1} ,{ 1,1,1,0,1,1} ,{ 1,1,0,1,1,1} , { 1,0,1,1,1,0} ,{ 1,0,1,0,1,1} ,
{ 1,1,0,0,1,1} ,{ 0,1,1,0,1,1} ,{ 1,1,1,0,0,1} , { 0,1,1,1,0,1} ,{ 1,1,0,1,0,1} ,
{ 1,0,1,0,1,1} ,{ 1,1,0,1,0,1} ,{ 0,0,0,1,1,1} , { 0,0,1,1,0,1} ,{ 1,0,0,1,1,0} ,
{ 0,0,1,1,1,0} ,{ 1,1,0,0,1,0} ,{ 1,0,1,0,1,0} , { 0,1,1,1,0,0} ,{ 1,1,1,0,0,0} ,
{ 1,1,0,0,1,0} ,{ 1,0,0,1,0,1} ,{ 1,0,0,0,1,1} , { 0,0,1,0,1,1} ,{ 0,0,0,1,0,1} ,
{ 1,1,0,0,0,0} ,{ 1,0,1,0,0,0} ,{ 0,1,0,1,0,0} , { 1,0,0,0,1,0} ,{ 0,1,0,0,0,1} ,
{ 0,0,0,0,0,1} ,{ 0,0,0,0,0,0}
Poblacion seleccionada en el paso 2:
{ 1,1,1,1,1,1} ,{ 1,1,1,1,1,1} ,{ 1,1,1,1,0,1} , { 1,1,1,0,1,1} ,{ 1,0,1,1,1,1} ,
{ 1,1,0,1,1,1} ,{ 1,1,1,0,1,1} ,{ 0,1,1,1,1,1} , { 1,0,1,1,1,1} ,{ 1,1,1,1,0,1} ,
{ 1,1,1,1,0,1} ,{ 1,1,1,1,1,0} ,{ 1,1,0,1,0,1} , { 1,0,1,1,0,1} ,{ 1,0,1,1,0,1} ,
{ 1,1,0,1,0,1} ,{ 1,0,1,0,1,1} ,{ 1,0,1,0,1,1} , { 1,0,1,1,0,1} ,{ 1,1,0,0,1,1} ,
{ 1,0,1,0,1,1} ,{ 1,1,0,1,0,1} ,{ 1,1,0,1,0,1} , { 0,1,1,1,0,1} ,{ 0,0,1,1,1,1} ,
{ 1,1,0,1,0,1} ,{ 1,0,1,0,1,1} ,{ 1,1,0,1,0,1} , { 0,1,1,1,0,1} ,{ 1,1,1,0,0,1} ,
{ 0,1,1,0,1,1} ,{ 1,1,0,0,1,1}
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 58
genetico0004[6, 50, .2]
Poblacion de muestra inicial:
{ 1,1,1,1,0,1} ,{ 1,1,1,1,1,0} ,{ 1,1,0,1,1,1} , { 1,1,0,0,1,1} ,{ 1,1,1,0,1,0} ,
{ 0,1,0,1,1,1} ,{ 0,1,0,1,0,1} ,{ 0,1,1,0,1,0} , { 1,1,0,1,0,0} ,{ 0,0,1,0,1,1} ,
{ 0,1,1,0,0,1} ,{ 0,0,0,1,1,1} ,{ 0,0,0,1,1,1} , { 1,1,0,1,0,0} ,{ 1,0,0,1,0,1} ,
{ 0,1,1,0,1,0} ,{ 1,0,0,0,1,0} ,{ 1,0,0,0,0,1} , { 0,0,0,0,1,1} ,{ 0,0,0,1,0,1} ,
{ 0,0,0,1,0,1} ,{ 1,0,0,0,0,1} ,{ 1,0,0,0,1,0} , { 1,0,0,1,0,0} ,{ 1,0,0,0,1,0} ,
{ 0,0,0,1,0,0} ,{ 0,1,0,0,0,0} ,{ 0,1,0,0,0,0} , { 0,0,0,0,0,1} ,{ 0,0,1,0,0,0} ,
{ 1,0,0,0,0,0} ,{ 0,0,0,1,0,0}
Poblacion seleccionada en el paso 1:
{ 1,1,1,1,1,1} ,{ 1,1,0,1,1,1},{ 0,1,1,0,1,1} , { 0,1,1,1,0,1} ,{ 0,1,1,0,1,1} ,
{ 1,0,0,1,1,1} ,{ 0,1,0,1,1,1} ,{ 0,1,0,1,1,1} , { 1,0,0,1,0,1} ,{ 0,1,0,1,0,1} ,
{ 0,1,1,0,1,0} ,{ 1,1,1,0,0,0} ,{ 1,1,0,0,1,0} , { 1,0,0,1,0,1} ,{ 1,0,0,0,1,1} ,
{ 0,1,0,1,0,1} ,{ 1,1,0,0,1,0} ,{ 1,0,0,1,0,1} , { 0,1,1,0,0,0} ,{ 0,1,0,1,0,0} ,
{ 0,0,0,0,1,1} ,{ 0,0,0,1,0,1} ,{ 0,1,0,0,0,1} , { 1,0,0,1,0,0} ,{ 0,0,0,0,0,1} ,
{ 0,0,0,1,0,0} ,{ 0,0,0,0,1,0} ,{ 1,0,0,0,0,0} , { 1,0,0,0,0,0} ,{ 0,0,0,0,0,1} ,
{ 0,0,0,0,0,0} ,{ 0,0,0,0,0,0}
genetico02[6, .2]
Poblacion de muestra inicial
{ 1,1,1,1,1,0} ,{ 1,1,0,1,1,1} ,{ 1,1,1,0,1,1} , { 1,1,0,1,1,1} ,{ 1,1,1,0,0,1} ,
{ 0,1,1,0,1,1} ,{ 1,1,1,1,0,0} ,{ 1,1,0,1,0,1} , { 0,0,1,1,1,1} ,{ 1,0,1,1,0,1} ,
{ 0,0,1,1,0,1} ,{ 0,1,1,1,0,0} ,{ 1,0,1,0,1,0} , { 0,1,0,0,1,1} ,{ 1,0,0,1,1,0} ,
{ 1,0,1,0,1,0} ,{ 1,0,0,1,0,1} ,{ 0,1,0,0,1,1} , { 1,0,1,0,0,1} ,{ 0,0,1,0,1,1} ,
{ 0,0,0,1,1,1} ,{ 1,0,1,0,1,0} ,{ 0,1,0,1,0,0} , { 0,0,1,0,1,0} ,{ 0,0,1,1,0,0} ,
{ 0,1,0,1,0,0} ,{ 0,1,1,0,0,0} ,{ 0,0,0,0,1,1} , { 0,0,0,0,0,1} ,{ 1,0,0,0,0,0} ,
{ 0,0,1,0,0,0} ,{ 0,0,0,0,0,0}
Poblacion seleccionada en el paso 3:
{ 1,1,1,1,1,1} ,{ 1,1,1,1,1,1} ,{ 1,1,1,1,1,1} , { 1,1,1,1,1,1} ,{ 1,1,1,1,1,1} ,
{ 1,1,0,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,0,1,1,1} ,{ 1,0,1,1,1,1} ,{ 1,1,1,1,1,0} , { 1,1,0,1,1,1} ,{ 1,1,1,0,1,1} ,
{ 1,1,0,1,1,1} ,{ 1,1,1,0,1,1} ,{ 1,1,0,1,1,1} , { 1,1,1,1,0,1} ,{ 1,0,1,1,1,1} ,
{ 1,1,1,0,1,1} ,{ 1,1,1,0,1,1} ,{ 1,1,1,1,1,0} , { 1,0,1,1,1,1} ,{ 1,1,1,0,1,1} ,
{ 1,1,0,1,1,1} ,{ 1,1,1,1,0,1} ,{ 1,0,1,1,1,1} , { 1,1,0,1,1,1} ,{ 1,1,1,1,0,1} ,
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 59
{ 1,0,1,1,0,1} ,{ 1,0,1,1,0,1}
genetico0004[6, 50, .2]
Poblacion de muestra inicial:
{ 1,1,0,1,1,1} ,{ 1,0,1,1,1,1},{ 1,1,1,1,1,0} , { 1,1,0,1,0,1} ,{ 0,1,0,1,1,1} ,
{ 1,1,0,0,1,1} ,{ 1,1,0,0,1,1} ,{ 1,0,0,1,1,1} , { 0,1,1,0,1,1} ,{ 1,1,1,0,1,0} ,
{ 1,0,1,0,1,1} ,{ 0,1,1,1,1,0} ,{ 0,1,0,1,1,1} , { 1,1,0,0,1,1} ,{ 1,1,0,0,1,1} ,
{ 1,0,1,0,1,0} ,{ 0,0,1,0,1,1} ,{ 0,0,0,1,1,1} , { 1,1,0,0,0,1} ,{ 1,1,0,0,1,0} ,
{ 0,0,1,0,1,1} ,{ 0,1,0,0,1,1} ,{ 0,1,0,1,0,1} , { 0,1,1,1,0,0} ,{ 1,1,1,0,0,0} ,
{ 0,0,0,1,0,1} ,{ 0,0,0,0,1,1} ,{ 1,1,0,0,0,0} , { 0,0,0,1,0,1} ,{ 0,0,0,0,1,1} ,
{ 0,0,0,0,1,1} ,{ 0,0,0,0,1,1}
Poblacion seleccionada en el paso 2:
{ 1,1,1,1,1,1} ,{ 1,1,1,1,0,1} ,{ 1,1,0,1,1,1} , { 0,1,1,1,1,1} ,{ 1,0,1,1,1,1} ,
{ 0,1,1,0,1,1} ,{ 0,1,1,0,1,1} ,{ 0,0,1,1,1,1} , { 1,1,0,1,0,1} ,{ 1,1,0,1,0,1} ,
{ 0,1,0,1,1,1} ,{ 0,0,1,1,1,1} ,{ 0,1,0,1,1,1} , { 1,1,0,0,1,1} ,{ 1,1,0,0,1,1} ,
{ 1,1,0,1,0,1} ,{ 1,1,0,1,0,1} ,{ 0,0,1,1,0,1} , { 0,0,0,1,1,1} ,{ 0,1,1,0,1,0} ,
{ 0,0,0,1,1,1} ,{ 1,0,0,0,1,1} ,{ 1,1,1,0,0,0} , { 0,1,0,0,1,1} ,{ 0,0,1,0,1,0} ,
{ 0,1,0,1,0,0} ,{ 1,1,0,0,0,0} ,{ 1,0,1,0,0,0} , { 0,0,0,1,0,0} ,{ 0,0,0,0,1,0} ,
{ 0,1,0,0,0,0} ,{ 0,0,0,0,0,0}
genetico02[6, .2]
Poblacion de muestra inicial:
{ 1,1,0,1,1,1} ,{ 1,1,1,1,0,1} ,{ 1,1,1,1,0,1} , { 1,0,0,1,1,1} ,{ 1,0,0,1,1,1} ,
{ 1,0,0,1,1,1} ,{ 1,1,1,0,1,0} ,{ 1,1,0,1,1,0} , { 1,0,1,1,1,0} ,{ 0,1,1,1,0,1} ,
{ 0,1,0,1,1,1} ,{ 0,1,1,0,1,1} ,{ 1,1,0,1,0,0} , { 0,0,1,1,1,0} ,{ 1,0,0,1,0,1} ,
{ 1,0,0,0,1,1} ,{ 0,0,1,1,1,0} ,{ 1,1,1,0,0,0} , { 1,0,1,0,0,1} ,{ 1,0,0,1,1,0} ,
{ 0,1,0,1,0,1} ,{ 0,0,0,1,0,1} ,{ 1,0,0,1,0,0} , { 1,0,1,0,0,0} ,{ 0,0,0,1,1,0} ,
{ 1,0,1,0,0,0} ,{ 0,1,0,0,1,0} ,{ 1,0,0,0,0,1} , { 1,0,0,1,0,0} ,{ 0,1,0,1,0,0} ,
{ 1,0,0,1,0,0} ,{ 0,0,0,1,0,0}
Poblacion seleccionada en el paso 1:
{ 1,1,1,1,1,1} ,{ 1,1,0,1,1,1} ,{ 1,1,1,1,0,1} , { 1,1,1,1,0,1} ,{ 1,0,1,1,1,1} ,
{ 1,0,1,1,1,1} ,{ 1,1,1,1,1,0} ,{ 1,1,0,1,1,1} , { 0,1,1,1,1,1} ,{ 1,0,0,1,1,1} ,
CAP
ITULO 4. C
ALCULOS NUM
ERICOS 60
{ 1,0,0,1,1,1} ,{ 1,0,0,1,1,1} ,{ 1,1,1,0,1,0} , { 1,1,0,1,1,0} ,{ 1,0,1,1,1,0} ,
{ 0,1,1,1,0,1} ,{ 0,1,0,1,1,1} ,{ 0,1,1,0,1,1} , { 1,0,1,1,0,1} ,{ 1,0,0,1,1,1} ,
{ 1,1,0,1,1,0} ,{ 0,0,1,1,1,1} ,{ 0,1,0,1,1,1} , { 1,1,0,1,0,0} ,{ 0,0,1,1,1,0} ,
{ 1,0,0,1,0,1} ,{ 1,0,0,0,1,1} ,{ 0,0,1,1,1,0} , { 1,1,1,0,0,0} ,{ 1,0,1,0,0,1} ,
{ 1,0,0,1,1,0} ,{ 0,1,0,1,0,1}
4.3 Conclusion
Los Algoritmos Geneticos son algoritmos para encontrar soluciones optimas
en espacios de b usqueda amplios. Dichos algoritmos se basan en la Teora de
la Evolucion; esto es, dado un conjunto de posibles soluciones, estas operan
cruzandose y mutando para nalmente seleccionar los mas aptos, as hasta
encontrar el elemento optimo, esto es lo que establece la Teora de la Seleccion
Natural con los individuos y las especies.
Para demostrar que el Algoritmo Genetico converge al optimo, nos basamos
en el artculo, de G unter Rudolph, Convergence Analysis of Canonical Ge-
netic Algorithms, en donde la principal herramienta matematica son las Ca-
denas de Markov; sin embargo, para comprenderlas de forma adecuada se
desarrollo todo un captulo en este trabajo. Posteriormente se desarrollo de
la forma mas clara posible el artculo antes mencionado; donde el Algoritmo
Genetico es modelado como una Cadena de Markov y usando propiedades
de convergencia de estas obtenemos como resultado la convergencia del algo-
ritmo bajo la condicion de Elitismo.
Finalmente, se implemento, como ejemplo, un Algoritmo Genetico con
ayuda del paquete Mathematica para observar computacionalmente la con-
vergencia bajo algunos cambios de operadores.
El campo de investigacion sobre los Algoritmos Geneticos es muy amplio,
ya que por ejemplo, aqu solo se abarco brevemente a los algoritmos simples,
por otro lado, estan los algoritmos multi-objetivo, los cuales tienen mayor
aplicacion para resolver problemas de la vida daria; tambien el calculo de
orden de convergencia, es decir, el n umero de iteraciones necesarios para
encontrar el optimo; entre otros aspectos por estudiar.
Apendice A
Teoremas
A.1 Teorema de Convergencia
Teorema A.1.1 Sea A una matriz estocastica primitiva. Entonces A
k
con-
verge cuando k a una matriz estocastica positiva estable A
, con com-
ponentes diferentes de cero.
Demostracion
Ver [10, pag. 123]
61
Apendice B
Glosario
Terminologa Biologica
Adaptacion. Conjunto de caractersticas estructurales, siologicas o de
comportamiento que incrementan la probabilidad de que un individuo sobre-
viva o deje mas progenie en un ambiente particular.
Adecuacion. Conjunto de caractersticas adaptativas de un organismo a su
ambiente y que se miden por su capacidad reproductiva.
ADN.
Acido presente en todas las celulas, es el material hereditario que
contiene toda la informacion genetica.
Alelo. Forma alternativa de un gen.
Ambiente. Condiciones externas que afectan a un individuo y que pueden
ser fsicas o bioticas.
Caracter. Caracterstica morfologica o conductual de un organismo.
Codicar. Capacidad que tiene la secuencia de nucle otidos en el ADN para
determinar o especicar la secuencia de aminoacidos que debe tener la cadena
polipeptdica de cada tipo de protena.
Competicion. Interaccion de individuos de la misma o diferente especie
en la que un recurso limitado, que es requerido por los individuos, no es
suciente para satisfacer las necesidades de todos ellos.
Cromosoma. Estructura visible al microscopio que se observa antes de la
duplicacion celular en el n ucleo de las celulas. Por lo general tiene forma de
bastoncillo. Esta compuesto por el ADN y algunas protenas. El n umero de
cromosomas es siempre el mismo para todos los individuos de una especie
y para todas las celulas de un individuo, excepto para las celulas sexuales,
cuyo n umero se reduce a la mitad.
Diploide. Celula u organismo con dos juegos de cromosomas
62
AP
ENDICE B. GLOSARIO 63
Diversidad biologica. Variabilidad del n umero de especies animales y
vegetales representadas en un area.
Dominancia. Cuando hay elelos alternativos de un gen, la dominancia la
ejerce aquel que se expresa en la presencia del otro.
Dominante. Gen que produce su efecto genotpicamente independiente de
la forma del gen correspondiente en el cromosoma homologo del organismo.
Especie. Grupo de organismos que pueden cruzarse en forma sexual y que
esta reproductivamente aislado de otros grupos semejantes de organismos.
Evoluci on. Cualquier cambio permanente en la estructura genetica de los
organismos de una generacion siguiente.
Fenotipo. Caractersticas morfologicas, siologicas y conductuales de un
individuo o poblacion.
Frecuencia genetica. Proporcion de copias de un gen en una poblacion.
Frecuencia genotpica. Proporcion de un genotipo en una poblacion.
Gameto. Celula sexual, aporta la mitad del material genetico (por lo que
son haploides) y que al unirse conforman el huevo fecundado, a partir del
cual se genera un nuevo ser vivo.
Gen. Unidad hereditaria que determina cada alternativa de una carac-
terstica o rasgo genetico.
Genes homologos. Genes que se hallan en pares, cada uno en un cromo-
soma distinto, pero equivalente, provenientes de cada uno los progenitores.
Genotipo. Conjunto de la informacion genetica que porta un individuo.
Haploide. Estado en el que cada cromosoma esta representado una sola
vez, en contraste con el estado diploide.
Heterocigo. Constitucion genetica de un individuo que porta un alelo do-
minante de un progenitor y un alelo recesivo del otro progenitor.
Hbrido. Individuo cuya constitucion genetica para un determinado caracter
consiste en un alelo de un progenitor y un alelo del otro progenitor.
Homocigo. Individuo cuya constitucion genetica consiste en el mismo alelo,
dominante o recesivo, para caracter hereditario.
Medio. La suma total de las condiciones fsicas y biologicas en que vive un
organismo.
Meiosis. Proceso de division celular que llevan a cabo las celulas sexuales
mediante el cual se obtienen gametos.
Mutacion. Cambio en un gen que modica en forma estable las carac-
tersticas controladas por dicho gen.
Mutante. Individuo en el que una o varias caractersticas han cambiado en
forma abrupta de las del resto de la poblacion.
AP
ENDICE B. GLOSARIO 64
Poblaci on. Biologicamente hablando, debe llenar las siguientes caracters-
ticas: a) ser un grupo de organismos de una especie, b) que puedan inter-
cambiar genes, c) que interact uen, d) que se desarrollen bajo condiciones
ambientales similares, e) que se encuentren bajo la inuencia de sus propios
efectos sobre el ambiente y la de sus vecinos y f) cuya selecion natural esta
afectada por sus atributos demogracos y por el medio fsico.
Progenie. Descendencia dejada por un organismo o pareja de organismos
como resultado de una reproduccion sexual.
Recesivo. Alelo cuya expresion fenotpica estan encubierta por la forma
dominante del alelo presente.
Recombinaci on. Intercambio de material hereditario entre cromosomas
homologos durante la meiosis.
Segregacion. Separacion de los cromosomas homologos durante las meiosis
o formacion de las celulas sexuales.
Seleccion natural. Teora medular del darwinismo, que explica por que los
organismos mejor adaptados que otros al medio en que viven dejan mayor
n umero de progenie fertil y viable propagando hereditariamente sus carac-
tersticas favorables en la poblacion.
Sistema de cruzamiento. Forma de apareamiento entre individuos basada
en las caractersticas de las parejas.
Variacion fenotpica. Expresion de la accion de los genes y el ambiente en
las caractersticas cuantitativas.
Variacion genetica. Variaci on del caracter de un organismo, resultado de
una mutaci on o recombinaci on genetica.
Referencias
[1] Adke S. R. y Manjunath S. M. An Introduction to Finite Markov Pro-
cesses. John Wiley and Sons, 1984.
[2] Ash B. R., Real Analysis and Probability. Academic Press, 1972.
[3] Back Thomas, Evolutionary Algorithms in Theory and Practice. Oxford
University Press, New York, 1996.
[4] Barahona Ana y Pi nero Daniel, Genetica: La Continuidad de la Vida.
La Ciencia desde Mexico/125, Fondo de Cultura Economica S. A. de C.
V.
[5] Coello Coello Carlos, La Computacion Evolutiva en el Contexto de la
Inteligencia Articial. Artculo electronico (LANIA).
[6] Cruz Martnez Maximino, Convergencia de Variables Aleatorias. Tesis
de Licenciatura, Facultad de Matematicas, Universidad Veracruzana,
1999.
[7] G unter Rudolph, Convergence Analysis of Canonical Genetic Algo-
rithms. IEEE Transactions on Neural Networks, 96-101, 1994.
[8] Hernandez-Lerma O. y Hoyos Reyes L. F. Apuntes para un curso in-
troducctorio de procesos estocasticos. Departemento de Sistemas UAM-
Azcapotzalco, Septiembre 2000.
[9] Holland Jonh H., Adaptation in Natural and Articial 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
[11] Kemeny J. G. y Snell J. L. Finite Markov Chains. Van Nostrand Com-
pany, Inc. Canada, 1960.
[12] Reyes Sierra Mara Margarita, Estudio de Algunos Aspectos Teoricos de
los Algoritmos Geneticos. Tesis de Maestra en Inteligencia Articial,
Universidad Veracruzana, 2002.
[13] Royden H. L. Real Analysis. Macmilla Publishing Company, Third Edi-
tion.
[14] Sarukhan Jose, Las Musas de Darwin. La Ciencia desde Mexico/70,
Fondo de Cultura Economica S. A. de C. V.
[15] Seneta E. Non-negative Matrices and Markov Chains, Second Edition.
Springer-Verlag, 1981.
[16] Wolfram Stephen, The Mathematica Book, 4th Ed. Wolfram Media y
Cambridge University Press, 1999.