La computación natural , [1] [2] también llamada computación natural , es una terminología introducida para abarcar tres clases de métodos: 1) aquellos que se inspiran en la naturaleza para el desarrollo de nuevas técnicas de resolución de problemas; 2) los que se basan en el uso de computadoras para sintetizar fenómenos naturales; y 3) aquellos que emplean materiales naturales (por ejemplo, moléculas) para calcular. Los principales campos de investigación que componen estas tres ramas son las redes neuronales artificiales , los algoritmos evolutivos , la inteligencia de enjambre , los sistemas inmunes artificiales , la geometría fractal, la vida artificial , la computación del ADN ycomputación cuántica , entre otros.
Los paradigmas computacionales estudiados por la computación natural se abstraen de fenómenos naturales tan diversos como la autorreplicación , el funcionamiento del cerebro , la evolución darwiniana , el comportamiento grupal , el sistema inmunológico , las propiedades definitorias de las formas de vida, las membranas celulares y la morfogénesis . Además del hardware electrónico tradicional , estos paradigmas computacionales se pueden implementar en medios físicos alternativos como biomoléculas (ADN, ARN) o dispositivos de computación cuántica de iones atrapados .
Dualmente, uno puede ver los procesos que ocurren en la naturaleza como procesamiento de información. Dichos procesos incluyen autoensamblaje , procesos de desarrollo , redes de regulación de genes, redes de interacción proteína-proteína , redes de transporte biológico ( transporte activo , transporte pasivo ) y ensamblaje de genes en organismos unicelulares . Los esfuerzos para comprender los sistemas biológicos también incluyen la ingeniería de organismos semisintéticos y la comprensión del universo mismo desde el punto de vista del procesamiento de la información. De hecho, incluso se avanzó la idea de que la información es más fundamental que la materia o la energía. La tesis de Zuse-Fredkin, que se remonta a la década de 1960, afirma que todo el universo es un enorme autómata celular que actualiza continuamente sus reglas. [3] [4] Recientemente se ha sugerido que todo el universo es una computadora cuántica que calcula su propio comportamiento. [5] El universo / naturaleza como mecanismo computacional es abordado por, [6] explorando la naturaleza con ayuda de las ideas de computabilidad, y [7] estudiando procesos naturales como computaciones (procesamiento de información).
Modelos de computación inspirados en la naturaleza
Los modelos de computación "clásicos" inspirados en la naturaleza más establecidos son los autómatas celulares, la computación neuronal y la computación evolutiva. Los sistemas computacionales más recientes extraídos de los procesos naturales incluyen la inteligencia de enjambre, los sistemas inmunes artificiales, la computación de membrana y la computación amorfa. Se pueden encontrar reseñas detalladas en muchos libros. [8] [9]
Autómata celular
Un autómata celular es un sistema dinámico que consta de una matriz de células. El espacio y el tiempo son discretos y cada una de las celdas puede estar en un número finito de estados . El autómata celular actualiza los estados de sus células de forma sincrónica según las reglas de transición dadas a priori . El siguiente estado de una celda se calcula mediante una regla de transición y depende solo de su estado actual y de los estados de sus vecinos.
El Juego de la vida de Conway es uno de los ejemplos más conocidos de autómatas celulares, que ha demostrado ser computacionalmente universal . Los autómatas celulares se han aplicado para modelar una variedad de fenómenos como la comunicación, el crecimiento, la reproducción, la competencia, la evolución y otros procesos físicos y biológicos.
Computación neuronal
La computación neuronal es el campo de investigación que surgió de la comparación entre las máquinas informáticas y el sistema nervioso humano . [10] Este campo tiene como objetivo comprender cómo funciona el cerebro de los organismos vivos ( teoría del cerebro o neurociencia computacional ) y diseñar algoritmos eficientes basados en los principios de cómo el cerebro humano procesa la información (Redes neuronales artificiales, ANN [11] ). .
Una red neuronal artificial es una red de neuronas artificiales . [12] Una neurona artificial A está equipada con una función, recibe n entradas de valor realcon pesos respectivos , y da como resultado . Algunas neuronas se seleccionan para que sean las neuronas de salida, y la función de red es la función vectorial que asocia a los n valores de entrada, las salidas de las m neuronas de salida seleccionadas. Tenga en cuenta que las diferentes elecciones de pesos producen diferentes funciones de red para las mismas entradas. La retropropagación es un método de aprendizaje supervisado mediante el cual los pesos de las conexiones en la red se ajustan repetidamente para minimizar la diferencia entre el vector de salidas reales y el de salidas deseadas. Se pueden usar algoritmos de aprendizaje basados en la propagación hacia atrás de errores para encontrar pesos óptimos para una topología dada de la red y pares de entrada-salida.
Computación evolutiva
La computación evolutiva [13] es un paradigma computacional inspirado en la evolución darwiniana .
Un sistema evolutivo artificial es un sistema computacional basado en la noción de evolución simulada. Comprende una población de individuos de tamaño constante o variable, un criterio de aptitud y operadores genéticamente inspirados que producen la próxima generación a partir de la actual. La población inicial se genera típicamente de forma aleatoria o heurística, y los operadores típicos son mutación y recombinación . En cada paso, los individuos se evalúan de acuerdo con la función de aptitud dada ( supervivencia del más apto ). La próxima generación se obtiene de individuos seleccionados (padres) mediante el uso de operadores inspirados genéticamente. La elección de los padres puede ser guiada por un operador de selección que refleje el principio biológico de la selección de pareja . Este proceso de evolución simulada finalmente converge hacia una población casi óptima de individuos, desde el punto de vista de la función de aptitud.
El estudio de los sistemas evolutivos ha evolucionado históricamente a lo largo de tres ramas principales: Las estrategias de evolución proporcionan una solución a los problemas de optimización de parámetros para tipos de parámetros de valor real, así como discretos y mixtos. La programación evolutiva originalmente tenía como objetivo crear "agentes inteligentes" óptimos modelados, por ejemplo, como máquinas de estados finitos. Los algoritmos genéticos [14] aplicaron la idea de la computación evolutiva al problema de encontrar una solución (casi) óptima a un problema dado. Los algoritmos genéticos inicialmente consistían en una población de entrada de individuos codificados como cadenas de bits de longitud fija, la mutación de los operadores genéticos (cambios de bits) y la recombinación (combinación de un prefijo de un padre con el sufijo del otro) y una aptitud dependiente del problema función. Los algoritmos genéticos se han utilizado para optimizar programas informáticos, denominados programación genética , y hoy en día también se aplican a problemas de optimización de parámetros de valor real, así como a muchos tipos de tareas combinatorias .
El algoritmo de estimación de distribución (EDA), por otro lado, son algoritmos evolutivos que sustituyen a los operadores de reproducción tradicionales por los guiados por modelos. Dichos modelos se aprenden de la población mediante el empleo de técnicas de aprendizaje automático y se representan como modelos gráficos probabilísticos, a partir de los cuales se pueden muestrear nuevas soluciones [15] [16] o generar a partir de un cruce guiado. [17] [18]
Inteligencia de enjambre
La inteligencia de enjambre , [19] a veces denominada inteligencia colectiva , se define como el comportamiento de resolución de problemas que surge de la interacción de agentes individuales (por ejemplo, bacterias , hormigas , termitas , abejas , arañas , peces , pájaros ) que se comunican con otros agentes. actuando en sus entornos locales .
La optimización del enjambre de partículas aplica esta idea al problema de encontrar una solución óptima a un problema dado mediante una búsqueda en un espacio de solución (multidimensional) . La configuración inicial es un enjambre de partículas , cada una de las cuales representa una posible solución al problema. Cada partícula tiene su propia velocidad que depende de su velocidad previa (el componente de inercia), la tendencia hacia la mejor posición personal pasada (el componente de nostalgia) y su tendencia hacia un óptimo de vecindad global o un óptimo de vecindad local (el componente social). Así, las partículas se mueven a través de un espacio multidimensional y eventualmente convergen hacia un punto entre lo mejor del mundo y su mejor marca personal. Partículas algoritmos de optimización de enjambre se han aplicado a diversos problemas de optimización y de aprendizaje no supervisado , el aprendizaje del juego , y la programación de aplicaciones.
En la misma línea, los algoritmos de hormigas modelan el comportamiento de búsqueda de alimento de las colonias de hormigas. Para encontrar el mejor camino entre el nido y una fuente de alimento, las hormigas dependen de la comunicación indirecta al dejar un rastro de feromonas en el camino de regreso al nido si encuentran alimento, respectivamente siguiendo la concentración de feromonas si están buscando alimento. Los algoritmos Ant se han aplicado con éxito a una variedad de problemas de optimización combinatoria en espacios de búsqueda discretos.
Sistemas inmunológicos artificiales
Los sistemas inmunes artificiales (también conocidos como computación inmunológica o inmunocomputación ) son sistemas computacionales inspirados en los sistemas inmunes naturales de los organismos biológicos.
Visto como un sistema de procesamiento de información, el sistema inmunológico natural de los organismos realiza muchas tareas complejas en forma de computación paralela y distribuida . [20] Estos incluyen la distinción entre uno mismo y lo que no es uno mismo , [21] neutralización de patógenos ajenos a uno mismo ( virus , bacterias, hongos y parásitos ), aprendizaje , memoria , recuperación asociativa , autorregulación y tolerancia a fallas . Los sistemas inmunes artificiales son abstracciones del sistema inmunológico natural, enfatizando estos aspectos computacionales. Sus aplicaciones incluyen detección de virus informáticos , detección de anomalías en una serie temporal de datos, diagnóstico de fallas , reconocimiento de patrones , aprendizaje automático, bioinformática , optimización, robótica y control .
Computación de membrana
La computación de membrana investiga modelos computacionales extraídos de la estructura compartimentada de células vivas afectadas por membranas . [22] Un sistema de membrana genérico (sistema P) consta de compartimentos (regiones) similares a células delimitados por membranas , que se colocan en una estructura jerárquica anidada . Cada región envuelta en membrana contiene objetos, reglas de transformación que modifican estos objetos, así como reglas de transferencia, que especifican si los objetos se transferirán al exterior o permanecerán dentro de la región. Las regiones se comunican entre sí mediante la transferencia de objetos. El cálculo mediante un sistema de membranas comienza con una configuración inicial, donde el número ( multiplicidad ) de cada objeto se establece en algún valor para cada región ( multiset de objetos ). Procede eligiendo, de manera no determinista y de manera paralela al máximo , qué reglas se aplican a qué objetos. La salida del cálculo se recopila de una región de salida determinada a priori .
Las aplicaciones de los sistemas de membranas incluyen aprendizaje automático, modelado de procesos biológicos ( fotosíntesis , ciertas vías de señalización , detección de quórum en bacterias, inmunidad mediada por células ), así como aplicaciones informáticas como gráficos por computadora , criptografía de clave pública , algoritmos de aproximación y clasificación. , así como el análisis de varios problemas computacionalmente difíciles .
Computación amorfa
En los organismos biológicos, la morfogénesis (el desarrollo de formas y estructuras funcionales bien definidas) se logra mediante las interacciones entre células guiadas por el programa genético codificado en el ADN del organismo.
Inspirada en esta idea, la computación amorfa tiene como objetivo diseñar formas y patrones bien definidos, o comportamientos computacionales coherentes, a partir de las interacciones locales de una multitud de elementos computacionales (partículas) simples, no confiables, colocados irregularmente, asíncronos e idénticamente programados. [23] Como paradigma de programación, el objetivo es encontrar nuevas técnicas de programación que funcionen bien para entornos informáticos amorfos. La computación amorfa también juega un papel importante como base de la " computación celular " (vea los temas de biología sintética y computación celular , más adelante).
Computación morfológica
El entendimiento de que la morfología realiza computación se utiliza para analizar la relación entre morfología y control y para guiar teóricamente el diseño de robots con requisitos de control reducidos, se ha utilizado tanto en robótica como para la comprensión de procesos cognitivos en organismos vivos, ver Computación morfológica y . [24]
Computación cognitiva
Computación cognitiva CC es un nuevo tipo de computación, generalmente con el objetivo de modelar las funciones de detección, razonamiento y respuesta humanos al estímulo, consulte Computación cognitiva y. [25]
Las capacidades cognitivas de la informática cognitiva actual están lejos del nivel humano. El mismo enfoque info-computacional se puede aplicar a otros organismos vivos más simples. Las bacterias son un ejemplo de un sistema cognitivo modelado computacionalmente, ver Eshel Ben-Jacob y Microbes-mind .
Sintetizar la naturaleza mediante la informática
Vida artificial
La vida artificial (ALife) es un campo de investigación cuyo objetivo final es comprender las propiedades esenciales de los organismos vivos [26] mediante la construcción, dentro de computadoras electrónicas u otros medios artificiales, sistemas ab initio que exhiben propiedades normalmente asociadas solo con organismos vivos. Los primeros ejemplos incluyen los sistemas Lindenmayer ( sistemas L), que se han utilizado para modelar el crecimiento y desarrollo de las plantas. Un sistema L es un sistema de reescritura en paralelo que comienza con una palabra inicial y aplica sus reglas de reescritura en paralelo a todas las letras de la palabra. [27]
Los experimentos pioneros en vida artificial incluyeron el diseño de "criaturas de bloques virtuales" en evolución que actúan en entornos simulados con características realistas como cinética , dinámica , gravedad , colisión y fricción . [28] Estas criaturas artificiales fueron seleccionadas por sus habilidades para nadar, caminar o saltar, y competían por un recurso limitado común (controlar un cubo). La simulación resultó en la evolución de criaturas que exhibían un comportamiento sorprendente: algunos desarrollaron manos para agarrar el cubo, otros desarrollaron piernas para moverse hacia el cubo. Este enfoque computacional se combinó aún más con la tecnología de fabricación rápida para construir realmente los robots físicos que prácticamente evolucionaron. [29] Esto marcó el surgimiento del campo de la vida artificial mecánica .
El campo de la biología sintética explora una implementación biológica de ideas similares. Otras direcciones de investigación dentro del campo de la vida artificial incluyen la química artificial , así como los fenómenos tradicionalmente biológicos explorados en sistemas artificiales, que van desde procesos computacionales como la adaptación y el desarrollo coevolutivos, hasta procesos físicos como el crecimiento, la autorreplicación y la autodestrucción . reparación .
Hardware novedoso inspirado en la naturaleza
Todas las técnicas computacionales mencionadas anteriormente, aunque están inspiradas en la naturaleza, se han implementado hasta ahora principalmente en hardware electrónico tradicional . En contraste, los dos paradigmas presentados aquí, la computación molecular y la computación cuántica , emplean tipos de hardware radicalmente diferentes.
Computación molecular
La computación molecular (también conocida como computación biomolecular, biocomputación, computación bioquímica, computación de ADN ) es un paradigma computacional en el que los datos se codifican como biomoléculas , como cadenas de ADN , y las herramientas de biología molecular actúan sobre los datos para realizar diversas operaciones (p. Ej., Operaciones aritméticas o lógicas ).
La primera realización experimental de una computadora molecular de propósito especial fue el experimento revolucionario de 1994 de Leonard Adleman, quien resolvió una instancia de 7 nodos del problema de la ruta hamiltoniana únicamente manipulando hebras de ADN en tubos de ensayo. [30] Los cálculos de ADN comienzan con una entrada inicial codificada como una secuencia de ADN (esencialmente una secuencia sobre el alfabeto de cuatro letras {A, C, G, T}) y continúan mediante una sucesión de operaciones biológicas como cortar y - pasta (mediante enzimas de restricción y ligasas ), extracción de hebras que contienen una determinada subsecuencia (mediante el uso de la complementariedad de Watson-Crick), copia (mediante el uso de la reacción en cadena de la polimerasa que emplea la enzima polimerasa) y lectura. [31] Investigaciones experimentales recientes lograron resolver casos más complejos de problemas NP-completos , como un caso de 20 variables de 3SAT e implementaciones de ADN húmedo de máquinas de estados finitos con aplicaciones potenciales para el diseño de fármacos inteligentes .
Una de las aportaciones más destacadas de la investigación en este campo es la comprensión del autoensamblaje . [33] El autoensamblaje es el proceso ascendente mediante el cual los objetos se unen de forma autónoma para formar estructuras complejas. Abundan los ejemplos en la naturaleza, e incluyen átomos que se unen mediante enlaces químicos para formar moléculas y moléculas que forman cristales o macromoléculas . Ejemplos de temas de investigación de autoensamblaje incluyen nanoestructuras de ADN autoensambladas [34] como los triángulos de Sierpinski [35] o nanoformas arbitrarias obtenidas mediante la técnica de origami de ADN [36] , y nanomáquinas de ADN [37] como los circuitos basados en ADN ( binarios contador , XOR acumulativo bit a bit ), ribozimas para operaciones lógicas, interruptores moleculares ( pinzas de ADN ) y motores moleculares autónomos ( caminantes de ADN ).
La investigación teórica en computación molecular ha producido varios modelos novedosos de computación de ADN (por ejemplo, sistemas de empalme introducidos por Tom Head ya en 1987) y se ha investigado su poder computacional. [38] Ahora se sabe que varios subconjuntos de operaciones biológicas pueden lograr el poder computacional de las máquinas de Turing [ cita requerida ] .
Computación cuántica
Una computadora cuántica [39] procesa datos almacenados como bits cuánticos ( qubits ) y utiliza fenómenos mecánicos cuánticos como la superposición y el entrelazamiento para realizar cálculos. Un qubit puede contener un "0", un "1" o una superposición cuántica de estos. Una computadora cuántica opera en qubits con puertas lógicas cuánticas . A través del algoritmo polinomial de Shor para factorizar enteros y el algoritmo de Grover para la búsqueda de bases de datos cuánticas que tiene una ventaja de tiempo cuadrático, se demostró que las computadoras cuánticas poseen potencialmente un beneficio significativo en relación con las computadoras electrónicas.
La criptografía cuántica no se basa en la complejidad del cálculo , sino en las propiedades especiales de la información cuántica , como el hecho de que la información cuántica no se puede medir de manera confiable y cualquier intento de medirla da como resultado una perturbación inevitable e irreversible. En 2007 se informó de un exitoso experimento al aire libre en criptografía cuántica, donde los datos se transmitieron de forma segura a una distancia de 144 km. [40] La teletransportación cuántica es otra aplicación prometedora, en la que un estado cuántico (no materia ni energía) se transfiere a una ubicación distante arbitraria. Las implementaciones de computadoras cuánticas prácticas se basan en varios sustratos, como trampas de iones , superconductores , resonancia magnética nuclear , etc. A partir de 2006, el mayor experimento de computación cuántica utilizó procesadores de información cuántica de resonancia magnética nuclear en estado líquido, y podría operar en hasta 12 qubits. [41]
La naturaleza como tratamiento de la información
El aspecto dual de la computación natural es que tiene como objetivo comprender la naturaleza considerando los fenómenos naturales como procesamiento de la información. Ya en la década de 1960, Zuse y Fredkin sugirieron la idea de que todo el universo es un mecanismo computacional (procesamiento de información), modelado como un autómata celular que actualiza continuamente sus reglas. [3] [4] Un reciente enfoque mecánico-cuántico de Lloyd sugiere que el universo es una computadora cuántica que calcula su propio comportamiento, [5] mientras que Vedral [42] sugiere que la información es el bloque de construcción más fundamental de la realidad.
El universo / naturaleza como mecanismo computacional se elabora en, [6] explorando la naturaleza con la ayuda de las ideas de computabilidad, mientras que, [7] basado en la idea de la naturaleza como red de redes de procesos de información en diferentes niveles de organización, se estudiar los procesos naturales como cálculos (procesamiento de información).
Las principales líneas de investigación en esta área son la biología de sistemas , la biología sintética y la computación celular .
Biologia de sistemas
La biología de sistemas computacionales (o simplemente biología de sistemas) es un enfoque integrador y cualitativo que investiga las complejas comunicaciones e interacciones que tienen lugar en los sistemas biológicos. Por lo tanto, en biología de sistemas, el enfoque del estudio son las redes de interacción en sí mismas y las propiedades de los sistemas biológicos que surgen debido a estas redes, más que los componentes individuales de los procesos funcionales en un organismo. Este tipo de investigación sobre componentes orgánicos se ha centrado fuertemente en cuatro redes de interacción interdependientes diferentes: [43] redes reguladoras de genes, redes bioquímicas, redes de transporte y redes de carbohidratos.
Las redes reguladoras de genes comprenden interacciones gen-gen, así como interacciones entre genes y otras sustancias en la célula. Los genes se transcriben en ARN mensajero (ARNm) y luego se traducen en proteínas de acuerdo con el código genético . Cada gen está asociado con otros segmentos de ADN ( promotores , potenciadores o silenciadores ) que actúan como sitios de unión para activadores o represores para la transcripción de genes . Los genes interactúan entre sí a través de sus productos genéticos (ARNm, proteínas) que pueden regular la transcripción de genes, o mediante pequeñas especies de ARN que pueden regular directamente los genes. Estas interacciones gen-gen , junto con las interacciones de los genes con otras sustancias en la célula, forman la red de interacción más básica: las redes reguladoras de genes . Realizan tareas de procesamiento de información dentro de la celda, incluido el montaje y mantenimiento de otras redes. Los modelos de redes reguladoras de genes incluyen redes booleanas aleatorias y probabilísticas , autómatas asincrónicos y motivos de red .
Otro punto de vista es que todo el sistema regulador genómico es un sistema computacional, una computadora genómica . Esta interpretación permite comparar la computación electrónica hecha por el hombre con la computación tal como ocurre en la naturaleza. [44]
Computadora genómica | Computadora electronica | |
---|---|---|
Arquitectura | cambiable | rígido |
Construcción de componentes | según sea necesario | desde el comienzo |
Coordinación | coordinación causal | sincronía temporal |
Distinción entre hardware y software | No | sí |
Medios de transporte | moléculas e iones | alambres |
Además, a diferencia de una computadora convencional, la robustez en una computadora genómica se logra mediante varios mecanismos de retroalimentación mediante los cuales los procesos pobremente funcionales se degradan rápidamente, las células pobremente funcionales mueren por apoptosis y los organismos pobremente funcionales son superados por especies más aptas.
Las redes bioquímicas se refieren a las interacciones entre proteínas y realizan diversas tareas mecánicas y metabólicas dentro de una célula. Dos o más proteínas pueden unirse entre sí mediante la unión de sus sitios de interacción y formar un complejo proteico dinámico ( complejación ). Estos complejos de proteínas pueden actuar como catalizadores para otras reacciones químicas o pueden modificarse químicamente entre sí. Tales modificaciones provocan cambios en los sitios de unión disponibles de las proteínas. Hay decenas de miles de proteínas en una célula e interactúan entre sí. Para describir interacciones de escala tan masiva, se introdujeron mapas de Kohn [45] como una notación gráfica para representar interacciones moleculares en imágenes concisas. Otros enfoques para describir de forma precisa y sucinta las interacciones proteína-proteína incluyen el uso de biocálculo textual [46] o pi-cálculo enriquecido con características estocásticas. [47]
Las redes de transporte se refieren a la separación y transporte de sustancias mediadas por membranas lipídicas. Algunos lípidos pueden autoensamblarse en membranas biológicas. Una membrana lipídica está formada por una bicapa lipídica en la que se incrustan proteínas y otras moléculas, pudiendo viajar a lo largo de esta capa. A través de las bicapas lipídicas, las sustancias se transportan entre el interior y el exterior de las membranas para interactuar con otras moléculas. Los formalismos que representan redes de transporte incluyen sistemas de membranas y cálculos de brana . [48]
Biología sintética
La biología sintética tiene como objetivo diseñar componentes biológicos sintéticos, con el objetivo final de ensamblar sistemas biológicos completos a partir de sus componentes constituyentes. La historia de la biología sintética se remonta a la década de 1960, cuando François Jacob y Jacques Monod descubrieron la lógica matemática en la regulación genética. Las técnicas de ingeniería genética, basadas en la tecnología del ADN recombinante , son un precursor de la biología sintética actual que extiende estas técnicas a sistemas completos de genes y productos génicos.
Junto con la posibilidad de sintetizar hebras de ADN cada vez más largas, la perspectiva de crear genomas sintéticos con el propósito de construir organismos sintéticos completamente artificiales se convirtió en una realidad. De hecho, el rápido ensamblaje de cadenas cortas de ADN sintetizadas químicamente hizo posible generar un genoma sintético de 5386 pb de un virus. [49]
Alternativamente, Smith et al. encontró alrededor de 100 genes que pueden eliminarse individualmente del genoma de Mycoplasma Genitalium . Este descubrimiento allana el camino para el ensamblaje de un genoma artificial mínimo, pero aún viable, que consta únicamente de los genes esenciales.
Un tercer enfoque para la ingeniería de células semisintéticas es la construcción de un solo tipo de molécula similar al ARN con capacidad de autorreplicación. [50] Tal molécula podría obtenerse guiando la rápida evolución de una población inicial de moléculas similares al ARN, mediante la selección de los rasgos deseados.
Otro esfuerzo en este campo es el de diseñar sistemas multicelulares diseñando, por ejemplo, módulos de comunicación de célula a célula utilizados para coordinar poblaciones de células bacterianas vivas. [51]
Computación celular
La computación en células vivas (también conocida como computación celular o computación in vivo ) es otro enfoque para entender la naturaleza como computación. Un estudio particular en esta área es el de la naturaleza computacional del ensamblaje de genes en organismos unicelulares llamados ciliados . Los ciliados almacenan una copia de su ADN que contiene genes funcionales en el macronúcleo y otra copia "encriptada" en el micronúcleo . La conjugación de dos ciliados consiste en el intercambio de su información genética micronuclear, lo que lleva a la formación de dos nuevos micronúcleos, seguidos de que cada ciliado reensamble la información de su nuevo micronúcleo para construir un nuevo macronúcleo funcional. El último proceso se llama ensamblaje de genes o reordenamiento de genes. Implica reordenar algunos fragmentos de ADN ( permutaciones y posiblemente inversión ) y eliminar otros fragmentos de la copia micronuclear. Desde el punto de vista computacional, el estudio de este proceso de ensamblaje de genes condujo a muchos temas y resultados de investigación desafiantes, como la universalidad de Turing de varios modelos de este proceso. [52] Desde el punto de vista biológico, se propuso una hipótesis plausible sobre el "bioware" que implementa el proceso de ensamblaje de genes, basada en la recombinación guiada por plantillas . [53] [54]
Otros enfoques de la computación celular incluyen el desarrollo de un autómata de estado finito autónomo y programable in vivo con E. coli , [55] diseñar y construir puertas lógicas celulares in vivo y circuitos genéticos que aprovechen los procesos bioquímicos existentes de la célula (ver por ejemplo [56]). ) y la optimización global de la apertura de los estomas en las hojas, siguiendo un conjunto de reglas locales que se asemejan a un autómata celular . [57]
Ver también
- Inteligencia Computacional
- Computación bioinspirada
- Computación de ADN
- Revista Natural Computing
- Computación cuántica
- Biología sintética
Referencias
- ^ G.Rozenberg, T.Back, J. Kok, Editores, Manual de computación natural, Springer Verlag, 2012
- ↑ A.Brabazon, M.O'Neill, S.McGarraghy. Algoritmos informáticos naturales , Springer Verlag, 2015
- ^ a b Fredkin, F. Mecánica digital: un proceso informativo basado en CA universal reversible. Physica D 45 (1990) 254-270
- ↑ a b Zuse, K. Rechnender Raum. Elektronische Datenverarbeitung 8 (1967) 336-344
- ^ a b Lloyd, S. Programación del universo: un científico informático cuántico toma el cosmos . Knopf, 2006
- ^ a b Zenil, H. Un universo computable: comprensión y exploración de la naturaleza como computación . Compañía Editorial Científica Mundial, 2012
- ↑ a b Dodig-Crnkovic, G. y Giovagnoli, R. COMPUTING NATURE . Springer, 2013
- ^ Olarius S., Zomaya AY, Manual de algoritmos y aplicaciones bioinspirados , Chapman & Hall / CRC, 2005.
- ^ de Castro, LN, Fundamentos de la computación natural: conceptos básicos, algoritmos y aplicaciones, CRC Press, 2006.
- ^ von Neumann, J. La computadora y el cerebro . Prensa de la Universidad de Yale, 1958
- ^ Arbib, M., editor. El manual de teoría del cerebro y redes neuronales. Prensa del MIT, 2003.
- ^ Rojas, R. Redes neuronales: una introducción sistemática. Springer, 1996
- ^ Bäck, T., Fogel, D., Michalewicz, Z., editores. Manual de Computación Evolutiva. IOP Publishing, Reino Unido, 1997
- ^ Koza, J. Programación genética: sobre la programación de computadoras por medio de selección natural . Prensa del MIT, 1992
- ↑ Pelikan, Martin; Goldberg, David E .; Cantú-Paz, Erick (1 de enero de 1999). BOA: El algoritmo de optimización bayesiano . Actas de la Primera Conferencia Anual sobre Computación Genética y Evolutiva - Volumen 1 . Gecco'99. págs. 525–532. ISBN 9781558606111.
- ^ Pelikan, Martin (2005). Algoritmo de optimización jerárquico bayesiano: hacia una nueva generación de algoritmos evolutivos (1ª ed.). Berlín [ua]: Springer. ISBN 978-3-540-23774-7.
- ^ Thierens, Dirk (11 de septiembre de 2010). El algoritmo genético del árbol de ligamiento . Resolución de problemas paralelos desde la naturaleza, PPSN XI . págs. 264-273. doi : 10.1007 / 978-3-642-15844-5_27 . ISBN 978-3-642-15843-8.
- ^ Martins, Jean P .; Fonseca, Carlos M .; Delbem, Alexandre CB (25 de diciembre de 2014). "Sobre el desempeño de algoritmos genéticos de árbol de ligamiento para el problema de la mochila multidimensional". Neurocomputación . 146 : 17-29. doi : 10.1016 / j.neucom.2014.04.069 .
- ^ Engelbrecht, A. Fundamentos de la inteligencia de enjambre computacional. Wiley e hijos, 2005.
- ^ Dasgupta, D. editor. Sistemas inmunes artificiales y sus aplicaciones. Springer, 1998
- ^ de Castro, L., Timmis, J. Sistemas inmunes artificiales: un nuevo enfoque de inteligencia computacional . Springer, 2002.
- ^ Paun, G. Computación de membrana: una introducción . Springer, 2002
- ^ Abelson, H., Allen, D., Coore, D., Hanson, C., Homsy, G., Knight Jr., T., Nagpal, R., Rauch, E., Sussman, G., Weiss, R. Computación amorfa . Comunicaciones del ACM 43, 5 (mayo de 2000), 74-82
- ^ Pfeifer, R. y Füchslin R. Computación morfológica . (comienza en la página 11), 2013
- ^ Pfeifer, R. y Bondgard, J. Cómo el cuerpo da forma a la forma en que pensamos: una nueva visión de la inteligencia . Prensa del MIT, 2006
- ^ Langton, C., editor. Vida artificial. Addison-Wesley Longman, 1990
- ^ Rozenberg, G. y Salomaa, A. la teoría matemática de L Sistemas . Prensa académica, 1980
- ^ Brooks. R. Vida artificial: de los sueños de los robots a la realidad . Naturaleza 406 (2000), 945-947
- ^ Lipson, P., Pollack, J. Diseño automático y fabricación de formas de vida robóticas . Nature 406 (2000), 974-978
- ^ Adleman, L. Cálculo molecular de soluciones a problemas combinatorios. Archivado el 6 de febrero de 2005 en Wayback Machine . Science 266 (1994), 1021-1024
- ^ Kari, L. Computación del ADN: la llegada de las matemáticas biológicas . The Mathematical Intelligencer 19, 2 (1997) 9-22
- ^ Fujibayashi, K., Hariadi, R., Park, SH, Winfree, E., Murata, S.. Hacia fiable algorítmica auto-ensamblaje de los azulejos de ADN: Un ancho fijo patrón autómata celular . Nano Letras 8 (7) (2007) 1791-1797.
- ^ Reif, J. y LaBean, T. Dispositivos biomoleculares programables autónomos que utilizan nanoestructuras de ADN autoensambladas . Comunicaciones del ACM 50, 9 (septiembre de 2007), 46-53
- ^ Seeman, N. Nanotecnología y la doble hélice . Scientific American Reports, 17. 3 (2007), 30-39.
- ^ Rothemund, P., Papadakis, N., Winfree, E. Autoensamblaje algorítmico de triángulos de Sierpinski de ADN . PLoS Biology 2, 12 (diciembre de 2004)
- ^ Rothemund, P. Folding DNA para crear formas y patrones a nanoescala . Nature 440 (2006) 297-302.
- ^ Bath, J., Turberfield, A. Nanomáquinas de ADN . Nature Nanotechnology 2 (mayo de 2007), 275-284
- ^ Paun, G., Rozenberg, G., Salomaa, A. Computación de ADN: nuevos paradigmas de computación. Springer, 1998
- ^ Hirvensalo, M. Computación cuántica, 2ª Ed. Springer, 2004
- ^ Ursin, R. et al. Comunicación cuántica basada en Entanglemen a más de 144 km . Nature Physics 3 (2007) 481-486
- ^ Negrevergne, C. et al. Evaluación comparativa de métodos de control cuántico en un sistema de 12 qubit . Physical Review Letters 96: art170501, 2006
- ^ Vedral, V. [Decodificación de la realidad: el universo como información cuántica]. Prensa de la Universidad de Oxford, 2010
- ^ Cardelli, L. Abstract machines of systems biology Archivado el 19 de abril de 2008 en el Wayback Machine Bulletin de EATCS 93 (2007), 176-204
- ^ Istrail, S., De-Leon, BT., Davidson, E. El genoma regulador y la computadora . Biología del desarrollo 310 (2007), 187-195
- ^ Kohn, K. Mapa de interacción molecular del control del ciclo celular de mamíferos y sistemas de reparación del ADN . Biología molecular de la célula 10 (8) (1999) 2703-2734.
- ^ Nagasaki, M., Onami, S., Miyano, S., Kitano, H. Bio-cálculo: su concepto e interacción molecular [ enlace muerto permanente ] . Genome Informatics 10 (1999) 133-143.
- ↑ Regev, A., Shapiro, E. Cellular abstractions: Cells as computation . Naturaleza 419 (2002) 343
- ^ Cardelli, L. Cálculos de brana: Interacciones de membranas biológicas . En LNCS 3082, páginas 257-280. Springer, 2005.
- ^ Smith, H., Hutchison III, C., Pfannkoch, C. y Venter, C. Generación de un genoma sintético por ensamblaje del genoma completo: bacteriófago {phi} X174 a partir de oligonucleótidos sintéticos . PNAS 100 , 26 (2003), 15440-15445.
- ^ Sazani, P., Larralde, R., Szostak, J. Un pequeño aptámero con reconocimiento fuerte y específico del trifosfato de ATP . Revista de la Sociedad Química Estadounidense , 126 (27) (2004) 8370-8371
- ^ Weiss, R., Knight, Jr., T. Comunicaciones diseñadas para robótica microbiana . En LNCS 2054, páginas 1-16, Springer, 2001
- ^ Landweber, L. y Kari, L. La evolución de la computación celular: solución de la naturaleza a un problema computacional [ enlace muerto permanente ] . Biosystems , 52, 1/3 (1999) 3-13.
- ^ Angeleska, A .; Jonoska, N .; Saito, M .; Landweber, L. (2007). "Ensamblaje de ADN guiado por ARN". Revista de Biología Teórica . 248 (4): 706–720. doi : 10.1016 / j.jtbi.2007.06.007 . PMID 17669433 .
- ^ Prescott, D., Ehrenfeucht, A. y Rozenberg, G. Recombinación guiada por plantilla para la eliminación de IES y descifrado de genes en ciliados stichotrichous [ enlace muerto ] . J. Biología teórica 222, 3 (2003), 323-330.
- ^ Nakagawa, H., Sakamoto, K., Sakakibara, Y. Desarrollo de una computadora in vivo basada en Escherichia Coli . En LNCS 3892, páginas 203-212, Springer, 2006
- ^ Zabet NR, Hone ANW, Chu DF Principios de diseño de circuitos lógicos transcripcionales. Archivado el 7 de marzo de 2012 en Wayback Machine . En Artificial Life XII Actas de la Duodécima Conferencia Internacional sobre la Síntesis y Simulación de Sistemas Vivientes, páginas 186-193. MIT Press, agosto de 2010.
- ^ Duran-Nebreda S, Bassel G (abril de 2019). "Comportamiento de la planta en respuesta al medio ambiente: procesamiento de información en estado sólido" . Philosophical Transactions de la Royal Society B . 374 (1774): 20180370. doi : 10.1098 / rstb.2018.0370 . PMC 6553596 . PMID 31006360 .
Otras lecturas
Este artículo fue escrito en base a las siguientes referencias con el amable permiso de sus autores:
- Lila Kari, Grzegorz Rozenberg (octubre de 2008). "Las muchas facetas de la informática natural" . Comunicaciones de la ACM . 51 (10): 72–83. doi : 10.1145 / 1400181.1400200 .
- Leandro Nunes de Castro (marzo de 2007). "Fundamentos de la computación natural: una descripción general". Reseñas de Física de la Vida . 4 (1): 1–36. Código Bibliográfico : 2007PhLRv ... 4 .... 1D . doi : 10.1016 / j.plrev.2006.10.002 .
Muchas de las áreas de investigación constitutivas de la computación natural tienen sus propias revistas especializadas y series de libros. Las revistas y series de libros dedicadas al amplio campo de la Computación Natural incluyen las revistas International Journal of Natural Computing Research (IGI Global), Natural Computing (Springer Verlag), Theoretical Computer Science, Series C: Theory of Natural Computing (Elsevier), The Natural Serie de libros sobre computación (Springer Verlag) y el Manual de computación natural (G.Rozenberg, T.Back, J.Kok, Editors, Springer Verlag).
- Ridge, E .; Kudenko, D .; Kazakov, D .; Curry, E. (2005). "Mover algoritmos inspirados en la naturaleza a entornos paralelos, asincrónicos y descentralizados". Autoorganización e Informática Autonómica (I) . 135 : 35–49. CiteSeerX 10.1.1.64.3403 .
- Swarms and Swarm Intelligence por Michael G. Hinchey, Roy Sterritt y Chris Rouff,