NeoFronteras

Computador bacteriano resuelve problema

Área: Genética,Tecnología — martes, 27 de mayo de 2008

Un computador basado en bacterias con el ADN alterado resuelve un simple problema matemático clásico. Este tipo de ordenadores tendría gran capacidad de cómputo en paralelo.

Foto

En inglés, cuando se hace referencia a un error en el código de un programa informático, se le llama «bug», es decir: «bicho». Esta denominación se suele atribuir a los tiempos en los se trabajaba en el Harvard University Mark II Aiken Relay Calculator, que era una computadora primitiva de los años cuarenta. En septiembre de 1947 esta computadora experimentaba ciertos problemas y descubrieron que se debían a una polilla atrapada en el relé número 70 del panel F. Se dice que la eliminación del bicho o debugging pasó a formar parte desde entonces de la jerga informática para designar la eliminación de errores. Pero probablemente el término estaba ya en uso antes de eliminar la mencionada polilla, ya que en el cuaderno de notas aparece escrito «First actual case of bug being found» (hallado el primer caso real de bicho). Se cree que ya en los tiempos del telégrafo se utilizaba este término, utilizándose posteriormente para la radio y el radar.
Los bichos vivos ya no suelen dar problemas en los ordenadores modernos, pero quizás para algunos computadores experimentales no sólo no dan problemas, sino que sus cálculos se basan en ellos.
Unos investigadores han creado una computadora viva basada en bacterias modificadas genéticamente que efectúa cálculos computacionales reales. El logro demuestra que es posible la computación basada en células vivas, abriendo nuevos caminos a un variado número de aplicaciones que incluyen el almacenamiento de datos como una herramienta más en la manipulación de genes en ingeniería genética.
El equipo de investigadores de Davidson College y Missouri Western State University añadieron genes a bacterias Escherichia coli creando la primera computadora bacteriana capaz de resolver un rompecabezas matemático clásico simple: el problema de las tortitas quemadas.
Este problema consiste en una pila de tortitas de diferentes tamaños en la que cada una tiene una cara dorada y otra quemada. El objetivo es ordenar en orden decreciente en tamaño la pila de tortitas desde la tortita más grande que debe estar en el fondo a la más pequeña en la cima y todas con la cara dorada hacia arriba. Cada vez que se da la vuelta a una se cambia el orden y la orientación de un grupo arbitrario de tortitas consecutivas. La meta es conseguir el objetivo en el menor número de pasos posibles.
Este problema puede ser resuelto por otros medios y se propuso en este caso simplemente como una meta matemática más a resolver mediante este tipo de computación.

Foto
Ya el año pasado este mismo grupo fue capaz de resolver otro problema matemático usando este tipo de computación. El problema consistía en encontrar un camino hamiltoniano que fuera, sobre un grafo dirigido de siete vértices, del vértice 1 al 7 pasando por cada vértice una sola vez.

En este experimento los investigadores usaron fragmentos de ADN como si fueran las tortitas, es decir simbolizaban las tortitas del problema en cuestión genéticamente. Añadieron genes procedentes de un tipo de bacteria diferente para que las E. Coli pudieran «dar la vuelta» a las «tortitas» de ADN. Además añadieron un gen que hacía a las bacterias resistentes a un antibiótico solamente cuando conseguían ordenar las «tortitas» en el orden correcto. Una vez pasado un tiempo al añadir el antibiótico se eliminaba aquellas bacterias que no hubieran alcanzado la solución.
El tiempo requerido por las bacterias para alcanzar la solución matemática reflejaba el mínimo número de pasos necesarios para resolver el problema de las tortitas quemadas.
Según Karmella Haynes este sistema proporciona ventajas potenciales sobre los ordenadores habituales para ciertos problemas. Un contenedor corriente para este tipo de experimentos contiene miles de millones de bacterias, cada una capaz de contener varias copias de ADN susceptibles de ser usadas para computación. La computadora bacteriana podría efectuar cálculos en paralelo como ninguna otra. De este modo, las soluciones a cierto tipo de problemas que no pueden ser alcanzadas en un tiempo sensato por las computadoras habituales pueden ser alcanzadas por este tipo de computadora en menor tiempo, usando menos espacio y a un costo inferior. Además de la ventaja del paralelismo, la computación bacteriana podría usar mecanismos reparadores y, por su puesto, evolucionar después de su uso repetido mejorando con el tiempo.

