modelos de computação e computação usando dna. 1900: conjectura de hilbert: todo problema bem...

32
Modelos de Computação e Computação usando DNA

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Modelos de Computaçãoe

Computação usando DNA

Page 2: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

1900: Conjectura de Hilbert: todo problema bem posto seria

demonstrável.

Hilbert procurava um algoritmo que para qualquer

sentença, dadas as hipóteses suficientes

demonstrasse a sentença.

Até 1931 essa conjectura era aceita.

Page 3: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Teoremas da Indecibilidade

Kurt Gödel (1931):

1. Se o conjunto de axiomas é consistente entãoexistem teoremas que não podem ser provadosnem refutados.

2. Não existe procedimento construtivo que proveser consistente uma teoria axiomática.

Nenhum sistema formal expressivo o suficientepode ser consistente e completo.

Page 4: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

1936: Kleene e Church apresentam o -Calculus.

Kleene: define o formalismo Funções Recursivas (usandoas funções primitivas recursivas de Dedeking-1888- usadas por Gödel no teorema da não completude).

Kleene: Funções Recursivas -Calculus

Church: mostrou, usando Funções Recursivas ou -Calculus como definição de algoritmo que a conjectura

de Hilbert estava errada.

Church: Tese de Church“Tais formalismos são caracterizações tão gerais danoção de efetivamente computável quanto

consistente com o entendimento intuitivo usual”

Page 5: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Evidências Externas

1936 - Turing: Máquinas de Turing

1943 - Post: Sistemas Canônicos de Post

1954 - Markov: Algoritmos de Markov

1963 - Shepherdson e Stürgis: Máquinas de Registradores

1964 - Elgot e Robinson: RASP (Randon Acess Stored

Programs)

Page 6: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Máquina de Turing

papel lápis pensamento

Papel: unidimensional, dividido em quadradinhos = fita infinita.

Alfabeto: finito

Estados de consciência: finitos

“estou no início”

“terminei”

Page 7: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Comportamento num dado momento depende:

estado de consciência,

símbolo sob sua atenção.

Comportamentos possíveis:

Observar ou mudar o símbolo somente de um

quadradinho de cada vez,

Transferir a atenção para o quadradinho

vizinho, da direita ou da esquerda;

Page 8: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

- Máquinas de Turing com várias fitas;

- Máquinas de Turing não determinísticas

- Máquinas de Turing universal

Problema da Parada: Existe um algoritmo (MT),

que dado m, a codificação de uma máquina de

Turing M e uma palavra w, qualquer sobre o

alfabeto de entrada da máquina M, decida se M

pára (aceitando ou rejeitando) com a entrada w,

ou não?

Não existe tal algoritmo, o Problema da Parada é

portanto não solucionável.

Evidências Internas

Page 9: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Um problema ser solucionável é suficiente?

Problema: calcular o determinante de uma matrizAlgoritmo: usa a definição de determinante

Método de Gauss: matriz 20 x 20 resposta em 38,63 ms

matriz 2 x 2 resposta em 22 ms

matriz 5 x 5

matriz 10 x 10

matriz 20 x 20

resposta em 2,35 ms

resposta em 1,19 min

resposta em 15.225 séculos

Page 10: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Algoritmo + Eficiência

Eficiência: complexidade polinomial

P: classe dos problemas que possuem algoritmo determinístico de complexidade polinomial;

NP: classe dos problemas que possuem algoritmo não determinístico de complexidade polinomial.

P = NP ?

A resposta vale Um milhão de dolares!

Page 11: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

NP-Completo: os mais difíceis entre os problemas NP.

Possuem a propriedade de: se um problema p NP tem

algoritmo determinístico de complexidade polinomial,

qualquer problema de NP tem algoritmo determinístico de

complexidade polinomial, isto é P = NP.

Criptografia

Se P = NP

Page 12: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Satisfiability;

3SAT;

Caixeiro Viajante;

Circuito Hamiltoniano;

Problema da Mochila;

TimeTable Design;

Problemas de escalonamento.

Problemas NP-Completos

Page 13: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Como implementar a Máquina de Turing?

Construindo um computador....

Page 14: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Construção da Solução de um Problema em Computador

• Codificar dados

• Codificar programa • Executar

0101010101000000000001010111110011

010101000101001101010010....

CHIP

Resultado: 01010001110100

Page 15: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Construção da Solução de um Problema usando DNA

• Codificar dados

• Codificar programa • Executar

ATTACGATGCGCATATATCC

PCRScreeningEnzimasEletroforese...

Resultado: ATTGCTGTGCCCTA

Page 16: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Computação usando DNA

• Paralelismo maciço

• Complementaridade (Watson-Crick)

Adleman´94

