Computação natural - Natural computing

A computação natural , também chamada de computação natural , é uma terminologia introduzida para abranger três classes de métodos: 1) aqueles que se inspiram na natureza para o desenvolvimento de novas técnicas de resolução de problemas; 2) aquelas que se baseiam no uso de computadores para sintetizar fenômenos naturais; e 3) aqueles que empregam materiais naturais (por exemplo, moléculas) para calcular. Os principais campos de pesquisa que compõem esses três ramos são redes neurais artificiais , algoritmos evolutivos , inteligência de enxame , sistemas imunológicos artificiais , geometria fractal, vida artificial , computação de DNA e computação quântica , entre outros.

Paradigmas computacionais estudados pela computação natural são abstraídos de fenômenos naturais tão diversos como auto-replicação , funcionamento do cérebro , evolução darwiniana , comportamento de grupo , sistema imunológico , propriedades definidoras de formas de vida, membranas celulares e morfogênese . Além do hardware eletrônico tradicional , esses paradigmas computacionais podem ser implementados em meios físicos alternativos, como biomoléculas (DNA, RNA) ou dispositivos de computação quântica de íons presos .

Duplamente, pode-se ver os processos que ocorrem na natureza como processamento de informações. Esses processos incluem automontagem , processos de desenvolvimento , redes de regulação de genes, redes de interação proteína-proteína , redes de transporte biológico ( transporte ativo , transporte passivo ) e montagem de genes em organismos unicelulares . Os esforços para compreender os sistemas biológicos também incluem a engenharia de organismos semissintéticos e a compreensão do próprio universo do ponto de vista do processamento de informações. Na verdade, foi mesmo avançada a ideia de que a informação é mais fundamental do que matéria ou energia. A tese de Zuse-Fredkin, que data da década de 1960, afirma que todo o universo é um enorme autômato celular que atualiza continuamente suas regras. Recentemente, foi sugerido que todo o universo é um computador quântico que calcula seu próprio comportamento. O universo / natureza como mecanismo computacional é abordado, explorando a natureza com auxílio das idéias de computabilidade, e estudando processos naturais como computações (processamento de informação).

Modelos de computação inspirados na natureza

Os modelos de computação inspirados na natureza "clássicos" mais estabelecidos são autômatos celulares, computação neural e computação evolucionária. Os sistemas computacionais mais recentes abstraídos de processos naturais incluem inteligência de enxame, sistemas imunológicos artificiais, computação de membrana e computação amorfa. Revisões detalhadas podem ser encontradas em muitos livros.

Autômatos celulares

Um autômato celular é um sistema dinâmico que consiste em um conjunto de células. O espaço e o tempo são discretos e cada uma das células pode estar em um número finito de estados . O autômato celular atualiza os estados de suas células de forma síncrona de acordo com as regras de transição dadas a priori . O próximo estado de uma célula é calculado por uma regra de transição e depende apenas de seu estado atual e dos estados de seus vizinhos.

O Jogo da Vida de Conway é um dos exemplos mais conhecidos de autômatos celulares, que se mostra universalmente computacionalmente . Os autômatos celulares têm sido aplicados para modelar uma variedade de fenômenos, como comunicação, crescimento, reprodução, competição, evolução e outros processos físicos e biológicos.

Computação neural

A computação neural é o campo de pesquisa que surgiu da comparação entre máquinas de computação e o sistema nervoso humano . Este campo tem como objetivo entender como o cérebro de organismos vivos funciona ( teoria do cérebro ou neurociência computacional ), e projetar algoritmos eficientes baseados nos princípios de como o cérebro humano processa informações (Redes Neurais Artificiais, RNA).

