O que é a Computação de DNA, Como Funciona, e Porque é Tão Grande Negócio

Durante a última década, os engenheiros enfrentaram a dura realidade da física na busca de computadores mais potentes: os transistores, os interruptores on-off que alimentam o processador do computador, não podem ser feitos menores do que são atualmente. Olhando além do chip de silício, uma alternativa intuitiva está sendo desenvolvida atualmente usando o DNA para realizar os mesmos tipos de cálculos complexos que os transístores de silício fazem agora. Mas o que é computação de DNA, como funciona a computação de DNA, e por que é tão importante?

Além do Transistor

IC Chip
Source: Fritzchens Fritz / Flickr

O problema com os transístores é que eles agora existem na escala de alguns nanômetros em tamanho – apenas alguns átomos de silício de espessura. Eles não podem praticamente ser feitos menores do que são agora.

Se eles ficarem menores, a corrente elétrica que flui através do transistor facilmente vaza para outros componentes próximos ou deforma o transistor devido ao calor, tornando-o inútil. Você precisa de um número mínimo de átomos para fazer o transistor funcionar e nós funcionalmente atingimos esse limite.

Os engenheiros encontraram algumas soluções para esse problema usando sistemas multi-núcleo e multi-processamento para aumentar a potência computacional sem ter que encolher mais os transistores, mas isso também vem com trocas em termos de desafios de programação e requisitos de potência, então outra solução é necessária se esperamos ver computadores mais potentes no futuro.

VER TAMBÉM: COMPUTAÇÃO COGNITIVA: MAIS INTELIGÊNCIA HUMANA QUE ARTIFICIAL

Enquanto a computação quântica está a ser muito pressionada ultimamente, a computação de ADN pode ser apenas – ou até mais – poderosa do que a computação quântica e não se depara com quase tantas restrições de estabilidade como a computação quântica. Além disso, sabemos que funciona; nós mesmos somos exemplos vivos do armazenamento de dados e do poder computacional da computação de DNA.

O desafio da computação de DNA é que, em comparação com a computação clássica, ela é dolorosamente lenta. A evolução teve centenas de milhões de anos para desenvolver a complicada sequência de ADN que existe dentro de cada uma das nossas células, para que o ADN esteja habituado a trabalhar de acordo com escalas de tempo geológicas e não com os múltiplos gigahertz dos processadores clássicos modernos.

Então como é que a computação de ADN funciona e porque é que a estamos a perseguir se é tão lenta?

>

O que é computação de DNA, como funciona e por que é tão importante?

Hélice de DNA
Fonte:

Para entender o que é computação de DNA, como funciona e por que a computação de DNA é tão importante, primeiro precisamos parar de pensar nisso como uma espécie de substituto para o nosso uso diário clássico do computador; não estaremos jogando em um computador de DNA tão cedo, se tal coisa fosse sequer possível. Os chips de silício ainda vão estar connosco por muito tempo.

DNA computação é o que usaríamos para resolver problemas além do que um computador clássico pode resolver, da mesma forma que a computação quântica pode quebrar a criptografia RSA em momentos, enquanto um computador clássico pode levar milhares de anos para fazer o mesmo.

DNA computação foi descrita pela primeira vez em 1994 pelo cientista da computação Leonard Adleman da Universidade do Sul da Califórnia. Depois de ler sobre a estrutura do DNA, ele foi inspirado a escrever um artigo na revista Science mostrando como você poderia usar o DNA para um infame problema matemático e informático conhecido como o problema dirigido do Hamilton Path, comumente chamado de problema do “caixeiro-viajante” (embora o problema do Hamilton Path seja uma versão ligeiramente diferente do problema do caixeiro-viajante, para nossos propósitos eles são essencialmente intercambiáveis).

Qual é o problema do caixeiro-viajante?

Vendedor viajante
Fonte: BarnImages

Como o problema do caixeiro-viajante o define, uma empresa tem um vendedor que deve visitar n número de cidades fazendo ligações e só pode visitar cada cidade uma vez. Que sequência de cidades visitadas proporciona o caminho mais curto, e portanto o mais barato?

Quando n é igual a 5, o problema pode ser resolvido à mão num pedaço de papel e um computador clássico pode testar todos os caminhos possíveis de forma relativamente rápida. Mas e se n for igual a 20? Encontrar o caminho mais curto através de 20 cidades torna-se muito mais difícil computacionalmente e levaria um computador clássico exponencialmente mais longo para encontrar a resposta.

Tente encontrar o caminho mais curto entre 500 cidades e levaria um computador clássico mais longo que toda a vida do Universo para encontrar o caminho mais curto, uma vez que a única maneira de verificar que encontramos o caminho mais curto é verificar cada permutação de cidades. Alguns algoritmos existem usando computação dinâmica que podem teoricamente reduzir o número de verificações necessárias (e o problema real do Hamilton Path não requer a verificação de cada nó em um gráfico), mas isso pode raspar alguns milhões de anos do topo; o problema ainda será quase computacionalmente impossível em um computador clássico.

Como a computação de DNA resolve este problema

DNA Helix
Source: NIH / Flickr

O que a Adleman conseguiu demonstrar é que o ADN pode ser montado de tal forma que um tubo de ensaio cheio de blocos de ADN se pode montar para codificar todos os caminhos possíveis no problema do caixeiro-viajante ao mesmo tempo.

No DNA, a codificação genética é representada por quatro moléculas diferentes, chamadas A, T, C, e G. Estes quatro “bits”, quando encadeados, podem conter uma quantidade incrível de dados. Afinal, o genoma humano é codificado em algo que pode ser embalado em um único núcleo de uma célula.