Fuentes y referencias
Nota en Eureka Alert.
Resumen artículo.
Pdf del artículo original (abierto).
BioBricks
Hamiltonian Path Problem.
Entrevista a una de los investigadores (podcast en inglés en mp3).

Salvo que se exprese lo contrario esta obra está bajo una licencia Creative Commons.
Compartir »

4 Comentarios

  1. lluís:

    Realmente sorprendente. A mí me parece de ciencia-ficción, pero con la ventaja de que es ciencia. ¿Qué es la conciencia? Pues ahora parece más claro: un montón de bacterias que debidamente organizadas en un determinado sistema son capaces de resolver problemas mediante procesos algorítmicos. Y, encima, esta computadora viviente, evoluciona… esto da para mucho.

  2. NeoFronteras:

    Son los primeros pasos. Pero quizás estas computadoras sean capaces de resolver en el futuro problemas que hoy son inabordables con las tradicionales. Si se tiene mucha, pero que mucha, fuerza bruta se pueden hacer determinados cálculos impensables con microchips de silicio.

  3. Jose M Piñeiro:

    Yo no veo que aquí se haya calculado absolutamente nada.
    Simplemente se le dio ADN a las bacterias.
    Las bacterias las reordenaron de todos los modos posibles, lo cual suele ser su comportamiento habitual.
    Los investigadores seleccionaran la ordenación que querían a base de matar todas las demás.
    Básicamente seria lo mismo que:
    – Pongo a un grupo de voluntarios con una caja fuerte.
    – Los voluntarios pierden tiempo dándole vueltas al azar ya que no tienen la combinación ni saben abrir caja fuertes.
    – A todos los que no hayan abierto la caja fuerte les pego un tiro.
    Y digo que el que abrió la caja fuerte «ha calculado» la combinación correcta.
    Lógicamente para problemas simples y siempre que conozcamos la solución es una aproximación valida. Pero para problemas complejos, que no se pueden atacar por fuerza bruta, este sistema no sirve de nada.

  4. NeoFronteras:

    Efectivamente el método es de fuerza bruta y su metáfora quizás sea descriptiva. Pero se le olvida que a veces la fuerza bruta es el único método para resolver cierto tipo de problemas exactamente. Los problemas NP o NP-completos son difíciles de abortar porque se desconocen algoritmos que los soluciones en un tiempo polinómico. El problema del viajante, el de isomorfía de grafos o el de la mochila son algunos ejemplos.
    Básicamente la única manera de obtener un resultado exacto es probando con todas las posibilidades, y es en definitiva calcular, aunque a la fuerza bruta. Existen algoritmos que los resuelven aproximadamente, pero se desconocen algoritmos que los resuelvan exactamente en un tiempo polinómico. Es más, en algunos casos se sospecha que no existen en absoluto o, peor aún, que no se sabe si existen tales algoritmos o no.
    Por otro lado tampoco se podía pedir que un ábaco resolviera un problema que resuelven las actuales computadoras. En este campo se están dando los primeros pasos.
    Quizás 10 monos apretando al azar las teclas de un teclado no puedan escribir una frase coherente, pero mil billones de monos probablemente sí. En esto se basa la fortaleza de este método.

    Se ha añadido un enlace a una entrevista en mp3 realizada para la NPR, quizás le sea de ayuda.

RSS feed for comments on this post.

Lo sentimos, esta noticia está ya cerrada a comentarios.