Articulo de referencia

computación natural

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...

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) aquellos 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 computar. 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 inmunitarios artificiales , la geometría fractal, la vida artificial , la computación de ADN y la computación cuántica , entre otros. Sin embargo, el campo está más relacionado con la computación biológica .

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 inmunitario , las propiedades que definen las formas de vida, las membranas celulares y la morfogénesis . Además del hardware electrónico tradicional, estos paradigmas computacionales pueden implementarse en medios físicos alternativos como biomoléculas (ADN, ARN) o dispositivos de computación cuántica de iones atrapados .

De manera dual, se pueden considerar los procesos que ocurren en la naturaleza como procesamiento de información. Estos procesos incluyen el autoensamblaje , los procesos de desarrollo , las redes de regulación génica , las redes de interacción proteína-proteína , las redes de transporte biológico ( transporte activo , transporte pasivo ) y el ensamblaje de genes en organismos unicelulares . Los esfuerzos por 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 información. De hecho, incluso se planteó la idea de que la información es más fundamental que la materia o la energía. La tesis de Zuse-Fredkin, que data de 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 se aborda mediante [ 6 ] la exploración de la naturaleza con la ayuda de las ideas de computabilidad, y [ 7 ] el estudio de los procesos naturales como computaciones (procesamiento de información).

Modelos de computación inspirados en la naturaleza

Los modelos de computación inspirados en la naturaleza más consolidados y de corte clásico son los autómatas celulares, la computación neuronal y la computación evolutiva. Entre los sistemas computacionales más recientes, abstraídos de procesos naturales, se incluyen la inteligencia de enjambre, los sistemas inmunitarios artificiales, la computación de membranas y la computación amorfa. Se pueden encontrar revisiones detalladas en numerosos libros. [ 8 ] [ 9 ]

Autómatas celulares

Un autómata celular es un sistema dinámico compuesto por una matriz de celdas. El espacio y el tiempo son discretos, y cada celda puede encontrarse en un número finito de estados . El autómata celular actualiza los estados de sus celdas de forma síncrona según las reglas de transición predefinidas . El siguiente estado de una celda se calcula mediante una regla de transición y depende únicamente de su estado actual y de los estados de sus vecinas.

El Juego de la Vida de Conway es uno de los ejemplos más conocidos de autómatas celulares, cuya universalidad computacional ha sido demostrada . Los autómatas celulares se han aplicado al modelado de diversos 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 de computación y el sistema nervioso humano . [ 10 ] Este campo tiene como objetivo tanto comprender cómo funciona el cerebro de los organismos vivos ( teoría del cerebro o neurociencia computacional ) como diseñar algoritmos eficientes basados ​​en los principios de cómo el cerebro humano procesa la información (Redes Neuronales Artificiales, RNA [ 11 ] ).

Una red neuronal artificial es una red de neuronas artificiales . [ 12 ] Una neurona artificial A está equipada con una función FA{\displaystyle f_{A}}, recibe n entradas de valor realincógnita1,incógnita2,,incógnitanorte{\displaystyle x_{1},x_{2},\ldots ,x_{n}}con sus respectivos pesosw1,w2,,wnorte{\displaystyle w_{1},w_{2},\ldots,w_{n}}y produceFA(w1incógnita1+w2incógnita2++wnorteincógnitanorte){\displaystyle f_{A}(w_{1}x_{1}+w_{2}x_{2}+\ldots +w_{n}x_{n})}Se seleccionan algunas neuronas como 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. Cabe destacar que distintas elecciones de pesos producen distintas 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 de la red se ajustan repetidamente para minimizar la diferencia entre el vector de salidas reales y el de salidas deseadas. Los algoritmos de aprendizaje basados ​​en la retropropagación de errores pueden utilizarse para encontrar pesos óptimos para una topología de red y pares de entrada-salida dados.

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 de inspiración genética que generan la siguiente 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 la mutación y la recombinación . En cada paso, los individuos se evalúan según la función de aptitud dada ( supervivencia del más apto ). La siguiente generación se obtiene a partir de individuos seleccionados (padres) mediante operadores de inspiración genética. La elección de los padres puede guiarse por un operador de selección que refleja el principio biológico de selección de pareja . Este proceso de evolución simulada converge finalmente hacia una población de individuos casi óptima, 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 evolutivas proporcionan una solución a los problemas de optimización de parámetros para parámetros de valores reales, así como para parámetros discretos y mixtos. La programación evolutiva originalmente apuntaba a la creación de "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 consistían inicialmente en una población de entrada de individuos codificados como cadenas de bits de longitud fija, los operadores genéticos mutación (inversiones de bits) y recombinación (combinación de un prefijo de un padre con el sufijo del otro), y una función de aptitud dependiente del problema. Los algoritmos genéticos se han utilizado para optimizar programas informáticos, llamados programación genética , y hoy también se aplican a problemas de optimización de parámetros de valores reales, así como a muchos tipos de tareas combinatorias .

