Máquinas de Turing com
modificações
Yuri Tavares dos Passos
Técnicas de programação
para MTs
● Dar uma ideia do poder de cálculo das
MTs
● Mostrar que tem o mesmo poder de um
computador
● Facilitar o projeto de MTs
Técnicas de programação
para Mts
● São elas:
– Armazenamento no estado
– Várias trilhas
– Subrotinas
Armazenamento no
estado
Armazenamento no
estado
● Q armazena algum(ns) dado(s) para
utilização
– Possui um componente que indica o estado
– Possui um outro componente que armazena
uma quantidade finita de símbolos
Armazenamento no
estado
● Q passa a ser um conjunto de tuplas
● Q = Q' x Г
– Q = {q0,q1} x {0,1,B}
– Q = {(q0,0),(q1,0),(q0,1),(q1,1),(q0,B),(q1,B)}
Exemplo 1
● MT que aceita 01*+10*
● M = (Q,{0,1},{0,1,B},δ,(q0,B),B,{(q1,B)})
● Q = {q0,q1} x {0,1,B}
● A primeira parte significa:
– q0 indica que ainda vai ler o primeiro símbolo.
– q1 indica que já leu o primeiro símbolo.
● A segunda parte indica qual foi o primeiro caractere
lido. B indica que nenhum foi lido.
Exemplo 1
● Para a = 0 ou a = 1:
– δ((q0,B),a) = ((q1,a),a,R)
– δ((q1,a),a) = ((q1,a),a,R)
– δ((q1,a),B) = ((q1,B),B,R)
– δ((q1,a),a) é indefinido, logo a MT pára.
Armazenamento no
estado
● Exercício:
– Fazer o diagrama de transições do Exemplo 1
Várias trilhas
● Consiste em adicionar mais trilhas
● A MT continua com uma cabeça de leitura
apenas.
● Г e Σ são conjuntos de tuplas
● Σ = Σ1 x Σ2 x … x Σn
● Г = Г1 x Г2 x … x Гn
Exemplo 2
● Uma MT que aceite
– L = {wcw | w está em {0,1}*}
● M = (Q,Σ,Г,δ,(q1,B),(B,B),{(q9,B)})
● Q = {q1,…,q9} x {0,1,B}
● Σ = {(B,0),(B,1),(B,c)}
● Г = {B,*} x {0,1,c,B}
– * indica que o caractere foi “marcado”
– Ausência de marcador, indica que ela ainda deverá ser lido
Exemplo 2
● ∀a,b tal que a ∈ {0,1} ou b ∈ {0,1}, δ será:
– δ((q1,B),(B,a)) = ((q2,a),(*,a),R)
– δ((q2,a),(B,b)) = ((q2,a),(B,b),R)
– δ((q2,a),(B,c)) = ((q3,a),(B,c),R)
– δ((q3,a),(*,b)) = ((q3,a),(*,b),R)
Exemplo 2
● Cont.:
– δ((q3,a),(B,a)) = ((q4,B),(*,a),L)
– δ((q4,B),(*,a)) = ((q4,B),(*,a),L)
– δ((q4,B),(B,c)) = ((q5,B),(B,c),L)
– δ((q5,B),(B,a)) = ((q6,B),(B,a),L)
– δ((q6,B),(B,a)) = ((q6,B),(B,a),L)
Exemplo 2
● Cont.:
– δ((q6,B),(*,a)) = ((q1,B),(*,a),R)
– δ((q5,B),(*,a)) = ((q7,B),(*,a),R)
– δ((q7,B),(B,c)) = ((q8,B),(B,c),R)
– δ((q8,B),(*,a)) = ((q8,B),(*,a),R)
– δ((q8,B),(B,B)) = ((q9,B),(B,B),R)
Considerações
● O uso de armazenamento de controle e
várias trilhas não aumentam o poder da
MT
● Por quê?
Considerações
● O uso de armazenamento de controle e
várias trilhas não aumentam o poder da MT
● Por quê?
– Porque o uso de tuplas não muda a definição
da MT.
● Um conjunto de tuplas continua sendo um conjunto!
● Há apenas uma mudança de representação.
Subrotinas
● Consistem em projetar uma pequena parte
da MT para ser usada em outra, maior
● Modulariza a MT
● Lembra os procedimentos de programação
Exemplo 3
● Uma MT que realiza multiplicação
● Entrada: 0m10n1
● Saída: 0mn
Exemplo 3
● Estratégia:
– Em geral, haverá uma string 0i10n10kn
– Em uma etapa básica, teremos 0i-110n10(k+1)n
– Copiamos o grupo de n 0s até o fim, m vezes
– A etapa final é trocar os 1s iniciais por B
Exemplo 3
● A segunda etapa, pode ser feita por uma
subrotina Copy
● Ela terá a seguinte descrição instantânea
ao final da execução:
– 0m-k1q10n10(k-1)n *⊢ 0m-k1q50n10kn
Exemplo 3
Exemplo 3
Exercícios
● Projete as MTs da aula anterior usando estas
técnicas
● Projete uma subrotina para mover a cabeça de um
MT de sua posição atual para a direita, saltando
sobre todos os 0s, até chegar a um 1 ou B. Se a
posição atual não contiver 0, a MT deve parar.
Você poderá supor que não existem símbolos de
fita além de 0, 1 e B. Assim, use essa subrotina
para projetar uma MT que aceite todos os strings
de 0s e 1s que não em dois 1s em uma linha.
Referência
● [1] HOPCROFT, John E.; ULLMAN, Jeffrey
D.; MOTWANI, Rajeev. Introdução à teoria
de autômatos, linguagens e computação.
[Rio de Janeiro]: Campus, c2003. p. 328-
352
● Imagens da versão em inglês

