SlideShare uma empresa Scribd logo
Teorema da
Recursão
Priscila Silva Neves Lima
Sérgio Ferreira Maia
Índice
●

Introdução

●

Paradoxo do estudo da vida

●

A máquina AUTO

●

O teorema da recursão

●

Aplicações
○

Teorema da parada

○

Teorema do ponto fixo

○

Vírus de computador

●

Bibliografia

●

Dúvidas
Introdução
O teorema da recursão é um resultado
matemático que desempenha um papel
fundamental em teoria da computabilidade.
Ele tem conexões com lógica matemática,
teoria de sistemas auto-reprodutivos e vírus de
computador.
Paradoxo do estudo da vida

1. Coisas vivas são máquinas.
2. Coisas vivas podem se reproduzir.
3. Máquinas não podem se auto reproduzir.
Paradoxo do estudo da vida
Como resolver o paradoxo:
○ A afirmação 3 está incorreta pois o Teorema
da Recursão mostra como uma máquina
pode se auto reproduzir.
A Máquina AUTO

AUTO é uma máquina de Turing que ignora
a entrada e imprime uma cópia de sua própria
descrição.
A Máquina AUTO
Auto-referência
AUTO = “Sobre a entrada w:
1. Ignore a entrada w.
2. Imprima <AUTO>.”
<AUTO> = código da máquina AUTO.
A Máquina AUTO
Passo 1: máquina Pw
Pw = “Sobre a entrada x:
1. Ignore x;
2. Imprima w na fita.”
A Máquina AUTO
Passo 2: máquina Q
Lemma (6.1 - Sipser)
Existe uma função computável q: Σ*
Σ*, onde se w é uma cadeia
qualquer, q(w) é a descrição de uma m.T. Pw que imprime w e pára.
A Máquina AUTO

Q = “Sobre a entrada w:
1. Construa a m.T. Pw.
2. Imprima <Pw> na fita.”
A Máquina AUTO
Passo 3: máquinas A e B
A = P<B>
B = “Sobre <M>, uma porção de uma m.T.:
1. Compute q(<M>) = P<M>
2. Imprima na fita <P<M>o M> e pare”
<P<M>o M> é a concatenação de P<M> e M.
A Máquina AUTO
AUTO = “Sobre a entrada x:
1. Ignore x
2. Executa A: Imprime código da máquina B na fita
3. Executa B sobre a string na fita (no caso <B>): Imprime o código
da máquina que imprime B na fita (A) seguido do código de B”
Resultado na fita = <A.B>
A Máquina AUTO
A Máquina AUTO
A Máquina AUTO
O Teorema da Recursão
Seja T uma máquina de Turing que computa
t: Σ* x Σ*
Σ*. Existe uma m.T R que computa
uma função r: Σ* Σ*, onde para todo w:
r(w) = t(<R>, w)

Em outras palavras: Uma m.T. pode construir uma réplica de seu
próprio código e continuar o restante de seu cálculo, que pode até
mesmo incluir ações envolvendo seu próprio código.
O Teorema da Recursão
A

B

T

( = P(BT))

Controle para R
…….

Onde:
1. A = P(BT) e
2. T recebe como parâmetros (<R>, w)
O Teorema da Recursão
O Teorema da Recursão
O Teorema da Recursão

LOGO :

ABT (a1a2....a5) = T(<ABT>,a1a2...a5) => R(w) = T(<R>, w)
O Teorema da Recursão
Construção de AUTO
O Teorema da Recursão
Construção de AUTO
T = “Sobre a entrada <M, w>:
1. Imprima <M> e pare.”
O Teorema da Recursão
Construção de AUTO
T = “Sobre a entrada <M, w>:
1. Imprima <M> e pare.”
r(w) = t(R, w) - Definição de AUTO
O Teorema da Recursão
Construção de AUTO
T = “Sobre a entrada <M, w>:
1. Imprima <M> e pare.”
r(w) = t(R, w) - Definição de AUTO
AUTO = “Sobre uma entrada w:
1. Obtenha, por meio do Teorema da Recursão, a própria
descrição <AUTO>.
2. Imprima <AUTO>.”
Aplicações
AMT é indecidível:
Assuma que a m.T. H decide AMT. Construa a seguinte m.
T. M:
M = “Sobre a entrada w:
1. Obtenha, por meio do Teorema da Recursão, sua própria
descrição <M>.
2. Rode H sobre a entrada <M, w>
3. Se H rejeita, aceite. Se H aceita, rejeite.”
Aplicações
Teorema do ponto fixo:
Seja t: Σ*
Σ* uma função computável. Então existe uma m.T. F
para a qual t(<F>) descreve uma m.T. equivalente a F. Se a entrada
não for uma descrição válida, a saída será uma m.T. que sempre
rejeita.

