You are on page 1of 194

INTELIGENCIA ARTIFICIAL, MTODOS BIO-INSPIRADOS: UN ENFOQUE

FUNCIONAL PARA LAS CIENCIAS DE LA COMPUTACIN

ALEJANDRO CRDENAS CARDONA

UNIVERSIDAD TECNOLGICA DE PEREIRA


FACULTAD DE INGENIERAS ELCTRICA, ELECTRNICA, FSICA Y CIENCIAS DE
LA COMPUTACIN
PROGRAMA DE INGENIERA DE SISTEMAS Y COMPUTACIN
PEREIRA
2012

INTELIGENCIA ARTIFICIAL, MTODOS BIO-INSPIRADOS: UN ENFOQUE


FUNCIONAL PARA LAS CIENCIAS DE LA COMPUTACIN

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

UNIVERSIDAD TECNOLGICA DE PEREIRA


FACULTAD DE INGENIERAS ELCTRICA, ELECTRNICA, FSICA Y CIENCIAS DE
LA COMPUTACIN
PROGRAMA DE INGENIERA DE SISTEMAS Y COMPUTACIN
PEREIRA
2012

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

1.5.5 Funcin de desempeo y seleccin ........................................................................ 52


1.5.6 Cruzamiento ......................................................................................................... 54
1.5.7 Mutacin............................................................................................................... 56
1.5.7.1 Mutacin terminal ................................................................................. 56
1.5.7.2 Mutacin funcional ................................................................................ 56
1.5.7.3 Mutacin de subrbol ............................................................................ 57
1.5.7.2 Mutacin de permutacin ...................................................................... 57
1.5.8 Reemplazo poblacional ........................................................................................ 58
1.6 Aplicaciones ..................................................................................................................... 58
2. Redes Neuronales Artificiales ............................................................................ 60
2.1 Introduccin ..................................................................................................................... 60
2.2 Fundamentos biolgicos ................................................................................................... 61
2.2.1 El sistema nervioso y el cerebro humano .............................................................. 61
2.2.2 La neurona ............................................................................................................ 63
2.2.2.1 Funcionamiento de la neurona ............................................................... 64
2.2.3 La sinapsis y las redes neuronales ......................................................................... 66
2.3 De la red neuronal biolgica a la red neuronal artificial .................................................. 68
2.3.1 La neurona artificial ............................................................................................. 68
2.3.2 Redes neuronales artificiales (RNA) ..................................................................... 71
2.3.3 Arquitecturas de las RNA..................................................................................... 72
2.3.3.1 Redes monocapa .................................................................................... 72
2.3.3.2 Redes multicapa ..................................................................................... 73
2.3.3.3 Redes unidireccionales............................................................................ 74
2.3.3.4 Redes recurrentes ................................................................................... 75
2.3.4 Mtodos de aprendizaje ........................................................................................ 75
2.3.4.1 Aprendizaje supervisado ........................................................................ 76
2.3.4.2 Aprendizaje no supervisado.................................................................... 77
2.3.5 Modelos de RNA................................................................................................... 77
2.4 El perceptrn simple ........................................................................................................ 80
2.4.1 Arquitectura del percetrn simple......................................................................... 80
2.4.2 Algoritmo de aprendizaje del percetrn simple ..................................................... 84
2.4.3 Limitaciones del percetrn simple ......................................................................... 86
2.5 Perceptrn multicapa (Multilayer Perceptron: MLP) ...................................................... 88
2.5.1 Arquitectura del perceptrn multicapa ................................................................. 88
2.5.2 Regla de aprendizaje del MLP: Algoritmo Backpropagation ................................ 90
2.5.2.1 Regla delta generalizada ........................................................................ 93
2.5.2.2 Pasos del algoritmo backpropagation ..................................................... 95
2.6 Redes de Hopfield ............................................................................................................ 98
2.6.1 Arquitectura de las redes de Hopfield ................................................................... 98
2.6.2 Funcionamiento de una red de Hopfield ............................................................... 99
2.6.3 Regla de aprendizaje de las redes de Hopfield .................................................... 102
2.6.3.1 Funcin de energa ............................................................................... 103
4

2.6.4 Limitaciones de las redes de Hopfield ................................................................. 105


2.7 Mapas auto-organizados: Redes de Kohonen.................................................................. 107
2.7.1 Arquitectura de las redes de Kohonen ................................................................ 107
2.7.2 Regla de aprendizaje de las redes de Kohonen .................................................... 110
2.7.2.1 Pasos del algoritmo de aprendizaje para las redes de Kohonen ............ 112
2.8 Aplicaciones ................................................................................................................... 114
3. Inteligencia Colectiva ................................................................................................... 116
3.1 Introduccin ................................................................................................................... 116
3.2 Fundamentos biolgicos ................................................................................................. 117
3.2.1 Las colonias de hormigas .................................................................................... 117
3.2.1.1 Cmo se origina una colonia de hormigas? ......................................... 117
3.2.1.2 El principio de orden y funcionamiento de una colonia de hormigas ... 119
3.2.2 Los enjambres de abejas ..................................................................................... 121
3.2.2.1 El principio de los enjambres de abejas ............................................... 122
3.2.3 Inteligencia celular .............................................................................................. 124
3.3 De la biologa a la inteligencia colectiva artificial .......................................................... 125
3.3.1 Los agentes simples y los sistemas de agentes ..................................................... 125
3.4 Optimizacin por colonia de hormigas ........................................................................... 127
3.4.1 Fundamentos de la optimizacin por colonia de hormigas .................................. 127
3.4.2 Sistema de Hormigas: Modelo basado en feromonas ........................................... 130
3.4.3 Algoritmo Sistema de Hormigas.......................................................................... 132
3.5 Optimizacin por enjambre de partculas....................................................................... 134
3.5.1 Fundamentos de la optimizacin por enjambre de partculas (PSO) .................. 134
3.5.2 Algoritmo PSO ................................................................................................... 136
3.5.2.1 Descripcin del algoritmo PSO ............................................................ 136
3.5.2.2 Tipos de algoritmos PSO ..................................................................... 140
3.5.3 Topologas del enjambre de partculas ................................................................ 142
3.6 Autmatas celulares ....................................................................................................... 144
3.6.1 Fundamentos de los Autmatas Celulares (AC) ................................................. 144
3.6.2 Definicin de un Autmata Celular .................................................................... 146
3.6.2.1 Estructura de un Autmata Celular .................................................... 146
3.6.2.2 Componentes de un Autmata Celular ................................................ 147
3.6.3 Tipos de Autmatas Celulares ............................................................................ 149
3.6.3.1 El juego de la vida ............................................................................... 150
3.7 Aplicaciones ................................................................................................................... 152
4. Sistemas Inmunolgicos Artificiales ........................................................................... 154
4.1 Introduccin ................................................................................................................... 154
4.2 Fundamentos biolgicos ................................................................................................. 155
4.2.1 Fundamentos del sistema inmunolgico humano ................................................ 155
4.2.2 Elementos del sistema inmunolgico humano ..................................................... 157
4.2.2.1 Linfocitos y su papel clave en el sistema inmunolgico ........................ 158
4.2.3 Cmo trabaja el sistema inmunolgico? ............................................................ 161
5

4.2.3.1 Linfocitos detectando patgenos .......................................................... 161


4.2.3.2 Evolucin de la afinidad linfocito-patgeno (Aprendizaje) ................... 162
4.2.3.3 Memoria inmunolgica ......................................................................... 163
4.3 De la inmunologa natural a la inmunologa artificial .................................................... 164
4.3.1 Teoras de la inmunologa biolgica y artificial ................................................... 164
4.3.1.1 Teora de la red inmunolgica .............................................................. 164
4.3.1.2 El principio de seleccin clonal ............................................................ 165
4.3.1.3 Seleccin negativa ................................................................................ 165
4.3.2 Fundamentos generales de los sistemas inmunolgicos artificiales ...................... 166
4.4 Algoritmos basados en Sistemas Inmunolgicos Artificiales ........................................... 169
4.4.1 Algoritmo de seleccin clonal (CLONALG) ........................................................ 169
4.4.1.1 Aspectos bsicos del algoritmo ............................................................. 169
4.4.1.2 Descripcin del algoritmo ..................................................................... 169
4.4.2 Algoritmo de seleccin negativa .......................................................................... 171
4.4.3 Redes inmunolgicas artificiales (redes idiotpicas) ............................................. 173
4.5 Aplicaciones ................................................................................................................... 175
5. Comprobacin de la hiptesis y anlisis de resultados .......................................... 177
5.1 Hiptesis ........................................................................................................................ 177
5.2 Poblacin ....................................................................................................................... 177
5.3 Muestra .......................................................................................................................... 177
5.4 Variables medidas .......................................................................................................... 177
5.5 Metodologa aplicada ..................................................................................................... 179
5.6 Mediciones obtenidas ..................................................................................................... 179
5.7 Anlisis de resultados..................................................................................................... 182
CONCLUSIONES Y RECOMENDACIONES ........................................................................ 184
BIBLIOGRAFA ..................................................................................................................... 186
ANEXO: Modelo de encuesta de valoracin del documento .................................................... 189

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

1.1 Estructura qumica del ADN ................................................................................. 15


1.2 Doble hlice del ADN ............................................................................................ 16
1.3 Proceso de mitosis ................................................................................................. 17
1.4 Tipos de mutacin ................................................................................................. 18
1.5 Cromosoma y ADN................................................................................................ 20
1.6 Genes ..................................................................................................................... 20
1.7 Esquema general de un AE .................................................................................... 23
1.8 Pseudocdigo general de un AE ............................................................................. 24
1.9 Funcin ejemplo con dos mximos locales y un mximo global ............................. 28
1.10 Codificacin simple de un cromosoma para un AG ............................................. 30
1.11 Codificacin matricial de un cromosoma para un AG ......................................... 31
1.12 Seleccin por ruleta ............................................................................................. 36
1.13 Pseudocdigo general de cruzamiento con probabilidad ...................................... 38
1.14 Cruzamiento monopunto ..................................................................................... 39
1.15 Cruzamiento de dos puntos ................................................................................. 39
1.16 Mutacin por sustitucin puntual ........................................................................ 40
1.17 Pseudocdigo general de mutacin ...................................................................... 40
1.18 Pseudocdigo general para un algoritmo de PG .................................................. 44
1.19 Ejemplo de codificacin en un problema de PG .................................................. 45
1.20 Ejemplo de codificacin en rbol n-ario ............................................................... 45
1.21 Ejemplo de inicializacin completa ...................................................................... 49
1.22 Pseudocdigo para el mtodo de inicializacin completa ..................................... 49
1.23 Ejemplo de inicializacin creciente ...................................................................... 50
1.24 Pseudocdigo para el mtodo de inicializacin creciente...................................... 51
1.25 Cromosoma ejemplo............................................................................................. 52
1.26 Ejemplo de recorrido y evaluacin de un cromosoma .......................................... 53
1.27 Ejemplo de cruzamiento en PG ........................................................................... 55
1.28 Ejemplo de mutacin terminal............................................................................. 56
1.29 Ejemplo de mutacin funcional............................................................................ 57
1.30 Ejemplo de mutacin de subrbol........................................................................ 57
1.31 Ejemplo de mutacin de permutacin ................................................................. 58
2.1 El cerebro y sus partes .......................................................................................... 62
2.2 Neurona ................................................................................................................. 64
2.3 Potencial de accin durante la transmisin del impulso neuronal .......................... 65
2.4 Sinapsis .................................................................................................................. 66
2.5 Neurona artificial ................................................................................................... 69
2.6 Funciones de activacin ms comunes ................................................................... 70
2.7 Ejemplo de RNA monocapaca ............................................................................... 72
2.8 Ejemplo de RNA multicapa ................................................................................... 73
7

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

2.9 Perceptrn simple .................................................................................................. 80


2.10 Perceptrn simple para un vector de entrada en dos dimensiones ....................... 81
2.11 Superficie de separacin para un perceptrn simple en R2 ................................... 82
2.12 Perceptrn simple con n entradas y m neuronas de salida .................................. 83
2.13 Perceptrn simple con 2 entradas y 3 neuronas de salida .................................... 83
2.14 Hiperplanos para un perceptrn simple de 3 neuronas ........................................ 84
2.15 Algoritmo de aprendizaje del perceptrn simple .................................................. 85
2.16 Ejemplo de separabilidad lineal ........................................................................... 87
2.17 Arquitectura de un perceptrn multicapa con conectividad completa ................. 88
2.18 Ejemplos de regiones de decisin obtenidas con diferentes perceptrones ............. 89
2.19 Arquitectura del modelo de Hopfield ................................................................... 99
2.20 Ejemplo de funcin de energa de una red de Hopfield ...................................... 104
2.21 Arquitectura de una red de Kohonen de dos dimensiones ................................. 108
2.22 Funciones de vecindad comunes y vecindades obtenidas ................................... 111
3.1 Apariencia de las hormigas segn su sexo y su casta ........................................... 119
3.2 Recoleccin de alimentos en una colonia de hormigas ......................................... 120
3.3 Apariencia de las abejas segn su sexo y su casta .............................................. 121
3.4 La danza de las abejas ......................................................................................... 123
3.5 Bacteria E. Coli ................................................................................................... 124
3.6 Estructura de un agente simple ........................................................................... 125
3.7 Ejemplo de grafo ponderado ............................................................................... 127
3.8 Problema del viajero ............................................................................................ 131
3.9 Algoritmo Sistema de Hormigas .......................................................................... 132
3.10 Enjambre para un algoritmo PSO en dos dimensiones ...................................... 135
3.11 Inicializacin de un enjambre en un espacio de bsqueda tridimensional .......... 137
3.12 Movimiento de un partcula en el espacio de soluciones .................................... 138
3.13 Algoritmo PSO local .......................................................................................... 141
3.14 Algoritmo PSO global ....................................................................................... 142
3.15 Topologas de los enjambres de partculas ......................................................... 143
3.16 Ejemplo simple de autmata celular .................................................................. 145
3.17 Ejemplos de vecindades para diferentes espacios dimensionales ........................ 148
3.18 Patrones obtenidos en el autmata Life ............................................................ 151
4.1 Ejemplo de agentes patgenos ............................................................................. 155

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

1.2 Fundamentos biolgicos


1.2.1 Teora clsica de la evolucin
"Visto a la luz de la evolucin, la biologa es, quizs, la ciencia ms satisfactoria e inspiradora.
Sin esa luz, se convierte en un montn de hechos varios, algunos de ellos interesantes o
curiosos, pero sin formar ninguna visin conjunta

La evolucin biolgica es el proceso histrico de transformacin de unas especies en otras


especies descendientes. ste es el gran principio de la biologa, sin el cual no es posible entender
las propiedades que distinguen a un organismo de otro, sus procesos de adaptacin, ni las
relaciones, en mayor o menor grado, que existen entre las diferentes especies.
La citada frase del genetista ucraniano Theodosius Dobzhansky, no es ms que una aplicacin
particular del principio ms general que afirma que nada puede entenderse sin una perspectiva
histrica. Es mediante la evolucin como se explica esta perspectiva histrica, un tanto
romntica, en el sentido en que a la luz de la teora de la evolucin todos los seres vivos
compartimos un antepasado en comn. As, los conceptos de la evolucin proporcionan una
explicacin cientfica para la historia de la vida en la Tierra.
A pesar de que la evolucin como caracterstica inherente de los organismos vivos, no es
materia de debate entre la comunidad cientfica, los medios por los cuales se explican las
transformaciones y diversificacin de las especies an son materia de investigacin.
La idea de la evolucin biolgica tiene amplios precedentes desde pocas remotas y en
diferentes culturas, sin embargo, la teora moderna no se estableci hasta llegados los siglos
XVIII y XIX, con la contribucin de cientficos como Jean-Baptiste Lamarck y Charles Darwin.
A mediados del siglo XVIII Lamarck hace pblica su teora evolutiva2, siendo el primero en
proponer que los organismos vivos tal y como los conocemos hoy en da, haban evolucionado
de organismos ms simples que se adaptaron a los cambios que el medio ambiente ha sufrido.
De alguna manera, la capacidad de adaptacin de estos organismos simples era transmitida y
mejorada de generacin a generacin, de esta forma con el pasar del tiempo resultaban
organismos ms complejos y con mejores capacidades para sobrevivir. Lamarck se enfrent al
paradigma creacionista que andaba en rigor en aquella poca y que aceptaba la intervencin

DOBZHANSKY, Theodosius. Nada en la Biologa tiene sentido excepto a la luz de la Evolucin.

The American Biology Teacher. Marzo de 1973, p. 129.


LAMARCK, Jean Baptiste. Philosophie zoologique (Filosofa zoolgica). 1809.

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

Darwin apoy sus argumentos con una gran cantidad de hechos, la

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

1.2.2 Teora sinttica de la evolucin


La teora de la evolucin actual, llamada sntesis evolutiva moderna o teora sinttica de la
evolucin, es la ampliacin de la teora darwiniana, en trminos de la seleccin natural, con los
principios sobre gentica descubiertos por el monje austraco Gregor Mendel y los
conocimientos sobre gentica actuales.
Los experimentos de cruzamiento con guisantes realizados por Mendel, llevaron al monje a
formular las famosas tres leyes que llevan su nombre5 y con las cuales se explican y predicen
cmo van a ser las caractersticas de un nuevo individuo, partiendo de los rasgos presentes en
sus padres y abuelos. En sntesis, Mendel establece que las caractersticas o caracteres de un
individuo se heredan de padres a hijos, aunque no siempre de forma directa, puesto que pueden
ser dominantes o recesivos. Los caracteres dominantes se manifiestan siempre en todas las
generaciones, pero los caracteres recesivos pueden permanecer latentes, sin desaparecer, para
surgir y manifestarse en generaciones posteriores. Este principio es llamado de forma ms
general como la ley de la herencia.
Segn la teora sinttica, la evolucin ocurre mediante los siguientes mecanismos:

La seleccin natural, igual que en la teora de Darwin

Las mutaciones

La derivada gentica

El flujo gentico

Es importante resaltar que gracias al descubrimiento de Mendel, la evolucin se entendi como


un proceso donde se producen cambios genticos en los individuos, estos cambios son
transmitidos entonces de una generacin a otra en el proceso de reproduccin.
La teora sinttica es la teora mayoritariamente aceptada por la comunidad cientfica. No
obstante, existen teoras alternativas, como la teora del equilibrio puntuado de Esteban Jay
Gould6 o el neutralismo de Kimura7.

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 Principios de gentica


La gentica analiza cmo la herencia biolgica es transmitida de una generacin a la siguiente,
y cmo se efecta el desarrollo de las caractersticas que controlan estos procesos. Los procesos
genticos son esenciales para la comprensin de la vida misma, por ello muchos creen que el
centro de la biologa misma es la gentica. La gentica controla la funcin celular, determina en
gran medida las caractersticas fsicas de los individuos y sirve de unin entre generaciones de
todas las especies. En s mismo el conocimiento en gentica es esencial para la comprensin de
otras reas como la biloga molecular, biologa celular, fisiologa, evolucin, ecologa y etologa.
La palabra gentica proviene del griego (gen) que significa descendencia. De all el
principal objeto de estudio de la gentica son los genes. Un gen no es ms que una secuencia de
nucletidos que forman la estructura de ADN, este a su vez al comprimirse forma otra
estructura llamada cromosoma. As el cromosoma es el encargado de almacenar la
informacin gentica de un individuo. Los cromosomas, junto con otras protenas especiales
llamadas histonas, componen la cromatina, estructura que se encuentra en el ncleo de todas
las clulas eucariotas8.
Desglosaremos cada uno de estos conceptos de lo ms especfico a lo ms general, iniciando por
entender qu es el ADN.

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

(b) Estrructura qum


mica de las baases nitrogen
nadas

Guanina

Timina

Adeenina

Cittosina

Figura 1.1 Estructuraa qumica dell ADN


Los
L nucletid
dos reciben el
e nombre de la base nitroogenada por la que estn
n compuestoss. As, un
nucletido
n
see diferencia de
d otro slo por
p la base niitrogenada.
El
E ADN se organiza en largas caden
nas de estos nucletidos llamadas poolinucletidoss, lo que
proporciona
p
a la caracterrstica ms im
del mismo: eel almacenam
miento de
mportante d
la base para
enormes
e
canttidades de in
nformacin geentica. Si cu
ualquiera de los cuatro n
nucletidos occupa una
posicin
p
den
ntro de la cadena,
c
es posible una extraordinaaria variacin. Por ejem
mplo, un
polinucletid
p
do de slo 100
00 nucletido
os de longitu
ud puede ordeenarse de 410000 maneras, ccada una
de
d ellas disttinta a las dems
d
secuencias posiblees. El ADN humano tieene una lon
ngitud de
aproximadam
a
mente 3 billones de nucleetidos, ms del 99% de la secuencia es igual en todas las

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

Guanina Cit osina


Esqueletto Azcar - Fosfaato

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

International Human Geenome Sequen


ncing Consorttium. Finishin
ng the euchro
omatic sequen
nce of the
human
h
genome (2004).

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

Los gametos son clulas que tienen un


na versin nicca de la informacin gentiica que determ
minar las
caractersticas
c
s fsicas de la
a persona. Du
urante la fecu
undacin se fu
usionarn con otro gametoo del sexo
opuesto
o
para formar el cigo
oto. Los gamettos humanos m
masculinos se conocen comoo espermatozooides y los
femeninos
f
com
mo vulos.

17

Sustitucin

AGCATCCTA

AGCTGCCTA

Inversin

TCGTGAGGT

TCGAGTGGT

Translocacin

AGGTACCAT

AACCGGTAT

Insercin

GCAT|GGCA

GCATAGCGGCA

Delecin

CATGCAATGCT

CAT*TGCT

Figura 1.4 Tipos de mutacin


Las mutaciones ms frecuentes (alrededor de un 80%) son las causadas por desfasamiento
(insercin, delecin). Se estima que la tasa de mutacin en humanos es de 2,5x10-8. Las
mutaciones son la principal causa de enfermedades genticas, el cncer es un ejemplo tpico de
enfermedad causada por mutaciones donde se alteran los llamados oncogenes, que afectan
protenas reguladoras de la divisin celular y ocasionan una alteracin en la proliferacin de las
clulas.
1.2.3.3 Genes, genotipo y fenotipo
Un gen no es ms que una secuencia especfica de nucletidos en la cadena de ADN. Aunque
slo hay cuatro tipos de nucletidos, estos pueden estar en cualquier orden y el segmento de
ADN que corresponde a un gen en particular puede ser de cualquier longitud. As, un tipo de
gen podra tener la secuencia TACCGTAGACTTC en las posiciones 108 hasta la 120,
mientras otro gen podra tener la secuencia CGAATCGTACCAG en las mismas posiciones.
Una secuencia dada de As, Ts, Gs y Cs puede ser utilizada para crear molculas de protenas
que tengan secuencias particulares de aminocidos, indicando que se debe traducir un gen dado
a su secuencia en ciertas clulas, en tejidos particulares, y en ciertos momentos del desarrollo y
de la vida del organismo.12 Un gen es pues una codificacin en secuencia de aminocidos, de
tamao variable, que se traduce a una funcin celular.
Aunque los genes fueran de slo 100 bases de longitud (son mucho ms largos) habra 4100, o
aproximadamente 100000010 tipos posibles distintos. Cada secuencia distinta no tiene por qu
llevar diferente informacin, pero el nmero de posibilidades es an enorme.
A cada posible valor que un gen pueda tener se le denomina alelo. Utilizando la definicin de
gen que hace referencia a una porcin de ADN determinada, los alelos de ese gen seran todos
los posibles valores que puede tomar ese segmento de ADN.
12