Por otro lado, los algoritmos de estimación de distribución (EDA) son algoritmos evolutivos que sustituyen los operadores de reproducción tradicionales por operadores guiados por modelos. Estos modelos se aprenden a partir de la población mediante 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 mediante 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 por 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 soluciones (multidimensional) . La configuración inicial consiste en 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 anterior (el componente de inercia), la tendencia hacia su mejor posición personal pasada (el componente de nostalgia) y su tendencia hacia un óptimo global o local en el vecindario (el componente social). De esta forma, las partículas se mueven a través de un espacio multidimensional y finalmente convergen hacia un punto entre el mejor global y su mejor posición personal. Los algoritmos de optimización por enjambre de partículas se han aplicado a diversos problemas de optimización, así como al aprendizaje no supervisado , el aprendizaje de juegos y las aplicaciones de planificación .

En la misma línea, los algoritmos de hormigas modelan el comportamiento de búsqueda de alimento de las colonias. Para encontrar el mejor camino entre el nido y una fuente de alimento, las hormigas se comunican indirectamente dejando un rastro de feromonas al regresar al nido si han encontrado comida, o siguiendo la concentración de feromonas si la buscan. Los algoritmos de hormigas se han aplicado con éxito a diversos problemas de optimización combinatoria en espacios de búsqueda discretos.

Sistemas inmunitarios artificiales

Los sistemas inmunitarios artificiales (también conocidos como computación inmunológica o inmunocomputación ) son sistemas computacionales inspirados en los sistemas inmunitarios naturales de los organismos biológicos.

Considerado como un sistema de procesamiento de información, el sistema inmunitario natural de los organismos realiza muchas tareas complejas de forma paralela y distribuida . [ 20 ] Estas incluyen distinguir entre lo propio y lo ajeno , [ 21 ] la neutralización de patógenos ajenos ( virus , bacterias, hongos y parásitos ), el aprendizaje , la memoria , la recuperación asociativa , la autorregulación y la tolerancia a fallos . Los sistemas inmunitarios artificiales son abstracciones del sistema inmunitario natural, que enfatizan estos aspectos computacionales. Sus aplicaciones incluyen la detección de virus informáticos , la detección de anomalías en una serie temporal de datos, el diagnóstico de fallos , el reconocimiento de patrones , el aprendizaje automático, la bioinformática , la optimización, la robótica y el control .

computación de membrana

La computación de membranas investiga modelos computacionales abstraídos de la estructura compartimentalizada de las células vivas afectadas por membranas . [ 22 ] Un sistema de membranas genérico (sistema P) consiste en compartimentos (regiones) similares a células, delimitados por membranas , que se colocan en una estructura jerárquica anidada . Cada región envuelta por membrana contiene objetos, reglas de transformación que modifican estos objetos, así como reglas de transferencia, que especifican si los objetos se transferirán fuera de la región o permanecerán dentro. Las regiones se comunican entre sí mediante la transferencia de objetos. La computación por parte de 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 ( multiconjunto de objetos ). Procede eligiendo, de manera no determinista y de forma máximamente paralela , qué reglas se aplican a qué objetos. El resultado de la computación se recoge de una región de salida determinada a priori .

Las aplicaciones de los sistemas de membranas incluyen el aprendizaje automático, el 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 de informática como gráficos por computadora , criptografía de clave pública , algoritmos de aproximación y ordenació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 bien definidas y estructuras funcionales) 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 busca diseñar formas y patrones bien definidos, o comportamientos computacionales coherentes, a partir de las interacciones locales de multitud de elementos computacionales simples, poco fiables, irregularmente ubicados, asíncronos e idénticamente programados (partículas). [ 23 ] Como paradigma de programación, el objetivo es encontrar nuevas técnicas de programación que funcionen bien en entornos de computación amorfa. La computación amorfa también desempeña un papel importante como base de la « computación celular » (véanse los temas «biología sintética » y «computación celular» más adelante).

