Professional Documents
Culture Documents
Autor:
ALEJANDRO CRDENAS CARDONA
Director:
MSC. JULIO HERNANDO VARGAS MORENO
Proyecto presentado como requisito parcial para optar al ttulo de Ingeniero de Sistemas y
Computacin
Notas de aceptacin:
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
Firma presidente del jurado
___________________________
Firma del jurado
___________________________
Firma del jurado
AGRADECIMIENTOS
En primer lugar quiero agradecer a Dios por toda la tenacidad de la que me ha adornado y que
ha hecho posible cada uno de los grandes logros que he conseguido en mi vida. A mi padre y a
mis hermanos por su apoyo constante e incondicional durante todo mi proceso de formacin,
por su amor y por su comprensin. Especialmente a mi hermana Natalia que ha sido mi
inspiracin y el motor que mueve mi vida.
Quiero agradecer a todos mis compaeros que de alguna u otra forma me brindaron su apoyo
para seguir adelante en mi crecimiento personal y profesional, por su amistad y por hacer de
este proceso una experiencia agradable y enriquecedora.
A los profesores, que con su sabidura, su experiencia y sus mtodos de enseanza, me
brindaron ese conocimiento vital, no slo tcnico si no tambin actitudinal, y que ha permitido
formarme como un profesional integral, consciente del mejoramiento continuo enmarcado en
la excelencia.
A la Universidad, por ser ese templo que refugia, acoge y apoya a todo aqul que ama el
conocimiento.
Al profesor Julio Vargas, por compartir sus conocimientos y experiencia, por sus consejos y
por la confianza depositada para la realizacin de este proyecto.
A todas las personas que de alguna forma, en algn momento o lugar, aportaron valor a este
proceso que no termina hoy.
De corazn:
Muchas Gracias!
RESUMEN
A lo largo de la historia del hombre la naturaleza, y los complejos procesos que se ven
involucrados en ella, han servido de inspiracin para resolver problemas de la vida cotidiana.
Los algoritmos bio-inspirados son una rama de la Inteligencia Artificial en la que se emula el
comportamiento de los sistemas naturales con el fin de disear mtodos heursticos no
determinsticos
de
bsqueda,
optimizacin,
aprendizaje,
reconocimiento,
simulacin
caracterizacin.
Se puede pensar en la Inteligencia Artificial como una ciencia que trata de incorporar
conocimiento a los procesos que realiza una mquina, para que estos se ejecuten con xito. Uno
de los personajes ms influyentes en la actualidad en el campo de la Inteligencia Artificial es
Ray Kurzweil, quien es considerado como un experto en el campo y es autor de The age of
intelligent machines. Kurzweil asevera en sus escritos que para el ao 2030 la Inteligencia
Artificial lograr un avance extraordinario ya que superar a la inteligencia humana. Con esta
afirmacin hace mencin a que las mquinas podrn igualar las capacidades del ser humano en
el mbito de laboratorio y dentro de 50 aos lograrn formar parte de la vida cotidiana que
vive el hombre. Tambin Kurzweil ha mencionado que en los prximos 100 aos existirn
nuevas mquinas las cuales tendrn una mayor capacidad que en la actualidad, sern
superinteligentes.
La Inteligencia Artificial es entonces el fututo de la computacin y de los sistemas artificiales
que nos rodean. Los algoritmos bio-inspirados le imprimen naturalidad a dichos sistemas y poco
a poco se irn refinando para asemejarse a an ms a los mtodos utilizados por la naturaleza.
El presente trabajo integra los fundamentos biolgicos y matemticos de los principales
algoritmos bio-inspirados utilizados en las ciencias de la computacin, as como algunas de sus
principales aplicaciones. La importancia de estudiar estos algoritmos radica en que los mtodos
inspirados en el comportamiento biolgico han probado ser eficaces en la solucin de numerosos
problemas de ingeniera que, si se aplicarn los mtodos tradicionales, resultaran en problemas
demasiado costosos de resolver.
CONTENIDO
1. Algoritmos Evolutivos ........................................................................................ 10
1.1 Introduccin ..................................................................................................................... 10
1.2 Fundamentos biolgicos ................................................................................................... 11
1.2.1 Teora clsica de la evolucin ............................................................................... 11
1.2.2 Teora sinttica de la evolucin ............................................................................ 13
1.2.3 Principios de gentica ........................................................................................... 14
1.2.3.1 El ADN .................................................................................................. 14
1.2.3.2 La replicacin del ADN y la mutacin ................................................... 16
1.2.3.3 Genes, genotipo y fenotipo ..................................................................... 18
1.2.3.4 Los cromosomas ..................................................................................... 19
1.3 De la biologa evolutiva a los algoritmos evolutivos ......................................................... 21
1.3.1 Comprendiendo un algoritmo evolutivo ................................................................ 21
1.3.2 Esquema general de un algoritmo evolutivo.......................................................... 22
1.3.3 Tipos de algoritmos evolutivos ............................................................................. 24
1.3.4 Algoritmos evolutivos y optimizacin ................................................................... 27
1.4 Algoritmos Genticos (AGs) ............................................................................................ 29
1.4.1 Introduccin.......................................................................................................... 29
1.4.2 Codificacin de los individuos ............................................................................... 29
1.4.3 Inicializacin del AG............................................................................................. 31
1.4.4 Funcin de desempeo .......................................................................................... 32
1.4.4.1 Desempeo error cuadrtico ................................................................... 33
1.4.4.2 Desempeo de minimizacin .................................................................. 33
1.4.4.3 Desempeo escalado ............................................................................... 34
1.4.5 Mecanismo de seleccin......................................................................................... 35
1.4.5.1 Seleccin por muestreo proporcional o por ruleta .................................. 35
1.4.5.2 Seleccin por muestreo estocstico ......................................................... 36
1.4.5.3 Seleccin por torneo ............................................................................... 37
1.4.6 Cruzamiento ......................................................................................................... 37
1.4.6.1 Cruzamiento monopunto ........................................................................ 38
1.4.6.2 Cruzamiento multipunto ........................................................................ 39
1.4.7 Mutacin............................................................................................................... 40
1.4.8 Reemplazo poblacional ........................................................................................ 41
1.5 Programacin Gentica (PG) ........................................................................................... 43
1.5.1 Introduccin.......................................................................................................... 43
1.5.2 Codificacin de los individuos ............................................................................... 44
1.5.3 Inicializacin del algoritmo de PG ........................................................................ 46
1.5.4 Creacin de la poblacin inicial ............................................................................ 48
1.5.4.1 Inicializacin completa ........................................................................... 48
1.5.4.2 Inicializacin creciente ........................................................................... 50
1.5.4.3 Inicializacin Ramped Half-and-Half .................................................. 51
3
LISTA DE FIGURAS
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura 4.2 Barreras de proteccin del sistema inmunolgico innato .................................... 157
Figura 4.3 Algunos tipos de linfocitos T ............................................................................... 160
Figura 4.4 Principio de afinidad entre patgenos y linfocitos................................................ 161
Figura 4.5 Esquema general de un SIA ................................................................................ 168
Figura 4.6 Algoritmo de seleccin clonal para optimizacin .................................................. 170
Figura 4.7 Esquema del algoritmo de seleccin negativa ....................................................... 172
Figura 5.1 Grfico Desempeo Porcentaje de estudiantes .................................................. 180
Figura 5.2 Grfico tem valorado Porcentaje de estudiantes.............................................. 182
8
LISTA DE TABLAS
Tabla 1.1 Definicin de conceptos biolgicos para un AE ....................................................... 22
Tabla 1.2 Ejemplo de funciones y smbolos terminales............................................................ 46
Tabla 1.3 Valores conocidos para la funcin f (a,b) ................................................................ 52
Tabla 1.4 Resumen de resultados para el cromosoma de la figura 1.25 ................................... 87
Tabla 2.1 Funciones OR y XOR para vectores de entrada en R2............................................ 22
Tabla 3.1 Algoritmos de Colonia de Hormigas ms comunes ................................................ 129
Tabla 5.1 Detalle de variables de medicin ........................................................................... 178
Tabla 5.2 Desempeo obtenido por cada grupo en evaluacin de conceptos ......................... 180
Tabla 5.3 Resultados de la aplicacin de la encuesta de valoracin ..................................... 181
1.
ALGORITMOS EVOLUTIVOS
1.1 Introduccin
Una de las caractersticas de la naturaleza que ha captado la atencin del hombre por siglos ha
sido la gran capacidad de esta para adaptarse al cambio. Organismos que se adaptan para
sobrevivir en lugares inhspitos de la tierra, en condiciones extremas y escasez de recursos, dan
prueba de ello. Esta capacidad de adaptacin de algunos seres vivos se hace an ms evidente
cuando consideramos que el medio ambiente donde coexisten se encuentra en constante cambio.
Los cambios en el ambiente circundante de los organismos vivos promueven la diversidad
biolgica, provocando la muerte de los organismos ms dbiles y la consecuente supervivencia
de los organismos ms fuertes, o en este caso mejor adaptados al nuevo ambiente.
La modificacin del ambiente genera nuevas necesidades, esas nuevas necesidades conllevan a
una modificacin de los organismos, que sera heredable. La supervivencia de los organismos
mejor adaptados supone un proceso de seleccin natural, puesto que las generaciones futuras,
resultado de la reproduccin de estos organismos, estarn conformadas por individuos aptos
para sobrevivir en el ambiente modificado. Los cambios que pueden manifestarse en los
organismos se dan a travs de varios mecanismos como la derivada gentica, la mutacin y el
flujo gentico, lo que da origen a nuevas variantes fenotpicas, y en ltima instancia a nuevas
especies. A estos cambios que se originan en los organismos a travs del tiempo se les llama
evolucin.
Cul es la leccin que nos ensea la naturaleza? La palabra clave es adaptabilidad. Un
algoritmo evolutivo es bsicamente un algoritmo de adaptacin a un problema en particular en
el que se simulan de cierta forma los procesos naturales de la evolucin (seleccin,
reproduccin, mutacin, etc.), con el fin de encontrar a los individuos mejor adaptados a un
ambiente dado, es decir, la mejor solucin a un problema especfico. As, un algoritmo evolutivo
no es otra cosa que un procedimiento de bsqueda y optimizacin inspirado en la teora de la
evolucin.
10
11
divina cmo la nica causante de la vida en la tierra; formas de vida inmutables creadas por
Dios.
A pesar de los aportes de Lamarck no fue hasta 1859, con la publicacin de El origen de las
especies3 de Charles Darwin, que la teora de la evolucin comenz a ser ampliamente
aceptada. En su libro
mayor parte de ellos estaban basados en registros fsiles. Tambin realiz observaciones
detalladas de los organismos en su hbitat natural, que lo llevaron a exponer los siguientes
postulados4:
1. Los actos sobrenaturales del Creador son incompatibles con los hechos empricos de la
naturaleza.
2. Toda la vida evolucion a partir de uno o de pocos organismos simples.
3. Las especies evolucionan a partir de variedades preexistentes por medio de la seleccin
natural.
4. El surgimiento de una especie es gradual y de larga duracin.
5. Los taxones superiores (gneros, familias, etc.) evolucionan a travs de los mismos
mecanismos que los responsables del origen de las especies.
6. Cuanto mayor es la similitud entre los taxones, ms estrechamente relacionados se
hallan entre s y ms corto es el tiempo de su divergencia desde el ltimo ancestro
comn.
7. La extincin es, principalmente, resultado de la competencia inter-especie.
8. El registro geolgico es incompleto: la ausencia de formas de transicin entre las
especies y taxones de mayor rango se debe a las lagunas en el conocimiento actual.
Tanto Lamarck como Darwin causaron una fuerte controversia con sus teoras anticreacionistas, sin embargo con ellas sentaron las bases para la formulacin de la teora de la
evolucin moderna.
El ttulo completo de la primera edicin fue On the Origin of Species by Means of Natural Selection, or
the Preservation of Favoured Races in the Struggle for Life (El origen de las especies por medio de la
seleccin natural, o la preservacin de las razas favorecidas en la lucha por la vida). En su sexta edicin
de 1872, el ttulo fue modificado a On The Origin of Species (El origen de las especies).
4
DARWIN C. On The Origin of Species. 6 ed. John Murray, Londres. 1872
12
Las mutaciones
La derivada gentica
El flujo gentico
5
6
7
Las leyes de Mendel: ley de la uniformidad, ley de la segregacin y ley de la segregacin independiente.
La evolucin se concibe como un proceso a saltos y no como un proceso gradual.
Las variaciones son neutras desde el punto de vista de su valor adaptativo
13
1.2.3.1 El ADN
El ADN (cido Desoxirribonucleico) es un polmero formado por nucletidos. Un polmero es
una molcula orgnica formada por elementos ms simples, llamados monmeros, que se
enlazan entre s9. Un nucletido es un monmero que consta de tres elementos:
a. Un azcar: desoxirribosa en este caso (en el caso de ARN o cido ribonucleico, el
azcar que lo forma es una ribosa).
b. Un grupo fosfato (cido fosfrico).
c. Una base nitrogenada.
Se denomina eucariotas a todas las clulas que tienen su material hereditario fundamental (su
informacin gentica) encerrado dentro de una doble membrana, la envoltura nuclear, que delimita un
ncleo celular.
9
S. KLUG, William, R. CUMMINGS, Michael, A. SPENCER, Charlotte, A. PALADINO, Michael.
Concepts of Genetics. Ed 9. Pearson Education 2009
14
Las
L bases nitrogenadas pueden ser: adenina (A
A), guanina (G), citosinaa (C), timin
na (T) y
Uracilo
U
(U), la Timina slo est pressente en el A
ADN, mientrras que el Urracilo slo haace parte
del
d ARN. Las bases nitrogenadas fo
orman puenttes de hidrggeno entre eellas, respetaando una
estricta
e
com
mplementaried
dad: Adenina slo se u
une con Tim
mina (y viceversa) mediaante dos
puentes
p
de hidrgeno, y Guanina slo
s
con Cittosina (y vicceversa) med
diante 3 pu
uentes de
hidrgeno,
h
co
omo se muesstra en la fig
gura 1.1. Laa citosina y lla timina son
n bases pirim
mdicas o
pirimidinas
p
(un
( anillo de seis lados), mientras quee la adenina y la guaninaa son bases p
pricas o
purinas
p
(un doble
d
anillo de
d nueve lado
os).
(a) Estructura del
d ADN
Guanina
Timina
Adeenina
Cittosina
15
10
personas
p
. Esta
E
variacin
n potencial de
d la estructu
ura molecularr es esencial ya que el ADN debe
almacenar
a
en
normes cantidades de in
nformacin qqumica con la cual se rregulan las ffunciones
celulares.
c
Ass, el orden en
e que se orrganizan las bases nitroggenadas deterrmina la infoormacin
disponible
d
pa
ara construir y mantener a un organissmo, similar a la forma en
n que las letrras de un
alfabeto
a
se unen en cierto
o orden para formar palab
bras y oracioones.
El
E ADN see organiza en
e una estrructura tridiimensional ccompuesta p
por dos cad
denas de
nucletidos
n
que
q se tuerceen formando
o una doble hlice. Las d
dos cadenas de nucletid
dos estn
unidas
u
por puentes de hid
drgeno entree las bases dee cada caden
na, formando una estructu
ura como
la
l de una esccalera en espiiral (Figura 1.2).
1
Par de bases
Adenina Tim
mina
Figura
a 1.2 Doble hlice del AD
DN
1.2.3.2 La replicacin
r
del ADN y la mutaci
n
La
L complementariedad de
d las bases nitrogenadass que se traat en el apaartado anterior, hace
posible
p
una de
d las caracteersticas fund
damentales qque tiene la in
nformacin ggentica, la ccapacidad
de replicaci
n. Debido a que A en una cadena se eempareja sloo con T en laa otra cadenaa, y C en
una
u cadena con
c G en la otra, cada cadena
c
contieene una espeecificacin coompleta de la cadena
complementa
c
aria. En la reeplicacin del ADN las d os cadenas d
de la doble h
hlice se desen
nrollan y
se
s forma una
a nueva cadeena complem
mentaria en caada una de llas cadenas sseparadas de la doble
hlice
h
origina
al. El resultad
do es que se producen doos copias idn
nticas de la d
doble hlice ooriginal.
Este
E
proceso
o es importan
nte en la div
visin celularr a travs dee la mitosis (Figura 1.3)), ya que
cada
c
clula resultante deber
d
conten
ner una cop
pia exacta deel material ggentico de la clula
10
1
16
padre.
p
La otra forma de divisin del material gen
ntico de un ncleo se deenomina meiiosis y es
un
u proceso que,
q
aunque comparte
c
meecanismos coon la mitosis, no debe coonfundirse con ella ya
que
q es propio
o de la divisiin celular dee los gametoss11, produce clulas gentticamente disstintas y,
combinada
c
con
c
la fecund
dacin, es el fundamentoo de la reprooduccin sex
xual y la varriabilidad
gentica.
g
Figu
ura 1.3 Proceeso de mitosiis
Durante
D
la replicacin
r
deel ADN, se puede copiarr una base in
ncorrecta o se pueden du
uplicar o
perder
p
algun
nas bases (po
or ejemplo copiar
c
una T en vez dee una G). Cuando esta situacin
ocurre
o
la nu
ueva copia deel ADN, y por
p consecueente, todas las dems coopias sucesivaas, sern
diferentes
d
dee la molcula
a ancestral. En este casoo se dice que se ha prod
ducido una m
mutacin
heredable.
h
La
L mutacin
n es un procceso aleatoriio, pues no se conoce con certeza ccmo y en d
donde se
producir
p
y constituye
c
la base de la diversificacin
d
n del material hereditarioo que ha perm
mitido la
evolucin
e
po
or seleccin natural. Lass mutacioness a nivel m
molecular son
n llamadas ggnicas o
puntuales
p
y afectan
a
la con
nstitucin qu
umica de los genes. Se orriginan por:
Sustitucin
S
n. Donde deb
bera haber un
u nucletidoo se inserta ootro. Por ejeemplo, en luggar de la
Citosina
C
se in
nstala una Timina.
Inversin.
I
Mediante dos
giros
de
180 d
dos
segmenttos
de
nuccletidos
dee
hebras
complementa
c
arias se invierrten y se inteercambian.
Translocaci
T
in. Ocurre un traslape de
d pares de nucletidos ccomplementaarios de una zona del
ADN
A
a otra.
Desfasamie
D
ento. Al inseertarse (insercin) o elim
minarse (deleecin) uno o ms nucletidos se
produce
p
un error
e
de lectu
ura durante la traduccin
n que conllev
va a la formaacin de prottenas no
funcionales.
f
11
1
17
Sustitucin
AGCATCCTA
AGCTGCCTA
Inversin
TCGTGAGGT
TCGAGTGGT
Translocacin
AGGTACCAT
AACCGGTAT
Insercin
GCAT|GGCA
GCATAGCGGCA
Delecin
CATGCAATGCT
CAT*TGCT
18
Por ejemplo, si se tiene el gen ATG algunos posibles alelos del mismo podran ser: CGA, TCG,
AAT, AGA y cualquier otra combinacin posible de As, Ts, Cs y Gs en 3 posiciones (64
posibilidas, 64 alelos). Por ejemplo, los genes que determinan los ojos castaos y los que
determinan los ojos azules son alelos del mismo gen: el gen que determina el color de los ojos.
A veces se habla de genes alelos, aun cuando sera ms apropiado decir valores de genes alelos,
o simplemente, alelos.
Entendiendo ahora la definicin de gen, es importante aclarar dos conceptos relevantes:
fenotipo y genotipo. Se denomina genotipo a la informacin gentica del individuo, es decir, al
conjunto de todos los genes que conforman el ADN y fenotipo a la manifestacin externa del
genotipo, esto es, las caractersticas observables de un organismo. A pesar de la relacin directa
que existe entre el genotipo y el fenotipo de un individuo, este ltimo no slo depende del
primero pues ya se planteaba antes que el ambiente tambin acta en los organismos
produciendo cambios, en este caso fsicos. De esta manera el fenotipo es la suma del genotipo y
del ambiente circundante del individuo.
Fenotipo = Genotipo + Ambiente
1.2.3.4 Los cromosomas
En 1879 el bilogo alemn Walther Flemming descubri que utilizando ciertos colorantes se
poda teir un material desconocido hasta el momento, que se encuentra en el ncleo celular; a
dicho material lo denomin cromatina. Posteriormente, los avances en microscopa permitieron
a los investigadores identificar a los cromosomas13 como componentes principales de la
cromatina. Los cromosomas son estructuras de ADN sper-compactado. En este estado, las
cadenas de ADN se compactan unas 10.000 veces.
Los cromosomas de una clula difieren en tamao y forma, y de cada tipo se encuentran dos
ejemplares, de modo que el nmero de cromosomas es de 2N (se le denomina nmero diploide).
Durante la formacin de clulas sexuales (meiosis) el nmero de cromosomas baja a N. La
fertilizacin del vulo por el espermatozoide restaura el nmero de cromosomas a 2N, de los
cuales N proceden del padre y N de la madre. Todos los individuos de una misma especie
tienen el mismo nmero de cromosomas. En los humanos el nmero de cromosomas es de 23
pares, los 22 primeros son parejas de cromosomas que se denominan autosomas, mientras que
13
La palabra cromosoma proviene del griego cromo que significa color y soma que significa cuerpo o
elemento.
19
la
l pareja 23
3 que es la XY para los
l
hombres y
cromosomas
c
onosomas.
sexuales o go
Dispersos
D
entre los 23 pa
ares de cromosomas existten cerca de 30.000 geness, recordemos que los
genes
g
son seecuencias de nucletidos en el ADN
N y que este se encuentrra compactado en la
estructura
e
deel cromosoma
a, la posicin
n en la que sse encuentra un gen denttro de un croomosoma
se
s denomina locus. Cada gen tiene un
na numeracin dependiend
do del locus que ocupa dentro del
cromosoma.
c
Los
L concepto
os estudiados se relacionan
n en las siguiientes imagen
nes:
Cromoso
N
Ncleo
Locu
u
Clula
Basess nitrogenadas
ADN
N
Gen
6 Genes
Figura 1.6
20
el
fenotipo
los
cromosomas
representan
su
genotipo.
Un
proceso
21
Fenotipo
Genotipo
Poblacin
de
soluciones
codificadas
en
estructuras
manipulables computacionalmente.
Subconjunto de N cromosomas del conjunto genotpico con el
cual el algoritmo operar.
Codificacin de un individuo solucin en una estructura
Cromosoma
Locus
Gen
determinado.
Alelos
Desempeo
Seleccin
mediante
el
cual
se
eligen
determinados
Cruzamiento
Reproduccin
Mutacin
Generacin
La
L funcin g recibe el nom
mbre de funccin de expreesin.14
Inicializacin
P
Evaluacin
Seleccin
Reemplaazo
P
Cruzamiento
Espacioo fenotpico
Espacio
E
genotpiico
Mutaccin
Figura 1.7
1 Esquema general de u
un AE
Por
P medio de
d un proceso
o aleatorio determinado
d
p
por una funccin t, conoccida como fu
uncin de
inicializacin
n, se crea un
u conjunto P de crom
mosomas (solu
uciones) com
mpuesto por algunos
elementos
e
deel conjunto G. Este con
njunto P se denomina ppoblacin iniicial, y repreesenta al
conjunto
c
de las solucionees con las qu
ue el algoritm
mo operar itterativamentte. A los crom
mosomas
que
q conforma
an el conjuntto P se les ev
vala su aptiitud por med
dio de una fu
uncin de dessempeo,
el
e valor entreegado por la funcin para
a cada cromoosoma ser uttilizado en ell proceso de sseleccin.
Posteriormen
P
nte al conjun
nto P se le aplican algu
unos operaddores genticcos que mod
difican su
contenido.
c
Ms
M
especficcamente este proceso ttiene tres ettapas princiipales: selecccin (las
soluciones
s
prrometedoras son elegidas por medioo de una fun
ncin de selleccin origin
nando la
poblacin
p
P), reproducciin (se crean
n nuevas solu
uciones modifficando las sooluciones eleggidas por
medio
m
de opeeradores de reproduccin
r
, dando origeen a la poblaacin P) y m
mutacin (un
na o ms
soluciones
s
reesultantes se modifican aleatoriamentte en uno o m
ms valores en la poblaccin P).
Finalmente
F
el
e conjunto P inicial es reemplazado
r
por el conju
unto P resu
ultante del prroceso de
aplicacin
a
dee los operadorres genticos. Todo el cicclo se repite h
hasta que se cumple ciertoo criterio
de
d parada, usualmente
u
esste criterio esst dado porr el nmero d
de iteracionees, a cada iteracin se
le
l llama geneeracin.
De
D acuerdo con la desscripcin an
nterior, es p
posible repreesentar un AE por m
medio del
pseudocdigo
p
o que se muestra en la fig
gura 1.8.
14
1
23
Algoritmo Evolutivo:
Codificar F en G, como un conjunto de estructuras computacionalmente manipulables
1. P = inicializar(G) /* obtener N individuos del conjunto G */
2. evaluar_desempeo(P)
3. mientras criterio de parada no se cumpla hacer:
(a) P = seleccionar(P)
(b) P = cruzar(P)
(c) mutar(P)
(d) P = reemplazar(P)
fin mientras
4. Retornar el mejor individuo de la ltima generacin.
24
Programacin Evolutiva (PE): Este tipo de AE naci a travs de los trabajos realizados
por Lawrence J. Fogel15, un estadounidense pionero en AEs, en los aos 60s. La PE se enfoca
ms en la adaptacin de los individuos que en la evolucin de su informacin gentica a travs
de las generaciones, para ello hace uso nicamente de la mutacin (llamada reproduccin
asexual) prescindiendo del intercambio de informacin entre individuos (cruzamiento o
reproduccin sexual). Este comportamiento usualmente se modela mediante estructuras de
datos complejas como Autmatas Finitos o Grafos.
Estrategias Evolutivas (EE): Estas tcnicas se originaron en Alemania por medio de los
trabajos realizados por Ingo Rechenberg y Schwefel. Su objetivo principal era servir como
herramienta para resolver problemas de ingeniera. Se caracterizan por representar a los
individuos como vectores con valores numricos de punto flotante y utilizar, en la mayora de
los caso y similar a la PE, nicamente la mutacin como operador gentico. Cada individuo de
la poblacin es un posible ptimo de una funcin llamada funcin objetivo; la representacin de
cada individuo de la poblacin consta de 2 tipos de variables: las variables objeto y las
variables estratgicas. Las variables objeto son los posibles valores que hacen que la funcin
objetivo alcance el ptimo global y las variables estratgicas son los parmetros mediante los
que se gobierna el proceso evolutivo indicando de qu manera las variables objeto son afectadas
por la mutacin.
Algoritmos Genticos (AG): Es la tcnica ms ampliamente extendida y utilizada por ser
la que hace uso de la representacin ms simple de los individuos. La codificacin se realiza por
medio de cadenas de bits (1s o 0s) lo que facilita la aplicacin de los operadores genticos. Los
AG se centran ms en el proceso de cruzamiento que en el de mutacin, siendo el primero la
herramienta principal que usa el algoritmo para explorar ms ampliamente el espacio de
soluciones, asumiendo que es posible encontrar partes independientes de la solucin ptima que
luego son combinadas para crear mejores soluciones. La operacin de mutacin se toma como
un proceso secundario que garantiza la diversidad de los individuos, introduciendo informacin
nueva que posiblemente no podra obtenerse usando slo el operador de cruzamiento16.
Clasificadores Genticos (CG): Los CG son AEs cuya finalidad es obtener un sistema
clasificador. Un sistema clasificador se define como un sistema paralelo basado en reglas, de
paso de mensajes, que es capaz de interactuar con el entorno y aprender reforzadamente
15
25
26
19
On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic
Algorithms Moscato, P. Technical Report Caltech Concurrent Computation Program, Report. 826,
California Institute of Technology, Pasadena, California, USA
20
C. Blum, A. Roli. Metaheuristics in combinatorial optimization: Overview and conceptual comparison.
ACM Computing Surveys, 35: 268308, 2003.
27
r
Figura 1.9 Funcin ejemplo con dos mximos locales y un mximo global
Una alternativa de solucin al problema anterior podra ser tomar al azar valores en el espacio
de bsqueda, estimando el valor del ptimo por tcnicas estadsticas. Estas tcnicas pueden
aplicarse a diversos problemas pero no son muy eficientes.
Los AEs combinan mecanismos de bsqueda dirigida y bsqueda aleatoria en problemas de
optimizacin. La combinacin de estos dos mecanismos le concede a los AEs una propiedad que
no poseen otros mtodos de bsqueda exhaustiva, la capacidad de acceder a cualquier regin
del espacio de bsqueda mientras exploran el espacio de soluciones de una forma mucho ms
eficiente que un algoritmo netamente aleatorio. As la evolucin puede interpretarse como un
proceso de adaptacin a la optimizacin. Al no escalar de manera uniforme a regiones de mejor
adaptacin, y gracias a los mecanismos de seleccin y mutacin, los AEs pueden cruzar
regiones de baja adaptacin y llegar a ptimos globales, con lo que se solucionara el problema
de la figura 1.9.
Es evidente que un algoritmo especfico, que se disee para resolver un problema en concreto,
es ms eficiente que un AE. Sin embargo, existen muchas situaciones en las que no es posible
contar con tal algoritmo, as los algoritmos evolutivos proporcionan una alternativa a travs de
un esquema general para la resolucin de problemas.
28
29
Locus
Gen
Alelos = { 0, 1 }
Cromosoma
Figura 1.10 Codificacin simple de un cromosoma para un AG
Es necesario disponer de algn mtodo (funcin) que permita convertir la codificacin en
cromosomas (genotipo) a sus correspondientes valores para el espacio de bsqueda natural del
problema (fenotipo). Este paso es necesario para evaluar el desempeo del cromosoma como
solucin al problema considerado. Lgicamente el proceso de transformacin depende del
problema en concreto, aunque es muy comn realizar una conversin de valor binario a
decimal. Por ejemplo, para el cromosoma de la figura 1.10, su genotipo corresponde a la cadena
1001011011 y su fenotipo sera 603. Este valor decimal ahora podra usarse como parmetro de
una funcin de desempeo que opere sobre nmeros enteros por ejemplo.
No slo puede representarse el cromosoma como una cadena (o vector) binaria, en algunos
casos esta representacin puede extenderse a una matriz dependiendo de la naturaleza del
problema a resolver. Inclusive en muchos casos la codificacin binaria en si es insuficiente para
representar la solucin al problema y se opta por codificar cada gen como un valor entero o
real, aunque esta prctica no forma parte de la filosofa original de los AGs.
Para el caso en que se requiera usar valores enteros para cada gen, por ejemplo, estos podran
representarse en forma binaria y formar filas dentro de una matriz que representara al
cromosoma. As la posicin de la fila dentro de la matriz sera el locus para un gen del
cromosoma (figura 1.11). En este caso el cromosoma tendra longitud 10 (nmero de filas) y
cada gen tendra una longitud de 8 bits (nmero de columnas), es decir que cada uno de ellos
podra representar un valor entero entre 0 y 255.
Aunque pareciera obvio decirlo, es importante que cada posicin del cromosoma tenga un
significado para el problema, ya que de esta forma se favorece que los genes que determinan un
cromosoma con desempeo alto permitan un desempeo igualmente alto para un nuevo
cromosoma, obtenido por alguna operacin gentica a partir del primero.
30
Locus
0
1
2
3
4
5
6
7
8
9
Gen
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
Alelos = { 00000000,
00000001,
00000010,
00000011,
... ,
11111111 }
Cromosoma
Figura 1.11 Codificacin matricial de un cromosoma para un AG
1.4.3 Inicializacin del AG
La inicializacin de un AG se refiere a definir todos los parmetros involucrados en el
algoritmo, incluyendo la creacin de la primera generacin de cromosomas. Ms especficamente
se deben inicializar los siguientes parmetros:
Los cromosomas de un AG que hacen parte de la poblacin inicial suelen ser generados de
forma completamente aleatoria, esto es, se genera cada gen del cromosoma mediante una
funcin que retorna un 1 o un 0 con igual probabilidad. En ocasiones se puede favorecer la
creacin de cierto de tipo de cromosomas, cuando se dispone de informacin de antemano sobre
aquellos que pueden llegar a ser soluciones factibles del problema. Sin embargo, es
31
recomendable dotar a la poblacin de suficiente variedad para permitir explotar todas las zonas
del espacio de bsqueda y garantizar el buen funcionamiento del AG.
Uno de los problemas ms comunes en un AG es la llamada convergencia prematura, que se
refiere a que el algoritmo arroja un resultado sub-ptimo (ptimo local) y queda incapacitado
para hallar el ptimo global (similar al problema del mtodo hill climbing de la seccin 1.3.4).
Este problema es en la prctica difcil de detectar pues muchas veces no se conoce a priori el
valor del ptimo global, y es causado, la mayora de veces, por el uso de una baja probabilidad
de cruce, una probabilidad de mutacin pequea o un tamao de poblacin muy reducida.
La inicializacin aleatoria de la poblacin puede complementarse con la inclusin de otros
valores entregados por heursticas diferentes, esto podra traer beneficios en trminos de
velocidad de convergencia y calidad de las soluciones encontradas. En cuanto al tamao de la
poblacin se aconseja que sea en proporcin inversa al nmero de generaciones, es decir, a
mayor nmero de generaciones menor cantidad de cromosomas. La probabilidad de cruce suele
definirse entre un 40% y 90%21. La probabilidad de mutacin comnmente no sobrepasa el 10%
y la tasa de elitismo debera ser menor al 5%22. Sin embargo los valores de estos parmetros
pueden cambiar segn la estrategia de solucin que se adopte para el problema en particular y
el tamao de la poblacin elegido.
1.4.4 Funcin de desempeo
La funcin de desempeo permite asignarle valores numricos a los cromosomas que indican
qu tan bueno ste como solucin al problema para poder realizar el proceso de seleccin. Si
nos referimos a optimizacin es frecuente que se conozca una funcin matemtica explcita, en
ese caso la funcin de desempeo coincide con la funcin a optimizar (funcin objetivo).
Denotaremos como g(x) a la funcin objetivo y f(x) a la funcin de desempeo.
Existen diferentes tcnicas en las que se realizan modificaciones a la funcin objetivo para
obtener una funcin de desempeo que se acomode a algn mtodo de seleccin o para definir
cierto comportamiento deseado en el proceso de seleccin. La eleccin de una de las tcnicas y
de algunos parmetros asociados a ellas es una cuestin de prctica y experiencia. A
continuacin se estudian las tcnicas ms utilizadas.
21
Esta probabilidad no debera ser de 100% pues no se estara recreando la situacin natural en la que no
todos los individuos de una poblacin tienen la oportunidad de reproducirse.
22
F. Glover, G. Kochenberger. Handbook of Metaheuristics. KluwerAcademic Publishers, Boston, MA,
2003.
32
f (xi ) = (g(xi ) - r )
Donde g(xi) corresponde al resultado entregado por la funcin objetivo al evaluar el cromosoma
i, y r al resultado real conocido.
En el caso en que no se conozca la funcin objetivo g(x) pero si son conocidos una cantidad n
de valores rj que toma la misma para un conjunto de entradas, la funcin de desempeo para
un cromosoma podra expresarse como el error cuadrtico medio entre los valores conocidos rj
y los valores arrojados por la evaluacin del cromosoma (xj) en el conjunto de entradas:
n
f (x ) =
(x
j =1
- rj )2
f (x ) = d max* j - g(x )
33
Donde dmax es el valor mximo entregado por la funcin objetivo g(x) para los cromosomas de
determinada generacin y j es un porcentaje superior al 100%. Este porcentaje hace que se
utilicen valores ligeramente mayores a dmax para prevenir que el desempeo se haga cero
cuando toda la poblacin converge a un mismo valor de desempeo. Usualmente j es igual a
1.05.
1.4.4.3 Desempeo escalado
Esta tcnica hace que el comportamiento de la seleccin vare a lo largo de la evolucin. El
valor de la funcin de desempeo depende, adems de la funcin objetivo g(x), del valor
promedio de dicha funcin para toda la poblacin g y de la dispersin
g(x i ) - g
1
+
f (x i ) =
2s
1.0
s de valores:
si s 0
si s = 0
Donde
N
g=
g(x )
i
i =1
s la desviacin estndar:
N
N g(x i ) - g(x i )
s=
i =1
i =1
Se puede analizar que en las primeras generaciones se obtendrn valores altos de desviacin
estndar lo que har que las variaciones de los valores de la funcin de desempeo sean
pequeas y las oportunidades de supervivencia se repartan23. Segn avanza la evolucin, la
desviacin estndar tiende a disminuir por lo que los cromosomas con mejor desempeo tienen
ms oportunidades.
23
34
pi =
f (x i )
f
Donde
f =
f (x )
i
i =1
El cromosoma escogido ser aquel en cuyo rango est el nmero resultante de sumar el nmero
aleatorio con el resultado total que sirvi para escoger el elemento anterior. El comportamiento
es similar al de una ruleta (figura 1.12), donde se define un avance cada tirada a partir de la
posicin actual. Para aplicar el mtodo se puede seguir el siguiente procedimiento24:
1. Definimos las puntuaciones acumuladas de la siguiente forma:
q0 = 0
q1 = p1
q 2 = p1 + p2
qi = p1 + p2 + ... + pi
con
i = {1,2,3,..., N }
qi -1 < c < qi
35
p3
p2
pi =
p1
f (xi )
f
p4
p9
p5
p6
p7
p8
ci =
c + i -1
N
con
i = {1,2,3,..., N }
Una vez hecho esto se procede a ejecutar el paso 3 del mtodo de ruleta para cada i,
obteniendo los N cromosomas necesarios. El paso 3 para este caso queda expresado de la
siguiente forma:
Se selecciona al cromosoma i que cumpla:
qi -1 < ci < qi
con i = {1,2,3,..., N }
25
36
de cromosomas a cruzar.
1.4.6 Cruzamiento
Avanzando en el algoritmo general de la figura 1.8 (seccin 1.3.2). Despus de obtener a los
cromosomas candidatos por medio de un mtodo de seleccin, se procede a realizar un cruce
entre ellos. El cruzamiento es un operador gentico donde se eligen dos cromosomas padre que
intercambian entre ellos material gentico para generar dos cromosomas hijo.
Los operadores genticos poseen una probabilidad de aplicacin, en este caso probabilidad de
cruce, de manera que el operador slo se aplica si un nmero generado aleatoriamente (entre 0
y 1) est por encima de la probabilidad especificada. As por ejemplo si se define una
probabilidad de cruce de un 75% y al generar aleatoriamente un nmero obtenemos un valor de
0.8, que es mayor que 0.75, entonces se le aplica el operador de cruce a los cromosomas
elegidos26 para tal efecto, en caso contrario, por ejemplo si el nmero obtenido es 0.6, al ser
menor que 0.75 no se le aplica el operador de cruce a estos cromosomas. Como se dijo en la
seccin 1.4.3 la probabilidad de cruce usualmente se establece entre 0,4 y 0,9.
26
La palabra elegidos aqu, hace referencia a un proceso de eleccin netamente aleatorio dentro de la
poblacin de cromosomas previamente seleccionados como candidatos por algn mtodo de la seccin
1.4.5.
37
sino
Hijos.agregar(lista[padre1,padre2])
fin si
NuevaPoblacion.agregar(Hijos)
fin para
Figura 1.13 Pseudocdigo general de cruzamiento con probabilidad
Como puede observarse, cada cromosoma ocupa una posicin dentro de una lista
PoblacionCandidata, se generan dos nmeros enteros al azar entre 0 y el tamao poblacional
que son las posiciones en la lista de los dos cromosomas a cruzar (pos1 y pos2). Luego se genera
un nmero p entre 0 y 1, si el nmero es mayor que ProbCruce se aplica cruzamiento y los
hijos se agregan a
equivalentes a los padres. Como el proceso genera 2 hijos por cada 2 padres deber repetirse
N/2 veces para mantener un tamao N de poblacin constante. Esto obliga a que el tamao de
la poblacin sea un nmero par.
27
ARAJO, Lordes; CEVIGN, Carlos. Algoritmos evolutivos: un enfoque prctico. Alfaomega Grupo
Editor S.A. Mxico DF 2008.
38
Padre 1
Padre 2
Punto de cruce = 3
Hijo 1
Hijo 2
Padre 2
Hijo 1
7
39
1.4.7 Mutacin
Despus de haber realizado el proceso de cruzamiento, los hijos resultantes pueden sufrir
mutaciones como consecuencia de errores naturales en la copia del material gentico. La forma
ms sencilla de mutacin que puede aplicarse a un cromosoma hijo es la mutacin por
sustitucin puntual (figura 1.16) en la que se elige de manera aleatoria un locus y se cambia el
valor del gen para el mismo, de esta forma si en el locus se encuentra un gen con valor 1 se
cambia a 0 y viceversa.
Cromosoma original
Cromosoma mutado
locus de mutacin = 4
Figura 1.16 Mutacin por sustitucin puntual
Para aplicar el operador de mutacin se realiza un recorrido por todos los cromosomas de la
poblacin generando un nmero al azar entre 0 y 1 para cada cromosoma, si el nmero
generado es mayor a la probabilidad de mutacin establecida, el cromosoma actual se muta, en
caso contrario permanece inalterado. En la figura 1.17 se muestra un pseudocdigo para
realizar este proceso. Como se dijo en la seccin 1.4.3 la probabilidad de mutacin no debera
superar el valor de 0,1.
para i = 1 hasta N hacer:
pos = AleatorioEntero(0,N-1)
cromosoma = Poblacion.obtener(pos)
p = AleatorioDecimal(0,1.0)
si p > ProbMutacin y cromosoma.mutado
cromosoma.mutar()
cromosoma.mutado = verdadero
fin si
fin para
CalcularDesempeo(Poblacion)
verdadero entonces
se realicen mltiples mutaciones en un mismo individuo. Adems, notamos que despus del
bucle para se realiza un llamado al mtodo CalcularDesempeo, esto se hace debido a que en el
proceso de cruzamiento y de mutacin los cromosomas han cambiado su informacin gentica y
es necesario conocer el desempeo de la nueva poblacin para poder aplicar algunos mtodos de
reemplazo, como el elitismo. Sin embargo otros mtodos como el de reemplazo generacional y
reemplazo aleatorio no hacen uso del desempeo de la nueva poblacin por lo que ese paso
podra omitirse si estos se eligen como tcnica de reemplazo (seccin 1.4.8).
El operador gentico de mutacin permite al AG realizar pequeos saltos a diferentes reas del
espacio de bsqueda que posiblemente no pudieran ser alcanzados si no se aplica. En muchos
casos la mutacin produce individuos de peor desempeo que los individuos originales, ya que
la mutacin puede desligar las posibles correlaciones que se hayan formado entre genes a travs
del paso de las generaciones. Sin embargo esto contribuye a la diversidad poblacional, lo que es
fundamental para el correcto funcionamiento del algoritmo y evitar el ya tan mencionado
problema de convergencia prematura, siempre que no se elijan probabilidades de mutacin
demasiado altas o demasiado pequeas.
1.4.8 Reemplazo poblacional
Despus de haber generado una nueva poblacin de descendientes a travs de los procesos de
cruzamiento y mutacin, la cuestin siguiente es elegir cuales de los nuevos candidatos
obtenidos harn parte de la siguiente generacin.
El proceso de reemplazo no debe confundirse con el de seleccin, puesto que en este ltimo se
manifiesta una competencia entre los miembros de la misma poblacin. Por el contrario el
reemplazo se trata de un proceso de supervivencia poblacional, similar a lo que ocurre en la
naturaleza donde no todos los descendientes sobreviven para formar la nueva generacin.
Hasta este punto y segn el esquema general de un AE de la figura 1.7 (seccin 1.3.2), a travs
de los procesos de evaluacin, seleccin, cruzamiento y mutacin, hemos obtenido una nueva
poblacin P. Ahora nos corresponde encontrar una funcin o mtodo que determine cules
cromosomas de esta generacin reemplazarn a los cromosomas de la poblacin P original.
Existen varias alternativas:
Reemplazo de los n peores: Se eligen los cromosomas con desempeo menor al 10% del
desempeo medio f de la poblacin P. Luego se eligen aleatoriamente una cantidad n de
cromosomas a reemplazar (usualmente el 40% del conjunto de cromosomas con peor
desempeo), estos son eliminados de la poblacin P y se reemplazan en igual cantidad
por cromosomas de la poblacin P elegidos al azar. La poblacin P resultante pasa a ser
la siguiente generacin.
42
funciones y conjunto de smbolos terminales que son propios del dominio del
problema. En ocasiones se usa el lenguaje LISP30 para representar estos programas, esto se
debe a que en LISP todas las funciones son listas e incluso los programas se toman como una
lista de funciones, esto permite operar con ellos directamente sin realizar otro tipo de
codificacin para luego decodificar el programa en su respectiva solucin. Sin embargo la
representacin de un programa se puede extender a una estructura tipo rbol. En este trabajo
se adopta este tipo de representacin, por ser una forma ms general que permite implementar
la estructura en cualquier lenguaje de programacin.
El proceso evolutivo en PG involucra los mismos conceptos estudiados para los AGs, aplicando
las operaciones genticas habituales de seleccin, cruce y mutacin y est guiado igualmente
por una medida de desempeo de los programas frente al problema a resolver. La forma en la
que se aplican los operadores genticos de cruce y mutacin es en esencia igual, sin embargo en
este subcaptulo se analizan dichos operadores aplicados a la nueva representacin.
29
A. Michael, WINKLER Stephan, WAGNER Stefan, B. Andreas. "Genetic algorithms and genetic
programming: Modern concepts and practical aplications". CRC Press Tylor & Francis Group. USA 2009
30
Acrnimo de List Programming. Lenguaje Especificado originalmente en 1958 por John McCarthy.
Lisp es el segundo lenguaje de programacin de alto nivel ms viejo precedido por FORTRAN. Los
dialectos Lisp de propsito general ms ampliamente conocidos son el Common Lisp y el Scheme.
43
Los pasos de un algoritmo de PG son similares a los mencionados de manera general para un
AE en la seccin 1.3.2. Se puede adaptar el algoritmo general de la figura 1.8 de dicha seccin
para el algoritmo de PG as:
Algoritmo PG:
1. Generar una poblacin de programas aleatorios mediante expresiones
LISP o rboles formados por funciones y smbolos terminales.
2. mientras no se cumple criterio de parada hacer:
a. Ejecutar cada programa para evaluar su desempeo
b. Aplicar seleccin
c. Realizar cruzamiento
d. Aplicar mutacin
e. Reemplazar poblacin
fin mientras
3. Devolver el mejor programa como solucin
Figura 1.18 Pseudocdigo general para un algoritmo de PG
En este subcaptulo se realiza una revisin ms detallada de los elementos de este esquema
analizando las variantes ms usuales. Los elementos que se estudian son particulares para el
algoritmo de PG.
p = a3
que se puede expresar como
p = sqrt (a * a * a )
Por lo tanto esa sera la expresin que queremos hallar automticamente, a partir de datos
medidos para p y a. La codificacin en forma de rbol para dicha expresin sera:
44
locus = 3
0
Gen
SQRT
1
Cromosoma
*
3
*
4
:=
AND
<
>
5
+
x
:=
Tamao de la poblacin
Probabilidad de cruce
Probabilidad de mutacin
Tasa de elitismo
Podemos percatarnos que en primer lugar es necesario determinar cules sern el conjunto de
funciones y el conjunto de smbolos terminales respectivamente. Las funciones se definen como
nodos internos o padres de los nodos terminales, estos ltimos por consiguiente seran las hojas
del rbol. La identificacin de las funciones y de los nodos terminales depender obviamente del
problema en particular a resolver. En la siguiente tabla se muestran ejemplos de funciones y
smbolos terminales.
Conjunto de Funciones
Tipo
Ejemplo
+, -, *, /,...
Aritmtica
sen , cos, tan, sqrt , exp,...
Matemtica
and , or , not , ...
Booleana
if , if - else, ...
Condicional
for
,
while
, do - while, repeat ,...
Ciclos
Conjunto de Terminales
a, b, x, y, z ,...
Variables
0,1, 2, 3, 2.5, 4.8, ...
Constantes
move, left , right , rand ,...
Funciones Nullary
Como se observa en la figura, usualmente los nodos funcin son sentencias condicionales,
sentencias que agrupan otras sentencias, sentencias de ciclos o repeticin, operadores
matemticos,
funciones
trigonomtricas,
etc
los
terminales
podran
ser
variables
independientes, constantes o funciones nullary tambin conocidas como 0-arias, que no reciben
ningn parmetro.
En el ejemplo de la figura 1.19, el cromosoma que se ilustra es el resultado que debera obtener
la ejecucin del algoritmo despus de cierto nmero de generaciones. Realmente no se conoce
cul es la forma o estructura de la funcin que se quiere hallar pero se cuenta con una serie de
valores conocidos de p para ciertos valores de a. El conjunto de funciones con el que se
inicializa el algoritmo podra ser por ejemplo F = {+, -, *, /, SQRT } y el conjunto de smbolos
terminales T = {a } . La aridad de cada funcin del conjunto F debe ser conocida, por ejemplo
las funciones +, -, * y / tienen aridad 2 pues necesitan de dos argumentos para poder realizar
el clculo, por el contrario la funcin SQRT tiene aridad 1 porque slo requiere de un
argumento para ser calculada.
Lo siguiente es identificar la funcin de desempeo f (x) que mide el resultado de la ejecucin
de cada programa. Por ejemplo, supongamos que el problema consiste en mover una hormiga
por un tablero para recoger comida ubicada en ciertas posiciones desconocidas, el desempeo de
cada programa sera la cantidad de alimento que la hormiga puede recoger ejecutando la
estrategia dada por el mismo. Sin embargo, tambin podra definirse una funcin de desempeo
que no slo dependa de la cantidad de alimento recogido sino del nmero de movimientos que
la hormiga realice. As mismo podra aplicarse cualquier modificacin al resultado de la
evaluacin original del programa como las estudiadas en la seccin 1.4.4
Igualmente, como se describi en la seccin 1.4.3 para el AG, se recomienda definir la
probabilidad de cruce en un valor entre 40% y 90%. La probabilidad de mutacin en un valor
menor al 10% y la tasa de elitismo menor al 5%. En lo que respecta al tamao de la poblacin
se aconseja que sea en proporcin inversa al nmero de generaciones, es decir, a mayor nmero
de generaciones menor cantidad de cromosomas. La principal limitacin del tamao de la
poblacin es el tiempo de evaluacin de la funcin de desempeo, debido a que la evaluacin es
la ejecucin de cada programa el tiempo que se invierte ser demasiado si se tiene una
poblacin muy grande, lo que ralentizar el algoritmo. Usualmente la poblacin no supera los
500 cromosomas.
47
Adems de los parmetros descritos, que son similares tanto para el AG como para el algoritmo
de PG, deben definirse dos parmetros que son exclusivos del algoritmo de PG. Estos son la
profundidad de inicializacin y la profundidad mxima de los cromosomas31. La profundidad de
inicializacin se utiliza durante el proceso de creacin de la poblacin inicial, y garantiza que no
se formen cromosomas de un solo nodo por ejemplo, lo cual es probable que no signifique nada
para el problema. La profundidad mxima previene la formacin de cromosomas con
demasiados nodos, puesto que con las operaciones de cruzamiento y mutacin se pueden formar
rboles demasiado profundos que se vuelven computacionalmente costosos de evaluar y
mantener en la poblacin, ya que ocupan ms espacio en memoria. Este fenmeno es conocido
como Bloating32. La profundidad de inicializacin debera ser mucho menor que la profundidad
mxima y por lo menos igual a 2. Igualmente durante el proceso de inicializacin se debe
controlar que los cromosomas resultantes sean sintcticamente vlidos en el contexto del
problema.
1.5.4 Creacin de la poblacin inicial
La poblacin de cromosomas inicial se crea de forma aleatoria haciendo uso del conjunto de
funciones y de smbolos terminales definidos con anterioridad. En ocasiones se puede garantizar
la creacin de cierto tipo de cromosomas que se conoce de antemano podran ser soluciones
factibles del problema, aunque no es recomendable introducir cromosomas que se sabe que
pueden tener un desempeo demasiado alto, pues se debe garantizar diversidad poblacional
para prevenir el problema de la convergencia prematura (ver seccin 1.4.3).
Existen varias tcnicas para crear la poblacin inicial, las ms usadas son:
1.5.4.1 Inicializacin completa
En este mtodo se van creando nodos del cromosoma que pertenezcan nicamente al conjunto
de funciones F,
definida (pinit - 1) . Luego en ese punto slo se crean nodos que pertenezcan al conjunto de
terminales T. El procedimiento se realiza para todos los hijos del nodo raz. La eleccin de los
nodos funcin y nodos terminales se hace de manera aleatoria para cada caso.
Como puede observarse en la figura 1.21, este mtodo asegura la creacin de rboles completos.
Un rbol completo es aqul que es totalmente balanceado, es decir, que todo nodo que no es
31
48
hoja tiene todos sus hijos definidos y las hojas se encuentra nicamente en la profundidad
mxima del rbol.
1.
2.
4.
3.
a
5.
6.
*
+
pinit = 2
*
SQRT
F = {+, -, *, /, SQRT }
SQRT
T = {a }
funcin InicializacionCompleta(profundidad)
si profundidad
Pinit 1 entonces
NuevoNodo = aleatorio(Funciones)
para i = 1 hasta NuevoNodo.NumeroDeHijos hacer
NuevoNodo.Hijoi = InicializacionCompleta(profundidad + 1)
fin para
sino
NuevoNodo = aleatorio(Terminales)
fin si
retornar NuevoNodo
fin funcion
Figura 1.22 Pseudocdigo para el mtodo de inicializacin completa
49
33
1.
2.
3.
4.
SQRT
5.
*
a
pinit = 3
F = {+, -, *, /, SQRT }
T = {a }
SQRT
a
Figura 1.23 Ejemplo de inicializacin creciente
Como puede observarse en la figura 1.23, este mtodo de inicializacin no asegura la creacin
de rboles nivelados y por consiguiente tampoco permite crear rboles completos.
Al igual que en el mtodo de inicializacin completa la eleccin de los nodos funcin y nodos
terminales se hace de manera aleatoria, en este caso para cada hijo del nodo actual se genera
un nodo hijo aleatorio del conjunto Funciones y Terminales, es decir la unin entre los dos
conjuntos (Funciones Terminales) hasta que se alcanza un nivel menos de la profundidad de
inicializacin Pinit. El siguiente es un pseudocdigo ejemplo:
33
50
funcin InicializacionCreciente(profundidad)
si profundidad
Pinit 1 entonces
NuevoNodo = aleatorio(Funciones Terminales)
para i = 1 hasta NuevoNodo.NumeroDeHijos hacer
NuevoNodo.Hijoi = InicializacionCreciente(profundidad + 1)
fin para
Sino
NuevoNodo = aleatorio(Terminales)
fin si
retornar NuevoNodo
fin funcion
Figura 1.24 Pseudocdigo para el mtodo de inicializacin creciente
34
51
a
-1.23
-0.54
0.76
1.28
1.46
b
0.52
0.87
1.14
1.35
1.76
f(a,b)
-1.6425
-0.5529
1.0412
2.3812
3.3386
inicial de
*
a
/
SQRT
b
Figura 1.25 Cromosoma ejemplo
52
Para evaluar el desempeo del cromosoma de la figura 1.25 en primer lugar tendramos que
hacer un recorrido a travs de l, ya sea en inorden (izquierda raiz - derecha), preorden (raz
izquierda derecha) o postorden (izquierda derecha raz).
Para el cromosoma ejemplo el recorrido en inorden sera (a * (SQRT (b) / a )) , el recorrido en
preorden (* a (/ SQRT (b) a )) y el recorrido en postorden ( a (SQRT (b) a /) * ) . Debemos
hacer uso de los valores de la tabla 1.3, reemplazando en el cromosoma las variables a y b y
evaluando durante el recorrido. Por ejemplo, en la primera fila de la tabla a = -1.23 y b = 0.52,
reemplazando en el cromosoma y evaluando:
*
/
-1.23
SQRT
-1.23
-1.23
-1.23
0.7211
0.7211
-0.586
-1.23
0.52
b
0.52
0.87
1.14
1.35
1.76
Resultado
0.7211
0.9327
1.0677
1.1618
1.3266
53
f (x ) =
(x
j =1
- rj )2
Siendo los valores de f(a,b) de la tabla 1.3 los rj, los valores de resultado de la tabla 1.4 los xj y
n = 5. Entonces
5
(x
f (cromosa1 ) =
j =1
- rj )2
f (cromosa1 ) = 2.665
Por lo tanto, este es el desempeo para el cromosoma del ejemplo. Podemos notar que al usar
la funcin de desempeo error cuadrtico medio los mejores cromosomas sern aquellos para los
que el error se encuentre ms cercano a cero. No slo podemos hacer uso del error cuadrtico
medio para obtener el desempeo, podramos usar adems cualquiera de los mtodos estudiados
en la seccin 1.4.4 dependiendo de la naturaleza del problema.
Podemos notar a partir del ejemplo, que evaluar el desempeo de un cromosoma es realizar un
recorrido por su estructura para obtener un resultado numrico. Todo el procedimiento anterior
deber repetirse para cada cromosoma de la poblacin. Al final obtendremos todos los valores
de desempeo y podemos aplicar seleccin. No explicaremos aqu los mecanismos de seleccin,
puesto que se pueden usar exactamente los mismos que fueron descritos para los AGs: seleccin
por ruleta, por muestreo estocstico y por torneo (ver seccin 1.4.5)
1.5.6 Cruzamiento
El cruzamiento en PG consiste en combinar informacin gentica, ya sea un subrbol o un
nodo terminal, entre dos cromosas, generando un nuevo rbol o cromosoma hijo. En la figura
1.27 se muestra un ejemplo de cruzamiento. Para realizar el proceso de cruzamiento todos los
nodos del cromosoma deben estar enumerados con su correspondiente locus.
54
El locus a partir del cual se har el cruzamiento se elige aleatoriamente para cada padre, el
subrbol del padre 1 a partir del primer locus se combina en el padre 2 para crear al hijo 1, y
viceversa, el subrbol del padre 2 se combina en el padre 1 para crear al hijo 2.
Padre 1
Padre 2
locus de cruce = 5
SQRT
1
/
3
SQRT
4
locus de cruce = 2
Hijo 1
Hijo 2
*
b
SQRT
a
3
6
SQRT
1.5.7 Mutacin
Mientras que en un AG la mutacin usualmente consiste en cambiar aleatoriamente el valor de
un bit en una cadena, en PG se usan muchas tcnicas diferentes para realizar este paso, incluso
en muchas ocasiones se han aplicado varios mtodos simultneamente obteniendo muy buenos
resultados35. A continuacin se describen los tipos de mutacin ms comunes en PG:
1.5.7.1 Mutacin terminal
Este tipo de mutacin opera nicamente en los nodos terminales. Consiste en elegir
aleatoriamente un nodo terminal y cambiar su valor por otro, tambin elegido aleatoriamente,
que pertenezca al conjunto de smbolos terminales. En el ejemplo de la figura el locus de
mutacin es 5, y el conjunto de smbolos terminales es T = { a, b } .
cromosoma original
cromosoma mutado
locus de mutacin = 5
/
3
SQRT
SQRT
35
56
cromosoma original
0
cromosoma mutado
0
locus de mutacin = 2
2
/
3
+
3
SQRT
SQRT
cromosoma original
0
cromosoma mutado
SQRT
/
3
locus de mutacin = 2
57
cromosoma original
0
cromosoma mutado
0
locus de mutacin = 2
/
5
3
SQRT
/
4
SQRT
1.6 Aplicaciones
Los AGs y la PG tienen infinidad de aplicaciones en diversas reas del conocimiento. Desde el
diseo de automviles, de edificios, mquinas, piezas de ingeniera, optimizando el uso de
materiales, hasta economa, finanzas y la bsqueda de mejores estrategias de inversin en la
bolsa. El campo de investigacin de los AGs y la PG es bastante amplio, y contina creciendo.
Entre las aplicaciones en sistemas y computacin destacamos:
trfico areo, por slo nombrar algunos, han sido formulados usando PG. El espectro de
aplicaciones se expande desde la generacin de pruebas para clculo de predicados hasta la
evolucin de cdigo mquina para acelerar la evaluacin de funciones.
Software autoprogramado: La programacin gentica es mucho ms poderosa que un algoritmo
gentico simple ya que la salida de un AG por lo general es una cantidad, un valor numrico,
mientras que la salida del algoritmo de PG es otro programa de computador. En esencia, este
es el principio de los programas que se programan a s mismos. La PG funciona mejor que
cualquier otro AE en la resolucin de problemas en los que no se tiene una solucin ideal. Por
ejemplo, el diseo de un software que permita conducir un vehculo automticamente. No existe
una nica solucin para el problema de conducir un automvil, algunas soluciones pueden
sacrificar tiempo por conducir de manera segura, otras pueden comprometer la seguridad a
expensas de conducir ms rpido. En todo caso, conducir implica el compromiso de varias
variables entre s, cmo la velocidad y la seguridad. En este caso la PG encontrara una
solucin eficiente teniendo en cuenta una larga lista de variables. Adems, la PG es ideal para
encontrar soluciones de problemas en los que las variables estn en constante cambio.
59
2.1 Introduccin
El cerebro es el rgano ms complejo e incomprendido de la anatoma humana, su
funcionamiento ha cautivado a una gran cantidad de cientficos durante muchos aos y a pesar
de los numerosos estudios y avances que se han logrado, muchos de sus mecanismos de
funcionamiento son an enigmticos.
El cerebro est compuesto por billones de unidades de procesamiento ms pequeas llamadas
neuronas y trillones de conexiones entre ellas llamadas sinapsis. La capacidad de procesamiento
del cerebro se debe al enorme nmero de neuronas que trabajan cooperando entre s, para
manipular la informacin que fluye a travs de ellas en forma de pulsos electroqumicos. Esta
gran capacidad de cmputo que posee el cerebro humano le permite
resolver fcilmente
problemas tan complejos como el uso del lenguaje, la memoria y el control del movimiento del
cuerpo, tareas que para una mquina de cmputo automtica son demasiado difciles de
realizar. Ms an, el cerebro es el encargado de determinar otros elementos ms intangibles
como la conciencia, los sentimientos y los sueos, aspectos que al parecer, o por lo menos hasta
ahora, son imposibles de modelar en una mquina.
En todo caso, el funcionamiento del cerebro ha inspirado a muchos cientficos a encontrar una
forma de modelarlo. Las Redes Neuronales Artificiales (RNA) estn inspiradas en las redes
neuronales biolgicas del cerebro humano. Estn constituidas por elementos que se comportan
de forma similar a la neurona biolgica en sus funciones ms simples y se organizan de forma
similar a como lo hacen las neuronas biolgicas en el cerebro. La gran diferencia del empleo de
las RNA en relacin con otras aplicaciones de la computacin radica en que no son
algortmicas, esto es, no se programan hacindolas seguir una secuencia predefinida de
instrucciones. Las RNA aprenden a generar sus propias reglas de funcionamiento, para asociar
la respuesta a su entrada; es decir, aprenden por ejemplos y de sus propios errores. El
conocimiento de una RNA se encuentra en los valores de los pesos sinpticos, similar a las
redes neuronales biolgicas, donde el conocimiento de las mismas se encuentra en la sinapsis o
conexiones entre ellas. As, una RNA brinda una capacidad de procesamiento de informacin
que es mucho mayor, y posiblemente ms eficiente, que cualquier otro mtodo de manipulacin
de datos. La clase de problemas que se resuelven mejor con las RNA son los mismos que el ser
humano resuelve mejor: asociacin, evaluacin, y reconocimiento de patrones.
60
MICHAEL-TITUS, Andina. REVEST, Patricia. SHORTLAND, Peter. The nervous system. Churchill
Livingstone. Inglaterra, 2007
61
Cada
C
hemisfeerio cerebral se compone de:
Corteza
a cerebral o sustancia
a gris: Es un
na capa de cclulas amielnicas2 de un
nos 2 o 3
mm de grosor.
g
La co
orteza cerebrral es 30 vecees mayor quee la superficiie craneana, debido a
que preesenta numerrosos surcos y pliegues,, estos ltim
mos forman las circunvooluciones
cerebralees
La susttancia blanc
ca: Ms interrna constituiida sobre tod
do por fibras nerviosas am
mielnicas
que llega
an a la cortezza.
Cuerpo
o calloso: Desde
D
aqu miles
m
de fibrras se ramiffican por dentro de la ssustancia
blanca. Si
S se interrum
mpen los hem
misferios se vvuelven funcioonalmente in
ndependientess.
Surco ceentral
Lbulo p
parietal
rea cognitiv
va lingstica
rrea visual
Lbullo frontal
Lb
bulo occipitall
Cerebelo
rea auditiv
va
Lbulo
L
tempooral
Figura
a 2.1 El cereb
bro y sus parrtes
El
E cerebro se
s compone por alreded
dor de 100 billones de clulas esp
pecializadas llamadas
neuronas,
n
y casi 100 trrillones de interconexion
i
nes en serie y en parallelo entre ellas, que
proporcionan
p
n la base fsicca que perm
mite el funcion
namiento cerrebral3. Algu
unos cientficoos tienen
62
la creencia de que un cerebro que desarrolle una mayor cantidad de conexiones neuronales
puede adquirir mayor inteligencia que uno con menor desarrollo neuronal.
A pesar que el cerebro ha inspirado algunos modelos matemticos y computacionales, la
capacidad de procesamiento y almacenamiento de un cerebro humano estndar supera an a
las mejores computadoras hoy en da.
Existe una paradoja denominada la paradoja de Moravec. En los aos 80 Hans Moravec
postulaba el principio del razonamiento humano comparndolo con el desempeo de las
mquinas, asegurando que el pensamiento razonado humano requiere de poca computacin,
mientras que las habilidades sensoriales y motoras, no conscientes y compartidas con otros
muchos animales, requieren de grandes esfuerzos computacionales. Fue as como Moravec dijo:
es fcil comparativamente conseguir que las computadoras muestren capacidades similares a
las de un humano adulto en tests de inteligencia, y difcil o imposible lograr que posean las
habilidades perceptivas y motrices de un beb de un ao4.
2.2.2 La neurona
La neurona es similar al resto de clulas del cuerpo humano, ya que as cmo cualquier clula,
posee un ncleo que contiene la informacin gentica, est rodeada por una membrana que
protege el cuerpo celular y posee organelos que soportan su vida como el aparato de Golgi y
las mitocondrias. Pero, a diferencia de otras clulas del cuerpo humano, las neuronas dejan de
reproducirse tiempo despus del nacimiento. Es por eso que algunas zonas cerebrales son ms
ricas en neuronas en los primeros aos de la vida que en la adultez, puesto que las neuronas
que posteriormente mueren no son reemplazadas, claro que esto se compensa creando o
interrumpiendo conexiones entre ellas. Existe adems una diferencia clave que hace de las
neuronas nicas en su tipo: estn especializadas para transmitir informacin a travs del
cuerpo.
La informacin que transmite una neurona puede ser tanto elctrica como qumica.
Dependiendo de la funcin que desempee, una neurona puede ser: sensorial, si es responsable
de la conversin de los estmulos externos del medio en estmulos internos; motora, si transmite
informacin del cerebro a los msculos del cuerpo
63
Las
L neuronass estn divididas en tres partes bsicaas: las dendriitas, el somaa o cuerpo cellular y el
axn.
a
Las dendritas
d
son
n ramificacio
ones que se encuentran al inicio d
de la neuron
na y que
incrementan
i
el rea cub
bierta por la
a misma paara recibir in
nformacin d
de otras neu
uronas y
transmitirla
t
al soma. El soma
s
es dond
de se unifican
n las seales que provien
nen de las den
ndritas y
se
s transmiten
n al axn. El
E axn es un
na fibra alarggada que se extiende dessde el soma hasta las
ramificacione
r
es terminales y trasmite la
l seal neuroonal. Entre m
ms largo seaa el axn, ms rpido
es
e transmitid
da la informa
acin. Algun
nas neuronas tienen axon
nes recubiertoos de una su
ubstancia
grasosa
g
llam
mada mielina que acta como aislantte, gracias a esto estas neuronas transmiten
informacin
i
una neuronaa con sus
mucho ms rpido que otras. En laa figura 2.2 se muestra u
partes
p
principales.
El
E tamao, la
l forma y la
as caracterstticas varan d
de neurona a neurona seegn su tipo. Algunas
neuronas
n
posseen pocas deendritas y otras un alto n
nmero de elllas, estas lttimas estn d
diseadas
para
p
recibir una mayor cantidad
c
de pulsos,
p
de ig ual forma laa longitud del axn tamb
bin vara
segn
s
el tipo
o de neurona.. El axn m
s largo del ccuerpo human
no se extiend
de desde el in
nferior de
la
l mdula espinal hasta el
e dedo gordo
o del pie alcaanzando una longitud de aproximadam
mente 90
cm.
c 5
Dendritass
Terminaales
del axn
n
Soma
Nccleo
Axn
n
Coberttura de mielin
na
Figura
F
2.2. Neurona
2.2.2.1
2
Fun
ncionamientto de la neu
urona
Para
P
que un
na neurona pueda
p
comun
nicarse con ootras, necesitta recibir y enviar impu
ulsos. Las
dendritas
d
reeciben inform
macin de los receptorres sensorialles o de ottras neuronas. Esta
informacin
i
se
s transmite luego al som
ma y al axn. Una vez la iinformacin h
ha llegado all axn, la
misma
m
viaja a travs de
d l en form
ma de impu
ulso conocidoo como poteencial de accin. Un
H. SANES, Dan. A. RE
EH, Thomas & A. HARRI S, William. D
Development o
of the nervou
us system.
Academic
A
Press, USA, 2011
64
+100
+50
Potencial umbral
-50
Potencial de reposo
-100
1
Milisegundos
65
2.2.3
2
La sin
napsis y las redes neurronales
Las
L dendrita
as establecen contactos co
on los axonees y dendritaas procedentees de otras n
neuronas,
estos
e
contacttos distan un
nos de otros por
p aproximaadamente 20 millonsimaas partes de u
un metro
y permiten que
q un impulso se propag
gue por todaas las neuron
nas que se en
ncuentran cerrca de la
neurona
n
que lo genera. La mayora dee las neuronaas estn coneectadas con aal menos otraas 50000,
algunas
a
lo esstn hasta co
on 250000. Esstos puntos een donde se establecen loos contactos es lo que
se
s conoce com
mo sinapsis, trmino que proviene dell griego y quee significa u
unido.
La
L mayora de las sinapssis en las cllulas de la ccorteza cerebral se encuen
ntran situadas en las
espinas
e
dend
drticas, sobreesalen de las dendritas coomo pequeoos micrfonoss en busca dee seales.
La
L comunica
acin entre la
as clulas neerviosas en eestos puntos de contactoo es lo que sse conoce
como
c
transm
misin sinptiica.
Neurrotransmisoress
Sinapsis
Reeceptores
66
Una red neuronal se define como una poblacin de neuronas fsicamente interconectadas por
medio de sinapsis. La mayora de las redes neuronales o estructuras neuronales importantes se
forman en el nacimiento, por lo que el desarrollo neurolgico es crtico en los primeros aos de
vida, por ejemplo, se ha demostrado que si a un cachorro de gato se le impide usar uno de sus
ojos durante un periodo corto de tiempo, nunca desarrollar una visin normal por ese ojo.
Otra parte de las estructuras neuronales se desarrolla a travs del aprendizaje en un proceso en
el que nuevas conexiones sinpticas se forman entre las neuronas y otras se pierden por
completo.
Las estructuras neuronales siguen cambiando durante toda la vida, los cambios consisten en el
refuerzo o debilitamiento de las uniones sinpticas; se cree que la retencin de informacin
nueva se sustenta por la modificacin de la intensidad entre estas uniones, as por ejemplo, el
proceso de recordar el rostro de un nuevo amigo consiste en alterar varias sinapsis.
67
neurona.
Como se observa en la figura 2.5 la sumatoria y la funcin de activacin representan el cuerpo
celular o soma de la neurona y es all donde se realizan los clculos correspondientes para
transmitir el resultado a la salida y , que representa al axn de la neurona.
68
Entradas
x1
w1
x2
w2
w3
x3
wn
Salida
Entrada
Neta
(.)
Funcin de
activacin
xn
Net =
x w
i =1
+b
La salida y de la neurona est determinada por la funcin de activacin f que acta sobre la
entrada neta Net, as:
y = f (Net ) =
f x i wi + b
i =1
As como una neurona biolgica puede estar activa (excitada) o inactiva (no excitada); es decir,
que tiene un estado de activacin, las neuronas artificiales tambin tienen diferentes estados
de activacin; algunas de ellas solamente dos (0 y 1), al igual que las biolgicas, pero otras
pueden tomar cualquier valor dentro de un conjunto determinado. Bsicamente el papel que
cumple la funcin de activacin es el de escalar o limitar dicho conjunto de valores, que no son
otra cosa que la salida que se desea obtener en la neurona.
Existen diferentes tipos de funciones de activacin, en la figura 2.6 se muestran algunas de las
ms comunes. Algunas recomendaciones para elegir la funcin de activacin son6:
69
Funcin Identidad
f (x ) = x
-1
Funcin Gaussiana
(x -b)
f (x ) =
1
1 + e -ax
1
a =1
g(x ) = 2 f (x ) - 1 =
1 - e-ax
1 + e-ax
f (x ) = a e
2c
, a>0
b
-1
Escalar en este caso significa multiplicar o aadir constantes a la funcin de tal forma que la salida
(valores de f (x ) ) se acople al intervalo deseado. Por ejemplo, si una funcin f (x ) entrega valores reales
70
1
2
1
2
f (x ) as:
f (x )
Los datos de
entrenamiento de entrada/salida son cruciales para las RNA ya que la informacin necesaria
para descubrir el punto de funcionamiento ptimo se transmite a travs de toda la red.
Adems, las RNA son bastante flexibles, al ser sistemas que en la mayora de los casos no son
lineales (dependiendo de la funcin de activacin).
Otras caractersticas principales de las RNA son:
Los pesos sinpticos de las conexiones entre neuronas son utilizados para almacenar el
conocimiento que adquiere la red despus de haber completado el proceso de
aprendizaje.
Las seales se transmiten a travs de los enlaces de conexin entre las neuronas.
Cada capa est conformada por un nmero determinado de neuronas que reciben de
forma simultnea la misma informacin.
Existen diferentes arquitecturas de RNA que varan segn la cantidad de capas y la forma en
la que se transmiten las seales, cada una se diferencia adems por el tipo de algoritmo que se
usa para entrenar la red.
71
Capa de Entrada
Capa de Salida
b1
x1
w11
w21
x2
x3
1
f1
y1
f2
y2
f3
y3
f4
ym
2
3
bm
xn
wmn
Y = F (XW + B )
72
Con,
w
11 w12
w
21 w 22
W = w 31 w 32
wm 1
X = (x 1 , x 2 , x 3 , ... , x n )
B = (b1 , b2 , b3 , ..., bm )
Y = (y1 , y 2 , y 3 ,..., ym )
w13
w 23
w 33
... w1n
wmn
Capa Oculta
Capa de Entrada
Capa de Salida
b11
x1
w111
w121
x2
x3
z11
f 11
2
f
1
2
3
f
1
3
1
2
b21
2
11
w
w221
1
3
xn
i
f
f 21
y1
f 22
y2
f 2m
ym
b2m
b1i
w1in
1
i
w2mi
1
i
Y = Z l = F l Z l -1W l + B l
con
Z 1 = F 1(XW 1 + B1 )
Donde,
Fl : funciones de activacin de la l-sima capa
Zl : vector de salidas de la l-sima capa oculta
Wl : matriz de pesos sinpticos de entrada para la l-sima capa
Bl : vector de valores bias para las neuronas de la l-sima capa
X : vector de valores de entrada
As por ejemplo para la RNA de la figura 2.8 tenemos:
Y = Z 2 = F 2 (Z 1W 2 + B 2 ) = (y1 , y 2 ,..., ym )
w 1
11
w 1
21
1
W 1 = w 31
1
wi 1
w2
11
w2
W 2 = 21
2
wm 1
2
ym = fm2 x j wmj
+ bm2
j =1
) (
Z 1 = F 1 XW 1 + B 1 = z 11 , z 21 , z 31 , ..., z i1
j =1
1
1
w12
w13
1
1
w 22
w 23
1
1
w 32
w 33
... w11n
win1
2
w12
w12i
2
w 22
2
wmi
(
)
= (b , b ,..., b )
2
1
2
2
2
m
requiera que la red retenga informacin de resultados anteriores como ayuda para obtener
resultados futuros.
2.3.3.4 Redes recurrentes
En este tipo de RNA, la informacin no se transmite en un nico sentido, sino que tambin
existen conexiones haca atrs o entre las neuronas de cada capa, lo que permite
retroalimentacin y retencin de los datos. En las redes recurrentes no se impone entonces
ninguna restriccin en su conectividad, con lo que se gana un nmero mayor de pesos por
neurona y por lo tanto una mayor representatividad. De esta forma, la principal caracterstica
de este tipo de redes es la de realimentar su salida a su entrada, evolucionando hasta un estado
de equilibrio donde proporciona la salida final de la red. Esta caracterstica las hace tiles
cuando se quiere simular sistemas dinmicos; sin embargo, su entrenamiento es ms lento que
el de una red unidireccional y a la vez mucho ms complejo.
2.3.4 Mtodos de aprendizaje
La propiedad ms importante de una RNA es su capacidad de aprender a generalizar o
encontrar un patrn o regla a partir de un conjunto de valores de entrenamiento, es decir, la
capacidad de encontrar un modelo que ajuste los datos de entrada. Anlogamente al modelo
biolgico y como ya se mencionaba con anterioridad, el conocimiento de una red neuronal
reside en su sinapsis, o ms concretamente, en el valor de cada uno de los pesos sinpticos de
las conexiones entre neuronas. El aprendizaje en una RNA es un proceso iterativo que permite
ajustar los valores de dichos pesos sinpticos. De forma general se puede escribir la frmula de
actualizacin de un peso sinptico wij como:
k = 1, 2, 3,...
Donde,
Dwij (k )
Esto significa que el aprendizaje de una RNA es un proceso mediante el cual se modifican los
valores de los pesos sinpticos de cada una de las conexiones entre neuronas, as se considera
que una RNA ha aprendido cuando los valores de los pesos sinpticos permanecen constantes
con cada nueva iteracin, esto es:
75
w ij
k
=0
El tipo de aprendizaje en una RNA est determinado por el algoritmo o regla de aprendizaje,
donde se define el criterio
e = d -y
Donde,
d : Salida deseada
y : Salida de la RNA
76
La RNA debe aprender todos los patrones de entrenamiento definidos, para ello el supervisor
debe hacer uso de un error global que indique el error que produce la red ante todo los patrones
de aprendizaje, es por eso que no puede usarse un error local. El error global se define entonces
como el error cuadrtico medio de los errores locales, as:
1
E=
PM
1
2 (d pi - ypi )
p =1 i =1
Donde,
77
Perceptrn multicapa: Para resolver las limitaciones que posee el perceptrn simple se
propuso aadir capas a la arquitectura de la red entre las entradas y las salidas, conocidas,
como ya se mencion con anterioridad, como capas ocultas y que potencializan la capacidad de
procesamiento de la red. Este tipo de RNA es unidireccional y comnmente hace uso de la
funcin de activacin sigmoidea ya sea binaria o bipolar.
ADALINE: Este modelo de RNA fue desarrollado por Bernie Widrow y Marcian Hoff en la
Universidad de Stanford (California) en 1960. Su nombre es un acrnimo de ADAptative
LInear Element y fue utilizada inicialmente en telefona como un circuito elctrico adaptativo.
Generalmente este tipo de RNA es monocapa y hace uso de una funcin de activacin de tipo
escaln.
Mapas Auto-organizados (redes de Kohonen): Desarrollados por el Profesor de mrito de
la academia Finlandesa, Teuvo Kohonen, en 1989. Son un tipo de RNA que hace uso de una
tcnica de aprendizaje no-supervisado para producir una representacin N-dimensional del
espacio de datos de entrada, llamada mapa (comnmente en dos dimensiones).
Las redes de Kohonen estn conformadas por dos capas de neuronas: la capa de entrada de
sensores y la capa de salida que realiza el clculo. Cada neurona de la capa de salida debe
reflejar las coordenadas que tiene en el espacio N-dimensional en el que se est trabajando.
Este tipo de RNA se diferencia de otros en que hace uso de una funcin de vecindad para
preservar la topologa del espacio de datos entrada, adems la funcin de activacin es bastante
diferente pues realiza una comparacin entre las neuronas, teniendo en cuenta la funcin de
vecindad, para elegir la que representar al patrn de entrada. Este proceso se conoce como
algoritmo competitivo.
Mquinas de Boltzman: Propuesta por los investigadores Geoffrey Hinton y Terry
Sejnowski en 1983. Son RNA simtricas recurrentes que modelan una distribucin de
probabilidad para un conjunto de datos dado. Cada neurona de la red tiene un estado binario
determinado de manera probabilstica por la funcin de activacin (usualmente sigmoidea), y se
organizan en dos capas denominadas neuronas visibles y neuronas ocultas.
A este tipo de RNA se le conoce con el nombre de Mquina de Boltzmann porque la
probabilidad de que el sistema se encuentre en determinado estado viene dada por una
distribucin de Boltzmann-Gibbs9.
HINTON, Geoffrey & SEJNOWSKY, T.J. Learning and Releaming in Boltzmann Machines in Parallel
Distibuted Processing, Vol 1, Cambridge MTT Press, 1986
78
Redes de Elman: Es una RNA recurrente de dos capas, en la que existe retroalimentacin
desde la capa oculta, puesto que la salida de esta se presenta como entrada de la red. Esta
retroalimentacin hace posible que una red de Elman detecte o genere patrones variantes en el
tiempo. Una red de Elman hace uso de una funcin de activacin sigmoidea bipolar en las
neuronas de la capa oculta y la funcin identidad en la capa de salida.
Redes de Hopfield: Desarrolladas por el cientfico estadounidense John Hopfield en 1982.
Son un tipo de RNA recurrentes cuyo funcionamiento se relaciona con las llamadas memorias
asociativas, pues aprenden a reconstruir los patrones que recibieron como entrada durante el
entrenamiento. Este tipo de redes tiene arquitectura monocapa con interconexin total entre
las neuronas que la componen, utilizan una regla de aprendizaje no-supervisado y hacen uso de
funciones de activacin de tipo binaria.
El aporte principal de Hopfield consisti precisamente en conseguir que estas RNA recurrentes
fueran en s mismas estables. Imagin un sistema fsico capaz de operar como una memoria
auto-asociativa, que almacenara informacin y fuera capaz de recuperarla aunque la misma se
hubiera deteriorado.
Redes ART: ART corresponde a las siglas de Adaptative Resonance Theory (Teora de la
Resonancia Adaptativa). Este tipo de redes fueron desarrolladas por Stephen Grossberg y Gail
Carpenter como propuesta para resolver el dilema de la estabilidad y la plasticidad del
aprendizaje en redes neuronales. Bsicamente el dilema se refiere a que en la mayora de los
modelos de RNA las redes tienden a perder la informacin que aprendieron con anterioridad si
se intenta aadir incrementalmente nueva informacin. Este comportamiento es aceptable
cuando el dominio del problema es acotado y estable, pero en muchas ocasiones para problemas
reales estas dos situaciones no se dan.
En los siguientes subcaptulos se estudian ms detalladamente los modelos de RNA ms
conocidos: los perceptrones, las redes de Kohonen y las redes de Hopfield.
79
b
x1
w1
x2
w2
w3
x3
wn
xn
1 si Net 0
y = u(Net ) =
0 si Net < 0
Siendo
Net = x i w i + b
i =1
Como se puede analizar un perceptrn es simplemente un clasificador lineal, puesto que para
cualquier tipo de entrada, la salida que entrega slo puede tener dos posibles valores. Esto
significa que para un vector de entrada cualquiera X =
80
{x ,
1
x 2 , x 3 ,, xn } donde X R n ,
el perceptrn realiza una particin lineal del espacio Rn en dos semiplanos, en los que por una
parte estaran los vectores con salida +1 y por otra parte los vectores con salida 0 (para el caso
de la funcin escaln binario).
Para entender mejor este concepto supongamos que tenemos un perceptrn simple que trabaja
W = {w1 , w2 } como se muestra en la figura 2.10. Se realizar el ejemplo con vectores en dos
dimensiones con el fin de poder representarlos grficamente en el plano cartesiano.
b
x1
w1
y
w2
x2
{x x }
1,
dada por:
Net = x1w1 + x 2w 2 + b
De esta forma la neurona se activa (entrega un valor de salida 1) cuando Net 0 , esto es,
cuando x1w1 + x 2w 2 + b 0 , lo que es lo mismo que x1w1 + x 2w 2 -b , es por esta razn que el
valor bias tambin es conocido como umbral de la neurona, pues la misma no se activar si el
valor de la entrada neta no supera el valor del umbral.
Para analizar matemticamente el plano o superficie de separacin que el perceptrn genera,
tomamos el caso cuando la entrada neta es igual a cero pues corresponde al valor crtico de la
funcin de activacin f, as:
x1w1 + x 2w 2 + b = 0
81
x2 = -
w1
w2
x1 -
b
w2
Esto indica que la superficie de separacin generada por un perceptrn simple para un vector
de entrada en R2 es una lnea recta, con pendiente -w1 w 2 y punto de corte con el eje x2 en
x2
x1w1 + x 2w 2 = -b
1
0
x1
x3 = -
w1
w3
x1 -
w2
w3
x2 -
b
w3
82
Se debe tener en cuenta que el perceptrn simple puede estar compuesto por ms de una
neurona y como la arquitectura del perceptrn es monocapa, estas corresponden a las salidas
del mismo. Podemos entonces extender la arquitectura de una sola neurona a un perceptrn
simple con n entradas y m neuronas en la capa de salida, tal como se muestra a continuacin:
b1
y1 = u(x1w11 + x2w12 + + xnw1n + b1)
w11
w21
x1
b2
x2
bm
wmn
xn
b1
w11
b2
x1
x2
b3
w31
Si ilustramos los datos de entrada y los hiperplanos generados por el perceptrn, tenemos:
l1 : x1w11 + x2w12 + b1 = 0
l1
x2
l2 : x1w21 + x2w22 + b2 = 0
l2
C1
l3 : x1w31 + x2w32 + b3 = 0
C2
y3 y2 y1 Clase
0 0 0 N/A
0 0 1
C1
0 1 0
C2
0 1 1 N/A
1 0 0
C3
1 0 1 N/A
1 1 0 N/A
1 1 1 N/A
x1
l3
C3
mutuamente excluyentes y que entre mayor sea el nmero de clases en las que se deseen
clasificar los datos de entrada, menor sea el rea de clasificacin para cada una y por
consiguiente, mayor sea el rea de no-decisin. Estas reas de no-decisin podran aprovecharse
en problemas de clasificacin en los que las clases no sean mutuamente excluyentes, es decir, en
los que un dato de entrada pueda pertenecer a ms de una clase al tiempo.
2.4.2 Algoritmo de aprendizaje del perceptrn simple
El proceso de aprendizaje de un perceptrn simple es de tipo supervisado y consiste en
modificar iterativamente los pesos sinpticos y el valor de los umbrales, de tal suerte que se
modifiquen las ecuaciones de los hiperplanos progresivamente hasta obtener aquellos que
separan los datos en las categoras deseadas.
84
Consideremos entonces que se dispone de un perceptrn simple compuesto por una nica
neurona y n variables de entrada. Es necesario definir un conjunto de P vectores de entrada
Xi = {x1 , x 2 , x3 ,..., xn } , de los cuales se conoce su correspondiente salida di (salida deseada), que
se utilizarn como datos de entrenamiento (tambin llamados patrones de entrenamiento) y
donde di puede tomar el valor de 1 0. As, se est buscando un vector W = {w1 , w2 , w3 ,..., wn }
de pesos sinpticos y un valor b de bias, que garanticen la correcta separacin o clasificacin de
dichos vectores de entrada.
Teniendo ya definidos los patrones de entrenamiento y antes de aplicar el algoritmo, se deben
inicializar cada uno de los pesos sinpticos wi y el umbral b con valores aleatorios. Usualmente
se recomienda que estos valores se encuentren entre -1 y 1. Adems, tambin se define un
factor m entre 0 y 1, que corresponde a la tasa de aprendizaje10. De este valor depender la
velocidad con que el perceptrn aprender. As, entre mayor sea la tasa de aprendizaje, mayor
ser la correccin que se realice a los pesos, aunque tambin habr mayor riesgo de que se
produzcan oscilaciones demasiado bruscas en el ajuste y por lo tanto el algoritmo converja ms
lentamente. Teniendo en cuenta lo anterior, el algoritmo de aprendizaje sera:
fin = falso
yi = u x j w j + b
j =1
CAICEDO BRAVO, Eduardo Francisco. Una aproximacin prctica a las redes neuronales artificiales.
Programa Editorial Universidad del Valle, Cali 2009
85
Si analizamos el algoritmo y tenemos en cuenta que la salida del perceptrn simple nicamente
podr ser 0 o 1, podemos notar que el error entre la salida deseada di y la salida obtenida yi,
slo podr tomar tres valores diferentes: 1, -1 y 0. Para el caso en que el error es 1, el vector de
pesos sinpticos W aumenta sus valores de una forma proporcional a la tasa de aprendizaje y al
vector de entrada, esto es as porque la salida entregada por el perceptrn es menor a la salida
deseada, por lo que es necesario aumentar los valores de los pesos sinpticos para as obtener
un valor mayor en la salida y acercarse ms al valor deseado. Para un error igual a -1, los pesos
sinpticos se reducen, puesto que en ese caso la salida obtenida es mayor a la deseada. Y
finalmente para el caso en que el error sea cero, los pesos sinpticos no se modificarn, pues se
entiende que la salida deseada y la salida obtenida son iguales.
El mismo principio de actualizacin de los pesos sinpticos se extiende para la actualizacin del
valor bias b. Podemos notar que el bias puede tomarse como un peso sinptico cuya entrada es
siempre uno, por lo que la regla de actualizacin es muy similar a la del vector W, con la
salvedad de que en este caso b no corresponde a un vector sino a un escalar, para el caso del
perceptrn con una nica neurona.
Es necesario tener en cuenta, adems, que este algoritmo puede extenderse para el caso en que
se tenga un perceptrn simple con ms de una neurona en la capa de salida. En ese caso W
corresponder a una matriz de pesos sinpticos y tanto di como yi sern vectores, as como el
valor bias b.
86
x1
0
0
1
1
x2
0
1
0
1
x1
0
0
1
1
x1 OR x2
0
1
1
1
x2
0
1
0
1
x1 XOR x2
0
1
1
0
(a) Funcin OR
x2
x2
1
1
x1
x1
perceptrn simple el MLP es una red unidireccional, de esta forma las entradas que llegan a la
primera capa son mapeadas en las salidas en funcin de las distintas capas de neuronas
intermedias y de los parmetros libres de la red (pesos sinpticos y umbrales). Adems, se dice
que la red es de conectividad completa cuando cada neurona de una capa est conectada con
todas las neuronas de la siguiente capa, y es de conectividad parcial cuando se omiten
conexiones entre neuronas.
b11
w111
w211
b12
x1
b21
y1
b22
x2
1
3
w131
w231
y2
88
Tipo de perceptrn
Simple
Hiperplano
(dos regiones)
Multicapa
(una capa oculta)
Regiones poligonales
convexas
Multicapa
(dos capas ocultas)
Regiones arbitrarias
aproximadores universales.
FLREZ LPEZ, Raquel. FERNNDEZ, Jos Miguel. Las redes neuronales artificiales: Fundamentos
tericos y aplicaciones prcticas. Netbiblo, S. L. Espaa 2008
89
un espacio dimensional diferente, de tal forma que los patrones resulten ser separables
linealmente en dicho espacio. La dimensin del espacio en el que se proyectan los datos de
entrada viene dada por el nmero de neuronas que componen la capa oculta. Todo ello permite
que la regin de decisin resultante no se limite a un hiperplano, si no a regiones poligonales
convexas y otras regiones ms complejas que permitan clasificar correctamente los patrones de
entrada.
Como se mencionaba anteriormente, un MLP con una nica capa oculta es suficiente para
representar cualquier funcin booleana. Para implementar una funcin booleana se puede
disear un MLP con tantas neuronas en la capa oculta como argumentos de la funcin
booleana a los que se les asigna el valor 1 en la salida esperada. Por lo tanto, a cada patrn de
entrada que tenga salida igual a uno le asignamos una neurona en la capa oculta y utilizando
una neurona de salida conseguimos la representacin deseada. Por ejemplo, si deseamos
implementar la funcin XOR basta con utilizar dos neuronas en la capa oculta, puesto que hay
solo dos patrones de entrada a los que se les asigna una salida igual a 1: ( 1, 0 ) y (0, 1).
Uno de los problemas que se pueden presentar en un MLP, es el hecho de que no est
determinado el nmero exacto de capas ocultas que debe tener, as como de neuronas en dichas
capas, para que el perceptrn aproxime adecuadamente una funcin. Esto slo se puede
determinar mediante la experiencia, pero como regla general, si la red no logra aprender un
determinado proceso se aumentan neuronas en las capas ocultas y si la red pierde capacidad de
generalizacin, se quitan neuronas.
Otro problema en algunos casos seria el hecho de que la cantidad de pesos sinpticos a
actualizar por cada iteracin, se vuelve bastante elevado, haciendo que el tiempo de
entrenamiento se incremente.
X i = {x i 1 , x i 2 , x i 3 , ... , x in }
donde
Di = {di 1 , di 2 , ... , dim } a su correspondiente vector de salida deseado, para una red de n
entradas y m neuronas en la capa de salida.
Por ejemplo, si queremos que un MLP aprenda la funcin XOR, necesitamos construir una red
de dos entradas, dos neuronas en la capa oculta y una neurona en la capa de salida, de esta
forma los patrones de entrenamiento que se pueden entregar a la red sern del tipo:
En esa misma seccin, se lleg a la conclusin de que se debe minimizar el error global de la
red, definido como el erro cuadrtico medio de los errores locales, as:
1
E=
PM
1
2 (d pi - ypi )
p =1 i =1
Donde,
E=
1
2P
p =1
Dp -Yp
Ntese que en este caso se calcula la norma del vector resultante de la diferencia entre los
vectores de salida deseada y salida obtenida. El algoritmo backpropagation se encargar
entonces de encontrar un mnimo local para esta funcin de error.
91
Los nicos parmetros de la red que pueden ser modificados son los pesos sinpticos y los
umbrales de cada neurona, para hacer que el error cuadrtico medio E sea lo ms cercano a
cero posible. Como E es una funcin que depende de los pesos sinpticos de la red y de los
umbrales, los cuales a su vez hacen parte de una funcin continua y diferenciable (funcin
sigmoidea), E es tambin una funcin continua y diferenciable. Podemos minimizar E haciendo
uso de un proceso iterativo de descenso gradiente12, de esta forma se espera encontrar
un
mnimo de la funcin error, donde E = 0, que indica que los pesos sinpticos en ese punto
permanecen constantes, lo que significa que el algoritmo ha convergido a una solucin factible.
De forma simplificada, el funcionamiento del algoritmo de aprendizaje de una red MLP consiste
en un entrenamiento de un conjunto de patrones, empleando un ciclo de propagacin-
adaptacin de dos fases, llamados fase hacia adelante y fase hacia atrs. En la fase hacia
adelante, se aplica un vector de entrada como estmulo para la primera capa de neuronas de la
red, se va propagando a travs de todas las capas posteriores hasta generar una salida y se
calcula el error para cada neurona de salida. En la fase hacia atrs, los errores calculados se
transmiten hacia atrs en la red, partiendo de la capa de salida, hacia todas las neuronas de la
capa oculta que contribuyan directamente a la salida, recibiendo el porcentaje de error
aproximado a la participacin de la neurona oculta en la salida original. Este proceso se repite
capa por capa, hasta que todas las neuronas de la red hayan recibido un error equivalente a su
aporte relativo al error total. Con base en el error recibido, se reajustan los pesos sinpticos de
cada neurona, de tal suerte que, la prxima vez que se presente el mismo patrn a la red, la
salida real est ms cercana a la deseada; es decir, el error disminuya.
Si analizamos la funcin de error, notamos que esta depende nicamente del resultado obtenido
en la capa de salida, ya que la salida de las neuronas de la capa oculta no es conocida, por lo
que no es posible calcular un error en cada una de las capas. Es por esto que para actualizar los
pesos sinpticos de las neuronas de las capas ocultas, el algoritmo backpropagation debe
propagar hacia atrs el error calculado por medio de los pesos sinpticos de la capa de salida.
Durante este proceso, los pesos se multiplican con el valor de la salida de una neurona de la
capa de salida y este valor se transfiere a la correspondiente neurona de la capa oculta. El valor
para esta neurona es producido sumando los productos transmitidos por cada neurona de salida
y luego multiplicndolo por la derivada de la funcin de activacin. Este proceso se conoce
como la regla delta generalizada, que se explica con ms detalle a continuacin.
92
Dwij = m d pi y pj
Donde el subndice p corresponde al patrn de entrenamiento en concreto y m a la tasa de
aprendizaje.
La diferencia entre la regla delta original y la regla delta generalizada radica en el valor
concreto de d pi . Si bien en las redes multicapa, a diferencia de las redes monocapa, en principio
no se puede conocer la salida de las neuronas de las capas ocultas para poder determinar los
pesos en funcin del error, si se puede conocer la salida deseada, es decir, el resultado de las
neuronas de la capa de salida. As, si consideramos la i-sima neurona de la capa de salida,
entonces definimos:
d pi = (d pi - y pi ) f ' (Neti )
93
propagacin hacia atrs del error. Segn esto, en el caso en que la neurona i no sea una
neurona de la capa de salida (y por consiguiente sea alguna neurona de las capas ocultas), el
error que se produce est en funcin del error que proviene de las neuronas que reciben como
entrada la salida de la neurona i, as:
Donde el rango k cubre a todas aquellas neuronas a las que est conectada la salida de la
neurona i. De esta forma, el error que se produce en una neurona de la capa oculta es la
sumatoria de los errores que se producen en las neuronas a las que est conectada su salida,
cada uno de ellos multiplicado por el peso sinptico correspondiente.
Si analizamos detenidamente lo estudiado hasta ahora, notamos que el mtodo backpropagation
requiere una gran cantidad de clculos para realizar el ajuste de los pesos sinpticos de la red.
Ya hemos mencionado que el mtodo tambin hace uso de un indicador de variacin de los
pesos, que est dado por la tasa de aprendizaje m y que como sabemos interviene directamente
en la velocidad de aprendizaje de la red. El problema es que si esta tasa de aprendizaje es muy
grande, puede generar fluctuaciones o cambios muy bruscos en los pesos sinpticos. Se ha
sugerido que para filtrar estas oscilaciones se debe aadir en la expresin de modificacin de los
pesos, un trmino de momento denotado por b , de manera que la expresin sea:
94
k+1 es mayor, y si la variacin era positiva en k pero negativa en k+1, el descenso en k+1 es
ms pequeo, lo cual es deseable, ya que esto significa que se est descendiendo cerca de un
mnimo y que las modificaciones que se hacen deben ser menores para poder alcanzarlo.
Finalmente, la regla de actualizacin de los pesos sinpticos para el algoritmo backpropagation
quedara as:
Paso 1. Inicializar los pesos de la red y los umbrales de las neuronas con valores entre -1 y 1.
Paso 2. Inicializar la tasa de aprendizaje m y el momento b (opcional) con valores entre 0 y 1.
Paso 4. Computar la salida real de la red, calculando cada una de las salidas de las neuronas
en cada capa. As, para una neurona i:
j =1
Donde el ndice l se refiere a la capa sea oculta o de salida, que segn corresponda y el
ndice p al p-simo patrn de entrenamiento.
95
Paso 5. Calcular el trmino delta para todas las neuronas. Teniendo en cuenta que la funcin
d pi = (d pi - y pi ) f ' (Net pi ) = (d pi - y pi ) y pi (1 - y pi )
Para el caso en que la neurona i no sea de salida, el error en las capas ocultas depende
de todos los trminos de error de la capa de salida, por lo que el valor de delta es:
d pi = d pk wki x pj (1 - x pj )
k
Paso 6. Actualizacin de los pesos sinpticos y del umbral de la neurona i, utilizando la regla
delta generalizada:
Ep =
1 M 2
d
2 k =1 pk
En las tcnicas de gradiente descendente, es conveniente avanzar por la superficie del error con
pequeos incrementos de los pesos sinpticos. Esto es as porque nicamente disponemos de
informacin local de la superficie, y no se conoce lo lejos o lo cerca que se est del punto
mnimo. Con incrementos muy grandes, se corre el riesgo de pasar por encima del punto
mnimo sin conseguir estacionarse en l. Es por esto que la variacin de los pesos debe
contralase eligiendo un valor adecuado de tasa de aprendizaje m , normalmente este valor debe
encontrarse en el orden de 0,05 a 0,25, para asegurar que la red llegue a asentarse en una
solucin13. Lo habitual es aumentar el valor de m a medida que disminuye el error de la red
durante la fase de aprendizaje. As aceleramos la convergencia, pero teniendo cuidado de no
llegar nunca a valores de m demasiado grandes, que hicieran que la red flucte alejndose
demasiado del mnimo, esto se evitara haciendo uso del momento b , por lo general utilizando
valores que no superen el orden de 0.55.
Una vez que la red se haya asentado en un error mnimo ya sea local o global, el proceso de
aprendizaje finaliza, si la solucin es admisible desde el punto de vista del error, no importa si
el mnimo es local o global, en la prctica una red deja de aprender antes de llegar a una
solucin aceptable, por eso en ocasiones se suele cambiar el nmero de neuronas ocultas o la
tasa de aprendizaje y el momento, o simplemente se vuelve a iniciar el entrenamiento con
valores distintos de pesos sinpticos originales para resolver el problema.
13
HILERA GONZLEZ, Jos Ramn. MARTNEZ HERNANDO, Vctor Jos. Redes Neuronales
artificiales: fundamentos, modelos y aplicaciones. Alfaomega S.A, Mxico DF, 2000.
97
HOPFIELD, John. Neurons with grade response have collective computacional properties like those of
two-states neurons. Proceding of the National Academic of Sciences, 81, pgs. 3088-3092. Reimpreso en el
texto Artificial Neuran Networks: Theorical Concepts (V. Vemuri ed), pgs.. 82-86, IEEE Computer
Society Press Technology Series, 1988.
98
b1
x1
w21
y1
b2
x2
w31
y2
b3
x3
wn1
y3
bn
xn
yn
bi =
1 n
w
2 j =1 ji
obtenindose, segn el tipo de red, valores de salida binarios 0,1/-1,+1 un nmero real en el
rango [0, 1]/[-1,+1]. Esto corresponde a un primer paso en el procesamiento realizado por la
red, este proceso contina hasta que las salidas de las neuronas se estabilizan, lo cual ocurrir
cuando dejen de cambiar de valor. Entonces, el conjunto de estos n valores de salida
constituirn el valor de salida real entregado por la red, el cual corresponder con algn patrn
que fue almacenado durante la etapa de aprendizaje.
Este funcionamiento puede expresarse matemticamente de la siguiente forma:
y la
yi (k = 0) = x i
1i n
con
(y (k + 1) = y (k)) ,
es decir,
yi (k + 1) = f wij y j (k ) + bi
j =1
Donde f es la funcin de activacin ya sea de tipo escaln, para el modelo discreto, o
sigmoidea para el modelo continuo. Para el caso del modelo discreto, si se trabaja con
valores binarios de 0 y 1, se tendra:
1
si
yi (k + 1) =
yi (k ) si
0
si
w y (k ) + b
ij
j =1
w y (k ) + b
ij
j =1
w y (k ) + b
ij
j =1
>0
=0
<0
representa la informacin
(x , x , x ,..., x ) .
1
100
ti
= f wij y j + bi - yi
j =1
dk
dyi
15
101
aprendizaje hebbiano y que pretende medir la familiaridad o extraer caractersticas de los datos
de entrada. Este aprendizaje consiste bsicamente en el ajuste de los pesos de las conexiones de
acuerdo con la correlacin de los valores de salida de las dos neuronas conectadas, de esta
forma:
w ij = x i x j
Recordemos que inicialmente las salidas de las neuronas i y j corresponden a los valores de
entrada xi y xj respectivamente. Podemos notar que, si ambas neuronas son activas (salidas
positivas) o ambas son pasivas (salidas negativas), se produce un reforzamiento de la conexin.
Si por el contrario, una de ellas es activa y la otra pasiva, se produce un debilitamiento de la
conexin. Por tanto, la modificacin de los pesos se realiza en funcin de los estados de las
neuronas, obtenidos tras la presentacin de la informacin de entrada.
De forma general, si el nmero de patrones de entrenamiento es P, el valor definitivo de cada
uno de los pesos se obtiene mediante la suma de los P productos obtenidos por el
procedimiento anterior. Si nos referimos a una red de Hopfield discreta con valores -1 y +1, la
regla de aprendizaje puede expresarse como:
P p p
x x
w ij = p =1 i j
si i j
con
1 i, j n
si i = j
p
Donde x ip y x j corresponden respectivamente a la componente i-sima y j-sima del p-simo
patrn de entrenamiento.
Para el caso en que se trate de una red de Hopfield discreta con valores de 0 y 1, entonces los
pesos se calculan segn la expresin:
2x ip - 1 2x jp - 1
w ij = p=1
)(
si i j
con
1 i, j n
si i = j
La forma para calcular los pesos en el modelo de red de Hopfield continuo es similar al descrito
anteriormente, si se utiliza la red como memoria asociativa. Si la red se utiliza para resolver
102
E =-
n
1 n n
w
y
y
+
biyi
2 i =1 j =1 ij i j
i =1
Donde,
bi : Umbral de la neurona i.
Esta funcin guarda una estrecha similitud formal con el concepto de energa en mecnica
clsica. Trata de representar la evolucin del sistema, considerando cada vector de las salidas
de las neuronas, como puntos en un espacio de dimensin n, relacionndolos con un estado de
la red en un momento dado. Por ejemplo, si hablamos del espacio dimensional n = 3, la funcin
energa puede imaginarse entonces como si se tratara de una superficie montaosa, donde los
valles corresponden a los mnimos de la misma (Figura 2.20). Cuando en la red se han
almacenado los P patrones, habrn tambin P posibles estados estables para la red, as durante
su funcionamiento normal podr responder ante cierta entrada con una salida que represente
alguno de estos patrones registrados. Estos P estados corresponden precisamente con los
mnimos de la funcin de energa. Cuando se presenta a la entrada de la red un nuevo dato,
sta evoluciona hasta alcanzar un mnimo de la funcin, generando una salida estable.
103
Figura 2.2
20 Ejemplo de
d funcin dee energa de u
una red de H
Hopfield
Puede
P
demosstrarse que para
p
consegu
uir que se alccancen los esstados establles en la red, se debe
verificar
v
que los pesos de las conexio
ones autorecu
urrentes sean
n nulos (wii = 0) y que el resto,
wij = yi y j , ess por esto qu
cumpla
c
con la
l regla de ap
prendizaje Hebbiano
H
ue Hopfield eeligi este
tipo
t
de apren
ndizaje17.
En
E cuanto al
a modelo co
ontinuo, Hop
pfield consideera como poosible expresiin de su fu
uncin de
energa,
e
la sig
guiente:
E =-
n
n
yi
1 n n
wij yi y j + bi yi + f -1 (y ) dy
0
2 i =1 j =1
i =1
i =1
f -1 ess la inversa de
Donde
D
d la funcin de activacin
n sigmoidea (f ) de una n
neurona. Si laa funcin
f fuese por ejjemplo, f (x ) = 1 1 + e -ax , entonces l a inversa serra f -1(x ) = - 1 a ln (1 x - 1) por
lo
l que la funccin de energ
ga sera:
E =-
n
1
yi
1 n n
1 n
wiji yi y j + bi yi - ln - 1 dy
d
y
a i =1 0
2 i =1 j =1
i =1
Puede
P
analizzarse que, la funcin de energa para u
una red conttinua difiere de la funcin
n energa
para
p
una reed discreta nicamente
en
e el ltimoo trmino, ccuyo valor d
depende de a y que
representa
r
la
a ganancia o pendiente de
d la funcin sigmoidea. S
Se puede nottar que el vaalor de a
influye
i
direcctamente en los mnimoss de la funccin de energga, de all el cuidado q
que debe
17
1
HOPFIELD
D, John. Neural Networks and physicall systems witth emergent ccolective comp
putacional
abilities. Proceeeding of the National
N
Acad
demy of Sciencces, 79, pgs. 22554-2558, 19882.
104
tenerse para elegirlo. Si a tiene un valor tendiente a , f corresponder a una funcin de tipo
escaln y la red se convierte en una red de Hopfield discreta. Si a toma valores muy pequeos,
los mnimos de la funcin de energa disminuyen y como consecuencia, el nmero posible de
estados de la red, reducindose a un solo mnimo cuando a = 0.
capacidad = n
HILERA GONZALZ, Jos Ramn, MARTNEZ HERNANDO, Jos. Redes neuronales artificiales:
fundamentos, modelos y aplicaciones. Alfaomega editores, 2000.
105
no son ortogonales, puede ocurrir que cada uno de ellos no represente un mnimo de la funcin
de energa. Tambin puede ocurrir que ante una entrada en particular que coincida con uno de
los patrones aprendidos, la red converja a otro de los patrones almacenados que fuese muy
parecido. En definitiva lo que se requiere es que los patrones que debe aprender la red sean
ortogonales, lo cual ocurre si cada par de patrones de entrada difieren
componentes. Esta condicin puede expresarse con la operacin de producto punto entre
vectores, as:
Xk Xm 0
Siendo X k y X m
"k m
condicin tambin se conoce como distancia de Hamming y puede ser relajada estableciendo
una distancia mnima del 30% del total, para que los patrones sean casi ortogonales,
garantizndose todava un funcionamiento aceptable. En este caso la expresin sera:
State-In-A-Box (BSB)19. Se trata de una red con la misma topologa que la rede de Hopfield,
pero con conexiones autorrecurrentes en todas las neuronas. En la red BSB los patrones que se
almacenan tambin deben ser ortogonales. Sin embargo, esta red tiene una mayor capacidad de
almacenamiento, ya que puede aprender un nmero de patrones igual al nmero de neuronas
que componen la red. Por ejemplo, una red BSB de 200 neuronas podr almacenar un mximo
de 200 patrones para que funcione correctamente, frente a los 27 patrones que podra
almacenar una red de Hopfield con la misma cantidad de neuronas.
19
106
tonotpicos, donde los receptores que determinan distintas clases de rasgos relacionados con el
tono de los sonidos, se encuentran organizados en dos dimensiones. En sntesis, es frecuente
encontrar neuronas en la corteza cerebral que se encuentran organizadas espacialmente
formando mapas de neuronas. El modelo de mapas de rasgos autoorganizados o SOFM (SelfOrganizing Feature Maps), intenta reproducir esta forma de organizacin de las neuronas de la
corteza cerebral.
Los mapas autoorganizados fueron desarrollados por el fsico finlands Teuvo Kohonen a lo
largo de la dcada de los ochenta, de all que tambin se le conozcan como redes de Kohonen.
En este modelo, las neuronas se organizan en una arquitectura unidireccional de dos capas, la
primera es la capa de entrada conocida como capa sensorial, que consiste en n neuronas, una
por cada variable de entrada. Estas se comportan como buffers, distribuyendo la informacin
procedente del espacio de entrada a las neuronas de la segunda capa, las entradas son entonces
muestras x (t ) n del espacio sensorial20. El procesamiento se realiza en la segunda capa, que
est compuesta de m neuronas, ya sea en una dimensin (lnea de neuronas), dos dimensiones
(arquitectura rectangular) o de tres dimensiones (paraleleppedo). La conectividad de la red es
total, es decir, todas las neuronas de la capa de salida reciben sus estmulos de todas las
neuronas de la capa de entrada.
Kohonen propuso inicialmente una red con una capa de salida en una sola dimensin (lineal),
donde las neuronas estn organizadas en una fila similar a un vector, a esta estructura la
denomin LVQ (Linear Vector Quantization). A travs de un vector de entrada, se le presenta
a la red un estmulo que es modificado por los pesos sinpticos de las conexiones y se le
presentan a la capa de neuronas de procesamiento, resultando un vector de salida y.
20
107
Neurona(i,j)
Mapa (salida)
Sinapsis wijk
x (t)
Neurona k
21
KOHONEN, Teuvo. Interpretation of the Self-Organizating map algorithm. Neural Networks, 6, 7, pp.
895-905, 1993
108
Sij =
x w
k
k =1
ijk
El segundo mtodo hace uso de la distancia euclidiana para computar la medida de similitud,
as:
Sij =
(x
k =1
- wijk )
En este caso, un resultado igual a cero significa que el vector de pesos y el vector de entrada
son idnticos. Cualquiera de estos dos mtodos se aplica a todas las neuronas del mapa de la
red, y se elige como neurona ganadora aquella que tenga el mayor valor para el primer caso, y
aquella de menor distancia euclidiana para el segundo caso. A esta neurona se le modificarn
los pesos sinpticos. Sin embargo, el modelo de Kohonen introduce el concepto de funcin de
vecindad, que define un entorno alrededor de la neurona ganadora; su efecto es que durante el
aprendizaje se actualizan tanto los pesos de la vencedora como de las neuronas pertenecientes
al entorno o vecindad22.
22
KOHONEN, Teuvo. The self-organizing Map. Proc. Of the IEEE, 78, 9, pp. 1464-1480, 1990
109
a - g = (i - g1 )2 + ( j - g 2 )2
En general, la funcin h decrece con la distancia a la neurona ganadora, y depende de un
parmetro denominado radio de vecindad R(t), que representa el tamao de la vecindad actual;
es decir, el nmero de neuronas que se tomarn por radio.
110
0 si
h a - g , t =
1 si
a - g > R(t )
a - g R(t )
Escaln
h(x)
Funcin Pipa
Gaussiana
h(x)
h(x)
Sombrero Mexicano
h(x)
111
R(t ) = R0 + (Rf - R0 )
t
tr
m(t ) = m 0 + (m f - m 0 )
t
tm
Donde tm es el nmero mximo de iteraciones que debe hacerse para alcanzar el valor de m f .
Tambin es usual hacer uso de una funcin de tasa de aprendizaje que decrece
exponencialmente23:
m(k ) = m 0 f
m 0
t
tm
El uso de una u otra funcin por lo general no afecta demasiado el resultado final.
23
FLOREZ, Raquel. FERNANDEZ, Jose Miguel. Las redes neuronales artificiales: fundamentos tericos
y aplicaciones prcticas. Netbiblio S.L, Espaa 2008
112
Como hemos estudiado, la principal novedad del algoritmo de aprendizaje para las redes de
Kohonen es que la modificacin de los pesos sinpticos se hace con base en la funcin de
vecindad. Al inicio del entrenamiento la vecindad comprende una amplia regin del mapa, lo
que permite un ordenamiento global de los pesos sinpticos. A medida que se avanza en el
nmero de iteraciones, el tamao de la vecindad se reduce hasta que finalmente slo se
modifican los pesos sinpticos de la neurona ganadora. As, el proceso de aprendizaje
comprende dos fases: un ordenamiento global, en el que se produce el despliegue del mapa; y un
ajuste fino, en el que las neuronas se especializan.
La cantidad de iteraciones del algoritmo, debe ser proporcional al tamao del mapa (a mayor
cantidad de neuronas de salida, mayor cantidad de iteraciones), usualmente 50 iteraciones por
neurona es suficiente para que el algoritmo converja.
A continuacin se exponen los pasos del algoritmo:
Fase de despliegue
Paso 1: Inicizalizar aleatoriamente los pesos sinpticos wijk con valores entre -1 y 1.
Para t = 0 hasta t = iteracin mxima hacer:
Paso 3: Para cada neurona a = (i , j ) del mapa, calcular la similitud entre su vector
de pesos sinpticos wij y el vector de entrada x. Si se usa la distancia
euclidiana:
Sij =
(x
k =1
- wijk )
Paso 4: Elegir como neurona ganadora g = (g1 , g 2 ) , aquella cuya distancia sea la
menor de todas.
Paso 5: Actualizar los pesos de la neurona ganadora y las vecinas, siguiendo la regla:
Fase de especializacin
Repetir los pasos 2 a 5, con m(t ) y R(t ) constantes, en general: m(t ) = 0.01 y R(t ) = 1 .
113
2.8 Aplicaciones
Las redes neuronales tienen infinidad de aplicaciones en diferentes ciencias y se estn aplicando
sistemticamente para resolver distintas clases de problemas. Citamos aqu algunas de las
aplicaciones ms relevantes en las ciencias de la computacin.
Las redes neuronales multicapa como el MLP, se aplican sobre todo en:
establece
la
correspondencia
texto-fonemas
que
permitir,
durante
la
fase
de
24
T. Sejnowski y C. Rosenberg. Parallel networks that learn to pronounce english text. Complex Systems,
pgs. 145-168
114
clustering.
115
3. INTELIGENCIA COLECTIVA
3.1 Introduccin
El comportamiento de algunos animales que se organizan en grupos, especialmente insectos
como las hormigas, termitas, abejas y avispas; ha inspirado la creacin de algoritmos que
intentan modelar los principios por los que se rigen estos insectos sociales. La integracin y la
coordinacin de tareas de los individuos que componen estas colonias no requieren de un
supervisor o jefe central que de rdenes a todos. Dichos individuos resuelven sus problemas
ligados a su supervivencia, de forma distribuida y paralela, son capaces de llevar a cabo tareas
inteligentes como encontrar el camino ms corto entre dos puntos, construir complejas
estructuras y repartir tareas entre s. El campo de la inteligencia artificial que estudia este tipo
de comportamiento e intenta aplicarlo a la resolucin de problemas se denomina swarm
intelligence, es decir, inteligencia de enjambre o colectiva.
El comportamiento aparentemente inteligente que presentan los enjambres o colonias de
insectos se debe precisamente a su forma de organizacin. Como individuos aislados estos
insectos realmente son poco sagaces, pero como colonias pueden responder de forma rpida y
efectiva a su entorno. Las habilidades colectivas de estos animales, ninguno de los cuales
alcanza a percibir la situacin en general, siguen pareciendo fascinantes incluso para los
bilogos que los estudian.
El origen de esta inteligencia colectiva constituye uno de los mayores interrogantes que se han
planteado a cerca del funcionamiento de la naturaleza. Cmo se suman las acciones simples de
un conjunto de individuos para dar como resultado un complejo comportamiento grupal?,
Cmo logra un enjambre de abejas tomar decisiones crticas sobre su colmena si no todos los
individuos estn de acuerdo?, Cmo es posible que un conjunto de hormigas encuentre una
ruta ptima entre la colonia y su fuente de alimento?. Los investigadores han deducido
explicaciones fascinantes al respecto, y estas explicaciones han inspirado el desarrollo de
algoritmos como la optimizacin por colonia de hormigas, la optimizacin por enjambre de
partculas (PSO Particle Swarm Optimization) y los autmatas celulares. Estos algoritmos
pretenden hacer uso de los principios bsicos por los que se rige la teora de la inteligencia
colectiva, para resolver problemas cotidianos y de ingeniera principalmente relacionados con la
optimizacin.
116
Si observamos a una hormiga tratando de hacer algo por s sola, alejada de la colonia,
comprobaremos que su ineptitud es abrumadora. Si se trata de tomar una decisin una nica
hormiga est completamente perdida. Entonces, Cmo puede explicarse el increble xito que
han tenido las hormigas durante estos 140 millones de aos?, la respuesta se encuentra en el
trabajo en equipo.
La citada frase de la biloga de la Universidad de Stanford, Deborah M. Gordon, nos hace
pensar en la existencia de un comportamiento inteligente en conjunto, que pierde sentido
cuando se estudia a un individuo fuera de su contexto social como integrante de una colonia.
Ciertamente, una colonia de hormigas puede resolver problemas que seran imposibles de
resolver por un slo individuo, todo esto gracias a la inteligencia colectiva que gua a cada uno.
Uno de los factores importantes de las colonias de hormigas es que ninguna de ellas est al
mando, controlando todo lo que hace cada una. Incluso un hormiguero de medio milln de
hormigas opera perfectamente sin la direccin de un individuo. Por el contrario, el
comportamiento de estos insectos se basa en incontables interacciones entre ellos, siguiendo
cada uno un conjunto de reglas simples. Los cientficos lo describen como un sistema autoorganizado.
Para lograr entender el funcionamiento de esta inteligencia grupal, es importante primero
estudiar cmo se origina una colonia de hormigas.
3.2.1.1 Cmo se origina una colonia de hormigas?
Una hormiga hembra guarda el esperma que el macho deposit en su receptaculum seminis
durante el apareamiento. Tras la fecundacin, que generalmente tiene lugar en el aire, la
hormiga se posa y se arranca las alas con las mandbulas o frotndolas contra un objeto slido.
Luego comienza a excavar una pequea cmara y permanece en ella hasta el ao siguiente.
Durante todo este tiempo esta hormiga depende, para su propia nutricin, nicamente de su
voluminoso cuerpo y de los msculos de vuelo que se degeneran poco a poco. Tiempo despus
pone unos cuantos huevos que luego se transformarn en hormigas obreras. Cuida de ellos y
1
GORDON, Deborah M. Ants at Work: How An Insect Society Is Organized. Facultad de biologa,
Universidad de Stanford. 2000
117
cuando nacen las larvas las alimenta con secreciones salivares. En este momento esta hormiga,
conocida como hormiga reina, comenzar a dar origen a su colonia.
Las primeras hormigas obreras pueden salir de la cmara para llevar comida a la reina y a las
larvas que nazcan posteriormente. Tambin pueden desempear labores de construccin y
mantenimiento del nido. Con el paso del tiempo las hormigas crecern en nmero y por ende
construirn un nido ms grande y conseguirn an ms alimento para ellas mismas, para las
larvas y para la reina.
Los huevos de hormiga son blancos y slo miden 0,5 mm de longitud. Las obreras los llevan de
un lugar a otro a medida que cambian las condiciones del nido, mantenindolos siempre all
donde las condiciones son ptimas y lamindolos con frecuencia para mantenerlos libres de
infecciones. Las hormigas agrupan a las larvas en montones del mismo tamao y
aproximadamente de la misma edad. Si en un montn surge un individuo de mayor tamao las
"nieras" le prestan ms atencin. Por consiguiente, la clasificacin de las larvas de modo que
todas sean del mismo tamao sirve para que cada una reciba la cantidad de atencin que
precisa2.
Una vez adquirida la forma adulta, las obreras ayudan a la hormiga a salir de su envoltura. La
casta de una hormiga es determinada por el tipo de alimento que recibe durante su estado
larvario. Las destinadas a reproductoras (reinas) son alimentadas con una dieta rica en
protenas, mientras que las obreras reciben fundamentalmente una dieta rica en hidratos de
carbono. En algunas especies de hormigas unas obreras son ms grandes que otras, estas
desempean labores mucho ms pesadas que las obreras ms pequeas.
El sexo de una hormiga est genticamente determinado: las hembras tienen cromosomas XX y
los machos XY. Todas las hormigas obreras son hembras que no son frtiles, esto las obliga a
trabajar en la colonia durante toda su vida. Aquellas que corren con la suerte de ser frtiles
(reinas) estarn destinadas a abandonar el nido, aparearse y posteriormente formar una nueva
colonia. Los machos se originan a partir de huevos no fecundados, en su mayora estos huevos
se destinan tambin como alimento para las larvas. Si un macho logra nacer, este abandona la
colonia para posteriormente aparearse con una hormiga reina y morir durante el acto. En la
figura 3.1 se puede observar la apariencia de las hormigas macho y hembras (reina y obrera).
Una reina puede vivir hasta quince aos y durante todo ese tiempo es capaz de poner miles de
huevos que se fecundan con el esperma guardado durante el apareamiento.
SLEIGH, Charlotte. Ant Animals and Civilizations, Reaktion Books LTD, Londres, 2003.
118
Hormiiga Reina
Horm
miga Macho
Hormigga Obrera
3.2.1.2
3
El principio
p
de
e orden y fu
uncionamien
nto de una colonia de hormigas
Las
L hormigass se comuniccan entre ella
as por medioo de los sentiidos del tactoo y el olfato.. Cuando
una
u hormiga
a se encuentrra con otra, siente su oloor, ms especcficamente u
una feromonaa, que es
una
u sustancia qumica seegregada por casi todos llos seres vivoos; esto perm
mite que una hormiga
perciba
informacin so
obre otra accerca de su sexo, su cassta, si pertenece o no aal mismo
hormiguero
h
y si ha traba
ajado fuera o dentro de eeste ltimo (llas hormigass ocupadas deentro del
hormiguero
h
poseen
p
un ollor diferentee a las que haan estado fueera de l).
Una
U hormiga
a puede camb
biar de labor dependiendoo del tipo y cconcentracin de feromon
na de sus
compaeras.
c
Por ejemplo
o, a la hora
a de recolectar comida, aalgunas horm
migas desempean la
labor
l
de patrrulleras, salen
n a explorar los alrededorres del nido y deciden si es seguro, para las
hormigas
h
quee desempearn el papel de recolectooras, salir dell mismo. Lass recolectorass esperan
el
e regreso dee las patrullleras y cun
ndo estas reggresan tocan
n las antenas de las reccolectoras
trasmitindo
t
les una especcie de estmu
ulo para que salgan. Peroo, para que una recolectoora salga
del
d nido, estta debe recib
bir estmulos por parte d
de sus hermaanas patrulleeras en interrvalos no
mayores
m
a 10
1 segundos entre cada toque3. La alta frecuenccia de estm
mulos que recibe una
hormiga
h
reco
olectora por parte de lass patrullerass significa qu
ue los alredeedores del niido estn
3
119
libres
l
de dep
predadores, o que las con
ndiciones clim
mticas son adecuadas, por lo que ees seguro
salir
s
a recolectar
Inicialmente,
I
, slo unas cu
untas horm
migas son estiimuladas a reecolectar. Esstas salen dell nido en
busca
b
de com
mida y depen
ndiendo de la frecuencia ccon que regreesan, y graciaas a los estm
mulos con
feromonas,
f
ms
m
hormiga
as se unen a la labor. Una recolecctora slo reegresa al nid
do si ha
encontrado
e
algo,
a
por lo que
q cunto menos
m
alimentto haya, tard
da ms en loocalizarlo y een volver.
Pero
P
si hay mayor
m
cantid
dad de comid
da ms rpid
do ser su reggreso, estimu
ular a ms h
hermanas
y por ende ms
m hormiga
as se unirn a la tarea. Como vemoos, una horm
miga en partiicular no
decide
d
si es un buen da para reco
olectar, pero el colectivoo s. As fun
nciona la intteligencia
colectiva,
c
criiaturas simplles siguen reg
glas simples, tomando deecisiones con
n base en infoormacin
local
l
y cuand
do unimos todo, obtenemo
os un grupo oorganizado.
Siguiendo
S
co
on la descripcin del meccanismo de rrecoleccin, ccuando una hormiga loggra hallar
alimento
a
reg
gresa al nido
o dejando un rastro de feromonas tras ella, el cual indicaa a otras
hormigas
h
reccolectoras que siguiendo ese
e camino eencontrarn ccomida. Si h
hay comida su
uficiente,
ms
m hormiga
as usarn el camino
c
marcado, por lo qque la feromoona se reforzaar cada vezz que una
hormiga
h
salg
ga y regrese. Al
A final, el ca
amino con m
mayor cantidaad de feromoonas indicar la mejor
ruta
r
hacia la
a fuente de allimento. Podeemos ver un ejemplo en lla siguiente im
magen:
Figura 3.2
3 Recolecci
n de alimen
nto en una coolonia de horm
migas
El
E principio descrito fue el que inspirr el desarroollo del algoriitmo de optiimizacin por colonia
p
te para encon
ntrar el camino ptimo en
ntre dos punttos, tal y
de hormigas que se usa principalment
como
c
lo hacee naturalmente una coloniia de hormiggas biolgica.
120
3.2.2
3
Los en
njambres de abejas
Cuando
C
se trata de intelligencia colecctiva las horrmigas no soon los nicos insectos quee pueden
ensearnos
e
cosas muy tiles. Paralela
amente al esttudio de las ccolonias de h
hormigas, loss bilogos
han
h
analizad
do la impresiionante habillidad de las abejas para tomar decissiones acertad
das. Una
colmena
c
pueede llegar a tener miles de abejas, y aun as, saben sup
perar sus diiferencias
individuales
i
y decidir lo mejor
m
para la
a colonia.
De
D forma sim
milar a una colonia
c
de ho
ormigas, unaa colonia de abejas se oriigina a partiir de una
abeja
a
reina frtil
f
que se ha apareado con una ab eja macho, cconocido com
mo zngano. La abeja
reina
r
comien
nza a deposita
ar y cuidar de
d sus huevoss que darn oorigen a las aabejas obreraas, que al
igual
i
que lass hormigas ob
breras, cuida
arn de su m
madre y de su
us hermanas en estado d
de larvas.
Las
L abejas ob
breras se enccargarn ento
onces de traeer alimento a la colonia y de construirr y hacer
mantenimien
m
nto a la colm
mena, mientra
as la reina seeguir ponien
ndo huevos d
durante el trranscurso
de
d su vida deespus de la fecundacin.
f
La
L abeja rein
na pone, en su mayora, huevos que darn origen
n a hembras que no son frtiles y
que
q desempean el papel de obreras; y algunas occasiones los h
huevos darn
n origen a zn
nganos, o
a abejas hem
mbra frtiles que
q posteriorrmente se coonvertirn en
n reinas. En lla figura 3.3 se puede
observar
o
la apariencia
a
de una abeja reeina, un znggano y una ab
beja obrera.
En
E la mayorra de las esp
pecies de abeejas la reina vive cerca d
de 4 aos. Alrededor de llos 2 a 3
aos
a
de vida la abeja rein
na comienza a producir hu
uevos que daan origen a ottras abejas reeinas, as
se
s garantiza la prevalenciia de la colm
mena al ser reeemplazada u
una reina vieeja por una rreina ms
joven
j
y frtill4.
Abeja Reina
R
Zngan
no
Abeja Obrerra
Figura
a 3.3 Aparieencia de las aabejas segn su sexo y cassta
MICHENER
R, Charles D. The
T bees of thee world. The JJohns Hopkinss University Press. EE.UU, 2000
121
Desde el punto de vista anatmico la reina es muy distinta de los znganos y las obreras. Su
cuerpo es largo, con un abdomen mucho mayor que el de una abeja obrera. Sus mandbulas
estn armadas con afilados dientes cortantes, mientras que sus descendientes tienen mandbulas
sin dientes. La reina tiene un aguijn curvo y liso que puede usar una y otra vez sin poner en
peligro su vida, en contraste, las abejas obreras van armadas de una aguijn recto y barbado,
de modo que cuando pican queda anclado con firmeza en el cuerpo de la vctima y al intentar
sacarlo la abeja se desgarra parte del abdomen y muere poco despus. La reina, adems, carece
de las herramientas de trabajo que poseen las obreras como cestas para el polen, glndulas que
segregan cera y una vejiga bien desarrollada para la miel. Su alimento es casi exclusivamente
una secrecin llamada jalea real que producen las glndulas de las abejas obreras.
Las obreras construyen la colmena a base de cera que se produce en unas glndulas especiales
llamadas glndulas cereras. Construyen las famosas celdas hexagonales, en donde se criarn los
huevos que la abeja reina deposita. Ya desarrolladas, las larvas se encerrarn en una celda y,
cuando se conviertan en una abeja adulta, saldrn rompiendo la cubierta que las haba aislado.
Pero la funcin de las abejas obreras no es slo la de recoger alimento y atender a la reina,
tambin tienen que limpiar la colmena y renovar el aire con las alas. Cada colmena tiene,
adems, un olor propio, eso permite que cada abeja vuelva siempre a su hogar y no se
equivoque de colmena.
Las obreras tambin desempean una labor de suprema importancia para la colonia, la correcta
eleccin de un lugar adecuado para la colmena. A finales de la primavera, cuando el nmero de
abejas ya es demasiado elevado, la colonia se divide y la reina, algunos znganos y casi la
mitad de las obreras vuelan a un lugar cercano, usualmente un rbol, y se amontan. All
esperan mientras un grupo de obreras sale en busca del lugar ideal para instalar la nueva
colmena. Cuando la colonia elige un lugar todas se dirigen a l y no vuelven a moverse de all,
as que la decisin debe ser muy acertada. Cmo logran las abejas ponerse de acuerdo sobre el
mejor lugar para instalar su nuevo hogar?
3.2.2.1 El principio de los enjambres de abejas
Pese a que las abejas suelen tener opiniones diferentes sobre el mejor lugar para localizar la
nueva colmena el grupo tiende a escoger el mismo sitio. Para tomar esta decisin las abejas
recolectan
informacin
por
ellas
mismas,
haciendo
122
evaluaciones
independientes
y,
Cuando
C
una obrera encueentra un luga
ar que ella crree puede ser apropiado p
para ubicar laa colonia,
regresa
r
dond
de las dems obreras
o
y les comunica su eleccin rrealizando un
na especie dee baile en
el
e aire, que los investig
gadores llam
man el men
neo. Este baile involucrra diferentess giros y
direcciones
d
de
d movimientto que la abeja realiza aagitando fuertemente sus alas y realizzando un
meneo
m
partiicular con su abdomen. Existen diiferentes clases de bailees con deterrminados
movimientos
m
. Los investtigadores creeen que inclluso en algu
unos bailes se puede coomunicar
informacin
i
detallada sob
bre la direcccin y la disttancia a la q
que se encueentra la comiida, o en
este
e
caso, el nuevo lugar elegido para
a la colonia. En la figura 3.4 se puedee observar un
na de las
danzas
d
caractersticas de las abejas.
La
L obrera con su baile invita a otras a que revisen
n el lugar enccontrado porr ella, as quee despus
de
d un tiempo
o varias obreeras se encon
ntrarn danzaando, unas a favor de un
n sitio y otraas a favor
de
d otro. Poco
o despus peq
queos enjam
mbres se form
maran alreded
dor de los nid
dos potencialles.
El
E momento decisivo lleg
ga cuando la cantidad de abejas en un
n nido poten
ncial supera eel umbral
de
d 15 (esto se ha determ
minado por medio de nu
umerosos exp
perimentos). En ese mom
mento se
considera
c
qu
ue se ha llega
ado a un con
nsenso, por loo que se les comunica a las dems oobreras la
distancia
d
y la direccin
n del lugar, as mismo al resto de la colonia y a la abej
eja reina.
Finalmente,
F
toda la colon
nia se instala
a en el nuevoo sitio que, p
por supuestoo, resulta ser el mejor
de
d todas las opciones.
o
Figura
a 3.4 La dan
nza de las abeejas
Las
L reglas que
q
siguen la
as abejas pa
ara tomar d
decisiones, bu
uscando diveersidad de oopiniones,
promoviendo
p
o la competeencia libre entre las ideaas y usandoo un mecanismo efectivoo para ir
eliminando
e
opciones,
o
insp
piraron la crreacin de aalgoritmos qu
ue hacen usoo de estos prrincipios,
como
c
el algo
oritmo de op
ptimizacin por
p colonia dde abejas, y la optimizaccin por enja
ambre de
partculas.
p
123
3.2.3
3
Intelig
gencia celullar
Hasta
H
ahora se ha descrito como fun
nciona la intteligencia collectiva en grrupos de inseectos que
trabajan
t
cooperando entrre s. Sin embargo, la deffinicin de in
nteligencia coolectiva, en ss, abarca
cualquier
c
gru
upo de seres vivos que individualmentte desempeaan funciones simples, perro que en
conjunto
c
rea
alizan tareas complejas. As, en estaa definicin se incluyen tambin orgganismos
mucho
m
ms simples, porr ejemplo, microorganism
m
mos unicelulaares como baacterias o in
ncluso las
clulas
c
de nu
uestro cuerpo.
Figu
ura 3.5 Baccteria E. Coli
A pesar de que
q estos microorganismoss son bastantte simples naadie discute llas tareas asoombrosas
que
q en conju
unto pueden llegar a realizar. Sabem
mos que las b
bacterias son causantes d
de un sin
nmero
n
de enfermedades e infecciones que pueden
n resultar moortales para el ser human
no. Estos
microorganis
m
mano, por
mos, ademss, son de los ms abundaantes en el pllaneta. En ell cuerpo hum
ejemplo,
e
hay
y aproximada
amente tres veces tantaas clulas baccterianas com
mo clulas h
humanas,
prefiriendo
p
lugares
como
la piel y
el tracto
digestivo.
Adems,
las
bacterrias
son
asombrosame
a
ente resistenttes, se encu
uentran en toodos los hbittats terrestrees y acuticoos; crecen
hasta
h
en los lugares mss extremos como
c
en los manantialess de aguas ccalientes y ccidas, en
desechos
d
rad
dioactivos e incluso, algu
unas, en el espacio exteerior. Todas estas caractersticas
fascinantes
f
han
h
llamado la atencin de los cienttficos duran
nte mucho tiiempo, estud
diando la
forma
f
en la que
q interact
an estos serres. En la fig ura 3.5 se pu
uede observaar la bacteriaa E. Coli,
una
u de las ba
acterias ms estudiadas por
p el hombrre, presente een el tracto iintestinal de los seres
humanos.
h
Los
L cientfico
os que han investigado
i
estos
e
microorrganismos haan llegado a la conclusin
n de que
estos
e
interacctan entre s, y toman
n decisiones conjuntas, por medio de reglas simples e
informacin
i
local que peerciben de su
us similares. Este mecan
nismo se ha utilizado paara crear
algoritmos
a
de simulacin
n como los au
utmatas cellulares, e inccluso se ha aaplicado paraa resolver
problemas
p
de
d optimizaciin con algo
oritmos comoo la optimizzacin paraleela por alim
mentacin
bacteriana.
124
Agente Simple
Percepciones
Receptor
Reglas
Condiciones
Respuesta
Ambiente
Acciones
Emisor
125
Al igual que los organismos biolgicos simples se organizan en colonias, los agentes simples se
organizan en sistemas. Si se quiere igualar el xito de los insectos sociales a la hora de resolver
problemas es necesario que el sistema posea las siguientes caractersticas:
Autonoma: Todos los agentes simples deben ser autnomos, controlando su propio
comportamiento y tomando sus propias decisiones con base en la informacin local que
puedan percibir.
- 6
llamada funcin de
ponderacin o funcin de peso. As, a cada arista del grafo se le asigna un valor real positivo
denominado peso, que representa el coste de recorrer esa arista desde un nodo origen i al nodo
destino j; este peso se denota por w ij . Un ejemplo de grafo ponderado se puede observar en la
siguiente figura:
e
2
a
5
8
4
c
127
wab = wba = 4
wac = wca = 8
wbc = wcb = 6
wbe = web = 3
wce = wec = 5
wcd = wdc = 4
wde = wed = 2
Como vemos, el grafo del ejemplo no es un grafo completo, es decir, no todos los vrtices se
encuentran conectados con el resto. Siendo esto as, hay algunos pesos que no se encuentran
definidos y cuyo valor se asume como ; de esta forma, se denomina matriz de pesos de un
grafo ponderado G = (V , A) , tal que V = {v1 , v 2 , v 3 , ..., vn } , a una matriz de orden n n
formada como sigue:
W = aij
wij si
aij
si
(v , v ) A
(v , v ) A
i
4 8
4 6 3
W = 8 6 4 5
4 2
3 5 2
La matriz de pesos puede entonces representar las distancias entre un grupo de ciudades en el
problema del viajero, el tiempo de ejecucin de una tarea en un problema de planificacin, y
cualquier otro valor o coste en un problema que pueda representarse en forma de grafo
ponderado.
En un algoritmo de optimizacin por colonia de hormigas, un nmero determinado de hormigas
artificiales construye soluciones para un problema de optimizacin e intercambia informacin
128
Autor(es)
Dorigo et al.
Dorigo et al.
Cambardella & Dorigo
Cambardella & Dorigo
Stutzle & Hoos
Bullnheimer et al.
Maniezzo
Blum et al.
Ao
1991
1992
1995
1996
1996
1997
1999
2001
129
Este subcaptulo se centra en el estudio de los sistemas de hormigas al ser el algoritmo original
y de uso ms extendido.
3.4.2 Sistema de Hormigas: Modelo basado en feromonas
Un problema de colonia de hormigas puede definirse como un problema P = (S , f ) de
optimizacin en el que se tiene un conjunto de objetos S y una funcin objetivo f : S +
que asigna un valor positivo que representa el costo. El objetivo es encontrar un objeto s con
un costo mnimo. As, un problema de colonia de hormigas basado en feromonas puede definirse
como P = (S , W, f ) donde:
130
GC = (C , L ) correspon
construccin
c
nde a un grrafo complettamente con
nectado de ttodos los
componentes
c
s de solucin. As, cada co
omponente d e solucin coorresponde a un nodo del grafo.
Un
U problema
a de optimizacin puede entonces rep
presentarse ccomo un prooblema de Sisstema de
Hormigas
H
meediante la descomposicin
n del problem
ma principal een componen
ntes de soluciin. Para
hallar
h
la sollucin las ho
ormigas reco
orren un graafo de constrruccin GC cuyos nodoss son los
componentes
c
s de solucin
n. As, el mo
odelo basadoo en feromoona consiste en la adicin de un
parmetro
p
ra
astro de ferom
mona Ti a cada nodo ci C del grafoo de construcccin GC .
Como
C
ejemp
plo considerem
mos el famosso problema del viajero (Figura 3.8). Dado un conjunto
finito
f
de ciud
dades, y costtos de viaje entre todos llos pares de ciudades, en
ncontrar la foorma ms
barata
b
de viisitar todas las
l ciudades exactamentee una vez, v
volviendo a lla ciudad de partida.
Mas
M precisam
mente: Los co
ostos son sim
mtricos en ell sentido de que viajar deesde la ciudaad A a la
ciudad
c
B tieene el mismo
o costo que viajar
v
desde la ciudad B a la ciudad
d A. La cond
dicin de
visitar
v
todas las ciudadess implica que el problemaa se reduce a decidir en qu
u orden las ciudades
van
v a ser visitadas.
Ciudad
dB
C
Ciudad E
Ciudad A
Ciudad D
Ciudad C
Figura
a 3.8 Probleema del Viajeero
La
L solucin ms directta es la qu
ue aplica laa fuerza bru
uta: evaluarr todas las posibles
combinacione
c
es de recorriidos y queda
arse con aqueella cuya rutta utiliza la menor distaancia o el
menor
m
costo.. El problem
ma de esta so
olucin es qu
ue el nmeroo de posibles combinacion
nes viene
dado
d
por el factorial
f
del nmero
n
de ciiudades (n!), y esto hace que la soluccin sea imprracticable
para
p
valores de n incluso
o moderadoss, con los meedios compu
utacionales acctualmente a nuestro
alcance.
a
Porr ejemplo, si un comp
putador fuesse capaz dee calcular laa longitud de cada
combinacin
c
en un micro
osegundo, tardara algo m
ms 3 segundoos en resolverr el problemaa para 10
131
ciudades, algo ms de medio minuto en resolver el problema para 11 ciudades y 77.147 aos en
resolver el problema para slo 20 ciudades. Por ejemplo, las rutas posibles entre 12 ciudades
son 479 001 600 combinaciones, y el nmero de caminos individuales entre ciudades es la
sumatoria desde 1 hasta 12-1, es decir, 66.
Un posible modelo para este problema, usando un Sistema de Hormigas, consiste en una
variable de decisin binaria Xa asociada a cada a A del grafo del problema del viajero
G = (V , A) . As, para cada a A se obtienen dos componentes de solucin c1a que indica que
la arista a es parte de la solucin, y c0a que indica que la arista a no es parte de la solucin.
Ntese que cualquier otro modelo que cumpla con las reglas generales de un grafo ponderado
puede acomodarse a este problema, pero bsicamente el principio sigue siendo el mismo.
132
( )
( )
Donde s P
ij
ActualizarFeromonas(T , s1 , s2 , s3 ,..., sn ) : Una vez que todas las hormigas hayan construido una
solucin, el siguiente paso es aplicar una regla de actualizacin de las feromonas, as:
tij (k + 1) = (1 - a) tij (k ) + a
para i = 1, 2, 3,..., n
{s G
cij s
F (s)
j = 1, 2, 3,..., Di
(0,1
y su
133
soluciones alternativas o potenciales del problema como miembros del enjambre que se echan a
volar en el espacio multidimensional de las posibles soluciones. En un algoritmo PSO las
partculas o miembros del enjambre son interpretados como agentes de bsqueda que recorren
el espacio de soluciones. Durante el vuelo cada partcula ajusta su posicin de acuerdo con su
propia experiencia y la experiencia de otras partculas vecinas, movindose hacia la mejor
posicin hallada por s misma o por sus vecinas. As, el algoritmo PSO combina mtodos de
bsqueda local (a travs de la experiencia propia) con mtodos de bsqueda global (a travs de
la experiencia de otras partculas).
En la prctica, un algoritmo PSO se inicializa con una poblacin de soluciones candidatas o
partculas. Dos factores caracterizan el estado de las partculas en el espacio de bsqueda: su
posicin actual y su velocidad. Adicionalmente, el desempeo de cada partcula se mide de
acuerdo con una funcin que usualmente se refiere al costo. A cada partcula se le asigna
inicialmente una velocidad y posicin aleatoria y esta se mueve iterativamente a travs del
espacio de bsqueda del problema. Una partcula es atrada hacia la posicin en la que mejor
ha obtenido desempeo ella misma y la posicin de las partculas con mejor desempeo logrado
hasta el momento en su vecindad. Existen dos versiones del algoritmo PSO dependiendo de la
regla que se usa para determinar la vecindad de una partcula. En la versin global del
algoritmo la vecindad de la partcula es toda la poblacin, es decir, todo el enjambre. En las
versiones locales del algoritmo el enjambre se divide en vecindades superpuestas de partculas.
En un algoritmo PSO el objetivo del enjambre de partculas es explorar el espacio de bsqueda
hasta llegar a su objetivo, representado por la mejor posicin en el espacio; por tanto, cada
partcula, o de manera ms estricta su posicin, se considera una solucin candidata. Para
evaluar la calidad de la posicin de una partcula la funcin de desempeo (fitness) debe poseer
9
C. EBERHART, Russell, SHI, Yuhui, KENNEDY, James. Swarm Intelligence. Academic Press. United
States of America, 2001.
134
informacin
i
suficiente pa
ara cuantifica
ar qu tan bu
uena es la poosicin actuaal de la partcula con
respecto
r
al objetivo
o
y la
as restriccion
nes propias d
del problemaa. Cada partcula es una solucin
cooperativa,
c
en el sentido
o en que su posicin
p
es el resultado dee intercambioos de informaacin con
las
l partculass vecinas del enjambre du
urante la ejeccucin del alggoritmo.
Una
U partculla generalmente almacena
a la informaacin de su p
posicin actu
ual, su mejor posicin
hasta
h
el mom
mento y su veelocidad. El dominio
d
de laa posicin d
define el espaccio de bsqueda en el
cual
c
se desp
plaza el enja
ambre y deb
be tener un significado de acuerdo con el conttexto del
problema
p
que se intenta resolver. En la figura 3.110 se puede oobservar un eejemplo de P
PSO para
un
u problema
a en el domin
nio de dos diimensiones. L
La velocidad correspondee al movimien
nto de la
partcula
p
y, por ende, debe
d
asegura
ar
que cad
da nueva posicin contin
ne pertenecciendo al
dominio
d
del problema. La
as restriccion
nes del probllema tratadoo pueden trun
ncar el dominio de la
posicin
p
de la
a partcula o servir como mecanismo d
de penalizaciin en la funccin de desem
mpeo.
135
El vector
El enjambre se inicializa generando las posiciones y las velocidades iniciales de las partculas.
Las posiciones se pueden generar aleatoriamente en el espacio de bsqueda (quizs con ayuda
de algn mtodo heurstico), de forma regular o con una combinacin de ambas formas. Una
vez generadas las posiciones, se calcula el desempeo de cada una y se actualizan los valores de
10
Kenndy, J., Eberhart, R., Shi, Y. (2001). Swarm Intelligence. San Francisco, CA
136
Figura
a 3.11 Inicia
alizacin de un
u enjambre d
de partculass en un espaccio de bsqueeda
tridimenssional
,v max ,
Las
L velocidad
des se genera
an aleatoriam
mente, con caada componeente en el in
ntervalo -v m
max
donde
d
s
la velociidad mxima
a que pueda tomar una p
partcula en ccada movimiiento. No
v max ser
es
e convenien
nte fijarlas en
e valores muy
m
pequeoos pues en laa prctica noo se obtienen
n buenos
11
resultados
r
.
Una
U
vez iniccializado el enjambre,
e
lass partculas se deben moover dentro d
del proceso iiterativo.
Una
U partculla se mueve desde una posicin
p
del eespacio de b
squeda hastta otra, simp
plemente,
aadiendo
a
al vector posiccin x i el vecctor velocidad
d v i para ob
btener un nueevo vector poosicin:
xi xi + vi
Una
U
vez callculada la nueva posici
n de la parrtcula, se eevala actualizando fitn
ness _ x i .
Adems,
A
si el nuevo va
alor de deseempeo es eel mejor en
ncontrado haasta el mom
mento, se
actualizan
a
lo
os valores de
d mejor possicin pBestt
y desemp
peo fitnesss _ pBest . E
El vector
velocidad
v
de cada partcu
ula es modificcado en cadaa iteracin uttilizando la v
velocidad antterior, un
componente
c
cognitivo y un compo
onente sociall. El modeloo matemticco resultante y que
corresponde
c
a la estructu
ura principall del algoritm
mo PSO vien
ne representaado por las ssiguientes
ecuaciones:
e
vi (k + 1) = w vi (k ) + j1 rand
r
pBessti - xi (k )) + j2 rand2 (gi - xi (k ))
1 (
x i (k + 1) = x i (k ) + v i (k + 1)
11
1
J. Kennedy, R. Eberh
hart, and Y. Shi. Swarm Intelligence. San Franciscco: Morgan K
Kaufmann
Publishers,
P
2001
137
w : Factor de inercia
j1, j 2 : Tasas de aprendizaje que controlan los componentes cognitivo y social respectivamente.
rand1 , rand 2 : Nmeros aleatorios entre 0 y 1.
x i (k ) : Posicin actual de la partcula i en la k-sima iteracin.
pBesti : Mejor posicin (solucin) encontrada por la partcula i hasta el momento.
gi : Posicin de la partcula con el mejor fitness _ pBest del entorno de pi (localbest) o de
todo el enjambre (globalbest).
En la primera ecuacin se garantiza la actualizacin del vector velocidad de cada partcula i en
cada iteracin k. El componente cognitivo (experiencia propia) est modelado por el factor
j2 rand2 (gi - x i (k )) y
representa la distancia entre la posicin actual y la mejor posicin del vecindario, es decir, la
decisin que tomar la partcula segn la influencia que el resto del enjambre ejerce sobre ella.
La segunda ecuacin modela el movimiento de una partcula i en cada iteracin k a travs del
espacio de bsqueda y en direccin determinada por el vector velocidad v i . En la siguiente
figura se representa grficamente el movimiento de una partcula en el espacio de soluciones:
vpBest(k)
pBest
pg
x(k)
Posicin actual de
la partcula
x(k+1)
v(k)
Posicin siguiente
de la partcula
138
En la figura anterior, las flechas de lnea discontinua representan la direccin de los vectores de
velocidad. v pBest (k ) es la velocidad de la mejor posicin tomada por la partcula con base en su
experiencia (componente cognitivo), v pg (k ) es la velocidad de la mejor partcula encontrada en
el vecindario (componente social) y v (k ) es la velocidad actual de la partcula. La flecha de
lnea continua representa la direccin que toma la partcula para moverse desde la posicin
x (k ) hasta la posicin x (k + 1) .
Un problema habitual de los algoritmos de PSO es que la magnitud de la velocidad suele llegar
a ser muy grande durante la ejecucin, con lo que las partculas se mueven demasiado rpido
por el espacio. El rendimiento puede disminuir si no se fija adecuadamente el valor de v max , la
velocidad mxima de cada componente del vector velocidad. Para evitar este excesivo
crecimiento en las velocidades, se ha agregado a la ecuacin de actualizacin de la velocidad un
factor de inercia w . Este factor de inercia se reduce gradualmente en cada iteracin del
algoritmo por medio de la ecuacin:
w = w max -
w max - w min
itermax
iter
Donde w max es el factor de inercia inicial y w min el factor de inercia final, itermax es el nmero
mximo de iteraciones e iter es la iteracin actual. w debe mantenerse con valores entre 0.9 y
1.2. Valores muy altos provocan bsquedas exhaustivas (ms diversificacin) y valores muy
bajos una bsqueda ms localizada (ms intensificacin)12.
Otro aspecto a tener en consideracin es el tamao del enjambre de partculas, pues determina
el equilibro entre la calidad de las soluciones obtenidas y el coste computacional (nmero de
evaluaciones necesarias).
Recientemente, se han propuesto algunas variantes que adaptan heursticamente el tamao del
enjambre, de manera que, si la calidad del entorno de la partcula ha mejorado pero la
partcula es la peor de su entorno, se elimina la partcula. Por otra parte, si la partcula es la
mejor de su entorno pero no hay mejora en el mismo, se crea una nueva partcula a partir de
ella. Las decisiones se toman de forma probabilstica en funcin del tamao actual del
enjambre.
12
R. Eberhart and Y. Shi. Comparing Inertia Weights and Constriction Factors in Particle Swarm
Optimization. In Proceedings of the International Congress on Evolutionary Computation, volume 1,
pages 84-88, July 2000.
139
Finalmente, se han realizado trabajos en los que se proponen valores adaptativos para las tasas
de aprendizaje j1 , j 2 . Las tasas que definen la importancia de los componentes cognitivo y
social pueden definirse dinmicamente segn la calidad de la propia partcula y del entorno.
Cuanto mejor es una partcula, ms se tiene en cuenta a s misma (tendencia cognitiva) y no
tiene en cuenta factores pasados ni externos. Por el contrario, cuento mejor es el vecino, ms
tiende a ir hacia l (tendencia social).
(j , j
Modelo completo
intervienen en el movimiento.
Modelo Social
(j
movimiento.
Se han realizado diversos estudios sobre la influencia de las tasas de aprendizaje14 en los que se
recomienda valores de j1 = j 2 = 2 . Por otra parte, desde el punto de vista del vecindario, es
decir, la cantidad y posicin de las partculas que intervienen en el clculo de la distancia en la
componente social, se clasifican dos tipos de algoritmos: PSO Local y PSO Global.
13
J. Kennedy. The Particle Swarm: Social Adaptation of Knowledge. IEEE International Conference on
Evolutionary Computation, pages 303-308, Apr 1997
14
J. Kennedy, R. Eberhart, and Y. Shi. Swarm Intelligence. San Francisco: Morgan Kaufmann
Publishers, 2001.
140
E = inicializarEnjambre()
mientras no se cumpla condicin de parada hacer
para i = 1 hasta tamao(E) hacer
evaluar el desempeo de cada partcula x i del enjambre E
si fitness(x i ) > fitness(pBesti ) entonces
pBesti = x i
fitness(pBesti ) = fitness(x i )
fin si
fin para
para i = 1 hasta tamao(E) hacer
seleccionar lBesti , la partcula con mejor fitness del entorno de x i
15
141
E = inicializarEnjambre()
mientras no se cumpla condicin de parada hacer
para i = 1 hasta tamao(E) hacer
evaluar el desempeo de cada partcula x i del enjambre E
si fitness(x i ) > fitness(pBesti ) entonces
pBesti = x i
fitness(pBesti ) = fitness(x i )
fin si
si fitness(pBesti ) > fitness(gBest ) entonces
gBest = pBesti
fitness(gBest ) = fitness(pBesti )
fin si
fin para
para i = 1 hasta tamao(E) hacer
16
J. Kennedy and R. Eberhart. Particle Swarm Optimization. In Proceedings of the IEEE International
Conference on Neural Networks, volume 4, pages 1942 1948, Perth, Australia, Nov 1995.
142
Los
L
entornoss sociales so
on los ms empleados. Una vez deefinido un eentorno, es n
necesario
establecer
e
su tamao, son habituales valoress de 3 y 5 pues sueelen tener u
un buen
comportamie
c
ento. Obviam
mente, cuand
do el tamaoo es todo el enjambre, ell entorno es a la vez
geogrfico
g
y social, obteniendo as un PSO Global .
Es
E posible co
onfigurar varrios tipos de topologas d
dentro de un entorno sociial de enjam
mbre. Una
de
d las ms comunes
c
y que
q
inicialmeente fue mss utilizada ees la topologga gbest. En
n sta, se
establece
e
una
a vecindad global
g
en el que toda paartcula es veecina de la totalidad del cmulo
(PSO Globa
al) favorecien
ndo la explotacin del espacio de soluciones. Otro ejemp
plo es la
topologa
t
lbeest, que fue propuesta
p
pa
ara tratar con
n problemas de mayor d
dificultad. En
n lbest (o
anillo),
a
cada partcula es conectada co
on sus vecinaas inmediatass en el enjam
mbre, as, por ejemplo,
la
l partcula pi es vecina
a de la parttcula pi-1 y de pi+1. Estaa topologa ofrece la veentaja de
establecer
e
su
ub-enjambres que realizan
n bsquedas en diversas rregiones del espacio del p
problema
y de esta forrma se favoreece la explora
acin. Otra ttopologa quee se ha usad
do en la prcttica es la
conocida
c
com
mo wheels, en esta tod
das las parttculas del eenjambre esttn conectad
das o se
establecen
e
co
omo vecinas de una nica
a partcula ceentral. En laa figura 3.15 se puede obsservar los
diagramas
d
dee las diferentes topologass de enjambree.
a. Topologa lbesst
b. Topologaa wheels
c. Toopologa gbesst
Figu
ura 3.15 Top
pologas de loos enjambres de partculaas
Investigacion
I
nes realizadas han demosstrado que l a topologa gbest es mu
ucho ms rp
pida a la
hora
h
de conv
verger pero ms vulnera
able a caer een ptimos loocales, mienttras que la ttopologa
lbest tiene una
u convergencia mucho ms lenta peero es menoss vulnerable a los ptimos locales,
sobre
s
todo cu
uando aumen
nta el nmero de iteracioones. Finalmeente la topolooga wheels h
ha tenido
buenos
b
resulttados en funcciones monttonas. La eleeccin de unaa topologa u otra es una cuestin
ms
m de experriencia, de en
nsayo-error, pues depend
de de las partticularidadess del problem
ma que se
est
e
abordan
ndo.
143
17
144
) mod
Donde mod 2 indica que se toma el residuo de 0 o 1 al dividirse entre 2 luego de realizar la
suma. De acuerdo con esta regla, el valor de un campo en particular est determinado por los
valores de los campos del vecino de la izquierda y el vecino de la derecha. Si se analiza con
detenimiento podemos percatarnos que esta regla corresponde a la funcin booleana XOR o OR
exclusivo.
ai-1(t) ai(t+1) ai+1(t)
1
18
J. D. Demogeot, E. Goles, M. Tchuente. Dinamical system and celular autmata. Academic Press,
1985.
145
Un plano bidimensional o un espacio n-dimensional dividido en un nmero de subespacios homogneos, conocidos como celdas.
Una Configuracin C, que consiste en asignarle un estado a cada celda del autmata.
Una Vecindad definida para cada celda, que consiste en un conjunto contiguo de celdas,
indicando sus posiciones relativas respecto a la celda misma.
Una Regla de Evolucin, que define cmo debe cambiar de estado cada celda,
dependiendo del estado inmediatamente anterior de su vecindad.
Un Reloj Virtual de Cmputo conectado a cada celda del autmata, el cual generar
pulsos simultneos a todas las celdas indicando que debe aplicarse la regla de evolucin
y de esta forma cada celda cambiar de estado de manera sncrona.
Un sistema se define como un Autmata Celular slo si se tiene que todas las celdas19:
19
T. Toffoli y N. Margolus. Cellular Automata Machines: A New Environment for Modelling. The M.I.T.
Press., Cambridge, MA, 198
146
Frontera reflectora: las clulas fuera del espacio del autmata toman los valores dentro de este
como si se tratara de un espejo.
Frontera peridica o circular: una celda que est en la frontera interacciona con sus vecinos
inmediatos y con las celdas que estn en el extremo opuesto del autmata, como si fuera en
crculos.
147
Se
S necesita saber cuntoss individuos van
v a formarr la poblacin
n del sistema. En principiio no hay
restriccin
r
a su nmero, pudiendo seer desde unoos pocos hastta una infinidad. En ocaasiones es
importante
i
situarlos sobre una regin geogrfica (espacioo), identificndose entoonces los
individuos
i
co
on sus respectivas coorden
nadas en el eespacio destin
nado.
Para
P
cada elemento
e
del sistema es necesario es tablecer su vecindad, essto es, aquelllos otros
elementos
e
qu
ue sern considerados com
mo sus vecinoos. En caso d
de asociar objjetos con coordenadas
de
d un sistem
ma de referenccia, el criterio
o suele ser coonstruir la vecindad de u
un elemento d
dado con
todos
t
aquello
os otros elem
mentos que see encuentran
n a menos dee una cierta distancia o radio, de
forma
f
que lo
os ms alejad
dos no ejerza
an influenciaa directa sob
bre l. En la figura 3.17 se puede
observar
o
un criterio de vecindad aplicado
a
a u
un espacio unidimension
nal, bidimen
nsional y
tridimensiona
t
al.
a. Espacio un
nidimensiona
al
b. Espaccio bidimensiional
c. Espacio trridimensionaal
Fig
gura 3.17 Ejemplos
E
de vecindades
v
paara diferentess espacios dim
mensionales
En
E cada insttante, cada elemento
e
deb
ber encontraarse en un ciierto estado. El caso mss sencillo
corresponde
c
a los elemen
ntos bi-estab
bles, los cualles se puedeen encontrar en slo unoo de dos
estados
e
posib
bles, 0 y 1, por
p ejemplo. Pero tambin el estado puede venir representado por un
vector
v
de com
mponentes reeales o por un
na cadena dee un lenguajee formal.
La
L regla de transicin define la diinmica del sistema. Daado un elem
mento y un instante
determinados
d
s, la regla devuelve
d
el siguiente esttado del eleemento, paraa ello necesiita como
argumentos
a
los estados actuales, tanto del ellemento considerado com
mo de aqueellos que
conforman
c
su
u vecindad. Las
L reglas de transicin p ueden ser deeterministas o probabilistaas.
148
peridicas.
Clase III: la evolucin da lugar a patrones caticos. Espacialmente surgen estructuras fractales
y temporalmente observamos ciclos de longitud muy grande, pero al no existir periodicidad con
el paso del tiempo, el autmata no presenta alguna estructura definida y finaliza en un estado
no uniforme.
Clase IV: La evolucin genera estructuras complejas localizadas que se propagan y cuya
duracin aumenta exponencialmente con el tamao del sistema; esto hace que su
comportamiento sea completamente impredecible.
149
Regla de muerte: Una autmata vivo (1) que posee dos o tres vecinos vivos sobrevivir
en la prxima generacin. En caso contrario morir (pasar al estado 0).
Este sistema puede generar estructuras espaciales de gran complejidad como las de los ejemplos
que se ilustran en la figura 3.18. Existen numerosos tipos de patrones que pueden tener lugar
en el juego de la vida, como patrones estticos (vidas estticas, still lifes), patrones recurrentes
(osciladores, oscillators) y patrones que se trasladan por el tablero (naves espaciales,
spaceships). Los ejemplos ms simples de estas tres clases de patrones se muestran en la figura
3.18. Las clulas vivas se muestran en gris y las muertas en blanco. Los nombres son ms
conocidos en ingls, por lo que tambin se muestra el nombre de estas estructuras en dicho
idioma.
Las estructuras denominadas spaceships son las ms importantes en el autmata, puesto que al
trasladarse por el espacio a medida en que cambian de estado, permiten la propagacin de
informacin a travs del sistema.
150
Oscillators
Still Lifes
Bloque
(Block)
Colmena
(Beehive)
Faro
(Beacon)
Pulsar
Pan
(Loaf)
Barco
(Boat)
Parpadeador
(Blinker)
Spaceships
Planeador
(Glider)
Sapo
(Toad)
Methuselahs
Nave Ligera
(LWS)
Diehard
Acorn
20
151
3.7 Aplicaciones
Los algoritmos inspirados en la inteligencia colectiva natural tienen variedades de aplicaciones
en diferentes campos, destacando sobre todo la alternativa de solucin que brindan a la hora de
resolver problemas NP como otros mtodos heursticos.
Los algoritmos de Colonia de Hormigas se han aplicado con resultados eficientes a diversos
problemas de optimizacin combinatoria, tanto estticos como dinmicos. Generalmente estos
algoritmos se combinan con tcnicas de bsqueda local que refinan las soluciones encontradas.
Entre las principales aplicaciones se encuentran: Problema del Viajero o Travelling Salesman
Problem (TSP), Problema de Asignacin Cuadrtica o Quadratic Assignment Problem (QAP),
Cubrimiento de Conjuntos o Set Covering Problem (SCP), Planificacin de Tareas o Job Shop
Scheduling
152
Predictores del flujo de trfico en una carretera de un slo carril. Si consideramos cada 1 como
un coche, y cada 0 como un espacio libre. Con esta base, el autmata presenta patrones simples
que se cumplen en la realidad: si hay muchos sitios libres el coche avanzar sin problemas, pero
si hay coches se producir un efecto similar al de los atascos.
Para simular el comportamiento de partculas de materia y antimateria que se van aniquilando
y el choque de otras partculas. Algoritmos basados en Autmatas Celulares se estn usando
actualmente en el famoso Gran Colisionador de Hadrones (LHC) ubicado cerca de Ginebra,
Suiza y que se utiliza para colisionar haces de hadrones, ms particularmente protones, con el
propsito de verificar la validez del modelo estndar que es el marco terico de la fsica de
partculas.
153
4. SISTEMAS INMUNOLGICOS
ARTIFICIALES
4.1 Introduccin
El sistema inmunolgico humano carga con la gran responsabilidad de detectar las infecciones o
ataques de agentes externos a nuestro cuerpo (patgenos), como bacterias y virus, y
defendernos de los mismos, es decir, tiene la responsabilidad de mantener nuestro cuerpo
saludable. El mecanismo que utiliza el sistema inmunolgico humano para reconocer y
contrarrestar la presencia de atacantes externos ha servido de inspiracin para resolver
problemas de ciencia e ingeniera, relacionados principalmente con la seguridad de un sistema.
Ms an, el sistema inmunolgico humano posee ciertas caractersticas deseables en un sistema
artificial, como: auto-organizacin, aprendizaje, memoria, adaptabilidad, reconocimiento,
robustez y escalabilidad. As, un Sistema Inmunolgico Artificial (AIS por sus siglas en ingls
Artificial Inmune System) pretende emular el funcionamiento natural de nuestro sistema
inmune.
El sistema inmunolgico natural puede entenderse como un sistema de proteccin multicapa, en
el que cada capa provee diferentes tipos de mecanismos de defensa para detectar, reconocer y
entregar una respuesta ante la presencia de un intruso. As, para que un sistema artificial
pueda imitar la compleja labor del sistema inmune natural, ste debe estar dotado de un
mecanismo sofisticado de reconocimiento de patrones y de entrega de diferentes respuestas que
dependen de la naturaleza del intruso, para que de esta forma se logre destruir o neutralizar los
efectos negativos que este ltimo pueda causar.
Desde que los Sistemas Inmunolgicos Artificiales fueron propuestos un gran nmero de
modelos han surgido con el paso del tiempo, principalmente aplicados en reas como
reconocimiento de patrones, deteccin de fallas y seguridad computacional. Entre los modelos
fundamentales y ms estudiados se encuentran las redes inmunolgicas, la seleccin clonal y la
seleccin negativa.
154
4.2
4 Fund
damentoss biolgicos
4.2.1
4
Funda
amentos de
el sistema in
nmunolgicco humano
Nuestro
N
sisteema inmuno
olgico es un
na red comp
pleja de rgaanos y clulaas especializaadas que
trabajan
t
en conjunto pa
ara combatirr sustancias dainas llam
madas antgeenos. Un anttgeno es
cualquier
c
elemento que provoca
p
una reaccin inm
munolgica en
n nuestro cu
uerpo. El con
ncepto de
antgeno
a
no debe confund
dirse con el concepto
c
de patgeno. Un
n agente pattgeno se refi
fiere a un
microorganis
m
mo vivo quee invade nuesstro cuerpo y libera uno o ms antgeenos, as un p
patgeno
puede
p
referirrse a un viruss, bacteria o microbio, m
mientras que u
un antgeno por lo generaal es una
molcula
m
de naturaleza proteica
p
o co
ompuesta poor carbohidraatos. En la ffigura 4.1 se muestra
algunos
a
ejem
mplos de ag
gentes patgenos: la baccteria estrepptococo, cau
usante de in
nfecciones
respiratorias,
r
, caries denttal, infecciones auditivas;; el virus deel herpes, cau
usante de in
nfecciones
bucales
b
y gen
nitales; el pa
arsito esquisstosoma, caussante de patoologas en piiel, vejiga e intestinos
y el hongo ca
andida albica
ans, causante de la candid
diasis.
Bacteria: Estreptococo
Virrus: Herpes
Parsito: Esquistosoma
E
a
KLOSTERMAN, Lorrie. The Amazing Human Body: Immune System. Karen Ang Editor. Tarrytown,
New York, 2009
156
Prrimera Lnea:
Pieel
Meembranas Mu
ucosas
Qu
umicos
Seggunda Lnea::
Clulas Compleementarias
Infflamacin
Fieebre
Teercera Lnea::
Lin
nfocitos
An
nticuerpos
Figura 4.2
2 Barreras dee proteccin del sistema iinmunolgicoo innato
4.2.2
4
Eleme
entos del sistema inmu
unolgico h
humano
El
E sistema in
nmunolgico se compone de una red de clulas, ttejidos y rgaanos que traabajan en
conjunto
c
parra proteger el
e cuerpo. La
as clulas meencionadas soon glbulos b
blancos, denoominados
leucocitos, de
d dos tipos bsicos que se combinan
n para encon
ntrar y desttruir las susttancias u
organismos
o
atacantes.
a
Los
L leucocito
os se produceen o almacen
nan en vario s lugares dell cuerpo, quee incluyen ell timo, el
bazo
b
y la mdula
m
osea. Los leucocittos tambin se almacen
nan en masas de tejido linftico,
principalmen
p
nte en forma de ganglios linfticos
l
quee se encuentrran en todo eel cuerpo. Es por esto
que
q a los rg
ganos que forrman parte del
d sistema in
nmunolgico se les llama rganos linf
ticos, ya
que
q afectan el
e crecimiento, el desarrollo y la liberracin de linffocitos (un tiipo de leucoccito). Los
vasos
v
sangun
neos y los va
asos linfticoss son partes importantes de los rgan
nos linfticos debido a
que
q
son los encargados de transporrtar los leuc ocitos a cuaalquier partee del cuerpoo. As, el
157
de anticuerpos que pueden producirse es tan diversa que los linfocitos B tienen la facultad de
producirlos casi contra todos los microorganismos del medio ambiente.
Los nombres qumicos para las protenas de los anticuerpos son inmunoglobulinas o
gamaglobulinas. Hay cinco grandes clases de inmunoglobulinas: Inmunoglobulinas G (IgG),
Inmunoglobulinas A (IgA), Inmunoglobulinas M (IgM), Inmunoglobulinas E (IgE) e
Inmunoglobulinas D (IgD). Cada clase de inmunoglobulina tiene una caracterstica qumica
especial que le brinda ciertas ventajas. Por ejemplo, los anticuerpos pertenecientes a la clase
IgG se forman en grandes cantidades y pueden viajar del fluido sanguneo a los tejidos, puesto
que son la nica clase de inmunoglobulinas que cruzan la placenta y le trasmiten inmunidad
desde la madre hacia el recin nacido. Los anticuerpos de la clase IgA se producen cerca de las
membranas mucosas y llegan hasta secreciones como las lgrimas, la bilis, la saliva y otras
mucosas que protegen contra infecciones respiratorias e intestinales. Los anticuerpos de la clase
IgM son los primeros anticuerpos que se forman en respuesta de las infecciones y por lo tanto
son importantes a la hora de garantizar la proteccin del organismo en los primeros das de la
infeccin. Los anticuerpos de la clase IgE se encargan de las reacciones alrgicas y finalmente,
la funcin de los anticuerpos de la clase IdG no se entiende an por completo2.
Los anticuerpos nos protegen contra las infecciones mediante diversos mecanismos. Por
ejemplo, algunos microorganismos deben adherirse a las membranas de las clulas del cuerpo
para poder causar una infeccin, pero anticuerpos que se encuentren en la superficie pueden
interferir con la habilidad del microorganismo para sujetarse a la clula. Adems, los
anticuerpos sujetados en la superficie de algunos microorganismos pueden activar un grupo de
protenas pertenecientes al Sistema del complemento que pueden destruir directamente a las
bacterias y virus. Estas acciones de los anticuerpos impiden que microorganismos invadan
tejidos crticos del cuerpo donde pueden causar infecciones serias.
Por otra parte, los linfocitos T (tambin llamados clulas T) no producen anticuerpos
moleculares, puesto que cumplen con funciones especializadas como atacar directamente
antgenos y actuar como reguladores del sistema inmunolgico.
Los linfocitos T se desarrollan a partir de clulas madre en la mdula osea. En la vida
temprana del feto, clulas inmunolgicas inmaduras migran al timo, all las clulas se
desarrollan y se convierten en linfocitos T maduros. Es por esto que el timo es esencial para
WOODS, Lydia. Understanding the immune system. U.S Department Of Health and Human Services.
Public Health Service, National Institutes of Health.
159
este
e
proceso,, puesto que los linfocito
os T no se p
pueden desarrrollar en un
n feto sin tim
mo. Cada
linfocito
l
T reacciona
r
con
n un antgen
no especfico, as como cada anticuerrpo reaccionaa con un
antgeno
a
especfico. De hecho,
h
los lin
nfocitos T tieenen molcullas en su sup
perficie que sson como
anticuerpos
a
que
q reacciona
an a los antg
genos.
Linfocito
L
T in
nmaduro
Linfo
ocito T de ay
yuda
Linfocitoo T destructoor
160
4.2.3
4
Cm
mo trabaja el
e sistema in
nmunolgicco?
4.2.3.1
4
Linffocitos dete
ectando patgenos
Los
L linfocitos detectan o reconocen patgenos
p
grracias a un eenlace molecular que se establece
entre
e
ellos de
d acuerdo co
on el nivel de
d afinidad d
de las molcu
ulas que com
mponen los aantgenos.
Podemos
P
enttender este feenmeno ima
aginando al liinfocito y al patgeno con
n unas estruccturas de
forma
f
especfica en su correspondieente superficcie. Cuando las estructu
uras son com
mpatibles
encajan
e
una en otra, com
mo una llave encaja
e
de maanera nica een la cerradura de una pu
uerta. Sin
embargo,
e
estta unin que se establece entre el linffocito y el paatgeno no see presenta en
n toda la
superficie,
s
deebido a la allta complejid
dad y nmerro de estructturas diferen
ntes que un p
patgeno
puede
p
tener, si no que see da en una porcin del patgeno con
nocido con eel nombre dee eptopo.
Esta
E
es una especie de prolongacin
p
que encaja en uno de los receptorees del linfociito. Si la
cantidad
c
de uniones esta
ablecidas enttre los eptoopos de un p
patgeno y los receptorees de un
linfocito
l
es mayor,
m
tambiin lo es el grado de afiniidad y por coonsiguiente eel linfocito reeconocer
fcilmente
f
all patgeno y podr reacccionar ante l de manerra ms eficieente. En la siguiente
figura
f
se ilustra este princcipio:
Patgen
no
Epitopoo
Recepttor
Linfocitto
161
KLOSTERMAN, Lorrie. The Amazing Human Body: Immune System. Karen Ang Editor. Tarrytown,
New York, 2009
162
diferente al original. De esta manera se crean linfocitos con receptores un poco diferentes a sus
linfocitos de origen y pueden enlazarse con otros patgenos, y si poseen una afinidad alta
repetir el proceso de clonacin.
Entre mayor sea la afinidad que posee un linfocito con un patgeno en particular, mayor es la
posibilidad que tiene de clonarse y competir para enlazarse con otros patgenos. De esta forma,
con el tiempo, una poblacin de linfocitos con baja afinidad puede evolucionar y mejorar sus
receptores para aumentar la afinidad y mejorar la respuesta inmunitaria. Es as entonces como
la diversidad de la poblacin de linfocitos es introducida por la mutacin en el proceso de
clonacin y la seleccin por la competencia de los linfocitos segn su grado de afinidad con los
patgenos.
4.2.3.3 Memoria inmunolgica
El mecanismo descrito en el apartado anterior corresponde a una respuesta primaria del
sistema inmunolgico en la que la proliferacin de linfocitos B con alta afinidad entre patgenos
es el principal elemento de la respuesta. Debido a la corta vida que poseen los linfocitos B y
una vez eliminado el patgeno del organismo, se esperara que la poblacin de linfocitos
muriera. Esto implicara que si un patgeno del mismo tipo atacara de nuevo, el sistema
inmunolgico debera iniciar la respuesta inmunitaria primaria y reanudar todo el proceso de
evolucin y aprendizaje de los linfocitos, lo cual es absurdamente ineficiente. El sistema
inmunolgico elimina esto aplicando un mecanismo de memoria mediante el cual se guarda la
informacin codificada en el proceso de aprendizaje de los linfocitos B durante la respuesta
primaria.
El mecanismo de memoria se basa en el mantenimiento, a lo largo del proceso de aprendizaje y
despus del mismo, de un grupo de linfocitos B con alta afinidad y de larga vida, que preserven
la informacin adquirida para disponer de ella en ataques futuros y as mitigar los efectos del
patgeno en el organismo. Estos linfocitos pueden posteriormente duplicarse y preservar gran
parte (aunque no completamente) de la informacin que define las estructuras de sus
receptores.
Gracias al mecanismo de memoria del sistema inmunolgico, si el organismo es atacado de
nuevo por un mismo patgeno, ste se detecta fcilmente haciendo uso de la subpoblacin de
linfocitos B adaptados, que provee una respuesta mucho ms especfica e inmediata
denominada respuesta secundaria. Usualmente esta respuesta secundaria es tan eficiente que se
puede estar seguro que el organismo no ser infectado de nuevo por el mismo patgeno.
163
165
J. Timmis and M. Neal. Invetigatting the evolution and stability of a resource limited artificial immune
system. In Proc. of the Genetic and Evolutionary Computation Conference, Workshop on Articial
Immune System and Their Applications, pages 40-41, 2000.
6
Leandro Nunes de Castro and Jonathan Timmis. Articial Immnue System: A New Computational
Intelligence Approach. Springer Verlang, Reino Unido, Septiembre 2002.
166
Entre otras caractersticas importantes que se toman del sistema inmunolgico natural y se
reproducen en los sistemas inmunolgicos artificiales, tenemos:
Reconocimiento: El sistema debe estar en capacidad de reconocer y clasificar diferentes patones
y generar determinadas respuestas.
Extraccin de caractersticas: Debe existir elementos bsicos del sistema (clulas) que se
encarguen de detectar la presencia de elementos ajenos a l.
Diversidad: El sistema debe garantizar una poblacin diversa de elementos fundamentales que
garantice la deteccin de la mayor cantidad posible de elementos ajenos a l.
Aprendizaje: El sistema debe estar en capacidad de aprender de las experiencias y con base en
esto saber qu respuesta dar ante un estmulo en especial. Este mecanismo debe garantizar la
reproduccin o replicacin de clulas con buen desempeo para preservar la integridad del
sistema. Este tipo de mecanismo es conocido como expansin clonal.
Memoria: Debe existir un mecanismo en el que se pueda almacenar un registro de los elementos
dainos para el sistema, esto es, el sistema debe tener la capacidad de recordar que tipo de
elemento fue el causante del ataque y almacenar la estructura de la clula encargada de
contrarrestarlo, pudiendo posteriormente clonar esta clula para volver a atacar al cuerpo
extrao.
Deteccin distribuida: El sistema inmunolgico puede verse como un sistema distribuido, es
decir, los elementos encargados de la deteccin circulan por todo el sistema sin depender de
ningn elemento centralizado, y cuando se encuentran ante la presencia de un elemento
extrao, informan inmediatamente al resto del sistema.
Auto-regulacin: Cuando el sistema produce muchos elementos detectores y destructores de
intrusos, debe deshacerse de ellos una vez culminada la labor. Sin embargo, un remanente de la
poblacin se conserva para un posible uso posterior. Es decir, en caso de un nuevo ataque
provocado por el mismo antgeno, el sistema sabe cmo defenderse.
Co-estimulacin: La activacin de las clulas B est regulada a traves de la co-estimulacin,
es decir, la segunda seal que viene de los linfocitos T de ayuda, asegura la tolerancia y juicio
entre invasores e inofensivos o falsas alarmas.
167
Solucin
Algoritmos Inmunolgicos
SIA
Grado de Afinidad
Representacin
Dominio de la aplicacin
Nunes de Castro, Leandro & Timmis, Jonathan. An Introduction to Artificial Immune Systems: A New
Computational Intelligence Paradigm. s.l. : Springer-Verlag. 2002
168
Leandro Nunes de Castro and Fernando Jos Von Zuben. Artificial Immune Systems: Part I - Basic
Theory and Applications. Technical Report TR-DCA 01/99, FEEC/UNICAMP, Brazil, December 1999.
169
(1) f = afinidad(Ab)
(2) Abn = seleccionar (Ab, f , n)
(3) C = clonar (Abn , f , n )
(4) C * = hipermutacin(C , f )
(5) f = afinidad (C * )
(6) Abn = seleccionar (C * , f , n )
(.) Ab Abn
(.) Abd = generacion(d , L)
f = decodificar(Ab)
Figura 4.6 Algoritmo de seleccin clonal para optimizacin
1. En el primer paso no existe una poblacin de antgenos a reconocer explcitamente, sino
una funcin objetivo a ser optimizada (maximizar o minimizar). De esta manera, la
afinidad de un anticuerpo corresponde a la evaluacin de la funcin objetivo, y cada
anticuerpo representa un elemento en el espacio de entrada. Adicionalmente, debido a que
no existe una poblacin especfica de antgenos a ser reconocida, el conjunto de anticuerpos
conforma la memoria y esto hace que no sea necesario que la memoria est en otra
estructura separada. As, se determina el vector f que obtiene su afinidad de todos los n
anticuerpos.
2. Se seleccionan los n anticuerpos de la poblacin total Ab cuya afinidad f sea la ms alta
para formar el nuevo conjunto de anticuerpos Abn.
3. Los n mejores anticuerpos seleccionados son clonados para formar una poblacin C de los
anticuerpos con la mejor afinidad.
4. La nueva poblacin de clones es sometida a un proceso
de mutacin inversamente
proporcional a su afinidad: los clones con una afinidad ms alta tendrn un porcentaje de
mutacin ms pequeo que aquellos con afinidad menor. De esta manera se obtiene una
nueva poblacin de clones mutantes C*.
5. Se determina la afinidad de los clones mutantes.
170
171
P
Paso 1:
G
Generar aleatooriamente laa poblacin
in
nicial de n deetectores quee cubran el
esspacio de carractersticas.
C
Cada
reepresenta un detector.
Paso 2:
Usando loss datos de en
ntrenamiento,,
se define una porcin del espacio
o
como norm
mal o propia.
P
Paso 3:
E
Eliminar todoos los detectoores que
see solapan coon la regin
n propia
deefinida, dejaando el restto como
deetectores
de
en
ntidades
im
mpropias.
Paso 4:
Introducirr
nuevoss
patronees
(antgenoss) y calcula
ar la afinida
ad
como una
a medida de distancia (i.e.
distancia euclidiana). Si la afinida
ad
es superio
or a cierto va
alor umbral el
detector se
s activa y el
e antgeno es
e
o
clasificado
o
como
anmalo
) en casso contrario es
malicioso (
e
clasificado
o como norm
mal (
)
172
10
TIMMIS, Jonathan. Artificial Immune Systems: A novel data analysis technique inspired by immune
network theory. PhD thesis, University of Wales, Aberystwyth. Ceredigion. Wales, 2001.
173
Las redes idiotpicas estn basadas principalmente en el modelo computacional del granjero
de la teora de la red idiotpica11, en el que una cadena binaria de longitud l representa eptopos
y receptores. El modelo simplifica la realidad biolgica asumiendo que cada anticuerpo posee
slo un eptopo. Cada anticuerpo tiene adems un par p, e de cadenas binarias, y cada
antgeno posee una nica cadena e . El grado de afinidad de estas cadenas binarias, emulando
la afinidad natural entre antgenos y anticuerpos, se calcula haciendo uso de la operacin
binaria OR. As, entre un digito 0 y un digito 1 existe una afinidad positiva.
No es necesario que exista un encaje exacto entre p y e, ya que las cadenas pueden encajar en
cualquier alineacin, nicamente es necesario definir un valor umbral s el cual determina si
hay o no reaccin. Por ejemplo si s fue definido en 6 y hubo 5 correspondencias (pares de 0 y 1)
para una alineacin dada, el valor de esa alineacin debera ser 0. Si hubo 6 correspondencias,
el valor sera 1 y si hubo 7 el valor debera ser 2. La fuerza G de la reaccin de una alineacin
dada es entonces:
G = 1+m
Donde m es el nmero de bits que se corresponden despus de exceder el umbral. La fuerza de
la reaccin para todas las posibles alineaciones mij entre dos anticuerpos i y j es dado por:
q
mij =
G
k =1
= c m ji x i y j - k1 mij x i x j + m ji x i x j - k2x i
dt
j =1
j =1
j =1
dxi
11
N. Jerne. Towards a network theory of the immune system. Ann. Immunology (Inst. Pasteur), 125
C:373389, 1974.
174
4.5 Aplicaciones
Para poder aplicar un modelo de sistema inmunolgico artificial y resolver un problema en
particular, en primer lugar es necesario elegir el modelo de algoritmo acorde con la naturaleza
del problema a resolver. Despus, se identifican los elementos involucrados en el problema y
como pueden ser modelados como entidades, adems de elegir la representacin de los mismos,
especialmente una representacin en cadenas ya sea de bits, nmeros enteros o nmeros reales,
o una representacin hibrida si es el caso. Subsecuentemente se define un criterio de afinidad,
como una distancia o medida que determine la regla de correspondencia entre dos cadenas. As,
el algoritmo elegido se usar adecuadamente para generar un conjunto de soluciones factibles
que puedan proveer una buena solucin al problema.
La tendencia de sistemas inmunes artificiales es un tema innovador que ofrece muchas
posibilidades y permite diversas aplicaciones, que la convierten en una herramienta eficaz en la
solucin de problemas.
Los sistemas inmunolgicos artificiales estn siendo usados en diversas aplicaciones como
deteccin
de
anomalas,
reconocimiento
de
patrones,
minera
de
datos,
seguridad
175
Deteccin de fallas
En el campo del diagnstico de fallas es necesario predecir o recuperar problemas presentados
en sistemas crticos, como una fbrica en la que se manejan sistemas refrigerantes o un sistema
de comunicacin telefnica. Esto se logra haciendo uso de un mtodo conocido como
Aprendizaje por Cuantificacin Vectorial o LVQ (por sus siglas en ingls: Learning Vector
Cuantization) para determinar la correlacin entre dos sensores y sus salidas, y asegurar que
funcionen correctamente todo el tiempo. Cada sensor corresponde a un linfocito B en una red
inmunolgica y prueba si las salidas de los dems sensores son las correctas. Aqu, la
confiabilidad del sensor es utilizada en lugar de la similitud con los vecinos. El campo de
deteccin de fallas tambin se interesa en la creacin de un sistema de diagnstico distribuido
basado en redes inmunolgicas artificiales.
176
5.1 Hiptesis
Es posible elaborar un documento que integre las bases tericas de los mtodos bio-inspirados
ms utilizados en inteligencia artificial y que permita mejorar el conocimiento de los
estudiantes de Ingeniera de Sistemas y Computacin en sta rea?
5.2 Poblacin
Estudiantes de Ingeniera de Sistemas y Computacin de la Universidad Tecnolgica de Pereira
que hayan cursado o estn cursando la materia Sistemas Expertos.
5.3 Muestra
Se seleccion como grupo de prueba los estudiantes que integraban el curso Sistemas Expertos
Grupo 1 del semestre extraordinario comprendido entre Agosto de 2011 y Abril de 2012,
dirigido por el Magister Julio Hernando Vargas Moreno.
177
Variable
Conocimiento
que poseen los
estudiantes de
Ingeniera de
Sistemas y
Computacin
sobre los
modelos bioinspirados.
Nivel de inters
que poseen los
estudiantes de
Ingeniera de
Sistemas y
Computacin
en los modelos
bio-inspirados.
Definicin
operacional
Utilizar
correctamente
algoritmos bioinspirados para
resolver problemas
computacionales.
Grado de
motivacin para
realizar
implementaciones,
investigaciones,
proyectos;
relacionados con
mtodos bioinspirados.
Categoras
Indicadores
tems
1. Justificacin
matemtica del
Entendimiento
modelo.
y uso de los
Matemtica
2. Comprensin y uso
fundamentos
de las frmulas
matemticos.
matemticas.
1. Descripcin biolgica
Conocimiento
del modelo.
bsico de los
2. Comparacin entre el
fundamentos
Biologa
modelo biolgico y el
biolgicos que
modelo
inspiran el
computacional.
modelo.
Conocimiento y 1. Formulacin del
algoritmo.
uso correcto de
la estructura del 2. Implementacin del
Algoritmia
algoritmo en un
algoritmo que
lenguaje de
define el
programacin.
modelo.
1. Decisin de
comenzar la
actividad.
Factores que
2. Perseverancia.
Interna
provienen del
3. Compromiso
estudiante
cognitivo en
cumplirla.
4. Resultado obtenido
Planteamientos
1. Aspectos
para interesar a
institucionales.
los estudiantes:
2. Caractersticas del
tipo de
Externa
curso.
actividad,
3. Caractersticas de las
alternancia,
tareas a realizar.
organizacin del
contexto.
178
en la que se valor
179
Nivel de
d
Desempe
eo
Callificacin
ob
btenida
Alto
Medio Alto
A
Medio
o
Aceptab
ble
4.5 5.0
4.0 4.5
3.5 4.0
3.0 3.5
2.5 3.0
2.0 2.5
1.5 2.0
1.0 1.5
0.5 1.0
0.0 0.5
Total
Aceptable - Bajo
Bajo
Significativa
amente
Bajo
Grupo d
de Control
Frecuencia
a Frecuenccia
Absoluta
Relativ
va
1
6,7%
2
13,3%
3
20,0%
2
13,3%
1
6,7%
5
33,3%
1
6,7%
0
0,0%
0
0,0%
0
0,0%
15
100%
Prom
medio Grupo de Control = 3,1
Grrupo de pru
ueba
Frecue
encia Frec
cuencia
Abso
oluta
Re
elativa
5
229,4%
6
335,3%
1
55,9%
3
117,6%
2
111,8%
0
00,0%
0
00,0%
0
00,0%
0
00,0%
0
00,0%
177
1100%
40,0%
%
35,0%
%
30,0%
%
25,0%
%
20,0%
%
Grup
po de Controll
15,0%
%
Grup
po de Prueba
10,0%
%
5,0%
%
0,0%
%
Figura
a 5.1 Grfico
o Desempeo Porcentajee de estudian
ntes
180
En la encuesta de evaluacin del documento (ver Anexo) los estudiantes calificaron varios
componentes del mismo mediante una valoracin cuantitativa de 1 a 5, donde 1 representa la
valoracin ms baja y 5 la ms alta. El captulo 1 del documento, titulado Algoritmos
evolutivos, se tom como base para realizar la encuesta. Cada una de las valoraciones
responde a la percepcin que el estudiante posee acerca del documento, lo cual es sumamente
valioso puesto que finalmente el documento est enfocado para ser utilizado por ellos como gua
de estudio o de investigacin.
El nmero total de estudiantes encuestados fue de 14, de los 17 que conforman el grupo de
prueba. En la siguiente tabla se muestran cada uno de los tems valorados y la cantidad de
estudiantes que calificaron el tem en cada valor, as como el porcentaje que representan:
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
tem
Estructura
Contenido
Redaccin
Lenguaje escrito
Cumplimiento de expectativas de contenido
Calificacin general
Conocimiento ANTES de leer el documento
Conocimiento DESPUS de leer el documento
Aporte de nuevos conocimientos
Importancia de disponer del documento
Influencia en desempeo acadmico
Grado de inters previo sobre la temtica
Aumento de inters por la temtica
Motivacin a realizar trabajos relacionados con la temtica
* 1: Muy bajo
2: Bajo
3: Medio
Valoracin cuantitativa
1
2
3
4
5
0
0
0
6
8
0
0
0
5
9
0
0
0
4
10
0
0
0
8
6
0
0
0
2
12
0
0
0
9
5
0
3
10
1
0
0
0
0
4
10
0
0
0
2
12
0
0
0
1
13
0
0
0
9
5
0
0
4
8
2
0
0
0
4
10
0
0
0
6
8
En la Figura 5.2 se relacionan cada uno de los tems valorados con el respectivo porcentaje de
estudiantes que calificaron el tem.
181
42,9%
14
13
28,6%
12
28,6%
71,4%
7,1%
57
35,7%
7,1%
92,9
9%
%
14,3%
85
5,7%
28,6%
71,4%
21,4
4%
71
1,4%
7,1
1%
64,3
3%
6
5
%
14,3%
64,3
3%
11
10
%
57,1%
35,7%
%
14,3%
85
5,7%
57,1%
%
2,9%
42
28,6%
71,4%
64,3%
35,7%
%
57,1%
42,9%
1
0,0%
20,0%
40,0%
1
660,0%
2
880,0%
1000,0%
Figura 5.2
5 Grfico tem
valorad
do Porcentaaje de estudiaantes
5.7
5 Anlisiss de resulta
ados
Los
L resultado
os obtenidos en la prueba
a de conceptoos aplicada n
nos indican que los estudiantes del
grupo
g
de prrueba, integ
grado por aq
quellos estud
diantes que tuvieron accceso al doccumento,
obtuvieron
o
un
u desempeo
o mucho mss elevado quee los estudian
ntes del grupoo de control.
Concretamen
C
nte, un 22,7%
% ms de los estudiantess del grupo de prueba oobtuvo un deesempeo
considerado
c
como Alto, as
a como el 22%
2
ms de los mismos eestudiantes oobtuvo un deesempeo
considerado
c
como Medio Alto, en comparacin
c
con los estu
udiantes del grupo de con
ntrol. De
igual
i
manera
a, slo el 11,8
8% de los estu
udiantes del grupo de pru
ueba obtuvo un desempe
o menor
al
a Aceptable (reprobaron
n la prueba), en contrastee con el 26,7%
% de los estu
udiantes del grupo de
control
c
que reprobaron
r
la
a evaluacin. Esto indica una reduccin de ms deel 55% en la cantidad
de
d estudiantes que repru
ueban. Adicio
onalmente, m
ms del 60%
% de los estu
udiantes del ggrupo de
prueba
p
tuvo un desempeo Medio-Allto o Alto, m
mientras que en el grupo de control el 60% de
los
l estudianttes tuvo un desempeo
d
Aceptable
A
o m
menor. Adem
ms, en el grrupo de prueeba no se
182
registraron estudiantes con desempeo Bajo, en contraste con el 6,7% registrado en el grupo de
control.
Por otro lado, los resultados de la encuesta indican que 100% de los estudiantes del grupo de
prueba calificaron el documento con una valoracin de 4 o 5, en trminos de estructura,
contenido, redaccin, lenguaje escrito, cumplimiento de expectativas y valoracin general. Esto
indica un nivel muy bueno de aceptacin del documento. Adems, el resultado muestra que el
28,6% de los estudiantes considera que el documento aumento su nivel de conocimientos en un
grado de 4, mientras que el 71,4% considera que el documento aument su nivel de
conocimiento en un grado de 5. Ms del 90% de los estudiantes considera como sumamente
importante el acceso que obtuvo al documento. El 71,4% considera que su grado de inters por
la temtica expuesta despus de haber ledo el documento es de Alto o Muy Alto, as mismo el
100% de los estudiantes asegura que el documento aumento en el mismo nivel su grado de
inters.
183
CONCLUSIONES Y RECOMENDACIONES
La aplicacin de algoritmos bio-inspirados se constituye como una buena alternativa para
solucionar problemas de alta complejidad computacional. Los tipos de problemas que estos
algoritmos solucionan ms efectivamente son aquellos relacionados con la optimizacin,
reconocimiento de patrones, caracterizacin de datos de entrada y aprendizaje adaptativo.
Los Algoritmos Evolutivos combinan mecanismos de bsqueda dirigida y bsqueda aleatoria
en problemas de optimizacin. La combinacin de estos dos mecanismos le concede a los
Algoritmos Evolutivos una propiedad que no poseen otros mtodos de bsqueda exhaustiva:
la capacidad de acceder a cualquier regin del espacio de bsqueda mientras exploran el
espacio de soluciones de una forma mucho ms eficiente que un algoritmo netamente
aleatorio.
Las Redes Neuronales Artificiales estn lejos de asemejarse al complejo funcionamiento del
cerebro humano. Sin embargo, los ingeniosos mecanismos con los que opera les permite
realizar
tareas
que
para
cualquier
otro
mtodo
resultaran
demasiado
costosas
cualquier
problema.
Especialmente
problemas
relacionados
con
el
184
Los resultados de la encuesta aplicada que evala el inters por la temtica expuesta en este
documento muestran que el 71,4% de los estudiantes que tuvieron acceso a l aumentaron su
inters, en un grado considerado como muy alto.
185
BIBLIOGRAFA
NTC 1486: 2008, Documentacin, presentacin de tesis, trabajos de grado y otros trabajos de
investigacin.
TAMAYO Y TAMAYO, Mario. El Proceso de la Investigacin. Tercera Edicin. Limusa
Noriega Editores 1999 Pp. 72- 130.
HERNNDEZ, Fernndez. Tipos de investigacin. Segunda Edicin. McGraw Hill. Mxico
2003.
J. RUSELL, Stuart y NORVIG, Peter. Inteligencia artificial, un enfoque moderno. Segunda
edicin. Pearson educacin S.A. Madrid, Espaa 2004.
ESCOLANO, Francisco. Inteligencia artificial, modelos, tcnicas y reas de aplicacin.
Segunda edicin. Thomson. Madrid, Espaa 2008.
ARAJO, Lordes; CEVIGN, Carlos. Algoritmos evolutivos: un enfoque prctico. Alfaomega
Grupo Editor S.A. Mxico DF 2008.
S. KLUG William, R. CUMMINGS, A. SPENCER Charlotte, A. PALLADINO Michael.
Concepts of Genetics. Ed 9. Pearson Education 2009.
J. F. Griffiths Anthony, R. Wessler Susan. W. H. Freeman and Company. Introduction to
genetic analysis. Ed 9. USA 2008.
T. Bck. Evolutionary Algorithms in Theory and Practice. Oxford University Press,NewYork,
1996.
LAMARCK Jean Baptiste. Philosophie zoologique (Filosofa zoolgica) (1809). F. Sempere y
Compaa Editores (F. Sempere y V. Blasco Ibez). Col. Biblioteca filosfica y social. 262
pgs. Valencia, ca.1910. (Edicin facsimilar de Editorial Alta Fulla - Mundo cientfico.
Barcelona, 1986 ISBN 84-86556-08-2)].
Evolution on the Front Line: An abbreviated Guide for Teaching Evolution, from Project 2006
at American Association for the Advancement of Science. 19 de Febrero de 2006.
J.H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann
Harbor, MI, 1975.
186
188
N. CASTRO Leandro and VON ZUBEN Fernando Jos. Artificial Immune Systems: Part I Basic Theory and Applications. Technical Report TR-DCA 01/99, FEEC/UNICAMP, Brazil,
December 1999.
S. Forrest, A. Perelson, L. Allen and R. Cherukuri. Self-nonself discrimination in a computer.
In Proc. of the IEEE Symposium on Security and Privacy, pags 202209. IEEE Computer
Society, 1994.
TIMMIS Jonathan. Artificial Immune Systems: A novel data analysis technique inspired by
immune network theory. PhD thesis, University of Wales, Aberystwyth. Ceredigion. Wales,
2001.
N. Jerne. Towards a network theory of the immune system. Ann. Immunology (Inst. Pasteur),
125 C:373389, 1974.
TIMMIS Jonathan, M. Neal, and J. Hunt. An Artificial Immune System for Data Analysis. In
the Proceedings of the International Workshop on Intelligent Processing in Cells and Tissues
(IPCAT),1999.
T. Knight and TIMMIS Jonathan. Assessing the performance of the resource limited artificial
immune system AINE. Technical Report 3-01, Canterbury, Kent. CT2 7NF, May 2001.
GONZALEZ Fernando and Dasgupta D. An Immunogenetic Technique to Detect Anomalies in
Network Traffic. In the Proceedings of the International Conference Genetic and Evolutionary
Computation (GECCO), New York, July 913, 2002.
189
ANEXO
190
SI
NO
SI
NO
Valoracin
Cuantitativa
1 2 3 4 5
tem
El documento se encuentra correctamente estructurado.
El contenido del documento es suficiente para entender el tema expuesto.
El documento est escrito de forma clara y ordenada.
El lenguaje escrito utilizado es adecuado.
El documento cumpli con sus expectativas de contenido sobre el tema.
En general, Cmo calificara usted el documento?
Califique el grado de conocimiento que usted considera posea sobre el tema, ANTES de leer el
documento.
Califique el grado de conocimiento que usted considera posee sobre el tema, DESPUS de haber ledo el
documento.
Cmo calificara usted el aporte del documento a sus conocimientos sobre el tema?
Qu tan importante fue para usted haber tenido este documento a su disposicin?
Qu tanto cree usted influira en su desempeo acadmico en esta asignatura, disponer de documentos
de este tipo?
Califique el grado de inters que usted posee sobre la temtica expuesta en el documento.
Cmo calificara el grado en que el documento aument su inters sobre la temtica?
Qu tan motivado se siente para leer otros documentos de este tipo, de temas relacionados como: redes
neuronales artificiales, inteligencia de enjambre, sistemas inmunolgicos artificiales, etc.?
191