| |
La
Computación Natural, o Biocomputación, como todas las áreas
de la Inteligencia Artificial, está inspirada en el comportamiento
de los organismos vivos y su objetivo fundamental es la
simulación e implementación de los procesos dinámicos que
se dan en la Naturaleza y que son susceptibles de ser considerados
como “procedimientos” de cálculo.
En realidad, el ser humano experimenta a diario con estos
procesos. Un ejemplo comprensible es el acto de atravesar
una calle o camino (que para simplificar se supondrá de
un solo sentido. El proceso sería: 1) mirar para ver si
viene carro, si no viene, cruzar; 2) si viene carro lejos,
basado en el aumento de la imagen, el computador biológico
calcula el tiempo que demorará en llegar al punto de cruce;
calcula igualmente cuánto demorará la persona en llegar
al mismo punto, ya sea caminando o corriendo, y –lo que
es más importante– compara
todos estos tiempos mentales a efectos de una decisión:
cruzar – despacio o corriendo– o esperar.
¿Qué parte del cuerpo humano hizo estos cálculos y trasmitió
los resultados al cerebro para que éste decidiera el siguiente
efecto motriz? Los cálculos fueron aritméticos, y para quien
usa lápiz, papel y memoria, le requiere tiempo, físico,
real; todo el mundo sabe (biológica e instintivamente) qué
hacer para cruzar la vía (aunque algunos pocos se equivoquen,
fatalmente...)
Los científicos de varias ramas, un poco antes de la década
de los 50, iniciaron la llamada “computación a nivel molecular”,
casi como una extensión de la miniaturización y con ayuda
de los ordenadores de aquella época. Ya se conocía que los
cromosomas se trasmitían en las células de generación en
generación, pero por estar constituidos por proteínas, ADN
y otros elementos no se sabía cual de ellos trasmitía la
herencia, hasta que en 1955 los estadounidenses McLeod y
McCarty identificaron al ADN como el responsable de esa
tarea.
En adelante, Watson y Krick descifran la estructura de las
moléculas de ADN y demuestran que esas moléculas son responsables
del soporte de la información genética de los organismos
vivos, la cual está basada en una secuencia de otras moléculas
muchísimo menores llamadas nucleótidos justificando a la
vez la posibilidad de usar ciertas técnicas de laboratorio
(reacciones químicas controladas) para la manipulación de
algoritmos que usan a dichas moléculas como espacios de
memoria.
Cada nucleótido dispone de tres elementos: una base nitrogenada,
un azúcar (la desoxirribosa) y un grupo fosfato. La base
es la verdadera responsable de la especificidad de la información,
y existen cuatro diferentes que se denominan con las letras
A (Adenina), G (Guanina), C (Citosina) y T (Timina), y filosóficamente
“representan las cuatro letras con que se escribirá el libro
de la vida”. Los otros dos componentes representan una función
estructural y facilitadora de la polimerización mediante
el engarce consecutivo de los diferentes nucleótidos.
La Estructura de Doble Hélice
Cada cromosoma posee una sola molécula de ADN, de conformación
extendida como una hebra, en la que cada gen ocupa un segmento.
La molécula humana, en su totalidad tendría la longitud
de 1.7 cm a 8.5 cm, de donde el DNA presente en todos los
cromosomas de una célula tendría una fabulosa longitud superior
a un metro.
El mensaje genético solo consiste en información que determina
el número, el tamaño y la secuencia de los aminoácidos de
cada uno de los distintos tipos de proteína de un organismo.
Y a su vez cada grupo consecutivo de tres bases codifica
un aminoácido a ser incorporado en la proteína o codifica
una información de control simple.
El DNA almacena la información en base a su estructura semejante
a una doble hélice compuesta de dos hebras entrelazadas
de DNA, con una hebra que soporta la información genética
(hebra sensible) y la otra su información llamada “complementaria”
que está definida por reglas: a la hebra sensible le corresponde
el complemento T, a la T la A, a la C la G, y a la G la
C. Esta doble hélice es sostenida mediante vínculos de hidrógeno
entre la hebra sensible y su complemento, estructura resistente
a daños externos aún cuando cualquier hebra puede auto-repararse
a partir de la información de su complemento.
El Algoritmo de Adleman
La Bioinformática, entonces, es la rama de la Ciencia que
usa la información para comprender la Biología, un nuevo
campo interdisciplinario que agrupa a biólogos moleculares,
bioquímicos, físicos, matemáticos y computólogos; la magnitud
de este campo es tal que se llevan detectados y estudiados
35,000 genes, formados por 3000 millones de pares de bases
químicas (A-T y C-G) presentes en cada una de los 100 Billones
de células de una persona.
Queda mucho camino para recorrer sobre la interacción de
estos genes, su regulación y control, así como los productos
proteicos que expresan y producen.
Inclusive se podría saber cuales son los genes cuyo mal
funcionamiento origina enfermedades para reemplazarlos por
otros corregidos. Comienza la era “post genómica” que asistirá
al relevo del genoma por el proteoma, que serían redes de
proteínas. Así mismo, surgen los ADN “microarrays” (biochips
o chips de genes) en los que se pueden monitorear simultáneamente
decenas de miles de genes en distintas condicione celulares,
lo que a su vez implica un tratamiento de imágenes y de
los datos obtenidos “en bruto” para su posterior cuantificación.
El trabajo que dio inicio a la computación ADN fue realizado
por Leonard Adleman en 1994 quien experimentó con el problema
del “Camino Hamiltoniano”, que consiste en determinar si
en un grafo con vértice de inicio y final existe alguna
secuencia de pasos mediante los cuales cada vértice en el
grafo es visitado una sola vez. (Conocido en Investigación
Operativa como el problema del vendedor)
Los pasos de este algoritmo son:
1.-
Generar caminos aleatorios a través del grafo.
2.-
Remover los caminos que comienzan con vértices diferentes
del “p”(partida) y aquellos que terminan con vértices diferentes
del “f”(final).
3.-
Remover los caminos que visitan una cantidad de vértices
diferente al tamaño del conjunto.
4.-
Remover los caminos que visitan algún vértice más de una
vez.
5.-
Si existe algún camino restante la respuesta es positiva,
de otro modo será negativa.
Este algoritmo es sencillo para pocos vértices pero su complejidad
es exponencial y su ejecución puede tardar horas (y más)
en un computador electrónico. Para un computador ADN esas
horas se reducen a minutos.
En razón de los enormes avances de los biólogos moleculares
en esta área, que queda representada en los centenares de
libros, artículos y publicaciones Internet, donde puede
encontrarse el detalle de estos trabajos, se concreta esta
exposición a la participación de la Computación, que corrobora
la posibilidad de inferir procesos biológicos secuenciados
en relación con los mecanismos de la visión y otros sentidos
del humano, cuyas funciones como sistemas de información
son temas de otros análisis por parte del suscrito. |
|
En
este caso, para generar secuencias ADN que representen todos
los caminos a través del grafo se toma una representación
de vértices y aristas por medio de hebras únicas para cada
vértice, y en cuanto a las aristas se usa la noción de Complemento
ya explicada y se seleccionan aquellos pares (de hebras
asignadas a los vértices) de extremos iguales pero que no
contengan demasiados segmentos comunes. Se crean así tubos
de ensayo que contienen múltiples hebras que representan
cada arista y cada vértice. Una vez que estos tubos de ensayo
sean mezclados de manera conjunta, los caminos legales a
través del grafo son generados por la atracción mutua de
segmentos ('strings') y sus complementos de cadenas de hidrógeno
lo cual conlleva a la solución después de una o varias iteraciones.
Todo ello determinado por fenómenos y procesos químicos
o electroquímicos, según el caso.
Comandos básicos para esta programación
A la gente de Computación e Informática seguramente le llamará
la atención el tipo de comandos que rigen mediante distintas
reacciones químicas la materialización de los algoritmos
mencionados. La descripción de dichos comandos básicos es
la siguiente:
1.-
RESET (S).- Se considera una inicialización para el conjunto
S. Se encarga de generar todas las hebras para las operaciones
restantes, las cuales pueden representar un mismo valor
o distintos valores según requieran los datos.
2.- ADDIN (x,S).- Este
comando adiciona un valor (x) a todos los números que se
encuentran dentro del conjunto S.
3.- SUB (x,S).- Esta
operación se encarga de sustraer un valor (x) de todos los
números que se encuentran dentro del conjunto S.
4.- DIVIDE (S, S1, S2, C).- Este
comando separa el conjunto S en dos conjuntos diferentes
S1 y S2, basado en el criterio C. Si no se proporciona criterio
alguno, entonces los componentes de los conjuntos se toman
de modo aleatorio y el conjunto S se distribuirá uniformemente
en dos conjuntos S1 y S2.
5.- UNION (S1, S2, S).- Esta operación combina
en paralelo todos los componentes de los conjuntos
S1 y S2, en el conjunto S.
6.- COPY (S, S1).- Esta
operación copia completamente el conjunto S sobre el S1.
7.- SELECT (S, C).- Permite
seleccionar un elemento de S siguiendo el criterio C. Si
no se proporciona este criterio, el comando actuará seleccionando
aleatoriamente un elemento.
También los Ceros y los Unos...
Pero la Computación ADN no se va a quedar en la solución
de problemas de alta complejidad que puedan ser descompuestos
en problemas de caminos hamiltonianos. El equipo de Adleman
introdujo otro concepto de computación digital llamado Modelo
Sticker en 1996, que puede codificar ceros y unos en secuencias
de ADN y procesarlos mediante un algoritmo.
En este modelo se usan secuencias de bases ADN para representar
los ceros y los unos, por supuesto en diversas combinaciones
de segmentos tipo TA, AT, CG, GC, de tal forma que se pueden
crear cadenas de bits (8, 12, 24, etc.) los cuales serán
activados usando las cadenas complementarias.
Adleman sostiene que se podrán hacer cuatro tipos de operaciones:
1.- Combinar el contenido de bits de dos tubos en uno.
2.- Separar el contenido de un tubo en dos tubos, de modo
arbitrario por un bit que se encuentre en determinado punto
de la cadena.
3.- Asignar un 1 al bit que se encuentre en determinada
posición en todas la cadenas de un tubo dado.
4.- La misma operación anterior, asignando un Cero.
La computación en este modelo Sticker se hace mediante múltiples
operaciones de Mezcla, Separación por uno o varios bits,
Set y Reset por un bit según los comandos vistos.
La programación es similar a la programación en ensamblador
pero bastante más ardua por la profundidad de su nivel,
sobre todo para los programadores modernos, acostumbrados
a la facilidad de los lenguajes de alto nivel.
Para el modelo físico del sticker, la gente de Adleman describe
una serie de tubos de ensayo, tantos como sean necesarios
según la complejidad del problema que debe resolverse, manipulados
por brazos robots y una serie de cabezales que realizan
las operaciones. Importante: Los tubos que dejen de tener
datos han de ser rigurosamente esterilizados antes de volverlos
a usar en una nueva operación. Las ventajas que se asignan
a este modelo consisten en el ahorro de muchos procesos
químicos costosos y cuyos componentes no pueden ser reutilizados.
El computador microscópico israelí
En materia de computadores ADN, uno de los más impactantes
desarrollos está siendo llevado a cabo por un grupo de científicos
israelíes del Instituto Weizmann quienes armaron un computador
microscópico a base de moléculas de ADN, el conocido material
que compone las células portadoras de la herencia biológica.
Las dimensiones de las computadoras así creadas son tales
que un millón de millones de ellas podrían funcionar en
forma paralela, según el jefe del grupo, Profesor Shapiro.-
Y para ilustrar acerca de su capacidad de proceso, se estima
que podrían llevar a cabo un Billón de operaciones por segundo
con una precisión superior al. 99.8% en un tubo de ensayo.
Hay más aún: los científicos sostienen que su invento podría
llevar a la creación de un dispositivo capaz de procesar
el ADN dentro del cuerpo humano que permitirá aplicaciones
médicas de gran alcance. Los computadores están hechos con
hebras de ADN mezcladas con enzimas. Se supone que podrían
pasar décadas (talvez años, o menos...) antes de que estos
microscópicos computadores puedan ser perfeccionados, aunque
evidentemente son algo más que una seudoutopía. En teoría
estos ordenadores podrían ser mil veces más rápidos que
los PC normales y utilizarían menos energía.
Como conclusión: así como Einstein y advirtió al Mundo que
bombardear el átomo podría desencadenar energía incontrolable
('remember Hiroshima'), véase como los científicos actuales
esterilizan y destruyen residuos de sus experimentos como
prueba de que estos espectaculares avances de la ciencia
deben ser manejados con extrema prudencia. Científica y
política.
|
|