computación morfológica

La comprensión 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 los procesos cognitivos en organismos vivos, véase Computación morfológica y . [ 24 ]

Computación cognitiva

La computación cognitiva (CC) es un nuevo tipo de computación, generalmente con el objetivo de modelar funciones de percepción, razonamiento y respuesta a estímulos humanos, véase Computación cognitiva y . [ 25 ]

Las capacidades cognitivas de la computación cognitiva actual distan mucho del nivel humano. El mismo enfoque info-computacional puede aplicarse a otros organismos vivos más simples. Las bacterias son un ejemplo de un sistema cognitivo modelado computacionalmente; véase Eshel Ben-Jacob y Microbes-mind .

Sintetizando la naturaleza mediante la computación.

vida artificial

La vida artificial (VIA) 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, de sistemas ab initio que exhiben propiedades normalmente asociadas solo con organismos vivos. Ejemplos tempranos incluyen los sistemas de Lindenmayer (sistemas L), que se han utilizado para modelar el crecimiento y desarrollo de las plantas. Un sistema L es un sistema de reescritura paralela 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" evolutivas que actuaban 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 dotadas para nadar, caminar o saltar, y competían por un recurso limitado común (controlar un cubo). La simulación dio como resultado la evolución de criaturas que exhibían un comportamiento sorprendente: algunas desarrollaron manos para agarrar el cubo, otras desarrollaron piernas para moverse hacia el cubo. Este enfoque computacional se combinó además con la tecnología de fabricación rápida para construir realmente los robots físicos que evolucionaron virtualmente. [ 29 ] Esto marcó el surgimiento del campo de la vida artificial mecánica .

El campo de la biología sintética explora la implementación biológica de ideas similares. Otras líneas de investigación dentro del campo de la vida artificial incluyen la química artificial , así como fenómenos tradicionalmente biológicos explorados en sistemas artificiales, que abarcan desde procesos computacionales como la adaptación y el desarrollo coevolutivos , hasta procesos físicos como el crecimiento, la autorreplicación y la autorreparación .

Hardware innovador inspirado en la naturaleza

