Em formação

O que é DNA Computing, como funciona e por que é tão importante

O que é DNA Computing, como funciona e por que é tão importante


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Na última década, os engenheiros enfrentaram a dura realidade da física em busca de computadores mais poderosos: os transistores, os interruptores liga-desliga que alimentam o processador do computador, não podem ser menores do que são atualmente. Olhando além do chip de silício, uma alternativa intuitiva está sendo desenvolvida usando DNA para realizar os mesmos tipos de cálculos complexos que os transistores 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

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

Se 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 funcionalmente atingimos esse limite.

Os engenheiros encontraram algumas soluções para este problema usando sistemas multicore e multiprocessamento para aumentar a potência computacional sem ter que encolher ainda mais os transistores, mas isso também vem com compensações em termos de desafios de programação e requisitos de energia, portanto, outra solução é necessária se esperamos ver computadores mais poderosos no futuro.

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

Embora a computação quântica esteja recebendo muita mídia recentemente, a computação de DNA pode ser tão - ou até mais - poderosa do que a computação quântica e não atinge tantas das restrições de estabilidade que a computação quântica tem. 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 para a computação de DNA é que, comparada à computação clássica, ela é dolorosamente lenta. A evolução teve centenas de milhões de anos para desenvolver a sequência complicada de DNA que existe dentro de cada uma de nossas células, de modo que o DNA seja usado para trabalhar de acordo com escalas de tempo geológicas, não os múltiplos gigahertz dos processadores clássicos modernos.

Então, como funciona a computação de DNA e por que a estamos perseguindo se é tão lenta?

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

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

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

A computação do DNA foi descrita pela primeira vez em 1994 pelo cientista da computação Leonard Adleman, da University of Southern California. Depois de ler sobre a estrutura do DNA, ele se inspirou a escrever um artigo no jornal Ciência mostrando como você poderia usar o DNA para um problema matemático infame e de ciência da computação conhecido como o problema direcionado do caminho de Hamilton, comumente chamado de problema do "caixeiro viajante" (embora o problema do caminho de Hamilton seja uma versão ligeiramente diferente do problema do salesaman viajante, para nossos propósitos eles são essencialmente intercambiáveis).

Qual é o problema do caixeiro viajante?

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

Quando n igual a 5, o problema pode ser resolvido à mão em um pedaço de papel e um computador clássico pode testar todos os caminhos possíveis com relativa rapidez. Mas e se n é igual a 20? Encontrar o caminho mais curto através de 20 cidades torna-se muito mais difícil computacionalmente e um computador clássico demoraria exponencialmente mais tempo para encontrar a resposta.

Tente encontrar o caminho mais curto entre 500 cidades e um computador clássico levaria mais tempo do que toda a vida do Universo para encontrar o caminho mais curto, já que a única maneira de verificar se encontramos o caminho mais curto é verificar cada permutação de cidades . Existem alguns algoritmos que usam computação dinâmica que podem teoricamente reduzir o número de verificações necessárias (e o verdadeiro problema do Caminho de Hamilton não exige a verificação de todos os nós em um gráfico), mas isso pode reduzir alguns milhões de anos; o problema ainda será praticamente impossível do ponto de vista computacional em um computador clássico.

Como a computação de DNA resolve esse problema

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

No DNA, o código genético é representado por quatro moléculas diferentes, chamadas A, T, C e G. Esses quatro “bits”, quando encadeados, podem conter uma quantidade incrível de dados. Afinal, o genoma humano é codificado em algo que pode ser compactado em um único núcleo de uma célula.

Ao misturar essas quatro moléculas em um tubo de ensaio, as moléculas se montaram naturalmente em fitas de DNA. Se alguma combinação dessas moléculas representa uma cidade e uma trajetória de vôo, cada fita de DNA pode representar uma trajetória de vôo diferente para o vendedor, todas sendo calculadas de uma só vez na síntese das fitas de DNA que se montam em paralelo.

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

O motivo desse entusiasmo gerado foi que as estruturas do DNA 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, já que seu poder aumenta quanto mais moléculas você adiciona à equação e, ao contrário dos transistores de silício, que podem realizar uma única operação lógica por vez, essas estruturas de DNA podem teoricamente realizar tantos cálculos em o tempo necessário para resolver um problema e fazer tudo de uma vez.

O problema, entretanto, é a velocidade. Mesmo que tenha demorado alguns minutos para que a solução de Adleman para o problema do caixeiro viajante fosse codificada em seus filamentos de DNA no tubo de ensaio, levou dias filtrando soluções ruins para encontrar a solução ideal que ele estava procurando -depois de preparação meticulosa para este único cálculo.

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

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

Conforme demonstrado com o artigo de Adleman, a principal vantagem da computação de DNA sobre a computação clássica - e até mesmo a computação quântica até certo ponto - é que ela pode realizar inúmeros cálculos em paralelo. Esta ideia de computação paralela não é nova e foi imitada na computação clássica por décadas.

Quando você executa dois aplicativos em um computador ao mesmo tempo, eles não estão realmente sendo executados simultaneamente; a qualquer momento, apenas uma instrução está sendo executada. Portanto, se você estiver ouvindo música e fazendo compras online usando um navegador, o computador está, na verdade, usando algo chamado troca de contexto para dar a aparência de simultaneidade.

Ele executa uma instrução para um programa, salva o estado desse programa após a instrução ser executada e remove o programa da memória ativa. Em seguida, ele carrega o estado salvo anteriormente do segundo programa, executa sua próxima instrução, salva seu novo estado e, em seguida, o descarrega da memória ativa. Em seguida, recarrega o primeiro programa para executar sua próxima instrução e assim por diante.

Fazendo milhões de etapas incrementais por segundo em programas diferentes, a aparência de simultaneidade é alcançada, mas nada está realmente 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 comprimidas em um único centímetro cúbico. Este centímetro cúbico de material poderia teoricamente realizar 10 trilhões de cálculos de uma vez e conter até 10 terabytes de dados. De muitas maneiras, grande parte da imprensa ofegante, mas imprecisa que a computação quântica recebe é realmente possível com a computação de DNA.

A computação do DNA, então, é mais bem pensada como um complemento da computação quântica, de modo que, quando combinada e conduzida por um computador clássico atuando como um gerenciador do estilo Singleton, os tipos de aumentos dramáticos no poder computacional que as pessoas esperam ver no futuro realmente se tornar realisticamente possível.

Quanto tempo vai demorar para os computadores de DNA chegarem

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

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

A Microsoft tem até 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 dos bioprocessadores avança a ponto de poder executar algoritmos mais sofisticados. Na verdade, a Microsoft está planejando introduzir a computação de DNA em seus serviços em nuvem até 2020 e desenvolver ativamente um armazenamento de dados de DNA para integração em seus serviços em nuvem.

É provável que esses avanços sejam realizados muito mais rapidamente do que os avanços da computação quântica. A computação quântica requer maquinários sofisticados, supercondutores e condições extremamente frias para manter os qubits estáveis ​​o suficiente para fazer qualquer tarefa computacional realmente útil e, a menos que desenvolvamos um material que possa atuar como um supercondutor em temperatura ambiente, eles não entrarão nossos computadores em breve.

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


Assista o vídeo: Future Computing: DNA Hard Drives. Nick Goldman (Pode 2022).