Uma rede neural artificial é uma rede de neurônios artificiais . Um neurônio artificial A é equipado com uma função , recebe n entradas de valor real com os respectivos pesos e dá saída . Alguns neurônios são selecionados para serem os neurônios de saída, e a função de rede é a função vetorial que se associa aos n valores de entrada, as saídas dos m neurônios de saída selecionados. Observe que diferentes escolhas de pesos produzem diferentes funções de rede para as mesmas entradas. A retropropagação é um método de aprendizado supervisionado pelo qual os pesos das conexões na rede são ajustados repetidamente de modo a minimizar a diferença entre o vetor de saídas reais e as saídas desejadas. Algoritmos de aprendizagem baseados na propagação reversa de erros podem ser usados ​​para encontrar pesos ótimos para dada topologia da rede e pares de entrada-saída.

Computação evolutiva

A computação evolucionária é um paradigma computacional inspirado na evolução darwiniana .

Um sistema evolutivo artificial é um sistema computacional baseado na noção de evolução simulada. Compreende uma população de indivíduos de tamanho constante ou variável, um critério de adequação e operadores geneticamente inspirados que produzem a próxima geração a partir da atual. A população inicial é normalmente gerada aleatoriamente ou heuristicamente, e os operadores típicos são mutação e recombinação . Em cada etapa, os indivíduos são avaliados de acordo com a função de aptidão dada ( sobrevivência do mais apto ). A próxima geração é obtida de indivíduos selecionados (pais) usando operadores inspirados geneticamente. A escolha dos pais pode ser orientada por um operador de seleção que reflete o princípio biológico da seleção do parceiro . Este processo de evolução simulada eventualmente converge para uma população de indivíduos quase ótima, do ponto de vista da função de aptidão.

O estudo de sistemas evolutivos tem evoluído historicamente ao longo de três ramos principais: Estratégias de evolução fornecem uma solução para problemas de otimização de parâmetros para tipos de parâmetros de valor real, bem como discretos e mistos. A programação evolucionária originalmente destinada a criar "agentes inteligentes" ideais modelados, por exemplo, como máquinas de estado finito. Algoritmos genéticos aplicaram a ideia de computação evolucionária ao problema de encontrar uma solução (quase) ótima para um determinado problema. Os algoritmos genéticos inicialmente consistiam em uma população de entrada de indivíduos codificados como sequências de bits de comprimento fixo, a mutação de operadores genéticos (bit flips) e recombinação (combinação de um prefixo de um dos pais com o sufixo do outro) e uma aptidão dependente do problema função. Algoritmos genéticos têm sido usados ​​para otimizar programas de computador, chamados de programação genética , e hoje também são aplicados a problemas de otimização de parâmetros de valor real, bem como a muitos tipos de tarefas combinatórias .

Estimation of Distribution Algorithm (EDA), por outro lado, são algoritmos evolutivos que substituem os operadores de reprodução tradicionais por aqueles guiados por modelos. Tais modelos são aprendidos com a população, empregando técnicas de aprendizado de máquina e representados como Modelos Gráficos Probabilísticos, a partir dos quais novas soluções podem ser amostradas ou geradas a partir de crossover guiado.

Inteligência de enxame

A inteligência do enxame , às vezes referida como inteligência coletiva , é definida como o comportamento de resolução de problemas que emerge da interação de agentes individuais (por exemplo, bactérias , formigas , cupins , abelhas , aranhas , peixes , pássaros ) que se comunicam com outros agentes agindo sobre seus ambientes locais .

A otimização do enxame de partículas aplica essa ideia ao problema de encontrar uma solução ótima para um determinado problema por meio de uma pesquisa em um espaço de solução (multidimensional) . A configuração inicial é um enxame de partículas , cada uma representando uma possível solução para o problema. Cada partícula tem sua própria velocidade que depende de sua velocidade anterior (o componente de inércia), a tendência para a melhor posição pessoal passada (o componente de nostalgia) e sua tendência para um ótimo de vizinhança global ou ótimo de vizinhança local (o componente social). As partículas, portanto, se movem através de um espaço multidimensional e, eventualmente, convergem para um ponto entre o melhor global e o seu melhor pessoal. Algoritmos de otimização de enxame de partículas foram aplicados a vários problemas de otimização e a aplicativos de aprendizagem não supervisionada , aprendizagem de jogos e programação .