Todas las técnicas computacionales mencionadas anteriormente, si bien están inspiradas en la naturaleza, se han implementado hasta ahora principalmente en hardware electrónico tradicional . En contraste, los dos paradigmas que aquí se presentan, 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 o 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 (por ejemplo, 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 del Camino Hamiltoniano únicamente manipulando hebras de ADN en tubos de ensayo. [ 30 ] Los cálculos de ADN comienzan a partir de una entrada inicial codificada como una secuencia de ADN (esencialmente una secuencia sobre el alfabeto de cuatro letras {A, C, G, T}), y proceden mediante una sucesión de biooperaciones tales como cortar y pegar (por enzimas de restricción y ligasas ), extracción de hebras que contienen una subsecuencia determinada (usando la complementariedad de Watson-Crick), copia (usando la reacción en cadena de la polimerasa que emplea la enzima polimerasa) y lectura. [ 31 ] Investigaciones experimentales recientes lograron resolver instancias más complejas de problemas NP-completos tales como una instancia de 20 variables de 3SAT , e implementaciones húmedas de ADN de máquinas de estados finitos con aplicaciones potenciales para el diseño de fármacos inteligentes .

Autoensamblaje de teselas de ADN de un triángulo de Sierpinski, partiendo de una semilla obtenida mediante la técnica de origami de ADN [ 32 ].

Una de las contribuciones más notables de la investigación en este campo es la comprensión del autoensamblaje . [ 33 ] El autoensamblaje es el proceso ascendente por 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 sobre autoensamblaje incluyen nanoestructuras de ADN autoensambladas [ 34 ] como 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 circuitos basados ​​en ADN ( contador binario , 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 biooperaciones pueden alcanzar el poder computacional de las máquinas de Turing .

Computación cuántica

Una computadora cuántica [ 39 ] procesa datos almacenados como bits cuánticos ( qubits ) y utiliza fenómenos de la mecánica cuántica, 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 ambos. Una computadora cuántica opera con qubits mediante puertas lógicas cuánticas . Gracias al algoritmo polinomial de Shor para la factorización de enteros y al algoritmo de Grover para la búsqueda en bases de datos cuánticas, que presenta una ventaja temporal cuadrática, se ha demostrado que las computadoras cuánticas podrían ofrecer una ventaja significativa en comparació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 esta no puede medirse de forma fiable y cualquier intento de medirla produce una perturbación inevitable e irreversible. En 2007 se informó de un experimento exitoso al aire libre de criptografía cuántica, en el que se transmitieron datos 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 arbitrariamente distante. Las implementaciones de ordenadores cuánticos prácticos se basan en diversos sustratos, como trampas de iones , superconductores , resonancia magnética nuclear , etc. En 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 podía operar con hasta 12 cúbits. [ 41 ]

La naturaleza como procesamiento de información

El aspecto dual de la computación natural es que busca comprender la naturaleza al considerar los fenómenos naturales como procesamiento de información. Ya en la década de 1960, Zuse y Fredkin sugirieron la idea de que todo el universo es un mecanismo computacional (de procesamiento de información), modelado como un autómata celular que actualiza continuamente sus reglas. [ 3 ] [ 4 ] Un enfoque cuántico-mecánico reciente de Lloyd sugiere el universo como 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 ] basándose en la idea de la naturaleza como red de redes de procesos de información en diferentes niveles de organización, estudia los procesos naturales como computaciones (procesamiento de información).

Las principales líneas de investigación en este campo son la biología de sistemas , la biología sintética y la computación celular .

Biología de sistemas

La biología de sistemas computacional (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. Así, en la biología de sistemas, el foco 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, en lugar de 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 de regulación génica, redes bioquímicas, redes de transporte y redes de carbohidratos.

Las redes de regulación génica 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 según 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 de la transcripción génica . Los genes interactúan entre sí a través de sus productos génicos (ARNm, proteínas), que pueden regular la transcripción génica, o a través de 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 de regulación génica . Estas redes realizan tareas de procesamiento de información dentro de la célula, incluyendo el ensamblaje y mantenimiento de otras redes. Los modelos de redes de regulación génica incluyen redes booleanas aleatorias y probabilísticas , autómatas asíncronos 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 creada por el hombre con la computación tal como ocurre en la naturaleza. [ 44 ]

Además, a diferencia de un ordenador convencional, la robustez en un ordenador genómico se logra mediante diversos mecanismos de retroalimentación mediante los cuales los procesos poco funcionales se degradan rápidamente, las células poco funcionales mueren por apoptosis y los organismos poco funcionales son superados por especies más aptas.

Las redes bioquímicas se refieren a las interacciones entre proteínas, las cuales 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, formando un complejo proteico dinámico ( complejación ). Estos complejos proteicos pueden actuar como catalizadores de otras reacciones químicas o modificarse químicamente entre sí. Dichas modificaciones provocan cambios en los sitios de unión disponibles de las proteínas. En una célula existen decenas de miles de proteínas que interactúan entre sí. Para describir interacciones a tan gran escala, se introdujeron los mapas de Kohn [ 45 ] como notación gráfica para representar las interacciones moleculares de forma concisa. Otros enfoques para describir con precisión y concisión las interacciones proteína-proteína incluyen el uso de biocálculo textual [ 46 ] o cálculo pi enriquecido con características estocásticas [ 47 ] .

Las redes de transporte se refieren a la separación y el transporte de sustancias mediado por membranas lipídicas. Algunos lípidos pueden autoensamblarse en membranas biológicas. Una membrana lipídica consta de una bicapa lipídica en la que se insertan proteínas y otras moléculas, pudiendo desplazarse 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. Entre los formalismos que describen las redes de transporte se incluyen los sistemas de membranas y los cálculos de branas . [ 48 ]

Biología sintética

La biología sintética busca diseñar componentes biológicos sintéticos, con el objetivo final de ensamblar sistemas biológicos completos a partir de sus componentes. 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 de la regulación génica. Las técnicas de ingeniería genética, basadas en la tecnología del ADN recombinante , son precursoras 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 cadenas 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 realidad. De hecho, el ensamblaje rápido de cadenas cortas de ADN sintetizadas químicamente permitió generar un genoma sintético de un virus de 5386 pb. [ 49 ]

Por otra parte, Smith et al. descubrieron alrededor de 100 genes que pueden eliminarse individualmente del genoma de Mycoplasma genitalium . Este hallazgo abre el camino para el ensamblaje de un genoma artificial mínimo, pero aún viable, compuesto únicamente por los genes esenciales.

Un tercer enfoque para la ingeniería de células semisintéticas consiste en la construcción de un único tipo de molécula similar al ARN con capacidad de autorreplicación. [ 50 ] Dicha 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 se centra en la ingeniería de sistemas multicelulares mediante el diseño, por ejemplo, de módulos de comunicación 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 comprender 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, seguido por cada ciliado reensamblando la información de su nuevo micronúcleo para construir un nuevo macronúcleo funcional. Este último proceso se denomina ensamblaje de genes o reordenamiento de genes. Implica reordenar algunos fragmentos de ADN ( permutaciones y posiblemente inversiones ) y eliminar otros fragmentos de la copia micronuclear. Desde el punto de vista computacional, el estudio de este proceso de ensamblaje de genes ha dado lugar a numerosos 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 plantilla . [ 53 ] [ 54 ]

Otros enfoques para la computación celular incluyen el desarrollo de un autómata de estados finitos programable y autónomo in vivo con E. coli , [ 55 ] el diseño y la construcción de compuertas lógicas celulares y circuitos genéticos in vivo que aprovechan los procesos bioquímicos existentes de la célula (véase, 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 ]

Véase también

Referencias

  1. G. Rozenberg, T. Back, J. Kok, Editores, Manual de Computación Natural, Springer Verlag, 2012
  2. A. Brabazon, MO'Neill, S. McGarraghy. Algoritmos de computación natural , Springer Verlag, 2015
  3. 1 2 Fredkin, F. Mecánica digital: Un proceso informacional basado en CA universal reversible. Physica D 45 (1990) 254-270
  4. ^ Zuse , K. Rechnender Raum. Elektronische Datenverarbeitung 8 (1967) 336-344
  5. 1 2 Lloyd, S. Programando el universo: Un científico de la computación cuántica aborda el cosmos . Knopf, 2006
  6. 1 2 Zenil, H. Un universo computable: comprender y explorar la naturaleza como computación . World Scientific Publishing Company, 2012
  7. 1 2 Dodig-Crnkovic, G. y Giovagnoli, R. COMPUTING NATURE . Springer, 2013
  8. Olarius S., Zomaya AY, Manual de algoritmos y aplicaciones bioinspiradas , Chapman & Hall/CRC, 2005.
  9. de Castro, LN, Fundamentos de la computación natural: conceptos básicos, algoritmos y aplicaciones, CRC Press, 2006.
  10. von Neumann, J. El ordenador y el cerebro . Yale University Press, 1958.
  11. Arbib, M., editor. Manual de teoría cerebral y redes neuronales. MIT Press, 2003.
  12. Rojas, R. Redes neuronales: una introducción sistemática. Springer, 1996
  13. Bäck, T., Fogel, D., Michalewicz, Z., editores. Manual de computación evolutiva. IOP Publishing, Reino Unido, 1997.
  14. Koza, J. Programación genética: Sobre la programación de computadoras mediante selección natural . MIT Press, 1992
  15. ^ Pelikan, Martín; Goldberg, David E.; Cantú-Paz, Erick (1 de enero de 1999). BOA: El algoritmo de optimización bayesiano . Gecco'99. págs. 525 a 532. ISBN  978-1-55860-611-1.{{cite book}}: |journal=ignorado ( ayuda )
  16. Pelikan, Martin (2005). Algoritmo de optimización bayesiana jerárquica: hacia una nueva generación de algoritmos evolutivos (1.ª ed.). Berlín [ua]: Springer. ISBN  978-3-540-23774-7.
  17. Thierens, Dirk (11 de septiembre de 2010). «El algoritmo genético del árbol de enlace». Resolución de problemas paralelos inspirada en la naturaleza, PPSN XI . págs. 264–273 . doi : 10.1007/978-3-642-15844-5_27 . ISBN  978-3-642-15843-8. S2CID 28648829 . 
  18. Martins, Jean P.; Fonseca, Carlos M.; Delbem, Alexandre CB (25 de diciembre de 2014). "Sobre el rendimiento de los algoritmos genéticos de árbol de enlace para el problema de la mochila multidimensional". Neurocomputing . 146 : 17–29 . doi : 10.1016/j.neucom.2014.04.069 .
  19. Engelbrecht, A. Fundamentos de la inteligencia de enjambre computacional. Wiley and Sons, 2005.
  20. Dasgupta, D. (editor). Sistemas inmunitarios artificiales y sus aplicaciones. Springer, 1998.
  21. de Castro, L., Timmis, J. Sistemas inmunes artificiales: un nuevo enfoque de inteligencia computacional . Springer, 2002.
  22. Paun, G. Computación de membranas: una introducción . Springer, 2002
  23. Abelson, H., Allen, D., Coore, D., Hanson, C., Homsy, G., Knight Jr., T., Nagpal, R., Rauch, E., Sussman, G., Weiss, R. Computación amorfa . Communications of the ACM 43, 5 (mayo de 2000), 74-82
  24. Pfeifer, R. y Füchslin R. Computación morfológica . (comienza en la pág. 11), 2013
  25. Pfeifer, R. y Bondgard, J. Cómo el cuerpo moldea nuestra forma de pensar: una nueva perspectiva de la inteligencia . MIT Press, 2006
  26. Langton, C., editor. Vida artificial. Addison-Wesley Longman, 1990
  27. Rozenberg, G. y Salomaa, A. La teoría matemática de los sistemas L. Academic Press, 1980.
  28. Brooks, R. Vida artificial: de los sueños robóticos a la realidad . Nature 406 (2000), 945-947
  29. Lipson, P., Pollack, J. Diseño y fabricación automáticos de formas de vida robóticas . Nature 406 (2000), 974-978
  30. 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
  31. Kari, L. Computación de ADN: la llegada de las matemáticas biológicas . The Mathematical Intelligencer 19, 2 (1997) 9-22
  32. Fujibayashi, K., Hariadi, R., Park, SH., Winfree, E., Murata, S. Hacia el autoensamblaje algorítmico fiable de teselas de ADN: un patrón de autómata celular de ancho fijo . Nano Letters 8(7) (2007) 1791-1797.
  33. Reif, J. y LaBean, T. Dispositivos biomoleculares autónomos programables mediante nanoestructuras de ADN autoensambladas . Communications of the ACM 50, 9 (septiembre de 2007), 46-53
  34. Seeman, N. Nanotecnología y la doble hélice . Scientific American Reports, 17. 3 (2007), 30-39
  35. Rothemund, P., Papadakis, N., Winfree, E. Autoensamblaje algorítmico de triángulos de Sierpinski de ADN . PLoS Biology 2, 12 (diciembre de 2004)
  36. Rothemund, P. Plegado de ADN para crear formas y patrones a nanoescala . Nature 440 (2006) 297-302.
  37. Bath, J., Turberfield, A. Nanomáquinas de ADN . Nature Nanotechnology 2 (mayo de 2007), 275-284
  38. Paun, G., Rozenberg, G., Salomaa, A. Computación de ADN: Nuevos paradigmas de computación. Springer, 1998
  39. Hirvensalo, M. Computación cuántica, 2.ª ed. Springer, 2004
  40. Ursin, R. et al. Comunicación cuántica basada en entrelazamiento cuántico a través de 144 km . Nature Physics 3 (2007) 481-486
  41. Negrevergne, C. et al. Evaluación comparativa de métodos de control cuántico en un sistema de 12 cúbits . Physical Review Letters 96:art170501, 2006
  42. Vedral, V. [Decodificando la realidad: El universo como información cuántica]. Oxford University Press, 2010
  43. Cardelli, L. Abstract machines of systems biology Archived 19 April 2008 at the Wayback Machine Bulletin of the EATCS 93 (2007), 176-204
  44. Istrail, S., De-Leon, BT., Davidson, E. El genoma regulador y la computadora . Biología del Desarrollo 310 (2007), 187-195
  45. Kohn, K. Mapa de interacción molecular de los sistemas de control del ciclo celular y reparación del ADN en mamíferos . Biología Molecular de la Célula 10(8) (1999) 2703-2734.
  46. Nagasaki, M., Onami, S., Miyano, S., Kitano, H. Biocálculo: su concepto e interacción molecular . Genome Informatics 10 (1999) 133-143.
  47. Regev, A., Shapiro, E. Abstracciones celulares: Las células como computación . Nature 419 (2002) 343
  48. Cardelli, L. Cálculos de branas: Interacciones de membranas biológicas . En LNCS 3082, páginas 257-280. Springer, 2005.
  49. Smith, H., Hutchison III, C., Pfannkoch, C., y Venter, C. Generación de un genoma sintético mediante ensamblaje del genoma completo: bacteriófago {phi}X174 a partir de oligonucleótidos sintéticos . PNAS 100 , 26 (2003), 15440-15445.
  50. Sazani, P., Larralde, R., Szostak, J. Un pequeño aptámero con reconocimiento fuerte y específico del trifosfato del ATP . Journal of the American Chemical Society , 126(27) (2004) 8370-8371
  51. Weiss, R., Knight, Jr., T. Comunicaciones diseñadas para la robótica microbiana . En LNCS 2054, páginas 1-16, Springer, 2001.
  52. Landweber, L. y Kari, L. La evolución de la computación celular: la solución de la naturaleza a un problema computacional . Biosystems , 52, 1/3 (1999) 3-13.
  53. Angeleska, A.; Jonoska, N.; Saito, M.; Landweber, L. (2007). "Ensamblaje de ADN guiado por ARN". Journal of Theoretical Biology . 248 (4): 706– 720. Bibcode : 2007JThBi.248..706A . doi : 10.1016/j.jtbi.2007.06.007 . PMID 17669433 . 
  54. Prescott, David M.; Ehrenfeucht, A.; Rozenberg, G. (7 de junio de 2003). "Recombinación guiada por plantilla para la eliminación de IES y el desciframiento de genes en ciliados esticotricos" . Journal of Theoretical Biology . 222 (3): 323– 330. Bibcode : 2003JThBi.222..323P . doi : 10.1016/S0022-5193(03)00037-7 . PMID 12732478 . 
  55. ^ Nakagawa, Hirotaka; Sakamoto, Kensaku; Sakakibara, Yasubumi (2006). "Desarrollo de una Computadora in vivo Basado en Escherichia coli" . Computación del ADN . Apuntes de conferencias sobre informática. vol. 3892. págs. 203– 212. doi : 10.1007/11753681_16 . ISBN   978-3-540-34161-1.
  56. 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 Síntesis y Simulación de Sistemas Vivos, páginas 186-193. MIT Press, agosto de 2010.
  57. Duran-Nebreda S, Bassel G (abril de 2019). "Comportamiento de las plantas en respuesta al entorno: procesamiento de información en estado sólido" . Philosophical Transactions of the Royal Society B. 374 ( 1774) 20180370. doi : 10.1098/rstb.2018.0370 . PMC 6553596. PMID 31006360 .  

Lecturas adicionales

Este artículo se ha redactado a partir de las siguientes referencias, con la amable autorización de sus autores:

  • Lila Kari, Grzegorz Rozenberg (octubre de 2008). "Las múltiples facetas de la informática natural" . Comunicaciones de la ACM . 51 (10): 72– 83. CiteSeerX 10.1.1.141.1586 . doi : 10.1145/1400181.1400200 . 
  • Leandro Nunes de Castro (marzo de 2007). "Fundamentos de la computación natural: una visión general". Physics of Life Reviews . 4 (1): 1– 36. Bibcode : 2007PhLRv...4....1D . doi : 10.1016/j.plrev.2006.10.002 .

Muchas de las áreas de investigación que conforman la computación natural cuentan con sus propias revistas y series de libros especializadas. Entre las revistas y series de libros dedicadas al amplio campo de la computación natural se incluyen Natural Computing (Springer Verlag), Theoretical Computer Science, Series C: Theory of Natural Computing (Elsevier), la serie de libros Natural Computing (Springer Verlag) y el Handbook of Natural Computing (G. Rozenberg, T. Back, J. Kok, editores, Springer Verlag).

  • Ridge, E.; Kudenko, D.; Kazakov, D.; Curry, E. (2005). "Trasladando algoritmos inspirados en la naturaleza a entornos paralelos, asíncronos y descentralizados". Self-Organization and Autonomic Informatics (I) . 135 : 35–49 . CiteSeerX 10.1.1.64.3403 . 
  • Enjambres e inteligencia de enjambre por Michael G. Hinchey, Roy Sterritt y Chris Rouff,

Para los lectores interesados ​​en artículos de divulgación científica, les recomendamos este de Medium: Algoritmos inspirados en la naturaleza.