Mais conteúdo relacionado

PDF
13 introducao a analise de algoritmos
PDF
PPT
Introdução Programação Em Maple
PDF
Cálculo Numérico: Integração Numérica com Bubble Sort
PDF
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
PDF
Complexidade algoritmos
PDF
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
PDF
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
13 introducao a analise de algoritmos
Introdução Programação Em Maple
Cálculo Numérico: Integração Numérica com Bubble Sort
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Complexidade algoritmos
Problema da Árvore Geradora de Rotulação Mínima (PAGRM)
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...

Mais procurados (20)

PDF
Fit Metrocamp 2016
PPT
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
PDF
Criptografia RSA
PDF
Aplicação do k-NN utilizando Bitonic Sort
PDF
Exercicio 5 transformada de fourier no tempo continuo
PDF
Redes de-petri-2
PPT
Tdc2010 web
PPTX
Light Talk sobre JavaScript Funcional
PPTX
Matlab – curso básico (1)
PPT
Limite
PPTX
Geca - Encontro 0
PDF
04 tese de church-turing
PDF
Ponteiros de Função
PDF
Análise de Algoritmos - As classes P e NP
PDF
Curso de Simulink
PPT
Recursividade
ODP
Algoritmo da divisão inteira - prova da existência
PDF
Dicas de codificação parte I
PDF
Ft teorema da amostragem e fft
Fit Metrocamp 2016
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Criptografia RSA
Aplicação do k-NN utilizando Bitonic Sort
Exercicio 5 transformada de fourier no tempo continuo
Redes de-petri-2
Tdc2010 web
Light Talk sobre JavaScript Funcional
Matlab – curso básico (1)
Limite
Geca - Encontro 0
04 tese de church-turing
Ponteiros de Função
Análise de Algoritmos - As classes P e NP
Curso de Simulink
Recursividade
Algoritmo da divisão inteira - prova da existência
Dicas de codificação parte I
Ft teorema da amostragem e fft
Anúncio

Semelhante a 02 maquinas de turing modificadas (18)

PDF
Máquina de Turing reconhecedora de número primo
PDF
Computação com DNA - Modelo baseado em Stickers
PPT
Máquinas de turing com memória limitada
PDF
07 intratablilidade
PDF
Definições de Máquinas de Turing
PDF
07 intratablilidade
PDF
01 maquinas de turing
PDF
Linguagem Go
PDF
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
PDF
Mini-Curso: gnuplot
PDF
03-Notacoes O omega teta Complexidade e Corretude.pdf
PDF
Artigo sobre complexibilidade complexity.pdf
PDF
Aula 10 minimizaçãode automato
PDF
Atividades - Matemática discreta
PDF
04-Extensoes de MTs.pdf
PPT
Controladores logicos programavel industriais
Máquina de Turing reconhecedora de número primo
Computação com DNA - Modelo baseado em Stickers
Máquinas de turing com memória limitada
07 intratablilidade
Definições de Máquinas de Turing
07 intratablilidade
01 maquinas de turing
Linguagem Go
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
Mini-Curso: gnuplot
03-Notacoes O omega teta Complexidade e Corretude.pdf
Artigo sobre complexibilidade complexity.pdf
Aula 10 minimizaçãode automato
Atividades - Matemática discreta
04-Extensoes de MTs.pdf
Controladores logicos programavel industriais
Anúncio

Mais de Yuri Passos (16)

