Modelos de Computaçãoe
Computação usando DNA
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.
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.
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”
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)
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”
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;
- 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
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
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!
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
Satisfiability;
3SAT;
Caixeiro Viajante;
Circuito Hamiltoniano;
Problema da Mochila;
TimeTable Design;
Problemas de escalonamento.
Problemas NP-Completos
Como implementar a Máquina de Turing?
Construindo um computador....
Construção da Solução de um Problema em Computador
• Codificar dados
• Codificar programa • Executar
0101010101000000000001010111110011
010101000101001101010010....
CHIP
Resultado: 01010001110100
Construção da Solução de um Problema usando DNA
• Codificar dados
• Codificar programa • Executar
ATTACGATGCGCATATATCC
PCRScreeningEnzimasEletroforese...
Resultado: ATTGCTGTGCCCTA
Computação usando DNA
• Paralelismo maciço
• Complementaridade (Watson-Crick)
Adleman´94
Exemplo: Caminho Hamiltoniano
Detroit
Atlanta
Chicago Boston
Partida
Chegada
Atlanta ACTTGCAG
Boston TCGGACTG
Chicago GGCTATGT
Detroit CCGACGAA
TGAACGTC
AGCCTGAC
CCGATACA
GGCTCGTT
Codificação das Cidades
Nome Complemento
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
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
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
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
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
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
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
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
Passo 2 - PCR...
outras sequencias...
Passo 3 - Selecionar os caminhos que tem exatamente quatro vértices (24 pares de bases)
Eletroforese
Passo 4 - Selecionar os caminhos que passam por todas as cidades
GCAGTCGGACTGGGCTATGTCCGA
AGCCTGAC -
Passo 5 - Se não sobraram seqüências no tubo não existe o caminho procurado
Se sobraram, elas representam os caminhos Hamiltonianos procurados.
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, ...
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