J. F. Griffiths Anthony, R. WESSLER Susan. Introduction to genetic analysis. W. H. Freeman and


Company. USA 2008.

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

XX paara las mujeeres son los famosos

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

Figurra 1.5 Crom


mosoma y ADN

Gen

6 Genes
Figura 1.6
20

1.3 De la biologa evolutiva a los algoritmos evolutivos


1.3.1 Comprendiendo un algoritmo evolutivo
En el subcaptulo anterior se realiz una revisin sucinta de los conceptos ms importantes de
la biologa evolutiva. En este punto el lector est familiarizado con la terminologa utilizada, as
procederemos a realizar un smil entre la teora biolgica y la teora computacional que se
inspira en ella.
En un Algoritmo Evolutivo (AE) se intenta resolver un determinado problema por medio de la
manipulacin de un conjunto de individuos (poblacin) que representan las soluciones de dicho
problema, cada individuo se codifica en uno o ms cromosomas que son estructuras
computacionalmente manipulables (por ejemplo un vector). El conjunto de soluciones
representa

el

fenotipo

los

cromosomas

representan

su

genotipo.

Un

proceso

codificacin/decodificacin permite realizar el mapeo entre cromosomas y soluciones. Cada


cromosoma est compuesto por diferentes genes o valores que determinan la solucin, ubicados
en determinado locus o posicin dentro de la estructura. La poblacin sufre un proceso de
cambio a travs del tiempo por medio de la competencia entre los individuos, esta competencia
se realiza haciendo uso de una funcin que evala el desempeo de cada uno, es decir, el grado
de similitud de la solucin encontrada por el algoritmo evolutivo con la solucin real, para el
caso en que la solucin es conocida, o

el valor en menor o mayor grado que entrega el

algoritmo para un problema de optimizacin dado, cuando la solucin a dicho problema es


desconocida.
Los individuos que sobreviven se reproducen, esto es, intercambian entre ellos material
gentico (valores que determinan la solucin al problema) originando una nueva poblacin
compuesta por hijos. En esta nueva poblacin uno o ms individuos pueden sufrir mutaciones
aleatorias produciendo nuevos alelos en sus genes, es decir, cambios en los valores del
cromosoma que representa la solucin, originando una nueva poblacin compuesta de los
individuos mutados y no mutados. El proceso de seleccin, reproduccin y mutacin se repite
en el tiempo originando en cada unidad del mismo nuevas generaciones de individuos hasta que
se cumple cierta condicin (por ejemplo nmero de generaciones).
En la tabla 1.1 se resumen los conceptos utilizados en la biologa evolutiva y su respectiva
interpretacin en los algoritmos evolutivos.

21

Fenotipo
Genotipo
Poblacin

Conjunto de posibles soluciones de un problema especfico.


Conjunto

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

manipulable computacionalmente. Elemento del conjunto


genotpico.

Locus

Posicin particular dentro de una estructura cromosoma.


Subestructura de la estructura cromosoma en un locus

Gen

determinado.

Alelos
Desempeo

Conjunto de posibles valores que puede tener la subestructura


gen.
Valor resultante del proceso de evaluacin de un cromosoma
que incide en el proceso de seleccin.
Mecanismo

Seleccin

mediante

el

cual

se

eligen

determinados

cromosomas que formarn parte de la poblacin que se


cruzar.

Cruzamiento
Reproduccin
Mutacin
Generacin

Intercambio de genes entre dos estructuras cromosoma


llamadas padres, que origina una estructura nueva llamada
hijo.
Cambio aleatorio de alelos dentro de una subestructura gen.
Ciclo seleccin-cruzamiento-mutacin para una poblacin
determinada.

Tabla 1.1 Definicin de conceptos biolgicos para un AE

1.3.2 Esquema general de un algoritmo evolutivo


Cmo puede observarse en la figura 1.7 en un AE existe un conjunto F denominado espacio
fenotpico que comprende las posibles soluciones del problema. Asociado con F, existe el
conjunto G denominado espacio genotpico, conformado por las soluciones codificadas del
conjunto F. Estos conjuntos se relacionan por medio de una funcin g, que permite mapear los
elementos del conjunto G a su equivalente en el conjunto F, as G y F son el dominio y el
codominio de la funcin g respectivamente.
22

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

OLARIU, Stephan & Y.


Y ZOMAYA Albert. Handdbook of bioiinspired algorrithms and ap
plications.
Chapman
C
& Hall/CRC
H
Tay
ylor & Francis Group. USA 2006.

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.

Figura 1.8 Pseudocdigo general de un AE


El esquema general de un AE se adapta a la resolucin de un problema particular, dependiendo
del tipo de problema se elige una codificacin idnea de las soluciones del mismo. Este proceso
no es tan trivial, pues el mismo incide directamente en la efectividad del AE. El tipo de
estructura elegida para realizar la codificacin determina la forma en la que se aplican los
operadores genticos (seleccin, cruzamiento, mutacin). Es diferente, por ejemplo, realizar un
cruzamiento entre estructuras de tipo vector que realizarlo entre estructuras de tipo rbol.
Claro est que independientemente de la estructura que se elija para representar a los
cromosomas el esquema general del AE no cambia, las nicas variaciones que existen son la
aplicacin de los operadores genticos en la estructura en particular.

1.3.3 Tipos de algoritmos evolutivos


Como vemos el concepto Algoritmo evolutivo tiene un significado bastante amplio, casi que
abarca a cualquier estrategia que se utilice en computacin que haga uso de los principios de la
evolucin biolgica. Es por esto que se ha creado una clasificacin para diferenciar a los
algoritmos segn el tipo de estrategia que se usa y la forma en la que estn codificadas las
soluciones del mismo, distinguindose uno del otro esencialmente por la estructura de datos
elegida para representar a los cromosomas. La clasificacin es la siguiente:

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

LAWRENCE J. Fogel. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence.


IEEE Press, Piscataway, NJ. 1995
16
J. H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann
Harbor, MI, 1975.

25

mediante la asignacin de recompensas y el descubrimiento de nuevas reglas. Normalmente los


CG hacen evolucionar un conjunto de reglas que sern las encargadas de realizar la
clasificacin.
Programacin Gentica (PG): A John R. Koza se le atribuyen las investigaciones
preliminares en este campo. Esencialmente en la PG las estructuras utilizadas para representar
a los individuos son programas, dichos programas son codificados mediante rboles17. El
objetivo final del algoritmo de PG es encontrar un programa para resolver un problema
formulado como una coleccin de entradas y salidas. Sin embargo, no slo se utiliza para
generar programas, sino cualquier otro tipo de soluciones cuya estructura sea similar a la de un
programa, por ejemplo frmulas matemticas o circuitos electrnicos. En un algoritmo de PG
se aplican todos los operadores genticos teniendo en cuenta que estos se resumen a operaciones
realizadas en rboles (insercin de nodos o de subrboles, eliminacin de nodos o subrboles,
modificacin de valores en un nodo, etc.)
Algoritmos Memticos (AM): Los AMs son una familia de tcnicas que intentan aunar
ideas y conceptos de diferentes mtodos de resolucin como el hill climbing (ver seccin 1.3.4) o
el branch and bound. El adjetivo memtico" proviene del trmino ingls meme, acuado por
Richard Dawkins18 para designar al anlogo del gen en el contexto de la evolucin cultural. As
un meme es una unidad de informacin cultural, sea una idea, palabra, imagen, costumbre, etc.
que se transmite de un individuo a otro o de una generacin a la siguiente. En semejanza con
los genes, los memes tambin mutan y se cruzan con otros para generar memes nuevos. Resulta
conveniente resaltar sin embargo que el empleo de esta terminologa no representa un propsito
de adherirse a una metfora de funcionamiento concreta (la evolucin cultural en este caso),
sino ms bien lo contrario: hacer explcito que se difumina la inspiracin puramente biolgica y
se opta por modelos ms genricos en los que se manipula, se aprende y se transmite
informacin, es por eso que en ocasiones suele referirse a ellos como AEs hbridos o
lamarckianos.
En la terminologa de los AEs, un AM no se refiere a individuos que evolucionan en el tiempo,
sino a agentes. El motivo bsico es el hecho de que individuo" denota un ente pasivo que est
sujeto a los procesos y reglas evolutivas, mientras que el trmino agente" implica la existencia
de un comportamiento activo, dirigido a propsito a la resolucin de un cierto problema. Dicho
comportamiento activo se ve reflejado en diferentes constituyentes tpicos del algoritmo, como
por ejemplo tcnicas de bsqueda local. En pocas palabras un AM es una estrategia de
17

KOZA, John. Genetic Programming. MIT Press Cambridge, MA, 1992.


Etlogo, zologo y terico evolutivo autor de El gen egosta, obra publicada en 1976, que populariz la
visin evolutiva enfocada en los genes, y que introdujo los trminos meme y memtica.
18

26

bsqueda en la que una poblacin de agentes optimizadores compiten y cooperan de manera


sinrgica19. Ms an, estos agentes hacen uso explcito de conocimiento sobre el problema que
se pretende resolver.
Adems de las variantes de AEs mencionadas, existen muchas otras tcnicas que podran
incluirse en el alcance de los AEs, como los algoritmos de estimacin de distribucin (AED) o
la dispersin de bsqueda (scatter search), entre otras. Todas ellas buscan algn tipo de
balance entre la exploracin de nuevas regiones del espacio de bsqueda y la explotacin de
regiones no conocidas que pueden ser prometedoras para resolver un problema, y as minimizar
la complejidad computacional requerida para encontrar la solucin deseada20. Sin embargo,
estas tcnicas exhiben comportamientos distintos y hacen uso de operaciones diferentes a las
descritas en el pseudocdigo general de un AE de la figura 1.8. El trmino metaheurstica, es
un concepto ms global que se usa para designar este amplio conjunto de tcnicas de
optimizacin, entre las que se incluyen los AEs.
En los subcaptulos 1.4 y 1.5 se estudian en ms detalle la familia de los Algoritmos Genticos
(AGs) y la Programacin Gentica (PG) respectivamente, al ser estas las tcnicas ms
ampliamente usadas y que se ajustan de manera ms fiel al esquema general de un AE.

1.3.4 Algoritmos evolutivos y optimizacin


La mayora de los problemas que se presentan en ingeniera o investigacin se pueden expresar
como un problema de optimizacin: dado un conjunto de variables que afectan un sistema, se
busca una serie de valores para dichas variables que permitan optimizar su comportamiento
(maximizar el rendimiento, minimizar el costo, maximizar la calidad, etc.). En el contexto de
los problemas de optimizacin, a las variables del sistema se les denomina variables de decisin
y a la funcin que describe el comportamiento del sistema se le conoce como funcin objetivo.
De esta manera un problema de optimizacin equivale a hallar los valores que deben tomar las
variables de decisin de tal suerte que maximicen o minimicen, segn el caso, el valor de la
funcin objetivo.

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

Los mtodos clsicos de resolucin para problemas de optimizacin exploran el espacio de


soluciones de forma metdica o determinista. Por ejemplo la tcnica de hill climbing hace uso
del clculo de la pendiente de la funcin objetivo para la vecindad del punto actual y de esta
forma determina hacia donde crece la funcin y selecciona el punto de mayor pendiente. Si el
valor de la funcin objetivo es mejor en el punto nuevo, el punto anterior se reemplaza por el
que fue hallado. Este proceso continua hasta que no es posible encontrar ninguna mejora.
Cmo se observa en la figura 1.9, una de las desventajas de este mtodo es su incapacidad de
escapar de ptimos locales. Si la exploracin inicia en el punto p, por ejemplo, el algoritmo
encontrar el mximo local a sin llegar nunca al mximo global b, ya que para hacerlo tendra
que atravesar la regin r, que posee valores peores que a.
b
a
p

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

1.4 Algoritmos Genticos (AG)


1.4.1 Introduccin
Cmo ya se haba mencionado con anterioridad los Algoritmos Genticos (AG) son la variante
de AEs ms populares. Entre las razones por las que los AG suelen ser los ms detalladamente
estudiados estn su eficiencia y sencillez de implementacin, debido a la simpleza en la
representacin de los cromosomas. Otra de las razones es la existencia de numerosos estudios
de los mecanismos subyacentes al funcionamiento de estos algoritmos para la resolucin de
problemas.
Los AGs responden fielmente al esquema general de los AEs representado en el subcaptulo
anterior (figura 1.8). La ejecucin de un AE requiere de la definicin de una serie de
parmetros de funcionamiento, por ejemplo el tamao de la poblacin con la que se ejecutar el
algoritmo, y otros que forman parte de los operadores genticos, como la probabilidad de cruce
y la probabilidad de mutacin. Cmo se estudiaba en el subcaptulo anterior, el esquema
general de los AEs da lugar a diferentes clases de algoritmos, en funcin de la representacin
adoptada para los individuos que componen la poblacin. Dentro de cada una de estas clases,
cada algoritmo es un caso particular, no slo en funcin del problema en concreto en que se
aplica sino tambin de la eleccin de los mtodos que se utilizan en los distintos procesos
involucrados, como la seleccin y la reproduccin.
A continuacin se realiza una revisin ms detallada de los elementos del esquema general
aplicados al caso de los AGs analizando las variantes ms usuales. Aunque los elementos que se
estudian son particulares para los AGs, algunos de ellos pueden ser aplicados a cualquier tipo
de AE.
1.4.2 Codificacin de los individuos
Los individuos en un AG se codifican en cadenas binarias. Denotaremos por b a dichas cadenas
y x al espacio de bsqueda del problema. Haciendo uso de la terminologa biolgica b hace
parte del genotipo del AG y x se refiere a su fenotipo. Para este caso un gen es una sub-cadena
de b pudiendo ser inclusive de longitud unitaria, y locus una posicin determinada en la
cadena. Alelo es el conjunto de posibles valores que puede tomar una sub-cadena gen. Lo ms
usual es referirse a gen como un nico carcter binario y a locus cmo su posicin en la cadena,
tal como se muestra en la siguiente imagen:

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:

Tamao de la poblacin (N nmero de cromosomas)

Cantidad de genes (longitud del cromosoma)

Poblacin inicial (valor de los genes para los N cromosomas)

Probabilidad de cruce (probabilidad para que dos cromosomas se crucen)

Probabilidad de mutacin (probabilidad para un cromosoma mute)

Criterio de parada (nmero mximo de generaciones)

Tasa de elitismo, si lo hay (porcentaje de cromosomas con mejor desempeo que


formarn parte de la siguiente generacin) ver seccin 1.4.8

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

1.4.4.1 Desempeo error cuadrtico


En ocasiones se conoce de antemano el valor del ptimo de la funcin objetivo o una serie de
valores que definen el comportamiento de la misma. Cuando ste es el caso, la funcin de
desempeo podra determinar qu tan cercano se encuentra un cromosoma con respecto a la
solucin real del problema. La funcin de desempeo para un cromosoma xi estara dada por:

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

Donde n corresponde a la cantidad de valores conocidos de la funcin objetivo.

1.4.4.2 Desempeo de minimizacin


Algunos mtodos de seleccin como el de la ruleta (seccin 1.4.5.1) asignan probabilidades de
seleccin proporcionales a la funcin de desempeo. Esto funciona correctamente en el caso en
que el objetivo del AG sea el de encontrar un valor mximo. Sin embargo, para el caso en que
se busquen valores mnimos no se pueden aplicar los mecanismos de seleccin tal cual.
Tampoco podramos limitarnos a cambiar el signo de la funcin puesto que estos mecanismos
operan con valores positivos que representan probabilidades.
La solucin est en modificar los valores que entrega la funcin objetivo de tal forma que se
obtengan valores positivos y que cuanto menor sea el valor de la misma (ms cercano al
ptimo) mayor sea el valor de la funcin de desempeo. La funcin de desempeo que cumple
con estas condiciones es:

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=

Siendo N el tamao de la poblacin y

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

M. FONSECA, Carlos, J. FLEMING, Peter. An overview of evolutionary algorithm in multiobjetive


optimization. Evolutionary Computation, 3(1): pag 1-16

34

1.4.5 Mecanismos de seleccin


Avanzando en el algoritmo general de la figura 1.8 (seccin 1.3.2), despus de que la poblacin
ha sido generada y se ha evaluado el desempeo de cada uno de los cromosomas, se conforma
una nueva poblacin de cromosomas que sern candidatos para cruzarse. En la mayora de los
casos la probabilidad de que un cromosoma sea seleccionado para cruzarse es proporcional a su
desempeo. Con esto se intenta replicar el proceso de seleccin natural que se da en la
naturaleza, donde los individuos mejor adaptados tienen ms posibilidades de sobrevivir.
Existen diferentes mtodos para realizar la seleccin, los ms utilizados son:
1.4.5.1 Seleccin por muestreo proporcional o por ruleta
En este mtodo a cada cromosoma le corresponde una probabilidad de seleccin directamente
proporcional a su desempeo. La probabilidad de seleccin pi para un cromosoma i, depende
de su desempeo f (x i ) y del desempeo medio de la poblacin f .

pi =

f (x i )
f

Donde

f =

f (x )
i

i =1

con N igual al tamao de la poblacin.

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 }

2. Se genera de forma aleatoria un nmero c en el intervalo 0,1 .



3. Se selecciona al cromosoma i que cumpla con:
24

qi -1 < c < qi

D. Dumitrescu, B. Lazzerini, L. C. Jain. Evolutionary computation. The CRC Press International


Series on Computational Intelligence. CRC Press, 2000

35

Los pasos 2 y 3 se repiten N veces, obteniendo un nuevo conjunto de cromosomas de igual


tamao a la poblacin inicial.

p3

p2

pi =

p1

f (xi )
f

p4
p9
p5
p6

p7

p8

Figura 1.12 Seleccin por ruleta


Como podemos observar, entre mayor sea el desempeo de un cromosoma mayor porcin de la
ruleta le corresponder, lo que se traduce en una mayor probabilidad de ser elegido.

1.4.5.2 Seleccin por muestreo estocstico


Es un procedimiento similar al de seleccin por ruleta, pero en este caso se genera un solo
nmero aleatorio c y con base en este se generan los N nmeros restantes necesarios para
seleccionar los cromosomas. Despus de ejecutar el paso 1 y 2 del mtodo de la ruleta, se
agrega el siguiente procedimiento:

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 }

Se ha comprobado a travs de la prctica que este mtodo es ms eficiente que el de la ruleta25.

25

D. Dumitrescu, B. Lazzerini, L. C. Jain. Evolutionary computation. The CRC Press International


Series on Computational Intelligence. CRC Press, 2000

36

1.4.5.3 Seleccin por torneo


Existen muchas variantes de este mtodo. La ms comn es la seleccin por k-torneo donde se
eligen k cromosomas de la poblacin de forma aleatoria que forman el grupo de competencia. El
cromosoma que se selecciona es aqul que posea un mejor desempeo entre los k elegidos. El
procedimiento se repite N veces para obtener la poblacin

de cromosomas a cruzar.

Usualmente se elige 2 k 4 , siendo constante durante todo el torneo.


Como vemos los mtodos de seleccin contiene un componente aleatorio que se controla en
cierto grado por medio de la funcin de desempeo. Esto no garantiza que los mejores
cromosomas siempre se elijan para realizar el cruce, lo cual es deseable pues como ya se dijo
antes es necesario introducir diversidad en la poblacin haciendo posible que cromosomas con
muy mal desempeo tambin puedan cruzarse. Esto es porque se parte de la base que un
cromosoma de la generacin actual que no posea un buen desempeo, puede llegar a ser un
cromosoma con muy buen desempeo en generaciones posteriores, adems de esta forma se
puede evitar el problema de convergencia prematura.

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

En la siguiente figura se muestra un pseudocdigo ejemplo para el procedimiento teniendo en


cuenta la probabilidad de cruce:

para i = 1 hasta N/2 hacer:


pos1 = AleatorioEntero(0,N-1)
pos2 = AleatorioEntero(0,N-1)
padre1 = PoblacionCandidata.obtener(pos1)
padre2 = PoblacinCandidata.obtener(pos2)
p = AleatorioDecimal(0,1.0)
si p > ProbCruce entonces
Hijos.agregar(cruzar(padre1, padre2))

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

NuevaPoblacin, en caso contrario no se aplica cruce y los hijos son

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.

1.4.6.1 Cruzamiento monopunto


La forma ms simple y habitual de realizar el cruzamiento, es por medio del cruzamiento
monopunto27. En este mtodo se elige una posicin al azar en la cadena de ambos padres
denominada punto de cruce y se intercambian las sub-cadenas que se generan a partir de dicho
punto, obteniendo as dos hijos que combinan genes de ambos padres, como se muestra en la
figura 1.14.

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

Figura 1.14 Cruzamiento monopunto

1.4.6.2 Cruzamiento multipunto


El cruzamiento monopunto tiene el inconveniente de no permitir cualquier tipo de combinacin
posible del material gentico de los dos padres. Entre los operadores de cruzamiento
alternativos propuestos estn los cruces multipunto.28 Un caso particular de este tipo de cruce
es el cruzamiento de dos puntos, en el que se eligen aleatoriamente dos puntos de cruce en los
padres y se intercambia entre ellos el gen definido entre estos, como se muestra en la figura:
Padre 1

Padre 2

Puntos de cruce = {3,5}


Hijo 2

Hijo 1
7

Figura 1.15 Cruzamiento de dos puntos


El cruce de dos puntos se extiende de forma natural al cruce multipunto, en el que se generan
mltiples puntos que determinan un conjunto de segmentos que se intercambian entre los
padres. El nmero de puntos generados, y por lo tanto de segmentos, debe ser par, para que
sea posible alternar el mismo nmero de segmentos pertenecientes a cada padre.
28

MICHALEWICZ, Z. Genetic algortihms + Data structures = Evolution programs. Springer-Verlag, 2


ed. 1994

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

Figura 1.17 Pseudocdigo general de mutacin


Como se observa en el pseudocdigo ejemplo, cada cromosoma tiene un atributo booleano
mutado que indica si ya se realiz o no la mutacin en l. Esto es recomendable para evitar que
40

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 generacional: La poblacin P es reemplazada en su totalidad por sus


descendientes P. En este caso no es necesario realizar ningn tipo de operacin sobre la
poblacin P, por lo que esta pasara a ser directamente la poblacin actual para el
siguiente ciclo del algoritmo.
41

Elitismo: El mejor cromosoma (o los n mejores) de la poblacin P son retenidos para la


generacin siguiente. La cantidad de cromosomas elegidos depende de la tasa de elitismo
definida en la inicializacin del AG (seccin 1.4.3). A los cromosomas restantes, que no
hacen parte de la elite, se les aplica cualquier otro mtodo de reemplazo. La estrategia ms
comn de elitismo es la de preservar nicamente al mejor individuo de la poblacin P.

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.

Reemplazo de vecindad: Se ordenan los cromosomas de las poblaciones P y P de mayor a


menor desempeo. Luego se elige un tamao de vecindad dependiendo del tamao de la
poblacin, usualmente entre 3 y 5. Cada cromosoma de la poblacin P reemplaza a un
vecino elegido al azar en la poblacin P. La nueva generacin ser la poblacin P que
incluye algunos vecinos de la poblacin P. Por ejemplo, si el tamao de la vecindad es 3
y un cromosoma c1 de la poblacin P se encuentra en la posicin 5, se elegir al azar una
posicin entre 4, 5 y 6 de la poblacin P, introduciendo c1 en P en dicha posicin.

