ronaldo r ferreira turing completude da computação com dna 1 ronaldo rodrigues ferreira...

41
Turing Completude da Computação com DNA 1 Ronaldo R Ferreira Turing Completude da Computação com DNA Ronaldo Rodrigues Ferreira [email protected] CM524 - Teoria da Computação Avançada PPGC UFRGS 2005/2 Dra. Leila Ribeiro e Dr. Tiarajú A Diverio Porto Alegre, dezembro de 2005

Upload: internet

Post on 18-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 1Ronaldo R Ferreira

Turing Completude da Computação com DNA

Ronaldo Rodrigues [email protected]

CM524 - Teoria da Computação AvançadaPPGC UFRGS 2005/2

Dra. Leila Ribeiro e Dr. Tiarajú A Diverio

Porto Alegre, dezembro de 2005

Page 2: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 2Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 3: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 3Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 4: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 4Ronaldo R Ferreira

Introdução

PCR: uma das bases da Computação com DNA

5’ A T A G A G T T 3’ | | |3’ T C A 5’

5’ A T A G A G T T 3’ | | | | | | |3’ T A T C T C A 5’

A polimerase extende o primer na direção 5’ para 3’

Primers forward e backward são projetados.

Aciona-se os primers à solução e a esquentamos. Isso desnatura a fita dupla.

Resfria-se a solução. Isso permite os primers anelarem na sua sequência alvo.

Adiciona-se polimerase.

5’ 3’

3’ 5’

Page 5: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 5Ronaldo R Ferreira

Introdução

PCR: uma das bases da Computação com DNA

5’ 3’

3’ 5’ a)

b)

c)

d)

a) Desnaturação

b) Anelamento do primer

c) Extensão do primer

d) Resultado Final

O PCR é um processo que amplifica rapidamente a quantidade de DNA.

Cada ciclo da reação de PCR dobra a quantidade de cada fita. Isso nos dá um crescimento exponencial no número de fitas.

Page 6: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 6Ronaldo R Ferreira

Introdução

PCR: uma das bases da Computação com DNA

Page 7: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 7Ronaldo R Ferreira

• Trabalho inicial em 1994 por L. Adleman.• Resolveu uma instância do Caminho

Hamiltoniano direcionado.

Introdução

Um pouco de história

caminho: 0->1, 1->2, 2->3, 3->4, 4->5, 5->6

Page 8: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 8Ronaldo R Ferreira

Introdução

Um pouco de história

O algoritmo proposto é definido em 5 passos:

1. Gerar caminhos aleatórios através do grafo

2. Manter somente os caminhos que iniciam em vin e terminam em vout

3. Se o grafo possui n vértices, então manter na solução somente os caminhos que possuem exatamente n vértices

4. Manter somente os caminhos que passem por todos os vértices do grafo pelo menos uma vez

5. Se algum caminho ainda existir, então SIM. Do contrário, NÃO

Page 9: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 9Ronaldo R Ferreira

Introdução

Um pouco de história

Passo 1:Cada vértice i no grafo foi associado com um 20-mer de DNA aleatório. ParaCada aresta (i,j) no grafo, um oligonucleotídeo Oi->j foi criado. Esse é compostoPelo 10-mer da extremidade 3’ de Oi (a não ser para i=0. Nesse caso, é todo oOi), seguido pelo 10-mer da extremidade 5’ de Oj (a não ser para j=6. NesseCaso, é todo Oj). Assim, a orientação do grafo é preservada (O2->3 != O3->2).O complementar de Oi é Oi’.

i: GCTAGCTAGCGCGTGGGCGAJ: GGCTCGCTGCGGGCTCGCTG 5’ 3’

Oi->j : GCGTGGGCGAGGCTCGCTGCOi->j’: CGCACCCGCTCCGAGCGACG

Page 10: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 10Ronaldo R Ferreira

Introdução

Operações com DNA

Modelo Irrestrito:

