Qué es la computación con ADN, cómo funciona y por qué es tan importante
Durante la última década, los ingenieros se han topado con la dura realidad de la física en la búsqueda de ordenadores más potentes: los transistores, los interruptores de encendido y apagado que alimentan el procesador del ordenador, no pueden hacerse más pequeños de lo que son actualmente. Más allá del chip de silicio, actualmente se está desarrollando una alternativa intuitiva que utiliza el ADN para realizar el mismo tipo de cálculos complejos que hacen ahora los transistores de silicio. Pero, ¿qué es la computación con ADN, cómo funciona la computación con ADN y por qué es tan importante?
Más allá del transistor
El problema de los transistores es que ahora existen a la escala de unos pocos nanómetros de tamaño, sólo unos pocos átomos de silicio de espesor. Prácticamente no pueden hacerse más pequeños de lo que son ahora.
Si se hacen más pequeños, la corriente eléctrica que fluye por el transistor se escapa fácilmente hacia otros componentes cercanos o deforma el transistor debido al calor, haciéndolo inútil. Se necesita un número mínimo de átomos para que el transistor funcione y, funcionalmente, hemos alcanzado ese límite.
Los ingenieros han encontrado algunas soluciones a este problema mediante el uso de sistemas multinúcleo y de multiprocesamiento para aumentar la potencia de cálculo sin tener que reducir aún más los transistores, pero esto también conlleva contrapartidas en términos de desafíos de programación y requisitos de energía, por lo que se necesita otra solución si esperamos ver ordenadores más potentes en el futuro.
VEA TAMBIÉN: COMPUTACIÓN COGNITIVA: MÁS HUMANA QUE LA INTELIGENCIA ARTIFICIAL
Aunque la computación cuántica está recibiendo mucha prensa últimamente, la computación del ADN puede ser tan potente, o incluso más, que la computación cuántica y no se encuentra con tantas limitaciones de estabilidad como ésta. Además, sabemos que funciona; nosotros mismos somos ejemplos vivientes del almacenamiento de datos y la potencia de cálculo de la computación del ADN.
El reto de la computación del ADN es que, comparada con la computación clásica, es dolorosamente lenta. La evolución ha tenido cientos de millones de años para desarrollar la complicada secuencia de ADN que existe dentro de todas y cada una de nuestras células, de modo que el ADN está acostumbrado a trabajar según escalas de tiempo geológicas, no según los múltiples gigahercios de los procesadores clásicos modernos.
Entonces, ¿cómo funciona la computación del ADN y por qué la perseguimos si es tan lenta?
¿Qué es la computación del ADN, cómo funciona y por qué es tan importante?
Para entender qué es la computación con ADN, cómo funciona y por qué la computación con ADN es algo tan importante, primero tenemos que dejar de pensar en ella como una especie de sustituto de nuestro uso cotidiano de los ordenadores clásicos; no vamos a jugar a juegos en un ordenador con ADN dentro de poco, si es que tal cosa fuera posible. Los chips de silicio seguirán con nosotros durante mucho tiempo.
La computación del ADN es lo que utilizaríamos para resolver problemas que van más allá de lo que puede resolver un ordenador clásico, del mismo modo que la computación cuántica puede descifrar la encriptación RSA en instantes mientras que un ordenador clásico podría tardar miles de años en hacer lo mismo.
La computación del ADN fue descrita por primera vez en 1994 por el informático Leonard Adleman de la Universidad del Sur de California. Después de leer sobre la estructura del ADN, se inspiró para escribir un artículo en la revista Science en el que mostraba cómo se podía utilizar el ADN para un infame problema matemático y de ciencias de la computación conocido como el problema del camino dirigido de Hamilton, comúnmente llamado el problema del «viajante de comercio» (aunque el problema del camino de Hamilton es una versión ligeramente diferente del problema del viajante de comercio, para nuestros propósitos son esencialmente intercambiables).
¿Qué es el problema del vendedor ambulante?
Como lo define el problema del vendedor viajero, una empresa tiene un vendedor que debe visitar n número de ciudades haciendo llamadas y sólo puede visitar cada ciudad una vez. ¿Qué secuencia de ciudades visitadas proporciona el camino más corto y, por tanto, el más barato?
Cuando n es igual a 5, el problema puede resolverse a mano en un papel y un ordenador clásico puede probar todos los caminos posibles con relativa rapidez. ¿Pero qué pasa si n es igual a 20? Encontrar el camino más corto entre 20 ciudades se vuelve mucho más difícil desde el punto de vista computacional y un ordenador clásico tardaría exponencialmente más tiempo en encontrar la respuesta.
Trate de encontrar el camino más corto entre 500 ciudades y un ordenador clásico tardaría más que toda la vida del Universo en encontrar el camino más corto, ya que la única forma de verificar que hemos encontrado el camino más corto es comprobar cada una de las permutaciones de las ciudades. Existen algunos algoritmos que utilizan la computación dinámica y que, en teoría, pueden reducir el número de comprobaciones necesarias (y el problema real de la ruta de Hamilton no requiere comprobar cada nodo de un gráfico), pero eso podría recortar unos cuantos millones de años; el problema seguirá siendo prácticamente imposible desde el punto de vista computacional en un ordenador clásico.
Cómo la computación del ADN resuelve este problema
Lo que Adleman pudo demostrar es que el ADN puede ensamblarse de tal manera que un tubo de ensayo lleno de bloques de ADN podría ensamblarse para codificar todos los posibles caminos del problema del viajante de comercio al mismo tiempo.
En el ADN, la codificación genética está representada por cuatro moléculas diferentes, llamadas A, T, C y G. Estos cuatro «bits», cuando se encadenan, pueden contener una cantidad increíble de datos. Al fin y al cabo, el genoma humano está codificado en algo que puede empaquetarse en un solo núcleo de una célula.
Al mezclar estas cuatro moléculas en un tubo de ensayo, las moléculas se ensamblan de forma natural formando cadenas de ADN. Si alguna combinación de estas moléculas representa una ciudad y una trayectoria de vuelo, cada hebra de ADN podría representar una trayectoria de vuelo diferente para el vendedor, calculándose todas a la vez en la síntesis de las hebras de ADN ensamblándose en paralelo.
Entonces, sería simplemente una cuestión de filtrar los caminos más largos hasta que sólo quedara el camino más corto. En su artículo, mostró cómo se podía hacer esto con 7 ciudades y la solución al problema se codificaría en cuanto se sintetizaran las cadenas de ADN.
La razón por la que esto generó entusiasmo fue que las estructuras de ADN son baratas, relativamente fáciles de producir y escalables. No hay límite a la potencia que teóricamente puede tener la computación del ADN, ya que su potencia aumenta cuantas más moléculas se añadan a la ecuación y, a diferencia de los transistores de silicio, que pueden realizar una sola operación lógica a la vez, estas estructuras de ADN pueden realizar teóricamente tantos cálculos a la vez como sean necesarios para resolver un problema y hacerlo todo a la vez.
El problema, sin embargo, es la velocidad. Aunque la solución de Adleman al problema del viajante de comercio tardó unos instantes en codificarse en sus hebras de ADN en el tubo de ensayo, se necesitaron días para filtrar las soluciones erróneas hasta encontrar la solución óptima que buscaba, tras una meticulosa preparación para este único cálculo.
Aún así, el concepto era sólido y el potencial para obtener increíbles ganancias en la capacidad de almacenamiento y la velocidad de cálculo era obvio. Esto dio inicio a dos décadas de investigación sobre cómo hacer realidad la computación práctica del ADN.
¿Cuáles son las ventajas de la computación del ADN?
Como se demostró con el artículo de Adleman, la mayor ventaja de la computación del ADN sobre la computación clásica -e incluso la cuántica hasta cierto punto- es que puede realizar innumerables cálculos en paralelo. Esta idea de la computación paralela no es nueva y ha sido imitada en la computación clásica durante décadas.
Cuando se ejecutan dos aplicaciones en un ordenador al mismo tiempo, en realidad no se están ejecutando de forma concurrente; en cualquier momento, sólo se está llevando a cabo una instrucción. Así que si estás escuchando música y comprando en línea usando un navegador, el ordenador está usando algo llamado cambio de contexto para dar la apariencia de concurrencia.
Ejecuta una instrucción para un programa, guarda el estado de ese programa después de que la instrucción se lleva a cabo, y elimina el programa de la memoria activa. A continuación, carga el estado previamente guardado del segundo programa, ejecuta su siguiente instrucción, guarda su nuevo estado y lo descarga de la memoria activa. A continuación, vuelve a cargar el primer programa para ejecutar su siguiente instrucción y así sucesivamente.
Al hacer millones de pasos incrementales por segundo a través de diferentes programas, se logra la apariencia de concurrencia, pero nada se está ejecutando realmente en paralelo. La computación del ADN puede realmente llevar a cabo estos millones de operaciones al mismo tiempo.
Más de 10 trillones de moléculas de ADN pueden comprimirse en un solo centímetro cúbico. Este centímetro cúbico de material podría, en teoría, realizar 10 billones de cálculos a la vez y contener hasta 10 terabytes de datos. En muchos sentidos, gran parte de la prensa exagerada pero inexacta que recibe la computación cuántica es en realidad posible con la computación del ADN.
La computación del ADN es un complemento de la computación cuántica, de modo que cuando se combinan y son dirigidas por un ordenador clásico que actúa como gestor de estilo Singleton, los tipos de incrementos dramáticos en la potencia computacional que la gente espera ver en el futuro son realmente posibles.
¿Cuánto tardarán en llegar los ordenadores con ADN?
Hemos recorrido un largo camino desde 1994. Poco después de que Adleman publicara su artículo, los investigadores fueron capaces de construir puertas lógicas a partir del ADN, es decir, partes de un circuito construidas a partir de transistores individuales que pueden construir complicadas ecuaciones lógicas de verdadero-falso a partir de la corriente eléctrica.
Este mismo mes, científicos informáticos de la Universidad de California en Davis y Caltech han sintetizado moléculas de ADN que pueden autoensamblarse en estructuras ejecutando esencialmente su propio programa utilizando entradas de seis bits.
Microsoft tiene incluso un lenguaje de programación para la computación del ADN que puede ayudar a que la computación del ADN sea práctica una vez que la tecnología de los bioprocesadores progrese hasta el punto de poder ejecutar algoritmos más sofisticados. De hecho, Microsoft tiene previsto introducir la computación del ADN en sus servicios en la nube para 2020 y está desarrollando activamente un almacenamiento de datos de ADN para integrarlo en sus servicios en la nube.
Es probable que estos avances se realicen mucho más rápido que los de la computación cuántica. La computación cuántica requiere maquinaria sofisticada, superconductores y condiciones extremadamente frías para mantener los qubits lo suficientemente estables como para realizar cualquier tarea computacional realmente útil, y a menos que desarrollemos un material que pueda actuar como superconductor a temperatura ambiente, no se abrirán paso en nuestros ordenadores a corto plazo.
La computación con ADN, por su parte, utiliza el ADN que nos hemos vuelto expertos en manipular hasta el punto de sustituir un solo gen de una cadena de ADN a través de CRISPR. Los materiales necesarios para sintetizar las moléculas de ADN son baratos y fácilmente disponibles y permanecen estables a temperatura ambiente y más allá. Lo que la computación del ADN es potencialmente capaz de lograr dada la resistencia del ADN y el paralelismo biológico representa un paso esencial hacia el futuro de la computación.
Leave a Reply