Reemplazo aleatorio: Se genera un nmero aleatorio a mayor a la probabilidad de cruce


establecida y menor o igual a 1. Segn este porcentaje, se seleccionan aleatoriamente la
cantidad respectiva de cromosomas en la poblacin P y se reemplazan por la misma
cantidad de cromosomas en la poblacin P. Por ejemplo, si la probabilidad de cruce es
60%, el tamao de la poblacin es 100 y a es 0,8 (que es mayor a 0,6), se eligen 80
cromosomas en la poblacin P y estos reemplazan a otros 80 cromosomas de la poblacin
P, ambos grupos elegidos al azar. Ntese que para el caso en que a = 1 se reemplaza el
100% de la poblacin, lo cual sera equivalente a realizar un reemplazo generacional.

42

1.5 Programacin Gentica (PG)


1.5.1 Introduccin
Desde sus inicios, uno de los principales objetivos dentro del campo de la inteligencia artificial
ha sido que los computadores resuelvan problemas sin programarlas especficamente para
hacerlo. Podramos hablar de programacin automtica donde le indicamos a la mquina cul
es el problema a resolver, pero no detallamos los pasos para llevar a cabo dicha tarea. Una
forma de lograr esto es por medio de la programacin gentica29.
Como ya se mencion en otra oportunidad, la PG es un algoritmo evolutivo en el que la
poblacin es un conjunto de programas que se hacen evolucionar hasta obtener el mejor
programa que resuelva un problema en particular. En muchos casos un programa es la mejor
forma de representar una solucin a un problema, pues de manera general, un programa es una
secuencia de pasos a seguir para lograr un objetivo.
Los programas con los que opera la PG, estn formados por dos conjuntos denominados
conjunto de

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.

1.5.2 Codificacin de los individuos


El primer paso para aplicar PG es codificar los individuos en estructuras de tipo rbol. Para
ilustrar la codificacin, supongamos que queremos encontrar un programa que permita calcular
el periodo orbital p de un planeta, dada su distancia media al sol a. La tercera ley de Keppler
establece que
p2 = a 3
si p se expresa en aos terrestres y a en unidades astronmicas (distancia media de la tierra al
sol). As que tenemos

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

Figura 1.19 Ejemplo de codificacin en un problema de PG


En la figura 1.19, toda la estructura rbol representa al cromosoma y un gen podra representar
a un sub-rbol o a un nico nodo del mismo. El locus corresponde al nmero del nodo donde se
encuentra un gen especfico.
Es posible extender esta representacin a un rbol n-ario dependiendo de la naturaleza del
problema. Por ejemplo, si se tiene el siguiente bloque de cdigo:
IF (x > 5 AND x < 8) THEN
x := x +1;
ELSE
x := 0;
La codificacin en rbol para este bloque sera:
IF/ELSE

:=

AND

<

>
5

+
x

:=

Figura 1.20 Ejemplo de codificacin en rbol n-ario


45

1.5.3 Inicializacin del algoritmo de PG


Despus de entender la forma en la que se codifican los cromosomas en PG, es necesario en
primer lugar definir una serie de parmetros con los cuales el algoritmo operar. Ms
especficamente se deben determinar los siguientes parmetros:

Conjunto de funciones y su aridad (cantidad de parmetros que recibe la funcin)

Conjunto de smbolos terminales

Identificar la funcin de desempeo

Tamao de la poblacin

Profundidad de inicializacin y profundidad mxima de los cromosomas

Inicializacin de los cromosomas

Probabilidad de cruce

Probabilidad de mutacin

Criterio de parada (nmero mximo de generaciones)

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

Tabla 1.2 Ejemplo de funciones y smbolos terminales


46

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,

hasta que se alcance un nivel menos de la profundidad de inicializacin

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

La profundidad de un rbol es igual a la longitud de la trayectoria ms larga de la raz a cualquier hoja,


sin contar la raz. Esto es, profundidad = mximo nivel - 1
32
KOZA, John, Genetic Programming: On the Programming of Computers by Means of Natural
Selection. The MIT Press, 1992

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 }

Figura 1.21 Ejemplo de inicializacin completa


En la figura 1.22 se muestra un pseudocdigo ejemplo. La funcin InicializacionCompleta recibe
la variable profundidad como nico parmetro y se invoca recursivamente para cada hijo del
nodo actual generando un nodo hijo aleatorio del conjunto Funciones hasta que se alcanza la
profundidad de inicializacin Pinit luego de lo cual se generan aleatoriamente nodos del conjunto
Terminales. El llamado inicial para esta funcin sera InicializacionCompleta(0)

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

1.5.4.2 Inicializacin creciente


En este mtodo se van creando nodos del cromosoma que pertenezcan tanto al conjunto de
funciones F como al conjunto de smbolos terminales T, hasta que se alcance un nivel menos
de la profundidad de inicializacin definida (pinit - 1) . Luego se crean nodos que pertenezcan
nicamente al conjunto T

33

. El procedimiento se realiza para todos los hijos del nodo raz. La

siguiente figura muestra un ejemplo de inicializacin creciente:

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

Poli, W. B. Langdon, y N. F. McPhee. (con contribuciones de J. R. Koza). A field guide to genetic


programming. Publicado en http://lulu.com, 2008, disponible gratuitamente en http://www.gp-fieldguide.org.uk.

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

1.5.4.3 Inicializacin Ramped Half-and-Half


Este mtodo de inicializacin propuesto por John R. Koza34 es una combinacin de los dos
mtodos anteriores que se ha comprobado que aporta diversidad a la poblacin.
Dada la profundidad de inicializacin pinit se divide la poblacin en pinit - 1 grupos. Cada grupo
hace uso de una profundidad p de inicializacin diferente elegida aleatoriamente, siendo

2 p pinit . La mitad de cromosomas de cada grupo se crea con el mtodo de inicializacin


creciente y la otra mitad con el mtodo de inicializacin completa.
Los mtodos de inicializacin hacen que sea difcil controlar la distribucin estadstica de
propiedades importantes del cromosoma como el tamao y la forma. Por ejemplo, el tamao y
la forma de los cromosomas generados por medio del mtodo de inicializacin creciente
dependen directamente del tamao de los conjuntos de funciones y de terminales. De igual
forma, si el nmero de funciones es considerablemente mayor al nmero de terminales, el
mtodo creciente se comportar de manera similar al mtodo de inicializacin completa.
Adems, la aridad de las funciones tambin afectar estas propiedades.

34

KOZA, John, Genetic Programming: On the Programming of Computers by Means of Natural


Selection. The MIT Press, 1992

51

1.5.5 Funcin de desempeo y seleccin


Como se coment con antelacin en la seccin 1.5.3, la funcin de desempeo de un algoritmo
de PG mide el resultado de la ejecucin de un cromosoma, en trminos de la capacidad del
mismo para resolver el problema en cuestin. El mtodo para realizar la ejecucin de cada
cromosoma depender en cada caso de la naturaleza del problema a resolver. Para explicar
mejor este concepto, supongamos que se quiere resolver el siguiente problema:
En la tabla 1.3 se muestra una lista de valores para dos variables a y b y una serie de
resultados conocidos de una funcin f para cada par de valores de a y b. Se desea encontrar
una frmula explicita aproximada de la funcin f para a -2, 2 y b 0, 2 .

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

Tabla 1.3 Valores conocidos para la funcin f(a,b)


Debido a que no se tiene alguna pista de las operaciones que puede realizar la funcin f sobre
los valores a y b, el conjunto de funciones sera una suposicin. Aunque podemos inicializarlo
con los operadores aritmticos ms usados y/o otras funciones matemticas comunes. En este
caso por ejemplo el conjunto de funciones podra ser F = {+, -, *, /, sqrt } y el conjunto de
smbolos terminales estara dado por T = {a , b } . Supongamos que la poblacin

inicial de

cromosomas ya se cre con algn mtodo de inicializacin descrito en la seccin anterior y


queremos evaluar el desempeo del siguiente cromosoma:

*
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

Figura 1.26 Ejemplo de recorrido y evaluacin de un cromosoma


Como vemos, al final obtenemos un solo nodo en el cromosoma que contiene el resultado de la
evaluacin para el valor de a y b especificados. Este proceso se repite en el cromosoma para
todos los valores de a y b. En la siguiente tabla se resumen los resultados obtenidos en cada
caso:
a
-1.23
-0.54
0.76
1.28
1.46

b
0.52
0.87
1.14
1.35
1.76

Resultado

0.7211
0.9327
1.0677
1.1618
1.3266

Tabla 1.4 Resumen de resultados para el cromosoma de la figura 1.25


Bien, hasta ahora hemos obtenido los resultados para cada valor de a y b, pero en realidad no
conocemos cual es el desempeo del cromosoma. Para esto debemos comparar de alguna forma
los resultados obtenidos con los resultados conocidos.

53

Si analizamos bien, este caso corresponde perfectamente al tipo de funcin de desempeo


estudiado en la seccin 1.4.4.1, donde se conocen una serie de valores de la funcin objetivo y
una serie de resultados para cada cromosoma, podemos aplicar desempeo error cuadrtico
medio. La funcin de desempeo entonces, estara dada por:
n

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

(0.7211 - (-1.6425))2 + (0.9327 - (-0.5529))2 + ... + (1.3266 - 3.3386)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

Figura 1.27 Ejemplo de cruzamiento en PG


Es importante tener presente la profundidad mxima definida en los parmetros de
inicializacin del algoritmo, debido a que el cruzamiento permite que los cromosomas aumenten
demasiado de tamao. Adems, el locus de cruce generado no debe ser igual a cero, para no
permitir que se modifique la totalidad de la informacin gentica de cada padre.
Cada vez que se realiza el proceso de cruzamiento se deben enumerar los nodos de los
cromosomas hijo nuevamente, ya que esto es necesario para aplicar el operador de mutacin.
55

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

Figura 1.28 Ejemplo de mutacin terminal


1.5.7.2 Mutacin funcional
Consiste en modificar un operador o funcin elegido aleatoriamente en el cromosoma, por otro
que pertenezca al conjunto de funciones, tambin elegido de forma aleatoria; sin embargo
siempre debe respetarse la aridad de la funcin modificada. Como se muestra en la figura 1.29.

35

Poli, W. B. Langdon, y N. F. McPhee. (con contribuciones de J. R. Koza). A field guide to genetic


programming. Publicado en http://lulu.com, 2008, disponible gratuitamente en http://www.gp-fieldguide.org.uk.

56

cromosoma original
0

cromosoma mutado
0

locus de mutacin = 2
2

/
3

+
3

SQRT

SQRT

Figura 1.29 Ejemplo de mutacin funcional


1.5.7.3 Mutacin de subrbol
En este tipo de mutacin se elige un locus aleatorio del cromosoma y se reemplaza el subrbol
en este punto por un nuevo subrbol generado aleatoriamente.

cromosoma original
0

cromosoma mutado

SQRT

/
3

locus de mutacin = 2

Figura 1.30 Ejemplo de mutacin de subrbol


1.5.7.4 Mutacin de permutacin
Este tipo de mutacin consiste en intercambiar el orden de los argumentos de una funcin, esto
es, intercambiar los hijos de un nodo funcin elegido de forma aleatoria.

57

cromosoma original
0

cromosoma mutado
0

locus de mutacin = 2

/
5

3
SQRT

/
4

SQRT

Figura 1.31 Ejemplo de mutacin de permutacin


1.5.8 Reemplazo poblacional
Luego de obtener la nueva poblacin de programas a travs de los procesos de seleccin,
cruzamiento y mutacin, y al igual que en un AG, el siguiente paso es reemplazar a la
poblacin original por la nueva. Para ello podemos aplicar cualquiera de los mtodos expuestos
con anterioridad en la seccin 1.4.8: reemplazo generacional, elitismo, reemplazo de los n
peores, reemplazo de vecindad y reemplazo aleatorio.

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:

Diseo de algoritmos: En ciencias de la computacin la principal aplicacin de la PG ha sido el


diseo de algoritmos. Al estar en la capacidad de manipular estructuras simblicas, la PG es
uno de los mtodos heursticos ms confiables para la bsqueda de algoritmos. Algoritmos de
ordenamiento, algoritmos para almacenamiento en cach, generadores de nmeros aleatorios,
algoritmos de paralelizacin automtica de cdigo, de planificacin de horarios, de control de
58

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.

Optimizacin de enrutamiento en telecomunicaciones: El enrutamiento en redes de datos es


bsicamente un problema de optimizacin de rutas que depende de varias variables como la
distancia, el costo, la velocidad de transferencia, etc. Los AGs se han aplicado para optimizar
varios protocolos de enrutamiento y de esta forma mejorar el rendimiento de las redes. As
mismo se han usado para optimizar la disposicin y cobertura de antenas celulares.
Hardware evolutivo: Se refiere a circuitos electrnicos modelados en computador y que hacen
uso de los AGs y la PG para encontrar nuevas configuraciones ms eficientes que las anteriores.
Los circuitos pueden llegar a ser auto-configurables y auto-programables. Aunque an es
materia de investigacin, lo que se desea es que un circuito pueda evolucionar y adaptarse a
nuevas necesidades del entorno, por ejemplo, haciendo uso de una librera evolutiva y un
simulador interno para redisearse automticamente.
Videojuegos: En muchos juegos de estrategia, donde el usuario configura y cambia
constantemente una serie de parmetros, el videojuego responde a ellos y aprende de todo lo
que el usuario hace. Gracias a los AGs y a la PG, estos videojuegos incorporan las estrategias
ms exitosas basadas en partidas anteriores.

59

2. REDES NEURONALES ARTIFICIALES

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

2.2 Fundamentos biolgicos


2.2.1 El sistema nervioso y el cerebro humano
El sistema nervioso es el centro de decisin y comunicacin de nuestro cuerpo, que se encarga
de recibir la informacin que proviene de los receptores como ojos, nariz, boca, piel, rganos
internos, etc., para interpretarla y responder de la manera adecuada. En general, el sistema
nervioso es el encargado de controlar todas las funciones fisiolgicas de nuestro organismo,
adems de realizar tareas nicas que operan independientemente de los otros sistemas del
cuerpo. El sistema nervioso tiene cuatro funciones principales1:
1. Sensorial (obtener informacin del ambiente externo)
2. Integrador (reunir la informacin adquirida para interpretarla y evaluarla)
3. Efector (producir una respuesta)
4. Regulador interno (mantener una condicin estable)
El sistema nervioso est dividido en dos subsistemas: el sistema nervioso central y el sistema
nervioso perifrico. El sistema nervioso central est compuesto por la medula espinal y el
cerebro, y es el encargado principal del procesamiento de la informacin, mientras que el
sistema nervioso perifrico se compone de todos los nervios que estn distribuidos por nuestro
cuerpo y se encarga de transmitir la informacin adquirida al sistema nervioso central.
La informacin que se recibe a travs del sistema nervioso perifrico en forma de pulsos
electroqumicos se transmite a la medula espinal y llega hasta el centro del cerebro. All, se
ramifica como un rbol por toda la superficie del mismo. El cerebro recibe estos impulsos a una
razn de 100 millones por segundo, los procesa, y enva unos impulsos de respuesta de vuelta a
la medula espinal y sta al sistema nervioso perifrico.
Como vemos, el cerebro es el rgano ms importante del sistema nervioso, es rico en neuronas
con funciones especializadas. Las reas dentro del cerebro controlan las funciones musculares y
tambin controlan el habla, el pensamiento, las emociones, la lectura y el aprendizaje. Su peso
es en promedio, para un hombre adulto, alrededor de 1600 g. esto es cerca del 2% del peso total
del cuerpo. Su actividad metablica es tan elevada que consume el 20% del oxgeno. El cerebro
se divide en dos hemisferios o mitades llamadas hemisferios cerebrales, separados por una
profunda fisura, pero unidos por su parte inferior por un conjunto de fibras nerviosas llamadas
cuerpo calloso que permite la comunicacin entre ambos.

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

que delimitan reas con funcion


nes determinadas, dividid
das en cincoo lbulos.

Cuatro de los lbullos se denom


minan frontaal, parietal, temporal y occipital. E
El quinto
l nsula, no es visible deesde fuera deel cerebro y est localizaado en el fon
ndo de la
lbulo, la
cisura dee Silvio. En la
l figura 2.1 se muestra laa corteza cerebral y sus p
partes.

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 del sabor


reea motriz del lenguaje

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

Son clulass sin mielina.. La mielina es una lipop


protena que constituye u
un sistema dee bicapas
fosfolipdicas.
f
Permite la tra
ansmisin de los
l impulsos n
nerviosos entree distintas parttes del cuerpoo gracias a
su
s efecto aislante.
3
MICHAEL-T
TITUS, Andina
a. REVEST, Patricia.
P
SHOR
RTLAND, Pe ter. The nervo
ous system. Ch
hurchill
Livingstone.
L
In
nglaterra, 2007
7

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

o interneurona, si est encargada

nicamente de permitir la comunicacin entre diferentes tipos de neuronas en el sistema


nervioso.

Moravec, Hans. Mind Children. Harvard University Press (1988)

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

potencial de accin es un cambio muy rpido en la polaridad de la membrana celular de la


neurona de negativo a positivo y vuelta a negativo, en un ciclo que dura unos milisegundos.
Cuando una neurona no est enviando impulsos, el interior de la misma tiene una carga
negativa con respecto a la carga positiva fuera de la neurona. Qumicos elctricamente
cargados, conocidos como iones (de potasio y de sodio), mantienen el balance de carga positiva
y negativa en el interior y el exterior de la neurona. Mientras la neurona permanece en reposo
la membrana celular permite el paso de iones de potasio, por medio de canales llamados canales
inicos, y restringe el ingreso de iones de sodio. La neurona debe activar el transporte de iones
para mantenerse en estado de polarizacin estable (menos carga dentro que fuera del soma),
para ello, por cada 2 iones de potasio que entran a la membrana, tres de sodio son expulsados
fuera de ella. As, la diferencia de potencial neuronal se mantiene en -70 mv, indicando que en
el soma hay 70 mv menos que fuera del mismo.
Durante el proceso de trasmisin del impulso, la membrana permite que ms iones de sodio
entren al soma y que menos iones de potasio salgan de ella. Este proceso incrementa la carga
positiva de las fibras nerviosas dentro del soma de la neurona. Cuando esta carga supera un
umbral de aproximadamente +40 mv, el soma genera un potencial de accin que es transmitido
al axn. Si no se alcanza esta diferencia de potencial la neurona no enva ningn impulso.
Despus del envo del impulso los canales de potasio se abren de nuevo y los de sodio se
cierran, para que la neurona retorne gradualmente a su estado de polarizacin estable. El
proceso de aumento y disminucin del potencial de accin se muestra en la siguiente imagen:
Apertura canales de sodio
Milivoltios

Apertura canales de potasio

+100
+50

Potencial umbral

-50

Potencial de reposo
-100
1

Milisegundos

Figura 2.3 Potencial de accin durante la transmisin del impulso neuronal

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

Figura 2.4 Sinapsis


En
E el momen
nto en que un
na neurona genera
g
un imp
pulso y una v
vez el mismoo ha alcanzad
do el final
del
d axn, la
a informacin
n debe ser transmitida por medio de la sinapssis hacia la neurona
contigua.
c
Seg
gn la direcccin del impu
ulso se acostu
umbra nombrar a la neurrona que lo ttransmite
como
c
neuron
na pre-sinptica y a la neu
urona que lo recibe como neurona posst-sinptica.
La
L transmisiin de las seales a tra
avs de las ssinapsis se rrealiza mediaante unas su
ustancias
qumicas
q
con
nocidas como
o neurotransm
misores, de los cuales hooy se conoceen ms de cien clases
diferentes.
d
Cuando una dendrita
d
recib
be uno de loss neurotransm
misores, libeerados por un
no de los
axones
a
al esp
pacio que los separa, se crrean en ella p
pequeas corrientes elctrricas. Estas ccorrientes
pueden
p
dirig
girse a la clula, y son lllamadas exciitatorias o b
bien se muev
ven hacia fueera de la
clula,
c
y ento
onces son llam
madas inhibiitorias. Hay vvarios tipos d
de sinapsis en
ntre neuronass:

66

Axosomticas: El axn de la neurona pre-sinptica se inserta en el soma de la


neurona post-sinptica.

Axodendrticas: Unin de axn de la neurona pre-sinptica con las dendritas de la


neurona post-sinptica.

Axoaxnicas: Unin de axn con axn entre neurona pre-sinptica y post-sinptica.

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

2.3 De la neurona biolgica a la neuronal artificial


2.3.1 La neurona artificial
Para realizar el smil entre una neurona biolgica y una artificial, consideremos los siguientes
aspectos fundamentales:
1. Las neuronas biolgicas reciben seales de entrada que llegan a su cuerpo celular o
soma y afectan su comportamiento o el comportamiento de una neurona vecina
conectada por medio de la sinapsis.
2. Los neurotransmisores son sustancias qumicas encargadas de permitir o bloquear el
paso de las seales que provienen de otras neuronas a travs de la sinapsis. Al grado de
bloqueo que los neurotransmisores manifiestan para una seal determinada, se le
denomina peso sinptico.
3. Todas las seales que llegan al soma de la neurona por medio de las dendritas se
acumulan o se suman para, posteriormente, definir la respuesta que se transmitir a
travs del axn.
4. Bajo una circunstancia apropiada (sobrepaso del umbral de potencial) la neurona
transmite la seal hacia el axn.
5. La salida de una neurona acta como entrada para otras neuronas que se encuentran
conectadas a ella.
Entendido esto, se puede definir una neurona artificial como un elemento de procesamiento que
recibe un conjunto de seales de entrada X = {x 1 , x 2 , x 3 ,..., x n } , que representan las dendritas
de la neurona y que son modificadas respectivamente por una serie de pesos sinpticos

W = {w1 , w 2 , w 3 ,..., w n } , cuyo papel es el de emular la sinapsis de la neurona biolgica. Los


diferentes valores modificados por los pesos sinpticos se suman en lo que se denomina la
entrada neta. La activacin o no de la neurona depende de lo que llamaremos funcin de
activacin

que acta sobre la entrada neta y se encarga de regular la salida (axn) de la

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

Pesos sinpticos Bias (b)

x1

w1

x2

w2
w3

x3

wn

Salida

Entrada
Neta

(.)

Funcin de
activacin

xn

Figura 2.5 Neurona artificial


La entrada neta es el resultado de la sumatoria de la multiplicacin de los valores de entrada
por su correspondiente peso sinptico adems de un valor bias o umbral de la neurona, que
determina cuando se activar la misma, ms adelante se aclarar este concepto. El clculo de la
entrada neta se puede determinar entonces con la siguiente frmula:

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:

Si se quieren obtener salidas binarias (0 1) se recomienda hacer uso de la funcin


sigmoidea binaria.

M.I, Jordan. Why the logistic function? A tutorial discussion on


MIT Computational Cognitive Science. Reporte 9503 (1995)

69

probabilities and neural networks,

Si el objetivo es obtener salidas reales ( ) en cualquier rango, se hace uso de la


funcin identidad.

Para salidas reales limitadas en un rango especfico a, b , se puede usar la funcin


sigmoidea bipolar, escalando7 la funcin segn los valores de a y b.

Si se quieren obtener valores positivos pero se desconoce un lmite superior, se puede


hacer uso de una funcin de activacin exponencial, pero teniendo cuidado con el
desbordamiento de los datos.

Funcin Identidad

Funcin Escaln Binaria