Em outras palavras, existe uma m.T F tal que, se t(<F>) = G, sobre a
mesma entrada, G imprimirá a mesma saída que F.
Aplicações
Prova:
Seja F a seguinte m.T.:
F = “Sobre a entrada w:
1. Obtenha, por meio do Teorema da Recursão, sua própria
descrição <F>.
2. Compute t(<F>) para obter a descrição de uma m.T. G.
3. Simule G sobre w.”
Aplicações
Vírus:
Um programa projetado para se espalhar entre
computadores.
Quando em um computador hospedeiro, começam a
transmitir cópias de si mesmos para outros computadores
acessíveis.
Podem se utilizar do teorema da recursão para se
multiplicarem.
Aplicações
Seja a m.T. V, uma m.T. que simula um vírus, tal que
V = ABT
V: “Sobre a entrada w faça:
1. Rode A
2. Rode B
(após a execução do passo 2, tem-se wABT na fita, ou seja, wV)

3. Rode T sobre w. Se T aceita, aceite. Se T rejeita, rejeite.”
Bibliografia
➢

SIPSER, Michael. Introdução à teoria da computação. Tradução técnica
Ruy José Guerra Barretto de Queiroz. 2ª ed. São Paulo: Thomson, 2007.

➢

John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to
Automata Theory, Languages and Computation. 2ª ed.

➢

Slide: Tópicos Avançados em Teoria da Computação, Sandra de Amo, em
<https://www.google.com.br/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&ved=0CE8QFjAE&url
=http%3A%2F%2Fwww.deamo.prof.ufu.br%2Farquivos%2FTeo-recursao.
ppt&ei=2sChUvGM4HK2gXfhIHYCQ&usg=AFQjCNGDziN8Kp7QccoIYQ2D1cwrpJre3g&si
g2=wQSkbHg5Jzq5v52RPEcVZw&bvm=bv.57752919,d.b2I> acesso em
dez. 2013
Teorema da
Recursão
Priscila Silva Neves Lima
Sérgio Ferreira Maia

Mais conteúdo relacionado

Semelhante a Teorema da recursão

Aula2
Aula2Aula2
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
Paulo Cardoso
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
wab030
 
Aula02
Aula02Aula02
Maquina de turing
Maquina de turingMaquina de turing
Maquina de turing
silvania silvania
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
aronoliveira3
 
Portugol_BCC201_2.pdf
Portugol_BCC201_2.pdfPortugol_BCC201_2.pdf
Portugol_BCC201_2.pdf
KELBYRODRIGUES2
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
Dérick Platini
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
Rodrigo Kiyoshi Saito
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdf
CaiqueMiranda7
 

Semelhante a Teorema da recursão (10)

Aula2
Aula2Aula2
Aula2
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Aula02
Aula02Aula02
Aula02
 
Maquina de turing
Maquina de turingMaquina de turing
Maquina de turing
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Portugol_BCC201_2.pdf
Portugol_BCC201_2.pdfPortugol_BCC201_2.pdf
Portugol_BCC201_2.pdf
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdf
 