Na mesma linha, algoritmos de formigas modelam o comportamento de forrageamento de colônias de formigas. Para encontrar o melhor caminho entre o ninho e uma fonte de alimento, as formigas contam com a comunicação indireta, colocando uma trilha de feromônios no caminho de volta ao ninho se encontrarem comida, respectivamente seguindo a concentração de feromônios se estiverem procurando por comida. Algoritmos de Ant têm sido aplicados com sucesso a uma variedade de problemas de otimização combinatória em espaços de busca discretos.

Sistema imunológico artificial

Os sistemas imunológicos artificiais (também conhecidos como computação imunológica ou imunocomputação ) são sistemas computacionais inspirados nos sistemas imunológicos naturais dos organismos biológicos.

Visto como um sistema de processamento de informações, o sistema imunológico natural dos organismos executa muitas tarefas complexas de maneira paralela e de computação distribuída . Isso inclui a distinção entre eu e não-eu , neutralização de patógenos não- próprios ( vírus , bactérias, fungos e parasitas ), aprendizagem , memória , recuperação associativa , autorregulação e tolerância a falhas . Os sistemas imunológicos artificiais são abstrações do sistema imunológico natural, enfatizando esses aspectos computacionais. Suas aplicações incluem a detecção de vírus de computador , a detecção de anomalias em uma série temporal de dados, diagnóstico de falha , reconhecimento de padrões , aprendizagem de máquina, bioinformática , otimização, robótica e controle .

Computação de membrana

A computação de membrana investiga modelos de computação abstraídos da estrutura compartimentada de células vivas afetadas por membranas . Um sistema de membrana genérico (sistema P) consiste em compartimentos semelhantes a células (regiões) delimitados por membranas , que são colocados em uma estrutura hierárquica aninhada . Cada região envolvida por membrana contém objetos, regras de transformação que modificam esses objetos, bem como regras de transferência, que especificam se os objetos serão transferidos para fora ou ficarão dentro da região. As regiões se comunicam entre si por meio da transferência de objetos. O cálculo por um sistema de membrana começa com uma configuração inicial, onde o número ( multiplicidade ) de cada objeto é definido como algum valor para cada região (vários conjuntos de objetos ). Ele procede escolhendo, não deterministicamente e de uma maneira maximamente paralela , quais regras são aplicadas a quais objetos. A saída do cálculo é coletada de uma região de saída determinada a priori .

As aplicações de sistemas de membrana incluem aprendizado de máquina, modelagem de processos biológicos ( fotossíntese , certas vias de sinalização , detecção de quorum em bactérias, imunidade mediada por células ), bem como aplicações de ciência da computação, como computação gráfica , criptografia de chave pública , algoritmos de aproximação e classificação , bem como a análise de vários problemas computacionalmente difíceis .

Computação amorfa

Nos organismos biológicos, a morfogênese (o desenvolvimento de formas e estruturas funcionais bem definidas) é obtida pelas interações entre as células guiadas pelo programa genético codificado no DNA do organismo.

Inspirado por esta ideia, a computação amorfa visa a engenharia de formas e padrões bem definidos, ou comportamentos computacionais coerentes, a partir das interações locais de uma infinidade de elementos de computação (partículas) simples não confiáveis, colocados irregularmente, assíncronos e programados de forma idêntica. Como paradigma de programação, o objetivo é encontrar novas técnicas de programação que funcionem bem para ambientes de computação amorfos. A computação amorfa também desempenha um papel importante como base para a " computação celular " (veja os tópicos biologia sintética e computação celular , abaixo).

Computação morfológica

A compreensão de que a morfologia realiza computação é usada para analisar a relação entre morfologia e controle e para guiar teoricamente o projeto de robôs com requisitos de controle reduzidos, tem sido usada tanto na robótica quanto para a compreensão dos processos cognitivos em organismos vivos, ver Computação morfológica e .