1 si x 0
f (x ) =
0 si x < 0

f (x ) = x

Funcin Escaln Bipolar


1 si x 0
f (x ) =
- 1 si x < 0

-1

Funcin Sigmoidea Binaria

Funcin Sigmoidea Bipolar

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

Figura 2.6 Funciones de activacin ms comunes


Las funciones de activacin ms usadas son las que tienen forma de escaln y las funciones
sigmoideas, el uso de una funcin de activacin u otra depender en cada caso del tipo de
problema a resolver. Independientemente de la funcin de activacin elegida, esta puede
escalarse de acuerdo con el rango de valores que se quieren obtener en la salida.

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

entre 0 y 1 y queremos que entregue valores reales entre 1 y 2, podramos escalar

g(x ) = f (x ) + 1 , o si por ejemplo quisiramos valores entre 0 y

70

1
2

, podra escalarse as: g (x ) =

1
2

f (x ) as:
f (x )

2.3.2 Redes neuronales artificiales (RNA)


Una neurona artificial aislada por s sola no posee una gran capacidad de procesamiento. El
verdadero potencial radica cuando se logran las interconexiones entre un gran nmero de ellas
simulando las redes neuronales biolgicas. Una RNA se define entonces como un sistema que
est compuesto por muchos elementos simples de procesamiento, que operan en paralelo y cuya
funcin es determinada por la estructura de la red y el peso de las conexiones, donde el
cmputo se realiza en cada uno de los nodos (neurona) o elementos de procesamiento de la red.
Las RNA no alcanzan la complejidad del cerebro, sin embargo hay dos aspectos similares entre
redes biolgicas y artificiales. En primer lugar, los bloques de construccin de ambas redes son
sencillos elementos computacionales (aunque las RNA son mucho ms simples que las
biolgicas) altamente interconectados; en segundo lugar, las conexiones entre neuronas
determinan la funcin de la red.
Una RNA se desarrolla por medio de un procedimiento paso a paso (proceso de aprendizaje o
entrenamiento) que optimiza un criterio conocido como regla de aprendizaje.

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 neurona aplica su funcin de activacin a sus correspondientes entradas para


determinar la seal de salida.

La distribucin de una RNA se organiza en niveles o capas.

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

2.3.3 Arquitecturas de las RNA


Dependiendo de la cantidad de capas de la RNA se pueden determinar dos tipos: monocapa y
multicapa; y dependiendo de la forma en la que fluye la informacin se distinguen las redes
unidireccionales (feedforward) y redes recurrentes.
2.3.3.1 Redes monocapa
Una RNA monocapa es la red ms simple, en la que se tiene un conjunto de m neuronas
similares con n entradas y m salidas. Cada una de las entradas del sistema estn conectadas a
todas las neuronas de la red, as que la informacin entra al mismo nivel, se modifica por los
pesos sinpticos y pasa a la salida de la red.
Se le denomina red monocapa porque slo contiene un conjunto de neuronas de procesamiento
entre las entradas y las salidas. Al conjunto de entradas se le denomina capa de entrada y al
conjunto de neuronas de salida, capa de salida. En la figura 2.7 se muestra un ejemplo de red
monocapa. Como puede observarse, la capa de entrada est compuesta por un tipo de neuronas
muy simples (representadas por puntos en la figura) en las que no hay ningn tipo de
procesamiento de los datos de entrada.

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

Figura 2.7 Ejemplo de RNA monocapaca


La salida de una RNA monocapa se puede expresar de forma matricial como:

Y = F (XW + B )
72

Con,

F () = ( f1 (), f2 (), f3 (), ..., fm ())

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

wmn : Peso sinptico de la conexin entre la neurona m y la entrada n.

2.3.3.2 Redes multicapa


Una red multicapa tiene, adems de la capa de entrada y la capa de salida, una capa
intermedia compuesta por una cantidad i de neuronas. Esta capa recibe el nombre de capa
oculta, debido a que las neuronas que la componen no interactan directamente con las
entradas o salidas de la red. En este caso la informacin fluye de la capa de entrada pasando
primero por la capa oculta hasta llegar a las neuronas de la capa de salida, adems, puede
existir conectividad total, es decir, todas las entradas estn conectadas a las neuronas de la
capa oculta y las salidas de estas ltimas a las neuronas de la capa de salida, como se muestra
en la figura 2.8. Es importante resaltar que la capa oculta a su vez puede estar compuesta por
ms capas.

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

Figura 2.8 Ejemplo de RNA multicapa


73

La salida para este tipo de redes se puede expresar como:

Y = Z l = F l Z l -1W l + B l

con

Z 1 = F 1(XW 1 + B1 )

1 l Capas ocultas + 1(salida )

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

z i1 = fi1 x j wij + bi1

j =1

F 1 () = ( f1 (), f2 (), f3 (),..., fi ())


F 2 () = ( f1 (), f2 (),..., fm ())

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 )

B 1 = b11 , b21 , b31 ,..., bi1


B2

2
1

2
2

2
m

2.3.3.3 Redes unidireccionales


En este tipo de RNA la informacin fluye en una sola direccin a travs de toda la red, desde
la capa de entrada hasta la capa de salida. Por ejemplo, para la red monocapa de la figura 2.7
la informacin de la n-sima entrada fluye hasta la m-sima neurona de salida; de forma similar
para la red multicapa de la figura 2.8, la informacin de la n-sima entrada llega a la i-sima
neurona de la capa oculta y la salida de esta ltima se transmite a la m-sima neurona de la
capa de salida.
Es importante mencionar que las redes unidireccionales son, en cuanto a implementacin y
simulacin, las ms sencillas; pero su desempeo es bueno para aplicaciones donde no se
74

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:

wij (k + 1) = wij (k ) + Dwij (k ),

k = 1, 2, 3,...

Donde,

wij (k + 1) : Nuevo valor del peso sinptico


wij (k )

: Valor actual del peso sinptico

Dwij (k )

: Variacin del peso sinptico

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

que se utiliza para

cambiar los pesos sinpticos. Se pueden

distinguir dos tipos principales: el aprendizaje supervisado y el aprendizaje no-supervisado.


2.3.4.1 Aprendizaje supervisado
Tambin es llamado aprendizaje asociativo, en l a la RNA se le presentan una serie de valores
de entrada para los cuales el resultado esperado es conocido y de acuerdo con el error entre los
valores esperados y los valores entregados por la RNA, los pesos sinpticos se van modificando
hasta ajustar estos ltimos con los primeros. Todo el proceso es controlado por un agente
externo llamado supervisor, este hace las veces de un maestro que gua el aprendizaje de la
red y tiene conocimiento sobre las salidas deseadas correspondientes a las respectivas entradas.
La RNA y el supervisor reciben los datos de entrada simultneamente, el supervisor propone la
salida deseada para ser comparada con la salida que entrega la RNA y modifica los valores de
los pesos sinpticos de la red de acuerdo con la diferencia entre ambas, definiendo para ello un
error de entrenamiento as:

e = d -y

Donde,

d : Salida deseada
y : Salida de la RNA

En los procesos de aprendizaje se utilizan cierta cantidad de parejas de vectores (X , D ) donde

X es el vector de valores de entrada y D el vector de valores de salida para las respectivas


entradas. Cada una de dichas parejas se conoce como patrn de entrenamiento, de esta forma
en una regla de aprendizaje supervisado se tienen una cantidad p de patrones de entrenamiento
de la forma

{(X , D ) , (X , D ) , ... , (X , D )} , donde:


1

X p = {x p1 , x p 2 , x p 3 , ... , x pn } : Entrada de N elementos para el patrn de entrenamiento p

Dp = {d p1 , d p 2 , d p 3 , ... , d pm } : Salida de M elementos para el patrn de entrenamiento p

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,

P : Nmero de patrones de entrenamiento


M : Nmero de neuronas en la capa de salida
2.3.4.2 Aprendizaje no supervisado
En este tipo de aprendizaje la RNA no cuenta con un agente externo que supervise el proceso,
si no que se le entrega directamente el vector de datos de entrada que describe el problema y la
modificacin de los pesos sinpticos se realiza en funcin de la caracterizacin que se haga del
mismo, de acuerdo con un objetivo especfico que permite obtener el conocimiento que se quiere
representar. La red aprende a adaptarse a nuevos valores de entrada basndose en los
resultados obtenidos a partir de patrones de entrenamiento anteriores.

2.3.5 Modelos de RNA


A travs de los aos con el estudio de las RNA se han desarrollado diferentes modelos con
diversas aplicaciones, diferencindose unos de otros por su arquitectura, por el tipo de funcin
de activacin y por el mtodo de aprendizaje del que hacen uso. Entre los modelos de RNA
ms conocidos y utilizados tenemos:
Perceptrn simple: Fue desarrollado por el cientfico informtico estadounidense Frank
Rosenblatt, en 1959. Bsicamente es una red monocapa que utiliza la funcin de activacin
escaln de tipo binaria. El perceptrn simple, como otras redes neuronales contemporneas (red
ADALINE), se revelaron intiles para resolver cierto tipo de problema cuando aos ms tarde
Minsky public un artculo donde estudiaba todas sus limitaciones: El perceptrn simple slo
sirve para clasificar problemas linealmente separables, cosa que ya se poda hacer mediante
mtodos estadsticos, y de una forma mucho ms eficiente.8

Minsky M. L. and Papert S. A. Perceptrons: An introduction to Computacional Geometry. Cambridge,


MA: MIT Press. 1969

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

2.4 El perceptrn simple


2.4.1 Arquitectura del perceptrn simple
El perceptrn es la RNA ms simple en la que no se posee ninguna capa oculta, es decir, es una
red monocapa, por lo que el perceptrn slo posee una capa de procesamiento que es
equivalente a la capa de salida compuesta por una o ms neuronas. En la figura 2.9 se muestra
un ejemplo de perceptrn simple compuesto por una nica neurona. Un perceptrn hace uso de
una funcin de activacin de tipo escaln ya sea binaria [0, 1] o bipolar [-1, 1].
Para facilitar la representacin grfica de las neuronas se suele graficar el sumador en un solo
crculo junto con una grfica en miniatura de la funcin de activacin, como se observa en la
figura:

b
x1

w1

x2

w2
w3

x3

wn
xn

Figura 2.9 Perceptrn simple


Para el caso que se utilice la funcin de activacin escaln binario, tambin llamada escaln
unitario denotada por u(x), la salida del perceptrn simple estara dada por:

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

con vectores de entrada en dos dimensiones, esto es R2 y X = x1 , x 2 , con pesos sinpticos

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

Figura 2.10 Perceptrn simple para un vector de entrada en dos dimensiones

Para cualquier conjunto de parejas ordenadas

{x x }
1,

la entrada neta del perceptrn estara

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

Si reorganizamos esta ecuacin expresando x2 en trminos de x1 tenemos:

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

-b w 2 tal como se muestra en la figura 2.11.


En el ejemplo de la figura, el perceptrn separa los puntos en dos clases, una representada por
los puntos grises y la otra por los puntos rojos. La primera est compuesta por los vectores
para los cuales la salida de la neurona es 1, esto es x1w1 + x 2w2 -b y en la segunda clase se
incluyen los vectores para los que la salida del perceptrn es 0, esto es x1w1 + x 2w2 < -b.

Regin x1w1 + x 2w2 -b

x2
x1w1 + x 2w 2 = -b

1
0

x1

Regin x1w1 + x 2w2 < -b


Figura 2.11 Superficie de separacin para un perceptrn simple en R2
El anlisis realizado se puede extender para vectores de entrada en n dimensiones, por ejemplo
si los vectores de entrada pertenecen a R3 la superficie de separacin sera un plano, as:

x3 = -

w1
w3

x1 -

w2
w3

x2 -

b
w3

La superficie de separacin obtenida por un perceptrn simple para vectores de entrada en Rn


se denomina de manera general como hiperplano.

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

y2 = u(x1w21 + x2w22 + + xnw2n + b2)

bm
wmn

xn

ym = u(x1wm1 + x2wm2 + + xnwmn + bm)

Figura 2.12 Perceptrn simple con n entradas y m neuronas de salida


Como se observa en la figura 2.12 tenemos m salidas diferentes donde cada una de ellas
determina la ecuacin de un hiperplano que clasifica los datos de entrada, de esta forma se
pueden clasificar los datos en m clases diferentes.
Para ilustrar el comportamiento de esta arquitectura extendida del perceptrn simple, tomemos
el caso cuando se tienen puntos en el plano cartesiano (n = 2) y queremos clasificarlos en tres
clases diferentes (m = 3). En este caso es necesario tener 3 neuronas en la capa de salida puesto
que cada una de ellas determina la pertenencia a una de las tres clases, es decir, si la salida de
la primera neurona es uno, el dato de entrada pertenece a la primera clase, en caso contrario no
pertenece; as mismo si las salidas de la segunda o tercera neurona respectivamente son iguales
a uno, entonces el dato de entrada pertenece a la segunda o tercera clase respectivamente.

b1
w11

y1 = u(x1w11 + x2w12 + b1)

b2

x1

x2

y2 = u(x1w21 + x2w22 + b2)

b3

w31

y3 = u(x1w31 + x2w32 + b3)

Figura 2.13 Perceptrn simple con 2 entradas y 3 neuronas de salida


83

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

Figura 2.14 Hiperplanos para un perceptrn simple de 3 neuronas


Como se observa en la figura 2.14 el resultado de un perceptrn simple de 3 neuronas
corresponde a tres hiperplanos clasificadores que dividen la superficie en 7 reas diferentes,
representadas por las combinaciones que se pueden obtener en la salida del perceptrn. Cada
uno de los hiperplanos clasificadores se determina para cada clase respecto a las otras dos.
Ntese que la combinacin 111 no aparece en la grfica porque no es posible obtenerla
geomtricamente. Las dems combinaciones (N/A en la tabla) sombreadas en la grfica, son
reas de no-decisin, puesto que los puntos que se encuentren en estas reas no se podran
clasificar exclusivamente en alguna de las tres clases (C1, C2 o C3). Esto hace que las clases sean

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

mientras fin == falso:


para i = 1 hasta P (cantidad de patrones de entrenamiento):
i. calcular la salida yi entregada por el perceptrn, para el vector
de entrada Xi as:

yi = u x j w j + b

j =1

ii. calcular el error local ei = di - yi


iii. hacer W (k + 1) = W (k) + (m * ei ) Xi , donde W y X son vectores.
iv. hacer b(k + 1) = b(k ) + m * ei
v. si ei = 0 entonces fin = verdadero

sino fin = falso


fin para
fin mientras
Figura 2.15 Algoritmo de aprendizaje del perceptrn simple
10

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.

2.4.3 Limitaciones del perceptrn simple


En el algoritmo de la figura 2.15 notamos que el error se calcula para cada patrn de
entrenamiento y que el algoritmo no se detendr hasta que la variable fin se haga verdadera.
En ese punto el algoritmo ha convergido a error total cero, lo que implica que los pesos
sinpticos no se modifican para ningn patrn y que el perceptrn ha finalizado su proceso de
aprendizaje. Pero esta situacin no se da siempre, existe una condicin que se conoce como

Teorema de convergencia del perceptrn, que indica que si el conjunto de patrones de


entrenamiento es linealmente separable, entonces el perceptrn simple encuentra una solucin
en un nmero finito de iteraciones, es decir, consigue que el error se haga nulo. Si esta
condicin no se satisface, esto es, que los patrones de entrenamiento no son linealmente
separables, entonces el algoritmo no podr converger y por lo tanto no ser posible hallar
solucin alguna.

86

Para ilustrar la condicin de separabilidad lineal, supongamos que se requiere que un


perceptrn aprenda la funcin OR y que otro perceptrn aprenda la funcin XOR, como se
muestra en la tabla 2.1.

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

(b) Funcin XOR

(a) Funcin OR

Tabla 2.1 Funciones OR y XOR para vectores de entrada en R2


Si ilustramos los patrones en el plano cartesiano (figura 2.16) podemos notar que para el caso
del perceptrn que requiere aprender la funcin OR, es posible trazar una recta que permita
dividir los puntos obtenidos en dos grupos, lo que quiere decir que la funcin OR es linealmente
separable. Por el contrario para el caso del perceptrn que requiere aprender la funcin XOR,
notamos que esta no es linealmente separable, puesto que no es posible encontrar una lnea
recta que permita dividir los puntos en dos grupos.

x2

x2
1
1

x1

(a) OR: Separable linealmente

x1

(b) XOR: No separable linealmente

Figura 2.16 Ejemplo de separabilidad lineal


El hecho de que el perceptrn simple slo pueda resolver problemas de clasificacin que sean
linealmente separables es una limitante enorme, pues muchos de los problemas cotidianos no
son de este tipo. Para darle solucin a un problema de clasificacin que no sea linealmente
separable se deber entonces hacer uso del perceptrn multicapa. Adems, el perceptrn
multicapa se utiliza tambin para resolver otro tipo de problemas como asociacin de patrones
y compresin de datos.
87

2.5 Perceptrn multicapa (Multilayer Perceptron: MLP)


2.5.1 Arquitectura del perceptrn multicapa
Las limitaciones del perceptrn simple hicieron que se plantease la necesidad de implementar
redes en las que se aumentara el nmero de capas. El perceptrn multicapa (MLP) es entonces
una extensin de la arquitectura del perceptrn simple que consiste en agregar una o ms capas
ocultas, adems de hacer uso de una funcin de activacin diferente.
El MLP hace uso de la funcin sigmoidea ya sea binaria o bipolar, la principal ventaja radica
en que esta funcin, a diferencia de la funcin escaln, es diferenciable y no lineal. El uso de
una funcin no lineal introduce un nuevo paradigma en el procesamiento de los datos de
entrada permitindole a la red aprender las variaciones no lineales en distintos tipos de
ambientes.
En la figura 2.17 se muestra una arquitectura ejemplo de un MLP de dos entradas, una capa
oculta compuesta por tres neuronas y

dos neuronas en la capa de salida. Al igual que el

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

Figura 2.17 Arquitectura de un perceptrn multicapa con conectividad completa

88

Tipo de perceptrn

Regiones de Decisin obtenidas

Simple

Hiperplano

(dos regiones)

Multicapa
(una capa oculta)

Regiones poligonales

convexas

Multicapa
(dos capas ocultas)

Regiones arbitrarias

Figura 2.18 Ejemplos de regiones de decisin obtenidas con diferentes perceptrones


La popularidad de la arquitectura del MLP se debe al hecho de que una red neuronal de este
tipo con una nica capa oculta puede aproximar cualquier funcin continua en un intervalo
dado, cuestin demostrada por Funahashi (1989) y que proporciona una base slida al campo
de las redes neuronales11. Es por esto que las redes multicapa se conocen tambin como

aproximadores universales.

En la figura 2.18 se muestran diferentes tipos de regiones de decisin obtenidas segn la


cantidad de capas ocultas en un perceptrn. Por ejemplo, con un perceptrn de dos capas se
puede implementar la funcin lgica XOR. De manera general, vamos a ver que cualquier
funcin Booleana {0,1}N {0,1} se puede implementar con un MLP utilizando una sola capa
oculta. Esto se debe a que la capa oculta realiza una proyeccin de los patrones de entrada en
11

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.

2.5.2 Regla de aprendizaje del MLP: Algoritmo Backpropagation


El MLP tiene un algoritmo de entrenamiento un poco ms complejo que el del perceptron
simple, pero que bsicamente utiliza el mismo principio de actualizacin de los pesos sinpticos.
Este algoritmo es denomidado algoritmo de retropropagacin o backpropagation.
Como ya se mencion con anterioridad, el proceso de aprendizaje de una RNA consiste en
encontrar la combinacin ptima de pesos sinpticos y de umbrales, tales que la salida
entregada por la red se aproxime lo ms cercano posible a una funcin dada; esta ltima no se
encuentra de forma explcita sino que se determina por medio de algunos valores conocidos
90

llamados patrones de entrenamiento. Tal como se estudi en la seccin 2.3.4.1, es necesario


definir estos patrones de entrenamiento que se presentarn a la red, de la forma (X i , Di ) ,

X i = {x i 1 , x i 2 , x i 3 , ... , x in }

donde

corresponde al vector de entrada del patrn i y

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:

(X , D ) = ({0, 0} , 0) , (X , D ) = ({0, 1} , 1) , etc.


1

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,

P : Nmero de patrones de entrenamiento


M : Nmero de neuronas en la capa de salida
dpi : i-sima salida deseada del p-simo patrn
y pi : i-sima salida obtenida por la red para el p-simo patrn
Ahora bien, teniendo en cuenta que d pi y y pi son componentes del vector de salida deseada Dp
y del vector de salida obtenido Y p , respectivamente, y cuya cantidad de componentes es m
para ambos, la expresin anterior se puede simplificar as:

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.

El gradiente de un campo escalar f es un campo vectorial denotado por f. El vector gradiente de f


evaluado en un punto genrico x del dominio de f, f(x), indica la direccin en la cual el campo f vara
ms rpidamente y su mdulo representa el ritmo de variacin de f en la direccin de dicho vector
gradiente.
12

92

2.5.2.1 Regla delta generalizada


Bernard Widrow, profesor de Ingeniera Elctrica de la Universidad de Stanford, propuso en
1960 la regla delta, la cual es utilizada en redes monocapa como el perceptrn simple. Esta
regla se ha extendido a redes multicapa con conexiones hacia adelante y compuestas por
neuronas que tienen funciones de activacin continuas, dando lugar al algoritmo de
backpropagation. Estas funciones continuas son derivables adems. La funcin sigmoidea, de la
que hace uso la red MLP, pertenece a este tipo de funciones, a diferencia de la funcin escaln
de la que hace uso el perceptrn simple.
Como se explicaba con anterioridad, el algoritmo utiliza una funcin o superficie de error
asociada a la red, buscando el estado estable de mnimo error a travs del camino descendente
de la superficie de error (descenso gradiente). Por ello, realimenta a la red para realizar la
modificacin de los pesos sinpticos en un valor proporcional al gradiente descendente de dicha
funcin de error.
El mtodo de la regla delta generalizada es bastante similar al de la regla utilizada en el
perceptrn simple. Es decir, los pesos sinpticos se modifican proporcionalmente a la delta o
diferencia entre la salida deseada y la salida real ( d = di - yi ), que en el caso del perceptrn
simple era llamado, de forma simplificada, error. Consideremos la i-sima neurona de salida y
la salida que produce yi, el cambio que se produce en el peso de la conexin que une la salida
de dicha neurona con la neurona j (wij) para un patrn de aprendizaje p determinado, es:

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

Donde d pi corresponde a la salida deseada de la neurona i para el patrn p y Neti corresponde a


la entrada neta que recibe la neurona i.
Notamos que la frmula difiere de la regla delta original en la inclusin de la derivada de la
funcin de activacin. Este trmino representa la modificacin que debe realizarse en la entrada
que recibe la neurona i, el error que se produce estar en funcin del error que se cometa en las
neuronas que reciban como entrada la salida de dicha neurona. Esto es lo que se denomina

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:

d pi = d pk wki f ' (Neti )


k

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:

wij (k + 1) = wij (k ) + m d pi y pj + b (wij (k ) - wij (k - 1))


wij (k + 1) = wij (k ) + m d pi y pj + b Dwij (k )
De esta forma b es una constante (momento) que determina el efecto en k+1 el cambio de los
pesos sinpticos en la iteracin k. La inclusin de la constante b en el algoritmo, es opcional.

94

Al agregar la constante de momento en la actualizacin de los pesos, se disminuyen las