Misturando estas quatro moléculas em um tubo de ensaio, as moléculas se montam naturalmente em filamentos de DNA. Se alguma combinação destas moléculas representa uma cidade e um caminho de voo, cada fio de DNA poderia representar um caminho de voo diferente para o vendedor, sendo todas calculadas ao mesmo tempo na síntese dos fios de DNA que se montam em paralelo.

Então, seria simplesmente uma questão de filtrar os caminhos mais longos até ter apenas o caminho mais curto que lhe resta. Em seu trabalho, ele mostrou como isso poderia ser feito com 7 cidades e a solução para o problema seria codificada assim que as cadeias de DNA fossem sintetizadas.

DNA Computing
Source:

A razão desta excitação foi que as estruturas de ADN são baratas, relativamente fáceis de produzir, e escaláveis. Não há limite para o poder que a computação de DNA pode teoricamente ter, uma vez que seu poder aumenta quanto mais moléculas você adicionar à equação e ao contrário dos transistores de silício que podem realizar uma única operação lógica de cada vez, essas estruturas de DNA podem teoricamente realizar tantos cálculos de cada vez quantos forem necessários para resolver um problema e fazer tudo de uma vez.

O problema, no entanto, é a velocidade. Mesmo que tenha levado momentos para que a solução de Adleman para o problema do caixeiro-viajante fosse codificada em seus fios de DNA no tubo de ensaio, levou dias filtrando más soluções para encontrar a solução ótima que ele procurava – depois de meticulosa preparação para este único cálculo.

Still, o conceito era sólido e o potencial para incríveis ganhos na capacidade de armazenamento e velocidades computacionais era óbvio. Isso deu início a duas décadas de pesquisa sobre como criar a computação prática do DNA uma realidade.

Quais são as vantagens da computação do DNA?

DNA Helix
Source:

Como demonstrado com o trabalho de Adleman, a maior vantagem da computação de DNA sobre a computação clássica – e até mesmo a computação quântica – é que ela pode realizar inúmeros cálculos em paralelo. Esta ideia de computação paralela não é nova e tem sido imitada na computação clássica há décadas.

Quando você executa duas aplicações em um computador ao mesmo tempo, elas não estão sendo executadas simultaneamente; em qualquer momento, apenas uma instrução está sendo executada. Portanto, se você estiver ouvindo música e fazendo compras on-line usando um navegador, o computador está na verdade usando algo chamado mudança de contexto para dar a aparência de simultaneidade.

Executa uma instrução para um programa, salva o estado desse programa após a execução da instrução e remove o programa da memória ativa. Depois carrega o estado previamente guardado do segundo programa, executa a instrução seguinte, guarda o seu novo estado e depois descarrega-o da memória activa. Depois carrega novamente o primeiro programa para realizar a instrução seguinte e assim sucessivamente.

Ao fazer milhões de passos incrementais um segundo através de diferentes programas, a aparência de simultaneidade é alcançada, mas nada está sendo executado em paralelo. A computação de DNA pode realmente realizar esses milhões de operações ao mesmo tempo.

Mais de 10 trilhões de moléculas de DNA podem ser espremidas em um único centímetro cúbico. Este centímetro cúbico de material poderia teoricamente realizar 10 trilhões de cálculos ao mesmo tempo e conter até 10 terabytes de dados. De muitas maneiras, muitas das prensas sem fôlego, mas imprecisas que a computação quântica obtém, é realmente possível com a computação do DNA.

A computação de ADN é então melhor pensada como um complemento da computação quântica, de modo que quando emparelhada e conduzida por um computador clássico actuando como um gestor ao estilo de Singleton, os tipos de aumentos dramáticos no poder computacional que as pessoas esperam ver no futuro tornam-se realmente possíveis de forma realista.

Quanto tempo levará para que os computadores de DNA cheguem

Percorremos um longo caminho desde 1994. Pouco depois que Adleman publicou seu artigo, os pesquisadores foram capazes de construir portões lógicos a partir do DNA – partes de um circuito construído a partir de transistores individuais que podem construir complicadas equações lógicas verdadeiro-falso a partir da corrente elétrica.

Apenas este mês, cientistas de computação da Universidade da Califórnia em Davis e Caltech sintetizaram moléculas de DNA que podem se auto-montar em estruturas executando essencialmente seu próprio programa usando entradas de seis bits.

Microsoft tem até mesmo uma linguagem de programação para computação de DNA que pode ajudar a tornar a computação de DNA prática uma vez que a tecnologia de bio-processadores progride ao ponto de poder executar algoritmos mais sofisticados. Na verdade, a Microsoft está planejando introduzir a computação de DNA em seus serviços de nuvem até 2020 e desenvolver ativamente um armazenamento de dados de DNA para integrar em seus serviços de nuvem.

É provável que esses avanços sejam realizados muito mais rapidamente do que os avanços na computação quântica. A computação quântica requer maquinaria sofisticada, supercondutores e condições extremamente frias para manter os qubits estáveis o suficiente para realizar qualquer tarefa computacional realmente útil, e a menos que desenvolvamos um material que possa atuar como supercondutor à temperatura ambiente, eles não estarão entrando em nossos computadores tão cedo.

Computação de DNA, enquanto isso, usa DNA que nos tornamos especialistas em manipular até o ponto de substituir um único gene de uma fita de DNA através do CRISPR. Os materiais necessários para sintetizar as moléculas de DNA são baratos e prontamente disponíveis e permanecem estáveis à temperatura ambiente e além. O que a Computação de DNA é potencialmente capaz de alcançar dada a resiliência do DNA e o paralelismo biológico representa um passo essencial para o futuro da computação.

Leave a Reply