Computação cognitiva

Computação cognitiva CC é um novo tipo de computação, normalmente com o objetivo de modelar funções de detecção humana, raciocínio e resposta a estímulos, consulte Computação cognitiva e.

As capacidades cognitivas da computação cognitiva atual estão longe do nível humano. A mesma abordagem info-computacional pode ser aplicada a outros organismos vivos mais simples. As bactérias são um exemplo de sistema cognitivo modelado computacionalmente, consulte Eshel Ben-Jacob e Microbes-mind .

Sintetizando a natureza por meio da computação

Vida artificial

Vida artificial (ALife) é um campo de pesquisa cujo objetivo final é compreender as propriedades essenciais dos organismos vivos, construindo, em computadores eletrônicos ou outros meios artificiais, sistemas ab initio que exibem propriedades normalmente associadas apenas a organismos vivos. Os primeiros exemplos incluem os sistemas Lindenmayer ( sistemas L), que têm sido usados ​​para modelar o crescimento e o desenvolvimento das plantas. Um sistema L é um sistema de reescrita paralelo que começa com uma palavra inicial e aplica suas regras de reescrita em paralelo a todas as letras da palavra.

Os experimentos pioneiros em vida artificial incluíram o design de "criaturas virtuais em bloco" em evolução, agindo em ambientes simulados com recursos realistas, como cinética , dinâmica , gravidade , colisão e fricção . Essas criaturas artificiais foram selecionadas por suas habilidades de nadar, andar ou pular, e competiram por um recurso limitado comum (controlar um cubo). A simulação resultou na evolução de criaturas com comportamento surpreendente: algumas desenvolveram mãos para agarrar o cubo, outras desenvolveram pernas para se moverem em direção ao cubo. Essa abordagem computacional foi combinada ainda mais com a tecnologia de fabricação rápida para realmente construir os robôs físicos que virtualmente evoluíram. Isso marcou o surgimento do campo da vida artificial mecânica .

O campo da biologia sintética explora uma implementação biológica de idéias semelhantes. Outras instruções de pesquisa dentro do campo de vida artificial incluem química artificial como fenómenos biológicos bem como tradicionalmente explorada em sistemas artificiais, que vão desde processos computacionais, tais como co-evolutiva adaptação e desenvolvimento, a processos físicos, tais como o crescimento, a auto-replicação , e auto- reparar .

Novo hardware inspirado na natureza

Todas as técnicas computacionais mencionadas acima, embora inspiradas pela natureza, foram implementadas até agora principalmente em hardware eletrônico tradicional . Em contraste, os dois paradigmas introduzidos aqui, computação molecular e computação quântica , empregam tipos radicalmente diferentes de hardware.

Computação molecular

A computação molecular (também conhecida como computação biomolecular, biocomputação, computação bioquímica, computação de DNA ) é um paradigma computacional no qual os dados são codificados como biomoléculas , como fitas de DNA , e ferramentas de biologia molecular atuam nos dados para realizar várias operações (por exemplo, operações aritméticas ou lógicas )

A primeira realização experimental do computador molecular para fins especiais foi o experimento revolucionário de 1994 por Leonard Adleman, que resolveu uma instância de 7 nós do problema do caminho hamiltoniano apenas manipulando fitas de DNA em tubos de ensaio. Os cálculos de DNA começam a partir de uma entrada inicial codificada como uma sequência de DNA (essencialmente uma sequência sobre o alfabeto de quatro letras {A, C, G, T}) e prossegue por uma sucessão de biooperações, como cortar e colar ( por enzimas de restrição e ligases ), extração de fitas contendo uma determinada subsequência (usando complementaridade de Watson-Crick), cópia (usando reação em cadeia da polimerase que emprega a enzima polimerase) e leitura. Pesquisas experimentais recentes conseguiram resolver instâncias mais complexas de problemas NP-completos , como uma instância de 20 variáveis ​​de 3SAT e implementações de DNA úmido de máquinas de estado finito com aplicações potenciais para o projeto de drogas inteligentes .