iteraciones necesarias para la convergencia del algoritmo, porque si la variacin en la iteracin k
( Dw ij (k ) ) era positiva y en k+1 tambin, entonces el descenso por la superficie de error en

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:

wij (k + 1) = wij (k ) + (m d pi y pj + b Dwij (k ) )


Donde,

d pi = (d pi - y pi ) f ' (Neti ) Si la neurona i es una neurona de la capa de salida.

d pi = d pk wki f ' (Neti ) Si la neurona i es una neurona de la capa oculta.

2.5.2.2 Pasos del algoritmo backpropagation


A continuacin, se presentan a manera de sntesis los pasos y frmulas que se deben utilizar
para aplicar el algoritmo backpropagation:

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 3. Presentar a la red un patrn de entrenamiento del tipo X p , Dp

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:

y pi = f Net pil = f wijl x pj + bil

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

sigmoidea con a = 1 , tiene como derivada f '(x ) = f (x ) 1 - f (x ) , entonces, si la


neurona i se encuentra en la capa de salida el valor de delta es:

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

Donde k se refiere a todas las neuronas de la capa anterior a la neurona i.

Paso 6. Actualizacin de los pesos sinpticos y del umbral de la neurona i, utilizando la regla
delta generalizada:

wij (k + 1) = wij (k ) + (m d pi y pj + b Dwij (k ) )


bi (k + 1) = bi (k ) + (m d pi + b Dw ij (k ) )
Paso 7. Repetir el procedimiento desde el paso 3 hasta el paso 6 hasta que el trmino de error
resulte aceptablemente pequeo:

Ep =

1 M 2
d
2 k =1 pk

Donde m es la cantidad de neuronas en la capa de salida

Como ya se ha mencionado, el algoritmo backpropagation encuentra un valor mnimo de error


mediante la aplicacin de pasos descendentes (gradiente descendente). Cada punto de la
superficie de error, corresponde a un conjunto de valores de los pesos sinpticos de la red.
Gracias al descenso gradiente, cada vez que se realiza un cambio en los pesos se garantiza el
descenso haca el mnimo ms cercano, lo que puede hacer que el proceso de aprendizaje se
detenga en un mnimo local del error, por lo que nunca podra alcanzarse un error mnimo
global que sera el ptimo. Sin embargo, ha de tenerse en cuenta que no en todas las
aplicaciones es necesario encontrar un mnimo global si no que es suficiente con hallar un error
mnimo local preestablecido.
96

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

2.6 Redes de Hopfield


2.6.1 Arquitectura de las redes de Hopfield
Indiscutiblemente, el americano John Hopfield ha sido uno de los actores principales en la
expansin del desarrollo en el campo de las redes neuronales. En 1982 Hopfield construy un
modelo, que lleva su nombre, lo suficientemente simplificado como para poder extraer
informacin sobre las caractersticas relevantes de un sistema, conservando las ideas
fundamentales de las redes construidas en el pasado y presentando una serie de funciones
bsicas. Con su aporte, Hopfield redescubri el mundo casi olvidado de las redes
autoasociativas, caracterizadas por una nueva arquitectura y un nuevo funcionamiento, para
las que se tuvieron que disear otro tipo de reglas de aprendizaje.
Debido a su arquitectura y a su funcionamiento, la red de Hopfield se puede incluir dentro de
las redes neuronales recurrentes, pues cada neurona est conectada con todas las dems y
adems se produce un procesamiento temporal de los patrones. Lo que diferencia a esta red de
las dems redes recurrentes es que acta como una memoria asociativa. El concepto de
memoria asociativa es bastante intuitivo pues se se trata simplemente de la asociacin de dos
patrones.
En esencia, una red de Hopfield consiste en una red monocapa compuesta de n neuronas que
tienen valores de salida binarios: 0, 1 -1,+1. La particularidad del modelo es que las neuronas
de la capa de entrada componen nica capa de la red, por lo que corresponden a su vez la capa
de salida. Cada neurona de la red posee una conexin con las dems neuronas, excepto consigo
misma (no existen conexiones autorecurrentes), tal como se muestra en la figura 2.19. Adems,
los pesos sinpticos asociados a las conexiones son simtricos, lo que quiere decir que el peso de
la conexin entre la neurona j y la neurona i, es igual al peso de la conexin entre la neurona i
y la neurona j ( wij = w ji ).
En el modelo original se haca uso de la funcin escaln, como funcin de activacin de todas
las neuronas, por lo que se trataba de una red discreta, con entradas y salidas discretas; sin
embargo, Hopfield desarroll posteriormente una versin con entradas y salidas analgicas
utilizando como funcin de activacin la de tipo sigmoidea14.
14

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

Figura 2.19 Arquitectura del modelo de Hopfield


Como ya se mencion, la red de Hopfield es una red autoasociativa, de esta forma durante el
proceso de aprendizaje varios datos diferentes pueden ser almacenados en la red, como si se
tratara de una memoria. Posteriormente, si se presenta a la entrada alguno de los datos
almacenados, la red evoluciona hasta estabilizarse, dando como resultado en la salida el dato
almacenado que coincide con el presentado en la entrada. Si por el contrario, el dato
presentado no coincide con ninguno de los almacenados, la red evoluciona generando como
salida los valores ms cercanos posibles.
Usualmente una red de Hopfield utiliza valores de umbral (bi) proporcionales a la suma de los
pesos sinpticos de las conexiones de cada neurona con el resto:

bi =

1 n
w
2 j =1 ji

2.6.2 Funcionamiento de una red de Hopfield


En una red de Hopfield la informacin es aplicada directamente a la nica capa que posee la
red. Si consideramos el caso en particular de una de las neuronas de la red, sta recibir como
entrada neta el valor que le corresponde del vector de entrada y las salidas de las dems
neuronas, valores que inicialmente coinciden con los de entrada, multiplicados por los pesos
sinpticos correspondientes. A este valor de entrada neta se le aplica la funcin de activacin,
99

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:

En el instante inicial ( k = 0 ) se aplica a la red el vector de entrada x1 , x 2 , x 3 ,..., xn

y la

salida de las neuronas coincide con estos valores, as:

yi (k = 0) = x i

1i n

con

(y (k + 1) = y (k)) ,

La red realiza iteraciones hasta alcanzar la convergencia

es decir,

cuando no hay cambio en el valor de yi de una iteracin a otra:

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

En el instante en el que la red converge, la salida y1 , y2 , y3 ,..., yn

representa la informacin

almacenada por la red que ms se parece a la informacin presentada en la entrada

(x , x , x ,..., x ) .
1

100

Este funcionamiento descrito corresponde al modelo discreto de la red de Hopfield. El modelo


continuo tiene mayor campo de aplicacin que el anterior al permitir resolver problemas
representados con valores numricos reales (por ejemplo imgenes en color o en escala de grises
en vez de slo blanco y negro).
Tanto en el modelo continuo como en el discreto, se pueden distinguir dos tipos diferentes de
comportamiento segn la forma en que se lleva a cabo la actualizacin de las salidas de las
neuronas. Si esta actualizacin se realiza simultneamente en todas las neuronas, se trata de
una red de Hopfield sncrona, esto implica que todas las neuronas de la red generan las salidas
al mismo tiempo, as en la prxima iteracin ( k + 1 ) todas utilizarn como entradas las salidas
generadas en el instante anterior (k). Si por el contrario, la actualizacin de las salidas se
realiza secuencialmente, estamos hablando de una red de Hopfield asncrona, actualizndose
nicamente la salida de una neurona en cada iteracin15. En este caso ocurre que la salida a la
que converge la red puede ser diferente en funcin del orden de la secuencia de activacin de
las neuronas.
Para el caso de las redes de Hopfield sncronas continuas, el funcionamiento de la red tendr
que ser representado en forma de ecuacin diferencial, as:

ti

= f wij y j + bi - yi

j =1
dk

dyi

Donde ti es un parmetro denominado tasa de retardo que pretende representar el retraso de


recepcin de las salidas de las dems neuronas, que se produce en la neurona i.
Si se pretende simular una red de Hopfield sncrona continua como la descrita, se debe resolver
la ecuacin diferencial entregada, o puede implementarse fsicamente por medio de un circuito
analgico que tenga un comportamiento similar al de la ecuacin. En estos circuitos, los pesos
sinpticos se representan como resistencias, las funciones de activacin mediante amplificadores
operacionales, y la tasa de retardo se logra poniendo en paralelo una resistencia y un
condensador a la entrada del amplificador operacional correspondiente16.

15

S. Y. Kung. Digital Neural Networks. Ed. Prentice-Hall, 1993.


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.
16

101

2.6.3 Regla de aprendizaje de las redes de Hopfield


Las redes de Hopfield utilizan un mecanismo de aprendizaje no supervisado conocido como

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

problemas de optimizacin, el clculo de los pesos depender del problema en concreto.


Adems, en el modelo continuo muchas veces se suele considerar la existencia de conexiones
autorecurrentes, por lo que no siempre wii = 0.

2.6.3.1 Funcin de energa


Como ya se mencion en la seccin anterior, el aprendizaje de una red de Hopfield es de tipo
Hebbiano, esto asegura la convergencia hacia una respuesta estable cuando se presenta un
patrn de entrada. Muchas de las investigaciones acerca de la estabilidad de las redes se basan
en el establecimiento de una funcin, denominada funcin de energa y que permite verificar la
convergencia de una red por medio del criterio de estabilidad de Lyapunov. Se puede verificar
que a medida que el estado de una red de Hopfield evoluciona la energa de la red se hace cada
vez menor, decreciendo de manera asinttica. La funcin de energa de una red de Hopfield
discreta es:

E =-

n
1 n n
w
y
y
+

biyi
2 i =1 j =1 ij i j
i =1

Donde,

w ij : Peso sinptico de la conexin entre la i-sima y j-sima neurona.

yi : Valor de salida de la neurona i.


y j : Valor de salida de la neurona j.

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.

2.6.4 Limitaciones de las redes de Hopfield


En una red de Hopfield, la cantidad de patrones que pueden ser aprendidos se encuentra
enormemente limitada. Si se almacenan demasiados patrones durante la etapa de
entrenamiento, la red podra converger a valores diferentes en su funcionamiento normal de los
aprendidos con anterioridad, con lo que la tarea de asociacin entre la informacin presentada
y la almacenada se realiza de manera incorrecta.
Puede comprobarse que esta situacin no se produce nunca si el nmero de patrones
almacenados es menor o igual que n 4 ln(n ) , siendo n el nmero de neuronas de la red. Sin
embargo, este lmite puede suavizarse si se permite la posibilidad de un error mnimo en la
recuperacin de los patrones almacenados, suficientemente pequeo como para poder identificar
dicha informacin sin ningn problema. En ese caso la cantidad de patrones que podr
almacenar la red ser menor al 13,8%18 del nmero de neuronas de la red (0.138n). Por tanto la
capacidad de almacenamiento de informacin de una red de Hopfield con n neuronas es:

0.138n para una recuperacin suficientemente buena

capacidad = n

para una recuperacin completa


4 ln(n )
Notamos que la limitacin de la red de Hopfield en su capacidad de almacenamiento, hace que
cuando la red se utiliza como memoria asociativa, requiera de una gran cantidad de neuronas, y
por tanto, un nmero elevado de conexiones para almacenar una pequea cantidad de datos.
Por ejemplo si tomamos la limitacin del 13,8%, en una red de 100 neuronas, se tendran

100 * 99 = 9900 conexiones y slo podran almacenarse 13 datos.


Otra limitacin del modelo es que a pesar de cumplirse el requisito anterior, no siempre se
puede garantizar que la red realice una asociacin correcta entre una entrada y uno de los
patrones almacenados. Si estos ltimos no son lo suficientemente diferentes entre s, es decir, si
18

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

en, al menos, n/2

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

los k-simo y m-simo patrones de entrenamiento respectivamente. Esta

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:

X k X m 0.7n - 0.3n = 0.4n


Ya que se permite un 70% de componentes diferentes y un 30% de componentes iguales.
Algunos autores han propuesto modelos de redes autoasociativas que podran ser ms eficientes
que el modelo de Hopfield. Por ejemplo J. Anderson desarroll la red conocida como Brain-

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

H. HASSOUN, Mohamad. Associative Neural Memories: Theory and Implementation, Oxford


University Press, 1993.

106

2.7 Mapas autoorganizados: Redes de Kohonen


2.7.1 Arquitectura de las redes de Kohonen
En muchas reas del cerebro de los animales y del hombre, las neuronas se encuentran
organizadas de forma especial. Por ejemplo, en el rea somatosensorial las neuronas encargadas
de recibir las seales provenientes de la piel estn cerca de la corteza cerebral, de manera que
reproducen una especie de mapa de la superficie de la piel en una zona de la misma. Por otro
lado, en lo que respecta al sentido del odo, existen reas en el cerebro que representan mapas

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

KOHONEN, Teuvo. Self-organized formation of topologically correct feature maps. Biological


Cybernetics, 43, pp. 59-69, 1982

107

En la arquitectura en dos dimensiones (SOFM), una de las ms populares, las neuronas de


salida se organizan en forma de matriz (figura 2.21), a las neuronas organizadas de esta manera
es a lo que se le conoce como mapa de la red. En general, este tipo de red permite tomar
patrones de entrada de dimensin n y visualizar los rasgos que hay en los mismos usando una
estructura bidimensional o de mapa.

Neurona(i,j)

Mapa (salida)

Sinapsis wijk

Capa sensorial (entrada)

x (t)

Neurona k

Figura 2.21 Arquitectura de una red de Kohonen de dos dimensiones


Como se observa, las conexiones entre una neurona k de la capa sensorial y una neurona i,j
(posicin en la matriz) del mapa, est representada por el peso sinptico wijk.
La red auto-organizada debe descubrir rasgos comunes, regularidades, correlaciones o categoras
en los datos de entrada, e incorporarlos a su estructura interna de conexiones. Se dice, por
tanto, que las neuronas deben auto-organizarse en funcin de los estmulos (datos) procedentes
del exterior. Es as como el objetivo de este tipo de redes es clasificar los patrones de entrada
en grupos de caractersticas similares, de manera que cada grupo activar siempre una o varias
neuronas de salida. Cada grupo de entradas queda representado entonces en los pesos de las
conexiones de la neurona o neuronas de salida.
En esencia las redes de Kohonen realizan una proyeccin no lineal de un espacio
multidimensional n sobre un espacio discreto de salida representado por el mapa de la red,
constituyendo as una imagen del espacio sensorial, pero de menor nmero de dimensiones,
reflejando con ms fidelidad aquellas dimensiones del espacio sensorial de menor varianza, que
suelen coincidir con los rasgos ms importantes de las entradas21.

21

KOHONEN, Teuvo. Interpretation of the Self-Organizating map algorithm. Neural Networks, 6, 7, pp.
895-905, 1993

108

La proyeccin se realiza de manera ptima, en el sentido que la topologa del espacio de


entrada se preserva en lo posible sobre la superficie de la capa (entradas x similares se
corresponden con neuronas cercanas). As, la distribucin de las neuronas sobre el mapa resulta
ser un reflejo de la funcin densidad de probabilidad p(x ) : regiones en el espacio sensorial
cuyos representantes x aparecen con ms frecuencia (mayor valor de p(x ) ) sern proyectadas
sobre un nmero mayor de neuronas en el mapa.
En la fase de funcionamiento normal de la red, cuando una nueva seal x llega, todas las
neuronas compiten para representarla. En primer lugar, cada neurona (i, j) calcula la similitud
entre la entrada y su propio vector de pesos sinpticos wij, de acuerdo con algn criterio de
similitud o distancia, este clculo equivaldr a la entrada neta de la neurona (i, j).
Existen dos mtodos ampliamente utilizados para calcular el grado de similitud. En el primer
mtodo el vector de entrada se multiplica componente a componente, por el correspondiente
vector de pesos sinpticos y los resultados se suman. Esto corresponde al clculo tradicional de
la entrada neta como producto punto entre dos vectores, as para una neurona (i, j) del mapa,
la entrada neta ser:

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

2.7.2 Regla de aprendizaje de las redes de Kohonen


Las redes de Kohonen utilizan un mtodo de aprendizaje no supervisado, que por la
caracterstica mencionada en la seccin anterior, recibe el nombre de aprendizaje competitivo,
puesto que cada neurona del mapa compite por ser la que representar las caractersticas o
rasgos de los patrones de entrada.
En la etapa de aprendizaje cada neurona del mapa est relacionada con diferentes rasgos del
espacio de entrada. Tras la presentacin y procesamiento del vector de entrada x, la neurona
ganadora y las neuronas de su vecindad, determinadas por la funcin de vecindad, modifican
sus pesos sinpticos. Este proceso se repite para numerosos patrones de entrada, de tal forma
que al final los diferentes vectores de referencia sintonizan con dominios especficos de las
variables de entrada y tienden a representar la funcin densidad de probabilidad p(x ) (o
funcin de distribucin) del espacio sensorial. Si dicho espacio est dividido en grupos, cada
neurona se especializar en uno de ellos, y la operacin esencial de la red se podr interpretar
entonces como un clustering (agrupamiento de datos).
Antes de llevar a cabo el proceso de aprendizaje de la red, debemos definir los parmetros que
caracterizan a la red, como el nmero de neuronas (n) de la capa sensorial y la dimensin (m)
del mapa. El nmero de neuronas de entrada es igual a la dimensin del vector del espacio de
caractersticas que define el problema que se va a solucionar con la red. Las m neuronas del
mapa se distribuyen, en general, en una matriz i j donde i y j son el nmero de filas y
columnas de la matriz, respectivamente. Lo siguiente que debe definirse, es la funcin de

vecindad que se usar en el algoritmo. La funcin de vecindad definida como h a - g , t ,


determina en cada iteracin t, si una neurona a pertenece o no a la vecindad de una neurona
ganadora g. Debido a que la vecindad es simtrica y centrada en la neurona g, uno de los
argumentos de la funcin de vecindad es la distancia entre la neurona genrica a = (i , j ) y la
neurona ganadora g = (g1 , g2 ) :

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

La funcin de vecindad ms simple, es la de tipo escaln:

0 si

h a - g , t =
1 si

a - g > R(t )
a - g R(t )

Cuando la funcin de vecindad toma un valor de 1, la neurona i pertenece a la vecindad de la


neurona ganadora g, pues su distancia es inferior al radio de vecindad R(t).
Tambin es comn utilizar otras funciones de vecindad, como las gaussianas, las funciones pipa
y los sombreros mexicanos, como se muestra en la figura 2.22. Las funciones gaussianas y de
sombrero mexicano, son funciones continuas y derivables en todos sus puntos, y delimitan
vecindades decrecientes.

Escaln

h(x)

Funcin Pipa

Gaussiana

h(x)

h(x)

Sombrero Mexicano

h(x)

Figura 2.22 Funciones de vecindad comunes y vecindades obtenidas


Como vemos, la funcin de vecindad tiene una forma definida, pero su radio R(t) vara
linealmente con el tiempo. Se parte de un valor inicial R0 grande (usualmente m/2) que
determina vecindades amplias, con el fin de lograr la ordenacin global del mapa. R(t)
disminuye con el tiempo, hasta alcanzar un valor final Rf = 1, en este punto nicamente se
actualizarn los pesos de la neurona ganadora y las adyacentes.

111

Asi, el radio de vecindad R(t) se define como:

R(t ) = R0 + (Rf - R0 )

t
tr

Donde t es la iteracin actual y tr es el nmero mximo de iteraciones hasta llegar a Rf.


Otro parmetro importante que debe definirse para aplicar el algoritmo de aprendizaje para
una red de Kohonen, es la tasa de aprendizaje ( m ). Esta tiene la particularidad, a diferencia de
los algoritmos estudiados hasta ahora y al igual que el radio de vecindad, de ser linealmente
decreciente en cada iteracin. La tasa de aprendizaje comienza en un valor inicial m 0 alto pero
no mayor a 1, esto hace que los pesos sinpticos inicialmente se modifiquen en mayor grado,
luego decrece hasta alcanzar el valor final m f @ 0.01 de acuerdo con la siguiente ecuacin:

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.

2.7.2.1 Pasos del algoritmo de aprendizaje para las redes de Kohonen


Despus de haber definido la funcin de vecindad, el radio de vecindad, la tasa de aprendizaje y
los dems parmetros del algoritmo, se procede a aplicar el algoritmo de aprendizaje. Es
importante tener en cuenta que no existe un algoritmo de aprendizaje totalmente estndar para
las redes de Kohonen. No obstante, el resultado final es bastante independiente de los
parmetros particulares usados.

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 2: Presentar un patrn x tomado de acuerdo con la funcin de distribucin de


probabilidad p(x ) del espacio sensorial de entrada. Si se tiene un nmero
finito de patrones, lo cual es habitual, basta con elegir uno al zar y
presentarlo a la red.

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:

wijk (t + 1) = wijk (t ) + m(t ) h a - g , t (x k (t ) - wijk (t ))

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:

Codificacin de informacin: La arquitectura de la red juega un papel fundamental en este tipo


de aplicacin. La idea principal consiste en que la informacin de entrada se recupere en la
salida por medio de un cdigo interno. Si esto se consigue, en la fase de funcionamiento slo
habr que proporcionar a la red la informacin codificada, compuestas por los estados de
activacin de las neuronas de las capas ocultas y los pesos correspondientes obtenidos durante
la etapa de aprendizaje, para generar correctamente la salida.

Traduccin de texto en lenguaje hablado: Es una aplicacin desarrollada por Sejnowski y


Rosenberg24. En la capa de entrada se codifica convenientemente cada una de las posibles
letras, as como el contexto local, que consiste en las tres letras precedentes y posteriores, a
travs de una ventana que se va moviendo por el texto secuencialmente. En la capa de salida se
codifica la informacin correspondiente a la pronunciacin de una serie de fonemas, ms ciertas
caractersticas que dan idea de sus vecinos. Con un nmero adecuado de neuronas ocultas, la
red

establece

la

correspondencia

texto-fonemas

que

permitir,

durante

la

fase

de

funcionamiento, generar automticamente los fonemas correspondientes a un determinado


texto.

Reconocimiento del lenguaje hablado: Es un tipo de aplicacin muy actual y su dificultad


radica en la capacidad que debe tener la red para tratar informacin temporal. Se ha
propuesto, entre otras soluciones, introducir retardos que permitan identificar explcitamente la
existencia de ventanas temporales en la captura de la informacin. Las conexiones entre las
neuronas de la capa oculta y las neuronas de la capa de salida deben tener una unidad de
retardo. De esta forma se pretende obtener respuestas similares a patrones de entrada similares
ya que se encuentran desfasados en el tiempo. Para abordar este tipo de problemas puede
hacerse uso del algoritmo backpropagation haciendo algunas variaciones: el error no slo ha de
ser propagado espacialmente por todas las capas si no tambin temporalmente.

24

T. Sejnowski y C. Rosenberg. Parallel networks that learn to pronounce english text. Complex Systems,
pgs. 145-168

114

Reconocimiento ptico de caracteres (OCR): Se trata de una aplicacin tpica de


reconocimiento de patrones, siendo en este caso las letras de un texto los patrones a reconocer.
El objetivo es que la red tenga la capacidad de generalizar pasada la fase de aprendizaje, es
decir, que reconozca formas de caracteres no utilizadas en el proceso. Los caracteres pueden
presentarse a la neurona como una imagen compuesta por cierto nmero de pixeles, generando
en la salida un cdigo, por ejemplo ASCII, correspondiente al carcter de entrada. Tambin se
puede utilizar una segunda red como diccionario que aprenda palabras completas y permita
depurar posibles errores en el reconocimiento de caracteres aislados llevado a cabo por la
primera red.
A pesar de las limitaciones estudiadas en las redes de Hopfield, el modelo ha sido uno de los
ms utilizados, como se describi o con algunas modificaciones, esto se debe a la relativa
facilidad de implementacin fsica de la red utilizando tecnologa VLSI Very High Scale
Integration (muy alta escala de integracin). Las aplicaciones ms conocidas incluyen:

Reconocimiento de imgenes: La red de Hopfield puede reconstruir versiones distorsionadas o


parciales de imgenes almacenadas durante la fase de aprendizaje. Una limitacin que presenta
el modelo original es la imposibilidad de recuperar correctamente la imagen si la informacin de
entrada ha sido trasladada o rotada. Para ello sera necesario introducir nuevas reglas de
aprendizaje diferentes a las de Hebb, que tengan implcitas las invarianzas necesarias para que
se pueda llevar a cabo el reconocimiento deseado.

Resolucin de problemas de optimizacin: Una de las aplicaciones de las redes neuronales en


general, y en particular del modelo de Hopfield, es la resolucin de problemas de optimizacin
complejos. La utilizacin de una red de Hopfield para este fin se basa en la idea de expresar la
funcin objetivo del problema en particular en trminos de la funcin de energa de la red,
calculndose los pesos sinpticos y los umbrales en trminos de parmetros de la funcin
objetivo, para que ambas expresiones sean equivalentes. De esta forma cuando se pone en
funcionamiento la red, esta itera hasta alcanzar un mnimo de la funcin de energa, que en
este caso coincidir con el mnimo de la funcin objetivo, encontrando as una posible solucin
al problema.
Para el caso de las redes de Kohonen, las aplicaciones en las que mejor se desempean este tipo
de redes son las que estn relacionadas con reconocimiento de patrones, anlisis de datos y

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

3.2 Fundamentos Biolgicos


3.2.1 Las colonias de hormigas
Las hormigas no son listas, las colonias de hormigas s

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

Figura 3.1 Aparien


ncia de las hoormigas segn
n su sexo y casta
A pesar de que
q se puede llegar a penssar que las hoormigas tieneen un sistemaa jerarquizad
do, donde
el
e eje centrall de su funcio
onamiento ess la reina y laas obreras oobedecen su
us rdenes, laa realidad
es
e otra. Una
a nica horm
miga reina no
n puede esttar al mandoo de cientos o miles de obreras,
coordinando
c
cada cosa qu
ue deben haccer, porque laa labor de laa hormiga reiina, confinad
da dentro
del
d nido al perder sus alas
a
durantee el apaream
miento y deb
bido a su en
norme peso, es la de
alimentarse
a
y producir ms
m huevos. Entonces, Cmo logra cada hormigga saber qu trabajo
debe
d
desempear, cundo
o, cmo y dn
nde debe haccerlo?

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

GORDON, Deborah M. Ants


A
at Workk: How An In
nsect Society Is Organized. Facultad dee biologa,
Universidad
U
de Stanford. 20
000

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

posteriormente, realizando una especie de votacin.

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

3.3 De la biologa a la inteligencia colectiva artificial


3.3.1 Los agentes simples y los sistemas de agentes
Despus de haber entendido cules son los principios biolgicos en los que se inspira la
inteligencia colectiva artificial, podemos percatarnos que bsicamente hay tres aspectos
fundamentales que estn relacionados con la inteligencia colectiva natural, estos son: seres
simples destinados a realizar tareas concretas, un conjunto de reglas de interaccin entre estos
seres que guan y modifican las tareas asignadas y un objetivo compartido, conocido a nivel
local. En este orden de ideas, un algoritmo de inteligencia colectiva simula estos aspectos
mediante la creacin de agentes simples, reglas de comunicacin local entre los mismos y un
control distribuido (auto-control por parte de cada agente).
Un agente, en inteligencia artificial, es una entidad (fsica o virtual) que est en la capacidad de
percibir su entorno, procesar los datos que provienen del mismo y actuar en su entorno de
acuerdo a los resultados del procesamiento de la informacin percibida y a un conjunto de
reglas, para maximizar un resultado esperado. En la figura 3.6 se puede observar la estructura
general de un agente simple.
Para el caso de la inteligencia colectiva se habla de agentes simples, puesto que estas entidades
slo perciben su entorno a nivel local, realizando un procesamiento simplificado de los datos de
entrada y sus acciones dependen en gran parte de las acciones que otros agentes han llevado a
cabo. Es as entonces como un agente simple representa a una hormiga, una abeja, una clula o
cualquier organismo biolgico simple.

Agente Simple
Percepciones
Receptor
Reglas
Condiciones
Respuesta

Ambiente
Acciones
Emisor

Figura 3.6 Estructura de un agente simple

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.

Adaptabilidad: El sistema debe estar en capacidad de adaptarse a un entorno cambiante


gracias a la interaccin entre los agentes simples. Esta interaccin puede ser directa o
indirecta por medio del ambiente local; dos agentes simples interactan indirectamente
cuando uno de ellos modifica el ambiente cercano y el otro percibe los cambios y
posteriormente responde. Este medio de comunicacin local permite que los agentes
tengan la habilidad de detectar cambios en el ambiente de forma dinmica. As, pueden
adaptar por ellos mismos su comportamiento a los nuevos cambios detectados, esto se
conoce como habilidad de auto-configuracin.

Escalabilidad: El sistema debe estar en capacidad de operar aunque est conformado


por slo unos cuntos agentes, por unos cientos o por miles de ellos.

Flexibilidad: Ninguno de los agentes del sistema es indispensable para el funcionamiento


del mismo, en cualquier momento debe ser posible adicionar, remover o reemplazar a
cualquiera de ellos.

Robustez: Al tratarse de un sistema distribuido, es decir, en el que el procesamiento de


la informacin y la toma de decisiones es descentralizado (depende de cada agente), no
hay un nico punto de falla. Esto se traduce en que si uno o ms agentes fallan, el
sistema en general puede seguir ejecutando la tarea inicial.

Auto-organizacin: Este trmino se refiere a la capacidad que debe poseer el sistema de


aumentar su complejidad, estabilizarse y ejecutar una tarea sin requerir la intervencin
de ningn agente externo. El comportamiento exhibido por el sistema est determinado
por la suma de las acciones de cada uno de los agentes que lo componen. As, el
resultado obtenido como la solucin a un problema, no se encuentra predefinido o preprogramado sino que se determina colectivamente.

Todas estas caractersticas listadas se integran implcitamente al sistema gracias a que el


algoritmo, que define el comportamiento de los agentes y del sistema, las incorpora.
En los siguientes subcaptulos se estudian con ms detalle las tcnicas de inteligencia colectiva
ms comunes, como lo son la optimizacin por colonia de hormigas, optimizacin por enjambre
de partculas y los autmatas celulares.
126

3.4 Optimizacin por colonia de hormigas


3.4.1 Fundamentos de la optimizacin por colonia de hormigas
La optimizacin por colonia de hormigas es un algoritmo propuesto inicialmente por Alberto
Colorni, Marco Dorigo y Vittorio Maniezzo5

- 6

, que hace parte de los mtodos heursticos para

aproximar soluciones a problemas de optimizacin combinatoria. Un problema de optimizacin


combinatoria es un problema de optimizacin en el que el conjunto de posibles soluciones es
discreto o se puede reducir a un conjunto discreto. As, el objetivo consiste, como en cualquier
problema de optimizacin, en hallar la solucin ptima que minimiza o maximiza una funcin
objetivo dada; en este caso la funcin objetivo depende de varias variables. En la mayora de
los casos estos problemas se formulan mediante grafos ponderados, facilitando de esta forma la
implementacin del algoritmo como un problema de bsqueda del camino ms corto entre dos
vrtices o nodos del grafo.
Un grafo simple G = (V , A) , donde V es el conjunto de vrtices y A es el conjunto de aristas,
+

es un grafo ponderado s tiene asociado una funcin W : A

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

Figura 3.7 Ejemplo de grafo ponderado

A. Colorni, M. Dorigo, and V. Maniezzo, Distributed optimization by ant colonies, Proceedings of


ECAL'91, European Conference on Artificial Life, Elsevier Publishing, msterdam, Paises Bajos (1991)
6
M. Dorigo, V. Maniezzo, and A. Colorni, The ant system: an autocatalytic optimizing process,
Technical Report TR91-016, Politcnico de Miln, Italia (1991)

127

El grafo ilustrado en el ejemplo es un grafo ponderado y adems doblemente dirigido, lo que


implica que los nodos que se encuentran conectados entre ellos pueden ser tanto de partida
como de llegada para un recorrido dado. Es decir, por ejemplo, del vrtice a se puede llegar al
vrtice b o al vrtice c; y a la vez desde los vrtices b y c se puede llegar al vrtice a. Los pesos
de cada una de las aristas del grafo ponderado son:

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

As, el grafo de la figura 3.7 tiene como matriz de pesos:

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

sobre la calidad de esta solucin por medio de un esquema de comunicacin temporal


(feromonas).
El algoritmo de optimizacin por colonia de hormigas es esencialmente un algoritmo
constructivo, es decir, en cada iteracin del algoritmo cada hormiga determina una solucin al
problema recorriendo un grafo ponderado. Cada arista del grafo representa los posibles pasos
que la hormiga puede dar y tiene asociado dos tipos de datos que guan el movimiento de la
hormiga, estos son:
Informacin heurstica: Mide la preferencia de una hormiga de moverse desde el nodo r hasta el
nodo s, es decir, de recorrer la arista ars y se denota por hrs . Las hormigas no modifican esta
informacin durante la ejecucin del algoritmo.
Rastro de feromona: Mide que tan deseable es el movimiento del nodo r al nodo s segn la
experiencia de otras hormigas. Imita a la feromona natural y se modifica durante la ejecucin
del algoritmo dependiendo de las soluciones encontradas por las hormigas. Se denota por trs .
Diferentes algoritmos de optimizacin por colonia de hormigas han sido propuestos a travs de
los aos. Sin embargo, el algoritmo original es conocido como Sistema de Hormigas y fue
propuesto a inicios de los 90s, la mayora de los dems algoritmos pueden considerarse como
variantes del algoritmo original. En la siguiente tabla se puede observar una lista de los
algoritmos de colonia de hormigas ms comunes7:
Algoritmo
Sistema de Hormigas
Sistema de Hormigas - Elitista
Hormiga -Q
Sistema de Colonias de Hormigas
Sistema de Hormigas Max-Mini
Sistema de Hormigas Basado en Ranking
ANTS
Sistema de Hormigas Hipercubo

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

Tabla 3.1 Algoritmos de Colonia de Hormigas ms comunes

GHALEB, Saad, AL-SLAMY, Nada. Ant Colony Optimization. Department of Management


Information Systems. College of Economics & Business. Al-Zaytoonah University or Jordan. Amman,
Jordania 2008

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:

S es el espacio de bsqueda (o soluciones) definido sobre un conjunto finito de variables


de decisin y un conjunto W de condiciones o restricciones para las variables.

f : S + es la funcin objetivo a ser minimizada.

El espacio de soluciones S se define de la siguiente manera: Dado un conjunto de n variables

discretas X i con valores v ij D i = v i 1 , v i 2 , ..., v i D

} , i = 1, 2, 3,..., n . Una instanciacin de una

variable, que corresponde a la asignacin de un valor v ij a una variable X i , se denota por

v ij = X i . Una solucin factible s S corresponde a una asignacin completa (una solucin en


la que cada variable de decisin tiene un dominio de valor asignado) que satisface las
condiciones. Si el conjunto de condiciones W es vaco, entonces cada variable de decisin puede
tomar cualquier valor de su dominio independientemente de los valores de otras variables de
decisin. En este caso P se denominara un problema sin restricciones.
Para construir un modelo de un sistema de colonia de hormigas basado en feromonas es
necesario generar los componentes de solucin que conciernen al caso en particular. En primer
lugar, denominaremos componente de solucin a la combinacin de una variable de decisin X i
y a su dominio de valores v ij y lo denotaremos como cij . As, el modelo basado en feromonas
consiste en un parmetro rastro de feromona denotado por Tij para cada componente de
solucin cij . El valor para un parmetro de rastro de feromona Tij - llamado simplemente
feromona se denota por t ij , el conjunto de todos los rastros de feromona se denota por T y
el conjunto de todos los componentes de solucin se denota por C. Entonces, el grafo de

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.

3.4.3 Algoritmo Sistema de Hormigas


En la figura 3.9 se puede observar el pseudocdigo para el algoritmo de sistema de hormigas.
Para este caso, s j con j = 1, 2, 3,..., n es la solucin construida por la hormiga j y n es el
nmero de hormigas. Despus de la inicializacin de los valores de las feromonas, en cada
iteracin del algoritmo cada una de las hormigas construye una solucin. Estas soluciones son
usadas luego para actualizar los valores de las feromonas.
InicializarFeromonas(T)
mientras condiciones de parada no satisfechas hacer
para j = 1,2,3,, n hacer
s j = ContruirSolucion(T )
fin para
ActualizarFeromonas(T , s1 , s2 , s3 ,..., sn )
fin mientras
Figura 3.9 Algoritmo Sistema de Hormigas
InicializarFeromonas(T): Al inicio del algoritmo, todos los valores de las feromonas se
inicializan con un valor c > 0 . Se recomienda que estos valores sean pequeos, generalmente
entre 0,1 .

132

ConstruirSolucin(T): En la fase de construccin, cada hormiga construye mediante un proceso


incremental una solucin aadiendo componentes a la solucin parcial s P construida hasta el
momento. La probabilidad de elegir el siguiente componente de solucin que ser aadido se
determina mediante la probabilidad de transicin:

( )

p cij s P , " cij s P

( )

Donde s P

es el conjunto de componentes de solucin factibles que una hormiga puede

aadir a la solucin parcial actual s P . La probabilidad de transicin se determina por medio de


una funcin denominada regla de transicin de estado, la cual recibe como parmetros los
valores de las feromonas y posiblemente otra informacin adicional. La regla de transicin de
estado determina la probabilidad de aadir a la solucin parcial actual s P un componente de

( ) como la razn entre la c

solucin factible cij s P

ij

- sima feromona tij y la suma de las

feromonas de todos los componentes de solucin factible.

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

Donde G es el conjunto de soluciones que fueron generadas en la iteracin actual (k), a es un


parmetro denominado tasa de evaporacin, su valor debe encontrarse entre

(0,1

y su

funcin, como su nombre lo indica, es la de desgastar paulatinamente en cada iteracin el


rastro de feromona depositada por una hormiga, simulando el desgaste natural de las feromonas
por efectos climticos y dems en su estado natural. De esta forma la feromona se evapora
completamente si en muchas iteraciones el rastro no es reforzado por otra hormiga.

F :G + es llamada funcin de calidad y se encarga de determinar qu tan buena es una


solucin construida por una hormiga. Como podemos notar, el objetivo de esta regla de
actualizacin de feromonas es aumentar la concentracin de feromonas de los componentes de
solucin que han resultado tener un valor muy alto de calidad como soluciones factibles.
8

BLUM, Christian. Theorical and Practical Aspects of Ant Colony Optimization.

133

3.5 Optimizacin por enjambre de partculas


3.5.1 Fundamentos de la optimizacin por enjambre de partculas (PSO)
El mtodo de optimizacin por enjambres de partculas PSO (por sus siglas en ingls Particle
Swarm Optimization) es un mtodo de optimizacin heurstico que fue descrito cerca de 1995
por James Kennedy y Russell C. Eberhart9. Este algoritmo est inspirado, como ya se
mencion antes, en el comportamiento que presentan los enjambres de insectos y en especial los
enjambres de abejas.

Para aplicar el algoritmo PSO es necesario modelar un conjunto de

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.

10 Enjambree para un alggoritmo PSO en dos dimensiones


Figura 3.1

135

El enjambre realiza su movimiento considerando un modelo social, en el cual cada partcula


ignora su experiencia y se ajusta a la experiencia exitosa de sus vecinas10; un modelo cognitivo,
en el cual cada partcula es un agente aislado y dependiente exclusivamente de su experiencia,
o una mezcla entre los dos modelos anteriores. De acuerdo con el modelo definido, el enjambre
explora el espacio de bsqueda haciendo un nmero determinado de movimientos o hasta que
se cumple una condicin de parada, siendo la mejor partcula la solucin al problema de
optimizacin.
3.5.2 Algoritmo PSO
3.5.2.1 Descripcin del algoritmo PSO
Un algoritmo PSO consiste en un proceso iterativo y estocstico que opera sobre un conjunto
de partculas. La posicin de cada partcula representa una solucin potencial al problema que
se est resolviendo. Generalmente, una partcula pi est compuesta de tres vectores y dos
valores de desempeo, as:

El vector x i = {x i 1 , xi 2 , x i 3 , ..., x in } almacena la posicin actual de la partcula en el


espacio de bsqueda.

El vector

pBesti = {pi 1 , pi 2 ,..., pin } almacena la posicin de la mejor solucin

encontrada hasta el momento.

El vector de velocidad vi = {vi 1 , vi 2 ,..., vin } almacena el gradiente (direccin) en la cual


se mover la partcula.

El valor fitness _ x i almacena el desempeo de la solucin actual (vector x i ).

El valor fitness _ pBest almacena el desempeo de la mejor solucin local encontrada


hasta el momento (vector pBest)

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

fitness _ x i y fitness _ pBest . En la figura 3.11 se observa un ejemplo de inicializacin de un


enjambre de partculas en un espacio de bsqueda de tres dimensiones.

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

v i (k ) : Velocidad de la partcula i en la k-sima iteracin.

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

j1 rand1 (pBesti - x i (k )) y representa la distancia entre la posicin actual y la mejor


conocida por esta partcula, es decir, la decisin que tomar la misma con base en su propia
experiencia. El componente social esta 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:

Mejor solucin de la partcula

vpBest(k)

pBest

Mejor solucin de la vecindad


vpg(k)

pg

x(k)
Posicin actual de
la partcula

x(k+1)

v(k)

Posicin siguiente
de la partcula

Figura 3.12 Movimiento de un partcula en el espacio de soluciones

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).

3.5.2.2 Tipos de algoritmos PSO


Se pueden obtener diferentes tipos de PSO segn los valores que puedan tomar los parmetros
del algoritmo, por ejemplo, segn la importancia de los pesos cognitivo y social y segn el tipo
de vecindario utilizado.
Por una parte, dependiendo de la influencia de los factores cognitivo y social ( j1 , j 2
respectivamente) sobre la direccin de la velocidad que toma una partcula en el movimiento se
pueden identificar cuatro tipos de algoritmos13:

(j , j

Modelo completo

> 0) : Tanto el componente cognitivo como el social

intervienen en el movimiento.

Modelo Cognitivo (j1 > 0 , j 2 = 0) : nicamente el componente cognitivo interviene en


el movimiento.

Modelo Social

(j

= 0 , j 2 > 0) : nicamente el componente social interviene en el

movimiento.

Modelo Social Exclusivo (j1 = 0 , j 2 > 0, gi xi ) : La posicin de la partcula en s no


puede ser la mejor de su entorno.

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

En el PSO local, se calcula la distancia entre la posicin actual de partcula y la posicin de la


mejor partcula encontrada en el entorno local de la primera. El entorno local consiste en las
partculas inmediatamente cercanas en la topologa del enjambre. En la figura 3.13 se muestra
el pseudocdigo de la versin local del algoritmo PSO.

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

vi (k + 1) = w vi (k ) + j1 rand1 (pBesti - x i (k )) + j2 rand2 (gi - xi (k ))


x i (k + 1) = x i (k ) + v i (k + 1)
fin para
fin mientras
Figura 3.13 Algoritmo PSO local
Para el PSO global, la distancia en el componente social viene dada por la diferencia entre la
posicin de la partcula actual y la posicin de la mejor partcula encontrada en el enjambre
completo gBesti . La figura 3.14 muestra el pseudocdigo para la versin global del algoritmo
PSO.
La versin global converge ms rpido pues la visibilidad de cada partcula es mejor y se
acercan ms a la mejor del enjambre favoreciendo la intensificacin, por esta razn, tambin
cae ms fcilmente en ptimos locales. El comportamiento de la versin Local es el contrario, es
decir, le cuesta ms converger favoreciendo en este caso la diversificacin, pero no cae
fcilmente en ptimos locales15.

15

K. Parsopoulos, E. Papageorgiou, P. Groumpos, and M. Vrahatis. A First Study of Fuzzy Cognitive


Maps Learning Using Particle Swarm Optimization. In Proceedings of the IEEE Congress on
Evolutionary Computation 2003, pages 14401447, Canbella, Australia, 2003

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

vi (k + 1) = w vi (k ) + j1 rand1 (pBesti - x i (k )) + j2 rand2 (gi - xi (k ))


x i (k + 1) = x i (k ) + v i (k + 1)
fin para
fin mientras
Figura 3.14 Algoritmo PSO global
3.5.3 Topologas del enjambre de partculas
Otro aspecto muy importante a considerar es la manera en la que una partcula interacciona
con las dems partculas de su vecindario. El desarrollo de una partcula depende tanto de la
topologa del cmulo como de la versin del algoritmo. Las topologas definen el entorno de
interaccin de una partcula individual con su vecindario. La propia partcula siempre
pertenece a su entorno. Los entornos pueden ser de dos tipos16:

Geogrficos: se calcula la distancia de la partcula actual al resto y se toman las ms


cercanas para componer su entorno.

Sociales: se define a priori una lista de vecinas para la partcula, independientemente de


su posicin en el espacio.

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

3.6 Autmatas celulares


3.6.1 Fundamentos de los Autmatas Celulares (AC)
Existen muchos sistemas naturales cuya estructura compleja est lejos de ser descrita a travs
de formulaciones matemticas precisas capaces de describir su estado y su evolucin, en
algunos casos la aproximacin es posible, en contraste con someter al sistema a una alta
reduccin de rendimiento.
Los avances en hardware computacional, el aumento del rendimiento y la capacidad de
procesamiento de los sistemas ha hecho posible la inclusin de un nmero mayor de variables
en los modelos, hacindolos ms sofisticados y exactos, pero manteniendo un enfoque clsico en
el desarrollo de algoritmos. Se inicia con la construccin de un modelo matemtico que describa
el sistema (ecuaciones diferenciales, ecuaciones integro-diferenciales, etc.) y posteriormente se
implementa el modelo en un sistema computacional, es decir, se discretizan las ecuaciones. En
algunos casos este enfoque no aporta resultados significativos en el modelado, debido
principalmente al nmero elevado de variables que caracterizan muchos sistemas reales y a la
complejidad de los procesos involucrados, lo que redunda en la dificultad para hallar un modelo
apropiado.
Las dificultades anteriormente mencionadas pueden ser atenuadas utilizando herramientas de
simulacin que respondan, en un primer momento, a una descripcin ms cualitativa, sin por
ello renunciar a la obtencin de parmetros y de variables que cuantifiquen la evolucin de un
determinado proceso. Una de las posibles alternativas de solucin es el modelado basado en
Autmatas Celulares, ya que estos se adaptan eficazmente a estructuras biolgicas y
proporcionan adems algunos elementos para el desarrollo de otros enfoques en la simulacin de
fenmenos fsicos y sociales17.
Se debe pensar en un Autmata Celular (AC) como en un conjunto de objetos situados sobre
una regin o asociados a puntos de un espacio y susceptibles de adquirir ciertos estados a
medida que transcurre el tiempo, siempre en forma discreta o a saltos. Estos objetos o
individuos representan formas de vida simples como bacterias y dems seres unicelulares.
Los individuos cambian sus estados en funcin de sus propios estados previos y de los estados
de los dems individuos situados en su vecindad.