Page 17: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Exemplo: Caminho Hamiltoniano

Detroit

Atlanta

Chicago Boston

Partida

Chegada

Page 18: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Atlanta ACTTGCAG

Boston TCGGACTG

Chicago GGCTATGT

Detroit CCGACGAA

TGAACGTC

AGCCTGAC

CCGATACA

GGCTCGTT

Codificação das Cidades

Nome Complemento

Page 19: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

AT G A C G T C

A G C C T G A C

C C G A T A C A

G G C T C G T T

Atlanta ACTTGCAG

Boston TCGGACTG

Chicago GGCTATGT

Detroit CCGACGAA

Geração das Seqüências

ComplementoNome

Page 20: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

T C G GG C A G

G C A G C G AC

T GA C G G C T

T GA C C G AC

T GA C T TA C

A T G T C G AC

Atlanta Boston

Atlanta Detroit

Boston Chicago

Boston Detroit

Boston Atlanta

Chicago Detroit

Codificação do Vôos

Page 21: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Codificação do Programa

Passo 1 - Gerar todos os caminhos possíveis

A

A

A

A

T GA C G G C T

A T G T C G AC

T GA C T TA C

T GA C C G AC

G C A G C G AC

C C G A T A C A

G G C T C G T T

T GA C C G ACA T G T C G AC

T GA C C G AC

G C A G C G AC

C C G A T A C A

T GA C G G C T

T GA C G G C T

G G C T C G T T

A G C C T G A C

G C A G C G AC

T GA C C G AC

T GA C T TA C

A T G T C G AC

T G A C G T C

C C G A T A C A

T G A C G T C

A G C C T G A C T G A C G T C

A T G T C G AC

G G C T C G T T

C C G A T A C A

T G A C G T C

G G C T C G T T

T GA C T TA C

G G C T C G T T

G G C T C G T T

T C G GG C A G

T C G GG C A G

T C G GG C A G

T C G GG C A G

T C G GG C A G

Page 22: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Codificação do Programa

Passo 1 - Gerar todos os caminhos possíveis

A

A

A

A A

T GA C G G C T C G ACT A C AC C G AT G A CA G C C

T C G GG C A G A T G T

G C A G C G ACT G A C G T C G G C T C G T T

A G C C T G A C

C C G A T A C A

T C G GG C A G

A T G T C G ACG G C T C G T T

T GA C G G C T

G G C T C G T T

T G A C G T C

T GA C G G C T

C C G A T A C AA T G T C G AC

G G C T C G T T

T GA C C G ACG G C T C G T T

T G A C G T C

A G C C T G A CT C G GG C A G

T G A C G T CT GA C T TA C

T G A C G T CT C G GG C A GA G C C T G A C

G G C TT GA CC C G A T A C A

A T G T C G ACG G C T C G T T

T GA C T TA C

T GA C T TA C

A G C C T G A CT C G GG C A G

A G C C T G A C

Page 23: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 2 - Remover caminhos que não iniciem e não terminem nas cidades desejadas

A

A

A

A A

T GA C G G C T C G ACT A C AC C G AT G A CA G C C

T C G GG C A G A T G T

G C A G C G ACT G A C G T C G G C T C G T T

A G C C T G A C

C C G A T A C A

T C G GG C A G

A T G T C G ACG G C T C G T T

T GA C G G C T

G G C T C G T T

T G A C G T C

T GA C G G C T

C C G A T A C AA T G T C G AC

G G C T C G T T

T GA C C G ACG G C T C G T T

T G A C G T C

A G C C T G A CT C G GG C A G

T G A C G T CT GA C T TA C

T G A C G T CT C G GG C A GA G C C T G A C

G G C TT GA CC C G A T A C A

A T G T C G ACG G C T C G T T

T GA C T TA C

T GA C T TA C

A G C C T G A CT C G GG C A G

A G C C T G A C

C A GG

C A GG

C A GG

G G C T

G G C T

G G C T

PrimersPCR

Page 24: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 2 - PCR...

A A

A

A

A

A G C C T G A CT G A C G T C T G A C G T C A G C C T G A C C C G A T A C A G G C T C G T T

T A C AC C G AT G A CA G C C G G C T C G T TT G A C G T C

T GA C G G C T A T G T C G AC

C C G A T A C A G G C T C G T T

C C G A T A C A G G C T C G T TA G C C T G A C

T GA C T TA CT C G GG C A G

A G C C T G A C

A G C C T G A CT G A C G T C G G C T C G T T

T C G GG C A G T GA C C G ACT GA C T TA C

C G ACA T G TG G C TT GA CT C G GG C A G

T GA C G G C T A T G T C G AC

T C G GG C A G T GA C T TA C T C G GG C A G G G C TT GA C A T G T C G AC