PDF
10 máquinas probabilisticas classes ZPP, coRP e RP
PDF
06-Complementos de LRE e LR - Reducoes.pdf
PDF
05 indecibilidade
PDF
09 problemas de grafos np-completos
PDF
Teorema de rice
PDF
08 SAT e Variacões
PDF
Aula06 matriz em C
PDF
Aula04 ponteiros e conversao
PDF
Aula02 condicionais
PDF
Aula01 introducao operacoes
PDF
Aula03 repeticao
PDF
Aula04
PDF
Aula03
PDF
Aula02
PDF
Aula01
PDF
Aula05
10 máquinas probabilisticas classes ZPP, coRP e RP
06-Complementos de LRE e LR - Reducoes.pdf
05 indecibilidade
09 problemas de grafos np-completos
Teorema de rice
08 SAT e Variacões
Aula06 matriz em C
Aula04 ponteiros e conversao
Aula02 condicionais
Aula01 introducao operacoes
Aula03 repeticao
Aula04
Aula03
Aula02
Aula01
Aula05

Último (20)

PPTX
Teorias da Evolução. biologia, teorias de Darwin.
PPTX
Aula 4_Vias de administração - slideshow
PPT
SLIDE- Morfologia da Folha (atualizado).pdf
PPTX
Meios de cultura para Microbiologia.pptx
PDF
Geoquímica_de_Solos_Apresentacao_Paulo[1].pdf
PPTX
710430806-Farmacologia-de-produtos-naturais-slides-1.pptx
PPT
causalidade EPIDEMIOLOGIA GRADUAÇAO BIOMED
PDF
SISTEMA CARDIOVASCULAR NAJSJSJAKDJSKAKDKKA
PDF
tradução.pdf slide explicatico sobre as transformações do dna e rna
PDF
aulaslides-bacteriologia-140803091739-phpapp01.pdf
PPTX
Continuação Separação De Misturas Heterogêneas.pptx
PPT
QUÍMICA - LIGAÇÃO QUÍMICA - 2 - COVALENTE -
PPTX
Microbiologia, slides. Celulose bacteriana
PDF
7biosseguranalaboratorial-120813122204-phpapp02.pdf
PPTX
Aula 5 - Formas farmacêuticas - slideshow
PDF
Desenveolvimento Embrionário dos Anfíbios - Embriologia Comparada - Embriolog...
PPTX
Aula Introdutória sobre Genéitca Molecular
PPTX
REAÇÕES DE OXIRREDUÇÃO.pptx - ENSINO MÉDIO
PPT
Introdução a psicologia - 11111111111111
PPTX
Desenveolvimento Embrionário dos Anfíbios - Embriologia Comparada - Embriolog...
Teorias da Evolução. biologia, teorias de Darwin.
Aula 4_Vias de administração - slideshow
SLIDE- Morfologia da Folha (atualizado).pdf
Meios de cultura para Microbiologia.pptx
Geoquímica_de_Solos_Apresentacao_Paulo[1].pdf
710430806-Farmacologia-de-produtos-naturais-slides-1.pptx
causalidade EPIDEMIOLOGIA GRADUAÇAO BIOMED
SISTEMA CARDIOVASCULAR NAJSJSJAKDJSKAKDKKA
tradução.pdf slide explicatico sobre as transformações do dna e rna
aulaslides-bacteriologia-140803091739-phpapp01.pdf
Continuação Separação De Misturas Heterogêneas.pptx
QUÍMICA - LIGAÇÃO QUÍMICA - 2 - COVALENTE -
Microbiologia, slides. Celulose bacteriana
7biosseguranalaboratorial-120813122204-phpapp02.pdf
Aula 5 - Formas farmacêuticas - slideshow
Desenveolvimento Embrionário dos Anfíbios - Embriologia Comparada - Embriolog...
Aula Introdutória sobre Genéitca Molecular
REAÇÕES DE OXIRREDUÇÃO.pptx - ENSINO MÉDIO
Introdução a psicologia - 11111111111111
Desenveolvimento Embrionário dos Anfíbios - Embriologia Comparada - Embriolog...