17

Stephen Wolfran. Publications by Stephen Wolfran. www.stephenwolfran.com. Cellular autmata.

144

En pocas palabras, un AC es un modelo formal que est compuesto por un conjunto de


individuos elementales, cada uno de ellos susceptible de encontrarse en un cierto estado y de
alterarlo de un instante al siguiente, asumiendo que el tiempo transcurre de forma discreta. La
regla que gobierna la transicin de estados en los individuos es sensible a los estados de los
dems individuos en su vecindad, siendo por tanto una regla de transicin local. El aspecto que
ms caracteriza a los ACs es su capacidad para dotar al conjunto del sistema, visto como un
todo, de una serie de propiedades emergentes inducidas por la propia dinmica local. En
general, no es fcil obtener las propiedades globales de un sistema definido como el anterior,
complejo por naturaleza, a no ser por medio de la simulacin, partiendo de un estado inicial de
la poblacin y cambiando en cada instante los estados de todos ellos de forma sncrona.
Un AC tambin puede conceptualizarse como una representacin matemtica de un sistema,
definido por un conjunto de elementos discretos que interactan entre s localmente18. Como
un ejemplo de AC consideremos una lnea de campos cada uno con un valor de 0 o 1 (Figura
3.16). Si tomamos el valor del campo en la posicin i en el tiempo t como ai (t ) , entonces una
regla simple para la evolucin de los valores de este autmata puede ser:

ai (t + 1) = (ai -1(t ) + ai +1(t )

) 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

Figura 3.16 Ejemplo simple de autmata celular


Es comn representar los estados de los AC mediante colores en las celdas, por ejemplo en la
grfica anterior las celdas negras representan los 1s y las celdas blancas los 0s del autmata.

18

J. D. Demogeot, E. Goles, M. Tchuente. Dinamical system and celular autmata. Academic Press,
1985.

145

3.6.2 Definicin de un Autmata Celular


3.6.2.1 Estructura de un Autmata Celular
Como ya hemos estudiado, un Autmata Celular es una herramienta computacional que hace
parte de la Inteligencia Artificial basada en modelos biolgicos, el cual est bsicamente
compuesto por una estructura esttica de datos y un conjunto finito de reglas que son aplicadas
a cada nodo o elemento de la estructura. El inters que ha despertado esta tcnica radica en la
sencillez y en la simplicidad que caracteriza la construccin de los modelos (son susceptibles de
fcil programacin); adems, en la particularidad de los patrones de comportamiento
presentados por el Autmata en tiempo de ejecucin, permitiendo una observacin directa y
detallada de los mismos a medida que evolucionan en el tiempo.
Aunque un AC es un sistema bastante simple, su aplicacin ha permitido simular sistemas
complejos y hacer predicciones. Es por esto que es importante entender el funcionamiento de
un AC desde su estructura. Un AC est conformado bsicamente por:

Un plano bidimensional o un espacio n-dimensional dividido en un nmero de subespacios homogneos, conocidos como celdas.

Cada celda puede estar en uno de un conjunto finito o numerable de estados.

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:

Tienen el mismo Conjunto de Estados posibles.

Tienen la misma forma de Vecindad.

Tienen el mismo conjunto de Reglas de Evolucin.

19

T. Toffoli y N. Margolus. Cellular Automata Machines: A New Environment for Modelling. The M.I.T.
Press., Cambridge, MA, 198

146

La estructura de un AC le garantiza al sistema un conjunto de propiedades fundamentales,


entre las cuales encontramos:
Paralelismo: Debido a que las celdas del autmata cambian de estado simultneamente.
Localidad: El nuevo estado de una celda depende exclusivamente de la informacin que se
encuentre en su vecindad (informacin local) y de su propio estado.
Homogenidad: Existen leyes universales, comunes al espacio de los autmatas.

3.6.2.2 Componentes de un Autmata Celular


Los autmatas celulares se componen de celdas que representan individuos, un espacio discreto,
pasos de tiempo discretos, una condicin inicial, condiciones de frontera y reglas. Una condicin
inicial es el estado (valor) de cada una de las celdas en el tiempo t=0. La evolucin del sistema
depender de esta condicin inicial.
Las condiciones de frontera se refieren a qu ocurre en las celdas que tocan los bordes del
espacio. Se clasifican en:
Frontera abierta: se considera que todas las clulas fuera del espacio del autmata toman un
valor fijo.

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.

Sin frontera: el autmata no tiene lmites, es infinito.


Es importante destacar la complejidad que se logra con un AC. De acuerdo a la dimensin en
la que se genere (lnea, plano, espacio, etc.) tendr un numero potencial de vecinos. Por
ejemplo, digamos que la vecindad ser de 1, estos es, slo las clulas inmediatas o ms cercanas
sern tomadas en cuenta. Para el caso de una sola dimensin cada clula tendr solo 2 vecinos.
Para un AC en dos dimensiones contara con 4 (arriba, abajo, izquierda, derecha) u 8 vecinas si
tomamos en cuenta tambin las diagonales. Como el siguiente estado de cada clula se computa
con base en el estado anterior y de sus vecinas (es decir que el estado 2 surge del estado 1 y el
3 del 2, etc.), se tiene un sistema que es dinmico y que es difcil de predecir.

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

3.6.3 Tipos de Autmatas Celulares


Existen muchas variaciones de ACs. Los ms simples se desarrollan en una dimensin. Imagine
una fila de clulas, cada una evaluando constantemente a sus dos vecinas para decidir de qu
color teirse. Presentadas todas las generaciones en un mismo plano, el modelo puede evocar
con eficacia ciertos patrones de pigmentacin en caracoles, por ejemplo.
Dando valores aleatorios a la primera generacin se obtienen diversos patrones, aunque puede
discernirse el estilo bsico de cada grupo de leyes. Cuando estas ltimas cambian, los patrones
obtenidos son radicalmente diferentes. Aunque se presenten en dos dimensiones, debe
recordarse que slo existe una generacin o lnea a la vez.
La misma idea puede trasladarse al universo bidimensional. En los autmatas celulares de
trama cuadriculada, cada clula se puede considerar como viviendo en un vecindario de cinco o
nueve clulas, ella misma incluida. Las infinitas variaciones de estos vecindarios han ido
creciendo en tamao conforme al aumento de potencia computacional disponible.
Segn Stephen Wolfran los autmatas celulares pueden ser clasificados en cuatro clases
diferentes. En todos estos casos suponemos que el estado inicial es aleatorio (una secuencia
escogida al azar) o bien se trata de una cadena de autmatas en estado 0 y algunas posiciones
escogidas al azar en un estado diferente:
Clase I: Es independiente del estado inicial. El autmata tiende a permanecer en un estado
homogneo sin estructuras espaciales ni temporales de ningn tipo, sin importar si se producen
cambios en las condiciones iniciales.
Clase II: La evolucin del sistema lleva al autmata

a dividirse en estructuras estables y

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

3.6.3.1 El juego de la vida


Uno de los autmatas celulares ms conocidos es sin duda el denominado juego de la vida
(Life), ideado en 1970 por el matemtico ingls John Conway. Es un buen ejemplo de cmo un
conjunto de reglas muy simples posee la capacidad de generar una gran variedad de
comportamientos. La idea de Conway persegua la obtencin del juego ms simple posible (sin
jugadores) que pudiera generar comportamientos imprevisibles. Conway y sus estudiantes
llevaron a cabo un estudio exhaustivo y determinaron finalmente un modelo de enrome
simplicidad en su expresin formal pero de enorme complejidad en sus posibles evoluciones.
El juego de la vida est basado en un autmata celular definido sobre un espacio cuadrado a
modo de red y en la que el conjunto de estados posibles consta de dos elementos: vivo (1) o
muerto (0). Los vecinos a considerar son los cuatro prximos. En el instante t i algunas celdas
de la red tendrn autmatas vivos, en el siguiente instante ti +1 , el nuevo conjunto de
autmatas en dicho estado quedar determinado por el siguiente conjunto de reglas:

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).

Regla de nacimiento: Si un autmata posee el estado 0 y tiene exactamente tres vecinos


vivos, en esa posicin aparecer un autmata vivo (pasar al estado 1).

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

Figura 3.18 Patrones obtenidos en el autmata Life


Los patrones llamados Matusalenes (Methuselahs) pueden evolucionar a lo largo de muchos
ciclos, o generaciones, antes de estabilizarse. El patrn Diehard desaparece despus de 130
turnos, mientras que Acorn tarda 5206 ciclos en estabilizarse en forma de muchos osciladores, y
en ese tiempo genera 13 planeadores.
Se puede demostrar que este autmata celular bidimensional posee las condiciones estructurales
y dinmicas mnimas necesarias para llevar a cabo clculo universal. Podemos construir
compuertas lgicas de distintos tipos (AND, OR y NOT) que nos permitiran, una vez
acopladas de alguna forma, construir una mquina de Turing Universal20.

20

V. S. Richard, C. M. Susanna. Orden y caos en sistemas complejos. UPC, Barcelona, 2001.

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

(JSS), Enrutamiento de Redes de Comunicaciones, Enrutamiento de vehculos,

Ordenamiento Secuencial, Secuenciacin o Flow Shop Scheduling (FSS), Coloreado de Grafos,


Aprendizaje Automtico o Machine Learning, principalmente en el diseo de algoritmos de
aprendizaje para estructuras de representacin del conocimiento: reglas clsicas, reglas difusas,
reglas bayesianas y Diseo de Circuitos Lgicos Combinatorios.
Los Algoritmos de Optimizacin por Enjambre de Partculas se han aplicado en Machine
Learning, en el entrenamiento de redes neuronales, en la construccin de reglas de lgica difusa,
para resolver problemas en sistemas dinmicos, en investigacin de operaciones para resolver
problemas de planificacin, en teora de juegos, en bioinformtica y medicina para resolver
problemas de calibracin de equipos y placaje de magnetoencelografas, y en problemas de
optimizacin multiobjetivo y por restricciones.
Entre las aplicaciones de los Autmatas Celulares podemos encontrar:
Simulacin de sistemas naturales. Dentro de este contexto se busca simular sistemas en donde
el comportamiento de los mismos se rija por la interaccin local de sus componentes, de este
modo se han podido modelar el crecimiento de cristales, incendios forestales, modelos de
reacciones qumicas como la reaccin de Belousov-Zhabotinsky, mecnica de fluidos, patrones
de pigmentacin de piel, crecimiento de conchas marinas y corales, comportamiento de colonias
de microorganismos entre otros
En este campo se utilizan a los AC para estudiar reas como complejidad, sistemas caticos,
termodinmica, entropa, computacin en paralelo, computacin universal, teora de lenguajes
computacionales o estudio de patrones fractales.

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

Hongo: Caandida Albicans

Parsito: Esquistosoma
E
a

1 Ejemplo dee agentes pattgenos


Figura 4.1
155

La principal actividad que desarrolla el sistema inmunolgico es la de eliminar los antgenos


que son causantes de enfermedades. Para ello el sistema inmunolgico libera en el cuerpo un
grupo de clulas especiales que se encargan de reconocer y atacar a los antgenos, estas son las
clulas conocidas como anticuerpos. En situaciones normales, nuestro sistema inmunolgico
diferencia entre lo que es propio, es decir, las clulas de nuestro cuerpo, de lo que no lo es.
Sin embargo, existen enfermedades llamadas autoinmunes en las que el sistema inmunolgico es
incapaz de reconocer las clulas propias de nuestro organismo y lanza un ataque contra nuestro
propio cuerpo. Algunos tipos de artritis y diabetes son enfermedades autoinmunes.
Los anticuerpos que libera el sistema inmunolgico ante la presencia de antgenos determinan
diferentes formas de respuestas inmunes, algunas tan especficas que los anticuerpos se han
especializado en reconocer un tipo de bacteria de otra por medio de la experiencia. Esta forma
de inmunidad especfica se denomina inmunidad adquirida puesto que es activada nicamente
ante la primera exposicin de un patgeno en particular. Por otra parte, existen tambin
respuestas naturales que fueron adquiridas antes del nacimiento, estas son conocidas como
inmunidad innata.
Los mecanismos de inmunidad innata se dividen en dos categoras. La primera de ellas est
compuesta por las barreras de defensa pasiva, que conforman una capa externa de proteccin
para nuestro cuerpo, impidiendo que agentes dainos entren fcilmente al interior del mismo.
La piel es una de las barreras de defensa pasiva ms importantes de nuestro cuerpo (y el
rgano ms extenso del mismo), as como las mucosas presentes en todas las cavidades como el
tracto digestivo, el tracto respiratorio, etc. La segunda categora de mecanismos de inmunidad
innata son las respuestas activas que atacan de manera agresiva a cualquier agente extrao que
entre en nuestro cuerpo1.
De esta manera, el mecanismo de inmunidad innata puede visualizarse como un conjunto de
barreras que impiden la entrada de intrusos al organismo. En la primera lnea de esta barrera
inmunolgica se encuentra entonces la piel, las membranas mucosas de algunos tejidos y ciertos
qumicos corporales. En la segunda lnea de proteccin encontramos clulas inmunolgicas
complementarias, inflamacin y fiebre. Y finalmente, como ltima barrera tenemos las clulas
inmunolgicas especializadas como linfocitos y anticuerpos, tal como podemos apreciarlo en la
figura 4.2

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

sistema inmunolgico funciona de forma coordinada para controlar el cuerpo en busca de


grmenes o sustancias que puedan ocasionar problemas.
Existen dos tipos bsicos de leucocitos, que son:
Fagocitos: Clulas encargadas de destruir a los organismos invasores.
Linfocitos: Clulas que permiten detectar y recordar invasores anteriores para contribuir a
su destruccin.
Los fagocitos incluyen varias clulas diferentes. El tipo ms comn son los neutrfilos, que
principalmente atacan a las bacterias. Es comn que los mdicos recurran a un anlisis de
sangre para determinar si el porcentaje normal de neutrfilos ha aumentado, lo que indicara
que el paciente tiene una infeccin. Los otros tipos de fagocitos tienen funciones especficas para
garantizar que el cuerpo reaccione adecuadamente a un determinado tipo de invasor.

4.2.2.1 Linfocitos y su papel clave en el sistema inmunolgico


Todas las clulas sanguneas e inmunolgicas, como en el caso de los linfocitos, se producen en
la mdula osea, que es un tejido blando y graso presente en las cavidades de los huesos. Cierta
parte de las clulas inmunolgicas que se producen sern fagocitos mientras que otra parte se
transformarn en linfocitos. Una vez los linfocitos inician su formacin, algunos continuarn su
proceso de maduracin y se volvern linfocitos B (llamados as porque maduran en la mdula
osea Bone Marrow), otros terminarn su proceso de maduracin en el timo y se convertirn
en linfocitos T (llamados as porque maduran en el timo). Una vez hayan alcanzado su
madurez algunos linfocitos habitarn en los rganos linfticos, mientras que otros viajarn
continuamente alrededor del cuerpo por medio de los vasos linfticos y el torrente sanguneo.
Los linfocitos B funcionan como el sistema militar del cuerpo, ya que localizan el objetivo y
envan defensas para atraparlo, mientras que los linfocitos T se asemejan a los soldados, puesto
que destruyen a los invasores que el sistema de inteligencia identifica.
Cuando los linfocitos B se estimulan con un antgeno, responden madurando en otros tipos de
clulas llamadas clulas plasmticas. Este tipo de clulas producen anticuerpos, que encuentran
su camino hacia el fluido sanguneo y secreciones corporales. Estos anticuerpos son molculas
de protenas altamente especializadas con diseos especficos que reconocen cada tipo de
antgeno. Estos diseos se asemejan a llaves con formas diversas que encajan en ciertos canales
que poseen los antgenos. Ms adelante se explicar con ms detalle este fenmeno. La variedad
158

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

Figura 4..3 Algunos tiipos de linfoccitos T


Los
L
linfocito
os T tambin varan segn
s
su fu
uncin, de eesta forma existen linfoocitos T
destructores
d
ocitos T de ayuda (Heelper) y linffocitos T su
upresores
(llamados Killer), linfo
ma inmunolggico3. En la ffigura 4.3
(Suppresor), cada uno deesempea un rol diferentee en el sistem
se
s puede obseervar un linfo
focito T inma
aduro, un linffocito T desttructor y un llinfocito T de ayuda.
Los
L
linfocito
os T destructores son
n los linfociitos que see encargan de eliminaar a los
microorganis
m
ambin respoonden a tejid
dos extraos para el cuerp
po, como
mos invasorees, aunque ta
por
p ejemplo un hgado reecin traspla
antado. Los llinfocitos T d
destructores migran hacia el sitio
de
d la infecciin o al tejido recin trasplantado y cuando lllegan se fijaan a su blan
nco y lo
destruyen.
d
Los linfocitos T de ayuda,, coadyuvan a los linfociitos T destru
uctores a ataacar a los
agentes
a
extra
aos, ademss de hacer que
q la funcin
n de los linfoocitos B sea mucho ms efectiva,
provocando
p
una
u mejor y ms rpida produccin
p
d
de anticuerpoos. Por otra p
parte, los lin
nfocitos T
supresores,
s
mitigan
m
la accin de los liinfocitos T d
de ayuda, estta medida es bastante im
mportante
puesto
p
que sin esta sup
presin el siistema inmu
unolgico segguira trabajjando despus de la
infeccin.
i

STEWART, Gregory John


n. The Human
n Body: How itt works, The immune system
m. Infobase pu
ublishing.
New
N York, 200
09

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

Figura 4.4 Principiio de afinidad


d entre patggenos y linfoccitos
Debido
D
a qu
ue la tarea de reconociimiento es u
una tarea bastante com
mplicada por la gran
diversidad
d
de
d eptopos que
q
presenta
an los patgeenos, el sisteema inmunoolgico debe estar en
capacidad
c
dee crear o modificar
m
los receptores de los linfoccitos, o inclu
uso de crearr nuevos
linfocitos
l
quee garanticen mayor afinid
dad con los paatgenos.

161

Los receptores de los linfocitos se construyen combinando de manera aleatoria segmentos de


genes o libreras de genes, dando como resultado un nmero exponencial de posibles
combinaciones y

por consiguiente una enorme diversidad de estructuras receptoras en los

linfocitos. Este mtodo aleatorio de creacin de estructuras receptoras permite al sistema


inmunolgico crear alrededor de 1015 diferentes tipos de receptores, esto se debe a que el cuerpo
humano nicamente fabrica alrededor de 1016 protenas diferentes4. Si la diversidad de
receptores presentes es mucho menor que la diversidad de eptopos en los patgenos, el sistema
inmunolgico debe garantizar mayor diversidad por medio de dos mecanismos:
Afinidad extendida: Un nico receptor de un linfocito podra reconocer ms de un tipo de
eptopo en un patgeno.
Dinamismo: Los linfocitos tienen un tiempo de vida corto (de 2 a 3 das), esto garantiza que
se reemplazan constantemente por linfocitos nuevos con nuevas estructuras en sus receptores
(aproximadamente 100 millones de linfocitos son creados cada da).

4.2.3.2 Evolucin de la afinidad linfocito-patgeno (Aprendizaje)


Hasta ahora sabemos que para cubrir el espacio de todos los posibles patrones o estructuras de
los patgenos se requiere de una gran cantidad de diversidad en los receptores de los linfocitos.
Sin embargo, esta diversidad no siempre est garantizada y adems los linfocitos tardan
demasiado en detectar patrones especficos de eptopos. Para contrarrestar este problema el
sistema inmunolgico incorpora un mecanismo de aprendizaje de estructuras de protenas
desconocidas, concretamente el sistema inmunolgico evoluciona y reproduce linfocitos que
tienen un grado de afinidad alto con patgenos especficos.
Gracias a un proceso de evolucin de la afinidad, que es esencialmente un proceso darwiniano
de variacin y seleccin, el sistema inmunolgico puede atacar cualquier patgeno presente en
el organismo cuya estructura proteica sea desconocida. La evolucin de la afinidad permite que
un conjunto de linfocitos B evolucione. Este proceso inicia cuando un linfocito B es activado
(su umbral de afinidad es superado) por los enlaces establecidos con un patgeno, entonces el
linfocito segrega los elementos llamados anticuerpos que atrapan al patgeno e intenta
inhabilitarlo. Despus de esto, los linfocitos B se clonan a s mismos, pero el proceso no es
perfecto ya que est sujeto a altas tasas de mutacin, por lo que el linfocito resultante es algo

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

4.3 De la inmunologa natural a la inmunologa artificial


4.3.1 Teoras de la inmunologa biolgica y artificial
La inmunologa artificial pretende usar los principios de reconocimiento, aprendizaje y memoria
usados por el sistema inmunolgico humano con el fin de aplicarlos para resolver problemas de
ingeniera y ciencia en general. Uno de los mayores problemas para aplicar la metodologa
radica en el escaso conocimiento que se posee sobre el funcionamiento detallado del mecanismo
de memoria que utiliza el organismo para efectuar una respuesta inmunolgica secundaria. A
lo largo de la historia se han propuesto varias teoras que intentan explicar este y los dems
mecanismos de los que hace uso el sistema inmunolgico natural. Entre las principales teoras
podemos encontrar:

4.3.1.1 Teora de la red inmunolgica


Esta teora fue propuesta a mediados de los setentas (1974). La hiptesis fue que el sistema
inmunolgico mantiene una red de linfocitos B interconectados (conocida como red idiotpica)
especializados en el reconocimiento de un antgeno en particular. Estos linfocitos se estimulan e
inhiben unos con otros de cierta manera que estabilizan la red. Dos linfocitos B permanecern
conectados si el grado de afinidad que cada uno posee para el reconocimiento del antgeno
sobrepasa cierto umbral, y la fuerza de la conexin es directamente proporcional a la afinidad
que comparten.
En los modelos de Redes Inmunolgicas Artificiales (AIN Artificial Immune Systems), una
poblacin de linfocitos B se compone de dos subpoblaciones: la poblacin inicial y la poblacin
clonada. El conjunto inicial es generado a partir de un subconjunto novato de datos entrenados
para crear la red de linfocitos B, el resto son usados como elementos de entrenamiento para
antgenos. Los antgenos entonces son seleccionados aleatoriamente del conjunto de
entrenamiento, y son presentados a ciertas reas de la red de linfocitos B. Si el reconocimiento
es exitoso, entonces los linfocitos se clonan y sufren mutacin. La mutacin introduce
diversidad en el conjunto de anticuerpos que pueden ser usados en el proceso de clasificacin.
Una vez que se crea un nuevo linfocito B se intenta agregar a la red en el lugar que ocupan los
linfocitos B ms cercanos a l. Si el nuevo linfocito no puede integrarse, es removido de la
poblacin. Si el reconocimiento no es exitoso entonces se genera un linfocito B usando como
plantilla el antgeno y luego el linfocito es incorporado a la red.
164

4.3.1.2 El principio de la seleccin clonal