Separate(T,S): dado um conjunto T e uma substring S, cria dois novos conjuntos +(T,S) e –(T,S), onde +(T,S) representa todas as strings em T contendo S e –(T,S) representa todas as strings em T que não contém S.

Merge(T1,T2,...,Tn): dados os conjuntos T1,T2,...,Tn, cria U(T1,T2,...,Tn)= T1 U T2 U ... U Tn.

Detect(T): dado um conjunto T, retorna true se T não é vazio. Caso contrário, retorna false.

Page 11: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 11Ronaldo R Ferreira

Introdução

Computação com DNA: modelos e técnicas

Filtragem (não é Turing-Equivalente[1,4])

Splicing (Turing-Equivalente[1,3,4])

Construtivista

Membranar

Page 12: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 12Ronaldo R Ferreira

Introdução

Computação com DNA: modelos e técnicas

Filtragem:

A computação consiste de operações em multi-conjuntos finitos de strings.

O multi-conjunto inicial deve conter todas as possíveis soluções para oProblema.

A computação procede através da filtragem de strings que não representamUma solução.

Modelo implementado por Adleman em [2].

Page 13: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 13Ronaldo R Ferreira

Introdução

Computação com DNA: modelos e técnicas

Splicing:

São utilizadas operações de edição de seqüências para simular a transiçãoDe um estado para outro da Máquina de Turing.

Sejam S e T duas strings sob o alfabeto . A operação de splicing consiste emCortar S e T em pontos específicos e concatenar o prefixo de S com o Sufixo de T.

A operação de splicing, mais as operações do modelo de Filtragem provê o poder computacional da Máquina de Turing [1,4].

Page 14: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 14Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 15: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 15Ronaldo R Ferreira

Splicing Systems

Operação de Splicing

Considere um alfabeto V e duas palavras x e y, formadas por símbolos de VO local onde uma enzima E1 pode cortar uma palavra pode ser descrito peloPar (u1,u2). Esse par é chamado contexto.Tem-se também a enzima E2. O seu contexto é (u3,u4).Então, se uma palavra contém u1u2 como subpalavra, E1 pode cortar essaPalavra entre u1 e u2. O mesmo vale para E2 e u3u4.Se duas enzimas produzem extremidades aderentes, então escrevemosIsso como ((u1,u2),(u3,u4))

CCCCCT CGACCCCC AAAAAG CGCAAAAAGGGGGAGC TGGGGG TTTTTCGC GTTTTT

Page 16: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 16Ronaldo R Ferreira

Splicing Systems

Operação de Splicing

Assumindo que as palavras x e y podem ser cortadas pelas enzimas E1 e E2, Então, x = x1u1u2x2 e y = y1u3u4y2

Se for possível a ligação imediata, tem-se qualquer das seguintes quatroPalavras:

X1u1u2x2 x1u1u4y2 y1u3u2x2 y1u3u4y2

Splicing!!!

Page 17: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 17Ronaldo R Ferreira

Splicing Systems

Splicing Systems: a busca por universalidade

Tendo a operação de splicing, pode-se desenhar uma mecanismo gerador deLinguagem: pegamos um alfabeto, um conjunto de palavras sobre esse alfabeto,(axiomas) e um conjunto de regras de splicing. Partindo dos axiomas, ao iterarOs splicing, tem-se um conjunto de palavras. Esse mecanismo é chamado deSplicing System. O conjunto de palavras produzidas é a linguagem.

Pode-se também considerar símbolos auxiliares, os quais podem ser utilizadosDurante o processo de splicing, mas que não são permitidos a aparecerem nasPalavras geradas. Com esses símbolos, tem-se os Sistemas de SplicingEstendido (extended splicing systems). O modelo básico é chamado de nãoEstendido.

Busca-se então, um sistema H universal. Dado um conjunto fixado de símbolosAuxiliares, de axiomas e de regras de splicing, esse sistema pode se comportar comoQualquer sistema H γ se adicionarmos uma codificação de γ como um axiomaDo sistema H universal.