02 maquinas de turing modificadas

  • 1. Máquinas de Turing com modificações Yuri Tavares dos Passos
  • 2. Técnicas de programação para MTs ● Dar uma ideia do poder de cálculo das MTs ● Mostrar que tem o mesmo poder de um computador ● Facilitar o projeto de MTs
  • 3. Técnicas de programação para Mts ● São elas: – Armazenamento no estado – Várias trilhas – Subrotinas
  • 5. Armazenamento no estado ● Q armazena algum(ns) dado(s) para utilização – Possui um componente que indica o estado – Possui um outro componente que armazena uma quantidade finita de símbolos
  • 6. Armazenamento no estado ● Q passa a ser um conjunto de tuplas ● Q = Q' x Г – Q = {q0,q1} x {0,1,B} – Q = {(q0,0),(q1,0),(q0,1),(q1,1),(q0,B),(q1,B)}
  • 7. Exemplo 1 ● MT que aceita 01*+10* ● M = (Q,{0,1},{0,1,B},δ,(q0,B),B,{(q1,B)}) ● Q = {q0,q1} x {0,1,B} ● A primeira parte significa: – q0 indica que ainda vai ler o primeiro símbolo. – q1 indica que já leu o primeiro símbolo. ● A segunda parte indica qual foi o primeiro caractere lido. B indica que nenhum foi lido.
  • 8. Exemplo 1 ● Para a = 0 ou a = 1: – δ((q0,B),a) = ((q1,a),a,R) – δ((q1,a),a) = ((q1,a),a,R) – δ((q1,a),B) = ((q1,B),B,R) – δ((q1,a),a) é indefinido, logo a MT pára.
  • 9. Armazenamento no estado ● Exercício: – Fazer o diagrama de transições do Exemplo 1
  • 10. Várias trilhas ● Consiste em adicionar mais trilhas ● A MT continua com uma cabeça de leitura apenas. ● Г e Σ são conjuntos de tuplas ● Σ = Σ1 x Σ2 x … x Σn ● Г = Г1 x Г2 x … x Гn
  • 11. Exemplo 2 ● Uma MT que aceite – L = {wcw | w está em {0,1}*} ● M = (Q,Σ,Г,δ,(q1,B),(B,B),{(q9,B)}) ● Q = {q1,…,q9} x {0,1,B} ● Σ = {(B,0),(B,1),(B,c)} ● Г = {B,*} x {0,1,c,B} – * indica que o caractere foi “marcado” – Ausência de marcador, indica que ela ainda deverá ser lido
  • 12. Exemplo 2 ● ∀a,b tal que a ∈ {0,1} ou b ∈ {0,1}, δ será: – δ((q1,B),(B,a)) = ((q2,a),(*,a),R) – δ((q2,a),(B,b)) = ((q2,a),(B,b),R) – δ((q2,a),(B,c)) = ((q3,a),(B,c),R) – δ((q3,a),(*,b)) = ((q3,a),(*,b),R)
  • 13. Exemplo 2 ● Cont.: – δ((q3,a),(B,a)) = ((q4,B),(*,a),L) – δ((q4,B),(*,a)) = ((q4,B),(*,a),L) – δ((q4,B),(B,c)) = ((q5,B),(B,c),L) – δ((q5,B),(B,a)) = ((q6,B),(B,a),L) – δ((q6,B),(B,a)) = ((q6,B),(B,a),L)
  • 14. Exemplo 2 ● Cont.: – δ((q6,B),(*,a)) = ((q1,B),(*,a),R) – δ((q5,B),(*,a)) = ((q7,B),(*,a),R) – δ((q7,B),(B,c)) = ((q8,B),(B,c),R) – δ((q8,B),(*,a)) = ((q8,B),(*,a),R) – δ((q8,B),(B,B)) = ((q9,B),(B,B),R)
  • 15. Considerações ● O uso de armazenamento de controle e várias trilhas não aumentam o poder da MT ● Por quê?
  • 16. Considerações ● O uso de armazenamento de controle e várias trilhas não aumentam o poder da MT ● Por quê? – Porque o uso de tuplas não muda a definição da MT. ● Um conjunto de tuplas continua sendo um conjunto! ● Há apenas uma mudança de representação.
  • 17. Subrotinas ● Consistem em projetar uma pequena parte da MT para ser usada em outra, maior ● Modulariza a MT ● Lembra os procedimentos de programação
  • 18. Exemplo 3 ● Uma MT que realiza multiplicação ● Entrada: 0m10n1 ● Saída: 0mn
  • 19. Exemplo 3 ● Estratégia: – Em geral, haverá uma string 0i10n10kn – Em uma etapa básica, teremos 0i-110n10(k+1)n – Copiamos o grupo de n 0s até o fim, m vezes – A etapa final é trocar os 1s iniciais por B
  • 20. Exemplo 3 ● A segunda etapa, pode ser feita por uma subrotina Copy ● Ela terá a seguinte descrição instantânea ao final da execução: – 0m-k1q10n10(k-1)n *⊢ 0m-k1q50n10kn
  • 23. Exercícios ● Projete as MTs da aula anterior usando estas técnicas ● Projete uma subrotina para mover a cabeça de um MT de sua posição atual para a direita, saltando sobre todos os 0s, até chegar a um 1 ou B. Se a posição atual não contiver 0, a MT deve parar. Você poderá supor que não existem símbolos de fita além de 0, 1 e B. Assim, use essa subrotina para projetar uma MT que aceite todos os strings de 0s e 1s que não em dois 1s em uma linha.
  • 24. Referência ● [1] HOPCROFT, John E.; ULLMAN, Jeffrey D.; MOTWANI, Rajeev. Introdução à teoria de autômatos, linguagens e computação. [Rio de Janeiro]: Campus, c2003. p. 328- 352 ● Imagens da versão em inglês