Teorema da recursão

  • 1. Teorema da Recursão Priscila Silva Neves Lima Sérgio Ferreira Maia
  • 2. Índice ● Introdução ● Paradoxo do estudo da vida ● A máquina AUTO ● O teorema da recursão ● Aplicações ○ Teorema da parada ○ Teorema do ponto fixo ○ Vírus de computador ● Bibliografia ● Dúvidas
  • 3. Introdução O teorema da recursão é um resultado matemático que desempenha um papel fundamental em teoria da computabilidade. Ele tem conexões com lógica matemática, teoria de sistemas auto-reprodutivos e vírus de computador.
  • 4. Paradoxo do estudo da vida 1. Coisas vivas são máquinas. 2. Coisas vivas podem se reproduzir. 3. Máquinas não podem se auto reproduzir.
  • 5. Paradoxo do estudo da vida Como resolver o paradoxo: ○ A afirmação 3 está incorreta pois o Teorema da Recursão mostra como uma máquina pode se auto reproduzir.
  • 6. A Máquina AUTO AUTO é uma máquina de Turing que ignora a entrada e imprime uma cópia de sua própria descrição.
  • 7. A Máquina AUTO Auto-referência AUTO = “Sobre a entrada w: 1. Ignore a entrada w. 2. Imprima <AUTO>.” <AUTO> = código da máquina AUTO.
  • 8. A Máquina AUTO Passo 1: máquina Pw Pw = “Sobre a entrada x: 1. Ignore x; 2. Imprima w na fita.”
  • 9. A Máquina AUTO Passo 2: máquina Q Lemma (6.1 - Sipser) Existe uma função computável q: Σ* Σ*, onde se w é uma cadeia qualquer, q(w) é a descrição de uma m.T. Pw que imprime w e pára.
  • 10. A Máquina AUTO Q = “Sobre a entrada w: 1. Construa a m.T. Pw. 2. Imprima <Pw> na fita.”
  • 11. A Máquina AUTO Passo 3: máquinas A e B A = P<B> B = “Sobre <M>, uma porção de uma m.T.: 1. Compute q(<M>) = P<M> 2. Imprima na fita <P<M>o M> e pare” <P<M>o M> é a concatenação de P<M> e M.
  • 12. A Máquina AUTO AUTO = “Sobre a entrada x: 1. Ignore x 2. Executa A: Imprime código da máquina B na fita 3. Executa B sobre a string na fita (no caso <B>): Imprime o código da máquina que imprime B na fita (A) seguido do código de B” Resultado na fita = <A.B>
  • 16. O Teorema da Recursão Seja T uma máquina de Turing que computa t: Σ* x Σ* Σ*. Existe uma m.T R que computa uma função r: Σ* Σ*, onde para todo w: r(w) = t(<R>, w) Em outras palavras: Uma m.T. pode construir uma réplica de seu próprio código e continuar o restante de seu cálculo, que pode até mesmo incluir ações envolvendo seu próprio código.
  • 17. O Teorema da Recursão A B T ( = P(BT)) Controle para R ……. Onde: 1. A = P(BT) e 2. T recebe como parâmetros (<R>, w)
  • 18. O Teorema da Recursão
  • 19. O Teorema da Recursão
  • 20. O Teorema da Recursão LOGO : ABT (a1a2....a5) = T(<ABT>,a1a2...a5) => R(w) = T(<R>, w)
  • 21. O Teorema da Recursão Construção de AUTO
  • 22. O Teorema da Recursão Construção de AUTO T = “Sobre a entrada <M, w>: 1. Imprima <M> e pare.”
  • 23. O Teorema da Recursão Construção de AUTO T = “Sobre a entrada <M, w>: 1. Imprima <M> e pare.” r(w) = t(R, w) - Definição de AUTO
  • 24. O Teorema da Recursão Construção de AUTO T = “Sobre a entrada <M, w>: 1. Imprima <M> e pare.” r(w) = t(R, w) - Definição de AUTO AUTO = “Sobre uma entrada w: 1. Obtenha, por meio do Teorema da Recursão, a própria descrição <AUTO>. 2. Imprima <AUTO>.”
  • 25. Aplicações AMT é indecidível: Assuma que a m.T. H decide AMT. Construa a seguinte m. T. M: M = “Sobre a entrada w: 1. Obtenha, por meio do Teorema da Recursão, sua própria descrição <M>. 2. Rode H sobre a entrada <M, w> 3. Se H rejeita, aceite. Se H aceita, rejeite.”
  • 26. Aplicações Teorema do ponto fixo: Seja t: Σ* Σ* uma função computável. Então existe uma m.T. F para a qual t(<F>) descreve uma m.T. equivalente a F. Se a entrada não for uma descrição válida, a saída será uma m.T. que sempre rejeita. Em outras palavras, existe uma m.T F tal que, se t(<F>) = G, sobre a mesma entrada, G imprimirá a mesma saída que F.
  • 27. Aplicações Prova: Seja F a seguinte m.T.: F = “Sobre a entrada w: 1. Obtenha, por meio do Teorema da Recursão, sua própria descrição <F>. 2. Compute t(<F>) para obter a descrição de uma m.T. G. 3. Simule G sobre w.”
  • 28. Aplicações Vírus: Um programa projetado para se espalhar entre computadores. Quando em um computador hospedeiro, começam a transmitir cópias de si mesmos para outros computadores acessíveis. Podem se utilizar do teorema da recursão para se multiplicarem.
  • 29. Aplicações Seja a m.T. V, uma m.T. que simula um vírus, tal que V = ABT V: “Sobre a entrada w faça: 1. Rode A 2. Rode B (após a execução do passo 2, tem-se wABT na fita, ou seja, wV) 3. Rode T sobre w. Se T aceita, aceite. Se T rejeita, rejeite.”
  • 30. Bibliografia ➢ SIPSER, Michael. Introdução à teoria da computação. Tradução técnica Ruy José Guerra Barretto de Queiroz. 2ª ed. São Paulo: Thomson, 2007. ➢ John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory, Languages and Computation. 2ª ed. ➢ Slide: Tópicos Avançados em Teoria da Computação, Sandra de Amo, em <https://www.google.com.br/url? sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&ved=0CE8QFjAE&url =http%3A%2F%2Fwww.deamo.prof.ufu.br%2Farquivos%2FTeo-recursao. ppt&ei=2sChUvGM4HK2gXfhIHYCQ&usg=AFQjCNGDziN8Kp7QccoIYQ2D1cwrpJre3g&si g2=wQSkbHg5Jzq5v52RPEcVZw&bvm=bv.57752919,d.b2I> acesso em dez. 2013
  • 31. Teorema da Recursão Priscila Silva Neves Lima Sérgio Ferreira Maia