Auto-montagem de ladrilhos de DNA de um triângulo de Sierpinski, a partir de uma semente obtida pela técnica de origami de DNA

Uma das contribuições mais notáveis ​​da pesquisa neste campo é a compreensão da automontagem . A automontagem é o processo ascendente pelo qual os objetos se reúnem autonomamente para formar estruturas complexas. Os exemplos da natureza são abundantes e incluem átomos que se ligam por ligações químicas para formar moléculas e moléculas que formam cristais ou macromoléculas . Exemplos de tópicos de pesquisa de automontagem incluem nanoestruturas de DNA automontadas, como triângulos de Sierpinski ou nanoformas arbitrárias obtidas usando a técnica de origami de DNA e nanomáquinas de DNA, como circuitos baseados em DNA ( contador binário , XOR cumulativo bit a bit ), ribozimas para lógica operações, interruptores moleculares ( pinças de DNA ) e motores moleculares autônomos ( caminhantes de DNA ).

A pesquisa teórica em computação molecular resultou em vários novos modelos de computação de DNA (por exemplo, sistemas de splicing introduzidos por Tom Head já em 1987) e seu poder computacional foi investigado. Vários subconjuntos de biooperações são agora conhecidos por serem capazes de atingir o poder computacional das máquinas de Turing .

Computação quântica

Um computador quântico processa dados armazenados como bits quânticos ( qubits ) e usa fenômenos da mecânica quântica, como superposição e emaranhamento, para realizar cálculos. Um qubit pode conter um "0", um "1" ou uma superposição quântica destes. Um computador quântico opera em qubits com portas lógicas quânticas . Por meio do algoritmo polinomial de Shor para fatorar inteiros e do algoritmo de Grover para pesquisa de banco de dados quântico que tem uma vantagem de tempo quadrática, os computadores quânticos mostraram possuir um benefício significativo em relação aos computadores eletrônicos.

A criptografia quântica não é baseada na complexidade da computação , mas nas propriedades especiais da informação quântica , como o fato de que a informação quântica não pode ser medida de forma confiável e qualquer tentativa de medi-la resulta em uma perturbação inevitável e irreversível. Um experimento bem-sucedido ao ar livre em criptografia quântica foi relatado em 2007, onde os dados foram transmitidos com segurança a uma distância de 144 km. O teletransporte quântico é outra aplicação promissora, em que um estado quântico (não matéria ou energia) é transferido para um local distante arbitrário. Implementações de computadores quânticos práticos são baseadas em vários substratos, como armadilhas de íons , supercondutores , ressonância magnética nuclear , etc. Em 2006, o maior experimento de computação quântica usava processadores de informação quântica de ressonância magnética nuclear de estado líquido e poderia operar em até 12 qubits.

Natureza como processamento de informação

O duplo aspecto da computação natural é que ela visa compreender a natureza considerando os fenômenos naturais como processamento de informação. Já na década de 1960, Zuse e Fredkin sugeriram a ideia de que todo o universo é um mecanismo computacional (processamento de informações), modelado como um autômato celular que atualiza continuamente suas regras. Uma recente abordagem da mecânica quântica de Lloyd sugere o universo como um computador quântico que calcula seu próprio comportamento, enquanto Vedral sugere que a informação é o bloco de construção mais fundamental da realidade.

Elabora-se o universo / natureza como mecanismo computacional, explorando a natureza com o auxílio das ideias de computabilidade, enquanto, com base na ideia de natureza como rede de redes de processos de informação em diferentes níveis de organização, se estuda processos naturais como computações ( processando informação).

As principais direções de pesquisa nesta área são a biologia de sistemas , a biologia sintética e a computação celular .

Biologia de sistemas

