___________________________________________________
JUAN JESÚS ROMERO
CARLOS DAFONTE
ÁNGEL GÓMEZ
FERNANDO JORGE PENOUSAL
(EDS.)
INTELIGENCIA ARTIFICIAL Y
COMPUTACIÓN AVANZADA
__________________________________
Fundación Alfredo Brañas
Santiago de Compostela
CONSEJO EDITORIAL
de la
FUNDACIÓN ALFREDO BRAÑAS
Marcelino
Carlos
José Gabriel
Domingo
Mª Xosé
Xosé
Adolfo
Antonio
Xerardo
Manuel
Xesús
Santiago
Raúl
Xosé L.
Manuela
Carlos X.
Milagros
Xesús
Carlos
Xaime
Xesús
Andrés
Pedro
Francisco
Xosé A.
Mariano
Mª Teresa
Xosé
Dositeo
Xosé M.
Mª Xesús
Máximo X.
Manuel
AGIS VILLAVERDE
BALIÑAS FERNÁNDEZ
BARREIRO PÉREZ
BELLO JANEIRO
CIMADEVILA CEA
CUÍÑA CRESPO
DE ABEL VILELA
ERIAS REY
FERNÁNDEZ ALBOR
FRAGA IRIBARNE
GARRIDO SUÁREZ
GONZÁLEZ-BRAÑAS BARREIRO
GRIEN DOCAMPO
IRAVEDRA LESTAL
LÓPEZ BESTEIRO
OTERO DÍAZ
OTERO PARGA
PALMOU LORENZO
PARDO MENÉNDEZ
PITA VARELA
PRECEDO LAFUENTE (Secretario)
PRECEDO LEDO
PUY FRAGA
PUY MUÑOZ (Presidente)
QUIROGA Y PIÑEYRO
RAJOY BREY
REY BARREIRO-MEIRO
RIVAS FONTÁN
RODRÍGUEZ RODRÍGUEZ
ROMAY BECCARÍA
SÁINZ GARCÍA
SANZ VALDÉS
VARELA REY
JUAN JESÚS ROMERO
CARLOS DAFONTE
ÁNGEL GÓMEZ
FERNANDO JORGE PENOUSAL
(EDS.)
INTELIGENCIA ARTIFICIAL Y
COMPUTACIÓN AVANZADA
Fundación Alfredo Brañas
COLECCIÓN INFORMÁTICA
Número 13/2007
FICHA EDITORIAL
ROMERO CARDALDA, Juan Jesús
DAFONTE VÁZQUEZ, Carlos
GÓMEZ GARCÍA, Ángel
PENOUSAL MARTINS MACHADO, Fernando Jorge (Eds.)
Inteligencia Artificial y Computación Avanzada
Juan Jesús Romero Cardalda, Carlos Dafonte Vázquez, Ángel Gómez García, Fernando Jorge
Penousal Martins Machado
Santiago de Compostela: Fundación Alfredo Brañas, 2007. - 400 pág.
- 22 cm. - Índice p. 5. - D.L.: C-2349-07. - ISBN.: 84-934497-0-9
I. Fundación Alfredo Brañas.
II. Autores: Alejandro Pazos, Nieves Pedreira, Juan Ramón Rabuñal, Javier Pereira, Jesús A.
Hernández, Julián Dorado, Marcos Gestal, Ana Belén Porto, Julián Flores, Antonio Otero,
José Ángel Taboada, Florentino Fernández, Arno Formella, Fernando Jorge Penousal, Mª
Luisa Santos, Amilcar Cardoso, Juan Jesús Romero, Víctor Maojo, Fernando Martín, José
Manuel Vázquez, José Manuel Cotos, Alfonso Iglesias, Pedro Saco, Bernardino Arcay, Javier
Andrade, Santiago Rodríguez, Sonia Suárez, Alejandra Rodríguez, Carlos Dafonte, Iciar
Carricajo, Minia Manteiga, José Mª Barreiro, Juan Pazos, Alfonso Rodríguez-Patón, Andrés
Silva.
III. Ilustración: Fernando Jorge Penousal
IV. Maquetado: Juan J. Romero, Carlos Dafonte, Ángel Gómez y Fernando J. Penousal
Colección Informática nº 13/2007.
PUBLICACIONES DE LA FUNDACIÓN ALFREDO BRAÑAS
COLECCIÓN INFORMÁTICA
Número 13/2007
Reservados todos los derechos. De conformidad con lo dispuesto en el artículo 534 bis del Código Penal vigente,
podrán ser castigados con penas de multa y privación de libertad los que, sin la preceptiva autorización,
reprodujesen o plagiasen, en todo o en parte, una obra literaria, artística o científica dispuesta en cualquier tipo
de soporte.
Edita Fundación Alfredo Brañas
C/ Ourense, 11- bajo
15701. Santiago de Compostela
fab@infonegocio.com / www.fundacionbranas.org
Copyright: Fundación Alfredo Brañas
Registro: c:\informat.04
Imprime: Tórculo, Artes Gráficas. Santiago
Maquetado: Juan J. Romero, Carlos Dafonte, Ángel Gómez y Fernando J. Penousal
Cubiertas: Ángel Gómez
ISBN.: 84-934497-0-9
Dep.Leg.: C-2349-07
ÍNDICE
Nota de los Editores ...........................................................................
7
Alejandro Pazos, Nieves Pedreira,
Juan Ramón Rabuñal y Javier Pereira
Inteligencia Artificial y Computación Avanzada ..............................
9
Jesús A. Hernández, Julián Dorado,
Marcos Gestal y Ana Belén Porto
Avances en Algoritmos Evolutivos ....................................................
35
Julián Flores, Antonio Otero
y Jose Ángel Taboada
Una Aproximación a Sistemas Inmersivos Colectivos
Basada en Arquitectura de Bajo Coste ...............................................
55
Florentino Fernández
Predicción No Supervisada de Entornos Cambiantes:
Aplicación Práctica al Problema de las Mareas Rojas ......................
85
Arno Formella
Búsqueda Aproximada de Patrones de Puntos en 2D y 3D ..............
95
Fernando Jorge Penousal y Mª Luisa Santos
Computación Evolutiva y Creatividad ...............................................
121
Amílcar Cardoso y Juan Jesús Romero
Creatividad Computacional.................................................................
149
Víctor Maojo, Fernando Martín y José Manuel Vázquez
Nuevas Perspectivas en Informática Médica y Bioinformática ........
177
José Manuel Cotos, Alfonso Iglesias,
Pedro Saco y Bernardino Arcay
Predicción Pesquera Utilizando Algoritmos Basados en I.A............
203
Javier Andrade, Santiago Rodríguez y Sonia Suárez
Un Modo Inteligente de Gestionar el Conocimiento.........................
271
Alejandra Rodríguez, Carlos Dafonte,
Bernardino Arcay, Iciar Carricajo y Minia Manteiga
Técnicas de Inteligencia Artificial para el Tratamiento de
Datos Astronómicos.............................................................................
287
José Mª Barreiro, Juan Pazos,
Alfonso Rodríguez-Patón y Andrés Silva
BIOINFORMÁTICA: Genética e Informática ..................................
317
NOTA DE LOS EDITORES
La Inteligencia Artificial (I.A.) se puede definir como aquella
“inteligencia” exhibida por “cientefactos” o artefactos científicos
construidos por humanos, o sea que dice que un sistema artificial posee
inteligencia cuando es capaz de llevar a cabo tareas que, si fuesen realizadas
por un humano, se diría de este que es inteligente. Dentro de las ciencias de
la computación, la rama de la I.A. se basa en intentar dotar al
funcionamiento de las aplicaciones informáticas de un comportamiento
inteligente similar al humano para la toma de decisiones.
La I.A. dentro de la computación no es algo reciente ya que sus
albores se pueden referir al comienzo de la Cibernética, hace más de 60
años, pero en los últimos años su avance se ha hecho más notable y se ha
extendido a numerosas áreas. Así, ha sido llevada a intentar simular
comportamientos humanos, no sólo razonamiento, sino también aspectos
más difíciles de medir como es el caso de la creatividad o arte artificial. Una
prueba de ello es la imagen de fondo que ilustra la portada de este libro,
generada por un algoritmo genético.
El objetivo de este libro será presentar una idea general que sirva
para acercar al lector a diversos campos de desarrollo dentro la I.A. y la
Computación Avanzada, desde una introducción a términos y técnicas,
hasta mostrar algunas novedosas aplicaciones específicas que emplean
diferentes técnicas de I.A. para solucionar problemas y mostrar
comportamientos creativos dentro de las áreas más diversas: arte, medicina,
visualización gráfica, pesca, etc.
Estas breves notas no estarían completas sin antes agradecer a los
autores de los diferentes capítulos su participación y el esfuerzo dedicado a
intentar dar a conocer sus trabajos de investigación. Estamos seguros de que
estos temas, de total actualidad y de diferentes temáticas dentro de las
Ciencias de la Computación e Inteligencia Artificial, conseguirán atraer la
atención del lector.
Inteligencia Artificial y Computación
Avanzada
Alejandro Pazos, Nieves Pedreira,
Juan Ramón Rabuñal y Javier Pereira
Laboratorio RNASA-IMEDIR
Facultad de Informática. Universidade da Coruña
Email: {apazos, nieves, juanra, javierp}@udc.es
Introducción
Muchos han sido los avances realizados en la historia reciente para
conseguir reproducir en máquinas las capacidades cognitivas del ser
humano. La Inteligencia Artificial (en adelante IA) se encarga de canalizar
los esfuerzos investigadores en este sentido.
En este capítulo, se presentará una idea general de cómo nació y
cómo se desarrolla el campo de la IA, así como de algunas aproximaciones
dentro del mismo: técnicas más o menos conocidas, algunas de las cuales
serán tratadas más profundamente en otros capítulos, y un acercamiento al
maravilloso mundo de la investigación científica a través de los genios que
han influido en el estado actual de la IA.
9
Inteligencia artificial
La IA es la rama de la ciencia que se encarga del estudio de la
inteligencia en elementos artificiales y, desde el punto de vista de la
ingeniería,
propone
la
creación
de
elementos
que
posean
un
comportamiento inteligente. Dicho de otra forma, la IA pretende construir
sistemas y máquinas que presenten un comportamiento que si fuera llevado
a cabo por una persona, se diría que es inteligente. El aprendizaje, la
capacidad de adaptación a entornos cambiantes, la creatividad, etc., son
facetas que usualmente se relacionan con el comportamiento inteligente.
Además, la IA es muy interdisciplinar, y en ella intervienen disciplinas tan
variadas como la Neurociencia, la Psicología, las Tecnologías de la
Información, la Ciencia Cognitiva, la Física, las Matemáticas, etc.
Se considera que el origen de la IA se remonta a los intentos del
hombre desde la antigüedad por incrementar sus potencialidades físicas e
intelectuales, creando artefactos con automatismos y simulando la forma y
las habilidades de los seres humanos. La primera referencia escrita a un
sistema artificial inteligente ocurre en la mitología griega. En ella se
atribuye a Hefestos, dios del fuego y las forjas, la fabricación de “dos
sirvientes de oro macizo y con inteligencia en su mente y capacidad de
hablar”. En la Edad Media, San Alberto Magno construye un “mayordomo”
que abría la puerta y saludaba a los visitantes. Ya en la edad moderna (s.
XVII), los Droz, famosos relojeros de centroeuropa, construyeron tres
androides: un niño que escribía, otro que dibujaba y una joven que tocaba el
órgano y simulaba respirar. Esta realización, basada en mecanismos de
10
relojería, les costó ser detenidos y encerrados por la Inquisición. En cuanto
a los avances del Siglo XIX y del Siglo XX, hay que destacar los trabajos de
Pascal, Leibnitz, Babbage y Boole. También es importante la aportación de
Ada Lovelace, colaboradora de Charles Babbage y mujer de Lord Byron,
que en el conocido “régimen de Lovelace” establece lo siguiente: “las
máquinas sólo pueden hacer todo aquello que sepamos cómo ordenarles que
hagan. Su misión es ayudar a facilitar lo ya conocido”. Esto que está todavía
vigente en la “informática convencional” fue superado por los avances en
IA. También cabe destacar y es revelador el hecho de que varios de los
padres indiscutibles de la ciencia de la computación, como son Turing [3],
Wiener [1] y Von Neumann [2], dedicaran un gran esfuerzo al estudio de la
inteligencia humana.
La contribución del matemático inglés Alan Turing al mundo de la
computación en general, y al de la IA en particular, fue muy considerable.
Turing, participó en el diseño de uno de los primeros computadores que
existieron, desarrollado para el ejército inglés, entre los años 40 y 50.
Además de aportar los conceptos básicos de la arquitectura secuencial de
los computadores, publicó en 1950 un provocador artículo que tiene por
título “Computer Machinery and Intelligence”, que comienza con la no
menos provocadora pregunta: ¿Pueden las máquinas pensar? En dicho
artículo el autor intenta abordar formalmente acciones consideradas hasta
ese momento propias de los seres humanos, de forma que después pudieran
implementarse en las máquinas, dotándolas así de capacidades como:
aprender, crear, etc.
11
En el citado artículo Turing también desarrolla el test que sería
central en la definición de un elemento artificial que posea “inteligencia”, el
famoso “Test de Turing”, también llamado “Test de Imitación”. En este test
se sitúan dos terminales en una sala, uno de ellos conectado a un
computador y el otro a un ser humano. Se pretende que un interrogador
realice preguntas a través de un puesto conectado a los dos terminales. El
test es superado si el interrogador no puede discernir cuál de los dos
terminales está conectado a un computador y cuál está conectado a un ser
humano. Turing propone que “el juego de la imitación debe aceptarse como
un criterio básico. Porque es así como nosotros reaccionamos entre
nosotros”.
Si bien el origen inmediato del concepto y de los criterios de
desarrollo de la IA se debe a Alan Turing, el apelativo “Inteligencia
Artificial” se debe a John McCarthy. McCarthy era uno de los integrantes
del “Grupo de Dartmouth” que se reunió en 1956 con fondos de la
Fundación Rockefeller para discutir la posibilidad de construir máquinas
que no se limitaran a hacer cálculos prefijados, sino operaciones
“inteligentes”. Entre los integrantes de este grupo estaban: Samuel, que
había escrito un programa de juego de damas capaz de aprender de su
propia experiencia; el propio McCarthy, que estudiaba sistemas capaces de
efectuar razonamientos de sentido común; Minsky, que trabajaba sobre
razonamientos analógicos de geometría; Selfridge, que estudiaba el
reconocimiento visual por computador; Newell, Shaw y Simon, que habían
construido un programa que pretendía la demostración automática de
teoremas; y algunos otros. A partir de este grupo inicial, se formaron dos
12
grandes “escuelas” de IA. Por un lado, Newell y Simon lideraron el grupo
de la Universidad de Carnegie-Mellon, proponiéndose desarrollar modelos
de comportamiento humano con aparatos cuya estructura se pareciese lo
más posible a la del cerebro, lo que posteriormente derivó en la llamada
postura “conexionista” y en los trabajos sobre “Redes de Neuronas
Artificiales” también llamadas “Sistemas Conexionistas”. Por otro lado,
McCarthy y Minsky formaron otro grupo en el mítico Instituto Tecnológico
de Massachussets (MIT), centrándose en que los resultados del
procesamiento tuviesen el carácter de inteligente, sin preocuparse si el
funcionamiento o la estructura de los componentes eran parecidos o no a los
del ser humano. Ambos enfoques sin embargo corresponden a los mismos
objetivos prioritarios de la IA: entender la inteligencia natural humana, y
usar máquinas inteligentes para adquirir conocimientos y resolver
problemas considerados como intelectualmente difíciles.
Sin embargo, en la IA “tradicional” (escuela del MIT), que tuvo
mayor auge en los primeros veinte años, los investigadores se encontraron
con que sus sistemas sucumbían ante la creciente longitud y complejidad de
su programación. Stewart Wilson, investigador del Instituto Roland
(Massachussets), se dio cuenta de que algo andaba mal en el campo de la IA
“tradicional” y, preguntándose cuáles eran las raíces de la inteligencia, se
convenció de que la mejor manera de comprender cómo funciona algo en un
ser humano, es comprenderlo primero en un anima1 más simple. Teniendo
en cuenta que, en última instancia, la IA intentaba conseguir una réplica de
la inteligencia humana, Wilson decidió que lo primero que había que hacer
era replicar la inteligencia animal. Se trataba de una idea que nunca había
13
tenido mucha popularidad entre los investigadores de IA, pero él y otros
investigadores pronto la transformaron en un primer principio informal de
un nuevo enfoque de ésta, basado en la naturaleza.
Enfoques de la IA
Se pueden definir dos puntos de vista o enfoques de la IA, el punto
de vista tecnológico o ingenieril y el punto de vista científico.
Por un lado, la rama ingenieril busca la creación de sistemas
informáticos que realicen tareas para las que se precisa inteligencia. Se
persigue desde este planteamiento la resolución de problemas concretos, sin
limitar las técnicas a utilizar a aquellas que utilizan los seres inteligentes.
Por otro lado, la rama científica de la IA se puede definir como “el
estudio del comportamiento inteligente, siendo su fin conseguir una teoría
de la inteligencia que explique la conducta que se produce en seres de
natural inteligentes, y que guíe la creación de entes artificiales capaces de
alcanzar dicho proceder inteligente” [4].
Las técnicas clásicas, desde el punto de vista tecnológico han tenido
un relativo éxito, y sus productos (Sistemas Expertos, Sistemas Basados en
el Conocimiento, etc.) se usan ampliamente. El principal problema de estás
técnicas radica en que no son capaces de adaptarse a los cambios del
entorno y que es preciso tener un conocimiento explícito del problema para
poder abordarlo satisfactoriamente. Estos sistemas han de ser programados
y no pueden autoprogramarse y adaptarse así a nuevos requisitos del
14
entorno. Para resolver este problema, se han desarrollado diversas
aproximaciones computacionales conocidas de forma global como Técnicas
Adaptativas. A continuación se describirán las más utilizadas.
Técnicas adaptativas
Las Técnicas Adaptativas son aquellas que, aplicadas a un problema,
son capaces de seguir funcionando adecuadamente a pesar de las
circunstancias cambiantes del entorno. Una posibilidad de funcionamiento
es ajustar la relativa importancia de los parámetros de entrada de manera
autónoma para conseguir la resolución de ese problema. Lo que se persigue
con el uso de estas técnicas es conseguir una autonomía en el aprendizaje de
las máquinas, lo cual llevaría a uno de los sueños de la IA: la programación
automática. Los sistemas en los que se aplican estas técnicas reciben el
nombre de Sistemas Adaptativos. A continuación se describen las Técnicas
Adaptativas más utilizadas.
Redes de neuronas artificiales
Las “Redes de Neuronas Artificiales” (en adelante RNA) también
llamadas “Sistemas Conexionistas” son un sistema de procesamiento de
información inspirado en el funcionamiento del sistema nervioso biológico
(paradigma de sistema inteligente). Representan un intento de emular el
comportamiento del cerebro [5] y aumentar nuestros conocimientos acerca
de él. Funcionan como un sistema masivamente paralelo que se ha mostrado
eficiente para la resolución inteligente de distintos tipos de problemas.
15
Las RNA constan de elementos básicos de proceso, normalmente
organizados en capas (basados en las neuronas biológicas) y con gran
cantidad de conexiones entre ellos (basadas en las sinapsis de las neuronas).
Historia
A los precursores de las RNA en las bases biológicas hay que
situarlos temporalmente entre los años de 1890 y 1940.
Los fundamentos biológicos del enfoque conexionista se encuentran
en el importante trabajo del premio Nóbel español D. Santiago Ramón y
Cajal, quién consiguió hace más de un siglo descifrar gran parte de la
estructura y del modo de funcionar de las neuronas. Cajal advirtió que el
cerebro se reorganiza constantemente, reforzando y debilitando una
multiplicidad de sinapsis y su teoría neuronal ha sido fuertemente
establecida como la verdadera base de los Sistemas Conexionistas. Ya en
1.895 sienta las bases de lo que llamaba “Ingeniería Neuronal”. Se
considera necesario hacer constar dos reflexiones realizadas por Cajal y que
conservan hoy en día toda su vigencia: 1) al no encontrar diferencias
cualitativas entre las células del sistema nervioso (SN) de los humanos y de
los animales, decidió postular que “la superioridad funcional del SN de los
humanos estaría relacionada con la abundancia prodigiosa y con la
cuantía considerable de las llamadas neuronas de axón corto”, y 2) “el
artificio soberano de la sustancia gris es tan intrincado que desafía y
desafiará por muchos siglos la obstinada curiosidad de los investigadores”.
16
De momento ya han pasado más de cien años y sigue siendo vigente su
vaticinio en ambos casos.
Los descubrimientos de Cajal, junto con los del Nóbel italiano
Camilo Golgi, el desarrollo posterior de la neurofisiología y trabajos como
los de Williams, que en 1890 describe el primer sistema conexionista,
Lashley, que es el primero, en 1900, en estudiar cómo almacenar y procesar
información utilizando para ello una representación distribuida de la misma,
John Eccles o Gerald Edelman, confirman y actualizan las principales
hipótesis en las que descansa la rama Conexionista de la IA. Las conexiones
entre sus elementos y los cambios de éstas constituyen el factor central de
estos sistemas, tratando de emular la estructura del cerebro y su forma de
operar. Una “máquina neuronal” se compone de elementos equivalentes a
las neuronas y que imitan sus conexiones y comportamiento en red. En
cuanto a la forma de operar, imita el proceso de aprendizaje relacionado con
el cambio de estado de las conexiones entre las neuronas. De este modo,
una “máquina neuronal” no se programa en la forma tradicional,
traduciendo algoritmos en secuencias de órdenes y operaciones, sino que se
ajusta progresivamente en función del uso, a modo de proceso de
aprendizaje socrático, esto es, a partir de ejemplos.
Como precursores computacionales de las RNA cabe destacar a los
investigadores McCulloch, médico de la Universidad de Illinois, y Pitts,
matemático del MIT, quienes proponen en 1.943 el primer modelo de
neurona artificial.
17
Las RNA nacen como consecuencia de la aparición de tres trabajos
teóricos relativos a lo que ahora se conoce como “cibernética” y que,
curiosamente, se publican todos en el mismo año de 1.943:
“Behaviour, Purpose and Teleology” de Rosenblueth, Wiener y
Bigelow, en el MIT, donde sugieren distintas formas de conferir fines y
propósitos a las máquinas, es decir, hacerlas teleológicas.
“The Nature of Explanation” de Craik, en la Universidad de
Cambridge, quien propone que las máquinas empleen modelos y analogías
en la resolución de problemas, i.e., establecer la capacidad de abstracción de
las máquinas.
“A Logical Calculus of the Ideas Inmanent in Nervous Activity” de
McCulloch y Pitts, los cuales pusieron de manifiesto de qué modo las
máquinas podían emplear los conceptos de la lógica y de la abstracción, y
demostraron cómo cualquier ley de entrada-salida podía modelizarse con
una red de neuronas formales por ellos definidas.
En 1949 Donald Hebb introduce dos ideas fundamentales para las
RNA: 1) una percepción o un concepto se representa en el cerebro por un
conjunto de neuronas activas simultáneamente y 2) la memoria se localiza
en las conexiones entre las neuronas (sinapsis) [7]. Además, Hebb propone
un sistema de aprendizaje para la modificación de la sinapsis denominado
“Regla de Aprendizaje Sináptico” o “Regla de Hebb”, que consiste en que
una conexión entre neuronas se refuerza cada vez que es utilizada.
18
A finales de los 50, Widrow diseña el Adaline (Neurona Adaptativa
Lineal) y Rosenblatt el Perceptrón [8], una máquina con un comportamiento
adaptativo capaz de reconocer patrones, dotada de la regla del aprendizaje
denominado de “autoasociación”, donde el estímulo y la unidad de
respuesta están asociados por la acción de las entradas.
En 1969 Minsky y Papert publican “Perceptrons: An Introduction to
Computation Geometry”, donde realizan una seria crítica del Perceptrón,
debido principalmente a su naturaleza lineal [9].
A partir de aquí existe un declive en las RNA, debido a que surgen
algunas demostraciones de que no era factible crear una teoría automatizada
de la inteligencia. Pero en 1980 surge un renacimiento de las RNA, con
investigadores como Hopfield, que construyen nuevos modelos de células,
arquitecturas y algoritmos de aprendizaje que servirán de base a los
modelos más investigados actualmente, los denominados “Modelos
Biológicos”. Hopfield presenta, con un fuerte fundamento matemático y de
forma coherente, el modo de trabajar de los modelos de RNA y establece
que dichas redes deben ser primero modelos cerebrales y luego dispositivos
útiles de procesamiento. Fue clave su claridad y el análisis matemático en
los modelos analizados.
Actualmente, las RNA son un campo de gran interés debido, por un
lado, a la habilidad de estos sistemas para aprender automáticamente y para
poder funcionar de forma aceptable tanto en presencia de información
inexacta como cuando se producen deterioros o fallos en sus componentes,
y por otro, al interés existente por la búsqueda de arquitecturas de
19
computadoras que permitan el procesamiento en paralelo, de forma similar
a los modelos neurofisiológicos del cerebro, pudiéndose de este modo
intercambiar descubrimientos entre los modelos de RNA y los modelos en
Neurociencia.
Algoritmos genéticos
Los Algoritmos Genéticos (en adelante AG) son algoritmos de
búsqueda inspirados en procesos de selección natural, basados en la teoría
de la evolución de Darwin. Establecen una analogía entre el conjunto de
soluciones de un problema y el conjunto de individuos de una población
natural. Se aplican principalmente en problemas de optimización y se
comportan de un modo muy eficaz en problemas de superficie compleja,
con múltiples mínimos locales y grandes espacios de búsqueda.
Está justificado su uso en aquellos problemas cuya complejidad no
permita
una
solución
directa.
Por
ejemplo
los
no
resolubles
polinomialmente (NP-duros).
Los fundamentos de los AG se encuentran detrás de la idea de que la
naturaleza utiliza potentes medios para impulsar la evolución satisfactoria
de los organismos. Los organismos que son poco aptos para un determinado
ambiente mueren, en tanto que los que están bien adaptados para vivir, se
reproducen. Ocasionalmente se producen mutaciones al azar y, aunque la
mayor parte de éstas implican la pronta muerte del individuo mutado,
algunas dan como resultado nuevas y satisfactorias especies. Así, los AG se
encuentran dentro de las llamadas técnicas de Computación Evolutiva.
20
Los AG trabajan sobre poblaciones de individuos que representan
soluciones al problema. Para ello utilizan las operaciones de selección,
cruce y mutación, propias de la genética. De esta manera, mediante
individuos se codifican diferentes soluciones al problema, inicialmente
aleatorias. Luego estos individuos se agrupan en una población y se van
combinando entre sí de forma que a medida que pasan las generaciones se
van ajustando más a la solución final. Los individuos de una generación
genética compiten entre sí para ofrecer la mejor solución al problema que se
está tratando de resolver [11] [12].
Historia
Los primeros intentos para relacionar informática y evolución, a
finales de los 50 y principios de los 60, tuvieron poco éxito porque,
basándose en los textos de biología del momento, se creía en la mutación en
lugar del cruce para producir nuevas combinaciones de genes. Fue a
principios de los 60, cuando Hans J. Bremermann de la Universidad de
California-Berkeley añadió una nueva forma de cruce. En ella, las
características de la descendencia se determinaban sumando los genes
correspondientes
de
los
dos
progenitores.
Lamentablemente,
este
procedimiento de cruce estaba limitado, porque sólo se podía aplicar a
características que se pudieran sumar de alguna manera significativa.
En esta época, John Holland, considerado el padre de los AG, había
estado investigando en el análisis matemático de la adaptación y se había
convencido de que la recombinación de grupos de genes mediante el cruce,
21
era la parte más importante de la evolución. Holland se preguntaba cómo
lograba la naturaleza crear seres cada vez más perfectos. A principios de los
60 se dio cuenta de que la evolución era una forma de adaptación más
potente que el simple aprendizaje y tomó la decisión de aplicar esta idea
para desarrollar programas bien adaptados para un fin determinado. A
mediados de los 60 había desarrollado una nueva técnica de programación,
el algoritmo genético, que se adaptaba a la evolución tanto por cruce como
por mutación.
David Goldberg, discípulo de Holland y uno de los líderes actuales
en AG, fue uno de los primeros que trató de aplicar los esta técnica a
problemas industriales.
Programación genética
John Koza, en 1992, adaptó los AG para la creación de programas de
computador, permitiendo que las técnicas de Computación Evolutiva se
utilizaran para construir grandes poblaciones de programas que evolucionan
y finalmente obtienen, de forma automática, un programa que constituye la
solución a un problema dado. Él mismo bautizó a esta nueva técnica como
“Genetic Programming” o “Programación Genética”.
Así, la Programación Genética (en adelante PG) surge como una
evolución de los AG tradicionales, manteniendo el mismo principio de
selección natural. Es una técnica de búsqueda en la que, a partir de un
conjunto inicial de programas (población), éstos se van combinando
sucesivamente, formando distintas generaciones para dar lugar a programas
22
mejores. Al igual que los AG, la PG también forma parte de las
denominadas técnicas de Computación Evolutiva.
La mayor diferencia entre los AG y la PG es la forma de
codificación de la solución al problema. En PG la codificación se realiza en
forma de árbol, de forma similar a cómo los compiladores leen los
programas según una gramática prefijada.
La codificación de cada solución particular se realiza en términos del
propio problema. En los AG tradicionales era necesario realizar una tarea de
codificación/decodificación, pero en la PG esto ya no es necesario, puesto
que la solución buscada va a ser encontrada, como ya se dijo previamente,
como un algoritmo en forma de árbol.
La PG proporciona una gran versatilidad y variedad de problemas
resolubles y, además, permite la obtención de soluciones de forma
jerárquica.
En definitiva, la PG es muy potente pero también compleja, ya que,
entre otras exigencias, requiere especificar el juego de instrucciones, con el
fin de delimitar el problema. A pesar de su complejidad es legible, robusta y
versátil y se utiliza mucho en robótica y optimización.
23
Otras técnicas adaptativas
Hardware evolutivo
Tras esta técnica subyace la idea del desarrollo de máquinas y robots
que sean capaces de replicarse a partir de componentes simples y adapten su
comportamiento a fallos.
Así, se pretende que el Hardware Evolutivo sea capaz de
autoadaptarse en tiempo real, reconfigurando su arquitectura de manera
dinámica y autónoma, mediante una interacción con el ambiente. Se utilizan
técnicas evolutivas para la síntesis de circuitos robustos al ruido y a los
cambios, como mecanismo de adaptación al ambiente.
Learning classifier systems
Los científicos han soñado durante años con conseguir máquinas que
pudiesen reaccionar con el entorno, de manera semejante a como los
humanos lo hacen. Los sistemas clasificadores “con aprendizaje” o
Learning Classifier Systems (en adelante LCS), pueden considerarse como
una aproximación con AG al aprendizaje a partir de la interacción con el
entorno. Aunque esta definición tal vez esté un poco obsoleta, ya que los
LCS han evolucionado empleando técnicas muy diferentes.
En general, un LCS toma un conjunto de entradas y produce un
conjunto de salidas que indican una cierta clasificación de las entradas. Un
LCS “aprende” cómo clasificar sus entradas. Esto implica a menudo
24
“mostrar” al sistema muchos ejemplos de los patrones de la entrada, y sus
salidas correctas correspondientes.
Esta técnica se puede situar en un punto intermedio entre los
Algoritmos Genéticos y los Sistemas Conexionistas.
Ant colony simulation
Es una meta-heurística (técnica que sirve como apoyo a otra)
inspirada en el comportamiento de colonias reales de hormigas.
Para su implementación, existe una población de agentes simples que
producen en su conjunto un comportamiento global más complejo. Simulan
el comportamiento de las hormigas, las cuales se unen para conseguir
objetivos que no podrían lograr de forma individual. Las hormigas dejan un
rastro de “feromonas” por donde pasan. Esto les permite por ejemplo
encontrar el camino más corto hasta una fuente de comida. Cuando una
hormiga encuentra una fuente de comida, coge la que puede, la lleva al
hormiguero y vuelve a por más. La hormiga que encuentra el camino más
corto puede hacer más “viajes”, lo cual incrementa el nivel de feromona de
ese camino en particular. Esto atraerá al resto de las hormigas, que seguirán
el camino con un rastro mayor de feromonas, lo cual reforzará todavía más
la ruta, por lo que en poco tiempo todas las hormigas seguirán el camino
más corto hasta la fuente de comida y se habrá conseguido una optimización
del proceso.
25
Esta técnica ofrece resultados muy interesantes en problemas de
optimización combinatoria.
ADN molecular
En esta técnica se utiliza el ADN de seres vivos para resolver
problemas computacionales.
Es una técnica masivamente paralela y muy prometedora, pero en la
actualidad el procesado de la información (probetas con piezas de ADN) es
realizado por el investigador y es muy laborioso y lento.
Coevolución
Consiste en el uso de varias poblaciones dependientes mediante
técnicas evolutivas.
La relación típica es la de depredador-presa. Esto es, en paralelo, se
entrena una población de depredadores y otra de presas. Así, a medida que
los depredadores mejoran, las presas se ven obligadas a perfeccionarse y
viceversa.
Artificial imnume systems
Estos sistemas están inspirados en el Sistema Inmune Natural. Son
sistemas masivamente paralelos. Permiten detectar situaciones no
habituales, proporcionar una memoria direccionable por contenido o
26
distinguir entre entradas típicas y anormales. Pueden utilizarse en problemas
de optimización y búsqueda.
Vida artificial
La Vida Artificial trata acerca de la creación de modelos
computacionales con comportamientos biológicos. Se emplean múltiples
agentes simples para conseguir un comportamiento complejo.
Ronald ofrece una de las definiciones más completa: “la Vida
Artificial es una disciplina experimental que consiste fundamentalmente en
la observación de los comportamientos de ejecución, aquellas interacciones
complejas generadas cuando las poblaciones de criaturas artificiales
hechas por el hombre están inmersas en entornos reales o simulados” [13].
En muchos casos se busca determinar los mecanismos de interacción
entre
los
individuos
de
una
colectividad
que
hacen
emerger
comportamientos adaptativos o inteligentes al nivel de toda la colectividad
de organismos.
IA y tecnologías convergentes
Como se explicó al comienzo de este capítulo, la IA es una rama de
la ciencia en la que intervienen múltiples disciplinas y áreas de
conocimiento y como tal debe ser entendida para comprender la importancia
de la integración de los conocimientos de dichas disciplinas en aras de
conseguir nuevos avances.
27
La ciencia en general y la IA en particular han alcanzado un punto en
el cual varias de sus disciplinas deben unificarse para seguir avanzando
rápidamente. La convergencia de tales disciplinas puede iniciar un nuevo
renacimiento, incluyendo una visión integral de la tecnología basada en
herramientas de transformación, en las matemáticas de sistemas complejos,
y en un entendimiento unificado “causa-efecto” del mundo físico que abarca
desde la nanoescala a la escala planetaria.
Así, los adelantos conseguidos en campos aparentemente tan
diferentes como la Biología, la Física, las Ciencias de los Materiales, la
Microelectrónica o los Microsistemas, convergen en un punto: el estudio de
entidades de dimensiones físicas similares, comparables a los tamaños
moleculares. Este punto común facilita e impulsa la sinergia entre los
conocimientos científicos y tecnológicos que lo sustentan, dando lugar a la
aparición de las denominadas “Tecnologías Convergentes” (NBIC, por
Nano y Microtecnologías, Biotecnología, Tecnologías de la Información y
Ciencias del Conocimiento).
La integración y sinergia de las cuatro tecnologías (nano-bio-infocogno) tienen su origen en la nanoescala, dónde se establecen los bloques
de construcción de la materia.
Las NBIC aparecen hoy en día como una tendencia tecnológica con
un gran impacto desde los puntos de vista científico, tecnológico,
económico y social. La convergencia tecnológica hará posible en un futuro
el uso indistinto y combinado de los diferentes “elementos básicos”
(átomos, células, genes, “nanodispositivos” y “nanopartículas”, agentes,
28
etc.) como unidades constituyentes de la arquitectura de verdaderos
sistemas híbridos.
El enorme valor añadido de estas Tecnologías Convergentes
proviene no tanto del desarrollo de cada una de ellas sino del conocimiento
y la experiencia necesarios para su uso combinado. Si bien es cierto que
estos campos se han estudiado tradicionalmente desde ángulos diferentes
(Biología, Física, etc.), el verdadero impacto de los mismos provendrá del
efecto multiplicador de su desarrollo y utilización conjunta.
Se prevé el nacimiento y el rápido desarrollo de una combinación
sinérgica entre Nanotecnología, Biotecnología, Informática y Ciencias del
Conocimiento que requerirá un nuevo planteamiento de los diferentes
campos del conocimiento humano y que llevará a desarrollos tecnológicos
absolutamente innovadores. En un futuro inmediato estas tecnologías
conjuntas aportarán mejoras en la calidad de vida así como soluciones a una
realidad social, económica y geográfica en sectores tan relevantes como la
salud, agricultura y ganadería, medio ambiente, y otros muchos.
Las Tecnologías Convergentes (NBIC) tendrán claras implicaciones
en áreas clave de la actividad humana, incluyendo: el trabajo, el
aprendizaje, las interrelaciones personales, y la evolución humana.
Avanzando simultáneamente en varias de estas actividades se podría
alcanzar una era de innovación y prosperidad que constituiría un punto de
inflexión en la evolución de la sociedad humana.
29
Aplicaciones de las NBIC
Las NBIC tendrán infinidad de aplicaciones en el futuro, pero en este
capítulo nos centraremos en los avances que las Tecnologías Convergentes
proporcionarán en los campos de Ciencias de la Salud y Ciencias de la
Computación.
Avances en ciencias de la salud: Integración de nanobio-info-cogno-chips
El principal avance de las NBIC en este campo provendrá de la
posibilidad de desarrollar dispositivos electrónicos de tamaño tan reducido
que podrán integrarse con los organismos vivos, incluso a nivel celular. De
este modo será posible utilizar “nanochips”, por ejemplo, en el
procesamiento de la sinapsis en el sistema nervioso central. Los nanochips
podrán entonces reemplazar a los circuitos cerebrales. Estos chips
contendrán o se conectarán con Redes de Neuronas Neurogliales (Artificial
NeuroGlial Networks, ANGN) que podrán controlar la actividad sináptica o
regenerar células, en función del potencial de acción (Action Potential, AP)
grabado, sustancias entregadas, etc. Así, podrán inhibir acciones excitadoras
de neuronas presinápticas en una sinapsis, generar AP excitador, etc. Podrán
también liberar o inhibir neurotransmisores u otras sustancias en áreas
dañadas. Estas sustancias podrían almacenarse dentro de nano-buffers
hechos de bio-tejidos. Además, permitirán reparar neuronas dañadas,
introduciéndoles material genético. De esta forma las neuronas dañadas
podrán sintetizar sustancias de nuevo (neurotransmisores, proteínas de
30
canales dañados, etc.). Así, los nanochips serán útiles en el tratamiento de
enfermedades como Alzheimer, Parkinson, etc.
Los nanochips permitirán desarrollar nuevas técnicas, como la Nanoelectroneurografía o la Nano-electromiografía, en las que un nanochip, con
una ANGN asociada, se conectaría a un nervio o a un músculo. El chip
tendría además un nanoelectrodo grabador y un nanoelectrodo de
estimulación, y se conectaría a una batería. La ANGN compararía las
señales grabadas por el nanoelectrodo en el nervio o en el músculo con las
señales óptimas. El nanochip podría, por ejemplo, enviar datos a un PC o
PDA (a través de una conexión inalámbrica) y generarse entonces un
informe para el paciente o para el doctor. Esto sería muy útil en diagnóstico.
También podría utilizarse un nanochip para generar AP de cara a estimular
la neurona postsináptica o el músculo. Esto sería muy útil en el tratamiento.
Otra posibilidad sería utilizar nanochips para introducir material genético
con el objetivo de sintetizar alguna proteína (Oligodendrocyte & Schwann).
Esto sería muy útil en el tratamiento de enfermedades como la esclerosis
múltiple. Por último, un nanochip conectado con biosensores podría
sustituir neuronas sensitivas.
Avances en ciencias de la computación
Las
NBIC
permitirán
mejorar
el
comportamiento
de
los
computadores con el uso de sustancias biológicas. Se podrán, por ejemplo,
utilizar proteínas para crear “biocomputadores” que superen las actuales
limitaciones de la tecnología del silicio, o desarrollar interfaces biológicas
31
que remitan directamente sus percepciones al computador. También se
puede pensar en “nanorobots” construidos con carbono, silicio y oxígeno,
para capturar imágenes en el interior del cuerpo humano. Tales robots
podrían analizar las imágenes y compararlas con las óptimas mediante
ANGN (reconocimiento de patrones, etc.).
Además, el desarrollo de nuevos modelos computacionales basados
en los circuitos cerebrales permitirá crear nuevos modelos de sistemas
adaptativos, como las citadas ANGN. Los descubrimientos hechos con la
ayuda de estos modelos permitirán comprender mejor la estructura y
funcionamiento del cerebro. Esto permitirá desarrollar nuevas y mejores
técnicas de IA. Será entonces posible de fabricar dispositivos protésicos
neurales. Por ejemplo, vista y oído artificiales, creados a partir de ANGN
con información de nanoelectrodos grabando en el cortex motor, visual,
auditivo, etc., entrenadas para visualizar imágenes, para escuchar sonidos, o
bien para permitir realizar movimientos de forma precisa con el cursor en
un monitor, para mover un brazo-robot, etc.
Así, las Tecnologías Convergentes permitirán nuevos e importantes
avances en la IA y, más allá de eso, permitirán la integración de los mismos
con los seres vivos, consiguiendo así verdaderos sistemas híbridos.
32
Bibliografía
[1]
Wiener, N., 1985. “Cibernética”. Tusquets editores, ISBN: 847223-452-5.
[2]
Neumann
J.V.,
1996.
“The
Theory
of
Self-Reproducing
Automata”. En Burks, A.W (Ed). University of Illinois Press.
Illinois.
[3]
Turing, A., 1950. “Computing Machinery and Intelligence”. En
MIND, nº 236, pp. 433-460.
[4]
Gómez, A., Juristo, N., Montes, C., Pazos, J., 1997. “Ingeniería
del Conocimiento”. Centro de Estudios Ramón Areces S.A.
Madrid.
[5]
Pazos, A., Col., 1991. “Estructura, dinámica y aplicaciones de las
Redes de Neuronas Artificiales”. Centro de Estudios Ramón
Areces S.A. Madrid.
[6]
McCulloch, W., Pitts, W., 1943. “A Logical Calcullus Of The
Ideas Inmanent In Nervous Activity”. Bull. Mathem. Biophys, nº 7,
pp. 115-133.
[7]
Hebb, D.O., 1949. “The organization of Behavior”. John Wiley &
Sons.
33
[8]
Rosenblatt, F., 1962. “Principles of Neurodynamics”. New York:
Spartan Books.
[9]
Minsky, M., Papert, S., 1969. “Perceptrons: An Introduction to
Computation Geometry”. MIT Press. Cambridge MA.
[10]
Holland, J., 1962. “Outline for a Logical Theory of Adaptive
Systems”. Journal of ACM, nº 9, pp. 297-314.
[11]
Holland, J., 1975. “Adaption in Natural and Artificial Systems”.
The University of Michigan Press. Ann Arbor. Michigan.
[12]
Holland, J., 1984. “Sistemas Adaptativos Complejos”. En Pazos,
A., “Redes de neuronas artificiales y algoritmos genéticos” (pp.
259-297). Universidade da Coruña. A Coruña.
[13]
Ronald, E., Sipper, M., Capcarrère, M.S., 1999. “Design,
Observation, Surprise! A Test of Emergence”.
Artificial Life
Journal, vol. 5 (3), pp. 225-239. MIT Press. Cambridge MA.
[14]
Kurzweil, R., 1999. “La era de las máquinas espirituales. Cuando
los ordenadores superen la mente humana”. Editorial Planeta.
Barcelona, ISBN: 84-080-3218-6.
[15]
Brockman, J. (ed.), 2002. “The Next Fifty Years. Science in the
First Half of the Twenty-first Century”. Vintage Books. New York,
ISBN: 0-375-71342-5.
34
Avances en Algoritmos Evolutivos
Jesús A. Hernández1, Julián Dorado2,
Marcos Gestal2 y Ana Belén Porto2
1
Instituto de Automática y Procesos Industriales, Fac. de Minas,
Universidad Nacional de Colombia, Sede Medellín
Email: jahernan@unalmed.edu.co
2
Laboratorio RNASA-IMEDIR
Universidade da Coruña
Email: {julian, mgestal, anuska}@udc.es
Introducción
Los Algoritmos Evolutivos (AE) han probado ser herramientas
poderosas para solucionar problemas difíciles de búsqueda y optimización
en casi todos los dominios del conocimiento. Los AE son un campo de
investigación relacionado con muchas áreas, entre ellas están la biología, la
inteligencia artificial, la optimización y la toma de decisiones. La biología
destaca por ser su fuente de inspiración. Hoy en día se trabaja en su
hibridación con métodos tradicionales y con otros modelos bio-inspirados,
en particular con la computación neuronal y la computación borrosa. La
más reciente tendencia en los AE es superar los problemas de carácter
paramétrico para abordar aspectos creativos. Se presenta en este capítulo un
panorama de los AE partiendo desde sus orígenes, pasando por su
definición formal y sus formas canónicas, para terminar en las nuevas
perspectivas.
35
Inspiración biológica de los AE
Los sistemas vivos se distinguen por su organización y por su
robustez. De la observación de los seres vivos se nota que éstos se
reproducen, se adaptan, y evolucionan en relación con el entorno donde se
desarrollan. Se ha advertido también, que algunas de las características que
se adquieren en el transcurso de vida pueden ser heredables por la siguiente
generación de la especie. La teoría sintética de la evolución o teoría neodarwiniana de la evolución natural de las especies ha logrado explicar con
gran detalle estos procesos [1]. Los Algoritmos Evolutivos (AE) emulan la
teoría neo-darwiniana de la evolución de las especies.
La teoría sintética de la evolución se basa en los genes como
unidades de transferencia de la herencia. El material genético de un
individuo se encuentra en su genotipo. El genotipo consiste en un conjunto
de cromosomas, los cuales conforman una organización de estructuras
jerárquicas de genes. Los genes son la unidad bioquímica de codificación de
un producto génico y constituyen la unidad funcional de la información
básica para el desarrollo de un organismo. Los genes pueden
ocasionalmente ser modificados por mutaciones. La compleja información
contenida en el genotipo se expresa en la apariencia y funcionalidad de los
individuos, es decir, en el fenotipo o características visibles de un
organismo. En el proceso evolutivo se reconoce la ocurrencia de pequeñas
variaciones en los fenotipos, aparentemente aleatorias y sin un propósito
claro. Esas variaciones, llamadas mutaciones, si prueban su eficacia a la luz
del entorno actual, prevalecerán a través de la selección del individuo, de
36
otra manera desaparecerán. La selección de los individuos se motiva en el
fenómeno natural de la necesidad de producir descendencia. Por la severa
competencia para alcanzar la reproducción, que sólo logran los individuos
más aptos, se asume que los descendientes mejorarán a sus progenitores al
heredar sus características mezcladas. En un medio ambiente con recursos
abundantes, la densidad poblacional de la especie puede crecer
exponencialmente. Cuando los recursos en el entorno se hacen insuficientes
para toda la población, sólo tendrán mayor posibilidad de reproducirse,
aquellos individuos que tengan una ventaja comparativa en el manejo
eficiente de tales recursos. A estos individuos se les denomina como los
más aptos. La presión selectiva sobre los individuos de una especie hace
que ésta mejore continuamente respecto a su medio ambiente.
Por su parte, en los AE se tiene un conjunto de estructuras de
información que interpreta a los individuos que conforman el problema a
resolver, en analogía a los genotipos. Estos genotipos artificiales se
componen de tantos elementos como variables haya en el problema a
resolver, en semejanza a los cromosomas, y pueden estar codificados como
valores reales o en algún otro lenguaje. Sobre estas estructuras de
información se aplican las dependencias y restricciones que existan en el
problema real, y están sujetas a las condiciones que impone el espacio de
trabajo de éste. Un fenotipo corresponde a la valoración actual de un
genotipo. El AE comienza con una valoración aleatoria del conjunto de
estructuras de información. Sobre los individuos se aplican operadores
genéticos, y aquellos que satisfagan la condición de aptitud establecida por
el usuario se seleccionan para la siguiente generación. En cada generación,
37
la población de estructuras de información, como resultado del previo
proceso evolutivo, comienza con una nueva valoración. Por su mejor
adaptación, reflejada en un valor de aptitud, algunos individuos pueden
prolongar su existencia durante varias generaciones. El proceso se repite un
cierto número de pasos generacionales o hasta cumplir una condición dada.
La solución al problema se establece como el individuo de mejor aptitud en
la última generación, o durante todo el proceso evolutivo. En contraste con
la evolución natural, que parece tener como único fin la preservación de la
vida misma sin diferenciaciones, lo que se ha denominado como evolución
de ciclo abierto, la evolución artificial en los AE se dirige a un propósito
específico. Sin embargo, aunque se trata de seres virtuales actuando en un
entorno conocido, debe mantenerse presente que la evolución de la
población y la respuesta final en los AE, también son una característica
emergente.
La evolución biológica natural, es decir, sin intervención humana, es
un sistema dinámico y complejo, donde simultáneamente pueden estar
modificándose el medio ambiente, los planes de adaptación y las medidas
de ajuste. Esto significa que las estructuras bajo adaptación deben estar en
capacidad de manejar enormes cantidades de información, presentada en
diversas formas, junto con elevados grados de incertidumbre y ambigüedad.
Como no se tiene claridad sobre los objetivos a corto plazo de la evolución
natural, ésta se puede asociar de forma ligera a la lógica del azar con la
producción indiscriminada de elementos. Algo muy lejano de lo que se
observa en la naturaleza donde la formula para el proceso evolutivo parece
ser la de caos y orden trabajando en armonía. No hay ninguna
38
contradicción, porque del azar puede emerger cualquier cosa, incluso la
posibilidad de suprimirse a sí mismo en el interior de algún dominio, al
provocar la organización. Con el proceso de evolución aparecerá con el
tiempo un nuevo mundo de “objetos organizados”, en los cuales ya no
existirá el azar, sino que en su interior estarán sometidos a un cierto orden, a
una cierta lógica. Puede decirse que el nacimiento de un ser se da con el
brote de comportamientos reconocibles, sostenidos, durante varias
generaciones. Comportamientos que facultan a los objetos a funcionar de
forma relativamente autónoma de los acontecimientos que suceden en su
medio exterior [2].
Computación Evolutiva
Propiedades
Autonomía Operativa
Procesos Controlados
Múltiples Métodos de
Reproducción
(potencialmente) Evolutivo
Orientado a Propósitos
“Operadores Genéticos”
Agentes Cooperativos
Benigno
Autores Conocidos
Propagación de Información
De Frágil a Robusto
Normalmente no Envejece
Evolución Natural
Relevantes
Autonomía Operativa
Procesos Controlados y No
Controlados
Reproducción Sexual y Asexual
Evolutivo
Selección Natural
Operadores Genéticos
Agentes Cooperativos y No
Cooperativos
Benigno y Maligno
Autores “Conocidos” y Anónimos
Propagación y Destrucción de
Información
Muy Robusto
Envejece y Muere
Tabla 1: Características de los Procesos Evolutivos
39
No obstante, en los AE el proceso evolutivo que en ellos se
encuentra, se acerca más a la evolución forzada que ha ejercido el ser
humano sobre otras especies naturales. Casos en los cuales la exigencia de
adaptación se conoce, las estructuras bajo adaptación están claramente
delimitadas, y tanto la medida de aptitud para evaluar los cambios
estructurales, así como las operaciones que se aplican para realizar las
modificaciones están preestablecidas. En estos casos, se puede manejar
interna o externamente el reconocimiento del estado del sistema, la
memoria, el método de asignación del resultado final y los parámetros que
controlan el proceso. En la Tabla 1 se presenta una comparación entre los
aspectos comunes y las diferencias entre la computación evolutiva y la
evolución biológica.
Enfoques en los AE
Los AE son un paradigma de programación de ordenadores bioinspirado, que emula los procesos de selección natural del organismo más
apto de una población, para satisfacer una exigencia del medio ambiente.
Sus costos de desarrollo y aplicación son bajos pues no exigen presunciones
sobre el espacio del problema, es fácil hibridarlos con otros métodos,
funcionan con un paralelismo intrínseco, son robustos, tolerantes a fallos e
interactivos con el usuario, su convergencia y confiabilidad se han
demostrado [3].
Los AE son muy valorados en los problemas de mayor exigencia
computacional o en aquellos difíciles de solucionar por métodos
40
tradicionales. En problemas en los que para encontrar una respuesta
aceptable se requiere hacer búsquedas en cantidades enormes de
posibilidades de solución, los AE ofrecen un paralelismo fácil de implantar
y estrategias inteligentes para decidir el camino a seguir. Los AE son más
eficientes en estos casos pues la búsqueda de la solución no se hace de
forma secuencial, sino en paralelo en el espacio completo de posibles
soluciones al problema, dirigiendo la exploración y la selección a las
porciones del espacio donde residen las soluciones más cercanas a lo
esperado [4, 5, 6].
Se denomina Algoritmo Evolutivo a cualquier método de solución de
problemas, que utilice procesos operativos provenientes del paradigma NeoDarwiniano. Procesos tales como: reproducción, mutación, competencia y
selección.
Un AE emula el proceso natural no-determinista de evolución
adaptativa, en el cual un individuo de una población es afectado por otros
individuos de esa misma población y por el entorno de esa población. El AE
actúa sobre un espacio de búsqueda específico, compuesto por todas las
soluciones potenciales del problema a resolver. Los elementos de ese
espacio de búsqueda son cadenas finitas de símbolos, cada una
representando un individuo que codifica una posible solución al problema.
Usualmente, la estructura de información de los individuos es de longitud
fija y el tamaño de la población es invariable.
Los AE, en general, comienzan con un conjunto de posibles
soluciones (no necesariamente correctas ni conocidas) para el problema en
41
estudio. Luego, a partir de ese conjunto, se crean, aleatoriamente, nuevas
soluciones a probar, modificando las existentes por medio de operadores
genéticos. Para conocer si una solución ensayada es aceptable se usa un
indicador de ajuste, llamado medida o función de aptitud, y, a partir del
“error” encontrado, se seleccionan las soluciones que se conservarán como
padres para el siguiente paso generacional. El proceso se repite hasta
encontrar una solución adecuada entre los descendientes, o hasta llegar a un
criterio de terminación predeterminado. En la Figura 1, puede apreciarse el
procedimiento seguido por un AE típico.
t := 0;
IniciarPoblacion P(t);
Evaluar P(t);
//Iniciar con un tiempo inicial
//Generar aleatoriamente población inicial
//Evaluar la aptitud de los individuos de
la población
While not criterio do
//Criterio de terminación
t := t + 1;
//incrementar el tiempo generacional
P’(t):= seleccionarPadres P(t);
//Seleccionar padres
reproducir P’(t);
// Generar hijos
P := sobrevientes P, P’(t);
//Construir la nueva población
a partir de los hijos y algunos
miembros de la población actual
Evaluar P(t);
//Evaluar aptitud de la nueva población
End do
Figura 1: Algoritmo general usado por los métodos basados en el
modelo de evolución
En
el
proceso
de
evolución
mencionado,
los
individuos
descendientes heredan la información genética de las estructuras padre. Con
base en esta información seguirán interactuando para la creación de nueva
información genética y su correspondiente evaluación, selección y
42
diseminación. Con el transcurso del tiempo irán desapareciendo aquellos
individuos que por diversos motivos no tienen la suficiente aptitud para
lograr el ajuste adecuado y se van generando comportamientos y estructuras
capaces de enfrentar con éxito diferentes situaciones.
Tipos de AE
Siguiendo una notación similar a la establecida en [3] una definición
conceptual del algoritmo evolutivo, es una 8-tupla:
AE = (I, F, O, S, T, C, p, h),
(1)
Donde, I = Ax X As es el espacio de los individuos, con Ax y As
conjuntos arbitrarios.
F=I
R es la función de aptitud que asigna valores reales a los
individuos.
O = {wT1,. .. wTz | wT i : Ip
Ip+h} {wTo : Ip
Ih} el conjunto
de operadores genéticos wT i, cada uno controlado por parámetros
específicos contenidos en los conjuntos T i R. Donde p = número de
individuos padre, h = número de individuos descendientes, y (p, h) N.
ST i : (Ip Ip+h)
Ip denota el operador selección, que puede
cambiar el tamaño de la población, con p = h permitido.
T = s q wT1 q ... q wT ij q wTo con
43
T(P) = sT (Q wT1 ( ...( wT ij (wTo(P))) … ) con Q {0, P}
composición de funciones que transforma una población en la siguiente
generación aplicando los operadores genéticos y la selección.
C = Ip
{verdad, falso} es un criterio de terminación.
La investigación en AE se basa, principalmente, en tres enfoques
desarrollados de manera independiente por grupos de investigación
diferentes e inicialmente no relacionados, son: Estrategias de Evolución
(Evolutionsstrategie), Programación Evolutiva, y Algoritmos Genéticos.
Cada técnica determina los factores por los cuales un individuo puede
diferir de otro y por tanto la variación genética que se permite. En términos
generales, todos ellos siguen, lo expuesto en los apartados anteriores. En las
diferentes técnicas de algoritmos evolutivos son más las semejanzas que las
diferencias. Estas se reducen al tipo de estructuras de datos para representar
los individuos, los modos de cambio en las soluciones para crear los
descendientes y en el procedimiento para seleccionar los nuevos padres [2].
De estos tres tipos básicos han surgido otros que en esencia mantienen las
características de la clase original. Sus características diferenciales se
presentan a continuación.
Algoritmos Genéticos. Propuestos por John Holland como una
abstracción de la evolución biológica, más que como una técnica de
optimización [11]. Las estructuras en adaptación usualmente son cadenas de
caracteres binarios, con longitud fija. También son posibles otros tipos de
estructuras. La medida de aptitud se determina ejecutando rutinas y
algoritmos específicos para cumplir una tarea, y se interpreta la cadena de
44
caracteres como un conjunto de parámetros. El operador genético principal
es la recombinación sexual, llamada cruce. El operador mutación se utiliza
pero se considera de importancia secundaria. Los algoritmos genéticos,
desde entonces, han seguido desarrollándose. Inicialmente hubo cambios en
la representación de los individuos a cadenas no binarias, luego a cadenas
de longitud variable, y hoy día con variantes como los sistemas
clasificadores y la programación genética.
Programación Evolutiva. Fue introducida por Fogel [7] como una
técnica para crear inteligencia artificial, basada en máquinas de estado finito
con capacidad de predecir eventos observando los estados previos. Se usan
diferentes estructuras de representación de los individuos en adaptación,
desde sencillas, como cadenas de caracteres, hasta complejas, como
máquinas de estado finito. Un rasgo común en la representación es la
utilización de variables objetivo con valores del mundo real. La medida de
aptitud se determina ejecutando rutinas y algoritmos para cumplir una tarea,
cuyos argumentos son variables objetivo del problema de interés. Aunque la
mutación es el único operador genético que se emplea, la estrategia de
solución es computacionalmente adecuada.
Estrategias de Evolución. De forma independiente a las anteriores,
en 1973, Rechenberg desarrolló un método que él llamó Estrategias de
Evolución, para solucionar problemas discretos y continuos de optimización
de parámetros en experimentos reales en dispositivos aéreos [8]. Las
estructuras en adaptación son, por lo general, conjuntos de variables con
valores del mundo real. Para conformar un individuo se asocian a estas
variables objetivo las llamadas variables de estrategia, también en valores
45
reales. La medida de aptitud se determina ejecutando rutinas y algoritmos
para cumplir una tarea, utilizando las variables objetivo como parámetros.
La mutación es el operador genético principal, y el modo como cambia cada
una de las variables objetivo para producir nuevos individuos, es controlado
por las variables de estrategia. También se aprovecha la recombinación
tanto en las variables objetivo como en las variables de estrategia.
Todas estas técnicas han seguido extendiéndose con los trabajos de
diferentes investigadores. Al usar cualquiera de ellas algunos detalles a
tener en cuenta [9, 10, 11] son: la representación de los individuos, el
método de selección y la forma de operar el cruce y la mutación.
Fronteras en los AE
A partir del trabajo publicado en 1989 por Goldberg [12] los AE se
han venido utilizando de forma extensiva en exploración, búsqueda y
optimización en espacios multidimensionales, pero no son las únicas formas
de aprovechar su potencial. Puede decirse que los AE se han aplicado [2] en
todos los campos del conocimiento, desde la localización de óptimos, la
solución de complejos sistemas de ecuaciones, la programación de la
producción, problema del transporte, evaluación de créditos, predicciones
financieras, estructuras mecánicas, control automático, redes de datos,
optimización
combinatoria,
robots
móviles,
visualización
en
tres
dimensiones hasta la producción de modelos de software para casos
específicos. En particular, problemas en donde los métodos tradicionales se
46
han mostrado inoperantes o que para encontrar una solución requieren de
una excesiva carga computacional.
En la actualidad, se están empleando los AE para impulsar
desarrollos avanzados, entre ellos destacan: los tejidos electrónicos de la
embriónica con arquitecturas incrementales basadas en el desarrollo de los
organismos vivos a partir de un conjunto de instrucciones genéticas;
Sistemas Inmunes Artificiales, paquetes informáticos robustos, adaptativos,
ligeros y distribuidos para diagnóstico de fallos, detección de intrusos
internos/externos, control de tráfico, y descubrimiento de patrones; y
Sistemas Evolutivos Creativos, una representación basada en componentes
con relajación de restricciones, para aplicaciones no convencionales donde
la búsqueda del óptimo es irrelevante tales composición musical, arte y
diseño conceptual.
La mayoría de las aplicaciones que se han hecho con AE se han
resuelto siguiendo la orientación tradicional en donde se actúa sobre
individuos que tienen características similares, es decir son de una misma
clase, y que conforman una población que se desarrolla en un entorno
estable. Esta es una situación ideal que se aleja mucho de lo observado en la
naturaleza, en donde el medio ambiente cambia permanentemente, la lucha
por la supervivencia se hace entre grupos de individuos pertenecientes a
diferentes especies biológicas, y el propósito de la herencia genética está
orientado a la preservación del ente colectivo, o especie, más que a la
permanencia entre generaciones de un ente unitario (o individuo). En la
actualidad, como un acercamiento a las especies biológicas, se investiga en
métodos de AE que operen con subpoblaciones evolucionables. Aunque
47
para
estas
subpoblaciones
se
preestablecen
los
aspectos
de
su
transformación y características físicas como tamaño, forma, y vecindad, los
resultados en optimización multimodal han sido exitosos [13].
Con la orientación tradicional de evolución de individuos ya se
solucionaban problemas multimodales, pero se obtenía una sola respuesta:
la del óptimo general o la del óptimo más cercano al general. Con la
evolución de subpoblaciones se logran tantas soluciones como especies se
hayan definido en el planteamiento del problema. En la Figura 2 se aprecian
dos casos donde la utilización de subpoblaciones es ventajosa, uno con
varios óptimos locales y el otro con dos óptimos globales de igual valor. En
el primer caso el óptimo general es evidente, la respuesta apropiada depende
de la precisión establecida, pero en el segundo caso, cualquiera de las dos
soluciones corresponde al óptimo global. Si sólo se espera una respuesta, el
AE tradicional encuentra una de las dos, pero no daría suficiente
información para una toma de decisiones correcta.
Figura 2: Dos casos donde los AE con subpoblaciones son
ventajosos
48
Una problemática vigente en los AE es la de garantizar que la
respuesta encontrada es el óptimo global, y si existiesen varios óptimos
globales del mismo valor, garantizar su localización. La toma de decisiones
espaciales y el tratamiento de sistemas dinámicos también demandan otras
soluciones [14, 15], como es la situación que se muestra en la Figura 3,
donde la respuesta más adecuada no es el máximo global sino que es
preferible estar cerca de un óptimo local más alejado del punto crítico
(mínimo global), que tiene un comportamiento diferente al resto del
sistema. Para enfrentar estos desafíos se han extendido los AE al manejo de
diferentes clases de individuos, en contraste con la aproximación de
subpoblaciones de una misma especie.
Figura 3: Un caso que requiere el tratamiento de diferentes especies
en el AE
La existencia de varias poblaciones con diferentes características que
evolucionan de modo concurrente en un mismo espacio lleva a considerar la
fusión de los AE con la ecología. La sinecología es la parte de la ecología
49
que se concentra tanto en las relaciones entre diferentes especies, como de
las relaciones de ellas con el entorno. Esta combinación de AE con
relaciones sinecológicas se ajusta de manera natural a un espacio
multimodal en evolución. Ese espacio multimodal se puede considerar una
comunidad en permanente cambio, en donde cada óptimo es un nicho. En
cada generación los individuos se distribuyen entre los nichos identificados.
Los individuos que se encuentran en cada nicho se organizan como una
especie que evoluciona autónomamente hacia la plena colonización del
nicho. Simultáneamente, cada especie tiene relaciones con las demás
especies presentes en la comunidad multimodal, esas interacciones entre dos
o tres individuos son de competencia, depredación o mutualismo. Como
fruto de esas interacciones las especies se ven sometidas a mayores
presiones evolutivas y se puede dar la migración entre especies. El proceso
continúa hasta que se llega al clímax de la distribución poblacional.
En esta línea de trabajo, recientemente se han propuesto los
Algoritmos Eco-Evolutivos (AEE) que aprovechan la solidez que tienen los
AE para la transformación interna que se logra en las poblaciones con el fin
de lograr un objetivo establecido, en unión con el conocimiento existente de
las relaciones generales entre grupos de individuos que se maneja en la
sinecología [16]. En los AEE no se preestablecen el número de especies, ni
su vecindad, el tamaño, la forma, ni la distribución de las mismas. Las
especies se auto-organizan por lo que las soluciones halladas corresponden
a los diferentes óptimos existentes en el espacio de búsqueda, aún siendo de
diferente clase.
50
Una relación de los AE con la estructura jerárquica de la materia de
acuerdo con la dimensión y la función, se presenta en la Tabla 2. En esta
tabla se ubica la orientación tradicional de los AE con tratamiento evolutivo
de individuos, el campo de acción actual de manejo de subpoblaciones, el
nuevo rumbo como los AEE, donde ya se tienen comunidades compuestas
de especies de diferente clase que compiten o cooperan entre sí y debe
mantenerse cierto equilibrio general en todo el espacio de búsqueda, y el
futuro que se visualiza como la ontogénesis de los individuos, es decir,
obviar la prescripción de la representación de los individuos; la autoorganización, en otras palabras, la relajación y remoción de restricciones
para la evolución; la escalabilidad en los AE, o la posibilidad de ejercer los
mismos procedimientos tanto en entes unitarios como en entes colectivos,
en un sólo proceso evolutivo sin detrimento del mismo; y un autoreconocimiento permanente del estado de la evolución para encauzarla
hacia el objetivo, que requiere una memoria de conservación y a corto
plazo.
51
Universo
Galaxias
Sistemas solares
Planetas vecinos
Planeta Tierra
Biosfera
Ámbito
Bioma
de la
Paisaje
Ecología
Ecosistemas
Nuevo
Comunidades
Ámbito Sinecología
Poblaciones/especies
Ámbito
Organismos
Ámbito tradicional AE Actual
Autoecología
Sistema de órganos
Futuro
Órganos
Ámbito
Tejidos
de los
Células
AE
Protoplasma
Moléculas
Átomos
Partícula subatómica
Tabla 2: AE y estructura jerárquica de la materia
Bibliografía
[1]
Freeman, S., Herron, J., 2002. “Análisis Evolutivo”. Prentice Hall.
Madrid, ISBN: 84-205-3390-4.
[2]
Hernández, J.A., 1999. “Evolución de la Computación Evolutiva”.
II Taller en Renovación y Adaptación de Sistemas. Universidad
Nacional de Colombia. Medellín.
52
[3]
Bäck, T., 1996. “Evolutionary Algorithms in Theory and
Practice”. Oxford University Press. New York, ISBN: 0-19509971-0.
[4]
Angeline, P.J., Kinnear, K.E., 1996. “Advances in Genetic
Programming”. vol. 2. MIT Press. Cambridge, MA.
[5]
Bäck, T., Hammel, U., Schwefel, H., Abril, 1997. “Evolutionary
Computation: Comments on the History and Current State”. IEEE
Transactions on Evolutionary Computation. Piscataway, NJ.
[6]
Holland, J.H., 1992. “Adaptation in Natural and Artificial
Systems”. MIT Press. Cambridge, MA.
[7]
Fogel, L.J., Owens, A.J., Walsh, M.J., 1966. “Artificial
Intelligence through Simulated Evolution”. John Wiley and Sons.
New York.
[8]
Rechenberg,
I.,
1973.
“Evolutionsstrategie:
Optimierung
Technischer Systeme nach Prinzipien der Biologischen Evolution”.
Frommann-Holzboog, Stuttgart.
[9]
Michalewicz, Zbigniew, 1996. “Genetic Algorithms + Data
Structures = Evolution Programs”. 3ª Ed. Springer-Verlag. Berlin,
ISBN: 3-540-60676-9.
53
[10]
Mitchell M., 1996. “An Introduction to Genetic Algorithms”. MIT
Press. Cambrigde, Mass.
[11]
Torres, J., Hernández, J.A., Septiembre 2000. “Modelación de
Sistemas No Lineales por Algoritmos Genéticos y Orientación a
Objetos”. XXVI CLEI. México.
[12]
Goldberg, D.E., 1989. “Genetic Algorithms in Search Optimization
and Machine Learning”. Addison-Wesley, ISBN: 0-201-15767-5.
[13]
Ursem, R., 2000. “Multinational GAs: Multimodal Optimization
Techniques in Dynamic Environments”. Proceedings of the
Genetic and Evolutionary Computation Conf. Morgan Kaufmann.
San Francisco, CA.
[14]
Fleming, P., Purshouse, R., 2002. “Evolutionary Algorithms in
Control Systems Engineering: a survey”. Control Engineering
Practice. vol. 10 (11), pp. 1223-1241. Pergamon Press.
[15]
Hernández, J.A., Peña, A., 2005. “Interpolation and Exploration of
Response Surfaces using Evolutionary NURBS, LaGrange
Constraint and Cylindrical Operators”. Aceptado para publicación
en GECCO-2005. Washington, USA.
[16]
Hernández, J.A., 2004. “Mantenimiento de la Diversidad en
Algoritmos Evolutivos”. Tesis Doctoral. Universidade da Coruña.
A Coruña.
54
Una Aproximación a Sistemas
Inmersivos Colectivos Basada en
Arquitectura de Bajo Coste
Julián Flores1, Antonio Otero y José Ángel Taboada
Instituto de Investigaciones Tecnológicas
Departamento de electrónica y Computación
Universidad de Santiago de Compostela
Email: eljulian@usc.es1
Antecedentes
La realidad virtual (RV), como área de la computación gráfica
dedicada a la construcción de espacios tridimensionales en los cuales el
usuario tiene la sensación de estar inmerso era, hasta hace poco tiempo,
utilizada únicamente en el entorno militar o centros de investigación debido,
principalmente, al elevado precio de los equipos utilizados. Las dos
características más destacables de la R.V. son la realización del proceso de
visualización o render, en tiempo real y el uso de dispositivos de inmersión.
En general, el proceso de visualización de una aplicación de R.V. se
realiza mediante estaciones gráficas de altas prestaciones, siendo S.G.I. la
compañía que lidera casi la totalidad de las ventas de este tipo de equipos.
Cuando nos referimos a dispositivos de inmersión aparecen dos claras
tendencias: equipos unipersonales, donde el Head Mounted Display (HMD)
55
ha sido, durante años, la principal herramienta de investigación y sistemas
de inmersión colectiva donde, sin duda, el CAVE [6] es la herramienta más
ampliamente utilizada [16]. CAVE, acrónimo de Cave Automatic Virtual
Environment, se diseñó al principio de 1991 y su presentación operativa se
realizó en el Siggraph´92. Básicamente es una habitación de 3x3x3 metros
cuyas paredes, suelo y techo son pantallas. Todas las pantallas son retroproyectadas en estéreo activo mediante el uso de LCD estéreo shutter
glasses. El usuario dispone de dos tracker uno situado en la cabeza y otro en
su mano que permite determinar su punto de vista e interaccionar con el
entorno. La imagen es generada por una o varias estaciones gráficas. Y
aunque la calidad del sistema es muy alta, su precio, también elevado, lo
hace en muchos casos inaccesible.
En la actualidad existen un conjunto amplio de investigaciones que
aplican la tecnología del CAVE a diferentes áreas de investigación, que van
desde la propia implementación de la arquitectura propuesta, al software
utilizado, su trabajo en red, y su aplicación en diferentes áreas [16][20][1].
Es importante saber que el termino “CAVE” no puede ser usado para hacer
referencia genéricamente a sistemas de este tipo ya que dicha palabra ha
sido registrada y comercializada por Fakespace Systems en exclusiva a
nivel mundial. Por lo tanto, las variaciones en este tipo de sistemas
deberemos denominarlas o de otra forma o genéricamente CLS (CAVE like
system) [25]. No obstante, el CAVE y los CLS podemos englobarlos dentro
de los sistemas de visualización denominados más genéricamente “tiled
displays” [10][22][14][32] que podríamos traducirlo como baldosa o puzzle
56
de imágenes, es decir sistemas donde la imagen final es la suma de muchas
otras como si de un mosaico se tratara.
Recientemente, la aparición de las nuevas aceleradoras gráficas para
ordenadores personales con prestaciones similares a estaciones de trabajo
con precios muy superiores, y la aparición de nuevos dispositivos de
inmersión, casi de uso doméstico hacen pensar en una rápida evolución y
una amplia difusión de la realidad virtual. Esta evolución está fuertemente
impulsada por la industria del vídeo juego que ha llevado a que cada 6
meses aparezcan tarjetas aceleradoras con capacidades que duplican a sus
predecesoras. Pese a ello, actualmente, las aplicaciones de R.V. que
emplean el P.C. como plataforma hardware son escasas y están
principalmente dirigidas a experiencias unipersonales [19].
Otro elemento a tener en cuenta en el desarrollo de aplicaciones
R.V., es la evolución y adecuación de las API´s de desarrollo. Así, casi la
totalidad de las tarjetas gráficas son compatibles con los estándares gráficos,
principalmente, OpenGL [openGL, web] y/o DirectX [DirectX, web], en
entornos PC, permitiendo, de esta forma, que la misma aplicación sea
compatible con diferentes plataformas hardware, y sistemas operativos: Irix
(SGI), Solaris (SUN), Linux (PC, SGI), WindowsXX (PC).
Por tanto, un interesante campo de investigación es el estudio de la
capacidad de plataformas de bajo coste, principalmente PC´s, en el
desarrollo de aplicaciones de R.V. Este estudio debe presentar dos líneas
principales: por una parte, el estudio de la capacidad de los PC´s para
generar aplicaciones gráficas complejas con una calidad elevada y por otra,
57
el uso y/o desarrollo de dispositivos de inmersión similares a los utilizados
hasta ahora sobre computadoras de más altas prestaciones.
A continuación tratamos cada uno de los elementos que componen
un sistema inmersivo o semi-inmersivo empleando para ello elementos de
bajo coste.
Sistema de proyección
La elección del sistema de proyección es uno de los elementos
fundamentales del sistema, ya que a través de él se presenta al usuario el
entorno y es utilizado como primer elemento de interacción. En muchos
sistemas, un monitor con una calidad alta suele ser suficiente pero no para
un sistema multiusuario con características de C.L.S. donde varios usuarios
tienen que compartir la misma escena, donde se precisa de un área de
visualización amplia y libre de interferencias.
Un buen método para conseguir un área de proyección grande es el
uso de proyectores coordinados. La mayor parte de los sistemas que utilizan
esta estrategia realizan la proyección por la parte trasera de la pantalla
(retro-proyección) a fin de evitar interferencias de los usuarios
La retro-proyección permite al usuario verse delante del entorno
virtual pero no tiene la sensación de estar inmerso en él ya que la imagen no
tiene propiedades tridimensionales. Para obtener estas cualidades es
necesario que la proyección sea estereoscópica mediante la cual el usuario
posee una mayor sensación de inmersión.
58
Distribución de las pantallas
Uno de los gran avance propuesto por el CAVE ha sido que el
sistema de proyección cubría un campo de visión de 180º (figura 1).
Figura 1: Esquema básico del CAVE, campo de visión 180º
Esta aproximación cubre la totalidad de la visión de un usuario, no
obstante presenta un problema importante. Debido a que la distancia a todos
los puntos de las pantallas no es constante, la resolución (número de pixels
por ángulo de visión) depende del punto de la pantalla considerado. El caso
ideal sería en el que la pantalla fuera una semiesfera (figura 2), donde la
distribución de pixels por ángulo es constante.
Figura 2: Display ideal
59
No obstante el uso de este tipo de pantallas presenta problemas
importantes atribuibles a la generación de la imagen y su proyección;
calibración proyección sobre superficies curvas, corrección de la imagen
por hardware o software lo que incremente en muchos casos el precio de los
equipos utilizados y en todos la complejidad del sistema hardware y
software.
Muchos casos optan por una solución de compromiso que se acerque
más que a una solución cuadrada a la de una esfera. La arquitectura es la de
un sistema semi-hexagonal (figura 3).
Figura 3: Distribución de las pantallas
Como podemos ver con esta distribución se consigue que la
distorsión por píxel sea menor y en cambio el campo de visión sigue
manteniéndose. Para una resolución en cada una de las pantallas 1024x768
y puesto que el usuario forma con las pantalla un triangulo equilátero
obtenemos una resolución de 1024/60º = 17.0 pixel por grado.
60
Generación de visión estereoscópica
La generación de la visión estéreo o estereoscópica permite al
usuario verse inmerso en la escena al proporcionar a cada uno de los dos
ojos información diferente, generando una imagen 3D del entorno tal como
se realiza en la vida real. Existen dos métodos para la generación de visión
estereoscópica; estéreo activo y pasivo.
Estéreo activo
Los sistemas activos emplean un único elemento (suma de tarjeta
gráfica y sistema de proyección) que modifica en tiempo real alguno de los
elementos del sistema de proyección. Todos ellos deben trabajar
sincronizadamente para la generación de la imagen de los dos ojos y
asegurando que la imagen izquierda llega al ojo izquierdo y que la derecha
al ojo derecho. Esto se consigue mediante el empleo de dispositivos
especiales que permiten filtrar la imagen correspondiente a cada ojo, en
general gafas especiales. Los dos dispositivos utilizados en este tipo de
estéreo son; Shutter Glasses y pantallas “Z”.
Shutter Glasses
En este caso el dispositivo son unas gafas que disponen de lentes de
cristal
líquido
que
puede
hacerse
opacos
o
transparentes
independientemente mediante control hardware [Stereographics, web]. Las
gafas son controladas por los sistemas gráficos a los que se encuentran
conectadas mediante una red inalámbrica de infrarrojos. Su nombre
61
proviene justamente de los cambios inducidos en los cristales de las gafas
(activas).
Este método implica que el frame rate del sistema deba ser superior
a 60f/s, 30 por ojo, ya que de ser menos se notaria que uno de nuestros ojos
se encuentra oscurecido. Este es uno de los métodos más comúnmente
empleados y sus problemas vienen asociados al elevado frame rate
necesario y al alto precio de las gafas.
Estéreo activo mediante una pantalla “Z”
Una pantalla “Z” es un filtro óptico activo que produce cambios en la
polarización de la luz que lo atraviesa en nuestro caso controlado por el
subsistema gráfico. La imagen generada es polarizada en función de si la
imagen corresponde al ojo derecho o izquierdo encontrándose la
polarización de ambos ojos desfasadas entre sí 90º. Para filtrar las imágenes
se utilizan las denominadas gafas polarizadoras o gafas pasivas. Las gafas
pasivas, al contrario que las activas, poseen cristales polarizados desfasados
entre si 90 grados filtrando, por tanto, la imagen que no se encuentre en
sincronía angular con el ángulo del filtro de cada ojo. El único problema
que se plantea es que se debe mantener la alineación entre la pantalla y las
gafas a fin de no perder la sincronía angular del par imagen gafas. Este
sistema es activo no por las gafas, como ocurría en el caso anterior, sino por
el funcionamiento dinámico de la pantalla polarizadora.
62
Estéreo Pasivo
El estéreo pasivo se basa en la generación de imágenes
independientes para cada ojo, polarizadas y desfasadas 90º. El observador
viste gafas con lentes polarizadas que filtrarán las imágenes, de forma que a
cada ojo llegue sólo la imagen adecuada. Los polarizadores utilizados son,
en general, lineales, no obstante, existen experiencias con sistemas que
utilizan polarizadores circulares, aunque estos son mucho más difíciles de
conseguir.
Existen dos técnicas principales para la generación de estéreo pasivo;
mediante un único o dos proyectores. En el primer caso se emplean dos
dispositivos (tarjeta gráfica + proyector), uno por ojo, para la generación del
par estereoscópico. La imagen de cada proyector es polarizada y presentada
superpuesta junto con la otra sobre la pantalla. En el segundo caso sólo se
empleará un dispositivo (tarjeta + proyector) en este caso el proyector
recibirá las dos imágenes y será él mismo el que se encargue de polarizar la
imagen adecuadamente para su posterior filtrado.
Generación del par estereoscópico
La esencia del par estereoscópico es la generación, procesado y
visualización de dos imágenes, una para el ojo derecho y otra para el ojo
izquierdo paralelamente. Este proceso debe ser lo más transparente posible
al programador y/o al operario de la aplicación y pasar a depender de otros
factores como son el hardware o las API´s utilizadas.
63
La aproximación desarrollada por la mayor parte de los sistemas
gráficos con estéreo activo es emplear cuatro “frame buffers” (quad-buffer),
las imágenes para el ojo izquierdo y el ojo derecho son dibujadas en el
frame oculto mientras al usuario se le muestra la imagen que hay en el
buffer visible para cada uno de los dos ojos. El problema estriba en que no
todos los sistemas gráficos permiten este tipo de buffer y la mayoría de los
sistemas operativos no son capaces de gestionarlos. En este sentido, este
tipo de estéreo se ve totalmente condicionado por el hardware utilizado. Por
el contrario, cuando recurrimos a la generación de estéreo pasivo el abanico
de posibilidades se amplía.
Dos computadores con dos sistemas gráficos
Dos computadores con un adaptador gráfico y un monitor o un
proyector, conectados mediante una red. Cada uno de ellos es identificado
como derecho, o izquierdo generando las imágenes independientes pero
coordinadamente superponiéndolas sobre la pantalla (figura 4).
Las grandes ventajas de esta configuración se fundamentan en que
las imágenes para el ojo derecho e izquierdo son generadas en paralelo lo
cual incrementa la velocidad de visualización respecto a sistemas con un
único equipo al paralelizarse la visualización. No obstante, en la práctica
uno de los dos computadores debe coordinar el sistema. Uno de ellos
visualizará su propia escena en su adaptador y enviará la información
necesaria al otro equipo sobre qué frame debe visualizar en cada momento.
Este proceso puede implicar problemas de sincronización sobre la red
debido a diferencias en el tiempo de render y latencias de transmisión. La
64
posible solución radica en la sincronización mediante un tercer ordenador
que coordina los dos encargados de la visualización. Deberemos tener en
cuenta que en este caso el tráfico de red se duplica.
Figura 4: Generación de estéreo mediante el uso de dos computadores
Un computador con dos sistemas gráficos
En principio el problema de sincronización descrito anteriormente
puede ser resuelto mediante el uso de dos adaptadores sobre el mismo
computador (figura 5). En este caso la aplicación genera las dos imágenes
en el mismo ordenador. Esta configuración es difícilmente implementable
sobre arquitecturas comunes, ya que la mayoría de los adaptadores gráficos
usan un puerto AGP y los PC solo disponen de uno. Sí es verdad que
existen tarjetas gráficas PCI y que los PC´s disponen de varios de estos
puertos, pero debemos de tener en cuenta que la performance de estos
adaptadores es mucho menor que los AGP principalmente debido a un
menor ancho de banda del bus PCI.
65
Figura 5: Un computador con dos adaptadores
Un computador con un sistema gráfico con múltiple salidas
En este caso el sistema gráfico dispone de varias salidas, a las cuales
se conectan varios monitores o proyectores (figura 6). La sincronización es
en este caso es automática, el problema es el desarrollo de una aplicación
que permita separar la imagen correspondiente a cada ojo sobre el mismo
adaptador, ya que en este proceso puede perderse la aceleración del sistema
gráfico.
Figure 6: Un computador con un adaptador dual
Un Computador con un adaptador grafico y doble buffer
Esta técnica consiste en la generación de las dos imágenes sobre el
mismo frame buffer. Para la separación de las imágenes, el buffer es divido
en dos. La división puede realizarse utilizando dos técnicas (figura 7 a,b):
66
x
El buffer es dividido en dos mitades independientes donde la
imagen correspondiente a cada a ojo es generada en el espacio
correspondiente a cada una de ellos.
x
Interlineada donde las imágenes son generadas en líneas
alternas así la imagen del ojo derecho se generaría por
ejemplo sobre las líneas pares y la del ojo izquierdo sobre las
impares.
El principal problema de esta técnica es que se reduce la resolución a
la mitad y evidentemente necesitaremos un conjunto de proyectores que
permitan el procesamiento adecuado de la imagen generada.
Figura 7 a, b: Adaptador gráfico con doble buffer, superior-inferior,
interlineado
67
Sincronización de las imágenes
Como vimos en el apartado anterior en muchos casos la generación
del par estereográfico supone la coordinación de las imágenes generadas
independientemente sobre la misma o incluso en diferentes máquinas.
Existen dos técnicas que permiten obtener sincronía entre las diferentes
imágenes a fin de que correspondan al mismo instante temporal.
Gen-locking
Este sistema de coordinación está dirigido principalmente a la
sincronización de vídeos mediante técnicas de estéreo activo. Por lo tanto,
el refresco de vídeo de todos los proyectores debe ser realizado
simultáneamente y todas las señales de sincronismo horizontal y vertical
deben estar absolutamente coordinadas a fin de poder usar gafas activas.
Algunas Workstation resuelven el problema mediante la utilización
de sistemas gráficos con salidas complementarias de coordinación que se
conectan a todos los sistemas gráficos, necesitando en muchos casos una
fuente externa de tiempos para su sincronización. No obstante, las tarjetas
gráficas comunes para PC´s no disponen de esta posibilidad, siendo el
ámbito de utilización de esta técnica limitado.
Frame buffer o frame locking
Frame-locking es un proceso relativo a la sincronización de los
frame buffer en cada uno de los elementos del cluster. El objetivo de esta
68
sincronización es generar la apariencia de un único frame buffer que está
distribuido por todos los nodos.
Normalmente las tarjetas gráficas usan la técnica de doble buffer
para mantener en sincronía las imágenes generadas con el refresco de vídeo.
En esta situación una imagen es presentada mientras la nueva está siendo
generada. Cuando el nuevo frame se finaliza la tarjeta gráfica intercambia el
nuevo frame re-dibujándolo sobre el viejo. Esta técnica busca que el
proceso de refresco imagen nueva-vieja se realice de una forma coordinada
en todos ellos.
La técnica de frame-locking es la que hemos desarrollado en nuestro
trabajo. Todos los ordenadores visualiza la parte de la escena que le
corresponde pero la imagen generada no es visualizada hasta que se recibe
una señal de control por parte de un computador que coordina el sistema, el
único problema radica en que la señal de control llegue a todos ellos a la
vez.
Proyectores
Los proyectores son el elemento del que depende la representación
de la imagen sobre la pantalla. Existen un conjunto importante de
propiedades que deben ser examinadas a la hora de elegir un sistema de
proyección: características de la luz que emiten, luminosidad, frecuencia de
muestreo, resolución, zoom, foco, brillo, calidad de la imagen, ajuste de la
misma, alineamiento, correcciones de color, apertura de campo, interface
con otros equipos, etc. La elección de los proyectores debe ser realizada
69
individualmente y es imposible proponer un sistema de proyección de
carácter general. No obstante, comentaremos brevemente su posible
clasificación así como sus parámetros determinantes. Tipos de proyectores
[11]:
x
Light Cristal Display (LCD) o Digital Light Proyector (DLP),
empleados para presentaciones, portables, y de precio
económico.
x
Multichip LCD o DLP, diseñados para instalaciones
permanentes
x
Proyectores de altas prestaciones que emplean tecnología
CRT, LCD, DLP...
A continuación detallaremos los parámetros más significativos que
se deben de tener en cuenta así como sus valores típicos En cuanto a la
resolución valores entre 1024x768 y 1280x1024 pixels suelen ser
adecuados; este parámetro se ve influenciado por el tamaño de la pantalla de
proyección y la distancia a la que éstos estén situados. Un brillo de entre
500 a 1000 lumens es suficiente para una sala iluminada tenuemente.
Debe de permitir color real uniforme a lo largo de toda la proyección
al menos un 80% y la posibilidad de su corrección automática en función
del color de los restantes proyectores del sistema. Los proyectores
económicos no suelen permiten una fácil modificación del color, su bloqueo
y su conexión con otros de forma que automáticamente puedan obtener la
misma calidad cromática.
70
Los proyectores deben tienen un amplia variedad de frecuencias de
muestreo, típicamente esta tasa se centra entre 80 y 100 f/s la cual no es
suficiente para el estéreo activo. Por tanto, deberemos asegurarnos que esta
tasa es suficiente para la aplicación final que se pretende desarrollar.
En cuanto a los sistemas ópticos, zoom, focos, etc., deberemos
asegurarnos que no introducen distorsiones en las imágenes y es posible
estabilizarlo con respecto a los otros elementos.
Materiales de las pantallas
En los últimos años el uso de pantallas de proyección se ha
popularizado incluso a un nivel de consumo doméstico. Esta popularización
ha incrementado el mercado de materiales empleados para su construcción,
no obstante debido a las especiales características de nuestro sistema no
todos ellos son aplicables. Las pantallas deben tener unas características
especiales en cuanto a su reflectancia, contraste, posibilidad de ser
encontrada en distintos formatos, solidez, peso y por supuesto propiedades
ópticas.
En primer lugar el material debe de tener unas características físicas
suficientes. Por ejemplo, en proyecciones de gran tamaño el material deber
poseer un equilibrio entre peso y flexibilidad de forma que no se doble por
su propio peso, en cuyo caso no es necesario una estructura de soporte. El
material debe mantener las propiedades ópticas de la luz que sobre ella
incide, en especial la capacidad de mantener la polarización de la luz
incidente. Si, por ejemplo, queremos realizar una proyección estéreo pasivo
71
donde la luz debe estar polarizada, el material debe mantenerla. Esta serie
de propiedades debe ser indicada por el fabricante.
Elección de plataforma y sistemas operativos
Actualmente dos tipos de sistemas de computadores se emplean para el
desarrollo de sistemas C.L.S.. Estaciones gráficas con múltiples tarjetas
gráficas (pipes) y cluster de PC´s. Cada uno, de las arquitecturas resuelve
los mismos retos: manejo de datos, velocidad de cálculo, ancho de banda de
los sistemas gráficos, sincronización de displays, y desarrollo de
aplicaciones desde distintos puntos de vista.
Estaciones de trabajo
Las estaciones de trabajo principalmente de la compañía S.G.I.
(Silicon Graphics Interface) en su gama Onyx2 presentan una arquitectura
escalable ya que es posible que nuevas pipelines gráficas puedan ser
instaladas sobre el mismo computador y proporcionan así un dispositivo
multimonitor o multiproyección. Esta estrategia simplifica el desarrollo de
aplicaciones “title display” al facilitar la coordinación del sistema pero
presenta dos problemas:
Primero, el número de tarjetas gráficas por máquina viene
condicionada por su diseño, siendo no flexible y no escalable; y segundo, el
elevado precio de los equipos que no siempre los hace accesibles a
cualquier grupo de trabajo.
72
Granjas de PC´s
Una interesante alternativa al sistema basado en Workstation es el
empleo de cluster o granjas de PC´s. Esta debe abordar los problemas antes
planteados desde un nuevo punto de vista:
Primeramente, los cluster de PC´s no pueden compartir memoria. Lo
que hace necesario dividir y distribuir los procesos de generación de la
imagen de forma que cada uno de los PC´s procese una parte de la misma y
su unión mediante un “mosaico” genere la imagen final.
Segundo, aunque la capacidad gráfica de las aceleradoras para este
tipo de equipos crece día a día, todavía dista del de las Workstation. Por
tanto, deberemos desarrollar soluciones imaginativas que permitan la
visualización de escenas complejas en tiempo real.
Tercero, la granja de PC´s necesita tener una red de trabajo con un
buen ancho de banda que debe permitir compartir datos y sincronizar los
procesos. Una mala sincronización o latencias bajas en la red pueden
producir problemas de actualización y coordinación en los procesos.
Como podemos intuir a pesar de los problemas que a priori plantea
una aproximación de este estilo ofrecería una relación precio/rendimiento
mayor que las Workstation. De este modo, la visualización en tiempo real
de escenas complejas mediante cluster de PC´s se ha convertido en uno de
los mas interesantes campos de la computación gráfica actual [Argonne,
AT&T Infolabs].
73
Arquitectura en una granja de PC´s
Hay varias posibles arquitecturas que podemos definir en un cluster,
las cuales determinarán, su rendimiento, coste, portabilidad, escalabilidad y
flexibilidad. Es posible clasificarlas en función de dos elementos: la
configuración de los nodos que componen el cluster y la distribución de
dispositivos sobre dichos nodos.
Todos los nodos pueden ser iguales en cuyo caso hablamos de nodos
homogéneos o diferentes tratándose entonces de una granja de nodos
heterogéneos. Si los dispositivos son distribuidos de una forma homogénea,
es decir, todos los elementos del nodo tienen acceso a los mismos
dispositivos, diremos que la distribución es simétrica y en caso contrario
asimétrica. En el caso de una distribución asimétrica existirá un nodo
dominante el cual soportará mayor parte del trabajo y estará por tanto
dotado de una serie de dispositivos especiales.
Las diferentes arquitecturas pueden variar desde heterogéneas
asimétricas a homogéneas y simétricas. A continuación presentamos un
ejemplo de cluster heterogéneo y asimétrico (figura 8). Por ser asimétrico
los nodos pueden presentar características hardware que los hacen
diferentes, por ser asimétrico los dispositivos se encontrarán centralizados
en un único elemento del cluster. Así, el elemento dominante tendrá varias
tarjetas gráficas o múltiples salidas de video a cada una de las cuales se
conectaría su proyector de video o monitor. Este gestionará la información
procesada por los restantes elementos del cluster. Esta arquitectura no es
74
demasiado flexible ya que está implementada sobre mínimas fuentes. Sí es
verdad que el precio de su implementación puede ser considerablemente
bajo, ya que teóricamente cualquier equipo puede ser incorporado al cluster.
Figura 8: Organización de un cluster asimétrico y heterogéneo
Los cluster simétricos y homogéneos, (figura 9) están basados en
computadores de similares características conectados a una red, todos ellos
dotados de tarjetas gráficas y sistemas de proyección con preformase
equivalentes. Esta es la mejor arquitectura en lo que se refiere a flexibilidad,
performance, escalabilidad y facilidad para el desarrollo de aplicaciones.
Este tipo de arquitectura cuenta con un ordenador de consola o server
mediante el cual es posible gestionar el resto de equipos repartiendo las
tareas a realizar por cada uno de ellos.
75
Figura 9: Organización de un cluster simétrico y homogéneo
Las aplicaciones
El desarrollo de aplicaciones sobre cluster de PC´s es complejo. Esta
complejidad aumenta si se debe trabajar en tiempo real como es el caso de
aplicaciones V.R.. En la bibliografía es posible encontrar diversas
experiencias sobre el desarrollo de este tipo de aplicaciones sobre
arquitecturas similares a la nuestra y que pueden ser extrapoladas en mayor
o menor medida a nuestro proyecto; éstas son:
x
Diseño a medida
x
Aplicación distribuida
x
Distribución de las 2D/3D primitivas.
Diseño a media
En este caso la aplicación está compuesta por dos elementos: un
controlador de la aplicación y la aplicación propiamente dicha. El
76
controlador se ejecuta sobre el server y la aplicación en cada uno de los
clientes de cluster. El controlador envía comandos sobre la red que la
aplicación de los clientes lee y que cada uno de ellos interpretará en función
de un conjunto de parámetros que lo identifican dentro del cluster. Las
aplicaciones leerán el escenario o elementos necesarios de un disco
compartido para todas las aplicaciones y visualizarán la parte de la escena
que le ha sido encomendada.
Este tipo de implementación se emplea en aplicaciones que no
necesitan trabajar en tiempo real ya que el proceso de carga y descarga de la
escena por parte de las aplicaciones es lento.
Distribución de las 2D/3D primitivas
Este método a diferencia de los anteriores que trabajan básicamente a
nivel de usuario, es operativo a nivel de driver no siendo necesario realizar
modificaciones en la aplicación para su funcionamiento en el cluster.
Cuando se trabaja bajo el sistema operativo (S.O.) Windows se tiene
cierta ventaja respecto a otros S.O. por su estructura. Como es sabido, el
método de programación en Windows es mediante API´s cuyas librerías se
encuentran almacenadas en DLL (librerías de acceso dinámico). Es posible,
por tanto, sustituir estas librerías o interceptar los instrucciones o llamadas
que se realizan a la tarjeta gráfica modificando el comportamiento que se
realizaría y adaptándola a nuestras necesidades.
77
Esta estrategia posee una gran ventaja respecto a las anteriores dada
su total transparencia respecto al usuario y programador. En este sentido
todas las aplicaciones desarrolladas para un único elemento son
automáticamente extrapolables al cluster.
Un problema inherente a este tipo de diseño es la necesidad de
actualizar el nuevo driver desarrollado en función del nuevo hardware del
mercado.
Aplicación distribuida
Cuando hablamos de una aplicación distribuida en este tipo de
sistemas tratamos con aplicaciones distribuidas a nivel de comando. Es
decir, cada PC del cluster tiene una copia de la aplicación que ejecuta de un
modo u otro en función de comandos que recibe. Los comandos proceden
de una nueva copia de la aplicación que se ejecuta en un server. La copia
del server tiene características especiales ya que coordina el cluster, realiza
tareas comunes a todos los nodos y actúa de interfaz con el usuario.
Interface Aplicación-Usuarios
Uno de los principios de la VR es la inmersión e interacción en
espacios virtuales [3]. Por los tanto, la aplicación necesita recibir y
proporcionar información al usuario; posición de su punto de vista,
interacción con el entorno virtual y la generación del sentido de la
presencia. Estas tareas se realizan mediante distintos tipo de elementos, los
más comúnmente empleados son:
78
x
Sistemas de posicionamiento Tracking.
x
Uso de joystick.
x
Conversores analógicos digitales, PLC´s
Los sistema de posicionamiento, trackers, nos permiten conocer esta
información y procesarla de un modo adecuado. El joystick como elemento
fundamental de navegación en espacios virtuales es actualmente de amplia
utilización en especial en la industria de los videojuegos. Por último
conversores digitales y PLC´s que no permitirán acceder más fácilmente a
otros elementos del entorno tales como motores, actuadores, ventiladores,...
Todos estos elementos han sido combinados en el sistema. El punto
de vista del sistema se conoce en base a un sistema de tracking que el
usuario utiliza. Del mismo modo y a fin de que pueda desplazarse por el
sistema de una manera dinámica, el usuario el usuario utiliza un joystick
bien sea en su modalidad de palanca o volante. Una tarjeta de conversión
analógico digital nos permite interactuar con distintos elementos del
entorno.
Bibliografía
[1]
Alborzi, H., Druin, A., Montemayor, J., Sherman, L., Taxn, G.,
Best, J., Hammer, J., Kruskal, A., Lal, A., Plaisant, S.T., Sumida,
L., Wagner, R., Hendler, J., 2000. “Designing StoryRooms:
Interactive Storytelling Spaces for Children.” In Proceedings of
Designing Interactive Systems ACM Press, pp. 95-104.
79
[2]
Anderson, D.B., Casey, M.A., “The sound dimension”, IEEE
Spectrum, March, 1997, pp. 46-50.
[3]
Bowman, D., Johnson, D., Hodges, L., 2001. “Testbed Evaluation
of Virtual Environment Interaction Techniques. Presence:
Teleoperators and Virtual Environments”, vol. 10 (1), pp. 75-95.
[4]
Bowman, D., Kruijff, E., LaViola, J., Poupyrev, I., 2001. “An
Introduction to 3D User Interface Design. Presence: Teleoperators
and Virtual Environments”, vol. 10 (1), pp. 96-108.
[5]
Chenney S., Ichnowski, J., Forsyth, D., March/April 1999,
“Dynamics modeling and culling”, IEEE Computer Graphics and
Applications, vol. 19(2), pp. 79-87.
[6]
Cruz-Neira C., Sandin, D., DeFanti, T., 1993. “Surround-Screen
Projection-Based Virtual Reality: The Design and Implementation
of the CAVE”, In Computer Graphics Proceedings, Annual
Conference Series, ACM SIGGRAPH, New York, pp. 135-142.
[7]
Flores, J., Arias, J., Saavedra, S., Varela, E., Ferro, J.M., Saco, P.,
2000. “Una aproximación a sistemas inmersivos colectivos basada
en arquitectura PC”, CEIG´2000, pp. 93-96.
[8]
Friesen, J.A., Tarman, T.D., 2000. “Remote High-Performance
Visualization and Collaboration”, IEEE Computer graphics and
Application, vol. 20, pp. 45-49.
80
[9]
Schaufler, G., 1996, “Exploiting Frame-to-Frame Coherence in a
Virtual Reality System”, VRAIS 96 Proceedings, pp. 95-102.
[10]
Hereld, M., et al., 2000, “Developing Tiled Proyection Displays
Wall System”, IEEE Computer graphics and Application, vol. 20
(4), pp. 29-37.
[11]
Hereld, M., Steven, R.L., 2000, “Introduction to building
Projection-based Tiled Displays System”, IEEE Computer graphics
and Application, vol. 20 (4), pp. 22-28.
[12]
Hodges L., Pair, J., Jensen, C., Flores, J., Wilson, J., Gotz, D.,
2000. “The NAVE: Design and Implementation of Non-Expensive
Immersive Virtual Environment”, Siggraph2000 Sketches and
Applications, pp. 249-250.
[13]
Hubbard, P., 1995. “Collision Detection for Interactive Graphics
Application.” IEEE Trans. On Visualization and Computer
Graphics, vol. 1 (3), pp. 218-230.
[14]
Humphreys, G., Hanrahan, P., 1999. “A Distributed Graphics
System for Large Tled Displays”, Proc. IEEE Visualization, ACM
Press, New York.
[15]
I3DGS, April 1999. Demo presented in Interactive 3D Graphics
Symposium´99 Atlanta, Georgia.
81
[16]
Leight, J., et al., 1999. “A review of Tele-Immersive Applications in
the CAVE Research Network”, Proceedings Virtual Reality´99
Conference (VRAIS´99), Huston, Texas, pp. 180-187.
[17]
Rafferty, M.M., Aliaga, D.G., Lastra, A.A., 1998. “3D Image
Warping in Architectural Walkthroughs”, Proceedings Virtual
Reality´98 Conference VRAIS '98, March 14-18, pp. 228-233.
[18]
Preparata, F.P., Shamos, S., 1985. Computacional Geometry: An
Introduction, Springer-Verlag, New York.
[19]
Ribarsky, W., 1998. “The times they are a-changing: PC graphics
moves in”, IEEE Computer Graphics and Applications, May/June
1998, vol. 18 (3), pp. 20-25.
[20]
Roy, T.M., Cruz-Neira, C., DeFanti, T.A., 1995. “Cosmic Worm in
the CAVE: Steering a High Performance Computing Application
from a Virtual Environment.” PRESENCE: Teleoperators and
Virtual Environments, MIT Press, vol. 4 (2), pp. 121-129.
[21]
Sanmartin, J.R.,1984. “O Botafumeiro: parametric pumping in the
Middle ages.” Am. Journal of Physics, vol. 52 (10), pp. 937-945.
[22]
Schikore, D.R., et al., 2000. “High-Resolution Multiproyector
Display Walls”, IEEE Computer graphics and Application, vol. 20
(4), pp. 38-44.
82
[23]
Schubert, T.W., Friedmann, F., Regenbrecht, H.T., April 1999.
“Decomposing the Sense of Presence: Factor Analytic Insights.”
2nd International Workshop on Presence, University of Essex, UK,
pp. 6-7.
[24]
Schubert,
T.W.,
“Embodied
Friedman,
Presence
in
F.,
Regenbrecht,
Virtual
H.T.,
Environments.”
1999.
Visual
Representations and Interpretations, Springer-Verlag, London, pp.
269-278.
[25]
Serón, F.J., Gutierrez, D., Magallón, J.A., 2002. “Case study: fullsize virtual model of trains.” Proceeding SIAG 2002, pp. 49-58.
[26]
Sheridan, T.B., 1999. “Descartes, Heidegger, Gibson, God:
Towards and Eclectic Ontology of Presence.” Presence, vol. 8 (5),
pp. 551-559.
[27]
Singhal, S., Zyda, M., July 1999. “Networked virtual environment:
Design and implementation”, ACM Press Siggraph Series, New
York, ISBN: 0-201-32557-8.
[28]
SIPAC, October 1999. Demo presented in SIPAC´99 International
Symposium of Heritage and Culture. Santiago de Compostela,
Spain.
83
[29]
Slater, M., Usoh, M., 1993. “Representation Systems, Perceptual
Positions, and Presence in Immersive Virtual Environments.”
Presence, vol. 2 (3), pp. 221-33.
[30]
Tanenbaum, A., 2003.”Computer Networks, Fourth Edition.”
Prentice Hall, ISBN: 0-13-066102-3.
[31]
Walker, J., Walker, J., 1977. “The Flying Circus of Physics.” John
Wiley & Sons, pp. 38, ISBN: 0-471-02984-X.
[32]
Wei, B., et al, 2000. “Visualization Research with Large Displays”,
IEEE Computer graphics and Application, vol. 20, pp. 50-54.
[33]
Whitaker, R., Crampo, C., Breem, D., Tuceryan, M., Rose, E.,
1995. “Object Calibration for Augmente Reality.” Computer and
Graphcis Forum, vol. 14 (3), pp. 15-27.
[34]
Witmer, B.G., Singer, M.J., 1998. “Measuring Presence in Virtual
Environments: A Presence Questionnaire.” Presence, vol. 7 (3),
pp. 225-40.
84
Predicción No Supervisada de Entornos
Cambiantes: Aplicación Práctica al
Problema de las Mareas Rojas
Florentino Fdez-Riverola
Departamento de Informática
Escuela Superior de Ingeniería Informática
Universidad de Vigo
Email: riverola@uvigo.es
Introducción
Las mareas rojas (red tides), son un tipo de fenómeno biológico
marino caracterizado por la proliferación masiva y esporádica (bloom) de
especies fitoplanctónicas. La intensidad de estos fenómenos puede ser tal,
que la concentración de estos microorganismos sea tan elevada como para
cambiar la coloración del agua del mar, de ahí su nombre. En determinadas
ocasiones estos episodios resultan ser tóxicos (HAB, Harmful Algae
Blooms), como el producido por algunas especies de diatomea del género
pseudo-nitzschia spp., asociada a episodios de toxicidad amnésica (ASP,
Amnesic Shellfish Poisoning). Aunque estos episodios pueden ser
frecuentes, en general son impredecibles y su duración es breve e irregular.
Con el fin de resolver el problema que presenta la predicción de este
tipo de fenómenos en la costa gallega, en este trabajo se desarrolla un
85
sistema híbrido neuro-simbólico, capaz de predecir parámetros en entornos
complejos y dinámicos de forma no supervisada. En situaciones en las que
no se conocen las reglas que determinan la evolución de un sistema, la
predicción de parámetros que caracterizan su comportamiento puede ser una
tarea complicada. En estas situaciones, se ha constatado que un modelo
híbrido centrado en un sistema de razonamiento basado en instancias
(Instance-Based Reasoning) puede ofrecer un método más efectivo de
realizar predicciones que el proporcionado por otras técnicas conexionistas
o simbólicas.
Modelo de predicción desarrollado
El modelo implementado utiliza un sistema de razonamiento basado
en instancias [1] que incorpora una estructura adaptativa de nodos (EAN)
[2], una red de funciones de base radial (RBF) [3] y un conjunto de sistemas
difusos de tipo Sugeno [4], con el objetivo de proporcionar una predicción
lo más precisa posible. Cada una de estas técnicas, se utiliza en una etapa
diferente del ciclo de vida del sistema IBR para recuperar datos históricos,
adaptarlos al problema actual y revisar la solución propuesta.
Cada vez que es necesario obtener una nueva predicción, el sistema
híbrido evoluciona a través de 3 etapas que permiten: (i) identificar las
situaciones pasadas más semejantes a la actual, (ii) adaptar el conocimiento
existente para generar una predicción inicial y (iii) validar o ajustar el valor
generado mediante un mecanismo de revisión. El ciclo se completa, cuando
se conoce el valor real para el cual se generó la predicción. La fase de
86
aprendizaje garantiza que el sistema evoluciona de forma paralela a como lo
hace el sistema real, basando las acciones correctoras en el cálculo del error
cometido con anterioridad.
Figura 1: Arquitectura del sistema híbrido desarrollado
La metodología seleccionada como marco para la construcción del
sistema híbrido, es la proporcionada por los sistemas de razonamiento
basado en instancias, automatizando completamente las cuatro fases de su
87
ciclo de vida clásico. La figura 1 muestra las relaciones de alto nivel
existentes entre los distintos componentes del sistema híbrido. El ciclo de
operación está inspirado en el trabajo de Aamodt y Plaza [5].
Tecnologías empleadas
La figura 2 muestra un resumen de las tecnologías empleadas en
cada etapa del sistema IBR. Para cada una de ellas se muestran los datos de
entrada, el proceso llevado a cabo y los datos de salida que serán utilizados
en etapas posteriores del proceso de predicción.
Figura 2: Tecnologías que componen el sistema híbrido
88
Funcionamiento del sistema híbrido de IA
En el entorno operacional, diariamente se introducen nuevos datos al
sistema procedentes de cálculos realizados a partir de boyas oceanográficas,
información meteorológica perteneciente a diferentes sensores y datos
generados a partir del análisis de imágenes enviadas por satélite. Todos
estos datos son almacenados en una base de datos temporal, hasta que se
obtiene toda la información necesaria para construir un nuevo descriptor de
problema (o instancia-problema). Este descriptor está formado por un vector
numérico, que contiene el conjunto de valores que definen e identifican una
situación, para la cual el sistema deberá llevar a cabo un ciclo completo de
razonamiento (un nuevo problema para el que habrá que realizar una
predicción).
Con una periodicidad semanal, se recoge información de distintas
estaciones oceanográficas que forman parte de la red de monitorización
costera del CCCMM [6], completando el ciclo de adquisición de
información y generando el vector de valores que define al nuevo problema,
a partir de los datos almacenados en la base de datos temporal. A este
descriptor de problema generado con periodicidad semanal, se le denomina
instancia-problema, y describe numéricamente en el sistema un nuevo caso
real para el cual es necesario generar una predicción.
Semanalmente se presenta una nueva instancia-problema (parte
superior-izquierda de la figura 1) al sistema. La red EAN identifica la clase
o prototipo de problemas más similar al problema actual (etapa I en la
89
figura 1), que se utiliza para recuperar de la memoria del sistema IBR
aquellas instancias (situaciones anteriores), cuyo descriptor sea más
semejante al que define el problema presente (o instancia-problema).
Debido a la estructura de la red EAN utilizada como mecanismo de
indexación y cálculo de similitud, el número de instancias inicialmente
seleccionadas es variable, dependiendo de la posición que ocupe el vector
instancia-problema en el espacio de entrada y de la densidad de información
alrededor de ese punto.
Las k instancias recuperadas en la fase anterior, se utilizan para
reentrenar la red RBF modificando el valor de los pesos y la posición de los
centros, pero manteniendo constante el número de éstos (etapa II en la
figura 1). Tras esta fase de adaptación de la red RBF, el nuevo descriptor de
problema se presenta a la red y se genera una solución inicial (predicción
propuesta).
Durante el proceso de revisión (etapa III en la figura 1), la solución
inicial generada en la fase anterior se ajusta con el objetivo de obtener una
solución final contrastada. Para ello, a partir de la configuración de la red
RBF existente en la base de conocimiento (parte inferior de la figura 1), se
construyen varios sistemas de inferencia difusos que constituyen el
subsistema de revisión del modelo. Para cada prototipo (agrupación de
instancias similares) identificado por la red EAN, se mantiene un vector
local de pesos que pondera el grado de exactitud de cada sistema difuso a la
hora de realizar la revisión de la predicción inicial. La solución inicial
propuesta por la red RBF se contrasta con la salida generada por cada uno
de los sistemas difusos, aceptando o refutando dicho valor y generando una
90
explicación (en forma de reglas difusas) de la solución adoptada (predicción
final contrastada).
El proceso de aprendizaje (etapa IV en la figura 1), se lleva a cabo
cuando se conoce el valor real de la solución al problema planteado. Se crea
un nuevo caso añadiendo a la instancia-problema el valor real de la
concentración de la diatomea pseudo-nitzschia spp., e incorporándolo a la
memoria del sistema IBR para su uso posterior. El error cometido en la
predicción de la instancia-problema, se utiliza para actualizar localmente las
estructuras de conocimiento de cada uno de los subsistemas que componen
el híbrido.
Aplicabilidad del modelo desarrollado
La producción de mejillón en España es de unas 75 toneladas
anuales por batea. Del total de la producción española, la comunidad
gallega genera el 98% con un total de 3.242 bateas. A nivel mundial,
España ocupa el segundo puesto después de China, con una producción total
de 255.928 toneladas anuales, lo que supone un movimiento económico
aproximado de 108 millones de euros (18.000 millones de pesetas). A parte
de
los
ingresos
económicos,
esta
actividad
productiva
genera
aproximadamente 6.000 puestos de trabajo directos y 15.000 indirectos. El
desarrollo de especies fitoplanctónicas de forma masiva en las costas
gallegas, afecta drásticamente a esta industria de tanto auge e importancia.
Los daños ocasionados por estos episodios causan secuelas a dos niveles: (i)
afectando a la salud de los consumidores y (ii) produciendo daños a los
91
organismos cultivados. En este último caso se producen grandes pérdidas
económicas, tanto por el deterioro o la muerte de los cultivos, como por la
imposibilidad de su comercialización.
El modelo propuesto se ha adaptado al problema de la predicción de
mareas rojas, en las aguas costeras del noroeste de la Península Ibérica. En
este sentido, la posibilidad de poder predecir la aparición de especies
tóxicas, conlleva una mejora en la capacidad para poder detectar la
toxicidad de los moluscos a tiempo, disminuyendo la probabilidad de que
moluscos contaminados lleguen al mercado. En caso de que existan
especies perjudiciales difícilmente detectables por técnicas de bioensayo,
también permite advertir al sector del peligro existente. En ambos
supuestos, se disminuye el problema económico y se elimina el problema
sanitario.
Bibliografía
[1]
Fdez-Riverola, F., Corchado, J.M., 2003. “Forecasting Red Tides
Using an Hybrid Neuro-Symbolic System”. AI Communications,
vol. 16 (4), pp. 221-233.
[2]
Azuaje, F., Dubitzky, W., Black, N., Adamson, K., 2000.
“Discovering Relevance Knowledge in Data: A Growing Cell
Structures Approach”. IEEE Transactions on Systems, Man and
Cybernetics, B, vol. 30 (3), pp. 448-460.
92
[3]
Haykin,
S.,
1999.
“Neural
Networks:
a
Comprehensive
nd
Foundation”. 2 Edition. Prentice Hall, ISBN: 0-132-73350-1.
[4]
Takagi, T., Sugeno, M., 1985. “Fuzzy identification of systems and
its applications to modeling and control”. IEEE Transactions on
Systems, Man and Cybernetics, vol. 15, pp. 116-132.
[5]
Aamodt,
A.,
Plaza,
E.,
1994.
“Case-Based
Reasoning:
foundational Issues, Methodological Variations, and System
Approaches”. AI Communications, vol. 7 (1), pp. 39-59.
[6]
CCCMM, 2002. “Centro de Control da Calidade do Medio
Mariño”. [http://www.cccmm.cesga.es].
93
Búsqueda Aproximada de Patrones de
Puntos en 2D y 3D
Arno Formella
Departamento de Informática
Universidad de Vigo
Email: formella@ei.uvigo.es
Introducción
La búsqueda de información específica en un gran conjunto de datos
es una tarea común en muchas aplicaciones. Cualquier usuario ya ha
realizado alguna vez una búsqueda de todas las ocurrencias de cierta palabra
en un texto, incluso en el caso de que no se busque solamente la palabra
exacta, sino también ciertas variaciones. La tarea se complica bastante si se
trata de búsquedas aproximadas en espacios geométricos de dos o tres
dimensiones (2D o 3D) [1]. Por ejemplo, la búsqueda en una base de datos
de huellas dactilares de todas aquellas huellas que tengan cierta similitud
con una huella encontrado parcialmente en el lugar del crimen es una tarea
bien conocida, pero su solución no es tan obvia [15].
Otro ejemplo fácil de entender es la búsqueda de una constelación
estelar en un atlas astronómico de la cual se ha tomado una fotografía [16].
A lo mejor el observador quiere averiguar si hay nueva información en la
95
toma porque se ha mejorado la técnica del telescopio o porque ha nacido
una nueva estrella en el espacio.
Un ejemplo 3D sería el caso de buscar una zona activa, es decir, una
zona donde actúa por ejemplo un medicamento, en un conjunto de
proteínas. Así se puede comparar y alinear proteínas en su estructura
tridimensional que podría ser una ayuda para diseñar nuevos medicamentos
basándose en la información estructural de las proteínas [6, 7, 10, 13, 17].
Presentamos en esta ponencia un algoritmo que se puede aplicar en
muchos de los campos descritos. Hablando de forma más abstracto se trata
de, dado un conjunto de puntos como patrón (normalmente pocos puntos
con pequeña extensión espacial) y otro conjunto de puntos como espacio de
búsqueda (normalmente muchos puntos con cierta extensión espacial),
calcular la parte más grande del patrón y el sitio dónde dicha parte se alinea
mejor en el espacio de búsqueda. El algoritmo aprovecha de conceptos de
optimización tales como minimización de funciones con o sin derivadas,
retro-propagación, Algoritmos Genéticos y Búsqueda Tabú Reactiva. Para
llegar rápidamente a soluciones aceptables, el algoritmo necesita estructuras
de datos eficientes y emplea heurísticas adaptadas al problema concreto.
Formalización del problema
Informalmente podemos describir el problema propuesto como: dado
un espacio de búsqueda y un patrón, encuentra el sitio en el espacio que
mejor representa el patrón. Una extensión natural es el problema de
encontrar la parte más grande del patrón que esté representado de forma
96
aproximada en el espacio de búsqueda. Con otras palabras, estamos
interesados en encontrar las partes comunes de dos conjuntos de puntos. En
casos prácticos, a lo mejor, también se quiere permitir cierta deformación
del patrón.
Emparejamientos
Sean el espacio de búsqueda
patrón de búsqueda
S
^s 0 , s1 , , s n 1 ` d
^p 0 , p1 , , p k 1 ` d
P
puntos discretos en el espacio euclidiano de la dimensión
y el
dos conjuntos de
d
2od
3.
Asumimos que el patrón no tenga más puntos que el espacio de búsqueda,
es decir
S
ntk
P
.
Un emparejamiento es una función que asigna a cada punto del
patrón de búsqueda un punto diferente del espacio de búsqueda. Entonces,
un emparejamiento es una función injectiva
diferente a
pj
también
notación, escribimos
P pi
P : P o S , es decir, si p i es
es diferente a
P pj
. Para abreviar la
S ' P P y si ' P pi .
Una pregunta importante en relación con un emparejamiento es:
¿Cómo podemos transformar el patrón para que esté posicionado de cierta
manera próxima a su homólogo en el espacio de búsqueda?
97
Transformaciones
Una transformación es una función que asigna a cada punto del
espacio euclidiano un nuevo punto en el mismo espacio, es decir, una
transformación es una función T : o . Para abreviar la notación
d
d
escribimos para un punto transformado
conjunto transformado
pi ' T pi
y para todo el
P' T P .
Las transformaciones que consisten solamente en una combinación
de traslaciones, rotaciones y reflexiones mantienen las distancias, es decir,
para dos puntos
pi , p j P
tenemos
d pi , p j
d pi ' , p j '
siendo
d una función que calcule la distancia entre dos puntos. Si permitimos
también un escalado solamente los ángulos se mantienen iguales después de
haber
aplicado
pi , p j , p k P
una
transformación,
tenemos
es
decir,
pi , p j , p k
para
tres
pi ' , p j ' , p k '
puntos
.
Las
transformaciones que deforman el conjunto son, por ejemplo, el sesgado o
las proyecciones. En el contexto de la búsqueda de patrones se puede pensar
también en transformaciones que realizan deformaciones locales, por
ejemplo, en el caso de buscar pequeñas moléculas dentro de proteínas se
puede permitir cierta flexibilidad de los patrones.
Las transformaciones que consisten solamente en una combinación
de traslaciones y rotaciones se llaman transformaciones rígidas, o también
transformaciones euclidianas o transformaciones congruentes. Si se permite
98
también un escalado se habla de transformaciones similares. Podemos
observar que dichas transformaciones son reversibles.
Alineamiento
P en combinación con una
Llamamos un emparejamiento
transformación T un alineamiento
P,T
. Si la transformación es una
transformación rígida (o congruente), se trata de un alineamiento
congruente. Si la transformación es una transformación similar, se trata de
un alineamiento similar. Si se permite una reflexión en la transformación,
llamamos el alineamiento un L-alineamiento; congruente o similar según el
caso.
Dado un alineamiento
P,T
de P en
S , podemos calificar las
distancias entre los puntos del patrón transformados y sus correspondientes
parejas, es decir, podemos calcular las distancias
todas las parejas. Obviamente, si
di
di
d pi ' , si ' entre
0 para todos los puntos pi P , el
alineamiento es perfecto.
Para alineamientos no perfectos, introducimos una métrica para
comparar dos alineamientos que se distinguen en su transformación pero
que coinciden en su emparejamiento. Existen muchas posibilidades de
definir tal métrica. Ejemplos son la raíz de la distancia cuadrática media
99
1
¦ pi 'si '
n i
d
2
la distancia media entre las parejas de puntos
d
1
¦ pi ' si '
n i
y la distancia máxima entre las parejas de puntos
d
max i pi ' si '
Depende de la aplicación cual de las métricas es la más conveniente.
Las distancias
d son valores en el intervalo >0, f> . Para comparar más
tarde también alineamientos parciales, definimos la calidad Q de un
alineamiento como
Q 1 / 1 d siendo d su distancia. Entonces, un
alineamiento es perfecto si Q
1 . Como se observa fácilmente la calidad
Q es un valor en el intervalo @0,1@ .
El problema formal
Entonces, podemos describir el problema de la búsqueda de un
patrón en un espacio de búsqueda formalmente como: dado un espacio de
100
búsqueda
P,T
S y un patrón de búsqueda P , encuentra un alineamiento
de P en
S con máxima calidad Q (o mínima distancia d ).
Algoritmos
Antes
de
detallar
algunos
algoritmos
para
alineamientos
aproximados veremos los resultados que se ha obtenido hasta hoy para
alineamientos perfectos.
Alineamientos perfectos
Para alineamientos congruentes perfectos en tres dimensiones Boxer
et al. [3, 4, 5] presentaron un método con el siguiente tiempo de ejecución
§
O¨ n 2.5 4 log n kn1.8 log n
¨
salida
©
O1
·
log n ¸
¸
¹
que es solamente por un factor log n más lento que el posible
número de alineamientos que se puede encontrar en el espacio de búsqueda
si el tamaño del patrón
primer término en n
k es suficientemente grande. Si k es pequeño, el
2 .5
domina el tiempo de cálculo. Los factores en
términos de log n podemos considerar constantes para cualquier caso
práctico (si log n
5 , entonces n ya es un número muy grande,
101
n | 2 65536 ). En el mismo trabajo, el tiempo de ejecución para
alineamientos similares perfectos está dado como
§
·
2.2
O¨¨ n 3 kn
, log n ¸¸
salida
©
¹
Las principales ideas detrás del método podemos resumir como
sigue.
Escogemos
p0 , p1 , p 2
cualquier
triángulo
puntos,
por
ejemplo
, del patrón P . Buscamos todos los triángulos congruentes y
las transformaciones adecuadas para alinear
búsqueda
de
p0 , p1 , p 2
en el espacio de
S . Verificamos los demás puntos del patrón una vez haber
transformado dichos puntos. El tiempo no es directamente proporcional a
n 3 en el caso de congruencia, porque se puede enumerar los triángulos en
S de forma sofisticada y se puede comprobar que no hay tantos triángulos
relevantes. Para la búsqueda de alineamientos similares la enumeración de
los triángulos sí cuesta tiempo O n
3
. Obviamente, si buscamos
alineamientos aproximados y/o parciales el problema se complica más.
Alineamientos aproximados
Para encontrar alineamientos aproximados seguimos un camino muy
parecido. Dividimos el problema en dos fases: buscamos primero un
emparejamiento
P adecuado (según alguna tolerancia) y calculamos
102
después la transformación T óptima (según alguna métrica). Finalmente
elegimos un mejor alineamiento.
Antes de explicar el proceso como encontrar un emparejamiento
adecuado, discutimos el problema de calcular la transformación óptima para
un emparejamiento dado.
Transformaciones óptimas
La raíz de las distancias cuadráticas medias, como mencionada
arriba, es una métrica que se usa en muchas aplicaciones. Para la
transformación rígida y óptima T , tenemos que calcular el mínimo de la
función
1
¦ d pi ' , si '
n i
d
2
1
¦ U pi t si '
n i
2
U es una matriz 3u 3 de rotación, es decir, U tiene que ser
ortonormal, y t es un vector de traslación. Se observa rápidamente que t y
donde
U son independientes. Sabiendo que el numerador de la derivada parcial
de
d según t
wd
wt
num
2 ¦i U pi t si '
103
2U ¦i pi 2nt 2 ¦i si '
tiene que ser igual a cero en el valor extremo para t que estamos
buscando, calculamos el vector de traslación t como
t
U
siendo
1
1
p
¦
¦ si '
i
n i
n i
U p c s c '
p c y sc ' los centroides de ambos conjuntos de puntos
respectivamente. Si sustituimos t en la función de
d por la expresión
obtenemos
d
1
2
U pi t si '
¦
i
n
1
¦ U pi pc si 'sc '
n i
2
Para resolver el problema restante de buscar los puntos extremos de
la función bajo restricciones (recordamos que
U tiene que ser ortonormal),
convertimos el problema con restricciones mediante multiplicadores de
Lagrange en un problema sin restricciones que tenga los mismos extremos.
Sin entrar en los detalles, una vez haber introducido los
multiplicadores calculamos primeras y segundas derivadas respeto a las
nueve variables libres
u ij
que forman la matriz
U y buscamos los
extremos con los métodos clásicos. Este algoritmo fue presentado por
Kabsch [11,12] y el proceso del cálculo necesario podemos resumir como
sigue.
104
s'
Sea S la matriz de filas con los puntos i y sea P la matriz de
filas con los puntos
pi
donde asumimos que ya hemos eliminado la
traslación tal y como está explicado arriba. Calculamos una matriz
R
S P 7 y después calculamos los vectores propios de R 7 R . Sea A
& & &
A >a 0 a1 a 2 @
la matriz de los vectores propios normalizados
Construimos una nueva matriz
>
B
&
&
&
R a 0 R a1 R a 2
@
.
donde las
columnas se forman por los vectores que obtenemos si multiplicamos los
vectores propios por R y los normalizamos posteriormente. Con las dos
matrices A y B obtenemos la matriz de rotación
U
U finalmente como
B A 7 . Hay que considerar los casos especiales en los cuales los
puntos de P están colocados en un plano o en una recta.
Es fácil introducir también un factor de escalado
función de distancia
d
rotado y
es decir, la
pi
centrado y
d se extiende como
1
¦ V U pi pc si 'sc '
n i
Si usamos
V,
pi ' ' U pi pc
si ' ' s i ' s c '
2
siendo el punto
siendo el punto
si '
óptimo es
105
centrado la solución para
V
V
¦
¦
i
si ' ' , pi ' '
i
pi ' ' , pi ' '
Una implementación ejemplar de todo el algoritmo se encuentra en
[8] en forma de código abierto.
Este algoritmo de Kabsch resuelve el problema de encontrar la
transformación óptima si la función de distancia está basada en la distancia
cuadrática media. Puede ser que para otras funciones de distancia no exista
una solución directa, sobre todo cuando las funciones no son derivables, sin
embargo, dichas métricas pueden ser de interés en ciertas aplicaciones.
Especialmente en muchos casos la media simple o el máximo ofrece un
alineamiento más intuitivo.
Si la función para la distancia
d no es derivable, necesitamos un
método de optimización sin gradiente que trabaja solamente con
evaluaciones de la propia función. A continuación se presenta un método
iterativo recientemente desarrollado que converge seguro hacía un mínimo
local [9]. La idea de Rodríguez/García-Palomares se puede resumir
brevemente. Sea
f x la función por minimizar donde x simboliza el
vector de las variables libres. El algoritmo itera contrayendo y dilatando
adecuadamente parámetros h ! 0 y W
k
f xi 1
! 0 de tal manera que
f xi r h k d k d f xi W 2
106
donde
d k es una dirección escogida de un conjunto finito de
direcciones. Dicho conjunto forma una base para el espacio que forma el
vector de las variables libres y depende del punto
xi
actual. Lo importante
de dicha iteración es que en cada paso se ejecuta solamente un número
finito de operaciones para adaptar los parámetros. Con W
o 0 el vector xi
converge a un óptimo local. El algoritmo funciona
mientras no haya
restricciones.
Para aplicar el método de Rodríguez/García-Palomares eliminamos
las restricciones describiendo la rotación en el espacio de los cuaterniones.
Una rotación U p del punto p con la matriz
fórmula de Hamilton q
U se puede expresar con la
p q 1 en el espacio de los cuaterniones + . El
espacio de los cuaterniones es un cuerpo algebraico similar a los números
complejos, pero cada elemento se representa con cuatro componentes. La
multiplicación en este cuerpo ya no es conmutativa. El punto p en la
fórmula de Hamilton es el cuaternión canónico del punto p , es decir, se
construye p
(0, p ) + . El cuaternión de rotación q en la fórmula de
Hamilton se construye como
q
sin M / 2 , cos M / 2 u
siendo
u 3 el eje de rotación normalizado y M el ángulo de rotación.
Aunque la matemática parezca más compleja, la rotación con cuaterniones
refleja más el proceso como nosotros describimos normalmente una
rotación, es decir, con eje y ángulo, y no con una matriz ortonormal.
107
U con 9 variables con restricciones, hay ahora
solamente 4 variables sin restricciones, es decir, el vector u y el ángulo M .
En vez de la matriz
Entonces, para distancias no derivables podemos aplicar el algoritmo de
Rodríguez/García-Palomares que encuentra todas las variables de la
transformación, incluyendo la traslación. Para comenzar la iteración
partimos de una solución aproximada basada en el algoritmo de Kabsch.
Algoritmos para encontrar emparejamientos
En la literatura se describe tres tipos de algoritmos para encontrar
emparejamientos [13], cuales son: la detección de cliques, es decir,
subgrafos completos, el concepto de geometric hashing, es decir, el uso de
tablas de dispersión para características geométricas, y la geometría de
distancias. Resumimos brevemente los dos primeros métodos y seguimos
con una descripción más detallada de un programa basada en la geometría
de distancias.
Detección de cliques
Para este método generamos un grafo G (V , A) llamado grafo de
distancias compatibles donde los vértices
pi , s j
los
, y se añade una arista
puntos
a
correspondientes
v ij V
vij , v kl
son
108
son todas las parejas
en A , si las distancias entre
similares,
es
decir,
d pi , p k | d s j , sl
. En dicho grafo
G buscamos cliques de tamaño
k que obviamente representan emparejamientos.
Entre los inconvenientes de la detección de cliques destaca que los
algoritmos rápidos necesitan matrices adyacentes para una representación
del grafo [2]. Entonces resulta que para problemas todavía pequeños, por
ejemplo,
n
S
5000
y
k
P
100
, se llega a un consumo de
memoria muy elevado, en el ejemplo unos 30 GByte de memoria contando
solamente un bit por arista.
Geometric hashing
El uso de las tablas de dispersión para características geométricas
[18] se basa en un preprocesado del espacio de búsqueda. Describimos el
caso bidimensional. Alineamos cada pareja
búsqueda de tal manera que
dirección
si
si , s j
del espacio de
sj
está posicionado en el origen y
en
x . Insertamos la información sobre cada punto de S en una tabla
de dispersión definida por una rejilla de cierto tamaño sobre
S . Así
conseguimos finalmente que la tabla de dispersión contenga la información
necesaria para todas las orientaciones posibles del conjunto de puntos
S.
La búsqueda del patrón se realiza simulando una inserción de los
puntos de P en la tabla de dispersión, pero se cuenta solamente las
109
entradas no vacías, es decir, si encontramos una pareja
pi , p j
de puntos
del patrón de tal manera que cada otro punto del patrón encuentra una
casilla llena en la tabla de dispersión, hemos encontrado un candidato para
un emparejamiento.
Aunque el tiempo de búsqueda con O k
d 1
es bastante rápido con
una buena implementación de la tabla de dispersión, el tiempo de
preprocesado con O n
d 1
es bastante alto. Otro inconveniente consiste en
la necesidad de la predeterminación de la rejilla que influye en el consumo
y manejo de la memoria en la tabla de dispersión. Además es difícil
considerar transformaciones que permiten deformaciones.
Geometría de distancias
A continuación se presenta el funcionamiento del programa psm
desarrollado y implementado por el autor que está basado en la geometría
de distancias. Eso significa que ambos conjuntos
S y P están
representados directamente como grafos de distancias. Los vértices de los
grafos son los puntos de los conjuntos. Las aristas de los grafos codifican
las distancias entre los puntos correspondientes.
Sean
G P y G S los grafos de distancias adecuados (se explica más
adelante los detalles). Primero buscamos subgrafos
110
GS '
de
GS
que son
congruentes al grafo
alineamos el grafo
G P permitiendo ciertas tolerancias. Después
G P con los subgrafos de G S ' de forma óptima y
elegimos el mejor alineamiento. Más adelante veremos cómo se puede
ampliar la búsqueda para que funcione también con subgrafos de
GP .
Los cuatro pasos principales de psm son: i) la construcción de los
grafos donde se aprovecha de propiedades de localidad, ii) la búsqueda de
subgrafos
con
un
algoritmo
de
retro-propagación
sofisticada
(o
backtracking), iii) el alineamiento como explicado antes, y, finalmente, iv)
la búsqueda de patrones parciales basada en una Búsqueda Tabú Reactiva
[2].
Para la construcción de los grafos asumimos al principio que el
patrón P sea pequeño y construimos
G P como grafo completo. Ambas
restricciones se evitan más adelante. Para la construcción del grafo sobre
S
generamos primero un diccionario D , es decir, una estructura de datos
ordenada que contiene todos los intervalos de distancias entre parejas de
puntos en P . Entonces, consideramos una arista entre dos puntos para el
conjunto de aristas de
GS
, si su distancia se encuentra en el diccionario
D.
111
Más preciso, sea
d ij
d pi , p j
la distancia entre dos puntos en
P . El diccionario contendrá el intervalo
>1 H
d ij , 1 H / 1 H d ij D
@
siendo
0 d H 1 una tolerancia predeterminada. El factor para el
límite superior se puede simplificar a
1 H , pero se pierde la simetría.
Obviamente podemos unir intervalos en el diccionario D , si se intersecan
los intervalos.
Si se mantiene el grafo
G P sobre el patrón como un grafo completo
el conjunto de aristas del grafo
GS
sobre el espacio de búsqueda puede
resultar grande. Pero podemos disminuir este número de aristas
significativamente, si mantenemos el grafo
G P solamente como grafo
conectado y, para evitar emparejamientos con deformaciones, rígido.
Preferiblemente se mantiene solamente las aristas cortas. Conseguimos una
construcción del grafo
GS
más rápido, si ordenamos los puntos de
S
previamente en una rejilla del tamaño del límite superior más grande de los
intervalos en el diccionario. Así, hay que explorar solamente todas las
parejas de vértices de
GS
que caen dentro de una casilla o en dos casillas
vecinas de la rejilla.
112
Para encontrar los emparejamientos, psm usa un algoritmo de retro-
G P es un grafo completo
propagación para la búsqueda. Asumimos que
para simplificar la explicación. Es fácil trabajar también con grafos
conectados. Ordenamos los puntos de
p 0 , , p k 1
G P en cualquier orden, por ejemplo,
y aplicamos el algoritmo de retro-propagación que intenta
encontrar para cada punto
pi
una pareja
si
siguiendo el orden establecido.
La siguiente descripción inductiva precisa el funcionamiento del algoritmo.
Asumiendo que ya hemos hallado un subgrafo en
grafo
G p0 ,, pi
s i 1
. Buscamos candidatos
que tienen que ser vecinos del punto
si
pj
similar al
para el siguiente punto
dentro de
elegidos, y que tengan distancias similares a los
a los
G s0 ,, si
sj
GS
pi 1
que todavía fueron
p
( j d i ) como el i 1
( j d i ). Mientras haya candidato avanzamos con i . Si no hay
más candidatos para un
s i 1 s i
,
tampoco es pareja para
pi
, y retro-
propagamos. El algoritmo informa cada vez cuando se ha encontrado un
candidato para el último punto
p k 1
. El algoritmo termina cuando no
quedan más candidatos para el primer punto
hemos encontrado la primera solución.
113
p0
o, si se quiere, cuando
Podemos optimizar el algoritmo básico con las siguientes heurísticas.
Una reducción del número de las aristas en el grafo
reducción de las aristas en el grafo
pi
GS
G P implica una
. Una ordenación sutil de los puntos
implica una reducción de candidatos para los vecinos. Una
consideración del tipo del vértice (por ejemplo, el elemento del átomo en el
caso de proteínas) implica una reducción de candidatos en la búsqueda.
Todas las heurísticas implican que la retro-propagación avanza más rápido.
Búsqueda de alineamientos parciales
La búsqueda de alineamientos parciales consiste en encontrar el
subconjunto más grande de los puntos del patrón que mejor se puede
representar en el espacio de búsqueda. Hay
P
2k
posibilidades para
elegir un subconjunto y el problema cae en la clase de los problemas NPcompleto.
Ambos métodos brevemente presentados arriba se pueden extender
fácilmente para que busquen también alineamientos parciales. En el caso de
la detección de cliques basta con encontrar los cliques más grandes. El
número de votos menores que
k indica en el caso de las tablas de
dispersión candidatos para alineamientos parciales.
Se ha ampliado el programa psm que usa la geometría de distancias
como base con dos extensiones para que encuentre también alineamientos
114
parciales. Una de ellas que no se detallará en este artículo usa un Algoritmo
Genético [14], la otra el método de la Búsqueda Tabú Reactiva [2].
La idea detrás de la Búsqueda Tabú Reactiva se entiende fácilmente.
Primero nos situamos en una solución factible, después buscamos
posibilidades para ampliar o mejorar la solución actual. Si eso es posible
elegimos una de ellas aleatoriamente y seguimos con los intentos de
ampliación. Si no es posible, buscamos posibilidades para reducir o
empeorar la solución actual. Para evitar movimientos repetitivos la
búsqueda aprovecha de una memoria que almacena soluciones intermedias,
es decir, se marca ciertos movimientos como tabú durante cierto número de
iteraciones. El término reactiva significa que se adapta el periodo del tabú
dinámicamente.
Para evaluar la calidad de un alineamiento parcial que es necesario
para comparar soluciones intermedias, psm usa la suma entre el número de
puntos alineados y la calidad de la transformación exigiendo que la calidad
Q esté encima de cierto umbral. Entonces, la calidad máxima de un
alineamiento perfecto es
P 1
. La búsqueda de candidatos para ampliar la
solución considera los vecinos (rígidos) dentro del grafo parcial ya
emparejado. La búsqueda de candidatos para reducir la solución considera
cualquier punto de la solución actual que mantiene el grafo conectado (y
rígido).
La terminación de la Búsqueda Tabú no es tan sencilla.
Normalmente
se
termina
cuando
la
115
solución
encontrada
es
lo
suficientemente buena o cuando se ha ejecutado cierto número máximo de
iteraciones.
Con la heurística de reducir el número de aristas en los grafos de
distancias podemos usar psm para buscar el patrón más grande que dos
conjuntos de puntos tengan en común. Obviamente, encontramos solamente
patrones compactos, es decir, aquellos que se pueden reflejar como
subgrafos conectados de los grafos iniciales.
Resumen
En este artículo se ha presentado el problema de la búsqueda
aproximada de patrones en espacios 2D o 3D. Se ha descrito las dificultades
principales y se ha introducido a los algoritmos y estructuras de datos
disponibles para resolver el problema. Se ha demostrado el programa psm
que implementa un algoritmo concreto.
Entre las posibles ampliaciones del trabajo se encuentra una
enumeración más rigurosa de todas las localizaciones del patrón. Hasta
ahora se ha concentrado solamente en el mejor alineamiento. Las próximas
versiones de psm van a implementar un método para aflojar la condición de
la rigidez del grafo y tratar así la flexibilidad natural de las moléculas como
la torsión de partes de ellas. Además se va a permitir tolerancias locales en
el patrón y permitir cierto escalado del mismo. Esta planeado de instalar un
servidor en la Red para ofrecer el servicio de buscar patrones a los usuarios
de la Internet.
116
Agradecimientos
El autor quiere agradecer a Thorsten Pöschel y Kristian Rother su
colaboración en el trabajo y a Ubaldo García-Palomares y José Rodríguez la
disponibilidad de su algoritmo de optimización.
Bibliografía
[1]
Alt, H., Guibas, L., 1999. “Discrete geometric shapes: Matching,
interpolation, and approximation”. Handbook of Computational
Geometry, pp. 121-153. Elsevier Science, Publishers B.V. NorthHolland.
[2]
Battiti, R., Protasi, M., 2001. “Reactive local search for the
maximum clique problem”. Algorithmica, vol. 29 (4), pp. 610-637.
[3]
Boxer, L., 1996. “Point set pattern matching in 3-d”. Pattern
Recognition Letters, vol. 17, pp. 1293-1297.
[4]
Boxer, L., 1998. “Faster point set pattern matching in 3-d”. Pattern
Recognition Letters, vol. 19, pp. 1235-1240.
[5]
Boxer, L., Haralick, R., 1999. “Even faster point set pattern
matching in 3-d”. Proceedings of the International Society for
Optical Engineering Conference (SPIE), vol. 3811, pp. 168-178.
117
[6]
Chakraborty, S., Biswas, S., 1999. “Approximation algorithms for
3-d common substructure identification in drug and protein
molecules”. Workshop on Algorithms and Data Structures, pp.
253-264.
[7]
Finn, P.W., Kavraki, L.E., Latombe, J.C., Rajeev Motwani, R.,
Shelton, C.R., Venkatasubramanian, S., Yao, A., 1997. “RAPID:
Randomized pharmacophore identification for drug design”.
Proceedings of 13th Annual ACM Symposium on Computational
Geometry, pp. 324-333.
[8]
Formella,
A.,
2003.
“Código
Página
Abierto”.
Web:
[http://www.ei.uvigo.es/~formella/inv/aaa/index.html]
[9]
García-Palomares, U.M., Rodríguez, J.F., 2002. “New sequential
and
parallel
derivative-free
algorithms
for
unconstraint
optimization”. SIAM Journal on Optimization, vol. 13 (1), pp. 7996.
[10]
Gilbert, D., Westhead, D., Viksna, J., Thornton, J., 2002. “A
computer system to perform structure comparison using TOPS
representations of protein structure”. Computers and Chemistry,
vol. 26 (1), pp. 23-30.
[11]
Kabsch, W., 1976. “A solution for the best rotation to relate two
sets of vectors”. Acta Crystallographica A, vol. 32, pp. 922-923.
118
[12]
Kabsch, W., 1978. “A discussion of the solution for the best
rotation to relate two sets of vectors”. Acta Crystallographica A,
vol. 34, pp. 827-828.
[13]
Lemmen, C., Lengauer, T., 2000. “Computational methods for the
structural alignment of molecules”. Journal of Computer-Aided
Molecular Design, vol. 14, pp. 215-232.
[14]
Mitchell, M., 1996. “An Introduction to Genetic Algorithms”. MIT
Press.
[15]
Qun, R., Jie, T., Yuliangi, H., Jiangang, C., 2002. “Automatic
fingerprint identification using cluster algorithm”. Proceedings of
the 16th International Conference on Pattern
Recognition
(ICPR'02), vol. 2, pp. 398-401, IEEE Computer Society Press.
[16]
Renken, H., Rath, H.J., 1997. “Method for three-axis attitude
determination by image-processed star constellation matching”.
Proceedings of the International Society for Optical Engineering
Conference (SPIE), vol. 3086, pp. 254-263.
[17]
Stark, A., Sunyaev, S., Russell, R.B., 2003. “A model for statistical
significance of local similarities in structure”. Journal on
Molecular Biology, vol. 326, pp. 1307-1316.
119
[18]
Wolfson, H.J., Rigoutsos, I., 1997. “Geometric hashing: An
overview”. IEEE Computational Science and Engineering, pp. 1021.
120
Computación Evolutiva y Creatividad
Fernando Jorge Penousal1 y Mª Luisa Santos2
1
Instituto Superior de Ingeniería de Coimbra
3030 Coimbra, Portugal
Email: machado@dei.uc.pt
2
Facultad de Informática. Universidade da Coruña
Email: mhyso@.udc.es
Introducción
Entre las principales preguntas sobre el estudio de la Creatividad
Computacional se incluyen las siguientes: “¿Pueden ser creativos los
ordenadores?”,
“¿Puede
contribuir
el
estudio
de
la
creatividad
computacional a la comprensión de la creatividad humana?”, “¿Cómo
pueden utilizarse los ordenadores para fomentar la creatividad humana?”,
“¿Resulta la creatividad una condición necesaria para la inteligencia?”,
“¿Qué es exactamente la creatividad, ya sea la computacional u otra
cualquiera?”.
El desarrollo de sistemas creativos artificiales se inspira a menudo en
modelos de creatividad humana. No obstante, la que nos interesa es una
aproximación distinta.
A lo largo del tiempo, la evolución natural consiguió crear un
sinnúmero de soluciones para un único problema: la supervivencia. La
121
amplia variedad de formas y estrategias que encontramos en la naturaleza
nos permiten clasificar la evolución natural como un proceso altamente
creativo. En realidad puede verse como la fuente de toda la creatividad. Por
ello surge de modo natural la idea de utilizar la Computación Evolutiva
(CE) para desarrollar sistemas computacionales creativos.
Por este motivo, en lugar de centrarnos en las preguntas ya
mencionadas, el punto de arranque de este artículo es que la evolución es
creativa y la pregunta a formular es: “¿Cómo puede utilizarse la
Computación Evolutiva para desarrollar Sistemas Creativos?”
Este artículo puede considerarse una introducción al campo de la
Creatividad Evolutiva. Como tal y tras una breve presentación de la CE
(Sección Computación evolutiva), proponemos una taxonomía para la
clasificación de los Sistemas Creativos y ofrecemos una vista general del
estado actual del arte en el campo de la Creatividad Evolutiva (Sección
Computación evolutiva–Estado del arte), centrándonos en las aplicaciones
en las áreas de la música y de las artes visuales.
A continuación, y con el objetivo de facilitar la comprensión de los
asuntos relativos al desarrollo de un sistema Creativo Evolutivo, realizamos
una descripción detallada de NEvAr (Sección NEvAr), un proyecto de
investigación destinado a la construcción de un artista artificial. Por último,
la sección Conclusiones presenta algunas conclusiones globales.
122
Computación evolutiva
En los últimos años ha surgido un nuevo paradigma para la
resolución de problemas denominado Computación Evolutiva (CE). La CE
puede contemplarse como una serie de procedimientos de búsqueda
estocástica inspirados en los principios biológicos de la selección natural y
de la genética. Este conjunto de técnicas permite una exploración robusta
del espacio de búsqueda que permite el descubrimiento de soluciones
nuevas y adecuadas, habiéndose utilizado para resolver una amplia gama de
problemas.
Históricamente la CE se ha dividido en cuatro familias1 , que serían
Estrategias de Evolución (EE); Programación Evolutiva (PE); Algoritmos
Genéticos (AG) y Programación Genética (PG). A pesar de sus diferencias,
todos ellos pueden considerarse ejemplos particulares del Algoritmo
Evolutivo Genérico (AEG) presentado en la figura 1.
t m 0
G(0) m generate random(t)
P(0) m growth(G(0))
F(0) m eval(P(0))
while stop criterion not met do
G’(t) m sel(G(t); P(t); F(t))
G’’(t) m op(G’(t))
G(t + 1) m gen(G(t); G’’(t))
P(t + 1) m growth(G(t + 1))
F(t + 1) m eval(P(t + 1))
1
Ver para obtener una idea general de la CE [1].
123
t m t + 1
end while
return result
Figura 1: Algoritmo evolutivo genérico
El primer paso lo constituye la creación de un conjunto de genotipos
al azar, G (0) . Estos genotipos se convierten en fenotipos (individuos
plenamente desarrollados) por medio de la aplicación de una función de
crecimiento. En la mayoría de los casos no existe una distinción clara entre
genotipo y fenotipo, por ello suele omitirse este paso. El siguiente paso
consiste en la evaluación de los individuos que se realiza a nivel del
fenotipo utilizando una función fitness,
eval .
A continuación sigue el principal ciclo evolutivo. Comenzamos
seleccionando un conjunto de progenitores, utilizando
sel . Para el éxito de
la CE resulta crucial que aquellos individuos con valores fitness más altos
tengan mayores probabilidades de ser seleccionados para reproducirse. Los
individuos con valores fitness bajos deberían tener también alguna
probabilidad de ser seleccionados. El siguiente paso consiste en la
aplicación de operadores genéticos, op , tales como el cruce y la mutación.
Dicha operación se realiza a nivel del genotipo y genera un nuevo conjunto
de genotipos, G cc(t ) . La siguiente generación, G (t 1) , se crea por medio
de la selección de elementos de la anterior, G (t ) , y de G cc(t ) . Esta
operación se realiza por medio de gen ; que en su forma más sencilla
consiste en el reemplazo de todos los individuos por sus descendientes, i.e.
124
G (t 1) m G cc(t ) . El siguiente paso consiste en la generación de los
fenotipos y en su evaluación, las cuales ya se han descrito.
El ciclo evolutivo continúa hasta que se cumple algún criterio de
finalización. El resultado del algoritmo varía dependiendo del problema
específico. Al menos suele interesarnos el mejor individuo obtenido durante
la ejecución.
Creatividad evolutiva – Estado del arte
En esta sección se presenta una visión general del estado actual del
arte en el campo de la creatividad evolutiva, enfatizando especialmente los
campos de la música y de las artes visuales.
Comenzamos proponiendo una taxonomía para la clasificación de los
sistemas creativos:
Herramientas de Apoyo a la Creatividad – Los sistemas ofrecen
apoyo a la creatividad del usuario. El usuario sigue siendo el autor de la
obra de arte y el responsable de la generación de la idea. Estos sistemas son
esencialmente similares a un piano o a un lápiz. La diferencia estriba en que
son más fáciles de usar y en que están diseñados para ayudar al usuario a
concentrarse en los aspectos creativos de la tarea.
Creatividad Asistida por Ordenador – El usuario ya no es el
responsable de generar la idea. En lugar de ello, la idea surge de la
interacción entre usuario y ordenador y, como tal, existe una autoría
125
compartida. En el recordatorio de este capítulo se ofrecen diversos ejemplos
de este tipo de sistema.
Autores – Puede considerarse al ordenador como el creador de la
obra de arte, siendo el responsable de generar la idea. Sin embargo, el
usuario puede ajustar o afectar al rendimiento del sistema. No obstante, el
sistema debería mostrar un grado de autonomía comparable al de un creador
humano.
Existe otro tipo de sistema potencialmente relevante al campo de los
sistemas creativos:
Software para el Análisis de Tareas Creativas – Son sistemas que
realizan algún tipo de análisis de una tarea creativa (e.g. análisis de música
o imágenes). En cierto sentido, estos sistemas pueden verse como
herramientas de apoyo creativo. Pueden utilizarse para fomentar la
creatividad del usuario o como parte de otro sistema creativo.
En los últimos años se han utilizado dos técnicas de CE, los AG [10]
y la PG [15], para implementar la creatividad computacional, dando como
resultado el desarrollo de diversas aplicaciones en campos tales como la
generación de música y de imágenes, la arquitectura y el diseño. A
continuación ofrecemos una breve descripción de los trabajos más
relevantes en este campo, centrándonos en la Creatividad Asistida por
Ordenador y en los Sistemas Autores.
126
Creatividad asistida por ordenador
La Evolución Interactiva (EI) es la aproximación evolutiva más
común a la Creatividad Asistida por Ordenador. En estos sistemas, la
función de fitness la proporciona el usuario/ usuarios humanos que guían el
proceso evolutivo. Esta aproximación se inspira en el trabajo original de
Richard Dawkins (1986) [8] que utiliza la EI para desarrollar la morfología
de unos organismos virtuales denominados biomorphs. Aparentemente su
obra fue la fuente de inspiración para los sistemas desarrollados por Karl
Sims (1991) [26] y William Latham (1992) [30], los cuales pueden
considerarse las primeras aplicaciones de EI en el campo de las artes
visuales, siendo asimismo consideradas como las obras más influyentes de
este campo.
Estos son algunos trabajos adicionales en los que se utiliza la EI para
desarrollar imágenes: Steven Rooke [24], Unemi [31], Lewis [16], Machado
y Cardoso [18], y Lewis [17]. Asimismo se ha utilizado la EI para
desarrollar películas [26], dibujos de líneas [2], figuras humanas [17],
rostros de dibujos animados [16] y figuras [32], edificios [27], botellas de
vodka [14], etc.
Estos son algunos ejemplos relevantes de EI en el terreno de la
música: Horowitz [11], Ralley [23], Jacob [12][13], Biles [4], Pazos et al.
[21][22], y Moroni et al. [20].
La principal desventaja de esta clase de sistema es el tiempo
necesario para que el usuario evalúe las obras de arte, lo cual limita
127
considerablemente el número de generaciones. Esta desventaja resulta
especialmente grave en el campo de la música. Además también genera
dificultades la falta de consistencia de la evaluación humana.
Autores
Los defectos de la evaluación humana han llevado a los
investigadores a desarrollar sistemas que tratan de aprender las preferencias
del usuario a partir de un conjunto de ejemplos. La aproximación más
común se basa en el uso de las Redes de Neuronas Artificiales (RNA). Si
tiene éxito la inclusión de un evaluador autónomo, éste permite la creación
de un sistema Autor. A continuación realizaremos una breve revisión de
algunos intentos de automatizar el paso de asignación de fitness.
Burton y Vladimirova [7], y Burton [6] utiliza una RNA ARTMAP
para clasificar los patrones rítmicos. La RNA es entrenada por medio de
ejemplos de ritmos procedentes de cajas de ritmos. Esta RNA clasifica el
conjunto de entrenamiento en grupos o “estilos”. El usuario puede añadir o
eliminar grupos de manera dinámica. El output del sistema refleja la
distancia del vector del prototipo con respecto al grupo más similar. Este
trabajo ha dado lugar a resultados muy interesantes. Se utilizó este sistema
conjuntamente con un algoritmo genético que crea nuevas piezas. Las
piezas generadas son similares a aquellas utilizadas para entrenar a la RNA,
lo cual demuestra el éxito de la tarea de aprendizaje. Por desgracia esta es
también una de las desventajas del sistema: las piezas generadas son
128
demasiado similares a las del conjunto de aprendizaje, y por tanto ofrecen
pocas novedades.
Spector y Alpern [28] presentan otro sistema interesante que
combina una RNA con un sistema de PG. Este sistema utilizó una RNA
feed-forward con una capa oculta para determinar “las continuaciones
adecuadas para una serie de fragmentos de melodías de jazz” [28]. Se
entrenó a la RNA con combinaciones de fragmentos de Charlie Parker y
otros elegidos al azar, y ésta asignaba respuestas positivas a las buenas
combinaciones y respuestas negativas
a las combinaciones inversas o
hechas al azar. Los resultados de la RNA son muy prometedores. Por
ejemplo, le asignó una respuesta positiva a las piezas de Jimmy Hendrix.
Sin embargo, cuando se utiliza conjuntamente con el motor de PG, el
sistema obtiene resultados “no satisfactorios” Los autores lograron mejorar
los resultados combinando con la RNA reglas simbólicas explícitas. No
obstante, como afirman los propios autores, la solución a largo plazo
consiste en mejorar la RNA.
Al Biles (1996) [5] también desarrolló un evaluador de RNA
integrado en un compositor musical de computación evolutiva. La RNA
posee una arquitectura de correlación en cascada (Cascor). Los conjuntos de
entrenamiento y prueba se construyen usando un sistema de EI. Biles
introdujo diversas representaciones del tema musical como inputs de la
RNA, entre las que se incluyen: parámetros estadísticos (el número de
eventos únicos de notas nuevas, el tamaño del intervalo máximo, etc.); un
histograma de intervalos, así como las estructuras de arranque de las notas e
intervalos. Los resultados de estos experimentos no resultaron totalmente
129
satisfactorios. Como afirma Biles: “cuando la red fue capaz de aprender el
conjunto de entrenamiento, falló en el de prueba”.
Wiggins et al. (1999) [33] incorporan un evaluador musical basado
en reglas a un compositor de computación evolutiva que genera “solos” de
jazz. Las reglas del evaluador se basan en la bibliografía sobre
improvisación, en el análisis estadístico informal de solos de jazz y en la
heurística intuitiva derivada del autor. No se analizan en detalle los
resultados del evaluador. No obstante, los autores señalan que los resultados
del sistema evolutivo guiado por este evaluador son interesantes, aunque
siguen estando lejos del ideal.
Todd y Werner (1998) [29] presentan una aproximación coevolutiva. En su trabajo hay una población de creadores y una de
evaluadores que evolucionan conjuntamente dando lugar a nuevas formas
musicales. Este trabajo resulta muy interesante desde el punto de vista del
estudio de la dinámica en una sociedad. Sin embargo, la estética engendrada
es independiente de la estética humana. Como tal, resulta difícil evaluar los
resultados.
Baluja et al. (1994) [3] propusieron un sistema de PG en el campo de
las artes visuales en el que la evaluación la realiza la RNA. Igual que
anteriormente, el conjunto de entrenamiento y el de prueba se construyen
utilizando una versión EI del sistema. Baluja et al. probaron cinco
arquitecturas diferentes de RNA. Los resultados experimentales son “un
tanto decepcionantes” y “muy difíciles de cuantificar” [3]. Aunque las
RNAs logran demostrar un cierto grado de aprendizaje, fallan cuando se las
130
utiliza para guiar la evolución. De acuerdo con los autores, el proceso
evolutivo se volvió “muy limitado y en su mayor parte sin interés” al ser
guiado por las RNAs.
Saunders y Gero hicieron uso de una red Kohonen auto-organizada
para evaluar la novedad de una imagen dada [25]. Igual que antes, se utilizó
un sistema de PG para generar imágenes y cada imagen se clasificó dentro
de una categoría representada por una de las neuronas de la red. Al ir
avanzando la evolución, la RNA aprende un mapa de las obras de arte
típicas que está generando el sistema de PG. El valor novedoso de una
imagen nueva es evaluado por medio del cálculo del error de categorización
de la imagen (es decir, si la imagen no encaja bien en ninguna categoría,
entonces posee un alto valor novedoso). Esta aproximación resulta muy
interesante, ya que tiene en cuenta el aspecto novedoso de las imágenes,
evitando así que se estanque el proceso evolutivo. La desventaja reside en
que éste es el único aspecto de la imagen que se contempla.
Greenfield [9] propone una aproximación co-evolutiva para
desarrollar imágenes. La idea consiste en desarrollar una población de
portadores (imágenes) y una población de parásitos (filtros). Las imágenes
son generadas por un sistema de PG. Los filtros son filtros estándar de
circunvolución digital. Estos se aplican a pequeñas porciones de las
imágenes y se compara el resultado a la imagen original. El fitness de la
imagen es proporcional a la falta de similitud entre las imágenes originales
y las circunvolucionadas. El fitness de los filtros depende de cómo se las
arreglen para “pasar desapercibidos” Ello provoca una carrera de armas
entre los portadores y los parásitos. De modo similar a la anterior
131
aproximación co-evolutiva, estos resultados experimentales son también
difíciles de evaluar. Parece ser que el sistema tiende a producir imágenes de
complejidad moderada que pueden resultar potencialmente interesantes. Sin
embargo, tales imágenes tienden a la falta de estructura y a la abundancia de
amplias zonas de ruido.
El análisis general de los sistemas descritos nos lleva a la conclusión
de que, por el momento, aún no se ha logrado desarrollar un sistema Autor
satisfactorio.
Además,
los
trabajos
del
campo
musical
están
considerablemente más desarrollados que los del campo visual. Resulta
interesante percibir que la situación referente a los sistemas de Creatividad
Asistida por Ordenador es la contraria: la aplicación a las artes visuales ha
tenido un alto grado de éxito, existiendo diversos sistemas adecuados.
La siguiente sección contiene una descripción detallada de un
sistema creativo evolutivo: NEvAr. El objetivo es facilitar una comprensión
mejor de los asuntos relativos al desarrollo de esta clase de sistemas.
NEvAr
NEvAr (Arte Neuro-Evolutivo) es un proyecto de investigación
actual. Su objetivo último es el de construir un Artista Artificial (una
aplicación informática capaz de generar autónomamente obras de arte). En
su estado actual de desarrollo, NEvAr es un sistema de Creatividad Asistida
por Ordenador.
1.
En su forma básica, NEvAr opera del modo siguiente:
132
2.
El programa genera una población de imágenes al azar;
3.
El usuario evalúa las imágenes asignándoles un “valor de
fitness”;
4.
El programa “reproduce” una nueva población de imágenes a
través de la recombinación y mutación del código genético de las
imágenes de la población actual. Aquellas imágenes con unos
valores de fitness más altos tienen mayores probabilidades de ser
seleccionadas para reproducirse.
5.
Volver al punto 2.
Material genético
En NEvAr, las características de los individuos (imágenes) son
determinadas por su código genético. Existe un fenotipo (el individuo) y un
genotipo (el código genético) que una vez expresados, dan como resultado
el individuo.
Los genotipos son árboles construidos a partir de un léxico de
funciones
y
terminales.
El
conjunto
de
funciones
se
compone
principalmente de funciones simples, tales como las operaciones
aritméticas, trigonométricas y lógicas. El conjunto de terminales se
compone de un conjunto de variables “x” e “y” y de unas constantes al azar.
El fenotipo se genera por medio de la evaluación del genotipo para cada par
(x,y) perteneciente a la imagen. Así, las imágenes generadas pueden
contemplarse como retratos gráficos de expresiones matemáticas.
133
Figura 2: La expresión f(x)=(x+y)/2 representada en formato de
árbol, un gráfico en 3d de la expresión y una imagen que ha sido generada
asignando un valor en escala de grises a cada valor f(x)
Operadores genéticos
Las operaciones genéticas (recombinación y mutación) se realizan a
nivel del genotipo. Para producir imágenes en color, utilizamos un tipo
especial de terminal que genera un valor distinto al azar dependiendo del
canal de color que se está procesando (rojo, verde o azul).
El operador de recombinación permite el intercambio de código
entre individuos. La figura 3 presenta un ejemplo de dicha operación y
muestra los cambios introducidos a nivel tanto del fenotipo como del
genotipo.
134
Figura 3: Ejemplo de la operación de recombinación. El código de
los individuos A y B se recombina por medio del intercambio de los subárboles definidos explícitamente por dos puntos escogidos al azar PA y PB,
dando lugar a los individuos A’ y B’
Al contrario que en la recombinación, los operadores de mutación
inducen cambios al azar en el código genético de un solo individuo.
Utilizamos cinco operadores de mutación distintos: Reemplazar sub-árbol;
Cambiar sub-árbol; Eliminar nodo; Insertar nodo y Cambiar nodo.
NEvAr como herramienta
El trabajo con NEvAr es un proceso iterativo. Al ir aumentando el
número de la población, también tiende a aumentar la calidad promedio de
135
las imágenes, lo cual da lugar a imágenes nuevas, interesantes,
potencialmente creativas y hermosas (al menos a ojos del usuario que
conduce el programa). En la Figura 4 presentamos una serie de ejemplos
generados mediante NEvAr.
Desde un punto de vista artístico, consideramos NEvAr una
herramienta de gran potencialidad. Las ideas se generan a partir de un
proceso evolutivo y de la interacción entre el artista y la herramienta. Así, el
uso de NEvAr implica un cambio en el proceso artístico y creativo. No
obstante, a pesar de estos cambios, las obras de arte obedecen a los
principios artísticos y estéticos del artista.
Uno de los conceptos erróneos acerca de las herramientas de arte
evolutivo reside en que las capacidades generativas de un sistema están
profundamente conectadas con las primitivas utilizadas. Nuestra experiencia
con NEvAr demuestra que esto es erróneo. Lo que se necesita es un
conjunto de primitivas “básicas” que puedan combinarse de modo poderoso.
Resulta de gran importancia la inclusión de un mecanismo de
memoria a largo plazo, ya que permite reutilizar las ideas previamente
generadas. También constituye la base de la inclusión en NEvAr de
mecanismos de Razonamiento Basado en Casos. Los experimentos
preliminares indican que dichos mecanismos pueden generar resultados
interesantes y seguir expandiendo las capacidades de nuestro sistema.
136
Figura 4: Algunos ejemplos de imágenes creadas con NEvAr
NEvAr como artista
Como ya se ha indicado, el objetivo último del presente proyecto es
la construcción de un artista artificial.
Actualmente estamos estudiando la manera de otorgar autonomía al
programa por medio de la automatización de la asignación del fitness.
Nuestra idea inicial consistía en la de entrenar una red neuronal y utilizarla
para automatizar esta tarea. Ahora creemos que la automatización plena no
resulta alcanzable a corto plazo y nuestra idea actual reside en la utilización
137
de redes neuronales (junto con otras técnicas) como filtro para eliminar a los
individuos indeseables.
En su forma actual, el procedimiento de asignación automática de
fitness sólo toma en consideración la información de luz de las imágenes,
descartando la información sobre tono y saturación. Por ello, en este modo
de ejecución estamos limitados a la escala de grises.
La Figura 5 muestra imágenes creadas por NEvAr sin ninguna clase
de intervención humana.
Figura 5: Ejemplos de imágenes desarrolladas por NEvAr sin
intervención humana.
Coloreando las imágenes
La limitación de NEvAr a la escala de grises en su versión autónoma
resulta, cuando menos, frustrante.
El análisis del papel del color y de la manera en que éste se asigna,
sobre todo en el arte abstracto, lleva a la conclusión de que los artistas
(ciertamente no todos pero sí una proporción significativa) suelen trabajar
con una paleta de colores limitada y que la relación espacial entre colores
138
suele seguir ciertas pautas. Esto resulta coherente con la opinión de que
cada artista construye su propio lenguaje artístico, el cual sigue una
gramática implícita.
Surgió espontáneamente la idea de desarrollar un programa para
colorear una serie de imágenes en escala de grises que fueron creadas por
NEvAr. Pero desgraciadamente esto generó algunas dificultades [19].
Tomándolas en consideración, decidimos abandonar la idea y crear un
sistema que aprenda a colorear imágenes a partir de un conjunto de
ejemplos de entrenamiento.
Esta aproximación presenta varias ventajas potenciales frente a un
procedimiento de coloreado incorporado, entre las que se encuentran las
siguientes:
x
No necesitamos codificar a mano un conjunto de reglas de
coloreado.
x
Los resultados del sistema son menos predecibles.
x
Podemos utilizar como conjunto de entrenamiento las pinturas
realizadas por artistas conocidos, aprendiendo así a colorear
imágenes de acuerdo con su estilo.
Además, resulta un método indirecto de probar si los procedimientos
de coloreado seguidos por algunos artistas pueden expresarse formalmente
En nuestra aproximación se utiliza la PG para desarrollar
poblaciones de programas que dan color a las escalas de grises.
139
Comenzamos seleccionando una imagen de entrenamiento (o un conjunto
de imágenes) de color auténtico, la cual se divide en sus canales de Luz,
Tono y Saturación.
Los programas desarrollados toman la imagen de escala de grises
que corresponde al canal de Luz como input, siendo el output una imagen
en escala de grises. Se compara el output con el canal de Tono de la imagen
de entrenamiento. Cuanto más cerca esté el output al deseado, más alto será
el fitness. Puede aplicarse el mismo procedimiento utilizando el canal de
Saturación para desarrollar programas que generen una información de
saturación.
Al ir avanzando la evolución, la calidad de los individuos aumenta y,
llegado cierto punto, hallamos programas que generan colores muy
similares a los originales.
No obstante, es importante reconocer que esto no es suficiente: la
idea consiste en utilizar estos programas para colorear diversas imágenes. El
hecho de que un programa genere un output que encaje exactamente con el
de entrenamiento no garantiza que vaya a producir un coloreado interesante
de imágenes diferentes. Dicho de otro modo, los programas evolucionados
tienen que poder generalizar adecuadamente. Con objeto de promover su
capacidad de generalización, hemos seleccionado con cautela el conjunto de
funciones y también pusimos cuidado al construir la función de fitness.
Los resultados logrados con este sistema son muy prometedores, a
pesar de su carácter preliminar. Al aplicar los programas evolucionados a
140
las imágenes de entrenamiento es posible acercarse mucho al color original.
Además, cuando se aplican a imágenes diferentes, son capaces de generar
colores coherentes, atractivos y creíbles.
Conclusiones
El presente artículo ofrece una vista general del estado del arte actual
en el campo de la Creatividad Evolutiva, centrándose en sus aplicaciones en
las áreas de la música y de las artes visuales.
El análisis general del campo demuestra que la Computación
Evolutiva resulta una aproximación viable al desarrollo de sistemas
creativos. El desarrollo de sistemas de Creatividad Asistida por Ordenador
por medio de la Computación Evolutiva ya es una realidad. A pesar de que
es más limitado el éxito en la construcción de sistemas Autor, ya existen
algunos trabajos prometedores.
Hemos presentado también el proyecto de investigación
NevAr
cuyo objetivo es la construcción de un artista artificial. El análisis detallado
de NEvAr permite una mejor comprensión de los temas relativos a la
construcción de un sistema creativo evolutivo.
A pesar de que nos hemos centrado en los campos artísticos, éstos no
son los únicos campos de aplicación de la Creatividad Computacional. De
hecho se está aplicando ya la Creatividad Computacional a áreas tales
como: el Descubrimiento Científico, el Data Mining, la Recuperación de
Información, etc.
141
Bibliografía
[1]
Bäck,
T.,
Fogel,
D.B.,
Michalewicz,
Z.,
editors,
2000.
“Evolutionary Computation 1: Basic Algorithms and Operators”.
Institute of Physics Publishing and Oxford University Press.
[2]
Baker, E., 1993. “Evolving line drawings”. In Forrest, S., editor,
Proceedings of the Fifth International Conference on Genetic
Algorithms, San Mateo, CA. Morgan Kaufman.
[3]
Baluja, S., Pomerleau, D., Jochem, T., 1994. “Towards automated
artificial evolution for computer-generated images”. Connection
Science, vol. 6 (2 and 3), pp. 325–354.
[4]
Biles, J.A., 2000. “Genjam in perspective: A tentative taxonomy for
genetic algorithm music and art systems”. In Johnson, C.G. and
Cardalda, J.J.R., editors, Genetic Algorithms in Visual Art and
Music, pp. 133–135, Las Vegas, Nevada, USA.
[5]
Biles, J.A., Anderson, P.G., Loggi, L.W., 1996. “Neural network
fitness functions for a musical IGA”. In Proceedings of the
International ICSC Symposia on Intelligent Industrial Automation
and Soft Computing, pp. B39–B44.
[6]
Burton, A.R., 1998. “A hybrid neuro-genetic pattern evolution
system applied to musical composition”. PhD thesis, University of
Surrey, School of Electronic Engineering.
142
[7]
Burton, A.R., Vladimirova, T., 1997. “Genetic algorithm utilising
neural network fitness evaluation for musical composition”. In
G.D. Smith,
N.S.
and
Albrecht,
R., editors, International
Conference on Artificial Neural Networks and Genetic Algorithms,
Springer, Norwich, UK.
[8]
Dawkins, R., 1986. “The Blind Watchmaker”. W.W. Norton, New
York, ISBN: 0–393–31570–3.
[9]
Greenfield, G.R., 2002. “On the co-evolution of evolving
expressions”. International Journal of Computational Intelligence
and Applications, vol. 2 (1), pp. 17–31.
[10]
Holland, J.H., 1975. “Adaptation in Natural and Artificial
Systems”. University of Michigan Press, Ann Arbor, MI.
[11]
Horowitz,
D.,
1994.
“Generating
rhythms
with
genetic
algorithms”. In Proceedings of the 1994 International Computer
Music Conference, pp. 142–143, Aarhus, Denmark.
[12]
Jacob, B., 1995. “Composing with genetic algorithms”. In
Proceedings
of
the
1995
International
Computer
Music
Conference, pp. 452–455, Banff (Alberta), Canada.
[13]
Jacob, B., 1996. “Algorithmic composition as a model of
creativity”. Organized Sound, vol. 1, pp. 157–165.
143
[14]
Kelly, K., 1995. “Out of Control: The New Biology of Machines,
Social Systems and the Economic World”. Perseus Publishing,
London, ISBN: 0–201–48340–8.
[15]
Koza, J.R., 1990. “Genetic programming: A paradigm for
genetically breeding populations of computer programs to solve
problems”.
Technical
Report
STAN-CS-90-1314,
Stanford
University.
[16]
Lewis, M., 2000. “Aesthetic evolutionary design with data flow
networks”. In Soddu, C., editor, Generative Art.
[17]
Lewis, M., 2000. “Evolving human figure geometry”. Technical
Report OSU-ACCAD-5/00-TR1, Ohio State University.
[18]
Machado, P., Cardoso, A., 2000. “NEvAr – the assessment of an
evolutionary art tool”. In Wiggins, G., editor, Proceedings of the
AISB00 Symposium on Creative and Cultural Aspects and
Applications of AI and Cognitive Science, Birmingham, UK.
[19]
Machado, P., Dias, A., Cardoso, A., 2002. “Learning to colour
greyscale images”. The Interdisciplinary Journal of Artificial
Intelligence and the Simulation of Behaviour, vol. 1 (2), pp. 209–
219.
144
[20]
Moroni, A., Zuben, V.F., Manzoli, J., 2002. “Arbitration: Human
machine interaction in musical domains”. Leonardo, vol. 35, pp.
185–189.
[21]
Pazos, A., del Riego, A.S., Dorado, J., Cardalda, J.J.R., 1999.
“Adaptive aspects of rhythmic composition: Genetic music”. In
Banzhaf, W., Daida, J., Eiben, A. E., Garzon, M. H., Honavar, V.,
Jakiela, M., and Smith, R. E., editors, Proceedings of the Genetic
and Evolutionary Computation Conference, vol. 2, pp. 1794,
Morgan Kaufmann, Orlando, Florida, USA.
[22]
Pazos, A., del Riego, A.S., Dorado, J., Cardalda, J.J.R., 1999.
Genetic music compositor. In Angeline, P. J., Michalewicz, Z.,
Schoenauer, M., Yao, X., and Zalzala, A., editors, Proceedings of
the Congress on Evolutionary Computation, vol. 2, pp. 885–890,
IEEE Press, Mayflower Hotel, Washington D.C., USA.
[23]
Ralley, D., 1995. “Genetic algorithms as a tool for melodic
development”. In Proceedings of the 1995 International Computer
Music Conference, pp. 501–502, Banff (Alberta), Canada.
[24]
Rooke, S., 2002. “Eons of genetically evolved algorithmic images”.
In David W. Corne, P. J. B., editor, Creative Evolutionary Systems.
Morgan Kaufmann.
[25]
Saunders, R., Gero, J., 2001. “Artificial creativity: A synthetic
approach to the study of creative behaviour”. In Gero, J., editor,
145
Proceedings of the Fifth Conference on Computational and
Cognitive Models of Creative Design, Key Centre of Design
Computing and Cognition.
[26]
Sims, K., 1991. “Artificial evolution for computer graphics”. ACM
Computer Graphics, vol. 25 (4), pp. 319–328. SIGGRAPH’91
Proceedings, Las Vegas, Nevada, USA.
[27]
Soddu, C., 1999. “Recognizability of the idea: the evolutionary
process of argenia”. In Patrizio, A., Wiggins, G. A., and Pain, H.,
editors, Proceedings of the AISB’99 Symposium on Creative
Evolutionary Systems, pp. 18–27.
[28]
Spector, L., Alpern, A., 1994. “Criticism, culture, and the
automatic generation of artworks”. In Proceedings of Twelfth
National Conference on Artificial Intelligence, pp. 3–8, AAAI
Press/MIT Press, Seattle, Washington, USA.
[29]
Todd, P.M., Werner, G.M., 1998. “Frankensteinian methods for
evolutionary music composition”. In Musical Networks: Parallel
Distributed Perception and Performance. MIT Press, Cambridge,
MA.
[30]
Todd, S., Latham, W., 1992. “Evolutionary Art and Computers”.
Academic Press, London, ISBN: 0–124–37185–X.
146
[31]
Unemi, T., 2000. “SBART 2.4: An IEC tool for creating 2D
images, movies, and collage”. In Johnson, C. G. and Cardalda, J.
J. R., editors, Genetic Algorithms in Visual Art and Music, pp.
153–157, Las Vegas, Nevada, USA.
[32]
Ventrella, J., 1995. “Disney meets Darwin: evolution of funny
animated figures”. In Computer Animation ’95 Proceedings, IEEE.
[33]
Wiggins, G.A., Papadopoulos, G., Phon-Amnuaisuk, S., Tuson, A.,
1999.
“Evolutionary
methods
for
musical
composition”.
International Journal of Computing Anticipatory Systems,vol. 1(1).
147
Creatividad Computacional
Amílcar Cardoso1 y Juan Jesús Romero2
1
Creative Systems Group, AILab
Centro de Informática e Sistemas da Universidade de Coimbra (CISUC)
Pólo II, Pinhal de Marrocos, 3030 Coimbra, Portugal
Email: amilcar@dei.uc.pt
2
Facultad de Informática. Universidade da Coruña
Email: jj@.udc.es
Resumen
¿Tiene sentido creer que un enfoque computacional de la creatividad
nos ayudará a entenderla? ¿Merece la pena investigar herramientas y
entornos computacionales que puedan contribuir a la creatividad humana?
¿Es factible construir programas que puedan considerarse creativos?
Para aquellos que no acepten la idea romántica de la creatividad
como inspiración divina, que no ubican su origen en una intuición innata, es
decir, para aquellos que no se adhieren a lo que Margaret Boden (1990) [1]
llamó las vistas románticas e inspirativas de la creatividad1, el concepto de
explorar enfoques computacionales a la creatividad es todo menos una
pérdida de tiempo y recursos: la creatividad es conjuntamente aceptada
como una de las más notables características de la mente humana. Debe por
1
inspirational and romantic views of creativity
149
lo tanto ser investigada seriamente por los expertos en Inteligencia en
general e Inteligencia Artificial en particular.
Es difícil medir, observar e interpretar la creatividad. Desde hace
muchos siglos, pero sobre todo desde finales del siglo XIX, es un desafío
para muchos científicos e investigadores que trabajan en áreas como la
Ciencia Cognitiva y la Psicología. Cada vez más, los investigadores en IA
trabajan en teorías explicativas y modelos computacionales adecuados,
porque
creen
que
los
sistemas
computacionales
creativos
son
potencialmente eficaces en un amplio abanico de campos artísticos, técnicos
y científicos, donde la innovación es un elemento clave. El descubrimiento
científico, la prueba de teoremas y el diseño técnico son sólo algunos
terrenos de aplicación, y la naturaleza multidisciplinar de la investigación
resulta ser un factor muy atractivo. Finalmente, se trata de una investigación
que puede contribuir a entender los mecanismos que rigen la creatividad.
Dimensiones de Creatividad
La creatividad es un campo de investigación muy complejo.
Intervienen gran cantidad de factores que complican su definición,
valoración, modelización y mejora, por lo cual su estudio debe considerar
varias dimensiones.
Podemos por ejemplo adoptar cuatro perspectivas de análisis
diferentes: podemos considerar el proceso creativo, el ser que crea, el
entorno de la creación, y el producto final. En la modelización de la
creatividad, el proceso creativo constituye el enfoque más relevante, pero
150
también resulta primordial la perspectiva del producto creativo, ya que
solemos reconocer la creatividad por las características del producto. Este
punto será tratado más adelante.
En su interpretación del fenómeno de la creatividad, Boden (1990)
[1] propone la distinción entre la perspectiva del creador, llamada
Creatividad Psicológica2, cuando el hecho es “nuevo” para el individuo, y
la perspectiva de la sociedad o Creatividad Histórica3, cuando el hecho es
“nuevo” para la sociedad, (abreviados: Creatividad P y H). Esta distinción
significa que alguien puede considerar algo como creativo, p.ej. el propio
creador, sin que la sociedad en general lo perciba así.
Boden también proponía una distinción ortogonal entre la creatividad
exploratoria y la creatividad transformacional (abreviados: Creatividad E y
T). La primera se define esencialmente como un proceso de exploración del
espacio conceptual, con el propósito de localizar e identificar nuevos
objetos conceptuales, mientras que la segunda se caracteriza por la
transformación del propio espacio conceptual. Ejemplos de la creatividad E
serían productos de arte o música en estilos conocidos y establecidos;
cambios de paradigmas, como trabajos que lleven a estilos nuevos,
corresponderían a la creatividad T. Esta distinción será analizada más
adelante, ahora nos centraremos en la distinción entre el proceso creativo y
2
3
Psychological Creativity
Historical Creativity
151
el producto creativo, con el fin de introducir de manera básica los modelos
de creatividad y su aplicabilidad.
El Proceso Creativo
Varios modelos explicativos que describen el proceso creativo
humano tienen su origen en los campos de la Psicología y la Ciencia
Cognitiva, como los modelos sugeridos por Dewey (1919) [7], Poincaré
(1913) [18], Wallas (1926) [22], Rossman (1931) [21], y Guilford (1968)
[12] (ver el informe de Brown (1989) [2]). Los modelos que adoptan un
enfoque de procesamiento de la información (ej., Wallas (1926) [22]) son
particularmente útiles para la creatividad computacional. En términos
generales, estos modelos describen el proceso como un procedimiento
gradual que puede ser representado de la siguiente manera: (i) adquisición
del problema y asimilación del conocimiento, (ii) búsqueda consciente o
inconsciente de una solución, (iii) propuesta de una solución, y (iv)
verificación de la solución propuesta. Estos modelos pueden constituir una
importante fuente de inspiración para los modelos computacionales de
creatividad.
En su teoría “Estructura del Intelecto4”, Guilford (1967) [11]
propone el concepto de producción divergente como la habilidad de
“generar variedad y cantidad de información; muy involucrado en el
potencial creativo” (Brown 1989 [2]). Según Michael (1977) [15], esto
4
Structure of Intellect
152
puede conseguirse recurriendo al proceso de “reutilización de la
transformación”, en el cual la misma información se aplica a distintos
contextos (como si se intentara introducir una vieja pieza de puzzle dentro
de un puzzle nuevo).
También resultan relevantes los estudios de De Bono (1986) [6]
sobre el concepto de los pensamientos lateral y vertical, y su relación con la
creatividad. Y podemos buscar otras fuentes de inspiración que no sean la
creatividad humana. En la naturaleza, observamos que todas las especies
vivas luchan permanentemente por la supervivencia. La teoría NeoDarwinista, que revisa las primeras ideas de Darwin con la genética
moderna, nos da un marco científico que explica cómo las especies
sobreviven gracias a su capacidad de adaptación a los cambios
medioambientales. El centro de este proceso es un mecanismo que
selecciona los individuos más fuertes y recombina su material genético,
combinando las “buenas” partes de entidades diferentes para crear una
entidad todavía mejor. Esto es un claro ejemplo de soluciones innovadoras
(Goldberg, 1998 [10]).
El Producto Creativo
Es primordial analizar la creatividad también bajo el punto de vista
de su resultado, el producto creativo: una sinfonía, un invento, la prueba de
un teorema, son generalmente consideras como productos creativos, no
como procesos específicos que llevaron a una producción. Aunque no
queramos entender la creatividad únicamente a través del producto, es
153
difícil imaginar un concepto de creatividad que no considere el producto
como uno de sus componentes principales.
Dos propiedades principales caracterizan un producto creativo. Una
es la novedad: para que un producto sea reconocido como creativo, debe
tener un alto nivel de originalidad. Sin embargo, la novedad sola no es
suficiente: la noción de valor, o adecuación, es a menudo asociada a la
creatividad. Una secuencia aleatoria de símbolos puede ser nueva, pero no
será considerada como creativa sin un cierto significado en un lenguaje
compartido y aceptado.
¿Qué caracteriza la creatividad?
Recientemente, G. Wiggins (2001, 2003) [23], [24] ha propuesto una
caracterización formal que justifica la distinción de Boden entre la
creatividad E, la más común, definida como una búsqueda/exploración en
un espacio conceptual, y la creatividad T, que tiene lugar cuando el espacio
conceptual es transformado. De este modo, el proceso creativo puede ser
modelado como la alternancia entre la exploración y la transformación,
durante la cual varios espacios conceptuales son buscados en varias fases
exploratorias del proceso, siendo cada espacio conceptual el resultado de
una fase transformacional.
154
Para justificar la existencia de múltiples espacios conceptuales, a
“Universo de Posibilidades5", U, es definido como un superconjunto del
espacio conceptual en cualquier punto del proceso creativo: “U es un
espacio multidimensional, cuyas dimensiones son capaces de representar
cualquier cosa, y todos los posibles conceptos distintos corresponden con
distintos puntos en U” (Wiggins 2001 [23]).
Los espacios conceptuales se definen de modo generativo: cada
espacio tiene un conjunto de reglas R que determina su calidad de miembro
del espacio, es decir reglas que limitan el espacio conceptual. Estas reglas
son supuestamente aceptadas por la mayoría de los investigadores que
trabajan en el campo en cuestión. Un conjunto distinto de reglas T permite
la travesía del espacio, cada conjunto definiendo una estrategia de búsqueda
particular. En principio, cada creador particular desarrollará su propio
conjunto de reglas, es decir su propia "técnica". Los conceptos logrados son
evaluados mediante otro conjunto de reglas E, que dista de los otros dos
conjuntos en que intenta reflejar la manera en que la audiencia evalúa los
productos creativos, y que cambia en el curso del proceso.
Podemos asumir, sin ser demasiado específicos, que todas las reglas
están escritas en el mismo alfabeto L. Por lo tanto, cada regla es un
subconjunto del idioma L*.
5
Universe of Possibilities
155
A continuación describiremos de manera más formal ambos tipos de
creatividad, lo cual nos permitirá distinguir mejor entre ellos.
Creatividad E
La creatividad exploratoria puede ser representada de manera
abstracta por un septillo:
¢U, L, [[]], ¢¢²², R, T, E²
El significado de los símbolos es el siguiente (ver Figura 1):
U
un universo de posibles conceptos
L
un alfabeto desde el cual se construyen las reglas
[[]] un generador de funciones que traza un subconjunto de L* a
una función que selecciona elementos de U
¢¢²² un generador de funciones que traza un subconjunto de L* a
una función que selecciona y enumera elementos de U
R
un subconjunto de L*, el conjunto de reglas de pertenencia
al espacio conceptual
T
un subconjunto de L*, el conjunto de reglas de la estrategia
de búsqueda
E
un subconjunto de L*, el conjunto de reglas de evaluación
156
La creatividad E puede describirse como una búsqueda en un espacio
conceptual C limitado por la reglas R, usando una estrategia de búsqueda
codificada por las reglas T.
Figura 1: Creatividad Exploratoria
Con este conjunto de símbolos podemos definir formalmente el
espacio conceptual como un espacio compuesto por los conceptos de U
seleccionados por la función [[R]]:
C = [[R]](U)
La exploración de C puede definirse como un proceso iterativo que
en cada paso produce nuevos elementos de C a partir de otros elementos
visitados previamente. La exploración se hace en un orden particular,
controlado por T y limitado por R., y puede describirse a través de una
157
búsqueda basada en una agenda donde una función ¢¢R T²² traza
repetidamente conceptos sucesivos de U:
cout= ¢¢R T²²(cin)
En cualquier momento podemos partir C en C1, el espacio de
conceptos que ya han sido descubiertos, y C2, el espacio de los conceptos
remanentes. Típicamente, C tiene muchas circunvoluciones y algunos de sus
puntos son difíciles de alcanzar por las estrategias de búsqueda regulares;
algunos elementos en C pueden incluso ser inaccesibles bajo T. Por lo tanto,
una T particular tendrá más éxito en atravesar C y encontrar miembros de
C1, es decir, en producir soluciones nuevas, si puede alcanzar tales puntos
(ver Figura 2).
Figura 2: Dos creadores, mismo tipo, estilos diferentes
158
Como explicaba Wiggins, esto nos da la posibilidad de simular dos
compositores que trabajan de manera distinta (distintas estrategias de
búsqueda) dentro del mismo estilo (espacio limitado por las mismas reglas).
Creatividad T
Mientras que la creatividad E se describe como una exploración del
espacio conceptual, la creatividad T se refiere, según Boden, a la
transformación del propio espacio conceptual: los grandes momentos
creativos, tales como los cambios paradigmáticos, entran en esta categoría.
Bajo la formalización de Wiggins, transformar C implica cambiar las reglas
R de modo que los puntos fuera de C sean alcanzables (ver Figura 3). Esto
se puede conseguir cambiando el conjunto de reglas R en R’, lo cual resulta
en un nuevo espacio conceptual C’.
C’ = [[R’]](U)
Figura 3: Transformando R
159
Si R’ es suficientemente valorado por el actual conjunto de
evaluación E, puede ser aceptado por un número significativo de personas
que trabajan en el campo y acabar como cambio paradigmático.
Wiggins argumenta que un segundo tipo de creatividad T tiene lugar
cuando hay un cambio en el conjunto de reglas T hacia un nuevo T’ (ver
Figura 4). Esto corresponde a un cambio en la estrategia de búsqueda de un
creador particular, resulta en una manera distinta de atravesar C, y permite al
creador conseguir los mismos puntos de manera más eficaz y alcanzar
algunos puntos previamente inalcanzables. Sin embargo, R sigue igual, la
naturaleza del espacio de búsqueda sigue igual, no existe transformación de
C , y por lo tanto, no tiene lugar un cambio paradigmático. La
transformación ocurre en la superficie de búsqueda del creador individual.
Figura 4: Transformando T: el creador adopta una estrategia nueva
160
Esto no significa que el hecho de cambiar R sea más significativo
para la creatividad H que el de cambiar T. La historia del arte, de la música
y de la ciencia nos ha demostrado ampliamente que grandes
descubrimientos pueden ser alcanzados sin cambio paradigmático, solo a
través del refinamiento de una técnica hasta el punto de excelencia.
Terminamos este capítulo con la interesante conclusión que se puede
sacar de la caracterización mencionada: la creatividad T puede describirse
como un proceso de exploración en el meta-espacio de los conjuntos de
reglas R y T, creando interesantes preguntas sobre el significado de la
distinción entre la creatividad T y E - una discusión que queda fuera del
alcance de este texto.
Modelos de creatividad por ordenador
Los psicólogos cognitivos han observado que el potencial creativo
humano está intensamente relacionado con la habilidad de adoptar distintos
“puntos de vista” de la realidad. Por ejemplo, según Marin y de la Torre
(91) [14], nuestras capacidades de abstracción, de análisis simbólico, y de
encontrar relaciones que no son obvias, entre otras cosas, son asociadas a la
producción creativa. Una de estas teorías cognitivas (Guilford, 1967 [11])
profundiza la idea de “producción divergente”.
En
términos
computacionales,
explorar
espacios
con
circunvoluciones para llegar a puntos difíciles requiere unos mecanismos de
búsqueda flexibles y que ofrezcan la posibilidad de buscar “en paralelo” en
161
áreas dispares del espacio de búsqueda, encontrando máxima locales sin
dejar de divergir.
A continuación ilustraremos la caracterización abstracta con una
breve introducción de una arquitectura computacional similar a la que
proponen Cardoso et al. (2000) [3], y que puede explicar la flexibilidad y la
fluidez requeridas por los Sistemas Creativos.
Una simple arquitectura de exploración
La Figura 5 representa una simple arquitectura que modela el
proceso creativo como una secuencia iterativa de pasos; en esto se parece
mucho a los ya mencionados modelos de procesamiento de información que
surgieron de la Psicología y la Ciencia Cognitiva. El objetivo principal es la
propuesta de nuevas ideas, que son transformaciones de estructuras de datos
contenidas en una Memoria de Conceptos (MC)6. La cualidad de la idea
nueva depende de su novedad y de su capacidad de resolver un problema
específico. Dos módulos clave desempeñan un papel central en el proceso:
el Generador y el Manipulador. El primero produce ideas (estructuras de
datos) a través de la exploración de un espacio conceptual, mientras que el
segundo manipula las ideas seleccionadas y le propone ideas nuevas al
usuario (humano). Para poder nutrir de manera conveniente al Manipulador,
el primer módulo ha de ser fluido (es decir, debe ser capaz de producir una
amplia variedad de ideas), incluso si esto implica tomar riesgos cognitivos.
6
Concept Memory (CM)
162
El segundo módulo, que debe contribuir al control de la cualidad global de
las ideas propuestas, puede adoptar dos estrategias: puede intentar
incrementar
la
novedad
general
de
las
ideas
propuestas
(p.ej.,
recombinándolas), o puede incrementar su valor general (p.ej, adaptándolas
al problema).
Figura 5: Una arquitectura de exploración simple
Inicialmente, el MC pasa por un Rellenador de Conceptos7, que
puede ser controlado por un usuario humano o actuar autonómicamente. El
Rellenador de Conceptos puede llenar el MC usando conocimiento del
terreno
para
crear
las
estructuras
necesarias,
o
puede
crearlas
aleatoriamente.
El MC puede evolucionar durante el proceso gracias al Controlador
de Feedback, que nutre al MC con nuevas ideas propuestas por el
7
Concept Filler
163
Manipulador. Igual que el Rellenador de Conceptos, el Controlador de
Feedback puede actuar autonómicamente.
Instanciación usando RBC y CE
Podemos establecer un paralelismo entre esta arquitectura y la
manera en que la Computación Evolutiva (CE) (Fogel 1999 [8]) y el
Razonamiento Basado en Casos (RBC) (Leake 1996 [13]) resuelven
problemas (ver Tabla 1). Esto nos puede dar una idea más concreta sobre
cómo esta arquitectura puede ser instanciada usando cualquiera de estas
técnicas.
Arquitectura
Computación
Raz. Basado en
propuesta
Evolutiva
Casos
Memoria de
Conceptos
Generador
Población
Caso Base
Evaluación/Selección
(c./función fitness)
Operadores Genéticos
(cruce, mutación, ...)
Selección (c./ métrica)
Manipulador
Operadores de
Adaptación
Tabla 1: Similitud entre la arquitectura híbrida, CE y CBR
En CE, una población (MC) es evaluada y unos individuos (ideas)
son seleccionados según una función de fitness, lo cual puede ser
considerado un proceso de generación en la mencionada arquitectura. A
continuación,
los
operadores
genéticos
desempeñan
el
papel
de
Manipulador y las ideas propuestas son devueltas al MC. En RBC, el
proceso de generación puede llevarse a cabo seleccionando casos de una
164
base de casos (MC) en función de una métrica. Los operadores de
adaptación manipulan los casos seleccionados, y los casos propuestos
pueden ser devueltos al MC.
La arquitectura es muy flexible y puede ser explorada de muchas
maneras. Si adoptamos una representación que es apta para conceptos, esos
conceptos pueden ser reproducidos, utilizados y manipulados por los
mecanismos RBC y CE. Podemos usar CBR en el Generador y aplicar
operadores genéticos en el Manipulador para mejorar la diversidad.
Podemos también usar la función de fitness para seleccionar ideas y
operadores de adaptación para así ganar aptitud. Podemos incluso cambiar
los mecanismos por el Generador y el Manipulador en cada ciclo; la
elección de cada combinación puede depender de la evaluación de los
resultados intermedios y/o de los propósitos específicos del usuario.
Representación
Según Guilford (1967) [11], la creatividad está directamente
relacionada con nuestra capacidad de conectar y relacionar ideas
aparentemente divergentes, es decir, de ver similitudes donde, por defecto,
parece no haber ninguna (ver el famoso ejemplo de la serpiente que se
muerde y de la molécula de benceno en el sueño de Kekulé). En términos
computacionales, este efecto sólo puede obtenerse divagando a través de
conceptos no relacionados, es decir potenciando las asociaciones entre
conceptos de varias áreas, lo cual exige un alto nivel de flexibilidad en la
representación. El programa que es capaz de hacer esto debe aceptar una
165
representación abierta (en el sentido de que debe aceptar varios campos) y
debe disponer de mecanismos para operar en los propios conceptos sin
perder valor semántico.
Una representación aceptable puede permitirnos coger lo mejor de la
flexibilidad de la arquitectura presentada. Si queremos por ejemplo explorar
la posibilidad de usar, de modo flexible, técnicas de CE y RBC en los
módulos de Generador y Manipulador, las estructuras del concepto deben
ser diseñadas de tal modo que ambos mecanismos pueden procesarlas
libremente, p.ej. ensamblando de nuevo los mismos fragmentos en
combinaciones nuevas.
Cardoso at al. (2000) [3] proponían un lenguaje de representación
común: un conjunto de objetos estructurados jerárquicamente (OEHs) que
son fácilmente manipulados por mecanismos CE y RBC. Este lenguaje
puede definirse más exactamente por una gramática que enseñamos
parcialmente usando el tradicional formalismo BNF:
<structure> ::= <node> | <node>({<structure>}+)
<node> ::= <name> | <name>({<attribute>}+)
<attribute> ::= <type-attrib>(<name>)
<type-attrib> ::= link-in(<value>) | link-out(<value>)
166
El mismo lenguaje común puede usarse para representar objectos de
dominios distintos. Los objetos representados en las Figuras 6, 8, 9 y 10
son instanciaciones de los OEHs, y sólo los no terminales <name> y
<value> dependen del dominio. La principal ventaja de adoptar tal
representación es que permite integrar plenamente los mecanismos CE y
RBC en la misma arquitectura, así como incluir objetos de distintos
dominios en la misma base de conocimiento. Gracias a esta última
característica, la implementación de mecanismos de transferencia
metafórica es posible.
ecossaise
A
a
B
a
A
b
b
a
a
Figura 6: Representación del nivel abstracto de una pieza musical de
Mauro Giuliani
167
Figura 7: Un sketch basado en “Thirteen Rectangles” de Kandinsky
Figura 8 – Una representación del dibujo de la Figura 3
168
Figura 9: Una representación de la estructura de un cuento
AND
AND
OR
A
D
NOT
B
C
Figura 10: La estructura de un circuito digital
169
Caracterizando la arquitectura
Aunque la arquitectura de la Figura 5 es muy sencilla, ilustra una
posible implementación de creatividad exploratoria y podemos interpretarlo
bajo la formalización de Wiggins pintando algunas analogías.
La arquitectura puede verse como la exploración de un espacio
conceptual C, con un subconjunto representado en cada ciclo por la
Memoria de Conceptos. Otras partes de C son dinámicamente incluidas en
la MC por el Controlador Feedback, y podemos admitir que el Rellenador
de Conceptos puede también añadir otras partes en cualquier momento del
proceso creativo. Otras partes de C son representadas solo implícitamente: el
sistema visita puntos que pueden ser sintetizados en tiempo real por el
Generador y el Manipulador.
La estrategia de búsqueda T es típicamente codificada en el
Generador y el Manipulador, ya que estos modelos son los responsables de
decidir qué puntos hay que visitar y en qué orden. El Rellenador de
Conceptos puede también tener un papel en esto, particularmente si le
permitimos intervenir en el proceso iterativo añadiendo conceptos nuevos.
Esta intervención puede ser particularmente eficaz en versiones más
elaboradas de la arquitectura, donde se le da a este modulo la capacidad de
analizar los contenidos de la MC.
El conjunto de evaluación E es codificado en el Controlador
Feedback. Debemos recordar que este módulo podría funcionar
170
autonómicamente, o bajo el mando de algún agente externo, posiblemente
humano, que trabaja como un crítico y por lo tanto controla indirectamente
el proceso. Podemos asimismo admitir que el Manipulador contenga
algunas formas restringidas de asistencia al conocimiento, filtrando ideas
que considera sin suficiente valor o novedad.
El conjunto R, que define la pertenencia al Espacio Concepto, sólo
está implícitamente en esta arquitectura. La representación que adoptamos
para los conceptos contiene una cantidad substancial de limitaciones
definidas implícitamente por C. Por ejemplo, la representación puede no
permitir colores en dibujos, o restringir los elementos de los dibujos a
rectángulos. Este carácter no explícito de R, que es probablemente una
característica de cualquier mecanismo convencional para la solución de
problemas, inhibe cualquier intento substancial de usar esta arquitectura
para ilustrar la creatividad transformacional.
Podemos, sin embargo, considerar algunos posibles refinamientos:
consideramos que parte de R puede ser codificado explícitamente en los
módulos, particularmente en el Manipulador, que puede filtrar ideas “no
válidas”. Podemos argumentar que el cambio de estos mecanismos de
filtración puede resultar en dar acceso a conceptos fuera del C original.
Podemos admitir que el Generador y el Manipulador evolucionen durante el
proceso creativo, dando lugar a cambios en T, que es una forma de
creatividad T en los términos de Wiggins. Y podemos admitir cambios
profundos, inducidos en la MC por el Rellenador de Conceptos, que
correspondan a un cambio en R. Estos son sólo algunos pensamientos sobre
171
un tema muy complejo: la creatividad T subsume la habilidad de razonar al
nivel meta, para así posibilitar la creación de conceptos previamente
imposibles. Esta investigación puede parecer la búsqueda del Santo Grial,
pero nos lleva hacia temas que pueden avanzarnos en procesos de
transferencia entre dominios como Analogía, Metáfora y Mezcla
Conceptual (Pereira y Cardoso 2003) [17].
Una nota sobre la Evaluación
Los límites de este documento no nos permiten incluir una sección
sobre la Evaluación de Creatividad. Dada la importancia del tema,
invitamos al lector interesado a consultar algunas obras publicadas
recientemente que tratan el tema: (Ritchie 2001 [19], Colton et al. 2001 [5],
Pease et al. 2001 [16], Gervás 2002 [9], Romero et al. 2003 [20]).
Bibliografía
[1]
Boden, M., 1990. “The Creative Mind: Myths and Mechanisms”.
Abacus, London, ISBN: 0–415–31452–6.
[2]
Brown, R.T., 1989. “Creativity: what are we to measure?”. In
Glover, J.; Ronning, R. and Reynolds, C., Handbook of Creativity,
Plenum Press, New York, ISBN: 0–306–43160–2.
[3]
Cardoso, A., Costa, E., Machado, P., Pereira, F.C., Gomes, P.,
2000. “An Architecture for Hybrid Creative Reasoning”. In Pal, S.
172
K., Dillon, T. and Yeung, D. (Eds.), Soft Computing in Case Based
Reasoning, Springer-Verlag.
[4]
Cardoso, A., Bento, C., Machado, P., Pereira, F.C., Junio 2002.
“Darwin and creationism reconciled: When computers should
surprise us”. i3 magazine, Mimo Caenepeel (Ed.), Issue 12, pp.
20–25, The European Network for Intelligent Information
Interfaces.
[5]
Colton, S., Pease, A., Ritchie, G., 2001. “The Effect of Input
Knowledge on Creativity”. Proceedings of the ICCBR'01
Workshop on Creative Systems. Vancouver, BC, Canada. Bento
and Cardoso (Eds.). Washington, DC: Naval Research Laboratory,
Navy Center for Applied Research in Artificial Intelligence.
[6]
De Bono, E., 1986. “El pensamiento lateral. Manual de la
creatividad”. Paidós, Barcelona, Spain.
[7]
Dewey, J., 1919. “How we think”. D.C. Heath , Boston.
[8]
Fogel, D.B., 1999. “Evolutionary Computation: Toward a New
Philosophy of Machine Intelligence”. Wiley-IEEE Press, 2nd.
Edition, 1999.
[9]
Gervás, P., Julio 2002. “Exploring Quantitative Evaluations of the
Creativity of Automatic Poets”. Procs. of the 2nd. Workshop on
Creative
Systems,
Approaches
173
to
Creativity
in
Artificial
Intelligence and Cognitive Science, Bento, Cardoso and Wiggins
(Eds.). 15th European Conference on Artificial Intelligence (ECAI
2002) Lyon, France.
[10]
Goldberg, D., 1998. “The design of innovation: lessons from
genetic algorithms, lessons for the real world”. IlliGAL Report Nº
98004, Department of General Engineering, University of Illinois
at Urbana-Champain.
[11]
Guilford, J.P., 1967. “The Nature of Human Intelligence”.
McGraw-Hill, New York.
[12]
Guilford, J.P., 1968. “Intelligence, creativity and their educational
implications”. Robert Knapp, San Diego, CA.
[13]
Leake, D.B., 1996. “Case-Based Reasoning: Experiences, Lessons,
and Future Directions”. AAAI Press.
[14]
Marin, R., de la Torre, S., 1991. “Manual de la Creatividad”.
Vicen Vives, Barcelona.
[15]
Michael, W.B., 1977. “Cognitive and affective components of
creativity in mathematics and the physical sciences”. In J.C.
Stanley, W.C. George & C.H. Solano (Eds.), The gifted and the
creative: A fifty-year perspective. Johns Hopkins University Press,
Baltimore.
174
[16]
Pease, A., Winterstein, D., Colton, S., 2001. “Evaluating Machine
Creativity”. Proceedings of the ICCBR'01 Workshop on Creative
Systems. Vancouver, BC, Canada. Bento and Cardoso (Eds.).
Naval Research Laboratory, Navy Center for Applied Research in
Artificial Intelligence, Washington, DC.
[17]
Pereira, F.C., Cardoso, A., 2003. “Optimality Principles for
Conceptual Blending: A First Computational Approach”. The
Interdisciplinary Journal of Artificial Intelligence and the
Simulation of Behaviour, AISB Journal, Alonso, E., Wiggins, G.
(Eds.), 1(4), SSAISB.
[18]
Poincaré, H., 1913. “The foundations of science”. Science Press,
Lancaster, PA.
[19]
Ritchie, G., 2001. “Assessing Creativity”. Procs. of the AISB'01
Symposium on AI and Creativity in Arts and Science, York,
SSAISB, UK.
[20]
Romero, J., Machado, P., Santos, A., Cardoso, A., 2003. “On the
Development of Critics in Evolutionary Computation Artists”.
Proceedings of the EvoMusart workshop, 6th European Conference
on Genetic Programming, Essex, UK.
[21]
Rossman, J., 1931. “The psychology of the inventor: A study of the
patentee”. Inventors Publishing Co., Washington, DC.
175
[22]
Wallas, G., 1926. “The art of thought”. Harcourt Brace, New York.
[23]
Wiggins, G., 2001. “Towards a more precise characterisation of
creativity in AI”. In Bento, C. and Cardoso, A., ed., Proceedings of
the ICCBR’01 Workshop on Creative Systems. Naval Research
Laboratory, Washington, DC.
[24]
Wiggins, G., 2003. “Characterising Creative Systems”. In Bento,
C., Cardoso, A. and Gero, J., Proceedings of the IJCAI'03
Workshop on Creative Systems, IJCAI.
176
Nuevas Perspectivas en Informática
Médica y Bioinformática
Víctor Maojo1, Fernando Martín2 y José Manuel Vázquez3
1
Laboratorio de Inteligencia Artificial
Facultad de Informática. Universidad Politécnica de Madrid
Email: vmaojo@fi.upm.es
2
Laboratorio de Inteligencia Artificial
Área de Bioinformática y Salud Pública
Instituto de Salud Carlos III. Madrid
3
Laboratorio RNASA-IMEDIR
Universidade da Coruña
Email: jose@udc.es
Introducción
Los estudios sobre el carácter de arte/ciencia/ingeniería de muchas
disciplinas han sido frecuentes durante los últimos cincuenta años. Un
campo de la importancia de la informática ha sufrido este mismo debate,
comenzando por el mismo nombre. Si en Estados Unidos recibe el nombre
de “computer science” o ciencia de las computadoras, en Francia y otros
países europeos se denomina como “informática” ʊen francés,
informatiqueʊ, con un significado más amplio, incluyendo el estudio de los
diversos aspectos relacionados con el manejo de información. Esta última
acepción ha sido ampliamente utilizada en IM y BI, indicando no sólo el
177
uso de computadoras en medicina y biología, sino diversas teorías y
métodos relacionados con la adquisición, almacenamiento, procesamiento,
análisis, transferencia, búsqueda y visualización de información.
Un debate similar ha sido desarrollado en una disciplina, la IA, que
tan relacionada ha estado con la IM. De hecho, la investigación de mayor
impacto académico en IM, durante más de una década, fue realizada en
temas de IA [1][2][3]. En la IA ha habido una cierta polémica acerca de su
carácter científico y sus contenidos curriculares. El autor de este trabajo,
asistiendo a un curso de IA en una universidad de los EE.UU., “sufrió” la
impaciencia de un estudiante de doctorado en informática, que consideraba
que los temas del curso eran meras repeticiones de otros que ya había
recibido en cursos diferentes; pero, de hecho, la IA era el área original
donde muchos de estos contenidos se habían investigado y generado
aunque, una vez obtenidos, fueron rápidamente adoptados en otras áreas.
Por ello, la IA ha tenido que estar siempre avanzando hacia delante para
mantener su naturaleza científica. Un caso similar podría plantearse en la
IM.
Naturaleza científica de la IM y BI
En el caso de la IM una de las justificaciones habituales [4] [5] para
justificar la naturaleza científica de la disciplina es que está en relación con
la medicina, que sería diferente al resto de las ciencias aunque similares
dudas podrían plantearse sobre el carácter científico de la medicina, como
se verá más tardeʊ. En relación con la medicina, hay un acuerdo general
178
(al menos dentro de la IM) acerca de estas diferencias, que han podido
afectar claramente el curso de la IM. Diferentes argumentos se han
propuesto para soportar esta visión:
La complejidad de la información en medicina es diferente a otras
disciplinas [6]. Se puede considerar que hay varios niveles de información,
desde los de “bajo nivel”, relacionados con ciencias como la bioquímica o
física, hasta los de “alto nivel”, utilizados en diagnóstico o manejo de
información en la asistencia al paciente.
Metodologías. En medicina el método experimental es el más común
para el desarrollo del campo científico. Las hipótesis pueden ser creadas de
formas diferentes ʊpor ejemplo, por abducción, generalización desde
observaciones, analogías, simetríasʊ. Los experimentos se llevan a cabo
siguiendo metodologías específicas para probar la veracidad de las
hipótesis. La epidemiología y bioestadística han contribuido en las últimas
décadas a diseño experimentales más cuidadosos en medicina [7], lo que ha
llevado a la realización de ensayos clínicos más fiables y al auge actual de
la medicina basada en la evidencia.
Creación vs descubrimiento. La medicina, como la IM, tratan con el
cuerpo humano y los modelos que se pueden construir partiendo de él. Por
ello, la investigación básica se realiza a niveles físicos, bioquímicos o
biológicos para comprender fenómenos y elaborar teorías que engloben los
hechos descubiertos. El cuerpo humano no se puede cambiar al menos,
por el momento y los investigadores buscan descubrir hechos científicos.
En otras disciplinas por ejemplo, las ingenierías, economías, derecho el
179
hombre puede crear nuevos componentes, reglas y modelos, sustituyendo
aquellas piezas que considera oportuno. Por eso, en la medicina hay más
una labor de descubrimiento de lo que todavía no es conocido en el cuerpo
humano y la naturaleza, mientras en otras áreas ʊpor ejemplo, la
farmacogenómicaʊ, hay también una labor de creación y diseño.
Aspectos cognitivos. Simon, Anderson y otros investigadores de la
Ciencia Cognitiva [8], han demostrado, desde los años 1950, que los
expertos en un área particular tienen estrategias de razonamiento que son
utilizadas para esa área. Estas estrategias son específicas para cada dominio
y sólo pueden ser transferidas a dominios y problemas similares. Por
ejemplo, la pericia y habilidades en el razonamiento del juego del ajedrez
no son útiles en áreas como, por ejemplo, música o derecho. Una conclusión
similar puede ser obtenida analizando la informática y la medicina. Los
métodos de análisis del razonamiento en medicina incluyen el método
hipotético-deductivo, razonamiento abductivo, heurísticas (por ejemplo,
representatividad, disponibilidad, anclaje y ajuste), abstracciones, analogías
de casos, reconocimiento de patrones en datos de pacientes, inferencias
causales, estrategias globales, comparación de conceptos, etc.
Estos aspectos cognitivos pueden cambiar durante la carrera
profesional de un médico, desde una fase interpretada, en la que analiza
cada hecho de forma individualizada y secuencial a otra en la que el médico
elabora su proceso de razonamiento de forma automatizada, combinando de
forma
paralela
varias
estrategias
y
conocimiento
declarativo
y
procedimental. Por ello, asistir a una rutinaria visita de pacientes en una
sala de un hospital puede ser una pesadilla para un ingeniero o informático
180
no acostumbrado. El número y tipo de conceptos y vocabulario médico que
el clínico maneja, la introducción de estimaciones difusas de la
incertidumbre, la aproximación no algorítmica al diagnóstico médico, la
comparación con múltiples casos anteriores y las explicaciones diagnósticas
son difíciles de comprender para informáticos e ingenieros. Esta
complejidad de los aspectos cognitivos ha provocado la dificultad existente
para la creación de sistemas automatizados de ayuda a la toma de
decisiones, que imiten los procesos cognitivos de razonamiento de los
médicos.
Aspectos éticos. La investigación y práctica de la medicina han
tenido regulaciones estrictas. Por ejemplo, la aprobación de un nuevo
medicamento puede necesitar un lapso de 10-20 años, debido a la
posibilidad de efectos secundarios. En Estados Unidos, la administración, a
través de la agencia FDA, impone regulaciones muy estrictas y
evaluaciones de software médico y dispositivos. De esta forma, todas las
investigaciones realizadas deben tener en mente la necesidad de evitar
daños a las personas.
Aspectos del entorno y ambiente.
Los cambios en las
circunstancias, naturales o artificiales, que rodean un grupo poblacional
específico pueden provocar cambios en la conducta humana, naturaleza y en
la investigación científica. Las especies animales, y en particular el hombre,
pueden verse afectados por su entorno (por ejemplo, contaminación, ruido,
radiaciones físicas) y los resultados de una investigación en un medio o
entorno determinado no pueden ser extrapolables inmediatamente. Por
ejemplo, las conclusiones de un estudio realizado en un hospital del tercer
181
mundo pueden no tener ninguna validez en un hospital de un país avanzado.
En medicina y también en IM cualquier investigación debe tener en
cuenta los factores ambientales que afectan al lugar donde se realiza dicha
investigación.
Aspectos económicos. Según muchos investigadores, la mejora de
las condiciones económicas en los países avanzados ha llevado a un
incremento de medidas de higiene y prevención en salud pública que
podrían ser tan o más importantes como el arsenal terapéutico que se ha
creado en los últimos cincuenta años para la mejora de la salud de los
ciudadanos [9].
Aspectos emocionales. Es conocido que la actitud emocional de una
persona puede estar directamente relacionada con el resultado de cualquier
estrategia terapéutica en una enfermedad específica. Los aspectos
emocionales han sido dejados fuera, tradicionalmente, de la investigación
médica. También de la investigación en Ciencia Cognitiva. Pero parece
ahora que no sólo los aspectos cognitivos y médicos pueden ser
reelaborados desde un punto de vista emocional. También la computación y
la investigación de la interacción hombre-máquina puede ser reelaborada
[10].
Si bien todas estas cuestiones pueden ser propuestas para ver las
particularidades de la medicina, es interesante ver cómo cuestiones muy
similares pueden ser planteadas en el uso de la biología. Así, en (1), la
complejidad de la información en la biología no es muy diferente y se puede
observar, por ejemplo, en los llamados “pathways” o vías metabólicas, de
182
enorme complejidad, lo que hace difícil su representación. En (2), las
metodologías en biología son también similares. En relación a (3) hay algún
matiz distinto, porque el conocimiento de la genética ha permitido, desde
Mendel ʊconsiderando un punto de vista científico, porque ya antes se
aplicaba en la agricultura o ganadería, de modo puramente empírico o
intuitivoʊ, introducir variaciones en los códigos genéticos de las diversas
especies. La ingeniería genética permitirá avanzar más aún en esta línea. En
(4), los aspectos cognitivos de la biología no son tan complejos como en la
medicina, como se verá más adelante, pero no son en absoluto obvios. Si en
la medicina existe un componente de “arte”, también se produce en la
investigación en biología. Con respecto a (5), existen también en la biología
aspectos éticos y se han desarrollado aún más en los últimos años fuertes
restricciones y condicionamientos de este tipo en múltiples investigaciones
en biología, como son los estudios de células madre, experimentos de
clonación, el mantenimiento de la privacidad y confidencialidad de los
datos genéticos o las modificaciones genéticas de diversas especies en el
laboratorio. En (6), aunque las condiciones de investigación en biología son,
en general, más estables, al ser analizadas en el laboratorio, el
comportamiento mismo de los genes depende del entorno. Como se volverá
a comentar más adelante, la representación ADN Æ ARN Æ proteínas,
parte clave del llamado dogma central de la genética, debido al premio
Nobel Crick [11], ya no es válida para representar la complejidad de las
múltiples interacciones que los genes tienen con otros genes y su entorno;
por esta razón, surge la llamada Biología de Sistemas [12], como una
continuación actualizada de conceptos que habían sido ya propuestos en la
cibernética. En (7) y (8), estos aspectos, más en relación con la situación de
183
las personas, no parece haber una relación tan directa como en las
anteriores, marcando ciertas diferencias entre la medicina y la biología.
Análisis basado en el “Informe Denning”
Para analizar las características científicas de ambas disciplinas se va
a considerar a continuación un informe ya clásico, que es usado como
referencia para considerar las perspectivas diferentes de la IM y BI como
disciplinas científicas.
El informe conocido como “Denning”, elaborado por la ACM y el
IEEE para el estudio de la informática como disciplina [13], planteaba la
consideración de tres perspectivas para dicho análisis: (1) Teorías. (2)
Abstracción. (3) Diseño. Un análisis similar podría ser de interés también
para la IM y BI. De esta forma se pretende mostrar como la metodología
usada por Denning puede estar indicada en áreas interdisciplinares de la
informática, como son la IM y BI.
Teoría
Desde esta perspectiva, habría cuatro fases en el desarrollo de una
teoría en MI y BI: (1) Caracterizar objetos de estudio. (2) Generar hipótesis
sobre las relaciones entre ellos, (3) Determinar si las relaciones son
verdaderas. (4) Interpretar los resultados.
Como se verá más tarde, uno de los papeles o roles principales de los
profesionales de la IM y la BI es la construcción de modelos informáticos
184
que puedan predecir la conducta de un paciente o situaciones sanitarias bajo
circunstancias específicas (por ejemplo, mediante protocolos clínicos que
tengan en cuenta el estado de un paciente ante determinados factores
externos y cómo este estado puede ir evolucionando en el tiempo).
Basándose en teorías de otras disciplinas científicas tales como, por
ejemplo, las matemáticas, lógica, IA o física, se pueden desarrollar nuevas
teorías para caracterizar los modelos que prueben estas teorías.
Si se considera otra disciplina informática como, por ejemplo, la
“informática legal”, sería una cuestión muy discutible y llevaría
seguramente a una amplia controversia ver si existen teorías científicas por
detrás de algunos de los sistemas o aplicaciones construidos en esta
disciplina. El autor de este trabajo y otros colegas han propuesto con
anterioridad [14], que no son necesarias las teorías científicas subyacentes
para probar las propiedades del modelo existente de leyes que se analiza, ya
que dichas propiedades son, de hecho, ya explícitas. Después de analizar
más extensamente este tema y considerar que existen muchos juristas y
publicaciones que defienden el carácter científico de las bases del derecho,
con diferentes ideas y perspectivas, el autor de este trabajo se inclina a
pensar de forma diferente al menos en una primera aproximación,
considerando ahora que la informática legal podría tener una perspectiva
teórica más consistente y profunda que lo que podría aparecer a simple
vista. Cambios en las teorías del derecho podrían llevar a modificar los
modelos existentes y la informática legal tendría que tenerlas en
consideración aunque la duda es si el interés va más allá de aspectos
185
puramente filosóficos de la disciplina, como si se puede argumentar en el
caso de la IM y la BI.
En medicina y biología se deben considerar varios niveles en la
complejidad de la información y se pueden construir diversos modelos para
justificar y predecir el determinado comportamiento de un objeto, en
comparación con otros objetos ya existentes y en relación con su entorno.
Ya que estos modelos se basan en teorías de los diferentes aspectos de los
componentes
del
cuerpo
humano
o
en
hechos
obtenidos
por
experimentación, se pueden probar las relaciones entre las características de
un modelo. Nuevas teorías podrían ser también desarrolladas dentro de la
IM y la BI, para, por ejemplo, describir procesos intrínsecos ʊtales como
los metabólicos o fisiopatológicosʊ en términos de transferencia y
procesamiento de información. Como ejemplo se puede citar un ejemplo de
investigación anterior en IM [15], realizado para validar, desde un punto de
vista lógico, criterios de uso apropiado médico. El método para crear estos
criterios ha sido desarrollado por investigadores de la corporación RAND
en Santa Mónica, California y está basado en estudios de la literatura
científica y las opiniones de los panelistas. La metodología tiene dos
problemas principales: Uno, las inconsistencias en los conocimientos
expresados por los panelistas. Otro, las dificultades para el uso de los
resultados en la practica clínica, ya que el método ha sido diseñado para
estudios en servicios de salud y evaluaciones de tecnologías sanitarias.
Sin entrar a considerar los componentes del modelo ni el diseño del
sistema construido para automatizar el proceso de búsqueda de
inconsistencias, se han creado avances teóricos para verificar la consistencia
186
lógica del modelo construido. Con un método basado en lógica multivalente
y álgebra computacional, se puede probar la consistencia del conocimiento
expresado en forma de conjuntos de criterios, expresados por los
participantes en un panel. Una vez que la consistencia de todos los criterios
ha sido confirmada, es posible inferir nuevo conocimiento. De esta forma el
modelo soporta nuevas interpretaciones de los criterios, que pueden ser
usados como guías para la práctica clínica.
Viendo este ejemplo y otros muchos realizados en múltiples áreas
por ejemplo, tratamiento de la incertidumbre en sistemas expertos
médicos o modelos de razonamiento cualitativo en la toma de decisiones”
es posible considerar que ha habido una amplia investigación teórica dentro
de la IM y la BI. Sin embargo, es también posible preguntarse si la
investigación original pertenece a otras áreas por ejemplo, probabilidad,
IA o procesamiento digital de la señal y, en realidad, su importancia en la
IM y BI es relativa, al tratarse más bien de aplicaciones de teorías, métodos
y modelos de otras disciplinas en ellas. Basándose en estas consideraciones
sería posible hacerse la siguiente pregunta: ¿Existen teorías y modelos
propios dentro de la BI y MI, que pudiesen ser considerados como
pertenecientes a ambas disciplinas, al ser analizados desde otras disciplinas
externas?
Abstracción
Según esta perspectiva se podría analizar la IM y la BI, considerando
cuatro pasos: (1) Formación de hipótesis. (2) Construcción de modelos y
187
realización de predicciones, (3) Diseño de experimentos y recogida de
datos, y (4) Análisis de resultados.
Según esta idea, en computación según el informe Denning,
aunque en este trabajo se generaliza a las informáticas interdisciplinares o
aplicadas, una de las perspectivas de trabajo es la realización de un
proceso de abstracción de situaciones particulares, partiendo de una
hipótesis, que permita construir un modelo con capacidad predictiva, cuya
validez pueda ser demostrada mediante experimentación. Esta definición, en
el informe Denning, es un tanto ambigua, desde el punto de vista de
metodología de la ciencia, ya que no está claro cómo se realizan las
hipótesis “a priori”. Se entiende, en principio, que debe existir una teoría
para construir modelos en informática, lo que es coherente desde un punto
de vista científico.
Un ejemplo sería, en BI, una investigación de estructuras en 3-D de
proteínas. Una vez construidos estos modelos partiendo de una hipótesis, se
realiza una predicción de cuál debería ser la estructura y función de una
determinada proteína. Una vez hecha esta aproximación, se realiza un
experimento para validar su resultado. Esta investigación propuesta, que
coincide con la perspectiva adoptada en este subapartado, no coincide sin
embargo, con muchas de las investigaciones planteadas hasta la fecha en IM
y BI.
188
Diseño
Desde esta perspectiva, hay cuatro pasos básicos en el desarrollo de
aplicaciones informáticas en medicina: (1) Exponer requisitos. (2) Detallar
especificaciones. (3) Diseño e implementación de sistemas. (4) Pruebas y
evaluación del sistema.
El desarrollo de aplicaciones informáticas en medicina tiene algunas
particularidades, comparado con los enfoques comunes en ingeniería del
software. Los informáticos médicos pueden trabajar como desarrolladores,
pero la complejidad creciente de los sistemas médicos hace necesario que se
usen equipos con especialistas en temas como, por ejemplo, interfaces
humanos, bases de datos, programación “web” o seguridad.
Los profesionales de la IM e BI, de forma similar a los profesionales
de cualquier otro campo informático localizado en la intersección de dos
campos diferentes (por ejemplo, informática jurídica) pueden ser
considerados, desde otro punto de vista, como “mediadores” ʊen inglés,
“brokers” ʊ. Los profesionales de estas áreas informáticas pueden actuar
como
mediadores,
intermediarios
de
información
o
consejeros,
estableciendo puentes entre profesionales de la medicina, informática u
otras áreas más específicas como la investigación básica, salud pública,
epidemiología o economía de la salud, ya que cada una de ellas tiene sus
particularidades. En informática, se pueden considerar ramas como la
ingeniería del software, arquitecturas, IA y otras.
189
Desde el punto de vista de la ingeniería, la misión de estos
profesionales de áreas interdisciplinares informáticas sería similar: diseñar e
implementar buenos sistemas. Los profesionales de la BI o IM actuarían
como desarrolladores o mediadores en el diseño de sistemas informáticos.
No habría demasiadas diferencias entre los bioinformáticos e informáticos
médicos en este sentido. Desde esta perspectiva, los profesionales de ambas
disciplinas actuarían con una perspectiva ingenieril.
Los profesionales de ambas disciplinas, por su conocimiento de las
áreas implicadas en cada una de ellas medicina e informática para la IM o
biología e informática para la BI, podrían tener un papel importante
asegurando que los sistemas, por ejemplo, responden a problemas reales y
al estado de la cuestión del área de aplicación.
En
las
labores
puramente
de
ingeniería
del
software
e
implementación de sistemas de gran complejidad, profesionales de la
informática podrían liderar estos aspectos. De esta forma, quedarían, para
los profesionales de la IM o BI, tareas que podrían parecer más sencillas
pero que requieren un conocimiento profundo de la informática y de sus
dominios de aplicación, así como un conocimiento extenso de las lecciones
aprendidas en cada disciplina, en décadas de experiencia y práctica, en
temas como:
x
Coordinación del proyecto.
x
Conocimiento del estado de la cuestión en aplicaciones de BI o
IM.
190
x
Experiencia en casos o aplicaciones similares.
x
Asegurar la calidad de la información y conocimiento.
x
Explicar los diferentes conceptos, vocabularios y relaciones a
ambas partes del equipo (médicos e ingenieros).
x
Participación en procesos de diseño y modelado.
x
Determinación de las mejores prácticas.
x
Control en la recogida y selección de datos.
x
Guías de actuación para la implementación de interfaces de
usuario.
x
Consejos sobre sistemas de codificación y clasificación.
x
Detección de problemas de comunicación.
x
Anticipación de las necesidades de los usuarios.
x
Filtrado de información subjetiva.
x
Estrategias de gestión del conocimiento.
x
Importación y exportación de métodos y herramientas de otras
áreas.
x
Monitorización de procesos.
x
Revisión de planes de explotación.
x
Facilitar la transferencia de tecnología y entrenamiento de
usuarios.
x
Mantenimiento y actualización de sistemas.
x
Restricciones legales.
x
Consideraciones éticas.
Según esta tercera perspectiva, la labor de los profesionales de la BI
y la IM sería muy similar.
191
Contrastes en los fundamentos científicos de la
IM y la BI. Modelado.
Se ha dicho repetidamente que la medicina tiene un componente de
arte y otro de ciencia [4][9][16][17]. Aunque la medicina ha experimentado
avances en sus bases científicas durante el último siglo (y en particular en
las últimas décadas), todavía no hay una teoría científica unificada, en sus
fundamentos básicos, que pueda proveer un marco para interpretar la
variedad de evidencias que la práctica clínica y epidemiológica requieren.
El gran número de paradigmas propuestos para la medicina, como,
por ejemplo, medicina basada en la evidencia [7], medicina molecular [18],
telemedicina [19], medicina basada en la economía de la salud [20],
asistencia sanitaria de tipo tecnológico [21] y muchos otros, algunos
complementarios, ilustra una inestabilidad en los fundamentos tecnológicos
y científicos subyacentes y que están sujetos a cambios continuos y a veces
impredecibles. La aparición imprevista de la WWW, y sus efectos en la
medicina, son un caso aparte. Esta falta de principios claros y centrados o
de teorías unificadas en la medicina pueden haber contribuido también a la
diversidad extrema de direcciones dentro de la IM, y su tendencia
predominante hacia la ingeniería, educación y práctica clínica.
Una mirada rápida a algunos temas emergentes en biología,
relacionados con la complejidad evolutiva y sus implicaciones sanitarias,
muestra avances de interés. Así se ve en la recientemente secuenciada
pareja huésped-parásito de A.Gambiae y la bacteria de la malaria [22], que
192
podría ser la primera de las múltiples fuentes de modelado, a diversos
niveles, para ayudar a comprender las complejidades de las aceleraciones
evolutivas causadas por los pesticidas y resistencias a drogas. Estos temas
han llegado a ser un tema popular en biología [23][24].
Los científicos biomédicos tienen un conocimiento muy parcial de
los mecanismos de regulación y control que se producen en los organismos,
sin ni siquiera considerar las circunstancias y contextos relacionados con el
medio ambiente y evolución. Describir completamente las funciones
biológicas y construir modelos lo más completos posibles del cuerpo
humano, en el momento presente, es una tarea prácticamente imposible,
como se puede ver en los esfuerzos realizados para crear nomenclaturas
descriptivas en anatomía y varias especialidades, que deben ser integradas
en representaciones del conocimiento más flexibles, escalables y
actualizables, denominadas ontologías [25].
virtuales
humanos
(o
de
otros
El enlace con modelos
organismos)
produce
cuestiones
fundamentales, todavía abiertas, en relación con el modelado matemático y
computacional y sus fundamentos científicos, así como dificultades de
implementación y problemas éticos acerca de cómo aplicar tales modelos en
la práctica.
Es posible destacar en el momento presente que las contribuciones
de la BI a tales modelizaciones tienden a ser de “abajo-arriba”, de la
biología molecular a la fisiología. En contraste, la IM ha tendido a hacer
representaciones de arriba-abajo, desde las manifestaciones clínicas a los
procesos fisiopatológicos. Este contraste puede ser ilustrado por las
diferencias entre el diagrama de un modelo de red causal-asociacional,
193
diseñado para la consulta en el diagnóstico y manejo del glaucoma, hace ya
tres décadas [26] y un diagrama típico de apoptosis o muerte celular, como
se muestra en la figura 1. El primer modelo (izquierda) tuvo un éxito
académico significativo, dando lugar al sistema experto médico CASNET.
El segundo (derecha) es una conceptualización puramente visual de una vía
metabólica que implica la muerte celular [27], lo que requiere un
conocimiento humano considerable.
Figura 1: Una representación de los diferentes enfoques ʊarribaabajo vs abajo-arribaʊ dentro de la IM y BI, respectivamente, para el
modelado de procesos biomédicos
194
La BI ha estado centrada en tareas específicas que planteaban
grandes retos, como ha sido el ejemplo del PGH, mientras que la IM se ha
centrado más en información clínica y sus usos ʊaunque hay ejemplos
tales como los anteriormente citados, y más recientemente el trabajo
realizado en análisis de imágenes de datos y el Modelo Fundacional de la
Anatomía, en el que se intenta crear puentes entre diversas disciplinas
médicas [25]. Los tipos de modelado, en el caso de la BI, han sido
determinados por las teorías científicas que dominan la biología, habiendo
estado centradas, hasta hace poco tiempo, predominantemente en el análisis
basado en secuencias.
De acuerdo a algunas perspectivas en la filosofía de la ciencia, los
modelos deberían estar fuertemente relacionados con teorías [28] para tener
éxito. La falta de teorías adecuadas que justifiquen las explicaciones
fisiopatológicas dadas en la medicina, pueden explicar por qué el modelado
causal ha probado ser una tarea tan difícil en la medicina. Hace años Jacob
observó que la biología había fallado en intentar proporcionar ofrecer
teorías matemáticas [29], como hacen las ciencias exactas, y los biólogos
trabajaban usando modelos ʊ“metáforas”ʊ que no estaban directamente
ligados a teorías.
Jacob observó que había ʊaños 70ʊ un número considerable de
generalizaciones en biología, pero pocas teorías genuinas. La cuestión surge
si la BI y la IM pueden ayudar a avanzar en la representación del
conocimiento y su modelado, desde el nivel molecular al celular, tisular,
orgánico, fisiológico y sistémico en organismos, podrían colocar la
medicina en un lugar más científico. Cómo y cuando los científicos de
195
ambas disciplinas cooperarán y cómo y cuando competirán o si se juntarán
en la disciplina llamada Informática Biomédica, es una cuestión de interés
para el futuro.
Direcciones para el intercambio de métodos y
técnicas entre la BI y la IM
Con anterioridad se ha visto el potencial de ambas disciplinas para
una cierta interacción. No sólo comparten intereses, métodos y
herramientas, sino que, además, cada una presenta necesidades que podrían
ser complementadas por las características de la otra. En la figura 2 se
presenta un modelo de interacción entre la IM y la BI.
La figura 2 ilustra una metáfora gráfica de las interacciones
potenciales en temas que van desde los mecanismos biológicos básicos
hasta sus aplicaciones en la asistencia sanitaria. Representa cómo ambas
disciplinas tienen diferentes fuerzas y debilidades cuando tratan de aspectos
que van desde los fundamentos biológicos al conocimiento experto en la
construcción de aplicaciones médicas prácticas y genéricas, como pueden
ser las basadas en la Web o de telemedicina. Refleja también cómo la IM
(en el lado derecho), ha tenido, históricamente, un énfasis en el diseño e
implementación de sistemas sanitarios, como se muestra en el estrato
superior del diagrama, y ha contribuido al desarrollo de numerosas
aplicaciones de software médico en los últimos 30-40 años. La flecha de
mayor tamaño que señala desde el lado de la IM al lado de la BI, muestra
cómo la experiencia de los profesionales de la IM podría ser de utilidad a
196
los profesionales de la BI en el desarrollo de aplicaciones médicas basadas
en datos de expresión génomica u otros datos genómicos, como
“microarrays”. En contraste, la BI que está más cerca de los fundamentos
biológicos (especialmente en los niveles moleculares y celulares) que la IM,
está representada con un área mayor en el nivel más bajo del estrato. Aquí
la flecha grande que va de izquierda a derecha muestra cómo la IM se
podría beneficiar de un flujo neto de experiencia y métodos de la BI en los
niveles de fundamentos básicos y análisis biológico.
Sistemas de asistencia sanitaria y médica
Software de Informática Biomédica
IM
Métodos Informáticos
BI
Software de análisis biológico
Fundamentos biológicos
Figura 2: Metáfora gráfica de las sinergias potenciales y competición entre
la BI y la IM, indicando las direcciones del énfasis actual hacia el
intercambio de métodos y herramientas dentro de la Informática
Biomédica. La zona diagonal representa el área de mayores
complementariedades y sinergias, mientras que la zona oval central
representa una zona de posible retos competitivos entre la IM y la BI
197
En el estrato central de los métodos informáticos el intercambio de
métodos, experiencia y enfoques está más equilibrado, con flechas de talla
menor señalando a cada dirección hacia la zona de sinergias potenciales que
bajan hacia la diagonal central del diagrama. La BI tiende a usar más
modelos matemáticos e informáticos en la actualidad, mientras la IM tiende
a estar más centrada en la informática clínica, con una predominancia de
sistemas, software y enfoques basados en la ingeniería del conocimiento. La
zona oval central en la figura representa el potencial para la comparación
entre ambas disciplinas, centrada en el estrato central de los métodos
informáticos, que tienden a ser diferentes en metas y técnicas entre la IM y
la BI en el momento presente. Estas diferencias tienden a reflejar las
asimetrías en los estratos vecinos.
El mayor peso teórico en los principios biofísicos y bioquímicos y
los logros en el modelado le dan a la BI una mayor fuerza científica que la
IM, dado el énfasis en el descubrimiento científico que han tenido los
investigadores del área, con el fin de avanzar los fundamentos biológicos de
la disciplina. El énfasis de la IM en la práctica sanitaria no requiere esos
modelos salvo en áreas tales como imágenes, análisis de señales
especializadas e integración de instrumentación, que tienden a estar más
cerca de la ingeniería biomédica que de la IM.
En resumen, se plantea en esta figura las posibilidades para una
interacción y sinergia en la BI y la IM. Esto puede llevar a la fusión de
ambas en la Informática Biomédica si la sinergia puede llevar a
descubrimientos significativos en la ciencia o al mantenimiento de la
separación entre ambas si los contrastes y las presiones competitivas
198
predominan. En este nuevo marco teórico y de investigación, una serie de
técnicas y métodos pueden ser creados para servir de apoyo a la medicina
genómica.
Bibliografía
[1]
Szolovits, P., (Ed.), 1982. “Artificial Intelligence in Medicine”.
Westview Press. Boulder, CO.
[2]
Clancey, W., Shortliffe, E.H., (Eds), 1984. “Readings in Medical
Artificial Intelligence: The First Decade”. Reading: Addison
Wesley, ISBN: 0–201–10854–2.
[3]
Buchanan, B., Shortliffe, E.H., 1984. “Rule-Based Expert Systems:
The Mycin Experiments of the Stanford Heuristic Programming
Project”. Addison-Wesley, New York, USA.
[4]
Greenes, R.A., Shortliffe, E.H., 1990. “Medical Informatics: An
Emerging Academic Discipline and Institutional Priority”. JAMA
1990, vol. 263, pp. 1114-1120.
[5]
Shortliffe, E.H., Perreault, L., (Eds), 2001. “Medical Informatics:
Computer Applications in Health Care”. 2nd Edition. Springer
Verlag, New York.
[6]
Blois, M., 1984. “Information and Medicine: The Nature of
Medical Descriptions”. Univ. of California Press, Berkeley, CA.
[7]
Sackett, D., 1997. “Evidence-Based Medicine: How to Practice &
Teach EBM”. Harcourt Brace.
199
[8]
Anderson J., 1999. “Cognitive Psychology and Its Implications”
(5th Ed). Worth Publishing.
[9]
Weatherall, D., 1985. “Science and the Quiet Art: Medical
Research & Patient Care”. Oxford University Press, Oxford.
[10]
Picard R., 1997. “Affective Computing”. The MIT Press. Boston,
MA.
[11]
Crick
F.H.C.,
1958.
“The
Biological
Replication
of
Macromolecules”. Symp. Soc. Exp. Biol., vol. XII, pp. 138–163.
[12]
Kitano, H., 2002. “Systems biology: a brief overview”. Science,
vol. 295 (5560), pp. 1662-1664
[13]
Denning, P., Comer, D., Gries, D., Mulder, M.C., Tucker, A.,
Young, P., 1989. “Computing as a discipline”. Communications of
the ACM, vol. 32 (1), pp. 9–23.
[14]
Maojo, V., Martín-Sanchez, F., Crespo, J., Billhardt, H., 2002.
“Theory, Abstraction and Design in Medical Informatics”.
Methods of Information in Medicine, vol. 41, pp. 44–50.
[15]
Maojo, V., Laita, L., Roanes-Lozano, E., Crespo, J., RodríguezPedrosa, J., 2000. “A New Computerized Meted to Verify and
Disseminate Medical Appropriateness Criteria”. Lecture Notes in
Computer Science 1933, pp. 212–217.
[16]
Kulikowski, C.A., 2002. “The micro-macro spectrum of medical
informatics challenges: from molecular medicine to transforming
health care in a globalizing society”. Methods Inf. Med., vol. 41
(1), pp. 20–4.
200
[17]
Kulikowski, C., 1996. “The Scope of Medical Informatics as Art
and Science”. Methods of Information in Medicine, vol. 35, pp.
185–188.
[18]
Ross, D., 2002. “Introduction to Molecular Medicine”. Springer
Verlag.
[19]
Bauer, M., Ringel, A., 1999. “Telemedicine and the Reinvention of
Healthcare” (Healthcare Informatics Executive Management
Series). McGraw-Hill Profesional.
[20]
Edwards, R.T., 2001. “Paradigms and Research Programmes: Is it
Time to Move from Health Care Economics to Health
Economics?”. Health Econ., vol. 10, pp. 635–649.
[21]
Greenes, R., 2002. “Future of medical knowledge management and
decision support”. Stud. Health Technol. Inform., vol. 80, pp. 29–
44.
[22]
Coluzzi, M., Sabatini, A., della Torre, A., Di Deco, M.A., Petrarca,
V., 2002.
“A polytene chromosome analysis of the Anopheles
gambiae species complex”. Science, vol. 298 (5597), pp. 1415–
1418.
[23]
Dawkins, R., 1999. “The Extended Phenotype: The Long Reach of
the Gene”. Oxford University Press, Oxford, UK.
[24]
Palumbi, S., 2002. “The Evolution Explosion: How Humans Cause
Rapid Evolutionary Change”. Norton & Company.
201
[25]
Rosse, C., Shapiro, L.G., Brinkley, J.F., 1998. “The digital
anatomist foundational model: principles for defining and
structuring its concept domain”. Proc. AMIA Symp., pp. 820–824.
[26]
Kulikowski, C., Weiss, S., 1971. “Computer-based Models of
Glaucoma”. Report nº 3, Department of Computer Science,
Computers in Biomedicine, Rutgers University.
[27]
Deveraux, Q.L., Reed, J.C., 1999. “IAP family proteinssuppressors of apoptosis”. Genes and Development, vol. 13, pp.
239–252.
[28]
Suppe, F., 1979. “The Structure of Scientific Theories”. Univ. of
Illinois Press.
[29]
Jacob, F., 1993. “The Logic of Life”. Princeton Univ. Pr. Princeton,
USA.
202
Predicción Pesquera Utilizando
Algoritmos Basados en I.A.
José Manuel Cotos1, Alfonso Iglesias2,
Pedro Saco1 y Bernardino Arcay2
1
Depto de Electrónica y Computación.
Universidad de Santiago de Compostela
Email: {manel.cotos, elpedro}@usc.es
2
Depto de Tecnologías de la Información y las Comunicaciones.
Universidade da Coruña
Email: {elfonso,cibarcay}@udc.es
Introducción
Planteamiento del problema
La pesca, entendida como la explotación y aprovechamiento de los
recursos marinos, es uno de los principales sectores económicos de Galicia,
y también la base de otras actividades industriales y de servicios. Según
datos de la Consellería de Pesca (ver figura 1a), el total de la población
gallega ocupada en este sector alcanza los 41.600 habitantes, lo que supone
el 4,5% de la población activa de la Comunidad Autónoma.
203
(a)
(b)
Figura 1: Datos sobre población activa gallega ocupada en el sector
pesquero. (a). Población ocupada en la pesca por provincias, y porcentaje
respecto a la población activa. (Datos de 2002. Xunta de Galicia [1]). (b).
Importancia relativa de la pesca en algunas poblaciones costeras. (Datos
de 2002. Xunta de Galicia [1])
Sin embargo, la pesca, por su propia naturaleza, no es una actividad
que afecte igual a toda la comunidad gallega. Por eso, su importancia en
algunas localidades costeras es muy superior a la media gallega (ver figura
1b), dándose casos como el de Fisterra, donde el 47,2% de la población
activa se dedica la pesca.
No deben olvidarse los puestos de trabajo vinculados con la pesca
(ver figura 2), que aumentan a casi 120.000 los puestos de trabajo
generados, lo que permite afirmar que el 12,2% de los empleos en Galicia
204
tienen como base la pesca, ya sea directa o indirectamente, convirtiéndose
en la región de Europa con más dependencia de la misma.
Figura 2: Empleos directos e indirectos producidos por el sector de la
pesca. Las cifras indican el número total de empleos generados en cada
sector. (Datos de 2002, Xunta de Galicia [1])
Queda patente, por tanto, la importancia del sector pesquero dentro
del ámbito económico gallego. Lo que antes era un negocio artesanal
localizado en las zonas costeras se ha convertido en una potente industria,
motor de la economía gallega. Este sector pesquero, sin embargo, se ha
visto amenazado recientemente por diversos acontecimientos tales como
desastres ecológicos, políticas de cuotas, paros biológicos y ampliación de
las zonas económicas exclusivas de los países ribereños. Además, acuerdos
comerciales con otros países introducen en el mercado pescado de otros
205
países a precios muy bajos. Por otro lado, es bien conocida la tendencia de
diversos organismos de ámbito nacional e internacional para la protección y
conservación de los recursos. Con ello se pretende conseguir un desarrollo
sostenible que mantenga los océanos como una importante fuente de
alimentos de la población mundial.
Para mantener la competitividad de la flota gallega, pensamos que es
necesario disponer de la tecnología más avanzada y de la mayor cantidad de
información posible. En este ámbito de aplicación, los nuevos sensores
remotos son unas herramientas privilegiadas si los utilizamos como fuentes
de información de las condiciones biológicas del entorno pesquero. En el
trabajo que aquí presentamos, aplicamos sistemas conexionistas para la
predicción y optimización de los recursos disponibles, empleando para ello
la información obtenida de manera remota.
De esta forma, podremos reducir los tiempos de búsqueda de
pesquerías, con el consiguiente ahorro de tiempo y combustible que ello
conlleva, y aumentando dentro de las posibilidades legales el volumen de
capturas.
Las razones económicas no son las únicas que nos motivan a realizar
este trabajo. El lanzamiento de nuevos satélites (Orbview-2) con su
consiguiente tratamiento digital de la información así como los nuevos
paradigmas neuronales y neuro-difusos aquí empleados, son nuevos retos
que pretendemos abordar desde un punto de vista práctico.
206
Objetivos
Este trabajo explica los fundamentos de un nuevo sistema de apoyo a
pesquerías. Para el desarrollo del mismo, hemos empleando técnicas
conexionistas, tratamiento digital de imágenes, así como lógica difusa. Se
han integrado todas estas técnicas con la intención de conseguir un sistema
que facilite el aumento del rendimiento de pesquerías pelágicas. De esta
forma, seremos capaces de gestionar y aprovechar los recursos pesqueros
sin ponerlos en peligro. Concretamente, a partir de los datos obtenidos de
varios sensores remotos y del cuaderno de pesca de un barco colaborador,
nuestro sistema proporciona la probabilidad de conseguir capturas de una
especie de tiburón pelágico, el Prionace Glauca, más conocido como tiburón
azul.
El sistema desarrollado es extensible a cualquier especie marina de la
cual se posea suficiente información. Por ello, puede convertirse en una
herramienta útil para la optimización y gestión de los recursos pesqueros,
sobre todo en ámbitos geográficos como el gallego, con una economía
claramente dependiente del sector pesquero. Para demostrar la afirmación
anterior, en esta introducción proporcionamos datos económicos que
evidencian la importancia de un sector maltratado por desgracias ecológicas
y, en algunos casos, por la sobreexplotación irracional de recursos.
Con este sistema que aquí presentamos, esperamos conseguir un
aumento de los beneficios de los usuarios del mismo, mediante un
desarrollo sostenible.
207
Figura 3: Organigrama del sistema de apoyo a pesquerías del Laboratorio
de Sistemas de la Universidad de Santiago
El sistema de apoyo a pesquerías de la Universidad de Santiago se
puede descomponer en tres fases diferenciadas, como se puede ver en la
figura 3, cuyo objetivo final es transmitir productos susceptibles de ser
enviados a las unidades embarcadas.
La fase 1 tiene como misión principal la recepción de información
procedente de varios satélites. El sistema se compone de un parque de
antenas que permiten la recepción de distintos satélites como NOAA (en
alta y baja resolución), OrbView-2 (imágenes del sensor SeaWifs) y
Meteosat. Los datos recogidos por las antenas se almacenan en un sistema
208
de backup y se distribuyen a todos los equipos que están formando parte de
una red local. Cualquiera de estos equipos tiene acceso a los datos para
poder visualizarlos y procesarlos. Puede encontrarse una descripción
exhaustiva de esta fase en [2], [3].
El objetivo de este trabajo es, empleando los datos recibidos como
resultado de la fase 1, elaborar la fase 2, que consistirá en (ver figura 4):
x
Aplicar técnicas de procesado digital sobre los productos
iniciales para conseguir nuevos datos con significado
biológico, por ejemplo los siguientes filtros pasa-alta para
detectar la existencia de frentes térmicos:
x
o
DoG (ver [4]).
o
Cluster-Shade (ver [5]).
Visualizar esta información independientemente de la
plataforma usada.
x
Estudio de la sensibilidad y correlación de los datos iniciales
empleando:
x
o
Análisis de componentes principales.
o
Mapas Autoorganizativos de Kohonen.
Calcular la probabilidad de obtener capturas pesqueras en
función de parámetros medioambientales obtenidos mediante
teledetección. Para ello probaremos las siguientes técnicas:
o
Redes
entrenadas
con
el
retropropagación (backpropagation).
o
Redes RBF (Radial Basis Function).
209
algoritmo
de
x
o
Redes funcionales.
o
ANFIS (Sistema de inferencia neuro-difuso)
Gestionar toda la información de manera eficiente y con un
control centralizado. Para ello, diseñaremos una base de datos
apropiada siguiendo el modelo E-R.
En la fase 3, nuestro sistema se comunica con los usuarios. La
información puesta a disposición de la unidad embarcada puede ser enviada
haciendo uso de diversos medios de comunicación, por ejemplo la red
global por satélite Inmarsat (figura 5). Esta red de satélites proporciona una
gran diversidad de servicios: telefonía, datos, fax, web,... Es usada también
para comunicaciones de desastre o emergencia marítima, por lo que no
resulta infrecuente hallarse con barcos que cuentan con este servicio de
comunicaciones.
Además, la disponibilidad de conexión a la red Internet permite
realizar el envío de información haciendo uso del correo electrónico. El
software embarcado TUNAFIS 4.2 desarrollado por otros miembros del
Laboratorio de Sistemas permite gestionar cuentas de usuario de correo
electrónico y extraer la información enviada para su gestión en el interfaz
gráfico.
Una última posibilidad contemplada es el envío de información a
través de los servicios de datos implementados en la telefonía móvil GSM.
En las inmediaciones de costa es frecuente contar con cobertura para estas
redes de comunicaciones, por lo que se está en condiciones de recibir la
210
información con un simple terminal móvil GSM conectado al ordenador
personal de a bordo.
Figura 4: Organigrama de la fase 2
Figura 5: Cobertura de la red de satélites geoestacionarios Inmarsat
211
Fuentes de datos
Los datos que empleamos provienen de sensores remotos instalados
a bordo de satélites. Se entiende por teledetección todo conjunto de técnicas
que permiten obtener información de un objeto, área o fenómeno, a través
del análisis de los datos obtenidos por un dispositivo que no está en
contacto físico con el objeto, área o fenómeno que pretendemos estudiar [6].
Si particularizamos esta definición para el caso que nos ocupa, en el que el
objeto a estudiar es la superficie marina, y el dispositivo un sensor instalado
a bordo de un determinado satélite, podríamos definir la teledetección en
oceanografía como la ciencia que estudia la superficie oceánica a través de
las imágenes conseguidas por medio de satélites.
Podemos adelantar que la teledetección es una técnica que presenta
una serie de ventajas respecto a las técnicas tradicionales de muestreo
(barco tomando datos, por ejemplo), a saber:
x
Cobertura global y periódica de la superficie.
x
Visión panorámica de una gran extensión de manera
simultánea.
x
Información en zonas no visibles del espectro
(infrarrojo
térmico, infrarrojo medio y microondas).
x
Formato digital de la información.
Hemos empleado para este trabajo imágenes de la serie NOAA,
OrbView-2 y Topex-Poseidon. En capítulos posteriores explicaremos con
212
más detalle las ventajas enumeradas, así como los tipos de satélites e
información obtenidos de cada uno de ellos.
Muy a menudo, la teledetección se complementa con otras técnicas
convencionales para el tratamiento de información, como en el caso que nos
ocupa. Es ya bastante frecuente que los datos derivados de la teledetección
se combinen con datos de campo en Sistemas de Información Geográficos
(SIG) [7].
Además de los datos conseguidos del procesado de imágenes de
satélite, tenemos datos de campo procedentes de un barco pesquero
colaborador. El método de pesca es el palangre. La información anotada
consiste en las coordenadas geográficas del inicio y final del palangre, así
como las capturas de cada especie recogidas diariamente a lo largo de los
años 1998 y 1999.
Metodología
Redes Funcionales
Desde mediados de los años 80, han aparecido extensiones de los
modelos de redes de neuronas. Ejemplos de extensiones son las redes de
alto orden, redes neuronales probabilísticas [8] y las redes neuronales
basadas en “wavelets” [9]. No obstante, estos nuevos modelos todavía
actúan como cajas negras y no tienen en cuenta la estructura funcional y las
propiedades del objeto a modelizar. Una característica importante de las
redes funcionales es la posibilidad de tratar con restricciones funcionales
213
determinadas por propiedades que pueden conocerse del modelo. Estas
restricciones conducirán a una topología determinada de red y, por tanto, a
un sistema de ecuaciones funcionales.
Las ecuaciones funcionales son introducidas por Castillo et al [10]
como una extensión de las redes neuronales. De una forma simple, pero
rigurosa, podemos definir una Red Funcional como una Red Neuronal en la
que los pesos de las neuronas han sido sustituidos por un conjunto de
funciones. Algunas de sus ventajas son [11] :
1.
Al contrario que las redes neuronales, las redes funcionales
pueden reproducir algunas propiedades físicas, que conducen de
una manera natural, a la correspondiente red. Ello es así si
empleamos alguna expresión con significado físico dentro de la
base de funciones. En nuestro caso, al no disponer de esa
información, no podremos disfrutar de esta ventaja.
2.
La estimación de los parámetros de la red se puede obtener
resolviendo un sistema lineal de ecuaciones, lo que significa una
solución rápida y única, que es el mínimo global de la función
de error.
Las redes funcionales han sido aplicadas con éxito en problemas
referentes al diagnóstico médico y a las distribuciones bayesianas
conjugadas. La formulación de estos problemas, su resolución empleando
redes funcionales, así como todo el formalismo propio de las ecuaciones y
redes funcionales puede consultarse en el libro de Castillo et al [11].
214
Una red funcional consta de los siguientes elementos:
1.
Una capa de entrada de unidades de almacenamiento. Esta capa
contiene los datos de entrada.
2.
Una capa de salida de unidades de almacenamiento. Esta capa
contiene los datos de salida.
3.
Una o varias capas de unidades procesadoras. Estas unidades
evalúan un conjunto de valores de entrada, que vienen de la capa
previa (una unidad intermedia o la capa de entrada) y calculan
valores que serán tenidos en cuenta para la siguiente capa. Cada
neurona va a tener asociada una función neuronal propia que
puede poseer varios argumentos o entradas. De esta forma,
podemos introducir en cada unidad procesadora parte del
modelo matemático que ayude a explicar nuestro problema.
4.
Ninguna, una o varias capas de unidades de almacenamiento
intermedias. Estas capas contienen unidades que almacenan
información intermedia producida por las unidades neuronales.
Por tanto, nos permiten forzar la coincidencia de las salidas de
las unidades procesadoras.
5.
Un conjunto de enlaces dirigidos. Conectan unidades de entrada
o capas intermedias a unidades neuronales, y unidades
neuronales a unidades intermedias o de salida.
A continuación introducimos un ejemplo de redes funcionales, el
modelo separable.
215
Modelo Separable
Supongamos la siguiente red funcional (ver figura 6), introducida por
Castillo et al [11] en su capítulo referente a distintos modelos de redes
funcionales. En él, los autores demuestran que la red de la figura 6 es el
resultado obtenido al intentar simplificar topologías más complicadas.
Figura 6: Red funcional, modelo de separabilidad
Unicidad de la solución
Si suponemos que {f1(x),…, fr(x)} y {g1(y),…,gk-r(y)} son funciones
linealmente independientes, entonces
z
F ( x, y )
r
k r
¦¦ c
ij
f i ( x) g j ( y )
i 1 j 1
(2.1)
216
Nuestro objetivo sería entonces calcular los coeficientes cij tales que
se minimice el error. Puede demostrarse que la solución es única, para ello
supongamos dos conjuntos de coeficientes distintos cij y c*ij tales que:
z
F ( x, y )
r
k r
¦¦ cij f i ( x) g j ( y)
i 1 j 1
r
k r
¦¦ c
*
ij
f i ( x) g j ( y )
i 1 j 1
(2.2)
Entonces, se puede escribir
r
k r
¦¦ (c
ij
cij* ) f i ( x) g j ( y ) 0
i 1 j 1
(2.3)
Como los dos conjuntos de funciones {f1(x),…, fr(x)} y
{g1(y),…,gk-r(y)} son linealmente independientes, también lo es el conjunto
{fi(x)gj(y) | i=1,…,r; j=1,…,k-r}, por tanto
cij = c*ij
i =1,…,r ; j=1,…,k-r
(2.4)
Aprendizaje del modelo
Supongamos que tenemos un conjunto de aprendizaje de dos
entradas x e y, y una salida z. Nuestro objetivo será calcular los coeficientes
cij óptimos de forma que se minimice el error entre la salida teórica y la
217
calculada por la red. Para ello emplearemos un simple método de mínimos
cuadrados.
Supongamos que disponemos de conjuntos de funciones conocidas
{f1(x),…, fr(x)} y {g1(y),…,gs-r(y)} que son linealmente independientes.
Vamos a denotar por {(x0i,x1i,x2i) i=1,…,n} nuestro conjunto de
entrenamiento, formado por n patrones distintos. x0, x1 e x2 se refieren a z, x
e y respectivamente. Entonces, el error se puede medir según (2.5):
ei
r
s r
x0i ¦¦ cij f i ( x1i ) g j ( x2i )
i=1,…,n
i 1 j 1
(2.5)
Por tanto, para encontrar los coeficientes óptimos, es necesario
Q
minimizar la suma
n
¦e
2
k
Al no tener condiciones adicionales, el
k 1
mínimo puede ser obtenido resolviendo el sistema de ecuaciones lineales,
tomando como incógnitas los coeficientes cij.
wQ
wc pq
n
2¦ ek f p ( x1k ) g q ( x2 k ) 0
p=1,…,r ; q=1,…,s-r
k 1
(2.6)
El modelo separable se ha empleado con éxito para asociar datos a
modelos funcionales, como demuestran Castillo et al [11]. Concretamente,
218
se creó una tabla de tripletas de valores (x0, x1, x2) empleando el modelo
siguiente:
x0
f ( x1 , x 2 ) 1 x1 x 2 x12 x2
(2.7)
Considerando una familia polinomial de funciones {1, x, x2}, se
llega, después del entrenamiento, al modelo con el cual se consiguieron los
datos.
ANFIS
El empleo de redes neuronales permite el aprendizaje y
minimización de una función error, con la ventaja de aprovechar la
computación paralela. Sin embargo, estas técnicas presentan varios puntos
débiles, como la representación del conocimiento y la extracción de reglas
lingüísticas. En un perceptrón multicapa, por ejemplo, el conocimiento esta
distribuido en un conjunto de pesos difícil de interpretar y de convertir en
reglas. La lógica difusa, en cambio, traduce los términos lingüísticos de las
reglas en variables que el sistema acepta sin problema.
El propósito de los sistemas neuro-difusos (ANFIS) es intentar
combinar los beneficios de ambas técnicas. Para ello, las reglas del sistema
se expresan como expresiones difusas, y para que el sistema se entrene
usamos los esquemas de aprendizaje de las redes neuronales. Los sistemas
219
neuro-difusos permiten la incorporación de datos lingüísticos y numéricos,
y facilitan la extracción de reglas a partir de datos numéricos.
Figura 7: Los sistemas neuro-difusos integran la lógica difusa y las redes
neuronales
Los sistemas neuro-difusos pueden ser divididos en 2 grupos
principales:
1.
Sistemas de inferencia neuro-difusos.
2.
Redes neuronales difusas.
El origen de los sistemas de inferencia neuro-difusos es incorporar
conceptos como aprendizaje y paralelismo a los sistemas de inferencia
difusos. Los sistemas de inferencia neuro-difusos realizan inferencia difusa
[12], [13] ajustando parámetros internos de las reglas con algoritmos de
aprendizaje propios de redes neuronales. Una posible realización consistiría
en que cada regla se ejecutaría mediante una red neuronal [14]. Otra
posibilidad es la empleada en nuestro trabajo, la arquitectura ANFIS.
220
Las redes neuronales difusas están formadas por dos componentes en
un mismo subsistema, una red neuronal y un sistema difuso. Una
posibilidad de combinar ambos componentes sería sustituir la suma
ponderada de una neurona por una operación difusa, o incluso un bloque
externo que tradujera la información lingüística a la entrada correspondiente
de la red.
Descripción de la arquitectura ANFIS
Por simplicidad, vamos a asumir que nuestro sistema de inferencia
difuso de partida tiene dos entradas x e y, además de una salida f.
Supongamos que la base de reglas contiene dos reglas difusas del tipo 3,
Takagi-Sugeno [15].
En la figura 8 se ilustran el razonamiento difuso (figura 8a)
empleando las reglas antes descritas y en la figura 8b la arquitectura ANFIS
equivalente.
221
Regla 1: IF x es A1 e AND es B1, THEN f1=p1x+q1y+r1
Regla 2: IF x es A2 e AND es B2, THEN f2=p2x+q2y+r2
Figura 8: (a) Razonamiento difuso del tipo 3 (Takagi-Sugeno). (b) ANFIS
equivalente
Las funciones de cada capa son las siguientes:
Capa 1
Cada nodo i en esta capa ejecuta la siguiente función:
O I1
P A ( x)
i
222
(2.8)
Donde x es la entrada del nodo i, Ai es la etiqueta lingüística
(pequeño, grande, etc.) asociada con este nodo. Dicho de otra forma,
la salida de este nodo nos indica el grado en el cual la variable x
satisface la etiqueta Ai, es decir su función grado de pertenencia.
Esta función PAi puede estar definida mediante un conjunto de
parámetros. Si los valores de estos parámetros cambiasen, la forma
de PAi variaría y por tanto también la traducción numérica de la
etiqueta lingüística correspondiente sería diferente. Este conjunto de
parámetros variables los llamaremos parámetros premisa.
Capa 2
Cada nodo en esta capa está etiquetado con la letra 3.
Mediante estos nodos multiplicamos las entradas y enviamos el
resultado a la salida, es decir:
wi = PAi (x) x PBi (y), i=1,2
(2.9)
Esta es uno de los operadores T-norma. Podría decirse que
por tanto que en esta capa se efectúa la operación AND generalizada
tomando como entradas las salidas de la capa 1. El resultado nos
daría una idea del peso de la regla difusa correspondiente.
223
Capa 3
Cada nodo en esta capa está etiquetado con la letra N.
Mediante estos nodos se realiza el siguiente cálculo:
w1
, i 1,2
w1 w2
wi
(2.10)
El resultado nos proporciona el peso normalizado de la regla
i-ésima.
Capa 4
Los nodos en esta capa representan la siguiente función:
O I4
wi f i
w i ( p i x q i y ri )
(2.11)
Donde se ha empleado el resultado de la capa 3 y se ha
introducido un conjunto nuevo de parámetros que llamaremos
parámetros consecuencia.
224
Capa 5
El nodo de salida, etiquetado con la letra 6, computa la suma
total de todas las señales de entrada, es decir:
O
5
¦ wi f i
i
¦w f
¦w
i
i
i
i
i
(2.12)
De esta forma, hemos construido una red adaptativa que es
funcionalmente equivalente a un sistema de inferencia difuso de tipo 3. Para
sistemas de inferencia del tipo 1, el ANFIS equivalente sería el mostrado en
la figura 9.
Los ANFIS tipo 2 son bastante más complicados que los ANFIS tipo
1 y tipo 3, expuestos hasta ahora, y no presentan mejoría en los resultados,
según Jang [12], el creador de esta arquitectura. Por ello, preferimos
centrarnos en los ya explicados.
225
Figura 9: (a) Razonamiento difuso del tipo 1 . (b) ANFIS equivalente
Como hemos visto al comentar las capas 1 y 4, existen dos conjuntos
de parámetros distintos, los parámetros premisa y los parámetros
consecuencia. Los parámetros premisa de las reglas particionan el espacio
de las entradas del sistema en unos subespacios difusos, mientras que los
parámetros consecuencia especifican la salida de cada subespacio. Como
ejemplo, un ANFIS de 2 entradas x e y, con 3 etiquetas distintas para cada
entrada (A1, A2, A3, B1, B2, B3), tendría 9 reglas posibles, y por consiguiente
9 subespacios distintos (ver figura 10).
226
Figura 10: Subespacios difusos creados en un ANFIS de 2 entradas con 3
etiquetas lingüísticas por entrada
Algoritmo de entrenamiento híbrido
Supongamos un ANFIS tipo 3, es decir, que emplee reglas al estilo
Takagi-Sugeno. A la vista de la figura 8, se observa que conocidos los
parámetros
premisa,
la
salida
total
puede
ser
expresada
como
combinaciones lineales de los parámetros consecuencia, es decir:
f
w1
w2
f1
f2
w1 w2
w1 w2
w1 f 1 w 2 f 2
( w1 x) p1 ( w1 y )q1 ( w1 )r 1 ( w 2 x) p 2 ( w 2 y )q 2 ( w 2 )r 2
(2.13)
227
El algoritmo de entrenamiento propuesto por Jang [12] consta de 2
fases. En la primera fase, fijamos los parámetros premisa y calculamos los
parámetros consecuencia mediante mínimos cuadrados (LSE). En la
segunda fase, se mantienen fijos los parámetros consecuencia calculados en
la fase 1, y calculamos los parámetros premisa actualizándolos mediante el
método de descenso de gradiente (ver tabla 1).
Entrenamiento HÍBRIDO
Parámetros premisa
Parámetros consecuencia
Datos empleados
Fase 1
Fase 2
Fijos
Descenso gradiente
Mínimos
cuadrados
Fijos
Salidas de los
nodos
Tasa de error
Tabla 1: Pasos del entrenamiento híbrido de una arquitectura ANFIS
Es destacable que el coste computacional de la estimación por
mínimos cuadrados es mayor que la actualización de parámetros mediante
el descenso de gradiente. De hecho, existen varias combinaciones de estos
métodos para actualizar los parámetros, que enunciamos a continuación de
acuerdo a su coste computacional:
1.
Descenso del gradiente. Todos los parámetros son actualizados
mediante el descenso de gradiente.
2.
Descenso del gradiente y un paso de LSE. El LSE se aplica sólo
una vez al principio para conseguir los valores iniciales de los
228
parámetros consecuencia y a partir de ahí se usaría el método del
descenso de gradiente.
3.
Descenso del gradiente y LSE. Este es el algoritmo de
entrenamiento híbrido.
4.
Sólo LSE. Para más detalle de esta posibilidad, ver las referencias
propuestas en la literatura de redes neuronales [16] ,[17], [18].
Para un ANFIS tipo 1 realizamos la aproximación lineal de la curva
del nodo de salida, de forma que tenemos dos parámetros consecuencia por
recta (ver figura 11).
Figura 11: Aproximación lineal de la función de la parte consecuente de un
ANFIS tipo 1
Trabajos previos del autor de esta arquitectura [19], [20] y de otros
autores como Tommi Ojala [21] demuestran que ANFIS es una arquitectura
útil para sistemas de control [19]. Además, Jang [12] presenta el sistema
neuro-difuso ANFIS (Adaptive Network based Fuzzy Inference System)
como un buen aproximador universal. Para demostrar esta afirmación, Jang
simuló funciones no lineales de dos y tres entradas con ANFIS, y fue capaz
229
de predecir con éxito el comportamiento de la serie caótica resultante de
resolver la ecuación diferencial de Mackey-Glass. Cabe destacar, además,
la continua aparición de trabajos en donde se aplica ANFIS para fines muy
diversos. Recientemente Arellano ha presentado un diseño y realización de
un circuito integrado, en tecnología CMOS, que realice las funciones
correspondientes a las capas 1 y 2 de la arquitectura ANFIS, para el proceso
y clasificación de señales.
En lo relativo al presente trabajo, emplearemos la condición de buen
aproximador universal de este sistema con la intención de conseguir una
probabilidad de capturas de Prionace Glauca en función de parámetros
medioambientales.
Resultados y discusión
Estudio
previo
mediante
SOM
(Mapas
Autoorganizativos)
Vamos a realizar un estudio de las variables de entrada de los datos
de capturas usando Mapas Autoorganizativos (Redes de Kohonen). Estos
mapas ofrecen como resultado una proyección bidimensional en la segunda
capa de neuronas que nos permite, al analizar los pesos de cada neurona,
averiguar si existe algún tipo de relación entre las variables iniciales de
entrada. Comprobaremos que los resultados obtenidos mediante este
método avalan los conseguidos anteriormente mediante el estudio de las
componentes principales del mismo conjunto.
230
Hemos implementado una Red Kohonen con 5 unidades de entrada.
Cada una de ellas se corresponde a una variable resultado del trabajo de
procesado. En la segunda capa tenemos un conjunto bidimensional de 8*8
neuronas, en donde se proyectarán las clases distintas existentes en los
conjuntos de entrada, como se puede apreciar en la figura 12.
Figura 12: Red de Kohonen propuesta
Para los resultados que presentamos a continuación, hemos usado los
siguientes parámetros, durante 2500 ciclos de entrenamiento:
h(0)=0.999
r(0)=3
mult_H=1
mult_R= 1
En la figura 13 se muestra la capa bidimensional de 8*8 unidades,
las cuales están agrupadas según los pesos ganadores, según la siguiente
leyenda:
231
x
y
x = número correspondiente de la neurona o unidad de
procesamiento
y = neurona/s de la capa de entrada ganadora/s, siendo:
1.
2.
3.
4.
5.
SST (Sea Surface Temperature).
Tendencia Calentamiento-Enfriamiento.
Presencia de frente térmico, teniendo en cuenta su fuerza.
Concentración de clorofila en mg/mm3.
Altimetría.
6
3
14
3
22
2-3
30
2-3
38
2-3
46
2-3
54
3
62
4
7
3
15
3
23
2-3
31
2-3
39
2-3
47
2-3
55
3
63
4
8
3
16
3
24
2-3
32
2-3
40
2-3
48
2-3
56
2-3
64
3-4
9
3
17
3
25
2-3
33
2-3
41
2-3
49
2-3
57
3
65
3
10
3
18
3
26
3
34
2-3
42
2-3
50
2-3
58
3
66
3
11
1-3
19
1-3
27
1-3
35
2-3
43
2-3
51
2-3
59
2-3
67
3
12
1
20
1
28
1-3
36
1-2
44
1-2-3
52
1-2-3
60
1-2-3
68
2-3
13
1
21
1
29
1
37
1-4-5
45
1-5
53
1-2-5
61
1-2-5
69
2-5
Figura 13: Resultados del entrenamiento
Puede apreciarse cómo existe una clara relación entre las variables
de entrada 2 (Tendencia Calentamiento-Enfriamiento de las aguas) y 3
(Presencia en las cercanías de un frente térmico), debido a que las neuronas
amarillas han aprendido a responder conjuntamente a los dos estímulos,
como si se tratase de uno solo.
232
En el Mapa Autoorganizativo existen relaciones menos claras entre
las variables 1-3 y 1-2-3, que no aparecían antes en el estudio de
componentes principales, debido a la pérdida forzosa de información del
conjunto de datos al verse representado en 3 variables en vez de 5. Estas
relaciones pueden considerarse lógicas por tratarse de productos derivados
del mismo satélite, el NOAA. Además, puede interpretarse que la existencia
de un frente durante varios días en la zona implica que o bien se enfría el
agua (el frente se hace más intenso), o bien se calienta (el frente va
desapareciendo). Por tanto, se llega a la conclusión de que los parámetros
Frentes Térmicos y Anomalía Térmica son redundantes.
También existe un agrupamiento de unidades de procesamiento con
pesos ganadores de las variables 1-5, es decir, SST- Altimetría, no tan fuerte
como las anteriores, y que aparece reflejado en la componente principal
número 3.
Resultados
del
entrenamiento
de
redes
Backpropagation y RBF (Radial Basis Function)
El problema que vamos a analizar consiste en determinar las
condiciones óptimas para la realización de un número máximo de capturas,
en este caso de Prionace Glauca. Como conclusión después del estudio de
componentes principales y de las redes de Kohonen (SOM), llegamos a que
el conjunto de datos de entrada, formado por 5 parámetros, se podía reducir
a 4 (Temperatura, calentamiento-enfriamiento de aguas, clorofila y
altimetría). La 5ª variable
no aportaba información nueva, por lo que
233
podemos prescindir de ella. Junto con los datos del libro de pesca tenemos,
por tanto, un conjunto de patrones que pueden servir para el entrenamiento
de sistemas conexionistas. Recordemos que las redes neuronales se aplican
con éxito como herramientas de predicción una vez entrenadas
satisfactoriamente [22], [23], [24], [25], [26], [27].
El perceptrón multicapa (MLP) entrenado con el algoritmo de
retropropagación del error (backpropagation) y las redes RBF son dos tipos
de redes neuronales bien conocidas. Analizamos a continuación su
comportamiento ante este particular conjunto de entrenamiento.
Redes Backpropagation
Partiendo de 4 variables de entrada (SST, CalentamientoEnfriamiento, concentración de clorofila, altimetría) y una salida (capturas
de Quenlla), creamos un perceptrón multicapa del cual vamos a estudiar su
comportamiento según:
x
El número de unidades de su capa oculta.
x
El número de patrones del conjunto de entrenamiento y conjunto
de test.
x
La variación de los parámetros del algoritmo de aprendizaje.
El objetivo es encontrar una red lo más sencilla posible, que nos
permita extraer conclusiones sobre las condiciones en las cuales se puede
maximizar el número de capturas de la unidad embarcada.
234
Una vez entrenada la red, puede comprobarse que el número de
neuronas de la capa escondida apenas influye en el error que presenta la red.
Existen pequeñas diferencias iniciales, que pueden ser debidas a la
inicialización aleatorio de los pesos de la red. En todos los casos, el error
MSE del conjunto de entrenamiento permanece cercano a 0.01, mientras
que el error del conjunto de validación es ligeramente inferior a 0.02.
Ante estos resultados, nos decantaremos para continuar nuestro
trabajo con la red más sencilla, es decir, aquella que posee 2 neuronas en su
capa escondida. De esta forma podremos interpretar con mayor facilidad la
información que nos presente el conjunto de pesos en futuros trabajos.
Comportamiento de la red al variar el número de patrones del conjunto de
entrenamiento y el conjunto de validación.
Una vez construidos 4 conjuntos de entrenamiento y validación
distintos, vamos a usarlos para entrenar una red con 2 neuronas en la capa
escondida. La cantidad de patrones de cada conjunto es el siguiente:
Conjunto
Nº patrones
entrenamiento
Nº patrones
validación
1
57
38
2
3
72
48
23
47
4
80
15
Tabla 2: Conjuntos de entrenamiento probados
235
MSE
entrenamiento
0,04
0,02
MSE validación
0
Conj unto 1
Conj unto 2
Conj unto 3
Conj unto 4
Figura 14: Representación de los errores conseguidos para los conjuntos
de entrenamiento de la Tabla 2
Presentaremos los resultados de los entrenamientos en función del
conjunto de entrenamiento/validación aplicado, y con los parámetros
indicados:
Se puede apreciar que los peores resultados se obtienen con el
conjunto 3 de datos. Ello es así por el bajo número de patrones que
componen los datos de entrenamiento y como consecuencia de ello el MSE
de estos patrones asciende hasta 0.03.
Con el conjunto 4 existe un aumento del error de validación, debido
a que la red pierde capacidad de aprendizaje. No hay que olvidar que
intentamos diseñar una red que además de tener un error mínimo en el
aprendizaje, sea capaz de predecir la salida con la máxima precisión
posible, cosa que no ocurre en el conjunto que nos ocupa.
En los casos 1 y 2 se puede observar que el error del conjunto de
validación es prácticamente el mismo, por lo que este dato no nos va a
servir para decantarnos por uno u otro. Sí que se observa una pequeña
236
diferencia entre el error de la red al presentar los patrones de entrenamiento,
concretamente se puede apreciar cómo disminuye en el conjunto 2.
A la vista de los resultados presentados en las gráficas de error, al
variar K el entrenamiento es más o menos rápido. Si nos fijamos en el
conjunto 2, con K=1.0 el error alcanza un valor constante con 4000 ciclos de
entrenamiento. En cambio, con K=2.0 el error constante llega en el ciclo
1000 aproximadamente. Por tanto, los resultados concuerdan con la
exposición teórica del método de retropropagación.
Elección de la red
Para acabar, nos queda seleccionar de entre todos los resultados
aquél que sea más convincente. Resumiendo lo expuesto en anteriores
apartados, elegimos una red de las siguientes características:
1.
Dos neuronas en la capa escondida. El número de neuronas en la
capa escondida no influye en el resultado. Por tanto escogemos la
más sencilla con vistas a la interpretación posterior del conjunto
de pesos.
2.
Como conjunto de entrenamiento elegimos el 2, es el que tiene un
error, tanto de validación como de entrenamiento más aceptable.
Además presenta una distribución bastante equilibrada de los
diferentes patrones. A partir de este momento emplearemos este
conjunto para entrenar los siguientes sistemas conexionistas.
237
3.
Los parámetros del algoritmo de retropropagación propiciarán un
entrenamiento más o menos rápido, pero no influirán en un
resultado diferente.
Redes RBF (Radial Basis Function)
Vamos a comparar los resultados obtenidos empleando los siguientes
métodos de inicialización:
1.
Selección de los centroides a partir de los patrones de
entrenamiento.
2.
Selección de los centroides empleando Redes de Kohonen.
La red empleada para realizar estas pruebas empleaba funciones
gaussianas como funciones de activación de las neuronas de la capa oculta.
Esta capa estaba formada por una estructura bidimensional de 8x8 neuronas,
conectadas todas ellas con las cuatro entradas y con la única salida:
Figura 15: Red RBF diseñada
238
Por coherencia, hemos escogido las mismas dimensiones de la capa
oculta que en el estudio previo realizado mediante mapas autoorganizativos
(SOM). Recordemos que uno de los dos métodos de inicialización que
hemos escogido emplea redes de Kohonen para colocar los valores de
centroides de las funciones gaussianas.
Veamos los resultados obtenidos para los dos tipos de inicialización
comentados:
Procedimiento 1 (Selección de los centroides a partir de los patrones de
entrenamiento)
Recordemos que este procedimiento selecciona los centros tj de los
patrones de entrenamiento en curso y los asigna a los enlaces entre las capas
de entrada y oculta.
Figura 16: Representación del error MSE en función de los ciclos de
entrenamiento para el procedimiento 1 de inicialización. En rojo se observa
el error del conjunto de validación
239
Procedimiento 2 (Redes de Kohonen)
Usando el método autoorganizativo de los mapas característicos de
Kohonen, los centros apropiados se generan en base a los patrones de
aprendizaje. Como ya comentamos en apartados anteriores, D es la
velocidad de aprendizaje. Un valor de 0 deja el vector de centros invariable
mientras que un valor de 1 reemplaza el vector seleccionado por el patrón
actual de entrenamiento. El parámetro Shuffle determina la selección de los
vectores de centros iniciales al principio del procedimiento. Al tener el valor
1 tiene lugar una selección aleatoria de los vectores de centros del conjunto
de patrones de entrenamiento.
Ciclos de aprendizaje
D
Shuffle
20000
0.5
1
Tabla 3: Parámetros empleados para inicializar con el procedimiento 2
240
Figura 17: Representación del error MSE en función de los ciclos de
entrenamiento para el procedimiento 2 de inicialización. En rojo se observa
el error del conjunto de validación
Se observa en las figuras 16 y 17 que los resultados del
entrenamiento son similares para los dos procedimientos de inicialización
intentados apreciándose cómo el error inicial es más pequeño con el
procedimiento 2. Sin embargo, la predicción de los datos de validación es
ligeramente mejor para el procedimiento 1. Por ello será esta red la escogida
para nuestro sistema.
Resultados obtenidos con las Redes Funcionales
Hemos adaptado el modelo de separabilidad explicado en el
apartado Redes Funcionales (subapartado relativo al modelo separable) a
nuestro problema. La topología de red que proponemos para predecir las
capturas de Prionace Glauca es la mostrada en la figura 18.
241
Figura 18: Red funcional basada en el modelo de separabilidad propuesta
para predecir capturas
En este modelo se suponen conocidas las dos familias de funciones
{fi | i=1,…,r} y {gj | i=1,…,k-r }. A partir de estas funciones, la salida Q se
puede calcular como:
242
Q
r
k r
r
k r
¦¦ cij f i ( x) g j ( y) ¦¦ d ij f i ( z ) g j (v)
i 1 j 1
i 1 j 1
(3.1)
Por tanto, es necesario calcular los coeficientes cij y dij adecuados.
Para ello disponemos del conjunto de entrenamiento ya usado para las redes
neuronales. El proceso de aprendizaje de nuestra red se describe como
sigue:
Definimos el error ek de cada patrón como:
ek
r
k r
r
k r
x0 k ¦¦ cij f i ( xk ) g j ( y k ) ¦¦ d ij f i ( z k ) g j (vk )
x0 k Q
i 1 j 1
i 1 j 1
(3.2)
El objetivo final de nuestro entrenamiento será minimizar la suma de
los errores de todos los patrones, es decir, minimizar E:
E
n
¦e
2
k
; n = número de patrones del conjunto de entrenamiento
k 1
(3.3)
Por el método de mínimos cuadrados, el conjunto de parámetros que
minimice E debe ser solución del siguiente sistema de ecuaciones:
243
wE
° wc
° pq
®
° wE
° wd pq
¯
n
2¦ ek f p ( x k ) g q ( y k ) 0
k 1
n
con p=1,…,r; q=1,…,r-s
2 ¦ ek f p ( z k ) g q ( v k ) 0
k 1
(3.4)
Sustituyendo ek por la expresión (3.2), nos queda el siguiente sistema
de ecuaciones:
wE
°
° wc pq
®
° wE
° wd
¯ pq
n § r k r
r k r
·
2¦ ¨¨ ¦¦ cij f i ( xk ) g j ( y k ) ¦¦ d ij f i ( z k ) g j (vk ) ¸¸ek f p ( xk ) g q ( y k ) 0
k 1© i 1 j 1
i 1 j 1
¹
n § r k r
r k r
·
2¦ ¨¨ ¦¦ cij f i ( xk ) g j ( y k ) ¦¦ d ij f i ( z k ) g j (vk ) ¸¸ek f p ( z k ) g q (vk ) 0
k 1© i 1 j 1
i 1 j 1
¹
con p=1,…,r; q=1,…,r-s
(3.5)
Los patrones de entrenamiento son los mismos que los usados para
entrenar las redes neuronales del apartado anterior, para poder así obtener
resultados comparables. Recordemos que las redes funcionales están
especialmente indicadas para resolver problemas con modelos matemáticos.
En nuestro caso no contamos con ningún modelo, por lo cual escogeremos
por sencillez la familia polinómica elemental como base para la resolución
del sistema.
244
Se han realizado pruebas con las siguientes familias de funciones:
Caso 1: {fi}={1,x,x2,x3} y {gi}={x,x2,x3,x4}.
Caso 2: {fi}={1,x,x2,x3,x4} y {gi}={x,x2,x3,x4,x5}.
Caso 3: {fi}={1,x,x2,x3,x4,x5} y {gi}={x,x2,x3,x4,x5,x6}.
-
Es necesario tener una especial precaución a la hora de escoger las
familias de funciones, pues podría ocurrir que el determinante de la matriz
de coeficientes tuviera dos columnas idénticas. Por ello la familia {gi} no
contiene a la función elemental “1”.
Vamos a evaluar a continuación el número de aciertos en los
conjuntos de entrenamiento y validación. En la figura 19 se representan los
porcentajes. Se comprueba que a priori el mejor aprendizaje corresponde a
las funciones del caso 2.
100
80
60
40
% A ciertos Cjto
Entrenamiento
20
0
Caso 1
Caso 2
Caso 3
% A ciertos cjto.
V alidación
Figura 19: Comparación del % de acierto en los conjuntos de
entrenamiento y validación
245
El estudio del número de aciertos es para nosotros meramente
orientativo. Es posible que aún teniendo una elevada tasa de aciertos, el
error global sea demasiado alto. Por ello, la medida del grado de aprendizaje
de los sistemas estudiados en este trabajo es el MSE (Error cuadrático
medio).
En la figura 20 representamos el MSE para los conjuntos de
entrenamiento y validación, en cada uno de los tres casos. Podemos
comprobar cómo el error MSE de entrenamiento se iguala e incluso mejora
respecto al obtenido con las redes neuronales. Estos resultados son
esperables, cuanto mayor sea el número de funciones empleadas, mayor
será el grado de aproximación del modelo resultante de la red funcional con
los datos de entrenamiento. Sin embargo, nosotros buscamos que la red
haya extraído el conocimiento necesario para predecir las salidas a partir de
las entradas. Para comprobar este hecho, hemos empleado los resultados
conseguidos mediante el conjunto de validación.
MSE conjunto ENTRENAMIENTO
MSE conjunt o VALIDACIÓN
0,025
300
0,02
250
0,015
200
150
0,01
100
0,005
50
0
0
Caso 1
Caso 2
Caso 3
Caso 1
Caso 2
Caso 3
Figura 20: MSE de los conjuntos de entrenamiento y validación
246
Puede apreciarse que el error MSE menor si analizamos los
conjuntos de validación corresponde al caso 1 (0.404). Para los casos 2 y 3,
el MSE se dispara hasta valores poco aceptables. Esto no es incoherente con
la figura 19, pues se comprobó que existían grandes diferencias numéricas
entre los valores reales y predichos en aquellos casos que no eran
considerados como aciertos. Sin embargo, estas diferencias no eran tan
importantes si entrenábamos la red funcional con la base de funciones
correspondiente al caso 1. Podemos comprobar que el error en el conjunto
de validación empeora los resultados conseguidos mediante las redes
neuronales ya comentadas. El hecho de que no exista un modelo
matemático explicativo del problema que podamos emplear explica este
hecho. Recordemos que las redes funcionales están especialmente indicadas
en aquellos modelos que sí posean este modelo subyacente. Es interesante
sin embargo, comprobar la diferencia de comportamiento entre las
modernas y las clásicas arquitecturas de aprendizaje.
Resultados obtenidos con ANFIS
Hemos implementado sistemas ANFIS tipo 3 (Takagi-Sugeno)
usando como conjuntos de entrenamiento y validación los patrones ya
empelados para redes neuronales y funcionales. Hemos buscado cuál es la
mejor topología para nuestro sistema. Para las diferentes pruebas se han
diseñado 10 ANFIS con las siguientes características:
-
Caso 1: 2 funciones de grado de pertenencia para cada variable.
La salida es de orden 0 (función constante).
247
-
Caso 2: 4 funciones de grado de pertenencia para cada variable.
La salida es de orden 0 (función constante).
-
Caso 3: 3 funciones de grado de pertenencia para las variables
SST y anomalía altimétrica, y 2 para la clorofila y anomalía
térmica. La salida es de orden 0 (función constante).
-
Caso 4: 2 funciones grado de pertenencia para las variables SST
y anomalía altimétrica, y 3 para la clorofila y anomalía térmica.
La salida es de orden 0 (función constante).
-
Caso 5: 3 funciones grado de pertenencia para cada variable. La
salida es de orden 0 (función constante).
-
Caso 6: 2 funciones de membresía (o funciones características)
para cada variable. La salida es de orden 1 (función lineal).
-
Caso 7: 4 funciones de grado de pertenencia para cada variable.
La salida es de orden 1 (función lineal).
-
Caso 8: 3 funciones grado de pertenencia para las variables SST
y anomalía altimétrica, y 2 para la clorofila y anomalía térmica.
La salida es de orden 1 (función lineal).
-
Caso 9: 2 funciones grado de pertenencia para las variables SST
y anomalía altimétrica, y 3 para la clorofila y anomalía térmica.
La salida es de orden 1 (función lineal).
-
Caso 10: 3
funciones de grado de pertenencia para cada
variable. La salida es de orden 1 (función lineal).
En todos los casos, los sistemas desarrollados para estos apartados
tienen las siguientes características comunes:
-
Regla AND empleada = producto.
248
-
Regla OR empleada = OR probabilístico = a + b – ab.
-
Método desfuzzificación => suma media ponderada.
-
Método entrenamiento híbrido ya explicado en el apartado
ANFIS (subapartado relativo al algoritmo de entrenamiento
híbrido).
-
Funciones grado de pertenencia del tipo gaussiano gaussianas.
El entrenamiento se ha llevado a cabo hasta que el error de los
patrones de entrenamiento se ha mantenido constante. De forma paralela, se
ha llevado el control del error en el conjunto de validación, así como de la
tasa de aciertos y fallos conseguida. Recordemos que consideramos que la
predicción de nuestro sistema es un acierto si difiere menos de un 10% del
valor máximo de capturas. Como hemos normalizado todos los datos de
capturas, los valores están en el intervalo [0,1]. Por tanto, consideraremos
que la predicción de nuestro sistema es un acierto si difiere menos de 0.1
respecto al valor real de capturas del barco.
Siguiendo este criterio, hemos obtenido las siguientes tasas de
aciertos y fallos en el conjunto de entrenamiento (ver figura 21).
En la figura 21 puede observarse que la tasa de aciertos después del
entrenamiento es prometedora en varios casos (2, 7, 8, 9 y 10). Sólo en el
caso 1 el número de fallos es equiparable al de aciertos. Ésta es sólo una
medida orientativa, para conocer la capacidad de aprendizaje de nuestro
sistema es necesario estudiar los datos del conjunto de validación y sobre
todo, los respectivos MSE (errores cuadráticos medios).
249
Aciertos Cjto. Entrenamiento
Fallos Cjto. Entrenamiento
80
60
40
20
0
Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 Caso 6 Caso 7 Caso 8 Caso 9 Caso 10
Figura 21: Comparación de la tasa de fallos y la tasa de aciertos en el
conjunto de entrenamiento
Aciertos Cjto. Validación
Fallos Cjto. Validación
20
15
10
5
0
Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 Caso 6 Caso 7 Caso 8 Caso 9 Caso
10
Figura 22: Comparación de la tasa de fallos y la tasa de aciertos en el
conjunto de validación
250
Los resultados empeoran cuando estudiamos el conjunto formado
por los patrones de validación. Podemos apreciar en la figura 22 cómo en
ningún caso el número de aciertos es superior al número de fallos en la
predicción.
Para ver la desviación global del conjunto de predicciones respecto a
su valor real, veamos ahora el error MSE. En la figura 23 podemos
comprobar cómo el error es comparable o menor respecto a los sistemas
probados con anterioridad. El mayor error que se encuentra corresponde al
caso 1. Su magnitud es del mismo orden que el error de las redes
neuronales. Podemos ver también cómo a medida que el sistema aumenta de
complejidad, posee más capacidad para ajustar los parámetros de
entrenamiento de tal forma que el número de fallos llega a ser mínimo.
MSE Entrenamiento
0,025
0,02
0,015
0,01
0,005
0
Caso Caso Caso Caso Caso Caso Caso Caso Caso Caso
1
2
3
4
5
6
7
8
9
10
Figura 23: Comparación del error cuadrático medio (MSE) en el conjunto
de entrenamiento. En todos los casos se igualan o mejoran los resultados
de las redes neuronales
251
Para testear la capacidad de aprendizaje de estos sistemas y
compararla con las redes antes probadas, es necesario comprobar el
comportamiento del conjunto de validación. Un sistema con una buena
capacidad de generalización poseerá un buen error MSE en el conjunto de
validación y un MSE aceptable para los patrones de entrenamiento.
MSE Validación
2
1,5
1
0,5
0
Caso Caso Caso Caso Caso Caso Caso Caso Caso Caso
1
2
3
4
5
6
7
8
9
10
Figura 24: Comparación del error cuadrático medio (MSE) en el conjunto
de validación. Sólo en el caso 1 el MSE es del mismo orden que el MSE
conseguido con redes neuronales
A la vista de la figura 24, podemos comprobar que el único de los
sistemas ANFIS con un error comparable al conseguido con las redes
neuronales es el caso 1, en el resto de los casos el error se dispara. Ello
demuestra que no por conseguir una tasa de aciertos alta o un error MSE
con el conjunto de entrenamiento, se consigue un buen aprendizaje. Como
comentaremos
en
el
apartado
siguiente,
sobreentrenamiento.
252
es
un
claro
caso
de
Como resumen de todos estos resultados, podemos concluir que el
sistema que presenta una mejor capacidad de generalización es el
correspondiente al caso 1. Vamos ahora a concretar cómo es su topología.
En la figura 25 podemos observar las características y distintas capas
de nuestro sistema ANFIS tipo 3 de orden 0, con dos funciones
características por cada variable de entrada. Comparado con los otros
sistemas estudiados presenta sencillez y una capacidad mayor de
aprendizaje.
Figura 25: Topología correspondiente al sistema ANFIS del caso 1.
Podemos comprobar cómo por cada variable de entrada existen sólo dos
funciones características (funciones membresía, MF)
253
Veamos cómo se ejecutan las reglas para llegar a calcular el dato de
salida:
Figura 26: Comportamiento del sistema al presentarle el patrón formado
por las entradas SST=0.9, Anomalía térmica=0.55, Clorofila=0.31,
Anomalía altimétrica=0.48. La predicción del sistema es 0.232. La salida
real es 0.22, por tanto puede considerarse un acierto del mismo
En la figura 26 podemos ver cómo cada regla da como resultado una
salida. El ANFIS propuesto, al disponer de 4 variables de entrada con dos
funciones grado de pertenencia cada una, puede formar un total de 16 reglas
distintas. El resultado después de fuzzificar las entradas y realizar las
operaciones correspondientes, se desfuzzifica mediante una suma ponderada
media, conforme a lo explicado en el apartado ANFIS.
254
Ahora bien, como resultado del aprendizaje, los parámetros propios
de las funciones características (funciones grado de pertenencia) gaussianas
han variado. Veamos una representación gráfica de cómo quedan
finalmente:
Figura 27: Funciones grado de pertenencia después del entrenamiento. (a)
SST, (b) Anomalía Térmica, (c) Concentración de clorofila, (d) Anomalía
altimétrica
Puede comprobarse en la figura 27d cómo al haber cambiado los
parámetros de las gaussianas después del entrenamiento varía la forma de
las dos funciones. Los cambios de las restantes funciones gaussianas son
menos importantes.
255
Discusión de los resultados de los algoritmos
El problema del sobreentrenamiento
Para que el algoritmo estudiado sea un buen predictor, hemos de
conseguir un error bajo para el conjunto de entrenamiento y el de
validación. Podría darse el caso de que el error de validación sea mucho
mayor que el error de entrenamiento, entonces se produce el problema de
sobreajuste o sobreentrenamiento. En estadística es bien conocido que
cuando se utiliza un modelo con muchos parámetros para ajustar un
conjunto de datos procedente de un proceso con pocos grados de libertad, el
modelo obtenido puede no descubrir las tendencias reales del proceso
original, aunque pueda presentar un error pequeño de ajuste de datos. En
este caso, el entrenamiento se reduce a la interpolación de los datos,
incluyendo el ruido, utilizando una función sigmoidal complicada.
Para ilustrar este problema, considérese el siguiente ejemplo. La
curva mostrada en la figura 28a pasa exactamente por los puntos de
entrenamiento (representados por puntos negros). Se trata de un polinomio
interpolador de grado siete de los ocho puntos dados, por tanto es un
modelo de error cero. No obstante, si se considera un conjunto alternativo
de datos de comprobación del modelo, entonces la curva anterior no puede
predecir con exactitud los nuevos datos, como es el caso de la figura 28b. El
problema es el excesivo número de parámetros (los ocho coeficientes del
polinomio) utilizados. Un modelo más realista pudiera ser obtenido
considerando un pequeño número de parámetros (por ejemplo, el polinomio
256
de tercer grado de la figura 28c). En este caso, el error de aproximación es
similar para los conjuntos de datos de entrenamiento y de validación,
indicando que se han capturado las tendencias reales del modelo. La
diferencia entre ambos modelos puede verse en la figura 28d.
Figura 28: Un ejemplo del problema del sobreentrenamiento. (a) Modelo
con demasiados parámetros para ajustar los datos. (b) Se ha obtenido un
gran error en los datos de comprobación. (c) Un modelo con menos
parámetros aproxima de igual forma los datos de entrenamiento y los de
validación. (d) Se comparan ambos modelos. (Adaptado de [11])
Al analizar las figuras 20, 23 y 24 podemos apreciar cómo este
problema aparece de manera recurrente en los resultados expuestos hasta
ahora. En la figura 20 representábamos el MSE para los conjuntos de
entrenamiento y validación para la red funcional con 3 bases de funciones
distintas. Cuando el MSE de entrenamiento disminuye, vemos que el MSE
257
de validación crece de manera desmedida. Sólo para el caso 1 ambos errores
alcanzan cotas interesantes simultáneamente, coincidiendo precisamente
con la base más sencilla, es decir, aquella compuesta por un menor número
de funciones y con menos parámetros que ajustar. En las figuras 23 y 24
hemos realizado un estudio similar varias estructuras ANFIS. Igual que en
las redes funcionales, al disminuir el MSE de los patrones de entrenamiento
(figura 23), aumenta el MSE de los patrones de validación en gran medida
(figura 24). Sólo en el caso 1 se consiguen errores comparables con las
redes neuronales, estimando los patrones del conjunto de entrenamiento y
validación. El caso 1 vuelve a ser el que posee una estructura más sencilla y
un menor número de parámetros.
Resultados obtenidos
Hemos escogido para la comparación los mejores resultados después
de entrenar los diferentes casos de redes neuronales, funcionales y ANFIS.
Para elegirlos, se han evitado todos aquellos casos en los cuales existía el
problema de sobreajuste.
Para decidirnos por alguno de los cuatro algoritmos probados, una
primera estimación se puede conseguir estudiando el número de aciertos y
fallos. En la figura 29 podemos ver la tasa de aciertos y fallos en los
conjuntos de entrenamiento y validación.
A la vista de la figura 29, los mejores resultados se corresponden con
el Perceptrón Multicapa, entrenado con el algoritmo de retropropagación del
error (backpropagation). Sin embargo, para estar seguros, es necesario
258
comprobar el error MSE de los conjuntos de entrenamiento y validación
(ver figura 30).
Nº
Nº
Nº
Nº
Aciertos cjto. Entrenamiento
Fallos cjto. Entrenamiento
Aciertos cjto. Validación
Fallos cjto. Validación
50
45
40
35
30
25
20
15
10
5
0
RN Backpropagat ion
RN RBF
RF Separabilidad
ANFIS
Figura 29: Comparativa de fallos y aciertos en los conjuntos de
entrenamiento y validación para los 4 algoritmos
MS E c jt o. Ent r enamient o
MS E c jt o. Validac ión
0,4047
0,45
0,4
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0,014610,027
0,00825 0,025
0,0202
0,0239 0,023
0
RN
Backpropagation
RF Separabilidad
Figura 30: Comparación del error cuadrático medio (MSE) de los distintos
algoritmos para los conjuntos de entrenamiento y validación
259
Los errores representados en la figura 30 son todos del mismo orden
exceptuando el error de validación de la red funcional. Ello quiere decir que
la capacidad de generalización de este algoritmo para nuestro problema es
menor, probablemente debido a la no existencia de un modelo matemático
capaz de explicar el problema.
Finalmente, hemos escogido para la implementación el perceptrón
multicapa entrenado con algoritmo Backpropagation (retropropagación de
error) por su sencillez frente al ANFIS y la red RBF.
Generación de mapas de probabilidad de pesca
En el sistema propuesto hasta ahora, los datos de partida son
imágenes de los satélites OrbView-2, la serie NOAA y Topex-Poseidón.
Como ya hemos comentado en apartados anteriores, los productos derivados
del procesado son mapas de:
x
Temperatura superficial (SST).
x
Anomalía térmica semanal.
x
Frentes térmicos.
x
Concentración de clorofila
x
Anomalía altimétrica
Justificamos en apartados anteriores (Resultados y Discusión subapartado relativo al Estudio previo mediante SOM) que la información
aportada por la anomalía térmica semanal y los frentes térmicos era
redundante. Por tanto suprimimos los frentes térmicos como entrada de
260
nuestro sistema. Con lo cual disponemos de un mayor número de patrones
de entrenamiento con valores válidos.
En la figura 31 podemos ver cuatro imágenes derivadas del
procesado correspondientes al 7/agosto/1998.
Figura 31: Imágenes obtenidas después del procesado inicial
correspondientes al 7-8-1998.
(a) Temperatura superficial (SST, serie
NOAA). (b) Anomalía térmica semanal (serie NOAA).
(c) Concentración
de clorofila (Orbview-2). (d) Mapa de anomalía altimétrica (TopexPoseidon)
261
Las figuras 31a y 31b fueron obtenidas a partir de la serie NOAA.
Las imágenes de las figuras 31c y 31d se procesaron a partir de datos de
Orbview-2 y Topex-Poseidon, respectivamente. Como ya indicamos antes,
el formato de datos empleado por la serie NOAA es el tdf, el de Orbview-2
el hdf, mientras que las imágenes de Topex-Poseidon están en binario. Los
lenguajes de programación empleados para tratar las imágenes fueron C en
el caso de imágenes NOAA, e IDL 5.2 para imágenes Orbiew-2. Creemos
conveniente unificar el formato de las imágenes como paso previo a la
aplicación de la red neuronal, por ello hemos pasado las imágenes hdf y
binarias a formato tdf, para luego tratarlas con código generado en lenguaje
C. Hemos escogido el formato tdf por disponer de un conjunto versátil de
funciones especialmente indicadas para tratamiento de imágenes en el
citado formato. Es importante ajustar la corrección geográfica de las
imágenes para que exista una correspondencia píxel a píxel entre ellas, y
facilitar la aplicación del algoritmo correspondiente. En la figura 32,
mostramos un ejemplo de una imagen mal corregida, puede apreciarse
cómo la línea de costa no se ajusta a la situación real.
Para evitar este problema, hemos corregido las imágenes NOAA y
OrbView-2 mediante las correcciones rectangular y cilíndrica equidistante,
respectivamente. Ambas correcciones geográficas son equivalentes píxel a
píxel a píxel si poseen la misma resolución espacial. Para la imagen de
Topex-Poseidon, hemos calculado computacionalmente las coordenadas
geográficas de cada punto para colocarlas después sobre una imagen
inicialmente sin datos. Podemos verificar en la figura 31 que la corrección
geográfica de las cuatro imágenes es correcta. Cabe destacar la diferente
262
resolución espacial de la imagen figura 31d respecto de sus compañeras, de
ahí los puntos aislados y la ausencia de datos (el valor 0 se representa en
negro). En efecto, la resolución espacial de esta imagen es de 0.25º x 0.25º,
mientras que en el resto posee una resolución de 0.025º x 0.025º.
Figura 32: A la izquierda, imagen de clorofila procedente del OrbView-2
con errores de georreferenciación tras haberla proyectado a una
proyección cilíndrica; a la derecha, imagen de OrBiew-2 georreferenciada
correctamente
Estamos en condiciones de aplicar la red Backpropagation para
calcular el mapa de probabilidad de obtener capturas del Prionace Glauca.
Las entradas de la red serán los valores de los píxeles de cada imagen. Para
la entrada correspondiente a la anomalía altimétrica tomaremos como dato
el valor no nulo más cercano al píxel, si es que no existe ya. Con la salida
de la red generamos un mapa de probabilidad de pesca (ver figura 33). Con
niveles de gris altos (colores claros) tenemos una probabilidad alta de pesca.
263
Figura 33: Mapa de probabilidad de capturas de Prionace Glauca
correspondiente al 7-8-1998 conseguido mediante una red neuronal
entrenada con el algoritmo Backpropagation. Con niveles de gris altos
(colores claros) tenemos una probabilidad alta de pesca
Debido a la baja resolución espacial de los mapas MSLA
procedentes de T/P, en el mapa de probabilidad se observa nítidamente que
las probabilidades están agrupadas en cuadrículas de 0.25º x 0.25º (ver
figura 34).
Figura 34: Detalle del mapa de probabilidad de la figura 33
264
El resultado mostrado en las figuras 33 y 34 está en formato tdf, con
la misma corrección geográfica que las imágenes de partida. Si la
transformamos al conocido formato JPEG, estamos en disposición de
importarla a un SIG (Sistema de Información Geográfico). A modo de
ejemplo, observemos el resultado conseguido empleando el ArcView 3.2
(figura 35):
Figura 35: Resultado de exportar la imagen de la figura 32 a ArcView 3.2
265
Bibliografía
[1]
Consellería de Pesca, Marisqueo e Acuicultura, 1998. Xunta de
Galicia. [http://www.xunta.es/conselle/pe/sector_emprego.htm].
[2]
Cotos, J.M., 1994. “Dinámica y clasificación de estructuras
oceánicas para aplicación operacional de pesquerías utilizando
teledetección e ingeniería de conocimiento”. Tesis doctoral.
Departamento de Física Aplicada, Facultad de Física, Universidad
de Santiago de Compostela.
[3]
Triñanes, J.A., 1998. “Sistema de información basado en
teledetección para ayuda a la explotación operacional de
pesquerías de túnidos y otras especies pelágicas”. Tesis doctoral.
Departamento Electrónica e Computación, Universidad de
Santiago.
[4]
Wells, W.M., 1986. “Efficient Synthesis of Gaussian Filters by
Cascaded Uniform Filters”. IEEE Trans. Pattern Analysis and
Machine Intelligence, vol. 9 (2).
[5]
Harlow, C.A., Trivedi, M.M., Conners, R.W., 1986. “Use of
texture operators in segmentation”. Optical Engineering, vol. 25
(11), pp. 1200-1206.
[6]
Lillesand, T.M., Kiefer, R.N., 1987. “Remote sensing and image
interpretation”. Ed. John Wiley&Sons.
266
[7]
Aronoff,
S.,
1991.
“Geographic
Information
Systems:
A
Management Perspective”. 2ªEdición. Ottawa (Ontario), Canadá,
WDL Publications. ISBN: 0-921804-91-1.
[8]
Specht, D.F., 1990. “Probabilistic Neural Networks”. Neural
Networks, vol. 3, pp. 109-118.
[9]
Zhang, Q., Benveniste, A., 1992. “Wavelet Neural Networks”.
IEEE Transactions on Neural Networks, vol. 3, pp. 889-898.
[10]
Castillo, E., Gutiérrez, J.M., 1998. “Nonlinear Time Series
Modeling and Prediction Using Functional Networks. Extracting
Information Masked by Chaos”. Physics Letters A, vol. 244, pp.
71-84.
[11]
Castillo, E., Cobo, A., Gutiérrez, J.M., Pruneda, E., 1999.
“Introduction to Functional Networks with Applications. A Neural
Based Paradigm”. Kluwer International Publishers.
[12]
Jang, J.-S.R., 1993. “ANFIS: adaptive-network-based fuzzy
inference system”. IEEE Trans. Syst., Man., Cybern, vol. 23 (5),
pp. 665-685.
[13]
Berenji, H.R., 1992. “Fuzzy logic controllers”. In An Introduction
to Fuzzy Logic Applications in Intelligent Systems, R.R. Yager
and L.A. Zadeh, Eds., Kluwer academic publisers, pp. 69-96.
267
[14]
Takagi, H., Suzuki, N., Koda, T., Kojima, Y., 1992. “Neural
networks desgned on approximate reasoning architecture and their
applications”. IEEE Trans. Neural Networks, vol. 3 (5), pp. 752760.
[15]
Takagi, T., Sugeno, M., 1983. “Derivation of fuzzy control rules
from human operator`s control actions”. Proc. of the IFAC Symp.
On Fuzzy Information, Knowledge Representation and Decision
Analysis, pp. 55-60.
[16]
Shah, S., Palmieri, F., 1990. “MEKA-A fast, local algorithm for
training feedforward neural networks”. In Proc. of International
Joint Conference on Neural Networks, vol. 3, pp. 41-46.
[17]
Singhal, S., Wu, L., 1989. “Training multilayer perceptrons with
the extended Kalman algorithm”. In David S. Touretzky, editor,
Advances in neural information processing systems I, Morgan
Kauffman Publishers, pp. 133-140.
[18]
Jang, J.-S.R., 1991. “Fuzzy modelling using generalized neural
networks and Kalman filter algorithm”. In Proc. of the Ninth
National Conference on Artificial Intelligence (AAAI-91), pp. 762767.
[19]
Jang, J.-S.R., 1992. “Self-learning fuzzy controller based on
temporal backpropagation”. IEEE Trans. On Neural Networks,
vol. 3 (5), pp. 714-723.
268
[20]
Jang, J.-S.R., 1992. “Neuro-Fuzzy Modeling: Architecture,
Analyses and Applications”. Doctoral thesis, University of
California, Departament of Electrical Engineering and Computer
Science.
[21]
Ojala, T., 1994. “Neuro-fuzzy systems in control”. Master of
science thesis. Tampere University of Technology, Department of
Electrical Engineering.
[22]
Komatsu, T., Aoki, I., Mitani, I., Ishii, T., 1994. “Prediction of the
Catch of Japanese Sardine Larvae in Sagami Bay Using a Neural
Network”. Fisheries Science, vol. 60 (4), pp. 385-391.
[23]
Aurelle,
D.,
Lek,
S.,
Giraudel,
J.,
Berrebi,
P.,
1999.
“Microsatellites and artificial neural networks: tools for the
discrimination between natural and hatchery brown trout (Salmo
trutta, L.) in Atlantic populations”. Ecological Modelling, vol. 120,
pp. 313-324.
[24]
Dreyfus-Leon, M.J., 1999. “Individual-based modelling of
fishermen
search
behauviour
with
neural
networks
and
reinforcement learning”. Ecological Modelling, vol. 120, pp. 287297.
[25]
Aussem, A., Hill, D., 2000. “Neural-network metamodelling for
the prediction of Caulerpa taxifolia development in the
Mediterranean sea”. Neurocomputing, vol. 30, pp. 71-78.
269
[26]
Brosse, S., Guegan, J., Tourenq, J., Lek, S., 1999. “The use of
artificial neural network to assess fish abundance and spacial
occupancy in the litoral zone of a mesotropic lake”. Ecological
Modelling, vol. 120, pp. 299-311.
[27]
Maas, O., Boulanger, J., Thiria, S., 2000. “Use of neural networks
for predictions using time series: Illustration with the El Niño
Southern oscillation phenomenon”. Neurocomputing, vol. 30, pp.
53-58.
270
Un Modo Inteligente de Gestionar el
Conocimiento
Javier Andrade, Santiago Rodríguez y Sonia Suárez
Depto de Tecnologías de la Información y las Comunicaciones
Universidade da Coruña
Email: {jag, santi, ssuarez}@udc.es
Introducción
Con el fin de hacer frente a las nuevas necesidades impuestas en la
actual Era del Conocimiento, las organizaciones deberán de adaptar sus
estructuras organizativas. Actualmente, éstas poseen una estructura de
“ordeno y mando” en la que el conocimiento reside en la parte superior de
la pirámide organizativa y las órdenes se trasmiten a través de un número
excesivo de niveles intermedios.
A este respecto, P. F. Drucker considera que las organizaciones del
futuro, para poder adaptarse rápidamente a los cambios del entorno,
requerirán de una estructura más plana, con menos burocracia y compuesta
por especialistas [1]. Actualmente, los mandos superiores de la jerarquía
indican a sus subordinados qué tienen que hacer y cómo han de hacerlo. Sin
embargo, las organizaciones del futuro estarán formadas por “trabajadores
del conocimiento”, es decir, especialistas en su área de trabajo que no
precisarán que nadie les diga cómo tienen que hacer su labor. De hecho,
271
este autor compara el funcionamiento de las organizaciones del futuro con
el funcionamiento de una orquesta. Una orquesta está formada por un gran
número de especialistas, dirigidos por un único director, en dónde cada
músico se guía por una partitura para realizar su trabajo. En este caso, el
especialista no necesita que el director le diga cómo ha de tocar su
instrumento. Así pues, las organizaciones del futuro serán organizaciones
más planas formadas por grupos de especialistas que se guíen por un
conjunto de objetivos claros y sencillos. En este tipo de organizaciones el
conocimiento residirá en la parte baja de la pirámide jerárquica, en la mente
de los especialistas que realizarán diversos trabajos y se dirigirán a si
mismos.
Por otro lado, parece claro que las ventajas competitivas de toda
organización dependerán del conocimiento que ésta posea. Para ser más
exactos, dependen de qué sabe, cómo lo usa y cómo de rápido aprende algo
nuevo. Sin embargo, el conocimiento siempre ha sido un elemento clave
para las organizaciones [2] [3], aunque su gestión no se hiciese de forma
explícita.
Hoy en día las cosas han cambiado, tal y como queda patente con los
cambios que conlleva la entrada en la nueva Era del Conocimiento, y
aquellas empresas que no gestionen explícitamente su conocimiento están
poniéndose en peligro [4]. Precisamente, la Gestión del Conocimiento (en
adelante GC) nace con la idea de gestionar, de manera explícita, el
conocimiento que hay alrededor de toda organización.
272
Principales
ventajas
de
la
gestión
del
conocimiento
La implantación de un programa de GC proporciona un uso más
racional del conocimiento que existe en una organización, lo que conlleva
innumerables ventajas, entre las que destacan:
Creación de un entorno que facilita la innovación y el desarrollo de
productos de una forma más rápida. Zara, del grupo Inditex, es un
ejemplo claro de cómo la GC permite innovar y abrir nuevas
posibilidades de mercado [5]. Gracias a una correcta gestión del
conocimiento, Zara descubrió cuales eran las necesidades de sus
clientes potenciales y supo sacarles provecho. Cada cambio de
moda supone una nueva oportunidad para esta empresa, pues es
capaz de adaptarse a esos cambios antes que nadie. De hecho, Zara
es capaz de poner sus diseños desde el tablero de dibujo al
expositor en un plazo que oscila entre 10 y 15 días, lo que le
confiere una posición de privilegio respecto al resto de compañías
textiles.
Ahorro de tiempo y recursos al evitar “reinventar la rueda” una y
otra vez. Una empresa que no es consciente de lo que sabe, está
condenada a resolver, una y otra vez, los mismos problemas.
Explicitando el conocimiento organizativo, se evita dedicar
recursos a problemas ya resueltos. Un ejemplo de esta situación es
la empresa Hewlett-Packard, más conocida como HP, la cual
desarrolló un sistema de GC denominado HP Network News para,
273
entre otras cosas, atender las demandas de comerciantes acerca de
sus productos [6]. Gracias a este sistema, HP logró disminuir el
número de llamadas telefónicas al servicio técnico, requiriendo
menos personal para atender, una y otra vez, a las mismas
llamadas.
Localización de quién, qué y dónde está la experiencia y el
conocimiento. Esto permite conocer qué sabe la organización y a
quién se debe recurrir para solucionar un determinado problema.
La compañía British Petroleum (BP) adoptó, a finales de 1994, un
sistema de GC que le permitía poner en contacto grupos de trabajo
con expertos. El proyecto se denominó Virtual TeamWork [7] y
permitió reducir costes significativos a la organización gracias a
que se conseguían poner en contacto, en el momento en el que se
necesitase, un equipo perforador con un especialista en la materia.
BP había conseguido realizar unas páginas amarillas de quién sabía
qué en la organización.
Como consecuencia del punto anterior, prevención de islas de
conocimiento para determinar qué carencias de conocimiento
existen en la organización. Un ejemplo de esta situación son los
laboratorios farmacéuticos Hoffmann-La Roche [8]. Estos
laboratorios habían estimado que, por cada día que se adelantase la
salida al mercado de un medicamento, la compañía tendría un
beneficio de un millón de dólares. Por ello, centraron sus esfuerzos
en intentar acortar dicho periodo que, en la industria farmacéutica,
ronda los 8 años y tiene un coste medio de 250 millones de dólares.
Concretamente, centraron los esfuerzos en acortar el periodo de
274
tiempo que requieren los organismos competentes para evaluar si
un medicamento es apto, o no, para su comercialización. Tras el
correspondiente análisis, se dieron cuenta de que ese tiempo
variaba, de forma significativa, en función de la información que
se le proporcionase a los organismos evaluadores. Detectada la isla
de información, se modificó el tipo de informe que se presentaba a
los organismos evaluadores de forma que, al facilitar a estos su
labor, también se acortaba el intervalo necesario para la salida al
mercado del producto.
Aumento del nivel de cooperación y transmisión de información,
mejorando la comunicación interna. Al explicitar quién sabe qué,
se establecen vías de comunicación entre generadores y
consumidores de conocimiento. El ejemplo anterior de BP es claro:
gracias a que se han identificado los expertos, se sabe a quien
acudir en caso de necesidad.
Aumento del grado de satisfacción de los clientes al conseguir
productos y servicios que se adecuen, en mayor grado, a sus
necesidades. Un ejemplo de esta situación es el caso de los
laboratorios Hoffmann-La Roche presentado anteriormente. En
este caso los organismos evaluadores eran clientes a los que había
que proporcionarles un informe del producto farmacéutico a ser
evaluado. Tras comprender mejor las necesidades del cliente, se
consiguió un producto que se adecuase más y mejor a sus
necesidades y, como consecuencia, se consiguió acortar el tiempo
requerido por estos organismos para conceder la comercialización
de un producto farmacéutico.
275
Obtención de empleados más efectivos al disponer estos de un
mayor conocimiento a nivel organizativo. No cabe duda de que
cuanto más conocimiento manejen los empleados, éstos se
volverán más efectivos. Como ejemplo se puede citar el Trainer’s
Trading Post implantado en HP [6] con la finalidad de crear un
forum para que los formadores y educadores compartiesen ideas,
material y métodos. De esta manera, los formadores podían
aprender unos de otros.
Mejora de la toma de decisiones, puesto que ésta se hace en base a
un mayor y mejor conocimiento. Al tener un gran conocimiento
acerca del entorno y de los clientes, se consigue identificar
oportunidades de negocio, tal y como es el caso de Zara presentado
anteriormente.
Por todo ello, se puede concluir que la GC es una práctica que busca
maximizar el valor de una organización ayudando a su gente a innovar y
adaptarse a los cambios.
Análisis de las principales propuestas para
gestionar el conocimiento organizativo
Dentro de la extensa literatura existente acerca de la GC, han surgido
numerosos intentos y aproximaciones para facilitar la compleja tarea de
desarrollar e implantar esta disciplina en una organización. Entre ellas, cabe
destacar el modelo propuesto de T. Beckman y J. Liebowitz [9] [10], el
marco metodológico de K. Wiig, R. De Hoog y R. Van der Spek [11], el
276
proyecto WORKS [12], la metodología de B. Junnarkar [13], la
metodología de S. Stabb y H. P. Schnurr [14], la propuesta de A. Tiwana
[15] y la metodología MEGICO [16].
Todas estas propuestas han sido analizadas respecto a las fases que,
idealmente, debiera de contemplar toda aproximación para la construcción
de sistemas de estas características, a saber:
Adquisición del conocimiento. Toda aproximación debe guiar al
equipo de GC en la identificación del conocimiento necesario a
capturar. Idealmente, la propuesta debiera indicar qué tipos de
conocimientos se deben buscar, así como las características a
considerar para cada activo de conocimiento identificado.
Asimilación del conocimiento. Una vez capturado el conocimiento,
es necesario asimilar aquel que se considere relevante para el
funcionamiento de la organización. Para ello es necesario
entenderlo,
es
decir,
conceptualizarlo,
y
posteriormente
representarlo en la forma que mejor convenga; esto es,
formalizarlo.
Consolidación del conocimiento. Se debe contrastar la adecuación
del conocimiento ya asimilado con el objetivo de evitar incorporar
conocimiento no deseado al sistema de GC. Esta comprobación ha
de realizarse a dos niveles. En primer lugar, será necesario
chequear la validez del conocimiento, ya que la inclusión de
conocimientos incorrectos en el sistema de GC tendrá graves
consecuencias a nivel organizativo. En segundo lugar, ha de
277
asegurarse que el conocimiento incorporado no sólo sea correcto,
sino que también sea relevante para la organización. Es de suma
importancia no sobrecargar el sistema de GC con conocimientos no
relevantes.
Creación del sistema de soporte a la GC. Toda aproximación
debería guiar al equipo de GC a la hora de determinar la forma en
la que se incorporará nuevo conocimiento al sistema y su posterior
distribución.
Creación del entorno de colaboración. Dado que el éxito de un
sistema de GC depende, en gran medida, de la forma en la que los
empleados acepten y usen el sistema, es preciso definir
mecanismos que contemplen la forma de mitigar el rechazo al
proyecto de GC.
Sin embargo, no es suficiente con determinar si las aproximaciones
estudiadas contemplan o no cada una de estas fases, sino que es necesario
determinar el grado de detalle con el que las acometen. Por ello, cada una de
estas fases será analizada en función de los siguientes criterios:
Proceso. Especifica si la propuesta contempla, o no, la fase
analizada y, en caso afirmativo, indica su grado de explicitación.
La Tabla 1 muestra los posibles valores que puede tomar este
atributo.
Soporte. Indica si la propuesta propone, o no, técnicas y
herramientas que den soporte a la fase analizada.
278
Valor
No
General
Guías
Formal
Significado
No se contempla la fase.
Se contempla la fase pero no de
forma detallada.
Se contempla la fase y, además, se
proponen mecanismos para su
acometimiento, aunque éstos no se
encuentren
explicitados
completamente.
El proceso está completamente
formalizado, es decir, se explicita qué
hay que hacer, cuándo hay que
hacerlo, cómo ha de hacerse y quién
ha de hacerlo.
Tabla 1: Posibles valores del atributo Proceso
La Tabla 2 recoge, de forma resumida, los resultados de dicho
estudio, junto con los valores que debiera de tener una aproximación ideal
para el desarrollo de este tipo de sistemas.
279
Adquisición
Beckman y
Liebowitz
Wiig, De
Hoog, y
Van der
Spek
Proyecto
WORKS
B.
Junnarkar
Stabb y
Schnurr
A. Tiwana
MEGICO
Ideal
Asimilación
Consolidación
Soporte Proceso Soporte
Creación del
sistema de
soporte
Proceso Soporte
Creación del
entorno de
colaboración
Proceso Soporte
Proceso
Soporte
Proceso
Guías
Si
Guías
Si
Guías
Si
Guías
Si
No
-
Guías
Si
Guías
Si
No
-
Guías
Si
No
-
General
No
General
No
No
-
General
No
No
-
Guías
Si
Guías
Si
No
-
Guías
Si
No
-
General
Si
General
Si
No
-
General
Si
No
-
Guías
¿Formal?
Formal
Si
Si
Si
Guías
¿Formal?
Formal
Si
Si
Si
No
No
Formal
Si
Guías
¿Formal?
Formal
Si
Si
Si
Guías
¿Formal?
Formal
Si
Si
Si
Tabla 2: Evaluación de las aproximaciones principales en la GC
280
Analizando en detalle estos resultados, se pueden obtener las
siguientes conclusiones:
La mayoría de las aproximaciones se centran en las fases de
adquisición, asimilación, e incorporación y distribución del
conocimiento, dejando de lado actividades tan importantes como la
verificación y validación, o la definición del entorno de
colaboración.
Salvo en el caso de MEGICO, que dado su carácter privado no se
puede comprobar, se puede afirmar que las aproximaciones
actuales no definen, de manera formal, las fases y actividades que
acometen. En el mejor de los casos, estas aproximaciones se
limitan a indicar guías generales para el acometimiento de las fases
que definen.
En definitiva, y pese a la gran proliferación de aproximaciones para
el desarrollo de sistemas de GC, se puede concluir que no existe una
propuesta, lo suficientemente elaborada, que guíe al equipo de GC en el
acometimiento de su labor en todos los aspectos que exige una GC global.
Por tanto, se está ante una situación en la que cada organización se ve en la
obligación de elaborar de manera ad hoc su propuesta.
Estrategia planteada
Los autores atribuyen los problemas anteriores a que todas estas
propuestas se articulan únicamente entorno al proceso de gestión, dejando
281
de lado, quizás, al aspecto más importante: el objeto a gestionar, es decir, el
conocimiento. Por tanto, es preciso centrar la atención sobre el estudio de
este elemento con el fin de determinar:
i. En qué tipo de conocimientos se está interesado.
ii. Cuáles son las propiedades a identificar para activo de
conocimiento en función del tipo al que pertenezca.
En lo que respecta a estos puntos, los autores han llevado a cabo un
estudio riguroso de este elemento, que se encuentra detallado en [17]. Como
resultado de este estudio, se concluye que todo conocimiento puede ser
clasificado en los siguientes niveles:
Estático, el cual está compuesto por el conocimiento estructural u
operativo, es decir, los hechos que son ciertos en el dominio y que
se pueden usar en las operaciones: conceptos, propiedades,
relaciones y restricciones.
Dinámico, el cual conforma el comportamiento que tiene lugar en
el dominio, es decir, la funcionalidad, la acción, el proceso o el
control: inferencias, cálculos y secuencia de pasos. A su vez, este
nivel puede dividirse en estratégico (que incluye qué hacer, cuándo
y en qué orden) y táctico (que especifica cómo obtener nuevo
conocimiento operativo).
La Figura 1 muestra gráficamente estos niveles junto con sus
interrelaciones. En ella se puede apreciar como el conocimiento estratégico
maneja al táctico —(1) en la Figura—, ya que para cada paso de último
282
nivel se indican las inferencias y cálculos que en él se llevan a cabo. Por su
parte, el conocimiento operativo es manejado por los otros dos, ya que
especifica con qué se deciden las alternativas de ejecución en la secuencia
de pasos (puntos de bifurcación) —(2) en la Figura— y en base a qué se
hacen las inferencias y los cálculos —(3) en la Figura.
El recurso gráfico en forma de pirámide muestra el hecho de que los
distintos niveles funcionales del conocimiento siguen una estructura de
apoyo entre sí. El conocimiento estratégico se sitúa en la cima ya que
controla el comportamiento que se produce en el dominio. Por su parte, el
táctico precisa del operativo que, por otra parte, es el más cuantioso. Debido
a todo ello, el conocimiento operativo se dispone como base de la pirámide,
estando por encima de él el táctico.
(1)
DYN
AM
IC
TEG
STRA
(3)
ICAL
TACT
STA
T IC
(2)
IC
A
DECL
E
RATIV
Figura 1: Niveles funcionales del conocimiento
Como resultado de este estudio, se identifican todos los elementos
conceptuales que pueden ser necesarios manejar en cualquier dominio.
283
Lógicamente, estos elementos serán los que deben ser considerados en un
sistema de GC y, por tanto, los que se deben formalizar en dichos sistemas.
Bibliografía
[1]
Drucker, P.F., et al., 1998. “Harvard Business on Knowledge
Management”. Harvard Business School Press. Boston, USA.
[2]
Brooking, A., 1996. “Intellectual Capital. Core Asset for the Third
Millennium Enterprise”. International Thomson Business Press.
Londres, UK.
[3]
Davenport, T.H., Prusak, L., 2000. “Working Knowledge: How
Organizations Manage What They Know”. Harvard Business
School Press. Boston, USA.
[4]
Ruggles, R., 1997. “Why Knowledge? Why Now?”. Perspective on
Business Processes. Centre of Business Innovation, Ernst and
Young. nº 1, pp. 2-8.
[5]
Herreros, C., 2000. “Zara: Un reto al pensamiento maduro”.
http://www.gestiondelconocimiento.com/documentos2/carlos_herr
eros/caso_zara.htm.
[6]
Davenport, T.H., 1997. “If Only HP Knew What HP Knows…”.
Perspective on Business Processes. Centre of Business Innovation,
Ernst and Young. nº 1, pp. 20-25.
284
[7]
Cohen, D., 1997. “Knowing the Drill: Virtual TeamWork at BP”.
Perspective on Business Processes. Centre of Business Innovation,
Ernst and Young. nº 1, pp. 14-19.
[8]
Seemann, P., 1997. “A Prescription for Knowledge Management:
What Hoffmann-La Roche’s Case Can Teach Others”. Perspective
on Business Processes. Centre of Business Innovation, Ernst and
Young. nº 1, pp. 26-33.
[9]
Beckman, T., 1997. “A Methodology for Knowledge Management”.
International Association of Science and Technology for
Development (IASTED) AI and Soft Computing Conference.
Banff, Canada.
[10]
Liebowitz, J., Beckman, T., 1998. “Knowledge Organizations.
What Every Manager Should Know”. CRC Press. Florida, USA.
[11]
Wiig, K., de Hoog, R., Van der Spek, R., 1997. “Supporting
Knowledge Management: A Selection of Methods and Techniques”.
Expert Systems with Applications, vol. 13 (1), pp. 15-27.
[12]
Daniel, M., Decker, S., Domanetzki, A., Heimbrodt-Habermann,
E., Höhn, F., Hoffmann, A., Röstel, H., Studer, R., Wegner, R.,
1997. “ERBUS-Towards a Knowledge Management System for
Designers”.
Proceedings
of
the
st
Knowledge
Management
Wotkshop at the 21 Annual German AI Conference. Freiburg,
Alemania.
285
[13]
Junnarkar, B., 1997. “Leveraging Collective Intellect by Building
Organizational Capabilities”. Expert Systems with Applications.
vol. 13, nº 1, pp. 29-40.
[14]
Staab, S., Schnurr, H.P., 1999. “Knowledge and Bussines
Processes:
Approaching
and
Integration”.
Workshop
on
Knowledge Management and Organizational Methods. IJCAI99.
Estocolmo, Suecia.
[15]
Tiwana, A., 2000. “The Knowledge Management Toolkit. Practical
Techniques for Building a Knowledge Management System”.
Prentice-Hall. New Jersey, USA.
[16]
Paradela, L.F., 2001. “Una Metodología para la Gestión del
Conocimiento”.
Tesis
Doctoral.
Facultad
de
Informática.
Universidad Politécnica de Madrid, España.
[17]
Andrade J., Ares J., García R., Rodríguez S., Silva A., 2005.
“Natural Language Analysis: Towards a More Human-Centred
Conceptual
Modelling
in
Software
Engineering”.
En
“Encyclopaedia of Human Computer Interaction”, Ghaoui, C.
(ed.), Idea Group. Pendiente de publicar en 2005.
286
Técnicas de Inteligencia Artificial para
el Tratamiento de Datos Astronómicos
Alejandra Rodríguez1, Carlos Dafonte1, Bernardino Arcay1,
Iciar Carricajo2 y Minia Manteiga2
1
Departamento de Tecnologías de la Información y de las Comunicaciones.
Universidade da Coruña
Email: {arodriguezf, dafonte, cibarcay}@udc.es
2
Departamento de Ciencias de la Navegación y de la Tierra.
Universidade da Coruña
Email: {iciar, manteiga}@udc.es
Introducción
La Astrofísica es una rama de la ciencia que se dedica
principalmente al estudio de la distribución de energía de la radiación
electromagnética a través del análisis de objetos observados.
Este estudio forma parte de un proyecto global dedicado al análisis
de las últimas fases evolutivas de las estrellas. Los estudios evolutivos son
una parte esencial de la Astrofísica ya que permiten analizar los cambios
temporales que experimentan los cuerpos celestes (estrellas, nebulosas,
planetas, etc.) en cuanto a su composición química y a sus propiedades
físicas.
287
El estudio de la distribución espectral de las estrellas permite
estudiar la evolución temporal de las mismas en la fase evolutiva que va
desde la Rama Asintótica de Gigantes (AGB) hasta la fase de Nebulosa
Planetaria, y su efecto en el medio interestelar galáctico. Para ello, es
necesaria la clasificación espectroscópica de una amplia muestra de estrellas
en las fases AGB y post-AGB.
La clasificación de espectros estelares se realiza actualmente en el
sistema estándar Morgan-Keenan, que ordena las estrellas en función de su
temperatura y gravedades efectivas, y resulta una herramienta de probada
eficacia en:
x
Clasificación de conjuntos extensos de objetos o catálogos
estelares.
x
Estudio de propiedades de estrellas peculiares.
x
Obtención de parámetros estelares: distancia, extinción,
metalicidad.
x
Estudios evolutivos de estrellas.
El sistema de clasificación manual está basado en la comparación
morfológica del espectro con espectros estándares a través de una
inspección visual, procedimiento sujeto a un alto grado de subjetividad, que
además consume una gran cantidad de tiempo y recursos humanos debido al
gran volumen de información disponible hoy en día; todo ello sugiere la
automatización por medio de la utilización de técnicas computacionales.
288
En concreto se propone un enfoque híbrido que permita la
automatización de la clasificación espectral por medio de la combinación de
varias técnicas de inteligencia artificial en una sola herramienta. Este
enfoque resulta más eficiente que el de aplicar una única técnica pues se
adapta mejor a las peculiaridades del proceso.
Los espectros se almacenan en una base de datos relacional, de
donde son recuperados por un analizador espectral, que mediante técnicas
de preprocesado y análisis morfológico de señales obtiene las medidas de
los parámetros espectrales, tales como bandas y líneas de absorción y
emisión, energía espectral, etc. Estos parámetros se utilizarán en el proceso
de clasificación.
La clasificación se ha abordado desde dos grupos de técnicas de
inteligencia artificial: sistemas expertos y redes de neuronas artificiales.
Los sistemas expertos utilizan los valores de los parámetros para
comenzar
a
enlazar
reglas
de
razonamiento
(obtenidas
de
los
espectroscopistas) con el objetivo de llegar a una conclusión. Las redes de
neuronas utilizan los parámetros como patrones de la capa de entrada. El
resultado de este proceso, o sea la clasificación del espectro, se introduce de
nuevo en la base de datos.
Los sistemas expertos, en su primera versión, se basaron en las
metodologías clásicas de sistemas basados en reglas de razonamiento [1].
Posteriormente se introdujeron variables difusas y funciones de pertenencia.
289
En cuanto a las redes de neuronas, se implementaron algoritmos
basados en aprendizaje supervisado, en concreto backpropagation, redes
competitivas (Kohonen) y algoritmos de aprendizaje híbridos (RBF).
Las secciones siguientes comienzan describiendo el sistema de
clasificación estándar y las técnicas manuales de clasificación estelar. En
segundo lugar se presentan los datos espectrales que se han utilizado para
diseñar y validar las técnicas automáticas de clasificación. Posteriormente,
se describen los algoritmos de análisis morfológico que se aplicaron a los
espectros antes de ser tratados. Finalmente, se presentan los diferentes
modelos de inteligencia artificial implementados, contrastando los
resultados obtenidos con cada uno de ellos.
Sistema de clasificación estándar
La espectroscopia es una de las técnicas actuales más útiles y
eficientes para el estudio de las estrellas, y en particular de sus condiciones
físicas (temperatura, presión, densidad, etc.) y de su composición química
(H, He, Ca, K, etc.).
El espectro de una estrella consiste en la distribución de luz del
continuo de un cuerpo negro, distorsionada por la absorción interestelar y
por la presencia de líneas y bandas de absorción y emisión de compuestos
químicos [2].
Los espectros estelares se obtienen en los telescopios utilizando
detectores y espectrógrafos apropiados. En las campañas astrofísicas los
290
observadores descomponen, utilizando espectrógrafos, la luz recogida de
cada objeto en sus diferentes longitudes de onda, frecuencias o colores. A
continuación, se unifican y reducen estos datos para obtener un espectro
final calibrado en flujo energético (erg-1cms-2s-1Å-1) y longitud de onda (Å).
La figura 1 muestra el espectro de una estrella de tipo G0 una vez reducida
a su espectro unidimensional.
Como ya se ha mencionado, para estudiar los cambios temporales
que experimentan las estrellas es necesario recoger y clasificar los espectros
de una población de estrellas suficientemente representativa. El análisis de
la distribución de los tipos espectrales dentro de la muestra recogida
contribuye al estudio y comprensión de la evolución estelar, por ello, la
clasificación espectral es una fase crítica que debe llevarse a cabo de una
forma eficiente, rápida y apropiada.
Figura 1: Espectro unidimensional de una estrella G0
291
El sistema actual más extendido y utilizado para clasificar los
espectros estelares es el sistema MK, propuesto en 1943 por Morgan,
Keenan y Kellman [3].
Una de las grandes ventajas de este esquema es que las
clasificaciones MK de los espectros suelen ser estáticas, pues se basan en el
estudio visual de los espectros y en la aplicación de un conjunto de criterios
de clasificación; sin embargo, como contrapartida, diferentes expertos
podrían llegar a clasificar el mismo espectro de formas sensiblemente
diferentes.
Este sistema de clasificación cuantifica temperaturas estelares y
niveles de luminosidad. El sistema MK se estableció utilizando como
referencia observaciones espectroscópicas en el rango entre 3930 y 4860 Å.
Las estrellas se dividieron en grupos o tipos espectrales cuya definición se
basa principalmente en la intensidad de las líneas de hidrógeno y en la
presencia o ausencia de algunas líneas significativas (Calcio, Hierro, Helio,
etc.) y de bandas de absorción moleculares.
La temperatura de las estrellas se concreta en una secuencia
denominada OBAFGKM, abarcando desde las estrellas más calientes (tipo
O) a las más frías (tipo M). Cada uno de estos tipos espectrales se subdivide
a su vez utilizando un sistema decimal (en el rango 0-9). De esta forma, la
estrella O0 sería la estrella con mayor temperatura del sistema MK y la
estrella M9 la de menor.
292
El sistema MK adjudica además a cada espectro una clase de
luminosidad, desde el nivel I (supergigantes) hasta el V (enanas), que
depende del brillo intrínseco de la estrella.
La tabla 1 muestra las principales propiedades de cada tipo espectral
en el sistema estándar de clasificación MK.
Tipo
Color
Temperatura
Características
Ejemplos
O
Azul
> 25,000 K
Helio ionizado
10 Lacertra
B
Azul
11,000-25,000 K
Helio neutral
Rigel
Spica
A
Azul
7,500-11,000 K
F
Azul a
Blanco
6,000-7,500 K
G
Blanco a
Amarillo
5,000-6,000 K
K
Naranja a
Rojo
3,500-5,000 K
M
Rojo
< 3,500 K
Hidrógeno neutral
Hidrógeno neutral
Hidrógeno neutral
Calcio ionizado
Sirius
Vega
Canopus
Procyon
Hidrógeno neutral
El sol
Calcio fuertemente Capella
ionizado
Metales neutrales
Calcio ionizado
Arcturus
Aldebaran
Banda moleculares Betelgeuse
Metales neutrales Antares
Tabla 1: Características principales de los tipos espectrales en el
sistema MK
293
Un sistema de clasificación estelar adecuado y eficiente debería
implicar un compromiso entre mantener la información completa del
espectro y la necesidad de un resumen compacto de dicha información. Este
compromiso se alcanza en gran medida con las clasificaciones en el sistema
MK, pues se obtiene una síntesis óptima del espectro mediante la
determinación de su tipo espectral y luminosidad.
Actualmente, la obtención del tipo espectral y la luminosidad de una
estrella en el sistema MK se realiza habitualmente de forma manual. Los
espectroscopistas analizan el espectro basándose únicamente en su propia
experiencia en el campo de la clasificación estelar.
El proceso de clasificación manual se basa frecuentemente en el
estudio visual de los espectros y en un conjunto de criterios estándares que
involucran características espectrales tales como líneas de emisión y bandas
moleculares [3].
Los clasificadores seleccionan en catálogo de espectros de referencia
que han sido previamente clasificados en el sistema MK. Este catálogo se
utilizará como una guía durante todo el proceso de clasificación.
El primer paso de la clasificación manual es la normalización del
espectro para aislar el componente continuo (afectado por el enrojecimiento
interestelar), a partir de ese momento la comparación de los espectros con
los del catálogo guía puede centrarse en la información aportada por las
líneas espectrales. Asimismo, para facilitar la comparación entre los
294
espectros que se pretenden clasificar con los del catálogo seleccionado es
necesario que todos estén en la misma escala.
El tipo espectral (o temperatura) de una estrella se obtiene calibrando
la intensidad relativa de algunas líneas espectrales, en su mayoría
pertenecientes a las transiciones de los átomos de hidrógeno y helio.
Además, algunos grupos de líneas pueden utilizarse también para
determinar densidad, presión y otras propiedades físicas. La anchura de las
líneas refleja velocidades de rotación y los desplazamientos de las mismas,
debidos al efecto Doppler, muestran la velocidad radial de la estrella.
Basándose en los espectros escalados y normalizados, los expertos
tratan de determinar el tipo espectral y la luminosidad en el sistema MK.
Esta segunda etapa consiste en el estudio de las relaciones de la intensidad
de determinadas líneas de absorción (H, He, Ca, etc.) y la profundidad de
determinadas
bandas
moleculares
relevantes.
De
este
modo
los
espectroscopistas obtienen una primera clasificación aproximada de cada
espectro.
Esta clasificación MK inicial se refina comparando cada espectro sin
clasificar con los del catálogo de referencia que corresponden al mismo tipo
espectral, hasta que se logra aproximar el subtipo espectral.
Aunque este método manual de clasificación se ha utilizado con
éxito a lo largo de los años, hoy en día no es muy viable puesto que las
tecnologías actuales de obtención de espectros permiten recoger una
cantidad enorme de datos espectrales en un tiempo relativamente corto.
295
Además, esta técnica presenta un alto grado de subjetividad ya que no
existen criterios de clasificación definitivos y estos dependen, en gran
medida, de la experiencia del espectroscopista en la tarea de clasificación
estelar.
La clasificación manual de todos los espectros que actualmente se
pueden obtener implicaría un aumento considerable del tiempo y los
recursos humanos dedicados a esta fase del estudio de las estrellas. Por lo
tanto, sería conveniente optimizar el procedimiento manual por medio de
técnicas computacionales automáticas, eficientes y rápidas.
Datos astronómicos
Con el fin de diseñar herramientas automáticas que optimicen el
costoso proceso de clasificación manual, hemos seleccionado una amplia
muestra de espectros ópticos. En concreto, se ha elegido un conjunto de 258
espectros que comprenden todos los tipos y luminosidades posibles dentro
del sistema MK.
Este conjunto de espectros seleccionados es suficientemente
representativo, ya que ofrece una transición continua de las características
espectrales entre cada tipo espectral y sus tipos adyacentes. Se han utilizado
los catálogos públicos de Silva [4] - 28 espectros muestreados en el rango
3500 a 8900 Å con 5 Å de resolución espectral -, Pickles [5] - 97 espectros
en el rango 1150 a 25000 Å con 5 Å de resolución - y Jacoby [6], 133
espectros en el rango 3510 a 7426 Å con 1.4 Å de resolución espectral.
296
Como paso previo a la utilización de este conjunto de espectros para
el diseño de las técnicas automáticas de clasificación, los expertos que
colaboran en este proyecto han analizado y corregido los 258 espectros
estelares seleccionados utilizando para ello técnicas estadísticas de
agrupamiento.
Técnicas de clasificación automática
En los últimos años la investigación en el campo de la clasificación
espectral se ha centrado en la necesidad de desarrollar herramientas
automáticas que asistan a los expertos, y en la revisión y mejora de las
técnicas manuales.
En cuanto al uso de técnicas de inteligencia artificial aplicadas al
diseño de sistemas de clasificación automáticos, algunos trabajos previos
han utilizado también redes de neuronas artificiales [7] [8], obteniendo
diferentes grados de resolución en sus clasificaciones.
Nuestro grupo de investigación ha contribuido a esta línea de
investigación con el desarrollo de sistemas expertos para la clasificación de
estrellas de luminosidades I, III y V [9]. Los resultados obtenidos nos han
llevado a extender estos sistemas a estrellas de todos los niveles de
luminosidad y a agregar nuevas técnicas, tales como redes neuronas
artificiales y algoritmos estadísticos de agrupación, para refinar el
tratamiento automático de los espectros.
297
Nuestro objetivo actual no es implementar de nuevo modelos o
técnicas que ya han demostrado su conveniencia en este problema, sino
combinar todas las técnicas en una herramienta única de clasificación.
Proponemos la formalización de un sistema híbrido capaz de determinar el
método de clasificación más apropiado para cada tipo de espectro, y de
obtener clasificaciones MK on-line a través de una base de datos estelar en
Internet (http://starmind.tic.udc.es).
Esquema general del sistema
El sistema de clasificación automática que se propone incluye dos
módulos diferentes: un analizador espectral y un clasificador automático. En
la figura 2 se muestran los diferentes componentes del sistema para la
clasificación automática de espectros estelares.
El analizador espectral (módulo de análisis) lleva a cabo un análisis
morfológico exhaustivo de los espectros, usando técnicas de procesamiento
de señales, obteniendo como resultado una parametrización numérica de
cada espectro. Este analizador se ha desarrollado en Builder C++ [10] e
integra componentes ActiveX ad hoc para la visualización de los espectros.
El módulo de análisis recupera los datos astronómicos de una base
de datos relacional que almacena y estructura toda la información
disponible. Esta base de datos se ha implementado mediante el gestor
PostgreSQL bajo Linux [11] Actualmente, hay aproximadamente 400
espectros almacenados en la base de datos, y pronto serán accesibles a
través de Internet.
298
ANÁLISIS
Espectros
BD
Preprocesado
+
Análisis Morfológico
Espectro
completo
Parámetros
espectrales
CLASIFICACIÓN
Clasificación
espectral
Sistemas Expertos
+
Redes de Neuronas
Artificiales
Figura 2: Esquema general del sistema de clasificación propuesto
El clasificador estelar se basa en el desarrollo de las diferentes
técnicas de inteligencia artificial elegidas para esta aproximación a la
clasificación MK de los espectros. Las entradas de este módulo están
constituidas por los espectros completos que se pretenden clasificar y por
los parámetros obtenidos mediante el analizador espectral. Las redes de
neuronas artificiales se implementaron utilizando el simulador SNNS [12] y
los sistemas expertos se desarrollaron utilizando OPS/R2 [13].
Actualmente estamos desarrollando una aplicación para permitir que
el clasificador estelar pueda utilizarse a través de Internet, ya que nuestro
299
propósito principal es permitir a todos los usuarios que lo deseen clasificar
sus espectros on-line de forma rápida, eficiente y cómoda.
Las secciones siguientes describen los diferentes módulos que
integran el sistema final de clasificación automática de espectros estelares.
Análisis morfológico
El módulo de análisis realiza el preprocesado y análisis morfológico
exhaustivo de los espectros estelares mediante técnicas de procesado de
señales, ya que se considera para estos efectos que los espectros son señales
que relacionan longitud de onda y flujo.
En este estudio morfológico de los espectros, se detectan y miden los
parámetros espectrales que se utilizan en los procesos de clasificación
manual. Estos parámetros pueden agruparse en tres tipos generales:
x
Líneas de absorción y emisión: incluyendo hidrógeno, helio y
algunas líneas metálicas (Ca, K, Fe, etc.)
x
Bandas moleculares: bandas de absorción de hidrógeno y
carbono, titanio, etc.
x
Relaciones entre intensidades de líneas: ratios CH-K, He-H, etc.
La tabla 2 muestra las 25 características espectrales que se detectan y
miden a través de los algoritmos implementados en el módulo de análisis
morfológico.
300
Parámetro espectral
Banda 1
Banda 2
Banda 3
Banda4
Banda 5
Banda 6
Banda 7
Banda 8
Banda 9
Linea Ca II (K)
Linea Ca II (H)
Linea CH band
Linea H IȖ
Linea H Iį
Linea He I
Linea He II
Linea H Iȕ
Linea H IĮ
Bandas principales
Bandas Secundarias
Descripción
5005 r 055 Å
6225 r 150 Å
4435 r 070 Å
5622 r 180 Å
5940 r 135 Å
6245 r 040 Å
6262 r 130 Å
6745 r 100 Å
7100 r 050 Å
3933 Å
3968 Å
4300 Å
4340 Å
4102 Å
4026 Å
4471 Å
4861 Å
6563 Å
¦
¦
i 2
i 1
i 9
i 3
Ratio K-H
Ratio CH- H IȖ
Ratio H Iį - HeI
Ratio H Iį - HeII
Energía espectral
Bandai
Bandai
Ca II K / Ca II H
CH band / H IȖ
H Iį / He I
H Iį /He II
Integral del flujo
Tabla 2: Parámetros de la clasificación espectral
301
Los parámetros espectrales descritos en la tabla anterior se obtienen
mediante algoritmos de procesado de señales, basados fundamentalmente en
la estimación del continuo local de las líneas de absorción / emisión, y en el
cálculo de la energía de las bandas moleculares.
Una línea de absorción es un pico descendente (ascendente si se trata
de líneas de emisión) que aparece en una zona de longitud de onda
preestablecida en los espectros. Con el objetivo de calcular apropiadamente
la intensidad de cada línea, se ha realizado una estimación del continuo
local para cada una de ellas; para ello, se suaviza la señal con un filtro paso
bajo, excluyendo los picos o desviaciones en un intervalo alrededor de la
longitud de onda en la que se espera encontrar el pico de absorción o
emisión. Este filtro se ha implementado mediante el método de media móvil
de 5 puntos, seleccionado los 5 flujos más estables del intervalo. Esto es,
Cj
§
¨
¨
¨
¨
¨
¨
¨
¨
¨
¨
¨
©
j n
·
¸
¦ Ei *Xi ¸¸¸
j n
N
¸
¸
¸
¸
¸
¸
¸
¹
,
(1)
dónde Cj es la estimación del continuo para la muestra j, Ei es el
flujo en la muestra i, N es el número de valores utilizados en el método de
medias móviles para calcular el continuo local, y X es un vector binario que
indica los flujos representativos del continuo local de la zona espectral
tratada. Por lo tanto, si Ei es un valor de flujo representativo del continuo
local Xi será 1, y si Ei es un pico el valor de Xi será 0.
302
La intensidad de cada línea de absorción se obtiene calculando la
desviación del flujo con respecto al continuo local estimado. De esta forma,
la intensidad será positiva para las líneas de absorción y negativa para las de
emisión.
Desde un punto de vista morfológico, una banda molecular es una
zona espectral donde el flujo energético decrece repentinamente con
respecto al continuo local y se mantiene durante un intervalo de longitud de
onda amplio. Para tratar morfológicamente las bandas moleculares
solamente es necesario medir su energía para decidir si son lo
suficientemente significativas en cada espectro. En este caso, se calcula el
área que comprende cada banda mediante la integral discreta del flujo entre
los extremos de la misma. Esto es,
r
Blr
r
³L O ³E O
i
l
i
,
(2)
l
dónde Blr es el área de la banda entre las muestras l y r, L es la línea
de proyección de la banda sobre el eje de abscisas, E es la función del flujo,
Ȝ la longitud de onda, l el límite izquierdo de la banda y r el límite derecho.
Sistemas expertos
La primera estrategia de clasificación de espectros estelares de forma
automática consiste en la implementación de un sistema experto en el que se
han integrado técnicas de sistemas basados en el conocimiento y lógica
303
difusa, obteniendo una emulación satisfactoria del actual proceso de
clasificación manual descrito previamente. El sistema final clasifica
espectros estelares con una tasa de acierto similar al porcentaje de acuerdo
entre los expertos humanos que han clasificado manualmente los espectros
(aproximadamente 80%).
Previamente al diseño del sistema experto, se ha realizado un estudio
de la sensibilidad de los parámetros espectrales elegidos para la
clasificación, con el fin de definir y delimitar correctamente los diferentes
conjuntos difusos, variables y funciones de pertenencia. En este estudio se
han analizado los parámetros espectrales de los catálogos utilizados como
referencia en la clasificación manual, utilizando los algoritmos de análisis
morfológico descritos para medir y detectar líneas de absorción y bandas
moleculares.
Los resultados de este análisis nos llevaron a determinar los
diferentes tipos espectrales que cada parámetro es capaz de discriminar.
Algunos parámetros, que a priori parecían ser adecuados, se descartaron
debido a su pobre capacidad para discriminar entre tipos. Asimismo, se
incluyeron otros parámetros que no se tratan explícitamente en la
clasificación manual, como por ejemplo las suma de la energía de las
bandas.
Finalmente, el análisis de sensibilidad de los parámetros de
clasificación determinó las variables difusas que se utilizarían en el diseño
del sistema experto (clasificación global, tipo espectral y subtipo espectral)
para cada clase de luminosidad. Además, se definieron también en esta fase
304
los diferentes conjuntos difusos y funciones de pertenencia obtenidos del
análisis morfológico de los espectros del catálogo de referencia para la
clasificación manual.
El sistema experto desarrollado almacena en la base de hechos la
información necesaria para iniciar el proceso de razonamiento. Este
conocimiento descriptivo (nombre del espectro, medidas de los parámetros
espectrales, etc.) se representa por medio de frames [14], i. e. objetos y
propiedades estructurados por niveles. Se eligió este modelo de
representación debido a que es el más sencillo y adecuado para transferir los
resultados del análisis morfológico al módulo de clasificación, permitiendo
además realizar una equivalencia entre datos y conocimiento.
Los parámetros reales de clasificación y los valores limítrofes de
cada tipo o subtipo espectral se incluyeron en el sistema experto en forma
de reglas difusas. La base de reglas es la parte del sistema en la que se
reproducen los criterios procedentes de la experiencia de los expertos
humanos en el campo de la clasificación espectral.
En cuanto al tipo de reglas, hemos seleccionado reglas de producción
IF-THEN, ya que permiten manejar la imprecisión e incertidumbre que
caracterizan al razonamiento humano en este campo.
Las condiciones de estas reglas hacen referencia a los parámetros
espectrales almacenados en la memoria de trabajo (instancia en cada
momento de la base de hechos).
305
Las conclusiones aluden a los tres niveles de clasificación espectral
deseados: global (estrellas tempranas, intermedias o tardías), tipo espectral
y luminosidad.
La estrategia de selección de reglas elegida es la Means-End
Analysis (MEA) [15]. Esta estrategia selecciona entre todas las reglas
posibles aquellas que se han incorporado más recientemente a la memoria
de trabajo y que contienen un número de patrones más elevado.
Las reglas de producción se encadenan utilizando razonamiento
hacia delante y con una estrategia guiada por los objetivos que se desean
alcanzar (los tres niveles de clasificación sucesivos). Se combinan métodos
de razonamiento guiado con un método basado en valores de verdad, puesto
que cada regla lleva asociado un factor de credibilidad que se asignó de
acuerdo a la experiencia de los expertos que realizan el proceso de
clasificación espectral de forma manual.
Utilizando como punto de partida la metodología clásica de
Shortliffe y Buchanan [1], se ha llevado a cabo una evolución que incluye
conjuntos difusos y funciones de pertenencia contextualizados para cada
tipo espectral, permitiendo la superposición entre ellos. En cuanto a la
inferencia, se utiliza el método Max-product, que combina la influencia de
todas las reglas activas y proporciona una salida continua. En nuestra
estrategia, los factores de credibilidad de cada regla se han considerado
como valores de verdad. Finalmente, se utiliza el método del centroide
difuso para obtener las salidas de cada conjunto de reglas activo. La
306
clasificación de las estrellas se obtiene con un grado de confianza,
determinado por la probabilidad de cada salida.
Esta estrategia mixta, que combina reglas de producción clásicas con
conjuntos difusos y funciones de pertenencia, ha logrado adaptarse de forma
más adecuada al tipo de razonamiento humano en este campo,
permitiéndonos tratar de forma más adecuada la imprecisión e
incertidumbre implícitas en el proceso de clasificación manual.
Esta primera técnica del módulo de clasificación se desarrolló
utilizando OPS/R2 [13], integrándolo con el analizador espectral mediante
librerías de enlace dinámicas (DLL).
Redes de neuronas artificiales
La segunda técnica implementada en el módulo de clasificación es
redes de neuronas artificiales, pertenecientes tanto a modelos de aprendizaje
supervisado como no supervisado. En concreto se utilizaron redes
Backpropagation, Kohonen y RBF (Radial Basis Functions) [16].
Los patrones de entrenamiento, validación y prueba de estas redes se
obtuvieron de forma automática añadiendo las funciones necesarias al
analizador espectral. Las entradas de las redes están formadas tanto por los
valores de los parámetros de clasificación (líneas y bandas principalmente),
como por los valores de flujo de zonas espectrales completas.
307
Las redes de neuronas se diseñaron, implementaron y validaron
utilizando el simulador SNNS [12].
Tipo de red
Patrones de entrada
Capas ocultas
BP Tipo espectral
Parámetros espectrales
10
BP Tipo espectral
Parámetros espectrales
5x5
BP Tipo espectral
Parámetros espectrales
10x10
BP Tipo espectral
Parámetros espectrales
10x5x3*
BP Tipo espectral
659 valores de flujo
100x50x10x3
BP Luminosidad
Parámetros espectrales
10x10
BP Luminosidad
659 valores de flujo
100x50x10x3
RBF Tipo espectral
Parámetros espectrales
16
RBF Tipo espectral
Parámetros espectrales
8*
RBF Tipo espectral
Parámetros espectrales
4
RBF Tipo espectral
659 valores de flujo
124
RBF Luminosidad
Spectral parameters
8
RBF Luminosidad
659 valores de flujo
124
Kohonen Tipo espectral
Parámetros espectrales
2x2
KohonenTipo espectral
Parámetros espectrales
12x12*
Kohonen Tipo espectral
Parámetros espectrales
24x24
Kohonen Luminosidad
Parámetros espectrales
2x2
Tabla 3: Topologías implementadas para las redes Backpropagation
(BP), Kohonen y RBF
308
En la tabla 3 se muestran las diferentes topologías implementadas
para los tres modelos de redes elegidas.
La red backpropagation que alcanzó unos resultados más
satisfactorios se corresponde con una red entrenada con 25 parámetros
espectrales en la capa de entrada y tres capas ocultas de 10, 5 y 3 neuronas.
Los mejores resultados para las redes Kohonen se alcanzaron con un mapa
bidimensional de 12x12 unidades. Las redes RBF que alcanzaron un
rendimiento mayor se corresponden con una topología formada con 25
neuronas en la capa de entrada (parámetros espectrales) y una capa oculta
de 8 neuronas. En la tabla anterior las topologías que obtuvieron un mejor
rendimiento se muestran marcadas con *.
Una vez implementadas ambas técnicas de clasificación espectral, se
realizó un estudio adicional consistente en optimizar el sistema experto
implementado utilizando los resultados obtendios por las redes de neuronas
en su mejor implementación. Para ello, se analizaron los pesos de las
neuronas de la capa de salida con el fin de determinar para cada tipo
espectral los parámetros de entrada que presentaban una mayor influencia
en la salida. Los valores normalizados de estos pesos se incluyeron en el
sistema experto en forma de factores de credibilidad de las reglas afectadas
para cada tipo y subtipo espectral.
Con esta modificación del sistema de reglas se alcanzó un aumento
significativo del rendimiento del sistema experto original.
309
Resultados
Para realizar un estudio comparativo de las técnicas de inteligencia
artificial seleccionadas para abordar el problema de la clasificación
espectral, se seleccionaron 100 espectros de diferentes tipos y
luminosidades. La figura 3 muestra el comportamiento de las diferentes
técnicas y el de dos de los expertos humanos en espectroscopia que
colaboran en este proyecto.
100%
Experto Humano A
80%
Experto Humano B
60%
Sistemas Expertos
40%
Backpropagation
20%
RBF
0%
Kohonen
Tipo
Luminosidad
Figura 3: Rendimiento final para 100 espectros
Las redes backpropagation y RBF han obtenido una tasa de éxito de
aproximadamente el 95% para los tipos espectrales. El modelo de Kohonen
obtuvo un bajo rendimiento en todas sus implementaciones, lo cual puede
deberse al tamaño insuficiente del conjunto de entrenamiento puesto que
este tipo de red necesita agrupar los datos por sí misma extrayendo
similitudes entre ellos.
310
Los sistemas expertos, si bien han resultado de gran utilidad para
realizar la clasificación inicial de los espectros, obtienen unas tasas de
acierto inferiores a las de las redes de neuronas.
Enfoque híbrido
En las secciones anteriores se han tratado dos métodos diferentes
para obtener clasificaciones MK de los espectros estelares. Nuestro enfoque
híbrido consiste en seleccionar aquellas técnicas que han obtenido un mejor
rendimiento para cada nivel de clasificación e integrarlas en una única
herramienta capaz de clasificar espectros estelares automáticamente y de
forma eficiente.
El sistema final propuesto se basa principalmente en un sistema
experto inicial que determina la clasificación global de cada estrella
(temprana, intermedia o tardía) y que, de acuerdo a ella, envía los espectros
a las redes de neuronas específicas más adecuadas para obtener el tipo
espectral y la luminosidad. La clasificación del sistema experto se utiliza,
como información adicional, en aquellos casos en los que los otros métodos
no son capaces de discriminar.
En la figura 4 se muestra la interfaz gráfica de este enfoque híbrido.
A través de esta herramienta de clasificación única, los usuarios pueden
seleccionar, visualizar, analizar y clasificar tantos espectros como deseen de
forma rápida, cómoda y sencilla.
311
Figura 4: Interfaz del sistema final
Conclusiones
En este capítulo se ha propuesto una estrategia híbrida para abordar
el problema de la clasificación MK de las estrellas. Se ha desarrollado un
sistema capaz de analizar morfológicamente y clasificar automáticamente
los espectros ópticos de las estrellas.
El sistema implementado combina técnicas de procesado de señales
con sistemas expertos y redes de neuronas artificiales.
Las técnicas de clasificación descritas han obtenido, en sus mejores
versiones, una tasa de acierto de aproximadamente el 95% para un conjunto
312
de prueba de 100 espectros. Este rendimiento significa un aumento del 10%
respecto a las clasificaciones manuales realizadas por expertos del campo de
la astrofísica.
Finalmente, las técnicas de inteligencia artificial implementadas se
han integrado en un sistema híbrido capaz de seleccionar el mejor método
de clasificación para cada tipo de espectro, lo cual permite un mayor grado
de adaptación al problema.
Actualmente estamos analizando los modelos de redes funcionales
para determinar si son aplicables a la clasificación MK de espectros
estelares. Asimismo, estamos desarrollando un web site para permitir que
las clasificaciones automáticas se realicen on-line de forma rápida y
eficiente.
Bibliografía
[1]
Buchanan, B., Shortliffe, E., 1984. “Ruled-based Expert Systems”.
Adisson-Wesley.
[2]
Zombeck,
M.V.,
1990.
“Handbook
of
Astronomy
and
Astrophysics”. 2nd. Ed. Cambridge University Press.
[3]
Morgan, W.W., Keenan, P.C., Kellman, E., 1943. “An Atlas of
Stellar Spectra with an outline of Spectral Classification”.
University of Chicago Press.
313
[4]
Silva, D.R., Cornell, M.E., 1992. “A New Library of Stellar Optical
Spectra”. The Astrophysical Journal Suppl., vol 81 (2), pp. 865881.
[5]
Pickles, A.J., 1998. “A Stellar Spectral Flux Library. 1150-25000
Å”, Publications of the Astronomical Society of the Pacific., vol.
110, pp. 863-878.
[6]
Jacoby, G.H., Hunter, D.A., Christian, C.A., 1984. “A Library of
Stellar Spectra”. The Astrophysical Journal Suppl., vol. 56, pp.
257-281.
[7]
Weaber, W., Torres-Dodgen, A., 1995. “Neural Networks
Classification of the near-infrared spectra of A-type Stars”. The
Astrophysical Journal, vol. 446, pp. 300-317.
[8]
Gulati, R.K., Singh, H.P., 1998. “Stellar Classification using
Principal Component Analysis and Artificial Neural Networks”.
Monthly Notices Royal Astronomical Society, vol. 295 (2), pp.
312-318.
[9]
Rodriguez, A., Arcay, B., Dafonte, C., Manteiga, M., Carricajo, I.,
2004. “Automated knowledge-based analysis and classification of
stellar spectra using fuzzy reasoning”. Expert Systems with
Applications, vol. 27 (2), pp. 237-244.
314
[10]
Hollingworth, J., Butterfield, D., Swart, B., Allsop, J., 2000. “C++
Builder 5.0. Developer's Guide”. SAMS.
[11]
Momjiam, B., 2000. “PostgreSQL, Introduction and Concepts”.
Adisson-Wesley.
[12]
SNNS, 2001. Stuttgart Neural Network Simulator, Web:
http://www-ra.informatik.uni-tuebingen.de/SNNS/.
[13]
Forgy, C.L., 1986. “The OPS User's Manual, System Version 2.2”.
Production Systems Technologies Inc.
[14]
Sowa, J.F., 1999. “Knowledge Representation: Logical and
Computational”. Brooks Cole Publishing Co.
[15]
Valette-Florence, P., 1994. “Introduction to Means-End Chain
Analysis”. Rech. Appl. Mark, vol. 9, pp. 93-117.
[16]
Haykin,
S.,
1994.
“Neural
Networks.
Foundation”. MacMillan College Pub.
315
A
Comprehensive
BIOINFORMÁTICA: Genética e
Informática
José Mª Barreiro, Juan Pazos1, Alfonso Rodríguez-Patón y Andrés Silva
Facultad de Informática
Universidad Politécnica de Madrid
Email: jpazos@fi.upm.es1
Introducción
Las relaciones, mutuas y de doble dirección, entre la genética y la
informática, vienen de antiguo y son, como se muestra en la tabla 1, más
variadas, estrechas y profundas de lo que a primera vista pudiera parecer.
De la genética a la informática, quizás la aportación más conocida sea la
computación evolutiva cuyos representantes más conspicuos son los
algoritmos y programas genéticos así como las estrategias evolutivas,
algoritmos y los programas genéticos como medios de búsqueda. De la
informática a la genética están los autómatas reproductores y el descifrado
del código genético, como más relevantes. Por ello, en el apartado 3, se van
a describir los autómatas reproductores de von Neumann. A continuación,
en los puntos 4 y 5 se van a considerar, respectivamente, el código genético
y el enfoque de Deutsch. Posteriormente, en el punto 6, se introducirá el
concepto de prueba de F2 que se utilizará para, en el punto 8, establecer la
conjetura o hipótesis de trabajo conclusión central del trabajo.
317
INFORMÁTICA VERSUS GENÉTICA
De la Genética a la Informática
De la Informática a la Genética
Natural Computation (NC) { Evolutionary
1940
Computation (EC) [Genetics Algorithms (GA)
doctoral titulada "Un álgebra para la Genética
+ Evolution Strategies (ES) + Evolutionary
Teórica".
Shannon presenta una disertación
Programming (EP)] + Neural Networks (NN)
1944
+ Genetic Programming
Erwin Schrödinger, conjetura la
existencia del código genético.
Fogel, Owens y Walsh, establecen como
pueden evolucionar autómatas de estado finito
John Von Neumann, estableció los principios a
mediante transformaciones unitarias y dos
partir de los cuales una máquina podía
operadores genéticos: selección y mutación.
autorreproducirse.
Rechenberg define las estrategias evolutivas
Crick, dio afortunada pero erróneamente, el
de poblaciones de máquinas de estados finitas.
nombre de código genético al pequeño
diccionario que muestra la relación entre las
Holland y discípulos definen los algoritmos
cuatro bases que componen el ADN y los
genéticos.
veinte aminoácidos que son las letras del
lenguaje de las proteínas.
1992
Koza propone usar la técnica de
computación evolutiva par encontrar el mejor
John G. Kemeny, define las características de
procedimiento
la reproducción de máquinas y como podría
para
resolver
problemas
generando así la programación genética.
realizarse.
Michalewitz
Lionel
establece
los
programas
S.
Penrose
and
Roger
Penrose,
evolutivos como una forma de representación
basándose en los trabajos de Homer Jacobson y
natural de los AA. GG. Y operadores
Kemeny, abordaron los problemas mecánicos
genéticos sensibles al contexto.
de la autorreproducción.
1982 Tipler dio una justificación para el uso de
autómatas autorreproductores.
Tabla 1: Relación entre la informática y la genética
318
Computación evolutiva
La computación evolutiva forma parte de un conjunto de métodos de
resolución de problemas que remedan, con mayor o menor exactitud,
procesos naturales, como las Redes de Neuronas o la solidificación
simulada. Todas ellas se engloban bajo el epígrafe de “Computación
Natural“ (CN), y que, en forma de ecuación, puede expresarse como sigue:
CN (Computación Natural) = CE (Computación evolutiva) + RR.NN
(Redes de Neuronas) + Programación Genética
CE (Computación Evolutiva) = AA.GG (Algoritmos Genéticos) +
EE (Estrategias Evolutivas) + PE (Programación Evolutiva)
Y que se consideraran más en detalle a continuación.
Pese a lo que pudiera parecer, al menos a simple vista, el desarrollo
de la CN no se debió tanto a discusiones académicas, cuanto a la necesidad
de resolver problemas cada vez más complejos en múltiples campos del
conocimiento, para los que las técnicas clásicas de búsqueda determinista o
analíticas no suelen ser de gran utilidad. Esto obligó, a desarrollar nuevos
enfoques menos analíticos y más sintéticos.
En este sentido, la “Computación Evolutiva” (CE) es un enfoque
alternativo dentro de la CN, para abordar problemas complejos de
“búsqueda”, “optimización” y “aprendizaje” a través de modelos
computacionales, cuya implantación concreta recibe el nombre de
319
“Algoritmo(s) Evolutivo(s)” (AE), de procesos evolutivos. Dicho de otro
modo, la CE trata de desarrollar mecanismos estocásticos de búsqueda en
paralelo con los que sustituir o mejorar las técnicas clásicas de búsqueda
determinista cuando éstas no existen o no son buenas.
Los términos “búsqueda” y “optimización” son dos aspectos del
mismo concepto o, si se prefiere, son como las dos caras de la misma
moneda. La diferencia entre ellos estriba en que con el término “búsqueda”
se enfatiza el proceso en sí, mientras que al decir “optimización” se hace
hincapié en el resultado del proceso.
Quede claro que no se persigue una “emulación” de los procesos
naturales; pues, a lo sumo, lo que se pretende es una simulación de los
mismos o, más estrictamente, llevar a cabo, por analogía, una metáfora de
los mismos. Por eso un AE será tanto mejor cuanto mejores resultados
proporcione en la resolución del problema planteado, independientemente
de su fidelidad con la biología. De hecho, la mayoría de estos algoritmos
son excesivamente simplistas desde un punto de vista biológico, pero lo
suficientemente complejos como para proporcionar mecanismos de
búsqueda potentes y robustos.
Más precisamente, se denomina AE a cualquier procedimiento
estocástico de búsqueda basado en el principio de evolución, cuya finalidad
última es “la supervivencia del más apto” y la forma de conseguirla es
mediante la “adaptación al entorno”. Para llevarlo a cabo un AE debe
disponer, como se muestra en la figura 1, de:
320
Una población de posibles soluciones debidamente representados a
través de “individuos”.
Un procedimiento de “solución” basado en la “aptitud de los
individuos".
Un método de “transformación”; esto es, de construcción de nuevas
soluciones a partir de las actualmente disponibles.
Figura 1: Esquema general de un AE
Más concretamente, al ejecutar un AE una población de individuos,
que representa a un conjunto de candidatos a soluciones de un problema, es
sometida a una serie de transformaciones con las que se actualiza la
búsqueda y después a un proceso de selección que favorece a los mejores
individuos. Cada ciclo de “transformación-selección” constituye una
generación. Se espera que el AE, tras un cierto número de iteraciones; es
decir, generaciones, consiga el mejor individuo que esté razonablemente
próximo a la solución buscada.
321
Sobre
este
esquema
general
se
han
desarrollado
varias
implantaciones fundamentales siguientes:
Algoritmos Genéticos. Los algoritmos genéticos, en adelante AA.GG
en plural y AG en singular, son una familia de modelos computacionales
inspirados en la evolución. Estos algoritmos codifican una solución
potencial para un problema específico en una estructura de datos sencilla
similar a un cromosoma y aplicando operadores de recombinación sobre esa
estructura para preservar información crítica. Los AA.GG son a menudo
vistos como funciones de optimización aunque el rango de problemas en los
que son aplicados es bastante amplio. Una implementación de un AG
comienza con una población (normalmente aleatoria) de cromosomas.
Entonces se evalúan estas estructuras y se localizan oportunidades de
reproducción de forma que los cromosomas, que representan una mejor
solución para el problema etiquetado, consiguen más cambios en su
reproducción que aquellos cromosomas que tienen soluciones peores. La
"bondad" de una solución se define típicamente en relación con la población
actual.
Esta particular descripción de un AG es intencionadamente abstracta
porque en el mismo sentido, el término AG tiene dos significados. En un
sentido estricto, el algoritmo genético se refiere al modelo introducido e
investigado por Holland (1975) y por sus alumnos (Dejong, 1975). Este es
todavía el caso de la mayoría de teorías existentes de los AA.GG aplicados,
aisladamente o primariamente, sobre el modelo introducido por Holland, así
como sus variantes, que han sido denominados, AA.GG canónicos. En los
avances teóricos recientes sobre modelos de AA.GG también, se aplican
322
principalmente AA.GG canónicos. En un uso más amplio del término, un
AG es un modelo basado en poblaciones que usan operadores de selección y
recombinación para generar nuevos ejemplos de puntos en el espacio de
búsqueda. Desde una perspectiva computacional, los AA.GG, hacen
evolucionar
una
población
de
enteros
binarios
sometiéndolos
a
transformaciones unitarias y binarias genéricas y a un proceso de selección.
En general, se puede decir que los AA.GG son métodos estocásticos
(referidos tanto a las fases de selección como de transformación), de
búsqueda ciega (no disponen de conocimiento específico del problema),
codificada (no trabajan directamente sobre el dominio del problema, sino
sobre representaciones de sus elementos), múltiple y paralela (esto es,
buscan simultáneamente entre un conjunto de candidatos). Todo ello
(Golberg, 1989) para proporcionar una robustez a la búsqueda; es decir,
para
darle
más
eficiencia
sin
perder
generalidad
y
viceversa.
Tradicionalmente, la característica global más importante de un método de
búsqueda es su “fortaleza”. Ésta se mide en términos de eficiencia: Un
método es tanto más fuerte cuanto más eficientemente lleve a cabo su tarea.
Ahora bien, un postulado fundamental de la teoría de la optimización,
afirma que la eficiencia y la generalidad son objetivos contrapuestos; es
decir, cuanto más eficiente sea un método, menor número de problemas será
capaz de resolver y viceversa. Los métodos deterministas y heurísticos son
los más eficientes, pero los menos generales. Esto llevó a plantear la
siguiente cuestión: Admitiendo que para los procedimientos tradicionales de
búsqueda la relación eficiencia “versus” generalidad es inevitablemente
constante, ¿existen otros procedimientos de búsqueda para los que dicha
323
relación sea mayor?. Esto llevó a cuestionar el papel fundamental otorgado
a la “fortaleza" para evaluar la calidad de un método de búsqueda e
introducir una nueva “ratio” para los métodos de búsqueda denominada
“robustez”. De este modo, se dice que un método es tanto más robusto
cuanto mayor sea la relación eficiencia u generalidad. Para lo cual ha sido
necesario relativizar las exigencias de fortaleza y aprovechar las buenas
cualidades en términos de robustez que proporcionan el no-determinismo y
la “opacidad”, o sea, la no-utilización de conocimiento específico.
Sin embargo, la característica esencial de los AA.GG, que no se
observa directamente, es su capacidad de intercambio estructurado de
información en paralelo o abreviadamente su “paralelismo implícito”. De
modo intuitivo, esta característica se refiere a que los AA.GG procesan
externamente cadenas de códigos; sin embargo, lo que se está procesando
internamente son similitudes entre cadenas y de manera tal que al procesar
cada una de las cadenas de la población se están procesando a la vez todos
los patrones de similitud que contienen, que son muchos más. Es
precisamente por esta propiedad por lo que los AA.GG son mucho más
eficientes que otros métodos de búsqueda ciega, y por tanto son más
robustos con independencia de otras consideraciones.
Programas Evolutivos. Aquí se hace evolucionar una población de
estructuras de datos sometiéndolas a una serie de transformaciones
específicas y a un proceso de selección. En efecto, ante la debilidad
intrínseca de los AA.GG, básicamente debidos a su ceguera o codificación
para la búsqueda, Michalewiez (1994) propuso una estrategia de
324
incorporación directa del conocimiento específico del problema por su base:
La representación. En efecto, con el fin de obtener la máxima generalidad y
el máximo grado de paralelismo implícito, se exige a los AA.GG que
efectúen la representación de la población a través de cadenas binarias. Sin
embargo, esta representación es tan rígida en la práctica que merece la pena
considerar otras más flexibles aún a costa de perder algo de generalidad y
paralelismo implícito. A fin de cuentas, una “representación directa” tan
solo precisa información genérica, por lo que las consecuencias prácticas de
pérdida de generalidad no serán muy grandes; por otra parte, existe la
posibilidad de compensar la pérdida de paralelismo implícito procesando
más información útil; es decir, de compensar la violación del principio del
“alfabeto de símbolos mínimo“ dando más importancia al principio de los
“bloques constructivos con significado”.
Justamente a las implantaciones que resultan de ese enfoque se les
denomina “Programas Evolutivos” que comparten punto por punto la
estructura básica de los AA.GG, distinguiéndose de éstos solamente en el
nivel interno por el uso de, por una parte, una representación lo más natural
posible; esto es, próxima al dominio del problema que, además, sea útil a lo
que es lo mismo significativa para el problema que se va a resolver; y, por
otra, operadores genéticos específicos “sensibles al contexto”; esto es,
adaptables al dominio, y lo más cerrados posibles.
Estrategias Evolutivas (EE). En este caso se hace evolucionar una
población de máquinas de estados finitos sometiéndolas a transformaciones
unitarias. Dichas estrategias, surgieron, a partir de los trabajos de
Rechenberg (1973) y Schwefel (1975), como métodos estocásticos de
325
escalada con paso adaptativo, específicamente diseñados para resolver
problemas de optimización paramétrica. Con el paso del tiempo, fueron
incorporando procedimientos propios de la computación evolutiva hasta
convertirse en un paradigma más de dicho enfoque. Actualmente, las EE
son algoritmos evolutivos enfocados preferentemente hacia la optimización
paramétrica que emplean una representación a través de vectores reales,
selección determinista y operadores específicos de mutación y cruce, el cual
ocupa ahora un lugar secundario respecto a la mutación. Las EE son el
enfoque más fuerte, es decir, más específico, de la CE; sin embargo,
mantienen la filosofía de las “cajas negras” y operadores ciegos.
Dos ejemplos de EE, son el (P + O) - EE y (P , O) EE. En el primero,
P padres producen O descendientes; entonces la población se reduce de
nuevo a P padres al seleccionar las mejores soluciones entre ambos, los
padres u y descendientes. De este modo, los padres sobreviven hasta que
son reemplazados por mejores soluciones. El segundo, es decir, (P , O) EE,
es más próximo al modelo generacional usado en AA.GG canónicos; la
descendencia reemplaza a los padres y luego se realiza la selección. Los
operadores de recombinación para estrategias evolutivas también tienden a
diferir del estilo Holland, permitiendo operaciones tales como ponderación
de parámetros, por ejemplo, crear un descendiente.
Las EE pueden ser simples; esto es de dos miembros, que en puridad
no son métodos evolutivos propiamente dichos, y múltiples que sí son
métodos evolutivos.
326
Aunque en su origen las EE y los AA.GG surgieron, como acaba de
indicarse, de enfoques distintos y distantes, los sucesivos desarrollos de
ambos han hecho que convergieran hasta tal punto que actualmente una EE
puede considerarse como un tipo especial de AG, y viceversa,
distinguiéndose sólo en el uso de unos u otros procedimientos por defecto.
Con todo, algunas diferencias entre ambos son claras, como son las
siguientes:
Las EE son intrínsecamente más fuertes que los AA.GG; es decir,
requieren para su funcionamiento más conocimiento específico que los
AA.GG, los cuales son, por construcción, algoritmos de búsqueda de
propósito general.
El campo natural de aplicación de las EE son los problemas de
optimización paramétrica, el de los AA.GG la optimización de atributos.
Ello no quiere decir que no se puedan usar las EE para resolver problemas
combinatorios; pues siempre se pueden resolver dichos problemas
indirectamente, utilizando una codificación como la de las clases aleatorias
o, directamente, mediante EE específicas.
En los AA.GG, la clase de búsqueda está en los operadores genéticos
de recombinación (cruce), en las EE en los de alteración (mutación).
Por defecto, el criterio de reemplazo de los AA.GG es estocástico, en
las EE determinista. En ambos casos, se trata de mantener un nivel óptimo
de aleatoriedad frente al determinismo.
327
En las EE el tamaño de la descendencia está fijado de antemano, en
los AA.GG sólo está fijado su promedio a través de la tasa de cruce.
Además, en las EE todos los individuos son sometidos a mutación, la cual
es más drástica para unos individuos y menos para otros, según como sea el
vector de dispersiones; en los AA.GG, sólo unos pocos individuos son
sometidos a mutación, la cual es igual de drástica para ellos.
En las EE el tratamiento de los puntos no factibles se lleva a cabo
implícitamente mediante filtrado; en los AA.GG, requiere un tratamiento
específico. Además, en los AA.GG la técnica de filtrado de las soluciones
no factibles no es usual ni provechosa. De hecho, se usa muy poco, en las
EE da buenos resultados debido a la capacidad de autoajuste de los
parámetros evolutivos.
Los AA.GG son mecanismos de búsqueda preferentemente global;
es decir, tienen dificultades para el ajuste fino, con las EE sucede justo al
contrario.
Programación Evolutiva. La Programación Evolutiva está basada en
el primer libro de Fogel, Owens y Walsh (1966) titulada "Inteligencia
Artificial hacia la evolución simulada". Los individuos u "organismos", en
este estudio son maquinas de estado finitas. Los organismos resuelven
alguna función objetivo obteniendo la oportunidad de reproducirse. Los
padres son mutados para crear hijos. Esto adquirió un interés renovado en
Programación Evolutiva como se reflejó en 1992 en la Primera Conferencia
Anual sobre Programación Evolutiva (Fogel and Atmar, 1992).
328
En este enfoque, se hace evolucionar una población de máquinas de
estados finitos sometiéndolas a transformaciones unitarias, haciendo uso de
dos operadores genéticos: la selección y la mutación. Ésta realiza cambios
más o menos severos en la estructura de las máquinas de acuerdo con cierta
distribución. Aquella; esto es, la selección se hace por torneo o de modo
determinista. No se exige que el tamaño de la población sea constante, tan
sólo que cada individuo genere a lo sumo un descendiente para la próxima
generación.
Programación Genética. A principios de la década de los noventa del
pasado siglo, Koza (1992) propuso utilizar la técnica de la CE, no para
encontrar soluciones a los problemas, sino para encontrar el mejor
procedimiento con que resolverlos. Dicho de otro modo, las estructuras que
se someten a evolución no codifican las posibles soluciones a un problema,
sino algoritmos o programas que, al ejecutarse, determinan dichas
soluciones. Este enfoque se le conoce como “Programación Genética” (PG).
Para llevar acabo esta idea, el enfoque más adecuado es el de los
programas evolutivos. La representación de los individuos se hace mediante
unas estructuras de datos jerárquicamente enlazadas denominadas, árboles
de análisis, en inglés “parse trees”; la codificación utiliza un conjunto de
símbolos de función y otro de símbolos terminales adecuados para la
solución de problemas en el dominio de interés. La función de aptitud mide
la precisión de cada individuo al ejecutar una serie de ejemplos para los que
la solución es conocida de antemano. En cuanto a los operadores genéticos,
se usan los clásicos, adaptados para trabajar eficientemente con árboles de
análisis y otras representaciones específicas del enfoque. La PG se usa
329
principalmente para resolver problemas de aprendizaje artificial, aunque
también ha dado buenos resultados en la solución de ciertos problemas
combinatorios.
Autómatas reproductores
La primera aportación de las ciencias a la genética fue la disertación
doctoral de Claude E. Shanonn, el padre de la teoría de la información, en
1940, cuyo título fue "An Algebra for Theoretical Genetics" (Shannon,
1940). En dicha disertación, presentaba un álgebra especialmente deseable
para estudiar los problemas de las dinámicas de las poblaciones
mendelianas. Esta álgebra, trataba dichos problemas sólo a nivel de gen, lo
que, como se mostrará en este trabajo, no resulta suficiente, para entender el
código genético.
De la informática a la genética, la sin duda aportación más
espectacular, por su carácter premonitorio, fue la teoría de autómatas
reproductores de von Neuman; es decir, el construir modelos formales de
autómatas capaces de reproducirse. En efecto, von Neumann en el año 1948
pronunció una conferencia titulada "La teoría Lógica y General de los
Autómatas" (Von Neumann, 1951, 1963) donde estableció los principios de
cómo una máquina podría autorreproducirse. El procedimiento sugerido por
von Neumann se consideró en un primer momento más que nada como una
curiosa especulación lógico-matemática. Sin embargo, la visión de von
Neumann sobre la forma en que se reproducen los seres vivos; por otra
parte, en abstracto, más sencilla de los que pueda parecer, recibió un
330
espaldarazo, al confirmarse, cinco años después de su conferencia, cuando
Watson y Crick (1953(a)) encontraron el modelo de ADN.
Fue a partir de los años cincuenta cuando la Teoría de la Información
(en adelante TI), ejerció una notable influencia en biología, como por otra
parte, en otros muchos campos alejados del ámbito estrictamente
matemático. Y es justo a partir de esta fecha cuando una parte importante de
las ciencias de la vida incorpora en su acervo conceptos propios de la TI. En
efecto, toda la información necesaria para la génesis y desarrollo de la vida
de los organismos se encuentra en la secuencia de bases de las largas
cadenas de ADN. Sus instrucciones aparecen codificadas según un alfabeto
de cuatro letras A, T, C y G. Un texto formado por palabras escritas con
esas cuatro letras constituye la información genética de cada organismo
vivo. La existencia del código genético, que fue conjeturada en 1944 por el
premio Nobel de física Erwing Schrödinger (1944), fue puesta de
manifiesto nueve años más tarde, por James Watson y Francis Crick
(1953(a), (b)), ambos premios Nobel por dicho descubrimiento. En el
intermedio, en 1948, es cuando von Neumann estableció como una máquina
podía reproducirse.
Autorreproducción
Butler en su novela utópica "Erewhon", palabra que, en inglés, es la
imagen especular de "nowhere" que significa en ninguna parte, plantea la
posibilidad de que las máquinas utilicen a los hombres como intermediarios
para construir nuevas máquinas. En el siglo pasado, hubo muchos casos de
331
máquinas construidas por máquinas. Se utilizaban motores de vapor para
hacer otros motores de vapor, y las máquinas herramientas hacían todo tipo
de aparatos. Mucho antes de la era de la computadora, había máquinas
mecánicas y eléctricas que ayudaban a construir motores moldeando el
metal. La Revolución Industrial fue en gran parte posible gracias a la
intervención de máquinas-herramientas, máquinas, en otras palabras, que
estaban concebidas con la única finalidad de construir otras máquinas. Sin
embargo, los aparatos que sirven para hacer otros aparatos no son
exactamente el tipo de máquinas-herramientas en que pensaba el primer
ministro inglés Disraelí: "El misterio de los misterios es que las máquinas
hagan máquinas". Es decir, máquinas para construir otras máquinas, en las
que la intervención humana no existiera. Dicho de otro modo, máquinas que
se reproduzcan, o, si se quiere emplear un término menos controvertido, se
repliquen.
¿Cuál es el significado de la palabra reproducción? Como lo señaló
Kemeny (1955), si se entiende por ello la creación de un objeto igual al de
origen a partir de la nada, es evidente que una máquina no puede
reproducirse, pero tampoco un hombre podría hacerlo. Para que la
reproducción no viole el principio de conservación de la energía es preciso
disponer de cierta materia prima. El hecho característico de la reproducción
de la vida es que el organismo vivo es capaz de crear nuevos organismos
semejantes a él a partir de la materia inerte que le rodea. Si se acepta que las
máquinas no están vivas, y se insiste en el hecho de que la creación de vida
es una característica fundamental de la reproducción, el problema está
resuelto: una máquina es incapaz de reproducirse. Se reformula, pues, el
332
problema de modo que la reproducción de las máquinas no resulte
lógicamente imposible. Para ello es preciso suprimir la palabra "viviente".
Así, pues, se exigirá que la máquina sea capaz de crear un organismo nuevo,
semejante a ella, a partir de componentes sencillos que existan en su
entorno.
Desde 1948, los científicos sueñan con crear máquinas programadas
para producir réplicas de si mismas, estas réplicas producirían a su vez otras
réplicas, y así sucesivamente, sin límite alguno. En aquel año, se inició la
teoría que estableció los principios de cómo se podría conseguir semejante
proeza. Esta teoría posee dos aspectos, que se podrían denominar lógico y
mecánico, éste lo trataron, entre otros, Lionel y Roger Penrose (1974) y
aquí no se va a considerar. La parte lógica, que es lo que aquí y ahora
interesa, fue investigada en primer lugar por von Neumann en el Instituto
for Advanced Study de Pricenton. Allí y entonces, von Neumann indicó la
posibilidad de construir un dispositivo que tuviese la propiedad de
autorreproducirse. El método consistía en construir otra máquina
descriptible, y de aquí se seguía lógicamente que esta máquina llevaría una
especie de cola en la que iría incluido el código que describe la forma de
reproducir el cuerpo de la máquina y la forma de reproducir el propio
código. Según Kemeny (1955), colaborador de von Neumann, el cuerpo
básico de la máquina consistiría en una caja conteniendo partes
constituyentes, al que se le añadiría una "cola" en la que estarían
almacenadas las unidades de información. Desde el punto de vista
mecánico, se consideraba que las partes elementales, a partir de las que
debería construirse la máquina, eran rollos de cinta, lápices, gomas de
333
borrar, tubos de vacío, cuadrantes, células fotoeléctricas, motores, baterías y
otros dispositivos semejantes. La máquina montaría estas partes a partir de
la materia prima en torno a ella, organizándolas y transformándolas en una
reproducción de si misma. Puesto que el propósito de von Neumann era
resolver las condiciones lógicas del problema, las increíbles complicaciones
materiales de éste se dejaban de lado por el momento.
Aspecto lógico de la autorreproducción
La producción masiva de un gran número de ejemplares de un
mismo objeto por impresión o combinación de partes prefabricadas es algo
tan corriente que inmediatamente se podrían citar muchos ejemplos de ello.
El lector tiene ante sí mismo una prueba en el ejemplar del artículo en que
está leyendo estas palabras. Sin embargo, la idea de un objeto que se
reproduce a sí mismo está tan fuertemente asociada a los procesos
fundamentales de la biología que trae consigo sugerencias mágicas. En
efecto, la construcción de una máquina capaz de reproducirse a sí misma
podría ser considerada como imposible y perteneciente a la categoría de
objetos del tipo de los motores perpetuos. Sin embargo, en estos momentos,
los adelantos de la genética han llevado rápidamente a los biólogos a centrar
su atención en la estructura y función de las cadenas moleculares
autorreproductoras que, desde el núcleo de las células vivas, presiden todas
sus actividades funcionales. La estructura de estas cadenas de ácidos
nucleicos está muy estudiada, pero no así la teoría general de la
autorreproducción, de la que la duplicación de los ácidos nucleicos
constituye un caso particular.
334
Von Neumann simplificó el problema haciendo una serie de
hipótesis razonables. La primera de ellas es que no era importante que la
máquina fuera capaz de moverse, siendo suficiente el que poseyera un
mecanismo capaz de organizar su entorno empleando el control remoto. En
segundo lugar, suponía que el espacio estaba divido en celdas cúbicas, y que
cada parte de la máquina y cada fragmento de materia ocupaba
precisamente una celda. En tercer lugar, se suponía que el proceso estaba
cuantificado no solamente en cuando al espacio, sino también en cuanto al
tiempo; es decir, que existían ciclos y que a lo largo de ellos tenían lugar
todas las acciones. Ni siquiera resultaba necesario considerar tres
dimensiones, una red bidimensional era tan útil como una red de cubos.
El espacio consistirá entonces en una hoja muy grande, en principio
infinito, dividida en cuadrados. Una máquina ocupa un área conexa formada
por un número elevado de cuadrados y puesto que cada cuadrado representa
un elemento de la máquina, el número de cuadrados ocupados proporciona
una medida de la complejidad de la máquina. La máquina está rodeada de
celdas inertes, que deberá organizar. Para que esto sea factible, la máquina
deberá ser una combinación de "cerebro" y "músculo", puesto que no sólo
tiene que organizar la materia, sino también transformarla. De acuerdo con
esto, la máquina de von Neumann está formada por tres clases diferentes de
partes. Posee "neuronas", similares a las del sistema nervioso, que
constituyen el control lógico. Existen también celdas de transmisión, que
llevan mensajes a partir de los centros de control. Estas celdas poseen una
entrada, a través de la que reciben los impulsos, y una salida, por la que
pasa el impulso en el ciclo siguiente. Una serie de celdas de transmisión,
335
adecuadamente colocadas, forman la cadena a través de la que se transmiten
los mensajes. Además, la máquina tiene "músculos", encargados de
modificar las celdas que los rodean, bien para aumentar su grado de
complejidad o bien para destruirlas. Los cambios que tienen lugar son
análogos a los que tienen lugar en el cuerpo humano a causa de la
combinación de las acciones químicas y musculares. Su fin principal es el
de convertir las celdas inertes en partes de la máquina.
Al igual que en el sistema nervioso, la operación se desarrolla por
etapas: el estado de cada una de las celdas está determinado por su propio
estado y por el de las más próximas, ambos referidos al ciclo anterior. Las
neuronas y las celdas de transmisión pueden permanecer en reposo, o bien
enviar un impulso, caso de ser adecuadamente estimuladas. Las celdas
"musculares" reciben órdenes enviadas por las neuronas a través de las
celdas de transmisión, y reaccionan "matando" alguna parte indeseable, es
decir, convirtiéndola en inerte, o bien transformando alguna celda inerte del
entorno de la máquina en una parte específica de ella. Se ve que la
estructura de esta máquina es bastante similar a la de un animal superior. El
conjunto de sus neuronas forma el sistema nervioso central; las celdas de
transmisión establecen contactos adecuados con los diversos órganos; y los
órganos realizan las tareas que se les encomienda después de haber recibido
la orden correspondiente.
Las instrucciones pueden ser muy extensas, lo que significa que
deberán ser de alguna manera, externas. La máquina de von Neumann
posee, tal como se ve en la figura 2, una "cola" que contiene el proyecto que
tiene que llevar a cabo. Esta cola está formada por una banda muy larga,
336
compuesta de instrucciones codificadas. El cuerpo básico realiza dos tipos
de funciones: sigue las instrucciones de la cola y, a la vez, es capaz de
reproducirla. Supóngase que la cola contiene una descripción codificada del
cuerpo básico. De este modo, el cuerpo, siguiendo las instrucciones,
construirá otro cuerpo igual. Cuando haya terminado, empezará a reproducir
su propia cola, uniéndola al nuevo cuerpo. De este modo, se habrá
reproducido a sí mismo.
Figura 2: Esquema de la máquina autorreproducción de von
Neumann.
El secreto de la máquina está en que no intenta autorreproducirse.
Von Neumann diseñó una máquina que podría reproducir cualquier otra
máquina a partir de una descripción de ella. Por tanto, tal máquina podrá
autorreproducirse. Una vez hecho esto, resulta sencillo reproducir la cola y
unirla
a
la
descendencia.
La
nueva
337
máquina
podrá
continuar
reproduciéndose hasta que se agote el material o hasta que estas nuevas
máquinas entren en conflicto entre sí, imitando en esto a sus "padres"
humanos.
Resulta asombroso el pequeño número de partes que posee una
máquina de este tipo. En los proyectos de von Neumann se habla de un
cuerpo básico de 80 por 400 cuadrados, al que se añade una cola de 150.000
cuadrados de longitud. El cuerpo básico posee las tres clases de celdas ya
descritas: neuronas, celdas de transmisión y celdas musculares. Estos tres
tipos de celdas se diferencian entre sí únicamente en su estado de excitación
y en la forma en que están conectadas entre sí. La cola es todavía más
sencilla; está formada por celdas en posición de "encendido" o "apagado",
proponiendo el código. Se tiene, pues, unas 200.000 celdas, la mayor parte
de las cuales son del tipo más sencillo posible, mientras que las neuronas
encargadas del control lógico figuran en una proporción despreciable.
Cualquiera que sea el criterio empleado para medir la complejidad, ésta es
muchísimo menor que la de un ser humano, y, sin embargo, la máquina es
capaz de reproducirse.
Continuando con esta analogía entre la máquina y el organismo
humano, es posible comparar la cola con el conjunto de los cromosomas. La
máquina reproduce su propia cola del mismo modo que las células "hijas"
copian los cromosomas de la célula padre. Resulta sumamente significativo
el hecho de que, mientras que los cromosomas ocupan solamente una parte
muy pequeña del cuerpo, la cola es mayor que el cuerpo básico de la
máquina. Esto indica que la codificación realizada por los cromosomas es
enormemente eficiente. Pero, para decirlo todo, hay que reconocer que los
338
cromosomas desempeñan un papel menos importante que la cola, que
contiene una descripción completa del cuerpo básico, en tanto que la
descripción cromosómica es incompleta, puesto que los hijos se parecen a
sus padres, pero no constituyen una reproducción de ellos.
Sería, por otra parte, muy interesante continuar los trabajos de von
Neumann y construir una máquina que fuese capaz de manejar una
descripción incompleta y construir otras máquinas más o menos semejantes
a ella. ¿Son capaces estas máquinas de experimentar un proceso evolutivo?
Cabría diseñar las colas de tal modo que en cada ciclo tenga lugar un
pequeño número de cambios aleatorios, por ejemplo, basta cambiar
"encendido" por "apagado" en el código. Esto sería algo semejante a las
mutaciones: si la máquina siguiese siendo capaz de tener descendencia,
dichas modificaciones pasarían a ésta. Cabría también disponer las cosas de
tal modo que la provisión de materias primas sea limitada, de suerte que las
máquinas deban luchar por el espacio vital, pudiendo llegar a matarse entre
sí.
La propuesta de von Neumann, para construir máquinas que tuvieran
la capacidad reproductora de los organismos vivos, se consideró, en un
primer momento, más que nada una curiosa especulación matemática,
especialmente si se tiene en cuenta que las computadoras de aquellas fechas
eran gigantes de 30 o más toneladas, y eran poco más que aparatos para
hacer operaciones matemáticas con rapidez. ¿Cómo podría conseguirse que
una máquina produjera una copia de si misma?. Una manera que resulta
imposible
es
"¡Reprodúcete!".
recibiendo
La
la
máquina
orden
sólo
de
su
puede
339
programador
responder
humano:
"No
puedo
reproducirme, pues no sé quién soy". Este planteamiento sería tan absurdo
como si un hombre le diera a su esposa una serie de botellas y matraces y le
dijera que hiciera un niño. En opinión de von Neumann, el programador
humano que se proponga crear una dinastía de máquinas debería realizar las
tres sencillas acciones siguientes:
Dar a la máquina una descripción completa de sí misma.
Dar a la máquina una segunda descripción de sí misma, pero esta
segunda descripción es de una máquina que ha recibido ya la primera
descripción.
Finalmente, ordenar a la máquina que cree otra máquina que
corresponda precisamente a la máquina de la segunda descripción, y
ordenar a la primera máquina que copie y pase esta orden final a la segunda
máquina.
Lo más notable de este procedimiento lógico es que, además de ser
mucho más sencillo de lo que puede parecer, era la visión de von Neumann
sobre la forma en que se reproducen las criaturas vivas. Unos años después
de su conferencia, sus ideas se vieron confirmadas cuando los biólogos
Francis Crick y James D. Watson (1953 (a) y (b)) encontraron la solución al
código genético y descubrieron el secreto de la reproducción orgánica.
Resultó ser esencialmente el mismo que la secuencia para la reproducción
de la máquina propuesta por von Neumann. En los seres vivos, el ácido
desoxirribonucleico (ADN) desempeña el papel de la primera máquina. El
ADN da instrucciones al ácido ribonucleico (ARN) para la construcción de
340
proteínas; el ARN viene a ser así como un "auxiliar" del ADN. Mientras
que el ARN realiza la aburrida tarea de elaborar proteínas para su
organismo paterno y su descendencia, el ADN hace el papel brillante e
imaginativo de programar sus genes, que, en el caso de un bebé humano,
decidirán si tendrá pelo rubio o moreno y si será de temperamento excitable
o flemático. En resumen, el ADN y el ARN realizan juntos todas las tareas
que debe realizar la primera máquina von Neumann para crear la segunda
máquina de la dinastía. Y por eso, si se decide construir máquinas
autorreproductoras, hay pruebas biológicas importantes de que von
Neumann dio, hace tiempo, con el procedimiento correcto que se debe
seguir.
Pero se puede preguntar ¿por qué va a querer alguien construir
computadoras que realicen réplicas de sí mismas?. En el mejor de los casos,
el procedimiento puede resultar engorroso. Supóngase que alguien se
acuesta después de pasarse la tarde trabajando con la computadora y, al
levantarse al día siguiente, se encontrara con que había dos computadoras
en vez de una. ¿Para qué servirán estas computadoras que se regeneran?. La
respuesta es que se utilizarán en sitios remotos para realizar tareas difíciles
y peligrosas que los hombres no pueden realizar con facilidad. En
consecuencia, hay que considerar totalmente la posible localización de estos
lugares. ¿Qué es lo que está reteniendo el desarrollo biológico humano?
¿Por qué más de treinta y cinco años después de que el hombre pusiera el
pie por primera vez en la Luna, no hay todavía una colonia lunar
permanente?. Han pasado más de tres cuartos de siglo desde que el hombre
consiguiera volar por primera vez, y todavía la mayoría de los seres
341
humanos están constreñidos a vivir en la superficie de la Tierra. ¿Por qué?.
El astrónomo Tipler, (1980) de la Universidad de California en Berkeley,
respondió a esta pregunta muy claramente cuando en 1980, declaró: "Es el
retraso en la tecnología de las computadoras, no en la tecnología de los
cohetes, lo que impide comenzar mañana mismo la exploración de la
Galaxia". Es en el espacio, no en la Tierra, donde se harán valer las
máquinas superinteligentes autorreproductoras y es en el espacio donde está
el futuro a largo plazo de la humanidad. Es fascinante considerar la forma
en que Tipler y otros que han estudiado el futuro remoto consideran cómo
las máquinas de von Neumann harán posible, en primer lugar la
colonización del sistema solar de planetas, y luego de la Vía Láctea con más
de 150.000 millones de soles.
Como es natural, ninguna de las máquinas de las que aquí se habla
ha sido construida, al menos que se sepa, pero nada impide que sea posible
construirlas. Dicho con otras palabras, científicamente nada impide su
construcción, otra cuestión y ésta si que es peliaguda, es que
tecnológicamente sea viable el realizar réplicas.
El código genético
Código versus Cifra
Técnicamente, se define un código como una sustitución al nivel de
las palabras o las frases, mientras que una cifra se define como una
sustitución al nivel de las letras. Por eso, cifrar significa ocultar un mensaje
342
utilizando una cifra, en tanto que codificar significa ocultar un mensaje
empleando un código. De un modo similar, el término descifrar se aplica a
la resolución de un mensaje cifrado; es decir, en cifra, mientras que el
término descodificar se aplica a la resolución de un mensaje codificado.
Como puede verse, los términos codificar y descodificar son más generales,
y tienen relación tanto con códigos como con cifras. Por eso no hay que
confundir, por un mal uso, estos términos. Así, por ejemplo, cuando se
habla del código Morse, el que traduce las letras del alfabeto inglés y
algunos signos de puntuación en forma de puntos y rayas, no es un código
en el sentido de que no es una forma de criptografía porque no hay una
ocultación del mensaje. Los puntos y las rayas son simplemente una forma
conveniente de representar las letras para el medio telegráfico. En realidad,
el código Morse no es otra cosa que un alfabeto alternativo.
Formalmente, se define código como sigue. Sea A* un monoide libre
(Hu, 1965) engendrado por el conjunto A. Es decir, A* es el conjunto de
palabras de longitud finita formadas con los símbolos de A, mediante la ley
de composición interna asociativa de concatenación, y con un elemento
neutro que es la palabra vacía. Entonces, un código
C
^c1 ,..., ci `es un
subconjunto de A*. Siendo los elementos de ci las palabras del código. Se
indica por ni el tamaño de la palabra ci.
Se dice que un código es binario, ternario, en general n-ario, cuando
A está formado por, respectivamente, dos, tres, en general n símbolos. Si
todas las palabras son de la misma longitud, se dice que C es un código de
343
longitud fija, o también un código de bloque. En otro caso, se dice que C es
un código de longitud variable.
Sea V el alfabeto de una fuente de información, que se define como
aquella que emite símbolos de un alfabeto V
^s s `
1
probabilidad de aparición de cada uno de ellos dada por
5
con una
Si 1d i d r
.
Entonces una codificación es una aplicación M de V en C, que se prolonga
en una aplicación M* de V* en C*. Y, naturalmente, una decodificación es
una aplicación \ de C* en V*. Un código es de decodificación única, es
decir, M* es inyectiva, y \ o \* es la identidad.
Código genético
Definición
La expresión "código genético" se utiliza actualmente con dos
significados muy distintos. Por una parte, el público profano lo emplea a
menudo para nombrar el mensaje genético completo de un organismo. Por
otra, los biólogos moleculares aluden al pequeño diccionario que enseña
cómo relacionar el lenguaje de cuatro letras de los ácidos nucleicos con el
lenguaje de veinte letras de las proteínas, de la misma forma en que el
“código” Morse relaciona el lenguaje de puntos y rayas con las veintiséis
letras del alfabeto. Aquí se utilizará el término en este sentido. Sin embargo,
el término técnico para una regla de traducción así no es, hablando con
propiedad, “código” sino cifra como así lo llamó Erwin Schrödinger (1983).
344
De la misma forma en que el código Morse debería llamarse cifra Morse.
En aquel tiempo, Crick o no lo sabía, o no hizo caso de esta distinción, lo
que fue una suerte, ya que “código genético” suena mucho mejor que “cifra
genética”. En efecto, Crick al conjunto de bases contenidas en los
cromosomas, las denominó correctamente texto cifrado o clave, y añadió,
pero el término “clave” o texto cifrado, es demasiado limitado. Las
estructuras cromosómicas son al mismo tiempo los instrumentos que
realizan el desarrollo que ellos mismos pronostican. Representan tanto el
texto legal como el poder ejecutivo, o para usar otra comparación, son a la
vez los planos del arquitecto y la mano de obra del constructor, o como se
verá más adelante, son el "Knowledge y el Knowing".
El código se encuentra en el centro de la biología molecular de la
misma forma que la tabla periódica de los elementos constituye el centro de
la química, pero hay una diferencia profunda y trascendental, la tabla
periódica es, con probabilidad rayana en la certeza, válida y cierta en
cualquier lugar del universo. Sin embargo, si hay vida en otros mundos, y si
ésta utiliza ácidos nucleicos y proteínas lo que no es seguro, parece muy
probable que ahí el código fuera sustancialmente distinto. Existen incluso
pequeñas variaciones con respecto a él, en algunos organismos terrestres. El
código genético, como la vida misma, no es un aspecto de la naturaleza
eterna de las cosas, sino, al menos en parte, producto de un accidente.
El lema central del código genético, es la relación entre la secuencia
de bases del ADN o de su m-ARN transcrito y la secuencia de aminoácidos
de las proteínas, del modo que la secuencia de bases de un gen es colineal
con la secuencia de aminoácidos de su polipéptido producto. Este código,
345
que es el mismo en todos los seres vivos, es maravilloso por su sencillez. En
efecto, el conjunto de tres bases o codón especifica un aminoácido. Los
codones son leídos secuencialmente por las moléculas del t-ARN que sirven
de adaptadoras en la síntesis de las proteínas.
Características del Código
En 1961, los experimentos de Crick y colegas (Crick, 1961) entre
otros, establecieron como características del código genético las siguientes:
El alfabeto. Como ya se ha indicado se compone de cuatro elementos
o bases; a saber: Adenina, Guanina, Citosina y Timina y se representan por
sus iniciales A, G, C, T; es decir; Al = { A, G, C, T }.
Relación de Codificación. Una sola base podría especificar
solamente cuatro tipos de aminoácidos puesto que sólo hay cuatro tipos
distintos de bases en el ADN. La primera cuestión que se puede plantear
aquí se enunciaría como sigue: ¿Por qué se emplean cuatro bases en el
ADN? Si bien no es posible dar una respuesta fiable a esta cuestión, si es
posible acotar el espacio de posibilidades. En efecto, es bastante evidente
que el número de bases distintas tiene que ser par, puesto que, en otro caso,
cualquier esquema de emparejamiento de bases conllevaría una pérdida de
información que haría imposible la replicación de moléculas de ARN tal y
como se conoce hoy. Dos bases podrían especificar dieciséis tipos (4 u 4 =
16) de aminoácidos y tres bases podrían determinar (4 u 4 u 4 = 64) sesenta
y cuatro clases de aminoácidos. Puesto que las proteínas están formadas por
un conjunto básico de veinte aminoácidos, resulta evidente que son
346
necesarias al menos tres bases para especificar los veinte aminoácidos. Esta
evidencia teórica de teoría de la información y matemáticas, fue refrendada
por experimentos genéticos que demostraron que, de hecho, un grupo de
tres bases codifica un aminoácido. A este grupo de tres bases se le
denomina, como acaba de decirse, codón o triplete.
Parece poco probable que la evolución haya atendido a los criterios
de optimidad de la TI para la elección de codones de tres bases. El que se
tenga un código tal, se debe, probablemente, más a criterios estructurales,
electroquímicos y físicos aplicados sobre las moléculas que intervienen en
los procesos descritos. También resulta difícil creer que pueda haber
subyacente un criterio de optimidad del código. En resumen, la selección
natural no va a actuar tanto sobre la optimidad del código que transmite la
información, característica ésta que no aporta ningún beneficio físico, sino
más bien sobre la eficiencia de las moléculas que realizan la transcripción;
esta eficiencia sí se traduce en beneficios concretos, tales como mayores
cantidades de moléculas en menos tiempo.
En efecto, por teoría de la información se sabe, que si se tiene un
alfabeto A de b símbolos que genera mensajes de longitud n, de los que se
tiene un desconocimiento total, la cantidad de información I recibida con
cada mensaje viene dada por:
I = log bn = n log b
(1)
Es decir, la longitud del mensaje por el logaritmo de los estados
posibles, en este caso, las variaciones con repetición de n elementos
347
tomadas de m en m. Naturalmente, es fácil observar que la cantidad de
información aumenta al aumentar el número de mensajes entre los que la
fuente puede escoger, y disminuye a medida que la libertad de elección y,
por consiguiente, el grado de incertidumbre disminuye.
Convencionalmente se ha elegido como unidad de medida de la
indeterminación, la de un experimento con dos posibles resultados
equiprobables, ya que si sólo existiera un único resultado de
indeterminación sería nula y no habría información acerca del fenómeno.
Según esto, para que:
log2 = 1
(2)
Se cumpliese, es necesario elegir como base de los logaritmos la 2,
que es la única que verifica la ecuación (2).
Considérese ahora el alfabeto anterior A de b símbolos. El número
de estados E necesarios para representar un mensaje de n símbolos es:
E
n.b n
E
b
(3)
Es fácil de demostrar que esto es así como sigue: Supóngase que se
quiere representar un mensaje de tres símbolos: x, y, z; entonces, el mensaje
348
tendría que tener al menos tres elementos distintos capaz de almacenar cada
uno de los símbolos, verbigracia:
xyz
Además, como se está en un sistema posicional, el mismo elemento
es diferente dependiendo de la posición en que se encuentre. Por ejemplo el
mensaje x x x también necesita los tres elementos y además sus valores son
distintos. Entonces, se define como estados de un sistema de mensajes la
cantidad de elementos diferentes necesarios para representar un mensaje y
que viene dada por (3).
Sustituyendo el valor de n dado por la ecuación (3) en la (1), se tiene
que:
I
E.
log b
b
(4)
Puesto que se quiere que la cantidad de información con respecto a la
base sea máxima, hay que calcular la primera derivada de I con respecto a b
y hacerlas igual a cero; es decir:
wI
wb
E.
1 / b log e.b log b.1
b2
E
349
log e log b
b2
log
E.
b2
e
b
Y ahora igualando a cero esta derivada se obtiene que:
log
E.
e
b
b2
0
De donde:
log
e
b
e
b
0
k0
e
1 b
b
e
Con lo que se ve que la función dada en 4 tiene un máximo o un
mínimo para el valor b=e, para determinarlo, se calcula la derivada segunda:
dI
db2
1
(0 . log e).b 2 (log e log b).2b
b
E.
b4
E.
3 log e 2 log b
b3
cuyo valor para b = e es:
E.
3 log e 2. log e
e3
E.
log e
e3
puesto que el número de estados e es necesariamente un valor positivo, el
valor de la derivada segunda es negativo. Por lo tanto, se concluye que para
b = e la función I tiene un máximo.
350
La demostración es absolutamente general con independencia del
tipo de logaritmos que se tomen pues el paso de un logaritmo a otro es
isomórfico y el resultado es, en consecuencia, único. Pero la base e no es
entera y, por lo tanto, poco práctica a efectos, en este caso, del mundo
biológico. Como el número más próximo al e es el 3 se puede concluir que
la base óptima es la 3 y consecuentemente el alfabeto óptimo es el que tiene
tres símbolos.
Solapamiento. En un código de ernas no superpuestas, cada codón
especifica solamente un aminoácido, mientras que en otro de ternas
superpuestas ABC especifica el primer aminoácido, BCD el segundo, CDE
el tercero y así sucesivamente. Estas alternativas fueron discriminadas por
estudios de la secuencia de aminoácidos en mutantes. Supóngase que la
base C muta a C’. En un código sin superposición sólo se cambiará el
aminoácido 1. En cambio, en un código completamente solapado por una
mutación de C en C’, se alterarán los aminoácidos 1, 2 y 3. Estudios de la
secuencia de aminoácidos en la cubierta proteica de mutantes del virus del
mosaico del tabaco, indicaron que, normalmente, sólo se alteraba un
aminoácido. Llegándose a la conclusión de que el código genético no
presenta solapamiento.
Secuencialidad en la lectura de los codones. La secuencia de bases se
lee secuencialmente a partir de un punto fijo de partida. No hay comas. Esto
es, el código genético no requiere puntuación ni señal alguna para indicar el
final de un codón o el principio del siguiente. Existiendo sólo una “señal de
iniciación” en el ARN indicativa de donde se debe iniciar la lectura. Esta
señal es el codón AUG que codifica el aminoácido metionina. Esto, es
351
decir, la no-existencia de puntuación, presenta problemas. En efecto,
supóngase que de la secuencia:
ABCDEFGHIJKL ....
se pierde, por mutación, la G, entonces la secuencia quedaría como sigue:
Inicio
G perdida
p
p
ABC
DEF
HIJ
KLM
NOP
aa1
aa2
aa3
aa4
aa5
normal
alterada
En esta cadena polipéptida los dos primeros aminoácidos serán
normales, pero el resto de la secuencia de bases se leerá incorrectamente
puesto que el patrón de lectura ha sido desplazado por el “borrado” de G.
Supóngase ahora que se añade una base Z entre F y G, entones la secuencia
queda como sigue:
Inicio
Inserción
p
p
ABC
DEF
ZGH
IJK
LMN
aa1
aa2
aa3
aa4
aa5
normal
alterada
Esta mutación por adición también altera el patrón de lectura a partir
del codón para el aminoácido. De hecho, los estudios genéticos de
352
recombinación de mutantes por adición y borrado, revelaron muchas de las
características del código genético.
No-eficiencia o degeneración del código. Como ya se ha
mencionado, hay sesenta y cuatro posibles ternas de bases y sólo veinte
aminoácidos. La pregunta es inmediata. ¿Hay exactamente una terna para
cada aminoácido o se codifican algunos aminoácidos por más de un codón?
Los estudios genéticos revelaron que la mayoría de los sesenta y cuatro
codones codifican aminoácidos. Para ser más exactos, sesenta y uno de los
sesenta y cuatro ternas especifican un aminoácido particular. Así pues, para
la mayoría de los aminoácidos, hay más de un “vocablo” o codón
codificante. Esto, que matemáticamente quiere decir que existe una
aplicación “sobreyectiva” entre los codones y los aminoácidos más las
señales de empiece y terminación de cadena, es, para lo que trata este
artículo, trascendental. En otras palabras, el código genético es degenerado,
y, además, no es una degeneración uniforme. Ahora bien, el hecho de que el
código genético sea degenerado no significa que sea imperfecto puesto que,
como ya se ha dicho, no existe solapamiento.
Representaciones
del
código:
matricial,
codones
generalizados y autómata
Existen distintas maneras de representar el código genético, entre los
más importantes están los siguientes: La más común en los libros de texto,
tal y como se muestra en la tabla 2, es en forma de tabla o matriz (TerAvanesyan, 1988). También, en otras ocasiones, se usa una representación
353
lineal (Froelam, 1985). Sin embargo, las dos que presentan un enfoque más
riguroso y formal desde una perspectiva informática son: los codones
generalizados (Bozinovski, 1989) y los autómatas finitos, que se estudiarán
en detalle más adelante.
1ª Posición
(extremo
5’)
U
C
A
G
2ª Posición
U
Fenil
Fenil
Leu
Leu
Leu
Leu
Leu
Leu
Ile
Ile
Ile
Met (Inicio)
Val
Val
Val
Val
C
Ser
Ser
Ser
Ser
Pro
Pro
Pro
Pro
Tri
Tri
Tri
Tri
Ala
Ala
Ala
Ala
A
Tir
Tir
Parada
Parada
His
His
Gln
Gln
Asn
Asn
Lis
Lis
Asp
Asp
Glu
Glu
G
Cis
Cis
Parada
Trp
Arg
Arg
Arg
Arg
Ser
Ser
Arg
Arg
Gli
Gli
Gli
Gli
3ª Posición
(extremo
3’)
U
C
A
G
U
C
A
G
U
C
A
G
U
C
A
G
Tabla 2: Código Genético en forma de Matriz de triple entrada
A) Matricial
Como puede verse en la tabla 2, el código puede representarse en
forma de tabla. En ella, solamente el triptófano y la metionina están
codificados por una única terna. Los otros dieciocho vienen codificados por
dos o más ternas. De hecho la leucina, arginina y serina son especificados
por seis codones cada una. Sin embargo, en condiciones fisiológicas
normales, el código no es ambiguo: cada codón designa a un único
aminoácido. En dicha tabla dada la posición de las bases en un codón es
354
posible encontrar el correspondiente aminoácido como sigue: Supóngase el
codón 5’ AUG 3’ del m-ARN, entonces se entra por la A en la tabla 2,
luego se va a la U y luego a la G y se encuentra la metionina.
B) Codones Generalizados
El proceso de biosíntesis de las proteínas habitualmente se describe
mediante una transcripción y una traslación, nociones que, básicamente,
tienen naturaleza lingüística. Para describir formalmente el proceso de
biosíntesis de las proteínas, sea el lenguaje del ADN, A*, un conjunto de
todas las cadenas sobre el alfabeto del ADN, D = < T, C, A, G >, y sea R*
un lenguaje m-ARN sobre el alfabeto del ARN R = < U, C, A, G >.
Entonces, se definen:
a) Una transcripción, como una función,
f: D o R
dado por su grafo, definido por:
G (f) =< (T,U), (C, C), (A, A), (G, G) >
Que es composición de dos funciones, es decir:
f = f2 q f1
dadas por sus grafos:
G (f1) =< (T,A), (C, G), (A, T), (G, C) >
G (f2) =< (T,A), (C, G), (A, U), (G, C) >
Sea ahora, el lenguaje de las proteínas P* el conjunto de todas las cadenas
sobre el alfabeto de las proteínas P = < Ala, Arg, Asp, Asn, Cys, Gln, Glu,
Gly, His, Ile, Leu, Lys, Met, Phe, Pro, Ser, Thr, Trp, Tyr, Val >, formado
por los distintos aminoácidos.
b) Una translación, puede considerarse como una función parcial,
355
g: C o P
con dom <g> = C < UAA, UAG, UGA >
donde C = R* es un conjunto de todas las ternas; es decir, cadenas sobre R
de tamaño 3. Los elementos de conjunto dom <g> se denominan codones.
El conjunto { UAA, UAG, UGA } se denomina conjunto de signos o
marcas de puntuación, ya que sus elementos sirven como puntos de
finalización para el proceso de traslación efectuado sobre una cadena de C*.
La aplicación g es sobreyectiva, conocida como código genético; sin
embargo, es posible construir una representación que proporciona una
aplicación biyectiva. Para ello, considérese el conjunto potencia 2R del
alfabeto R, e introdúzcanse las siguientes notaciones para algunos
elementos del conjunto potencia:
U={U},C={C},A={A},G={G}
Y={U,C},
Y
={A,G}
U ={C,A,G}, C ={U,A,G}, A ={U,C,G},
G ={U,C,A}
R={U,C,A,G}
Sobre estos alfabetos se puede aplicar al lenguaje las operaciones de unión y
concatenación, siguientes:
A +B = Unión (A , B) y AB = Concatenación (A , B), entonces el código
genético puede expresarse como se muestra en la tabla 3.
356
AUG o Met
UGG oTrp
AUG o Ile
CCR o Pro
ACR o Thr
GCR o Ala
GUR o Val
GGR o Gly
UUY o Phe
UAY o Tyr
UGY o Cys
CAY o His
AAY o Asn
GAY o Asp
CA Y o Gln
AGY + UCR o Ser
AA Y o Lys
UU Y + CUR o Leu
GA Y o Glu
AG Y + CGR o Arg
Tabla 3: Representación de los codones generalizados
El conjunto puntuación puede escribirse como sigue:
UA Y + UGA o Parada
La terna de inicio como:
Y UG
y posiblemente
A UG + AU C
Aunque esto es aún una cuestión abierta.
El álgebra usada realmente proporciona expresiones para representar el
código genético de una única manera. Las expresiones obtenidas se
denominan codones generalizados. El código genético expresado en
codones generalizados no es degenerado en el sentido de que cada
aminoácido procede de un único codón generalizado.
c) Autómata de estados finitos
El proceso de traslación tiene lugar en los ribosomas, partículas
que enlazan el m-RNA, esto es el ácido ribonucleico mensajero, y
comenzando sobre unas ciertas partes de la cadena del m-RNA, leyéndolas,
produciendo una cadena polipeptídica de acuerdo con el código genético,
hasta que se lee un elemento del conjunto puntuación, en cuyo caso la
357
traslación se completa y la cadena polipeptídica se libera. Este proceso
puede representarse tal y como puede verse en la figura 3, mediante un
autómata finito reconocedor del alfabeto del ARN, que traduce en
aminoácidos los distintos codones.
Figura 3: Una máquina de estado-finita traductora del código
genético a aminoácidos
358
Importancia de las bases en el codón
Los codones que especifican el mismo aminoácido se denominan
sinónimos, por ejemplo CAU y CAC son sinónimos para la histidina. Es de
observar que los sinónimos no están distribuidos arbitrariamente en la tabla
1. Un aminoácido especificado por dos o más sinónimos ocupa una sola
casilla, a no ser que sean más de cuatro los sinónimos. Los aminoácidos de
cada casilla son especificados por codones que tienen las dos primeras bases
iguales pero difieren en la tercera, como por ejemplo: GUU, GUC, GUA y
GUG. Así pues, la mayoría de los sinónimos difieren únicamente en la
última base de la terna. La revisión del código muestra que XYC y XYU
codifican siempre el mismo aminoácido mientras que XYG y XYA lo hacen
casi siempre. Es evidente, entonces, que las dos primeras letras de cada
codón son las determinantes de relevancia, mientras que la tercera parece
tener menor importancia y no encajar con tanta precisión como las otras. La
base estructural para estas equivalencias es evidente debido a la naturaleza
de los anticodones de las moléculas del tARN. Sin embargo, y es lo que en
este trabajo se quiere enfatizar, la última base del codón es fundamental,
desde un punto de vista funcional, pues es la que va a caracterizar el
comportamiento de la proteína y del gen origen en el que se encuentre.
El significado biológico de la degeneración generalizada del código
genético es doble. Por una parte, la degeneración reduce al mínimo los
efectos deletéreos de las mutaciones. Si el código no fuera degenerado,
veinte codones designarían los aminoácidos y los otros cuarenta y cuatro
conducirían a la terminación de la cadena. La probabilidad de mutación que
359
originase la terminación de la cadena sería, por tanto, mucho mayor con un
código no degenerado que con el real degenerado. Es importante consignar
que las mutaciones de terminación de la cadena generalmente conducen a
proteínas inactivas, mientras que las sustituciones de un aminoácido por
otro son generalmente inocuas. Por otra parte, la degeneración del código
también puede ser significativa en cuanto permite al ADN modificar
ampliamente su composición de bases sin alterar la secuencia de
aminoácidos codificados por él. El contenido de >G@ + >C@ podrían codificar
las mismas proteínas si utilizaran sistemáticamente diferentes sinónimos.
Una respuesta plausible es la de que la redundancia proporciona un
mecanismo de seguridad. En efecto, podría servir para absorber tasas de
mutación excesivamente elevadas: un porcentaje de las mutaciones o
sustituciones de nucleótidos no conllevaría modificación alguna en la
secuencia de aminoácidos, por lo que estas mutaciones llevan el adjetivo de
silenciosas. De nuevo parece que la mutación pierde interés como
mecanismo de innovación.
Pero también es posible plantear un motivo de utilidad: parece
bastante plausible que las mutaciones silenciosas pueden tener beneficios a
largo plazo. Una mutación que conllevase una modificación inmediata en la
proteína correspondiente, probablemente tendría un efecto poco beneficioso
y, por lo tanto, reportaría pocas ventajas a un sistema que tolerase la
existencia de éstas. Sin embargo, una mutación silenciosa no se traduce en
un efecto visible, pero tiene dos consecuencias: Producir diversidad de
secuencias nucleotídicas. Cada una de estas variantes puede estar más
360
próxima a una nueva variante más beneficiosa que la original. El resultado
es que las mutaciones silenciosas probablemente permiten sustituir un
aminoácido por otro con mayor flexibilidad. Lo que se quiere decir, es que
en un código no redundante la alteración de un nucleótido permite sustituir
un aminoácido por otro de entre un conjunto limitado de ellos. La existencia
de redundancia y, en este caso, de las mutaciones silenciosas, puede
provocar que el conjunto de aminoácidos alcanzables desde uno dado sea
mayor. Quizás habría que hablar de estas mutaciones, en vista de lo
descrito, no como silenciosas, sino como sigilosas o astutas. Se ha
verificado que el porcentaje de mutaciones silenciosas que han quedado
grabadas en el ADN de especies estudiadas es mucho mayor al que le
correspondería estadísticamente, lo cual parece demostrar su importancia.
Se puede hacer también una analogía con lo que sucede con la
transmisión de información genética en cualquier especie: un individuo
puede ser portador de un gen que codifica una determinada característica sin
que ésta se exprese. Es decir, que el individuo ni se va a beneficiar ni va a
ser víctima de las propiedades implícitas en el gen; no obstante, puede
transmitir ese gen a su descendencia entre los cuales surgirán individuos
que sí expresen el gen. Las mutaciones silenciosas también producen
variantes de información que permanecen latentes hasta que otra mutación
genere una nueva proteína. Esta consideración conduce a una propiedad
importante del ADN. Con esta molécula, la mutación pierde su importancia
como generador de innovaciones. Ahora el principal mecanismo innovador
es la mezcla de variantes de genes dentro de una misma especie.
361
Señales de Terminación
Finalmente, la última característica del código se refiere al hecho
de que de los 64 ternas posibles, hay 3 que no codifican ningún aminoácido
y estos son: UAG, UAA y UGA. Estas ternas constituyen las señales de
terminación de las cadenas polipeptídicas. Estos codones no son leídos por
moléculas de t-ARN, pero sí por proteínas específicas llamadas factores de
liberación. La señal de iniciación de la síntesis proteica es mucho más
compleja, pero en cualquier caso los codones AUG o GUC forman parte de
ese inicio.
El enfoque de Deutsch
Cuando Aristóteles (1996) consideraba como la facultad más
espectacular
de
la
materia
animada
su
capacidad
de
moverse
voluntariamente, su contenido literal no es actualmente válido; sin embargo,
el Estagirita tenía muy claro algo importante: Al tratar de asociar la vida
con un concepto físico básico reconocía que ésta es un fenómeno
fundamental de la naturaleza. Se dice que un fenómeno es "fundamental"
cuando de su comprensión depende que se comprenda de una manera más
profunda el mundo (Deutsch, 1999). La comprensión de la que aquí se
habla, naturalmente hay otras como el amor, la religión, etc., se expresa en
leyes naturales y principios de lógica y matemáticas. En este sentido, una
comprensión más profunda es aquella que resulta más general, implica
menos conexiones entre verdades superficialmente diversas, explica más y
deja menos asunciones sin explicar. Los fenómenos más fundamentales
362
intervienen en la explicación de muchísimos fenómenos, pero son
explicados por leyes y principios básicos, por ejemplo la gravitación.
Las características de las cosas vivas, meramente descriptivas que
hacían referencia a conceptos fundamentales eran los siguientes: por
supuesto el movimiento aristotélico, respiración, excreción, reproducción,
crecimiento e irritabilidad en la expresión del Dr. Johnson para refutar el
idealismo del Obispo Berkeley (Boswell, 1971) en el sentido de que si uno
“golpea” algo vivo "devuelve" el golpe. Sin embargo, ambas explicaciones
son falsas. La razón de que estas concepciones sean falsas es que ambas
fracasaban en percatarse de qué es, en realidad una entidad viva, que
trataban de definirla mediante algún atributo físico o alguna substancia,
como el "elam" vital de Bergson. Hoy en día se cambia de
conceptualización puesto que se sabe que la materia en forma de
organismos vivos, no constituye la base de la vida. Es meramente uno de
sus efectos, cuya base es molecular. Es un hecho que existen determinadas
moléculas que hacen que determinados entornos se copien. Y esto lleva al
concepto de "replicantes". En general se entiende por replicante una entidad
que hace que ciertos entornos la copien, verbigracia los virus informáticos,
los buenos chistes, los "meme" término acuñado por Richard Dawkins
(1982) para designar ideas humanas que, como los chistes, provoca que los
que los han escuchado lo mencionen para repetirlo en otras audiencias. Las
teorías científicas son los “meme” más evolucionados técnica e
intelectualmente.
Pues bien, toda la vida sobre la tierra se basa en "replicantes" que
son moléculas y reciben el nombre de genes. Éstos, como ya se ha visto, son
363
verdaderos programas informáticos escritos como secuencias de símbolos
en un alfabeto de cuatro letras, en un lenguaje estándar denominado "código
genético", el cual, con muy ligeras variaciones, es común a toda la vida
sobre la tierra. Algunos virus se basan en el ARN, mientras que los priones
son en cierto sentido, proteínas moleculares autorreplicantes. Determinadas
estructuras operan en el interior de las células como computadoras que
ejecutan esos programas genéticos. Dicha ejecución consiste en la obtención
de ciertas moléculas, proteínas, a partir de moléculas más simples,
aminoácidos, en determinadas condiciones externas y éstos a partir de los
codones. Por ejemplo, la secuencia ATG, es una instrucción para incorporar
el aminoácido metionina a la molécula de proteína que se está obteniendo.
De un modo específico y característico, un gen, que en definitiva es
un replicante molecular, es activado químicamente en determinadas células
del cuerpo, a las que instruye para fabricar la correspondiente proteína. Por
ejemplo, la hormona insulina, responsable del control del nivel de azúcar en
sangre en los vertebrados, es una de esas proteínas. Si bien el gen para su
fabricación está presente en casi todas las células del cuerpo, sólo se activa
en determinadas células del páncreas, y ello únicamente cuando es
necesario. A escala molecular, es eso todo lo que puede realizar un gen:
programar a su computadora celular para fabricar un determinado
compuesto químico. Sin embargo, los genes pueden actuar como replicantes
porque esos programas químicos de bajo nivel se "suman" mediante capas y
más capas de complejos controles y retroalimentaciones hasta convertirse
en complicadísimas instrucciones de alto nivel. Así conjuntamente el gen de
la insulina y los genes involucrados en su activación y desactivación
364
constituyen un completo programa para la regulación del nivel de azúcar en
el torrente sanguíneo.
Del mismo modo, existen genes que contienen instrucciones
específicas que determinan cómo y cuando deben ser copiados, ellos y otros
genes, así como instrucciones para la fabricación de nuevos organismos de
la misma especie, incluyendo las computadoras moleculares que ejecutarán
todas esas instrucciones generación tras generación. Hay también
instrucciones acerca de cómo debe responder el organismo en su totalidad
ante los estímulos, externos, como verbigracia, cuando ha de cazar, huir,
copular, luchar, comer, etc. Y así sucesivamente.
Ahora bien, un gen puede actuar como replicante tan solo en
determinados entornos que, por analogía, con los nichos ecológicos, se les
va a denominar nicho. Es decir, nicho es el término que se va a emplear
aquí para referirse al conjunto de todos los posibles entornos en los que un
determinado replicante podría hacer que lo copiasen. Y, para un organismo,
conjunto de entornos y estilos de vida de los que podría vivir y reproducirse.
Así, el nicho de un gen de la insulina incluye entornos en los que está
ubicado en el núcleo de una célula en compañía de otros genes, y la célula,
por su parte, se encuentra adecuadamente situada en el interior de un
organismo funcional, en un hábitat adecuado para su vida y su
reproducción. Pero hay también otros entornos capaces de copiar el gen de
la insulina, como los laboratorios de biotecnología, en los que bacterias son
alteradas genéticamente para incorporarlos al gen. Dichos entornos también
forman parte del nicho del gen, al igual que otros posibles entornos,
365
infinitamente numerosos, todos ellos muy distintos de aquel en que
evolucionó.
No obstante, no todo lo que puede ser copiado es un replicante. Éste
"causa" que su entorno lo copie; es decir, contribuye causalmente a su
propia copia. Dawkins a esto lo denomina replicante activo. Esto es, la
presencia del replicante y su forma física específica "marcan la diferencia"
entre si va a ser copiado o no. En otros términos, el replicante es copiado si
está presente pero si fuera reemplazado por otro ente, incluso muy similar,
no lo sería.
Junto con los genes, en el ADN de la mayoría de los organismos,
están presentes secuencias aleatorias de A, C, G y T, denominadas
secuencias "basura" o "chatarra" del ADN, que también son copiadas y
transmitidas a la descendencia. Sin embargo, si semejante secuencia es
sustituida por casi cualquier otra de parecida longitud sigue siendo copiada,
por lo que se puede deducir que la copia de dichas secuencias no depende
de su forma física específica. A diferencia de los genes, las secuencias
basura no son programas. Por ello, si tuvieran alguna función, hasta hoy
desconocida, no sería las de transmitir información de ninguna clase. Es
decir, si bien son copiadas, no contribuye causalmente a su copia, por lo que
no pueden ser consideradas replicantes. Naturalmente en realidad esto es
una exageración pues, en puridad, todo lo que ha sido copiado debe haber
hecho alguna contribución causal a su copia. Las secuencias basura, por
ejemplo, están hechas de ADN lo que permite a la computadora celular
copiarlas. Ésta no puede copiar moléculas que no sean ADN. Sin embargo,
no suele resultar ilustrativo e interesante considerar replicante a algo que
366
tenga tan solo una pequeña contribución causal a su propia replica.
Estrictamente hablando, ser replicante es cuestión de grado. En este sentido,
se definirá "el grado de adaptación" de un replicante a un determinado
entorno como el grado en que el replicante contribuye causalmente a su
propia réplica en dicho entorno. Cuando un replicante está bien adaptado a
la mayoría de los entornos de un nicho, se puede definir como bien
adaptado al nicho. Así, por ejemplo, el gen de la insulina está altamente
adaptado a su nicho, en tanto que las secuencias basura, tiene un grado
despreciable de adaptación.
Para cuantificar grados de adaptación hay que tener en cuenta no
sólo el replicante en cuestión sino también el abanico de sus posibles
variantes. Cuanto más sensible a la estructura física precisa del replicante
sea el proceso de copia en un determinado entorno, más adaptado estará
dicho replicante a ese entorno. Para los replicantes altamente adaptados, se
deben considerar sólo ligeras variaciones, puesto que si se dieran
variaciones más amplias ya no serían replicantes. Esto es, para cuantificar el
grado de adaptación de un replicante a un nicho, hay que tener en cuenta su
grado de adaptación a todos los entornos del nicho. Es decir, hay que
considerar tanto las variantes del entorno como del replicante. Si la mayoría
de las variantes del replicante no consiguen causar que la mayoría de los
entornos la copien, se desprende que la forma del replicante en cuestión es
la causa determinante de su propia copia en aquel nicho, que si, por el
contrario, la mayoría de las variantes del replicante son copiadas en la
mayoría de los entornos del nicho, ello significa que la forma de ese
replicante no incide en la copia, que se producirá en cualquier caso. En
367
consecuencia el replicante tiene escasa contribución causal a su propia copia
y, por lo tanto, no está altamente adaptado a este nicho.
Así pues, el grado de adaptación de un replicante depende no sólo de
lo que haga en su entorno concreto, sino también de lo que harán múltiples
entes, la mayoría de los cuales no existen, en un amplio número de entornos
distintos del concreto. Esta curiosa propiedad también se da en la realidad
virtual, en adelante RV.
El factor más importante que determina el nicho de un gen es,
normalmente, que su replicación depende de la presencia de otros genes, no
sólo de sí mismo, sino externos al organismo que los contiene. Los que
conviven unidos en largas cadenas de ADN internos en sí mismo en lo que
se denomina organismo vivo. A menudo se dice que estos organismos se
reproducen, esto es, se piensa que los organismos son replicantes, pero esto
es un error. Los organismos "no son copiados" durante la reproducción, ni
son los causantes de su propia copia. Son formados de nueva planta de
acuerdo con planos incorporados al ADN de los organismos progenitores.
Por lo tanto, el organismo en el entorno inmediato que copia a los auténticos
replicantes: los genes de ese organismo. Desde esta perspectiva, el hocico
de un oso y su madriguera son meras partes del entorno que manipulan los
genes del oso durante el proceso de hacerse replicar.
Ahora bien, "los genes dan forma material al conocimiento sobre sus
nichos". Y esto es lo trascendente pues todo lo que tiene importancia
fundamental en el fenómeno de la vida depende de esa propiedad, y no de la
replicación "per se". Como lo explica Deusch con un ejemplo con
368
diamantes, como decía Marilyn "Diamonds are forever"; si unos hipotéticos
genes no replicantes compartieran todas las propiedades de los genes reales
excepto la replicación, el denominador común de ambos tipos de genes
replicantes o no, es la "supervivencia del conocimiento". Estrictamente
hablando, pues, lo que está adaptado, o no, a un cierto nicho es, en realidad,
un fragmento de conocimiento, más que un objeto físico o un ente material.
Si está adaptado, tendrá la propiedad de que, una vez establecido en ese
nicho, tenderá a permanecer en él. En el caso de un replicador, el material
físico cambia, y con cada replicación se forma una nueva copia compuesta
de partes no replicantes. El conocimiento no replicante puede también
materializarse sucesivamente en "distintas" formas físicas como, por
ejemplo, cuando se transfiere sonido de un disco analógico, primero a una
cinta de audio y luego a un disco compacto. En suma, si bien toda la vida se
basa en replicantes, de lo que realmente trata el fenómeno de la vida es del
conocimiento. Es posible, pues, dar una definición de adaptación
directamente en términos de conocimiento como sigue: "una entidad está
adaptada a su nicho cuando da forma material al conocimiento que causa
que ese nicho mantenga la existencia de dicho conocimiento".
Curiosamente, el ADN; es un ejemplo, extraordinario de las dos facetas del
conocimiento como objeto y como acción; pues no sólo transmite la
información, sino que provoca cambios que generan la descendencia. Es
decir, la vida trata de la materialización física del conocimiento,
exactamente igual que el principio de Turing (1950) en cuanto dice que es
posible dar forma material a las leyes de la física en cuanto son de
aplicación a cualquier entorno físicamente posible, en un generador de RV.
Los genes son programas así. Aun más, cualesquiera otros programas de
369
RV que existan o puedan llegar a existir físicamente, son efectos directos o
indirectos de la vida humana. La vida es, pues, el medio presumiblemente
necesario, mediante el cual los efectos a los que se refiere el principio de
Turing son aplicados a la naturaleza.
¿Existe en el caso de la vida una diferencia básica entre los objetos
portadores de conocimiento y los no portadores, una diferencia que no
depende ni de los entornos del objeto ni de sus efectos en el futuro remoto,
sino únicamente en sus atributos físicos inmediatos? La respuesta es sí. Y
para ver en que consiste, hay que adoptar la postura del multiverso. En
efecto, considérese el ADN de un organismo vivo, y supóngase que en
alguna parte de uno de sus genes se encuentra la secuencia TCGTCGTTTC.
Esta cadena concreta de diez moléculas, tanto en el nicho especial formado
por el resto del gen como en su "propio" nicho, es un replicante. Es decir,
incorpora una pequeña, pero importante, cantidad de conocimiento.
Supóngase ahora, para completar la hipótesis, que se encuentra un segmento
de ADN basura que también tiene la secuencia TCGTCGTTTC. Esta
secuencia, sin embargo, no merece ser considerada replicante, puesto que
apenas contribuye a su replicación y no es portadora de conocimiento
alguno. Se trata de una secuencia aleatoria. Se tienen, pues, dos objetos
físicos, segmentos ambos de la misma cadena de ADN, uno de los cuales es
portador de conocimiento, mientras que el otro no. Sin embargo, son
"físicamente idénticos". ¿Cómo puede ser esto así?. La respuesta es, como
se muestra en la figura 4, que en realidad esos dos segmentos no son
idénticos, sólo lo parecen cuando son vistos desde algunos universos como
el que se palpa.
370
Figura 4: Vista desde el multiuniverso de dos segmentos de ADN
que resultan ser idénticos en el universo “palpable”, uno aleatorio y el otro
del interior de un gen
Supóngase que un rayo cósmico produce una mutación aleatoria que
produce variaciones no sólo dentro de la población de organismos en un
universo, sino también entre universos. Así, pues, cuando un rayo cósmico
impacta en una cadena de ADN y produce una mutación, algunas de sus
contrapartidas en otros universos se quedarán sin sus correspondientes
copias de esa cadena de ADN, mientras que otras impactarán en distintas
posiciones y originarán mutaciones diferentes. De este modo, un solo rayo
cósmico que incidiera sobre una sola molécula de ADN causaría, en
general, la aparición de gran número de mutaciones distintas en diferentes
universos.
Cuando se considera la posible apariencia física de un determinado
ente físico en otros universos, no se debe mirar tan lejos en el multiverso
que resulte imposible identificar una contrapartida suya en el otro universo,
de modo que se deba considerar únicamente universos lo bastante similares
al conocido para que no surjan insalvables disparidades. Entonces el
segmento del gen considerado debe tener la misma secuencia en casi todos
los universos próximos al conocido. Ello se debe a que cabe presumir que
371
está altamente adaptado, lo que significa que la mayor parte de sus variantes
no conseguirán hacerse copiar en la mayor parte de las variantes de sus
entornos y no podrían, por tanto, aparecer en dicha localización en el ADN
de un organismo vivo. En cambio, cuando el segmento del ADN no
portador de conocimiento experimenta prácticamente cualquier mutación, la
versión mutante seguirá siendo capaz de ser copiada. A lo largo de
generaciones de realizaciones habrán ocurrido múltiples mutaciones, la
mayoría de las cuales no habrán afectado a la replicación. Por consiguiente,
el segmento de ADN basura, a diferencia de su contrapartida en el gen, será
completamente heterogéneo en distintos universos. Podría muy bien suceder
que cada posible variación de su secuencia estuviera representada por un
igual en el universo, que es lo que debería entenderse cuando se dice que su
secuencia es estrictamente aleatoria.
En consecuencia, la perspectiva del multiverso (Everett, 1957) revela
una estructura física adicional el ADN de un organismo vivo. En el universo
conocido, tal y como se muestra en la figura 4, contiene dos segmentos con
la secuencia TCGTCGTTTC, uno de ellos es parte de un gen, mientras que
el otro no. En casi todos los universos cercanos, el primer segmento
conserva la secuencia que presenta en el universo conocido, pero el segundo
varía enormemente de secuencia de un universo próximo a otro. Así pues, y
desde la perspectiva del multiverso, los dos segmentos no son ni
remotamente parecidos.
Hay que reconocer que la antigua idea de que la materia viva tiene
propiedades especiales se aproximaba mucho a la verdad pues el hecho es
372
que no es la materia viva, sino la materia "portadora de conocimiento" la
que es físicamente especial.
En suma, con un microscopio mágico capaz de ver en otros
universos la tarea de distinguir las secuencias de gen de las de no-gen, así
como de estimar el grado de adaptación de cada gen, que en cualquier
universo considerado aisladamente, resultaría imposible pues se trata de una
propiedad emergente, sería sencilla. Como se ve en la figura 4, los genes se
distinguirán de los no genes del mismo modo que los campos cultivados se
distinguen de los bosques en una fotografía aérea. Serían regulares en
múltiples universos próximos, mientras que los no genes, serían irregulares.
Y en cuanto a la adaptación, los genes mejor adaptados presentarían la
misma estructura en un amplio abanico de universos.
2
Prueba de F
Supóngase que en una determinada muestra se observan una serie de
posibles sucesos S1, S2, …, Sj que ocurre con frecuencias o1, o2, …, oj,
denominadas “frecuencias observadas” y que, según las reglas de la
probabilidad, se espera que ocurran con frecuencias e1, e2, …, ej, llamadas
frecuencias teóricas o esperadas, tal y como aparece en la tabla dada por la
tabla 4.
373
Tabla 4: Ejemplo de muestra con frecuencias asociadas
Una medida de la discrepancia existente entre las frecuencias
observadas y esperadas, viene dada por el estadístico
F
2
o1 e1
e1
2
o e2
2
e2
2
donde si el total de frecuencia es N,
Si
F2
oj ej
¦ej
ej
N
dado por:
2
j
¦
i 1
oj ej
ej
.
0 , las frecuencias observadas y esperadas concuerdan
exactamente; mientras que si
mayores de
¦ oi
F2
F 2 ² 0 , no coinciden exactamente. A valores
F 2 , mayores son las discrepancias ente ambas frecuencias.
374
2
F 2 se aproxima muy estrechamente a la
La distribución muestral de
distribución chi-cuadrado dada por:
Y
1
Y0 F 2 1 v 2 e 2 F 2
2
1
Y0 F v2 e 2 F 2
Siendo Q el número de grados de libertad dado por:
Q = k-1, si las frecuencias esperadas pueden calcularse sin tener que
estimar parámetros poblacionales con loe estadísticos muestrales.
Q = k-1-m, si las frecuencias esperadas sólo pueden calcularse
estimando m parámetros de la población a partir de estadísticos muestrales.
La información genética contenida en el ADN y, en consecuencia, en
el m-ARN está en forma de "codones" o ternas de tres nucleótidos, que se
transcriben en aminoácidos, los cuales se combinan para formar proteínas.
En ciertos lugares, en la estructura de las proteínas la composición del
aminoácido no es crítica. Sin embargo, ciertos aminoácidos aparecen en
tales sitios hasta seis veces más frecuentemente que otros. En los años 60,
los biólogos moleculares buscan determinar si la composición de
aminoácidos era un reflejo del código genético o si ciertos aminoácidos
fueron seleccionados como óptimos.
La composición de los aminoácidos en lugares no críticos en la
estructura de las proteínas pueden, o no, contribuir a la calidad total de una
proteína. Si ciertos aminoácidos son óptimos para la estructura de una
375
proteína, la selección natural debería haber aclarado sobre el tiempo
evolutivo para incrementar la frecuencia de esos aminoácidos. Una hipótesis
alternativa es que la composición de aminoácidos, en un lugar es
simplemente una permutación aleatoria del código genético.
Con estos antecedentes la cuestión que se plantea es la siguiente:
¿Son las frecuencias de aminoácidos particulares simplemente una
consecuencia de las permutaciones aleatorias del código genético o, por el
contrario, un producto de la selección natural?
Para resolver esta cuestión; es decir, para saber si algún aminoácido
en concreto es de alguna forma adaptativo, entonces debería ocurrir más
frecuentemente que lo esperado por el azar. Esto puede evaluarse fácilmente
calculando las frecuencias esperadas de aminoácidos y comparándolas con
las observadas. Los codones y las frecuencias esperadas y observadas de
todos y cada uno de los aminoácidos vienen dadas en la tabla 5.
Las frecuencias de bases de ARN en al naturaleza son: 22% Uracilo,
30,3% Adenina. 21,7% Citosina y 26,1% la Guanina. La frecuencia
esperada de un codón particular puede entonces calcularse multiplicando las
frecuencias de cada base de ADN comprendida en el codón. Y la frecuencia
esperada del aminoácido puede entonces calcularse por añadir las
frecuencias de cada codón que codifica para un aminoácido. Por ejemplo,
los codones de ARN para la Tirosina son: UAU y UAC, de este modo, la
expectativa aleatoria para sus frecuencias es:
(0,22) (0,303) (0,22) + (0,22) (0,303)( 0,217) = 0,0292
376
Ya que tres de los sesenta y cuatro codones son de parada o sin
sentido, esta frecuencia para cada aminoácido debe multiplicarse por un
factor de corrección de 1,057.
Excluyendo la Arginina, las correlaciones entre frecuencias
observadas y esperadas fue de r = 0,89, que resulta ser altamente
significativo. Sólo la Arginina resulta ser un producto de la selección
natural actuando sobre uno más de los codones de Arginina.
Tabla 5: Aminoácidos y tripletes asociados con sus frecuencias según King
y Jukes (1969)
377
En conclusión, la composición promedio de los aminoácidos refleja
pasivamente las permutaciones aleatorias del código genético. En otras
palabras, en lugar de ser óptimos aminoácidos particulares, la cosa más
importante que determina la frecuencia de los aminoácidos en una proteína
es sencillamente el número de codones codificados por él.
En la práctica, las frecuencias esperadas se calculan de acuerdo con
una hipótesis H0. Si bajo esta hipótesis el valor calculado
algún valor crítico tal como
F 02,95
o
F 02,99
F 2 es mayor que
, que son los valores críticos a
los niveles de significación de 0,05 y 0,01 respectivamente, se deduce que
las frecuencias observadas difieren significativamente de las esperadas y se
rechaza H0 al nivel de significación correspondiente. En caso contrario, se
aceptará o al menos no se rechazará H0.
Pues bien, considerando la tabla 5 de King y Jukes (King, 1969), los
autores realizaron la prueba de
de
F 2 es:
F2
a esos datos, observándose que el valor
477,809. Como este valor es mucho mayor que el
F 02,995
esperado que para 19 grados de libertad, que vale 38,6, se deduce que las
frecuencias observadas difieren muy significativamente de las esperadas
rechazándose la hipótesis H0. En consecuencia, cabe esperar que las
asociaciones de bases en ternas no se hace al azar, y por ello es necesario
buscarle una explicación.
378
Descifrado del genoma
El problema
Como se ha dicho, de ordinario los genes están en los cromosomas:
estructuras celulares éstas cuyo principal componente es el ácido
desoxirribonucleico, abreviado ADN, que está formado por dos cadenas
complementarias, integradas por largas secuencias de unidades nucleótidos.
Cada nucleótido contiene una de las cuatro bases nitrogenadas posibles:
Adenina (A), Citosina (C), Timina (T) y Guanina (G) que sólo se asocian,
de acuerdo con la Ley de Chargaff, de dos modos posibles entre ellas: A
con T y C con G. Lo común es que algunas porciones de ADN formen
genes; otras, no. En el caso humano, las porciones que son genes
constituyen tan sólo aproximadamente el 10% del ADN total. El resto
parece que no tiene nada que ver con la síntesis de las proteínas, es, por así
decirlo, hasta que se le encuentre una funcionalidad, basura genética. La
lectura y significado de este conjunto de símbolos que forman el ADN
puede compararse, "prima facie", con el desciframiento del jeroglífico de la
vida. Si el desciframiento de la escritura jeroglífica, por Champolion, a
partir de la piedra Roseta, fue ardua y difícil, que no lo será el de 3u109
símbolos a partir de un alfabeto de sólo cuatro símbolos. Para darse una idea
de la magnitud de la empresa baste decir que, por ejemplo, la secuencia de
nucleótidos del ADN escritos ocuparían un espacio equivalente a 150 tomos
similares a la guía telefónica de una ciudad como Madrid. O, por establecer
un ejemplo comparativo más gráfico, si un genoma vírico que tiene 3.000
pares de bases, ocupa una página de un libro que constara de 3.000 letras, y
379
otro bacteriano contiene tres millones de pares de bases, equivaldría a un
libro de mil páginas, el genoma humano, formado por tres mil millones de
bases, ocuparía una biblioteca de mil libros. Las características desde el
punto de vista criptoanalítico de código genético son las siguientes:
Sólo se dispone del texto cifrado, que es el caso más difícil.
En general, el proceso de ataque a un texto cifrado se basa en el
hecho de que se puede determinar si el resultado del proceso de descifrado
se corresponde con un lenguaje determinado, o dicho de otro modo, es texto
en claro. Además, en los problemas basados en métodos de criptoanálisis, se
conoce normalmente el lenguaje utilizado para la redacción del texto claro.
Sin embargo, en el caso del código genético no es así. Por un lado, es muy
poco probable que el código genético sea un intento de ocultar algún
mensaje en claro, por otro, no se conoce ninguna correspondencia con
ningún mensaje actual. Sin embargo, existen precedentes en los que se han
utilizado técnicas de criptoanálisis y otras técnicas semejantes en la
comprensión de lenguajes, de los que se desconocían si se podían equiparar
a los lenguajes actuales, como es el caso de los jeroglíficos egipcios. Aún en
esos casos, sin embargo, se emplearon “puntales” o palabras de las que se
conocía su escritura en más de un lenguaje o bien se buscaron analogías con
respecto a los lenguajes conocidos en la actualidad. Quizás, el código
genético en ese aspecto de no tener puntales, sea mejor compararlo con el
lineal B (Singh, 2000).
El código genético no es, necesariamente un lenguaje. Con menor
probabilidad, cualquier transformación producida sobre él, aún mediante el
380
uso de técnicas de criptoanálisis, dará lugar a un texto de cualquier lenguaje
humano. Por ello, el uso de estas técnicas se muestra, en principio,
inadecuado para la resolución de este problema. Sin embargo, las técnicas
de criptoanálisis sí pueden aportar luz sobre ciertos aspectos del código
genético. Por ejemplo, el método de Kasiski permite encontrar ciertos
patrones que se repiten con una periodicidad, y el análisis de índices de
coincidencia aporta información relevante acerca de la variación de las
frecuencias del mensaje genético. Por lo anteriormente dicho, la obtención
de resultados de este tipo, no presentarían una gran relevancia con respecto
a la relación entre el código genético y un lenguaje claro, pero sí una gran
relación con otro punto de vista del código genético, como es su
interpretación como si fuese el código de un programa de computadora.
Tal vez una forma de descifrar el jeroglífico sea la que propone
Lander del MIT cuando dice que del mismo modo que la organización de
los elementos químicos en la tabla periódica dio coherencia a una masa de
datos previamente sin relacionar, se acabará descubriendo que las decenas
de miles de genes de los organismos actuales están hechos de
combinaciones de un número mucho más reducido de módulos o elementos
genéticos más simples o, por así decirlo, genes primordiales. Lo importante
es que los genes humanos no deben ser considerados como completamente
diferentes unos de otros. Antes bien, deberían verse como unas familias que
mantienen toda clase de vida. Una vez completada la tabla se dará fin a la
genética estructural para iniciar la genética funcional o uso práctico de la
tabla. Por ejemplo, la diferencia entre dos personas no es más del 1% de las
381
bases. La mayoría de los genes sólo tendrán dos, tres o cuatro variantes; es
decir, unas 300.000 variantes principales.
Retomando ahora el desciframiento del genoma, se denomina
secuenciar el genoma a, únicamente, enunciar las bases A, T, C y G del
mismo. Es decir, es leer sin comprender. Por lo tanto, es deletrear el
genoma o, a lo sumo, balbucearlo. Por el momento, secuenciar el genoma
consiste, simplemente, en determinar el encadenamiento de los miles de
millones de bases que lo componen. Como lo señaló Cohen (1994), es fácil
darse cuenta de la aridez de la tarea, ya que se trata de leer un texto que,
poco más o menos, dice así:
TCATCGTCGGCTAGCTCATTCGACCATCGTATGCATCACTATTAC
TGATCTTG...,
y que discurre a lo largo de millones de líneas y miles de páginas. Desde
luego con una "lengua" que posee un alfabeto de sólo cuatro letras, era de
esperar una monotonía mucho mayor que la que presentan las lenguas
actuales cuyos alfabetos, latino, cirílico, etc., se componen de más de veinte
letras.
Por importante que sea, sobre todo por su carácter de condición
necesaria, secuenciar el genoma no basta, pues hay que descifrarlo; esto es,
comprender su significado. En otros términos, es como aprender a leer
letras y convertirlas en ideas. Y ahí la cuestión se vuelve peliaguda. De
hecho, actualmente es imposible prever cuándo, cómo y en qué medida será
posible descifrar el genoma una vez secuenciado. Sería maravilloso, pero
382
poco realista, el suponer que el aprendizaje de la lectura del genoma
desemboque inopinadamente en su comprensión, del mismo modo que los
niños que aprenden las letras, franquean, de repente, cierto misterioso
umbral y empiezan a comprender lo que leen. La realidad es, sin embargo,
más dura y el descifrado del genoma se presenta como una tarea ímproba e
ingrata. Lo ingrato de la labor no se debe tanto a la pobreza del alfabeto
cuánto a la ignorancia de la lengua.
Por poner un ejemplo ilustrativo, debido a Cohen, de lo que acaba de
decirse, trátese de leer, aunque no sea más que durante veinte minutos, y en
voz alta para no hacer trampas, una novela escrita con el alfabeto latino de
veintiséis letras, pero en una lengua desconocida: turco, serbocroata, ... y se
verá el dolor de cabeza que produce esto. Supóngase ahora que no hay
elección, puesto que uno se encuentra en una isla desierta y el único libro
que tiene está escrito en una de esas lenguas de las que no se
tiene
diccionario a mano. Por lo tanto, uno debería arreglárselas con lo poco que
sepa y ejercitar la paciencia y la perseverancia. Si así se hace, uno acabará
por familiarizarse con ciertas características de la lengua desconocida. Por
ejemplo, localizará motivos recurrentes, establecerá analogías, descubrirá
ciertas reglas, otros significados, similitudes interesantes, etcétera, etcétera,
etcétera. De hecho, en primer lugar, se observa que esta lengua tiene una
peculiaridad que, al menos en principio, resulta desconcertante, no se
conforma con presentar unas secuencias provistas de un significado preciso,
las que interesan y se denominan genes, sino que también presenta todo
unos farragosos párrafos situados tanto entre gen y gen, intergenes, como en
el interior de los genes, intragenes, que dividen la secuencia que tiene
383
significado. Hasta hoy, nadie ha podido averiguar para qué sirve todo este
relleno. Y, para colmo de la exasperación, estas extravagantes series de
letras constituyen más del noventa por ciento del genoma. Por lo menos, del
genoma humano, que se presenta como una interminable lista de genes e
intergenes con intragenes no codificadores situados en el seno mismo de los
genes.
Considérese ahora un tomo de las poesías de Quevedo (1995), pero
escritas en lengua desconocida y con el siguiente estilo genómico, aunque
para comodidad del lector se ha traducido el texto al español:
kvlseimkmifdsqmoieurniñaedpvaeighmlkehimdogcoleizoapglkchdjth
zkeivauozierdmofmoimthaaoekkkkkkkghdmorsleidjtldifltsfifesithgmelimlk
ajchwchmqurozqdaverirlmeoarusndorkejmtsimeormtlehoekdmzriglalmetho
slerthrosazlckthmekromlsdigquemelthnlslrejtestalkhlrjjsletehrejrozthiolalely
rletuolgdhnartlgldrtlmalkjfsdñanaioemzlekthldiimsekjrmlkthomsdlkgldheoz
kelldesgyrureiotpleghkdssseruieormdkfjhjkddddgoghfjdsenbvcxxwqsd ...
Actualmente, los biólogos empiezan a distinguir las secuencias
características que comienzan y terminan las palabras del genoma y pueden
identificar cada vez mejor los genes de los que no son genes. Por lo tanto,
con un poco de entrenamiento, los genetistas consiguen leer, entre la
maraña que precede, lo siguiente:
“Quitar codicia no añadir dinero hace a los hombres ricos Casimiro”
384
Pero, incluso después de identificar las palabras de la poesía, aún se
estaría muy lejos de imaginar cómo era ese Casimiro a quien va dirigida la
poesía.
Volviendo a la analogía con el lenguaje humano, la tarea que se han
impuesto los que secuencian el genoma es el inventario de las miles de
palabras del diccionario biológico de la humanidad. Sólo el inventario. La
explicación de las palabras vendrá después. Para dar una idea de la empresa,
este diccionario, a razón de una treintena de genes por página, y un millón
de caracteres aproximadamente, tendrá tres mil páginas, dado que el
genoma tiene tres mil millones de bases. El equivalente, en páginas y peso,
a los dos tomos del Diccionario de la Real Academia de la Lengua.
Pero, a diferencia de los diccionarios corrientes, los vocablos no
estarían dispuestos por orden alfabético, sino por orden cromosómico. Las
palabras del diccionario genómico humano, en lugar de agruparse en las
correspondientes secciones de la A a la Z, se ordenarían en 23 capítulos,
uno por cada par de cromosomas debidamente numerados del 1 al 23, por el
orden convencional que los biólogos le atribuyen. Los del primer par son
los más largos y los del vigésimo primero y vigésimo segundo, los más
cortos. Son, como ya se ha dicho, los cromosomas denominados
"autosomas", es decir, no sexuales, del griego soma, cuerpo. El vigésimo
tercer par corresponde a los cromosomas sexuales X e Y.
Así pues, el primer capítulo, un cromosoma de x millones de bases,
ocuparía x páginas a razón de un millón de caracteres por página; el
segundo, y..., el vigésimo primero, z. "Balizar" y cartografiar el genoma
385
equivale a paginar el diccionario: ordenación de las páginas 1, 2, 3, ... hasta
tres mil, en 23 capítulos, pero sin llenarlos todavía. En este estadio, aún no
se sabe que hay en cada una de las páginas, a excepción de un millar de
palabras, repartidas aquí y allá. Una vez terminada la paginación o, si se
prefiere, la cartografía, podrán los expertos dedicarse al secuenciado
sistemático de los genes, esto es, a llenar de palabras, todavía sin la
explicación, las páginas.
A continuación, dentro de unos años, cuando se tenga la secuencia
del conjunto del genoma, se verá que en el capítulo primero, página 1, están
las palabras, o, sus equivalentes genómicos, no por orden alfabético: a,
abaca, abacena, abacial, ábaco, ..., abad, abadejo, ..., abadesa, ..., sino en el
orden que les ha sido impuesto, por la naturaleza a lo largo de los
cromosomas. Por ejemplo: gracia, desgracia, gracioso; después una palabra
que no se parece a la anterior, como "cotidiano", para continuar con:
agraciado, gracias, seguidas de unas "incongruentes" ciruela y reparto y, a
continuación, desgraciadamente, en gracia, agraciar, .... Entonces,
observándolas más atentamente, se encuentran que muchas de ellas tiene en
su composición las letras "graci" y uno se pregunta: ¿Qué significa ese
factor común? y, más allá, se observará que aparece el factor común "gen"
en genético, que también aparece en otro sitio en otro capítulo, en génesis,
genio, ingenioso, genial, .... Esto permitirá introducir todos los "graci" y
todos los "gen" en una computadora para descubrir su frecuencia de
aparición y examinar las secuencias que los acogen en todos los sentidos.
Luego, se tratará de reclasificar el todo, después de haber anotado los datos
estadísticos significativos. En otra ocasión, los investigadores se pueden
386
tropezar con una serie del estilo de: complacer, complacencia,
complaciente, placentero, pláceme, placer, ... y pudiera darse el afortunado
caso de que se conoce el significado de su factor común, en este caso
"placer" porque está asociado a tal o cual particularidad hereditaria ya
estudiada en profundidad. Ello, permitirá el aventurarse a ensayar nuevas
reglas de construcción, nuevos acoplamientos, a partir de la misma raíz
común. Todo ello de un modo similar a cómo los cartuchos ayudaron a
descifrar los jeroglíficos. Es decir, los genes, al igual que las palabras del
idioma, pueden agruparse por familias, los vocablos de las diferentes
lenguas humanas que giran en torno al mismo concepto comportan una
misma raíz. De igual manera, cabe suponer que los genes cuya secuencia se
parezca poseen funciones similares. Lo cierto y verdad, al menos aquí y
ahora, es que los genes que se parecen vienen de un mismo gen ancestral, y
forman familias de genes con funciones similares. Se habla entonces de
familias multigénicas, cuyos genes pueden estar diseminados en varios
cromosomas. Con frecuencia, genes vecinos tienen una ortografía similar
aún en el caso de que no empiecen por las mismas letras. Y los genes
homónimos son generalmente sinónimos, genes que se escriben de forma
diferente pero tienen significados parecidos. Ello permitirá usarlos, de un
modo similar a cómo se usaron los puntales en el desciframiento de códigos
secretos.
Poco a poco, se irá refinando y afinando el análisis. Al final se sabrá
cómo distinguir los equivalentes de los sinónimos lingüísticos. Incluso,
detectando las raíces comunes, se aprenderá a remontar la genealogía de
ciertos genes; es decir, a seguir su linaje evolutivo. Las funciones biológicas
387
complejas, como: la respiración, la digestión o la reproducción, se asimilan
a frases cuyas palabras están inscritas en páginas diferentes del diccionario
genómico. Porque, si existe un primer libro, el diccionario genético escrito
según el orden topográfico de los cromosomas, la evolución ha escrito otros
mil después de aprenderse este diccionario: sobre la fisiología, el
crecimiento, el envejecimiento, la inmunidad... hasta el libro del
pensamiento que, sin duda, nunca se terminará. Incluso se podría imaginar
que un mismo gen pudiera adquirir un significado diferente según el lugar
que ocupa en tal o cual frase genética, al igual que una palabra en el
lenguaje humano depende del contexto. Además, a medida que la evolución
ha alcanzado nuevos niveles de complejidad, ha ido inventando funciones
biológicas. Es probable que, paralelamente, la combinación genética se haya
enriquecido con nuevas reglas, integradoras de los niveles precedentes, en
otras tantas muñecas rusas de "algoritmos", colocadas unas dentro de otras
en sutil jerarquía.
En resumen, la lengua genética ha debido perfilar progresivamente
su sintaxis y su estilística y falta por encontrar su semántica y su
pragmática. Los mensajes que determinan el color de los ojos, la textura de
la piel o la masa muscular no son, sin duda, de la misma factura que los que
inducen el sistema inmunitario, la diferenciación celular o el "cableado"
cerebral. Obviamente, muchos conceptos fundamentales de esta lengua son
desconocidos. Una vez hecho el secuenciado, queda aún mucho que
investigar de modo que, para ver claro, tal vez sea necesario siglos de
trabajo, si es que se acaba alguna vez. La cuestión es que el ADN no se
ofrece como un libro abierto ni como una cinta de vídeo.
388
Conjetura o hipótesis de trabajo
El dogma científico clásico al que se le inculca o debería inculcar a
todo universitario es que primero se formulan conjeturas o hipótesis y luego
se comprueban. Pero, naturalmente, para la formulación de dichas
conjeturas o hipótesis es necesario tener en cuenta los hechos, tal y como se
presentan y estos hechos son:
Las proteínas deben su función a su estructura o plegado, esto es, a
su forma que depende del orden en la secuencia de los aminoácidos que la
componen. Y este orden, a su vez, viene determinado por la secuencia de
bases del ADN.
De acuerdo con la tabla 4 de King y Jukes (King, 1969), el autor y
colegas calcularon el F2 y observaron que el test de F2 que se obtiene, no da
lugar a dudas de que la distribución de ternas y su traducción en
aminoácidos no se debe al azar, sino todo lo contrario.
De acuerdo con el código genético se sabe que varias ternas dan el
mismo aminoácido.
Esto lleva a plantear la Hipótesis de Trabajo o conjetura propuesta:
Dependiendo de que triplete y en que posición dé un aminoácido
concreto, así será la "situación" del individuo.
389
Comprobación:
Para verificar esta conjetura hay que realizar, y en eso se está, los
siguientes pasos:
-
P1. Determinar una enfermedad genética de etiología única.
-
P2. Intentar asociar dentro del gen causante de la enfermedad las
posibilidades de las relaciones "tripletes versus aminoácidos
obtenidos", para establecer, si es posible, una relación causal, y
si no, una correlación. Para ello hay que definir el tamaño de la
muestra adecuado.
-
P3. Si se establece una causalidad, o una correlación superior a
0,8 ir a P1 con un nuevo caso. Si el número de casos es mayor
que el tamaño de la muestra propuesto y se estableció para todos
una causalidad o correlación alta, aceptar la hipótesis; si no,
rechazarla.
Naturalmente, cuando el código genético sea descifrado en su
totalidad, este tipo de hipótesis carecerá de sentido pues el propio ADN
permitirá hacer explícito su mensaje y las consecuencias que de él emanan.
Pero mientras tanto, es una forma de entender el por qué se producen ciertas
enfermedades.
Bibliografía
[1]
Alonso, F., Pazos, J., 1992. “La Superación de los Obstáculos para
el Desarrollo de Inteligencia Artificial”. En Inteligencia Artificial:
390
Fundamentos Teóricos y Aplicaciones, Real Academia de Ciencias
Exactas, Físicas y Naturales, pp: 219-256. Madrid.
[2]
Aristóteles, 1996. “Investigación sobre los animales”. Circulo de
lectores, S.A. Barcelona, España.
[3]
Boswell, J., 1791. “Boswell’s Life of Johnson”. (6 Agosto de
1763). Londres.
[4]
Cohen, D., 1994. “Los Genes de la Esperanza”. Seix Barral, S.A.
Barcelona.
[5]
Crick, F.H.G., Barnett, L., Brenner, S., Watts-Tobin, R.J., 1961.
“General Nature of the Genetic Code for Proteins”. Nature, vol.
192, pp. 1277-1232.
[6]
Dawkins, R., 1982. “El Gen Egoísta”. Salvat, S.A. Barcelona.
España. Edición Inglesa, The Selfish Gene. Oxford University
Press. Oxford.
[7]
De Broglie, L., 1955. “Por los Senderos de la Física”. Conferencia
Pronunciada en el Museo Guimet el 25 de Febrero de 1955.
[8]
DeJong, K., 1975. “An Analysis of the Behaviour of a Class of
Genetic Adaptive Systems”. PhD Dissertation. Dept. of Computer
and Communication Sciences. University of Michigan. Ann Arbor,
Michigan.
391
[9]
Deutsch, D., 1999. “La Estructura de la Realidad”. Anagrama,
S.A. Barcelona.
[10]
Einstein, A., 1995. “Autobiografía y Escritos Científicos”. Círculo
de Lectores, S.A. Barcelona, España. pp. 50-51.
[11]
Einstein, A., 1970 “Autobiographical Notes”. In, Albert Einstein:
Philosopher Scientist. P.H. Schilpp (Ed.). Open Court Publishing
Company. La Salle, Illinois.
[12]
Everett, H., 1957. “Relative State. Formulation of Quantum
Mechanics”. Rev. of Mod. Physic, vol. 29, pp. 454-462.
[13]
Fogel, L., Atmar, J.W., 1992. Eds.: Proceedings First Annual
Conference on Evolutionary Programming.
[14]
Fogel, L., Owens, A.J., Walsh, M.J., 1966. “Artificial Intelligence
Through Simulated Evolution”. John Wiley and Sons. New York.
[15]
Golberg, D.E., 1989. “Genetic Algorithms in Search, Optimitation
and Machine Learning”. Addison-Wesley. Reading. Mass.
[16]
Holland, J.H., 1975. “Adaptation in Natural and Artificial
Systems”. University Michigan Press Ann Arbor, Michigan.
[17]
Holland, J.H., 1992. “Algoritmos Genéticos”. Investigación y
Ciencia. Septiembre.
392
[18]
Hu, S-T., 1965. “Elements of Modern Algebre”. Holden-Day, Inc.
San Francisco, Ca.
[19]
Kemeny, J.G., 1955. “Man Viewed as a Machine”. Scientific
American, vol. 192 (4), April, pp. 58-67.
[20]
King, J.L., Jukes, T.H., 1969. “Non Darwinian Evolution”.
Science, vol. 164, pp. 788-798.
[21]
Kipling, R., 1990. “The Complet Verse; The Elephant’s Child; Just
so Verses”. Kyle Cathie Limited. London, pp. 497.
[22]
Koutnetsov, B., 1967. “Einstein. Sa Vie. Sa Pensée. Ses Théories”.
Marabout Universite Gerard & Co. Verviers, Belgique.
[23]
Koza, J.R., 1992. “Genetic Programming”. The MIT Press.
Reading, MA.
[24]
Lorenz, K., 1969. “La Otra Cara del Espejo”. Plaza & Janés, S.A.
Esplugas de Llobregat, España.
[25]
Michalewicz, Z., 1992. “Genetic Algorithms + Data Structures =
Evolucionary Programs”. Springer Verlag. New York.
[26]
Penrose, L. J., 1964. “Máquinas que se Autorreproducen”. En R.
Canap, et. Al.: Matematicas en las Ciencias del Comportamiento.
Alianza Editorial, S.A. Madrid, pp. 270-289.
393
[27]
Poincaré, H., 1963. “La Ciencia y la Hipótesis”. Espasa Calpe,
S.A. Madrid.
[28]
Poincaré, H., 1997. “Sobre la Ciencia y su Método”. Círculo de
Lectores, S.A. Barcelona, España.
[29]
Quevedo, F. de., 1995. “Poesía Completa I”. Turner Libros, S.A.
Madrid, pp. 43-44.
[30]
Rechenberg,
I.,
1973.
“Evolutionsstrategie:
Optimierung
Technischer Systeme nach Prinzipien der Biologischen Evolution”.
Fromman-Holzboog Verland. Stuttggart. Deustschland.
[31]
Schrödinger, E., 1983. “What if Life?”. Cambridge Universities
Press. Cambridge 1944. Traducción española ¿Qué es la Vida?.
Tusquets Editores, S.A. pp. 40-42. Barcelona, España.
[32]
Schwefel, H.P., 1975. “Evolutionsstrategie und Numerische
Optimierung. Dissertation”. Technische Universitat Berlin. Berlin.
[33]
Sinden, R.R., 1994. “ADN Structure and Function”. Academic
Press. New York.
[34]
Singh, S., 2000. “Los Códigos Secretos”. Editorial Debate, S. A.
Madrid.
[35]
Shanonn, C.E., 1940. “An Algebra for Theoretical Genetics”. Ph.
D. Dissertation. Massachusetts Institute of Technology (MIT).
394
[36]
Sófocles, 1996. “Ayax Las Traquinianas. Filotecte”. Planeta De
Agostini. Madrid.
[37]
Ter-Avanesyan, M., Inge-Vechfomov, 1988. “Genetical Control of
the Protein Synthesis”. Leningrad University Press. Leningrad.
[38]
Tipler, F.J., 1980. “Extraterrestial Intelligent Beings Do Not Exit”.
Quarterly Journal of the Royal Astronomical Society, vol. 21, pp.
267-281.
[39]
Turing, A.M., 1950. “Computing Machinery and Intelligence”.
Mind, vol. 59, nº 236, pp. 433-460.
[40]
Turing, A.M., 1992. “Intelligent Machinery”. In, Collected Works
of A.M., Turing: Mechanical Intelligence. Elsevier Science
Publishers. New York.
[41]
Turing, A.M., 1936. “On Computable Number, with an application
to the Entscheidungsproblem”. Proc. Lond. Math. Soc. (2), vol. 42,
pp. 280-285.
[42]
Von Neumann, J., 1963. “La Teoría Lógica y General de los
Autómatas”. En Cerebral Mechanisms in Behaviour. L.A. Jeffres
(Ed). John Willey and Sons. New York 1951, pp. 1-41. Y en, John
von Neumann. “Collected Works”. Pergamon. Oxford, pp. 288328.
395
[43]
Von Neumann, J., 1966. “Theory of Self-Reproducing Automata”.
Illinois University Press. Urbana. Illinois.
[44]
Vose, M., 1993. “Modeling Simple Genetic Algorithms”.
Foundation of Genetic Algorithms (2). D. Whitley (Ed.) Morgan
Kauffman, pp. 63-73.
[45]
Watson, J.D., Crick, F.H.C., 1953. “Molecular Structure of Nucleic
Acid. A Structure for Deoxyribose Nucleic Acid”. Nature, vol. 171,
1953 (a), pp. 737-738.
[46]
Watson, J.D., Crick, F.H.C., 1953. “Genetic Implications of the
Structure of Deoxyribonucleic Acid”. Nature, vol. 171, 1953 (b),
pp. 964-967.
396
El libro
Inteligencia Artificial y
Computación Avanzada
de Juan J. Romero, Carlos Dafonte, Ángel
Gómez y Fernando J. Penousal (Eds.),
editado por la
Fundación Alfredo Brañas
se terminó de imprimir en los talleres de
Tórculo, Artes Gráficas de A Coruña
en el mes de enero de 2007
PUBLICACIONES DE LA
FUNDACION ALFREDO BRAÑAS
C/ Ourense nº 11 - bajo.
15701. Santiago de Compostela
www.fundacionbranas.org
Telf.: (981) 58.05.77 - Fax: (981) 58.01.63
CIF.: G-150.78.009
Distribuidor para Galicia de los Libros de la FAB
Editorial Galaxia, Travesía de Vigo, 71
36206. Vigo
Colección Informática
1.
S. CARIDAD-SIMON (Ed.). Los Medios Informáticos de Gestión Empresarial Pública y Privada.
1991.290 pág. I.S.B.N. 84-88051-01-8.
2.
S. CARIDAD-SIMON (Ed.). El Reto de la Informática en la Década de los 90. 1991. 250 pág.
I.S.B.N. 84-88051-02-6.
3.
A. PAZOS SIERRA y N. EZQUERRA (Eds.). Inteligencia Artificial en Medicina. 1994. 164 pág.
I.S.B.N. 84-88051-42-5.
4.
A. PAZOS SIERRA y J.Mª BARREIRO (Eds.). Teleinformática. 1996. 160 pág. I.S.B.N. 84-8805155-7.
5.
A. PAZOS SIERRA y J.Mª BARREIRO (Eds.). Realidad Virtual y Visualización Avanzada. 1999.
320 pág. I.S.B.N. 84-88051-68-9.
6.
A. PAZOS SIERRA, J.Mª BARREIRO, A. SANTOS DEL RIEGO y J. DORADO DE LA CALLE
(Eds.). Aplicaciones Avanzadas en Internet. 1999. 222 pág. I.S.B.N. 84-88051-74-3.
7.
A. PAZOS SIERRA, C. MONTES GRACIA, A. SANTOS DEL RIEGO y J.Mª BARREIRO (Eds.)
Nuevas Tecnologías y Computación Avanzada en la Ayuda a Discapacitados. 1999. 348 pág.
I.S.B.N. 84-88051-72-7.
8.
J. ARES, M. LÓPEZ, A. MORENO y R. GARCÍA (Eds.) Ingeniería del Software. Diferentes
Tendencias. 1999. 280 pág. I.S.B.N. 84-88051-75-1.
9.
A. MORENO SÁNCHEZ-CAPUCHINO, J.Mª BARREIRO SORRIVAS, A. SANTOS DEL RIEGO
y R. GARCÍA VÁZQUEZ (Eds.) Ingeniería del Software en Aplicaciones 3D. Entornos Inmersivos
e Interactivos. 1999. 160 pág. I.S.B.N. 84-88051-92-1.
10.
J. DORADO, J. RABUÑAL, J.J. ROMERO y A. PORTO (Eds.) Protección y Seguridad de la
Información. 2002. 160 pág. I.S.B.N. 84-88051-98-0.
11.
J. DORADO, N. PEDREIRA, J. PEREIRA y C. DAFONTE (Eds.) El Futuro de Internet: Acceso y
Teleservicios. 2002. 258 pág. I.S.B.N. 84-88051-99-9.
12.
J. DORADO, N. PEDREIRA, J. RABUÑAL y A. PAZOS (Eds.) Bioinformática. 2004. 228 pág.
I.S.B.N. 84-88051-49-2.
13.
J.J. ROMERO, C. DAFONTE, A. GÓMEZ y F.J. PENOUSAL (Eds.) Inteligencia Artificial y
Computación Avanzada. 2007. 400 pág. I.S.B.N. 84-934497-0-9.