El principio de la seleccin clonal describe las caractersticas bsicas de la respuesta inmune
ante un estmulo generado por un antgeno. Este principio establece la idea de que nicamente
son proliferados aquellos linfocitos que reconocen a los antgenos, y no se presenta un proceso
de competencia y seleccin entre linfocitos que reconocen antgenos y los que no. Las
principales caractersticas de la teora de la seleccin clonal son:
Los nuevos linfocitos son copias de sus padres (clones) y estn sujetos a un mecanismo de
mutacin a tasas muy altas (hipermutacin somtica).
La eliminacin de los linfocitos recin diferenciados que llevan receptores que reaccionan
espontneamente.
La proliferacin y diferenciacin en contacto entre los linfocitos maduros y los antgenos.
En sistemas inmunolgicos artificiales existe un algoritmo denominado CLONALG que est
basado en el principio de seleccin clonal y maduracin de la afinidad. Este algoritmo es muy
similar a los algoritmos genticos, pero posee algunas caractersticas nuevas y bastante
interesantes como: 1) El tamao de la poblacin se puede ajustar dinmicamente, 2) La
explotacin y exploracin del espacio de bsqueda se hace de manera distribuida y 3) Es
posible encontrar mltiples valores ptimos.

4.3.1.3 Seleccin negativa


El propsito de este mecanismo de seleccin es proveer tolerancia ante las clulas propias del
organismo. Esto tiene que ver con la capacidad que posee el sistema inmunolgico natural de
detectar antgenos desconocidos sin reaccionar o comprometer a las clulas normales del cuerpo.
Durante la generacin de los linfocitos T, los receptores de los linfocitos se crean mediante un
proceso aleatorio, como lo vimos en apartados anteriores. Despus, se inicia un proceso
sensorial en el timo conocido como seleccin negativa durante el cual los linfocitos que
reaccionan contra las protenas propias del cuerpo son destruidos, de esta manera slo aquellos
que no reaccionan ante protenas propias pueden abandonar el timo despus de la maduracin.
Estos linfocitos maduros comienzan entonces a circular a travs del cuerpo para desempear
funciones inmunolgicas y proteger al cuerpo de los antgenos.

165

4.3.2 Fundamentos generales de los sistemas inmunolgicos artificiales


Uno de los elementos ms importantes de los algoritmos basados en sistemas inmunolgicos
artificiales es el principio de seleccin clonal. El principio de seleccin clonal es usado para
explicar las caractersticas bsicas de una respuesta inmune adaptativa ante un estmulo
antignico. Las clulas seleccionadas son sujetas a un proceso de maduracin de afinidad, que
mejora su afinidad con los antgenos en cuestin. En captulos posteriores se profundizar ms
sobre uno de los algoritmos inspirados en el principio de seleccin clonal mayormente utilizado
(CLONAG). Por ahora, es importante establecer las bases y definir los conceptos
fundamentales de los sistemas inmunolgicos artificiales en general.
Diversos autores han propuesto definiciones de lo que se entiende por un sistema inmunolgico
artificial, entre las que encontramos:
Los sistemas inmunolgicos artificiales son metodologas para la manipulacin de datos,
clasificacin, representacin y razonamiento, los cuales siguen el paradigma biolgico del
sistema inmunolgico humano5
Los sistemas inmunolgicos artificiales son sistemas adaptativos, inspirados en la teora,
modelos y principios inmunolgicos y las funciones inmunes observadas, que se aplican a la
solucin de problemas6
Una de las caractersticas envidiables del sistema inmunolgico natural, y que intenta
implementarse en los sistemas inmunolgicos artificiales, es el comportamiento dinmico que lo
caracteriza, siendo capaz de ajustarse a lo que se presente. El sistema inmunolgico emplea un
sistema de seguridad por multiniveles para defenderse de los invasores, a travs de mecanismos
especficos, que son adquiridos gracias al sistema inmunolgico adaptativo, y no especficos,
regulados por el sistema inmunolgico innato. El rol principal del sistema inmunolgico es
reconocer todas las molculas o clulas dentro del cuerpo y caracterizarlas en propias e
impropias, as se puede estimular un tipo apropiado de mecanismo de defensa ante las clulas
categorizadas como impropias. Para hacer esto los linfocitos, encargados de la defensa y ataque
ante los antgenos, poseen caractersticas como: diversidad, adaptabilidad y memoria.

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

Proteccin dinmica: La expansin clonal y la expansin somtica permiten la generacin de


clulas inmunes de alta afinidad (maduracin de afinidad). Este proceso realiza un equilibrio
dinmico entre la exploracin y la explotacin en la inmunidad adaptativa. La proteccin
dinmica incrementa el alcance que provee el sistema inmune a travs del tiempo.
Deteccin probabilstica: La reaccin cruzada en la respuesta del sistema inmunolgico
corresponde a un proceso estocstico. La deteccin, adems, es aproximada. Por lo que un
linfocito puede emparejarse con muchos tipos de antgenos estructuralmente relacionados.
Con todas estas caractersticas descritas es entonces posible disear un algoritmo que las
introduzca. As mismo, la simulacin computacional de un sistema inmunolgico natural podr
aplicarse a la solucin de problemas del mundo real.
Varios autores han propuesto un esquema universal para sistemas computacionales con
inspiracin biolgica que se puede aplicar a los SIA: Una representacin de los componentes del
sistema; un conjunto de mecanismos para evaluar las interacciones de los individuos con el
ambiente y entre ellos; y, por ltimo, un proceso de adaptacin que gobierne las dinmicas del
sistema, es decir, el algoritmo en s7.
En la grfica que aparece a continuacin se presenta la aplicacin de este esquema a los SIA:

Solucin

Algoritmos Inmunolgicos

SIA

Grado de Afinidad

Representacin

Dominio de la aplicacin

Figura 4.5 Esquema general de un SIA

Nunes de Castro, Leandro & Timmis, Jonathan. An Introduction to Artificial Immune Systems: A New
Computational Intelligence Paradigm. s.l. : Springer-Verlag. 2002

168

4.4 Algoritmos basados en Sistemas Inmunolgicos Artificiales


4.4.1 Algoritmo de seleccin clonal (CLONALG)
4.4.1.1 Aspectos bsicos del algoritmo
En la seccin 4.3.1.2 describimos el principio de seleccin clonal natural, y es precisamente esta
idea la base del algoritmo de seleccin clonal que abordaremos. Este algoritmo fue propuesto
inicialmente para aplicaciones en reconocimiento de patrones y optimizacin. Sin embargo en
esta seccin abordaremos con ms detalle la versin de optimizacin por ser la de uso ms
extendido.
Las principales caractersticas del sistema inmunolgico natural de las que hace uso este
algoritmo son ente otras, el mantenimiento de un conjunto especfico de memoria, la clonacin
y seleccin de los elementos con mayor desempeo, la eliminacin de los anticuerpos no
estimulados, la maduracin de la afinidad y re-seleccin de genes proporcional a la misma, y la
generacin y mantenimiento de la diversidad.

4.4.1.2 Descripcin del algoritmo


En la implementacin del algoritmo CLONAG se asume un repertorio de anticuerpos (Ab) que
pueden ser estimulados por un antgeno (o el valor de una funcin objetivo g(.) a ser
optimizada) y los anticuerpos con una afinidad alta pueden ser seleccionados para generar
poblaciones de clones. Durante el proceso de clonacin, algunos anticuerpos pueden sufrir
mutaciones somticas proporcionales a su afinidad antignica y los clones de afinidad alta sern
seleccionados para formar el conjunto de memoria. Los anticuerpos de baja afinidad son
reemplazados, simulando el proceso de edicin del receptor8.
La aplicacin del principio de seleccin clonal a optimizacin se muestra en el pseudocdigo de
la figura 4.6 y el diagrama de flujo del mismo en la figura 4.7.

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

Entradas: Ab, gen, n, d, L


Salidas: Ab, f
Para t = 1 hasta t < gen hacer:

(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)

/ / generar d anticuerpos de longitud L

(7) Ab = reemplazamiento(Ab, Abd , f )


Fin para

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

6. Del conjunto de clones madurados, seleccionamos el anticuerpo que tenga la afinidad ms


alta con respecto al antgeno y ste es candidato a ser ahora el antgeno, siempre y cuando
sea mejor que el actual.
7. Finalmente se reemplazan los d peores individuos de la poblacin de anticuerpos con los
mejores que se generan despus del proceso de clonacin y mutacin.
Despus que se realizan los 7 pasos del algoritmo, podemos decir que se ha completado una
generacin. As que el proceso se repite hasta el nmero de generaciones totales definidas (gen).

4.4.2 Algoritmo de seleccin negativa


El ejemplo bsico de un sistema inmunolgico artificial es aqul empleado en un sistema
computacional como discriminador de elementos ajenos y dainos a l, es decir, deteccin de
virus computacionales9. Un sistema discriminador de elementos propios e impropios involucra la
creacin de un perfil de archivos de secuencia que realizan llamadas al sistema en una red
computacional durante un periodo normal de funcionamiento. Para detectar un posible intruso
cualquier secuencia subsecuente debe encajar en el perfil normal, y cualquier desviacin puede
ser reportada como un posible archivo malicioso.
Uno de los desarrollos ms importantes en la implementacin de este algoritmo como sistema
discriminador fue el implementado el sistema conocido como Lysis, el cual consiste de tres
fases. La primera fase fue usada para la definicin del sistema en s, por ejemplos, el perfil
normal es generado a partir de unos datos de entrada que definen el comportamiento normal
del sistema. La segunda fase involucra la generacin de un conjunto aleatorio que contiene una
representacin apropiada para hacer coincidir todos los patrones propios contenidos en el
propio perfil. La fase final implementa la deteccin de anomalas en datos que no han sido
previamente analizados, comparando cada detector con todos los patrones propios contenidos
en el perfil. Si alguno de los detectores generados aleatoriamente coincide con el patrn propio,
el detector es considerado como inapropiado y es removido del conjunto de detectores. Sin
embargo, si el detector no coincide con alguno de los elementos, es almacenado y pasa a ser
parte del conjunto usado para la deteccin de anomalas. En la figura 4.7 se puede observar un
esquema de funcionamiento de este algoritmo.

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.

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 (
)

Figurra 4.7 Esqueema del algorritmo de sele ccin negativ


va

172

4.4.3 Redes inmunolgicas artificiales (redes idiotpicas)


La teora de las redes inmunolgicas se basa en el principio de que los anticuerpos pueden
enlazarse con otros anticuerpos as como lo hacen con los antgenos. Esta activacin puede
continuar a travs de la poblacin y potencialmente tiene mucho poder de expansin. Esto
podra explicar, por ejemplo, como se mantiene la memoria de infecciones pasadas.
Los eptopos que encajan a un determinado anticuerpo son llamados iditopos, y el grupo de
anticuerpos que comparten el mismo iditopo se les conoce como idiotipo. Cuando el idiotipo de
un anticuerpo es reconocido por el receptor de otro, el primero es suprimido y se reduce su
concentracin. Sin embargo, cuando un receptor de un anticuerpo reconoce el idiotipo de otro,
o el eptopo de un antgeno, ste es estimulado y su concentracin aumenta.
La teora de la red idiotpica ve al sistema inmunolgico como una compleja red de receptores
de anticuerpos que reconocen iditopos e iditopos que reconocen receptores. Esto implica que
un linfocito B no sea un elemento netamente independiente, si no que se comunique con otros
linfocitos por medio de interacciones dinmicas en la red. La red continuamente se adapta a s
misma, manteniendo un estado estable que refleja el estado global que resulta de la interaccin
con el ambiente. Esto contrasta con la teora de la seleccin clonal, que sustenta la creencia de
que un linfocito B puede convertirse en una clula de memoria por medio de la interaccin con
los antgenos nicamente.
A partir del modelo terico se han propuesto muchas implementaciones computacionales. Entre
estas implementaciones sobresalen aiNet usada para clustering y optimizacin, y RAIN, usada
principalmente para solucin de problemas de clustering y reconocimiento de patrones10.
Una red idiotpica puede ser considerada como un modelo coevolutivo: posee una dinmica
evolutiva, donde el desempeo de cada clula depender de la ubicacin en el espacio de las
formas de las clulas ms cercanas. Este modelo coevolutivo posee un componente cooperativo,
pues el modelo busca obtener un conjunto de clulas que colaboren entre s para cubrir todo el
espacio. Adems, tambin posee un componente competitivo, dado que las clulas cercanas
compiten por el reconocimiento de antgenos similares.

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

Donde q es el nmero de posibles alineaciones. En el modelo del granjero, la ecuacin


diferencial que se muestra describe como la concentracin continua de anticuerpos cambia
dependiendo de la concentracin de antgenos, estimulacin y supresin:
N
N
n

= 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

Donde N es el nmero de anticuerpos y n es el nmero de antgenos. Las correspondencias


especficas estn dadas por m, con el primer valor refirindose al eptopo y el segundo al
receptor.

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

computacional, control adaptativo y deteccin de fallas. Entre las aplicaciones ms importantes


detallamos:
Seguridad computacional:
El papel que desempea el sistema inmunolgico puede ser considerado como anlogo al
proceso que realiza un sistema de seguridad computacional. Los mtodos de deteccin de
intrusos construyen una base de datos que cataloga el comportamiento normal durante el
tiempo en trminos de las llamadas a sistema realizadas. Despus de esto, la base de datos
puede ser monitoreada por un llamado a sistema que no se encuentre en el comportamiento
normal de la base de datos. Esta solucin tiene la ventaja de ser completamente independiente
de la plataforma.
Un mtodo alternativo consiste en utilizar deteccin de intrusos basado en redes idiotpicas. De
esta forma estaramos hablando de proteccin de redes de computadores y no de un nico
computador. Esto es similar a los servicios de monitoreo de redes que ofrecen algunos
programas y que analizan el comportamiento de la red en trminos de trfico, comportamiento
de los usuarios, conexiones denegadas y archivos dainos.

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. COMPROBACIN DE LA HIPTESIS Y ANLISIS DE


RESULTADOS

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.

5.4 Variables medidas


-

Nivel de inters por la temtica


Grado de conocimiento sobre la temtica

A continuacin se relacionan las variables de medicin, su definicin operacional, categoras


indicadores e tems:

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.

Tabla 5.1 Detalle de variables de medicin

178

5.5 Metodologa aplicada


Para realizar la comprobacin de la hiptesis planteada se dispuso de un grupo de estudiantes,
ltlamado grupo de prueba, a los cuales se les puso a disposicin los captulos 1 y 2 del presente
trabajo investigativo, previa revisin y aprobacin por parte del director de proyecto. Se
dispuso adems de otro grupo de estudiantes a los cuales no se les present la posibilidad de
acceder a los documentos, este grupo es llamado grupo de control.
Para medir la variable Grado de conocimiento sobre la temtica se aplic una evaluacin de
conceptos generales, diseada por el docente gua del grupo de prueba. Para medir la variable
Nivel de inters por la temtica se aplic una encuesta (ver Anexo)

en la que se valor

cuantitativamente el documento tanto en contenido como en forma, y se calific de igual


manera el grado de aporte de nuevos conocimientos y de inters de los estudiantes. Tanto al
grupo de prueba como al grupo de control se les pidi la realizacin de la evaluacin de
conceptos generales. Sin embargo, nicamente al grupo de prueba se les haba facilitado el
acceso a los documentos y solicitado su lectura, as como el diligenciamiento de la encuesta de
valoracin de los mismos.
La evaluacin del grupo de prueba se realiz incluyendo 2 preguntas en el examen parcial
realizado por el docente gua, en las que se deba realizar un resumen de los conceptos que se
exponen en los documentos. Igualmente, la evaluacin del grupo de control solicitaba un
resumen de los conceptos de la temtica con el fin de validar el conocimiento que ya se deba
poseer, con la salvedad de que estas preguntas no correspondan a un examen parcial.

5.6 Mediciones obtenidas


Posterior a la aplicacin de la evaluacin, que ocurri en primera instancia, se obtuvo el
consolidado del desempeo del grupo de prueba y el grupo de control, como se muestra de
manera agrupada en la tabla 5.2.
En la figura 5.1 se puede observar fcilmente el desempeo general de cada grupo en trminos
de rango de nota y porcentaje de estudiantes. El eje horizontal representa la clase, que en este
caso corresponde a un rango de notas y el eje vertical representa el porcentaje de estudiantes
que obtuvieron una nota que se encuentra en el rango establecido; para un total de 16
estudiantes que integran el grupo de prueba y 14 estudiantes que integran el grupo de control.

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%

Promediio Grupo de Prueba = 3,99

Tabla 5.2 Desempeo


D
obtenido
o
por cada grupo een evaluacin
n de conceptoos (datos agrrupados)

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

4: Alto 5: Muy Alto

Tabla 5.3 Resultados de la aplicacin de la encuesta de valoracin

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

computacionalmente. Adems, la posibilidad de interconectar y relacionar cada uno de los


nodos de mltiples maneras, de cambiar los parmetros de los mismos y de emplear
diferentes modelos en una sola red, hacen que estas se adapten fcilmente para resolver
eficientemente

cualquier

problema.

Especialmente

problemas

relacionados

con

el

reconocimiento de patrones y el tratamiento, la caracterizacin y la codificacin de la


informacin.
La Inteligencia Colectiva constituye un paradigma social y colaborativo de pequeos
agentes. La filosofa del trabajo cooperativo y del divide y vencers es una buena
alternativa para resolver problemas de optimizacin y simulacin de sistemas con mltiples
variables.
Los Sistemas Inmunolgicos Artificiales son 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 computacional, control adaptativo y deteccin de fallas.

184

Comparando los resultados obtenidos en el grupo de prueba y el grupo de control podemos


notar que los estudiantes que integran el grupo de prueba obtuvieron un desempeo mucho
mayor en la evaluacin de conceptos que los estudiantes del grupo de control. El aumento
del desempeo, comparando los promedios en cada grupo, fue de alrededor del 20%.

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.

El documento resultante de este trabajo facilita la realizacin de nuevas investigaciones


sobre el tema, ya que estudiantes e investigadores pueden hacer uso del mismo como
referencia. As mismo, los docentes del programa de Ingeniera de Sistemas y Computacin y
de otros programas que contengan cursos sobre inteligencia artificial, podran hacer uso del
documento como una fuente de informacin base para orientar la materia.

Es recomendable promover la investigacin interdisciplinar entre mdicos, bilogos,


matemticos y cientficos de la computacin y de esta forma aumentar los avances que se
pueden hacer en esta rea, para profundizar los conocimientos y lograr explotar el potencial
de estos mtodos.

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

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.
S.N. Sivanandam, S.N. Deepa. Introduction to genetic algorithms. Springer-Verlag, Berlin 2008.
H. SANES Dan, A. REH Thomas & A. HARRIS William. Development of the nervous system.
Academic Press, USA, 2011
OLEKSY Walter. The nervous system. The Rosen Publishing Group, New York, 2001
CAICEDO BRAVO Eduardo Francisco. Una aproximacin prctica a las redes neuronales
artificiales. Programa Editorial Universidad del Valle, Cali 2009
M. Minsky, S. Papert. Perceptrons: An Introduction to Computational Geometry, MIT Pres
1969.
FLREZ LPEZ Raquel, FERNNDEZ Jos Miguel. Las redes neuronales artificiales:
Fundamentos tericos y aplicaciones prcticas. Netbiblo, S. L. Espaa 2008.
ROJAS, R. Neural Networks. Springer-Verlag, Berln 1996.
HILERA GONZALZ Jos Ramn, MARTNEZ HERNANDO Jos. Redes neuronales
artificiales: fundamentos, modelos y aplicaciones. Alfaomega editores, 2000.
MARTN DEL RIO Bonifacio, SANZ MOLINA Alfredo. Redes neuronales y sistemas borrosos,
3 edicin revisada y ampliada. Alfaomega editores, Mxico 2009.
KETAN P. Bijaya, SHI Yuhui and MENG-HIOT Lim. Handbook of Swarm Intelligence:
Concepts, Principles and Aplications. Adaptation, Learning and Optimization Vol. 8, Springer,
Alemania 2011.
GORDON Deborah M. Ants at Work: How An Insect Society Is Organized. Facultad de
biologa, Universidad de Stanford. 2000.
SLEIGH Charlotte. Ant Animals and Civilizations, Reaktion Books LTD, Londres, 2003.
A. Colorni, M. Dorigo and V. Maniezzo, Distributed optimization by ant colonies, Proceedings
of ECAL'91, European Conference on Artificial Life, Elsevier Publishing, msterdam, Paises
Bajos 1991
M. Dorigo, V. Maniezzo and A. Colorni, The ant system: an autocatalytic optimizing process,
Technical Report TR91-016, Politcnico de Miln, Italia 1991
187

GHALEB Saad, AL-SLAMY Nada. Ant Colony Optimization. Department of Management


Information Systems. College of Economics & Business. Al-Zaytoonah University or Jordan.
Amman, Jordania 2008.
C. EBERHART Russell, SHI Yuhui, KENNEDY James. Swarm Intelligence. Academic Press.
United States of America 2001.
J. Kennedy, R. Eberhart and Y. Shi. Swarm Intelligence. San Francisco: Morgan Kaufmann
Publishers 2001.
K. Parsopoulos, E. Papageorgiou, P. Groumpos and M. Vrahatis. A First Study of Fuzzy
Cognitive Maps Learning Using Particle Swarm Optimization. In Proceedings of the IEEE
Congress on Evolutionary Computation 2003, pages 14401447, Canbella, Australia, 2003
J. D. Demogeot, E. Goles, M. Tchuente. Dinamical system and celular autmata. Academic
Press, 1985.
T. Toffoli y N. Margolus. Cellular Automata Machines: A New Environment for Modelling.
The M.I.T. Press, Cambridge, MA, 1998.
KLOSTERMAN Lorrie. The Amazing Human Body: Immune System. Karen Ang Editor.
Tarrytown, New York, 2009
WOODS Lydia. Understanding the immune system. U.S Department Of Health and Human
Services. Public Health Service, National Institutes of Health.
STEWART Gregory John. The Human Body: How it works, The immune system. Infobase
publishing. New York, 2009
M. Hongwei. Handbook of Research on Artificial Immune Systems and Natural Computing:
Applying Complex technologies. Harbin Engineering University, China 2009
TIMMIS Jonathan 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.
N. CASTRO Leandro and TIMMIS Jonathan. Artificial Immnue System: A New
Computational Intelligence Approach. Springer Verlang, Reino Unido, Septiembre 2002.

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

Universidad Tecnolgica de Pereira


Ingeniera de Sistemas y Computacin
Diciembre 15 de 2011
Responsable: Alejandro Crdenas Cardona
ENCUESTA DE EVALUACIN DEL DOCUMENTO: ALGORITMOS EVOLUTIVOS
La siguiente encuesta hace parte del desarrollo del proyecto: Inteligencia artificial, mtodos bioinspirados: un enfoque
funcional para las ciencias de la computacin; con ella se espera evaluar el grado de inters que los estudiantes de Ingeniera
de Sistemas poseen en temticas relacionadas con la inteligencia artificial. La encuesta corresponde al primer captulo titulado:
Algoritmos Evolutivos.
Estimado(a) estudiante, su opinin sobre el documento que ha ledo es muy importante. A continuacin se le presentan dos
preguntas para las cuales slo debe responder SI o NO, marcando con una equis (X) la opcin. Posteriormente, se le presentan
algunos tems para los cuales debe marcar con una equis (X) el puntaje que usted considere adecuado, siendo 1 la puntuacin
ms baja y 5 la puntuacin ms alta. Duracin mxima de la encuesta: 10 minutos.
Muchas gracias por su tiempo!
Es la primera vez que cursa la materia Sistemas Expertos?

SI

NO

Es la primera vez que se le ensea sobre Algoritmos Evolutivos?

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.?

Escriba en este espacio las observaciones, comentarios o sugerencias sobre el documento:

191

You might also like