A biologia de sistemas computacionais (ou simplesmente biologia de sistemas) é uma abordagem integrativa e qualitativa que investiga as comunicações e interações complexas que ocorrem em sistemas biológicos. Assim, em biologia de sistemas, o foco do estudo são as próprias redes de interação e as propriedades dos sistemas biológicos que surgem devido a essas redes, ao invés dos componentes individuais dos processos funcionais em um organismo. Este tipo de pesquisa em componentes orgânicos tem se concentrado fortemente em quatro diferentes redes de interação interdependente: redes reguladoras de genes, redes bioquímicas, redes de transporte e redes de carboidratos.

Redes de regulação gênica compreendem interações gene-gene, bem como interações entre genes e outras substâncias na célula. Os genes são transcritos em RNA mensageiro (mRNA) e, em seguida, traduzidos em proteínas de acordo com o código genético . Cada gene está associado a outros segmentos de DNA ( promotores , potenciadores ou silenciadores ) que atuam como sítios de ligação para ativadores ou repressores para a transcrição do gene . Os genes interagem entre si por meio de seus produtos gênicos (mRNA, proteínas), que podem regular a transcrição do gene, ou por meio de pequenas espécies de RNA que podem regular diretamente os genes. Essas interações gene-gene , junto com as interações dos genes com outras substâncias na célula, formam a rede de interação mais básica: as redes reguladoras de genes . Eles executam tarefas de processamento de informações dentro da célula, incluindo a montagem e manutenção de outras redes. Os modelos de redes regulatórias de genes incluem redes booleanas aleatórias e probabilísticas , autômatos assíncronos e motivos de rede .

Outro ponto de vista é que todo o sistema regulatório genômico é um sistema computacional, um computador genômico . Essa interpretação permite comparar a computação eletrônica feita pelo homem com a computação conforme ocorre na natureza.

Uma comparação entre computadores genômicos e eletrônicos
Computador genômico Computador eletronico
Arquitetura mutável rígido
Construção de componentes conforme necessário do começo
Coordenação coordenação causal sincronia temporal
Distinção entre hardware e software Não sim
Meios de transporte moléculas e íons fios

Além disso, ao contrário de um computador convencional, a robustez em um computador genômico é alcançada por vários mecanismos de feedback pelos quais processos mal funcionais são rapidamente degradados, células mal funcionais são mortas por apoptose e organismos fracamente funcionais são superados por espécies mais adequadas.

Redes bioquímicas referem-se às interações entre proteínas e executam várias tarefas mecânicas e metabólicas dentro de uma célula. Duas ou mais proteínas podem se ligar umas às outras através da ligação de seus locais de interação e formar um complexo dinâmico de proteínas ( complexação ). Esses complexos de proteínas podem atuar como catalisadores para outras reações químicas ou podem modificar-se quimicamente. Essas modificações causam alterações nos locais de ligação disponíveis das proteínas. Existem dezenas de milhares de proteínas em uma célula e elas interagem umas com as outras. Para descrever essas interações em escala massiva, os mapas de Kohn foram introduzidos como uma notação gráfica para representar as interações moleculares em imagens sucintas. Outras abordagens para descrever de forma precisa e sucinta as interações proteína-proteína incluem o uso de bio-cálculo textual ou cálculo pi enriquecido com características estocásticas.

Redes de transporte referem-se à separação e transporte de substâncias mediados por membranas lipídicas. Alguns lipídios podem se auto-reunir em membranas biológicas. Uma membrana lipídica consiste em uma bicamada lipídica na qual estão embutidas proteínas e outras moléculas, podendo viajar ao longo desta camada. Por meio de bicamadas lipídicas, as substâncias são transportadas entre o interior e o exterior das membranas para interagir com outras moléculas. Formalismos que representam redes de transporte incluem sistemas de membrana e cálculos de brana .

Biologia sintética

A biologia sintética visa a engenharia de componentes biológicos sintéticos, com o objetivo final de montar sistemas biológicos completos a partir de seus componentes constituintes. A história da biologia sintética pode ser rastreada até a década de 1960, quando François Jacob e Jacques Monod descobriram a lógica matemática na regulação dos genes. As técnicas de engenharia genética, baseadas na tecnologia do DNA recombinante , são um precursor da biologia sintética de hoje, que estende essas técnicas a sistemas inteiros de genes e produtos gênicos.

