SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
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

Mais procurados

Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Aplicação do k-NN utilizando Bitonic Sort
Aplicação do k-NN utilizando Bitonic SortAplicação do k-NN utilizando Bitonic Sort
Aplicação do k-NN utilizando Bitonic SortVinicius Coelho
 
Exercicio 5 transformada de fourier no tempo continuo
Exercicio 5   transformada de fourier no tempo continuoExercicio 5   transformada de fourier no tempo continuo
Exercicio 5 transformada de fourier no tempo continuoAlessandro Beda
 
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalLight Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalEmanuel Gonçalves
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)Felipe Meganha
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turingYuri Passos
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPDelacyr Ferreira
 
Algoritmo da divisão inteira - prova da existência
Algoritmo da divisão inteira - prova da existênciaAlgoritmo da divisão inteira - prova da existência
Algoritmo da divisão inteira - prova da existênciaJedson Guedes
 
Dicas de codificação parte I
Dicas de codificação parte IDicas de codificação parte I
Dicas de codificação parte IWende Mendes
 
Ft teorema da amostragem e fft
Ft teorema da amostragem e fftFt teorema da amostragem e fft
Ft teorema da amostragem e fftPaula Laurêncio
 

Mais procurados (20)

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

Semelhante a 02 maquinas de turing modificadas

Máquina de Turing reconhecedora de número primo
Máquina de Turing reconhecedora de número primoMáquina de Turing reconhecedora de número primo
Máquina de Turing reconhecedora de número primoDiego Cavalca
 
Computação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersComputação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersMarcos Castro
 
Máquinas de turing com memória limitada
Máquinas de turing com memória limitadaMáquinas de turing com memória limitada
Máquinas de turing com memória limitadaCarlos Eduardo
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
Definições de Máquinas de Turing
Definições de Máquinas de TuringDefinições de Máquinas de Turing
Definições de Máquinas de TuringSidnei Jr. Pereira
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6Bowman Guimaraes
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdfYuri Passos
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automatowab030
 
Atividades - Matemática discreta
Atividades - Matemática discretaAtividades - Matemática discreta
Atividades - Matemática discretaluiz10filho
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdfYuri Passos
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriaisJoseMarcelodeAssisSa
 

Semelhante a 02 maquinas de turing modificadas (18)

Máquina de Turing reconhecedora de número primo
Máquina de Turing reconhecedora de número primoMáquina de Turing reconhecedora de número primo
Máquina de Turing reconhecedora de número primo
 
Computação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersComputação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em Stickers
 
Máquinas de turing com memória limitada
Máquinas de turing com memória limitadaMáquinas de turing com memória limitada
Máquinas de turing com memória limitada
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
Definições de Máquinas de Turing
Definições de Máquinas de TuringDefinições de Máquinas de Turing
Definições de Máquinas de Turing
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
Linguagem Go
Linguagem GoLinguagem Go
Linguagem Go
 
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
Www.uff.br gma informacoes disciplinas_calc 03 -a- 2012-2_lista 6
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf
 
Relatório 1
Relatório 1Relatório 1
Relatório 1
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automato
 
Atividades - Matemática discreta
Atividades - Matemática discretaAtividades - Matemática discreta
Atividades - Matemática discreta
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf
 
Controladores logicos programavel industriais
Controladores logicos programavel industriaisControladores logicos programavel industriais
Controladores logicos programavel industriais
 
03 pid d
03 pid d03 pid d
03 pid d
 

Mais de Yuri Passos

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdfYuri Passos
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidadeYuri Passos
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completosYuri Passos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticasYuri Passos
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e VariacõesYuri Passos
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em CYuri Passos
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversaoYuri Passos
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoesYuri Passos
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticaoYuri Passos
 

Mais de Yuri Passos (16)

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticas
 
Teorema de rice
Teorema de riceTeorema de rice
Teorema de rice
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e Variacões
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversao
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoes
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticao
 
Aula04
Aula04Aula04
Aula04
 
Aula03
Aula03Aula03
Aula03
 
Aula02
Aula02Aula02
Aula02
 
Aula01
Aula01Aula01
Aula01
 
Aula05
Aula05Aula05
Aula05
 

Último

Bilhete de Identidade sobre o Tungsténio.pptx
Bilhete de Identidade sobre o Tungsténio.pptxBilhete de Identidade sobre o Tungsténio.pptx
Bilhete de Identidade sobre o Tungsténio.pptxSusanaRangel12
 
Estudo Dirigido Sistema Cardiovascular - 8°.docx
Estudo Dirigido Sistema Cardiovascular - 8°.docxEstudo Dirigido Sistema Cardiovascular - 8°.docx
Estudo Dirigido Sistema Cardiovascular - 8°.docxDanielaMayraArajoOli1
 
Apresentação sobre o cientista linus pauling.pptx
Apresentação sobre o cientista linus pauling.pptxApresentação sobre o cientista linus pauling.pptx
Apresentação sobre o cientista linus pauling.pptxTatianaMalcher
 
Historia da Agricultura Agronomia 2017.pptx
Historia da Agricultura Agronomia 2017.pptxHistoria da Agricultura Agronomia 2017.pptx
Historia da Agricultura Agronomia 2017.pptxCarlosMelo486412
 
Planejamento do viveiro de mudas florestais
Planejamento do viveiro de mudas florestaisPlanejamento do viveiro de mudas florestais
Planejamento do viveiro de mudas florestaisandersonwebler1
 
NEUROCIENCIA I (1).ppt aula explicativa 1
NEUROCIENCIA I (1).ppt aula explicativa 1NEUROCIENCIA I (1).ppt aula explicativa 1
NEUROCIENCIA I (1).ppt aula explicativa 1conselhosade2
 
FOUCAULT, Michel. A coragem da verdade.pdf
FOUCAULT, Michel. A coragem da verdade.pdfFOUCAULT, Michel. A coragem da verdade.pdf
FOUCAULT, Michel. A coragem da verdade.pdfRobertoLopes438472
 

Último (7)

Bilhete de Identidade sobre o Tungsténio.pptx
Bilhete de Identidade sobre o Tungsténio.pptxBilhete de Identidade sobre o Tungsténio.pptx
Bilhete de Identidade sobre o Tungsténio.pptx
 
Estudo Dirigido Sistema Cardiovascular - 8°.docx
Estudo Dirigido Sistema Cardiovascular - 8°.docxEstudo Dirigido Sistema Cardiovascular - 8°.docx
Estudo Dirigido Sistema Cardiovascular - 8°.docx
 
Apresentação sobre o cientista linus pauling.pptx
Apresentação sobre o cientista linus pauling.pptxApresentação sobre o cientista linus pauling.pptx
Apresentação sobre o cientista linus pauling.pptx
 
Historia da Agricultura Agronomia 2017.pptx
Historia da Agricultura Agronomia 2017.pptxHistoria da Agricultura Agronomia 2017.pptx
Historia da Agricultura Agronomia 2017.pptx
 
Planejamento do viveiro de mudas florestais
Planejamento do viveiro de mudas florestaisPlanejamento do viveiro de mudas florestais
Planejamento do viveiro de mudas florestais
 
NEUROCIENCIA I (1).ppt aula explicativa 1
NEUROCIENCIA I (1).ppt aula explicativa 1NEUROCIENCIA I (1).ppt aula explicativa 1
NEUROCIENCIA I (1).ppt aula explicativa 1
 
FOUCAULT, Michel. A coragem da verdade.pdf
FOUCAULT, Michel. A coragem da verdade.pdfFOUCAULT, Michel. A coragem da verdade.pdf
FOUCAULT, Michel. A coragem da verdade.pdf
 

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