T G A G G C TC G T C C G T T

C G T C

C G T C

C G T C

C G T C

C G T C

G C A G C G AC

C G AC

C G AC

C G AC

C G AC

C G AC

C G AC

Page 25: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 2 - PCR...

A

A A

A

A

A

A

C C G A T A C A G G C T C G T T

C C G A T A C A G G C T C G T TA G C C T G A C

A G C C T G A C

T GA C G G C T A T G T C G AC

T G A G G C TC G T C C G T T

C G T C

C G AC

C G AC

C G AC

C G AC

C G AC

T GA C G G C T

T C G GG C A GT GA C T TA C T GA C

A G C C T G A CT G A C G T C T G A C G T C A G C C T G A C C C G A T A C A G G C T

A T G T

A T G TG G C T

A T G TG G C TT GA CT C G G

A T G TG G C TT GA CT C G GG C A GT TA C

C G T C

C G ACG C A G

G C A G

C G T CT C G G T GA C G G C T A T G T

C G ACT GA CT C G GG C A GT TA C

T A C AC C G AT G A CA G C C G G C T C G T TT G A C G T C

A G C C T G A C T A C AC C G A G G C TC G AC

A G C C T G A C G G C T

A T G TG G C TT GA CT C G GC A GT GT TA CT GA CT C G GC A GT GT TA C

C G T CA T G T C G ACG G C TT C G GG C A G T C G G C A GT GT GA C T GA CTA C

A G C C T G A C T G A C G T C A G C C T G A C C C G A T A C A G G C T

A G C C T G A C

A G C C T G A C G G C T C G T TC G T CT G A

T G AC G T CT C G GG C A G T GA C T TA C

C G AC

C G T T

C G AC

Page 26: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 2 - PCR...

A

A

A

A

A

A A

C C G A T A C A G G C T C G T T

C C G A T A C A G G C T C G T TA G C C T G A C

T GA C G G C T A T G T C G AC

T G A G G C TC G T C C G T T

C G T C

C G AC

C G AC

C G AC

T GA C G G C T

T C G GG C A GT GA C T TA C T GA C

A T G T

A T G TG G C T

A T G TG G C TT GA CT C G G

G C A G

C G T CT C G G T GA C G G C T A T G T

C G ACT GA CT C G GG C A GT TA C

A G C C T G A C T A C AC C G A G G C TC G AC

A G C C T G A C G G C T

A G C C T G A C T G A C G T C A G C C T G A C C C G A T A C A G G C T

A G C C T G A C G G C T C G T TC G T CT G A

C G ACC G T C

G G C T

G G C T

G G C T

C A GG

C A GG

C A GG

C G ACA T G TG G C TT GA CT C G GG C A GT TA CT A C AC C G AT G A CA G C C G G C T C G T TT G A C G T C

A G C C T G A C T G AC G T CT C G GG C A G T GA C T TA C

A G C C T G A C

C G ACA G C C T G A CT G A C G T C T G A C G T C A G C C T G A C C C G A T A C A G G C T

A T G TG G C TT GA CT C G GC A GT GT TA CT GA CT C G GC A GT GT TA CC G T T

C G T CA T G T C G ACG G C TT C G GG C A G T C G G C A GT GT GA C T GA CTA C

C G AC

C G AC

G C A G

Page 27: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 2 - PCR...

outras sequencias...

Page 28: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 3 - Selecionar os caminhos que tem exatamente quatro vértices (24 pares de bases)

Eletroforese

Page 29: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 4 - Selecionar os caminhos que passam por todas as cidades

GCAGTCGGACTGGGCTATGTCCGA

AGCCTGAC -

Page 30: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Passo 5 - Se não sobraram seqüências no tubo não existe o caminho procurado

Se sobraram, elas representam os caminhos Hamiltonianos procurados.

Page 31: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Contribuições da Biologia na Computação

Computação usando DNA

Ainda não é viável (mas o computador já haviasido inventado em 1810 por Charles Babbagge,muito antes de realmente poder ser construído)

Idéias de novos modelos computacionais,novas estruturas de dados,novas arquiteturas, ...

Page 32: Modelos de Computação e Computação usando DNA. 1900: Conjectura de Hilbert: todo problema bem posto seria demonstrável. Hilbert procurava um algoritmo

Contribuições da Computação na Biologia

Ferramentas para análise, visualização, armazenamento e busca de dados, ...

Ajudar a entender como a natureza computa...

ATCCCGTACGTCGTTTGCGCGAATCGTAGCTGGGTATCGTAGTGCTGACGTAGCTGACTGATCGGGATCAATACGTGTGTGTGAAACTCAGTGATCACGTTGATCGATCTGTCGACACAA