Page 18: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 18Ronaldo R Ferreira

Splicing Systems

Sistemas H estendidos

((u1,u2),(u3,u4)) ≡ u1#u2$u3#u4

um sistema H estendido é uma quádrupla: γ = (V, T, A, R)

Onde V é um alfabeto, (T C V), (A C V+) e (R C V*#V*$V*#V*)# e $ são símbolos especiais não pertencentes à V.

V é o alfabeto de γ, T são símbolos terminais, A é o conjunto de axiomas, e R é o conjunto de regras de splicing.

Para x,y,z,w E V+ e r = u1#u2$u3#u4, define-se:

(x,y) ├ r (z,w) se e somente se x = x1u1u2x2, y = y1u3u4y2 e z = x1u1u4y2, w = y1u3u2x2 para x1, x2, y1, y2 E V*

Para duas famílias de linguagens F1, F2, denota-se:

EH(F1, F2) = { L(γ) | γ = (V, T, A, R), A E F1, R E F2}

Page 19: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 19Ronaldo R Ferreira

Splicing Systems

Multi-conjuntos e Sistemas mH

Lemma: Para cada gramática de Chomsky tipo-0 existe uma gramática G´=(N,T,P,S), tal que L(G) = L(G´) e P contém somente produções da seguinte forma:

1. A → a, para A E N, a E T2. A → BC, para A,B,C E N3. A → λ, para A E N, onde λ é a palavra vazia4. AB → CD, para A,B,C,D E N

Forma Normal de Kuroda

Page 20: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 20Ronaldo R Ferreira

Splicing Systems

Multi-conjuntos e Sistemas mH

Multi-conjuntos

Conjunto que possui multiplicidade associada aos seus elementos.

Um multi-conjunto sobre um conjunto X é uma função M: X → N U {∞};

M(x) é o número de cópias de x E X no multi-conjunto M;

O conjunto {w E X | M(w) > 0} é chamado suporte de M e denotado por supp(M);

Um conjunto usual S C X é interpretado como o multi-conjunto definido porS(x) = 1 para x E S, e S(x) = 0 para x ~E S

Page 21: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 21Ronaldo R Ferreira

Splicing Systems

Multi-conjuntos e Sistemas mH

Sistema mH estendido

um sistema mH estendido é uma quádrupla: γ = ( V, T, A, R)

Onde V,T,R são como para sistemas H estendidos, e A é um multi-conjunto sobre V+

Para tal sistema mH e dois multi-conjuntos M1, M2 sobre V+, definimos:

M1 => γ M2 se e somente se existem x,y,z,w E V* tais que:

(i) M1(x) ≥ 1, (M1 – {(x,1)})(y) ≥ 1, (ii) x = x1u1u2x2, y = y1u3u4y2, z = x1u1u4y2, w = y1u3u2x2, para x1,x2,y1,y2 E V*, u1#u2$u3#u4 E R, (iii) M2 = (((M1 – {(x,1)}) – {(y,1)}) U {(z,1)}) U {(w,1)}

A linguagem gerada por um sistema mH estendido γ é: L(γ) = { w E T+ | w E supp(M) para algum M tal que A =>γ* M }

Page 22: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 22Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 23: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 23Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

Toda Máquina de Turing (gramática de Chomsky tipo-0) pode ser simuladaPor um sistema mH estendido com um conjunto finito de regras; dois axiomasSão suficientes.

Teorema: REG = EH(m[1], FIN) C EH(m[2],FIN) = EH(mF1,F2) = RE, para todas as famílias de linguagens F1, F2, tais que FIN C F1 C RE, FIN C F2 C RE

Um sistema mH estendido gera a classe das linguagensRecursivamente Enumeráveis. Portanto, Turing-Completo

Obs: ser Turing-Completo não quer dizer ser programável. Ser programável é ser Universal O número de cópias das palavras não é infinita. Ele é tão grande quando necessário. Basta fazer PCR

Page 24: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 24Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

Lemma: RE C EH(mFIN, FIN)

prova:

Considere uma gramática de Chomsky tipo-0 G = ( N, T, S, P ) com as produções em P da forma u → v, com 1≤ |u| ≤ 2, 0 ≤ |v| ≤ 2, u ≠ v ( podemos assumir que G está na Forma Normal de Kuroda).Assuma também que as produções em P estão rotuladas de uma forma um-para-um com os elementosDo conjunto Lab; escrevemos r: u → v. Por U denotamos os conjunto N U T. Assim, é construído oSistema mH estendido: γ = ( V, T, A, R ) ,onde

V= N U T U { X1, X2, Y, Z1, Z2} U { (r), [r] | r E Lab },

O multi-conjunto A contém a palavra:

w0 = X12YSX2

2

com multiplicidade A(w0) = 1

Page 25: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 25Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

e as seguintes palavras com multiplicidade infinita:

wr = (r)v[r], para r: u → v E P, w = Z1YZ2, para E U, w´ = Z1YZ2, para E U, wt = YY.

O conjunto R contém as seguintes regras de splicing:Escrever no quadro!!!!

As regras nos grupos 1 e 2 simulam as produções de P, mas somente na presença de Y.As regras nos grupos 3 e 4 movem o símbolo Y para a direita.As regras nos grupos 5 e 6 movem o símbolo Y para a esquerda.O axioma principal é w0.

Todas as regras nos grupos1-6 envolvem uma palavra derivada a partir de w0 e que contenhaO símbolo Y introduzido por esse axioma.

Em todo momento, tem-se duas ocorrências de X1 no início e duas de X2 no fim da palavra.

Page 26: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 26Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

As regras nos grupos 1, 3 e 5 separam palavras da forma X12zX2

2 duas palavrasX1

2z1 e z2X22, cada uma com multiplicidade 1.

As regras nos grupos 2, 4 e 6 unem essas palavras, levando a uma palavra da forma X12z´X2

2.

As regras nos grupos 7 e 8 removem os símbolos auxiliares X1, X2 e Y. Se a palavra restanteÉ terminal, então ela é um elemento de L(G).

Os símbolos (r), [r] são associados com os rótulos em Lab.

Z1 e Z2 são associados com operações de movimentação.

Com isso, L(G) C L(γ).

AINDA NÃO ACABOU!!!!!!

Page 27: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 27Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

Detalhando a volta: se A =>γ* M e w E T+, M(w) > 0, então w E L(G)

Iniciamos com w0, onde w0 = X12YSX2

2, A(w0) = 1.

Assuma que temos a palavra X12w1Yw2X2

2 com multiplicidade 1. Se w2 iniciar com um membroEsquerdo de uma produção em P, então podemos aplicar a regra 1. Assuma que esse é o caso,A palavra é X1

2w1Yuw3X22 para algum r: u → v E P. Usando o axioma (r)v[r] de A obtemos:

( X12w1Yu|w3X2

2, (r)v|[r] ) ├ ( X12w1Yu[r], (r)vw3X2

2 )

Agora, somente a regra 2 pode ser aplicada às palavras que obtemos, envolvendo ambasPalavras:

( X12w1Y|u[r], (r)|vw3X2

2 ) ├ ( X12w1Yvw3X2

2, (r)u[r] )

Assim, passamos de X12w1Yuw3X2

2 para X12w1Yvw3X2

2. Isso corresponde à r: u → v E P

Page 28: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 28Ronaldo R Ferreira

Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis Recursivamente

Se para a palavra X12w1Yw3X2

2 aplicarmos a regra 3, temos:

( X12w1Y|w3X2

2, Z1Y|Z2 ) ├ ( X12w1YZ2, Z1Yw3X2

2 )

Agora, só podemos aplicar a regra 4.

( X12w1YZ2, Z1Yw3X2

2 ) ├ ( X12w1Yw3X2

2, Z1YZ2 )

Em cada momento temos um multi-conjunto com uma palavra X12w1Yw3X2

2 ou duasPalavras X1

2z1, z2X22. No primeiro caso, se w1 = λ, podemos remover X1

2 usando aRegra 7; então podemos remover também X2

2 usando a regra 8. Essa é a única maneiraDe remover símbolos não terminais. Se a palavra não é terminal, ela não pode mais serProcessada, pois não há mais símbolos Y.

Concluindo, podemos simular derivações em G e mover livremente Y na palavra deMultiplicidade 1, portanto L(γ) C L(G).

Page 29: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 29Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 30: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 30Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

Definição Informal

Sistemas H Universais possuem todos os componentes fixados, a não ser o conjuntoDos axiomas, capaz de se comportar como qualquer Sistema H γ, quando umaCodificação de γ é introduzida no conjunto de axiomas do Sistema Universal.

Page 31: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 31Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

Definição Formal

Dado um alfabeto T e duas linguagens F1, F2, uma construção:

γU = ( VU, T, AU, RU )

Onde VU é um alfabeto, AU C VU*, AU E F1 e RU C Vu*#VU*$VU*#VU*, RU E F2, é ditoSer um Sistema H Universal do tipo (F1,F2), se para todo γ = ( V, T, A, R) do tipo (F1,F2),

Há uma linguagem Aγ tal que AU U Aγ E F1 e L(γ) = L(γU´), onde γU´ = ( VU, T, AU U Aγ, RU ).

Page 32: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 32Ronaldo R Ferreira

Lemma: Dados um sistema H estendido γ = ( V, T, A, R ) do tipo (F1,F2), para F1, F2 famílias de linguagens fechadas sobre morfismos ג-free, podemos construir um sistema H estendido γ´ = ( {c1,c2} U T, T, A´, R´ ) do mesmo tipo (F1,F2), tal que L(γ) = L(γ´). Isso também é válido para γ um sistema mH ou um sistema H com contexto permitido ou proibido.

Prova de Universalidade dos Splicing Systems

Page 33: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 33Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

Prova:

se V – T = { Z1,...,Zn }, então consideramos um morfismo h: V+ → ( { c1, c2} U T)+, definido por:

h(Zi) = c1c2ic1 1 ≤ i ≤ n, => cada símbolo não terminal é

codificado numa seqüência de c’s h(a) = a, a E T.

Então A´ = h(A) R´ = { h(u1)#h(u2)$h(u3)#h(u4) | u1#u2$u3#u4 E R } => codifica o conjunto no formato do sistema universal

Page 34: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 34Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

Teorema: Para todo alfabeto T, existe um sistema mH estendido do tipo (m[2],FIN) o qual é universal para a classe dos sistemas mH estendidos com o alfabeto terminal T.

Prova:

Considere um alfabeto T e dois símbolos diferentes c1, c2 que não estão em T. para a classe deGramáticas de Chomsky tipo-0 com um dado alfabeto terminal, existem gramáticas universais, ouSeja, construções GU = ( NU, T, -, PU ) tal que para qualquer gramática G = ( N, T, S, P ), existeUma palavra w(G) E ( NU U T )+ (a codificação de G), tal que L(GU´) = L(G) paraGU´ = ( NU, T, w(G), PU ). A linguagem L(GU´) consiste de todas as palavras terminais z, tais quew(G) =>* z usando as regras em PU.

Existe um algoritmo que converte gramáticas do tipo-0 para Máquina de Turing e vice-versa.

AINDA NÃO ACABOU!!!!

Page 35: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 35Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

para uma dada gramática universal do tipo-0 GU = ( NU, T, -, PU ), obtemos um sistema mH estendido γ1 = ( V1, T, A1, R1), onde o axioma (com multiplicidade 1) w0 = X1

2YSX22 não é considerado. Os outros

Axiomas estão fixados, pois dependem somente de NU e PU.

Passamos de γ1 para γ2 = ( V2, T, A2, R2 ), com no máximo 2 axiomas em A2.

Do lemma anterior,codifica-se todos os símbolos V2 – T em palavras sobre { c1, c2 }, obtendo γ = ( {c1, c2} U T, T, AU, RU ). Esse é o nosso sistema universal.

Agora, construímos o código de G0, w(G0). Temos também γ0. Consideremos a palavra w0´ = X1

2Yw(G0)X22, correspondendo ao axioma w0. Codifica-se w0´ sobre {c1, c2} U T.

Denota-se w(γ0) a palavra obtida. Então, L(γ´U) = L(γ0).

Se começarmos de uma gramática universal GU e S é trocado por w(G0) de uma gramática tipo-0Equivalente a γ0, então o sistema γU, associado com a gramática universal GU, irá simular o trabalhoDe GU, iniciando por w(G0).

Então, L(γU´) = L(GU´) = L(G0) = L(γ0), para GU´ = ( NU, T, w(G0), PU). □

Page 36: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 36Ronaldo R Ferreira

Prova de Universalidade dos Splicing Systems

Teorema: Se existe uma Máquina de Turing que codifica f, então existe um γ inicializado com Z0wq0Z1 que deriva Z0f(w)qfZ1 E T*

Page 37: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 37Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 38: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 38Ronaldo R Ferreira

Conclusões

A operação de splicing hoje é extremamente difícil de ser realizada. O PCRNão é um moranguinho!!! Com as técnicas atuais é praticamente impossível conseguirO splicing perfeito.

A Computação com DNA é uma cozinha. Além disso, as técnicas deBiologia Molecular empregadas possuem uma taxa de erro extremamenteAlta.

Um sistema mH com dois axiomas e um conjunto finito de regras deSplicing é capaz de gerar a classe RE.

O avanço da Computação com DNA hoje depende mais do esforço da Engenharia Genética,Que da Ciência da Computação. O avanço depende fortemente da evolução das técnicas daBiologia Molecular empregadas, apesar do grande esforço em Computação com DNARealista.

Portanto, caso as técnicas de Biologia Molecular avancem, no sentido de diminuição de erros, aumentoDo controle experimental, barateamento de custos, o Computador de DNA é viável no sentido deComputação Realista.

Page 39: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 39Ronaldo R Ferreira

1. Introdução PCR: uma das bases da Computação com DNA Um pouco de história Operações com DNA Computação com DNA: modelos e técnicas2. Splicing Systems ou Sistemas H Operação de splicing Splicing Systems: a busca por universalidade Sistemas H estendidos Multi-conjuntos e Sistemas mH3. Prova de Equivalência entre Splicing Systems e Linguagens Enumeráveis

Recursivamente4. Prova de Universalidade dos Splicing Systems5. Conclusões6. Referências

Agenda

Page 40: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 40Ronaldo R Ferreira

Referências

[1] AMOS, Martyn – Theoretical and Experimental DNA Computation Springer, Alemanha (2005)

[2] ADLEMAN, Leonard M – Molecular Computation of Solutions to Combinatorial Problems – Science v266 pp1021-1024 (1994)

[3] CSUHAJ-VARJÚ, Erzsébet et al. – DNA Computing Based on Splicing: Universality Results – First Annual Pacific Symp. On Biocomputing (1996)

[4] FREUND, R et al. - DNA Computing Based on Splicing: The Existence of Universal Computers Theory of Computing Systems v32 pp69-112 (1999)

[5] PAUN, Gheorghe – DNA computing based on splicing: universality results – Theoretical Computer Science v231 pp275-296 (2000)

Page 41: Ronaldo R Ferreira Turing Completude da Computação com DNA 1 Ronaldo Rodrigues Ferreira rrferreira@inf.ufrgs.br CM524 - Teoria da Computação Avançada PPGC

Turing Completude da Computação com DNA 41Ronaldo R Ferreira

Perguntas????

[email protected]