Junto com a possibilidade de sintetizar fitas de DNA cada vez mais longas, a perspectiva de criar genomas sintéticos com o propósito de construir organismos sintéticos inteiramente artificiais se tornou uma realidade. Na verdade, a montagem rápida de filamentos curtos de DNA sintetizados quimicamente tornou possível gerar um genoma sintético de 5386 pb de um vírus.

Alternativamente, Smith et al. encontraram cerca de 100 genes que podem ser removidos individualmente do genoma do Mycoplasma Genitalium . Essa descoberta abre caminho para a montagem de um genoma artificial mínimo, mas ainda viável, que consiste apenas nos genes essenciais.

Uma terceira abordagem para a engenharia de células semissintéticas é a construção de um único tipo de molécula semelhante a RNA com a capacidade de auto-replicação. Tal molécula poderia ser obtida guiando a rápida evolução de uma população inicial de moléculas semelhantes a RNA, por seleção para as características desejadas.

Outro esforço neste campo é a engenharia de sistemas multicelulares, projetando, por exemplo, módulos de comunicação célula a célula usados ​​para coordenar populações de células bacterianas vivas.

Computação celular

A computação em células vivas (também conhecida como computação celular ou computação in vivo ) é outra abordagem para entender a natureza como computação. Um estudo particular nesta área é o da natureza computacional da montagem de genes em organismos unicelulares chamados ciliados . Os ciliados armazenam uma cópia de seu DNA contendo genes funcionais no macronúcleo e outra cópia "criptografada" no micronúcleo . A conjugação de dois ciliados consiste na troca de suas informações genéticas micronucleares, levando à formação de dois novos micronúcleos, seguidos de cada ciliado remontando as informações de seu novo micronúcleo para construir um novo macronúcleo funcional. O último processo é chamado de montagem de genes ou rearranjo de genes. Envolve a reordenação de alguns fragmentos de DNA ( permutações e possivelmente inversão ) e a exclusão de outros fragmentos da cópia micronuclear. Do ponto de vista computacional, o estudo desse processo de montagem de genes levou a muitos temas e resultados de pesquisa desafiadores, como a universalidade de Turing de vários modelos desse processo. Do ponto de vista biológico, foi proposta uma hipótese plausível sobre o "bioware" que implementa o processo de montagem de genes, baseada na recombinação guiada por template .

Outras abordagens para a computação celular incluem o desenvolvimento de um autômato de estado finito autônomo e programável in vivo com E. coli , projetando e construindo portas lógicas celulares in vivo e circuitos genéticos que aproveitam os processos bioquímicos existentes da célula (ver, por exemplo) e a otimização global de abertura dos estômatos nas folhas, seguindo um conjunto de regras locais que lembram um autômato celular .

Veja também

Referências

Leitura adicional

Este artigo foi escrito com base nas seguintes referências, com a gentil permissão de seus autores:

Muitas das áreas de pesquisa constituintes da computação natural têm seus próprios periódicos especializados e séries de livros. Revistas e séries de livros dedicadas ao amplo campo da Computação Natural incluem as 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 Série de livros de computação (Springer Verlag) e o Manual de Computação Natural (G.Rozenberg, T.Back, J.Kok, Editors, Springer Verlag).

  • Ridge, E .; Kudenko, D .; Kazakov, D .; Curry, E. (2005). "Movendo algoritmos inspirados na natureza para ambientes paralelos, assíncronos e descentralizados". Auto-Organização e Informática Autônoma (I) . 135 : 35–49. CiteSeerX  10.1.1.64.3403 .
  • Swarms and Swarm Intelligence, de Michael G. Hinchey, Roy Sterritt e Chris Rouff,

Para leitores interessados ​​em artigos científicos populares, considere este em Medium: Nature-Inspired Algorithms