O documento discute computação em DNA, comparando-a com computação tradicional. Apresenta o experimento pioneiro de Adleman que usou DNA para resolver um problema NP-completo. Também descreve os processos de manipulação do DNA e como a computação em DNA pode resolver problemas de forma mais rápida do que computadores tradicionais.
Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação em DNA
1. Computação e DNA
Victor Almeida Schinaider
Hamurabi de Medeiros Araújo
Tchallman Borges Damacena
Wllisses Guerra de Medeiros Júnior
Luan Kelvin Jacob Santos
Vitor Campos
2. Introdução
• Primeiro passo foi dado por Adleman;
• Pesquisas por novas técnicas para resolver determinados problemas,
por meio da computação em DNA;
• Busca por novas técnicas e/ou de desenvolvimento na Computação
em DNA.
3. O DNA
• Citosina (C), Guanina(G), Adenina (A) e
Timina (T).
• Citosina com Adenina, e Guanina com
Timina.
Fitas de DNA
Produzida pelos autores
4. O Computador Elétrico/Eletrônico
• Funcionamento básico da CPU;
• Linguagem de máquina;
• O que são algoritmos?
• Funcionamento de um computador durante a execução de
um algoritmo.
#include <stdio.h>
int main(){
//alocação do espaço na memória
int a, b, c;
printf(“Insira dois valores a serem somados”);
//preenchimento dos espaços alocados
scanf(“%i %i”, &a, &b);
c = a + b;
printf(“O resultado da soma é: %i”, c);
return 0;
}
5. O DNA e a computação
• Processos de manipulação do DNA, para que possa ser usado para
benefício da computação:
• Síntese de Sequências;
• Hibridação;
• Desnaturação de Sequências;
• Polimerização em Cadeia;
• Restrição de Sequências;
• Ligação de Sequências;
• Separação de Sequências.
Disponível em: http://cicascience.blogspot.com.br/2011/10/dna-molecula-da-vida.html
Acesso em 28 de maio de 2012
6. A motivação da computação de
DNA
• Os algoritmos de tempo de execução Polinomial e NP-Completos;
Polinomiais NP-Completos
• Se caracterizam por ter uma • São apenas verificáveis em tempo
entrada n e ter um tempo de polinomial e resolvidos em tempo
execução n^k (n elevado a k). exponencial.
São resolvidos facilmente por
qualquer computador
7. Porquê usar a computação em DNA
para a solução de problemas?
• Com os experimentos de Adleman, observou-se que a computação em DNA
poderia ser uma boa alternativa para a solução dos problemas
NP-Completos.
• O fato de ser possível a execução de várias reações químicas
paralelamente, aumenta consideravelmente a velocidade de execução
dos cálculos.
• Um problema que levaria milhões de anos para ser resolvidos, nos
computadores atuais, leva apenas meses para se chegar a uma solução
com os computadores de DNA.
Gráfico da relação complexidade x tempo
Produzido pelos autores
8. Resultados da Experiência de
Adleman
• Experiência de Adleman do Caminho Hamiltoniano:
Representação gráfica do problema do Caminho Hamiltoniano
Produzido pelos autores
9. Resultados da Experiência de
Adleman
• As dificuldades encontradas para gerar um ambiente propício para que se
possa chegar no resultado esperado, para se adaptar o código necessário;
• Os resultados obtidos.
10. Metodologia
● O trabalho foi desenvolvido a partir do primeiro experimento de computação
de DNA do principal nome desta técnica computacional. Através dos dados
obtidos em seu artigo Molecular Computation of Solutions to Combinatorial
Problems, pudemos avaliar um pouco da força da modelo computacional
utilizado moléculas de DNA. Precisou-se consultar outros teóricos em outras
áreas, como Alberts et al da biologia para estudo do DNA e Reed da
computação para estudo do computador elétrico/eletrônico. Através de todas
as informações obtidas, pode-se traçar um paralelo com a computação atual,
e mostrar as vantagens e desvantagens da técninca de DNA.
12. Referências
ADLEMAN, Leonard M.. Molecular Computation of Solutions to
Combinatorial Problems, Science, [s.l], v. 266, p. 1021-1024, 11 nov. 1994.
ALBERTS, Bruce et al. Molecular Biology of The Cell. 5 ed. New York:
Garland Science, Taylor & Francis Group, 2007. 1.392 p.
KARP, M. Richard. Reducibility Among Combinatorial Problems, 1972.
New York: Plenum Press, 1972.
REED, David. A Balanced Introduction to Computer Science and
Programming, 2ed, …, 2007
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Algoritmos:
Teoria e Prática.