SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Extensões e Restrições
de MTs
Yuri Tavares dos Passos
Resumo
●
Extensões de Mts
– Máquinas com múltiplas fitas
– MTs não-determinísticas
●
Restrições de Mts
– MTs sem uso de caractere branco
– MTs com fita infinita para somente um lado
Múltiplas fitas
●
Utilização de várias fitas para um
controlador
●
Cada fita possui uma cabeça de leitura
própria
– Não confundir com múltiplas trilhas!
Múltiplas fitas
Múltiplas fitas
●
A função δ será definida como:
– δ: Q x Гn
→ Q x Гn
x {L,R,S}n
●
S representa o estado estacionário: a
cabeça i não move.
Múltiplas fitas
●
Uma MT de múltiplas fitas N é uma
generalização da MT de uma fita M,
quando n = 1.
– Assim, L(M) ⊆ L(N)
●
Mas a linguagem de uma MT N pode ser
implementada por um MT de uma fita
apenas?
Múltiplas fitas
●
Considere uma fita com 2n trilhas
●
Para cada fita de N, você considera que
uma trilha será usada para marcar e outra
para escrever
Múltiplas fitas
Múltiplas fitas
●
Cada movimento de N será simulado em
M da seguinte forma:
– Toda vez que houver um movimento na fita i
de N, marque este ponto na fita 2i-1 e use a
fita 2i para escrita ou leitura de um símbolo.
– M memoriza quantos marcadores existem à
esquerda da sua posição atual.
●
Assim, pelo armazenamento no estado, apenas
símbolos de 0 a k são necessários.
●
Com isso, N sabe se deve continuar indo para
esquerda ou para direita para ler mais trilhas.
Múltiplas fitas
– Isto pode ser feito pelo controle, armazenando
além do estado, esta quantidade.
● Q = {q0
,...,qk
}x{0,...,n}
– Pelo estado, M sabe qual serão as escritas e
leituras feitas por cada cabeça de leitura
Considerações MT de
várias fitas
●
Tempo de conversão da versão multifitas
para uma fita é O(n2
)
– Por quê?
Considerações MT de
várias fitas
●
Considere M a MT de uma fita e N a de
várias fitas.
●
Para n movimentos de N, os marcadores
de M não podem estar a mais de 2n
células
Considerações MT de
várias fitas
●
Considere os seguintes movimentos de N
com duas fitas para exemplificar:
– 1º passo de N: uma fita vai para esquerda e outra
para a direita:
●
Em M haverá 1 células entre os marcadores de cada
trilha.
– 2º passo de N: uma fita vai para esquerda e outra
para a direita:
●
Em M haverá 3 células entre os marcadores de cada
trilha.
Considerações MT de
várias fitas
– 3º passo de N: uma fita vai para esquerda e
outra para a direita:
●
Em M haverá 5 células entre os marcadores de
cada trilha.
– ...
– n-ésimo passo de N: uma fita vai para
esquerda e outra para a direita:
●
Em M haverá 2n-1 células entre os marcadores de
cada trilha.
Considerações MT de
várias fitas
●
Como isto a distância máxima entre as
células será 2n+1 a MT M (de uma fita)
deverá mover duas vezes entre os
marcadores
– Uma vez da esquerda para direita para
encontrar e memorizar onde estão todos os
marcadores.
Considerações MT de
várias fitas
●
Então, n passos de N será simulado em
O(n2
) passos de M.
N M faz no
máximo
M faz um total
de no máximo
1 3 3
2 5 3+5
3 7 3+5+7
4 9 3+5+7+9
... ... ...
n 2n + 1
∑
i=1
n
2i+1=n
2
+2n
Exercício
●
Escreva um pseudo-código para a
conversão acima e calcule a complexidade
do seu algoritmo.
MTs não-determinísticas
●
Difere da versão determinísticas apenas
na função δ
– δ: Q x Г → 2Q x Г x {L,R}
● δ(q,a) = {(q1
,a1
,D1
), (q2
,a2
,D2
), …, (qk
,ak
,Dk
)}
●
O não-determinísmo indica a ideia de que
não há apenas um movimento a ser feito a
cada leitura da fita
MTs não-determinísticas
●
NTM: Nondeterministic Turing Machine
●
DTM: Deterministic Turing Machine
MTs não-determinísticas
>
MTs não-determinísticas
b a B
>q0
{(q1
,b,R)} {} {}
q1
{} {(q1
,a,R), (q2
,a,R)} {}
q2
{} {} {(q3
,B,R)}
*q3
{} {} {}
MTs não-determinísticas
●
A aceitação de uma palavra w é feita
quando existir algum caminho que leve do
estado inicial a um estado final utilizando
w na fita como entrada.
MTs não-determinísticas
●
baa
MTs não-determinísticas
●
bab
MTs não-determinísticas
●
As NTMs possuem o mesmo poder de
reconhecimento de uma DTM. Basta
considerá-las como uma NTM que usam
conjuntos unitários.
●
Resta saber se o contrário é verdade
– Para isto deve-se provar que uma DTM pode
simular o reconhecimento de uma NTM
Conversão NTM para
DTM
●
A DTM usará duas fitas
●
A primeira fita guarda a sequência de IDs
atuais na NTM simulada.
●
A segunda fita é usada para rascunho
Conversão NTM para
DTM
Conversão NTM para
DTM
●
Os passos da DTM serão:
– Verifica o simbolo lido na ID atual e o
movimento a se fazer na NTM. Se o estado
atual for de aceitação, a DTM aceita.
– Caso contrário, se o movimento tem k
resultados na NTM, a DTM armazena k cópias
da ID atual na sua fita de fila, utilizando a fita
de rascunho para esta cópia.
Conversão NTM para
DTM
– A DTM modifica cada uma das k IDs novas de
acordo com os movimentos que a NTM faria.
– Depois disso ela volta para a ID marca,
apaga a marca e move a marca para a
próxima ID à direita. Em seguida repete o
primeiro passo.
●
A quantidade de IDs na fita de fila é:
– 1 + m + m2
+ … + mn
Conversão NTM para
DTM
●
Onde m é o tamanho do maior conjunto de
movimentos que um estado pode realizar
para algum símbolo e n é quantidade de
movimentos da NTM
●
Este somatório resulta em no máximo nmn
IDs
Conversão NTM para
DTM
●
Mas também existem passos a serem feitos
para cada nmn
IDs:
– Cada uma das IDs serão copiadas para o rascunho
– Para cada ID, existem uma mudança de estado
– Para cada ID existe uma movimentação de fita
proporcional a seu tamanho
– etc.
●
Este valor acaba sendo proporcional aos
movimentos da DTM
Complexidade de tempo
de uma NTM
●
Usando a conversão de NTM para DTM
nota-se a NTM executa muito mais rápido
que a DTM
– Proporcional a nmn
– Ou seja, tempo de conversão da NTM para
DTM é O(nmn
)
Exercício
●
Escreva um pseudo-código para a
conversão acima e calcule a complexidade
do seu algoritmo.
Considerações
●
Tempo de execução é o número de etapas
que uma TM executa sobre uma entrada
de tamanho n
●
A complexidade de tempo é a função T(n)
que denota o tempo de execução máximo
●
Se a MT não aceitar ela poderá usar um
tempo infinito.
Considerações
●
Problemas normais possuem T(n)
polinomial enquanto que os difíceis T(n)
exponencial
MTs restritas
●
MTs sem uso de caractere branco
●
MTs com fita infinita para somente um lado
MT sem caractere branco
●
Não possuir branco diminui o poder de
reconhecimento?
MTs com fita semi-infinita
●
Apenas o lado direito é infinito.
●
Possui menor poder de reconhecimento?
MTs com fita semi-infinita
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 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
 
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
 
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
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadasYuri 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 (18)

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
 
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
 
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
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
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
 

04-Extensoes de MTs.pdf

  • 1. Extensões e Restrições de MTs Yuri Tavares dos Passos
  • 2. Resumo ● Extensões de Mts – Máquinas com múltiplas fitas – MTs não-determinísticas ● Restrições de Mts – MTs sem uso de caractere branco – MTs com fita infinita para somente um lado
  • 3. Múltiplas fitas ● Utilização de várias fitas para um controlador ● Cada fita possui uma cabeça de leitura própria – Não confundir com múltiplas trilhas!
  • 5. Múltiplas fitas ● A função δ será definida como: – δ: Q x Гn → Q x Гn x {L,R,S}n ● S representa o estado estacionário: a cabeça i não move.
  • 6. Múltiplas fitas ● Uma MT de múltiplas fitas N é uma generalização da MT de uma fita M, quando n = 1. – Assim, L(M) ⊆ L(N) ● Mas a linguagem de uma MT N pode ser implementada por um MT de uma fita apenas?
  • 7. Múltiplas fitas ● Considere uma fita com 2n trilhas ● Para cada fita de N, você considera que uma trilha será usada para marcar e outra para escrever
  • 9. Múltiplas fitas ● Cada movimento de N será simulado em M da seguinte forma: – Toda vez que houver um movimento na fita i de N, marque este ponto na fita 2i-1 e use a fita 2i para escrita ou leitura de um símbolo. – M memoriza quantos marcadores existem à esquerda da sua posição atual. ● Assim, pelo armazenamento no estado, apenas símbolos de 0 a k são necessários. ● Com isso, N sabe se deve continuar indo para esquerda ou para direita para ler mais trilhas.
  • 10. Múltiplas fitas – Isto pode ser feito pelo controle, armazenando além do estado, esta quantidade. ● Q = {q0 ,...,qk }x{0,...,n} – Pelo estado, M sabe qual serão as escritas e leituras feitas por cada cabeça de leitura
  • 11. Considerações MT de várias fitas ● Tempo de conversão da versão multifitas para uma fita é O(n2 ) – Por quê?
  • 12. Considerações MT de várias fitas ● Considere M a MT de uma fita e N a de várias fitas. ● Para n movimentos de N, os marcadores de M não podem estar a mais de 2n células
  • 13. Considerações MT de várias fitas ● Considere os seguintes movimentos de N com duas fitas para exemplificar: – 1º passo de N: uma fita vai para esquerda e outra para a direita: ● Em M haverá 1 células entre os marcadores de cada trilha. – 2º passo de N: uma fita vai para esquerda e outra para a direita: ● Em M haverá 3 células entre os marcadores de cada trilha.
  • 14. Considerações MT de várias fitas – 3º passo de N: uma fita vai para esquerda e outra para a direita: ● Em M haverá 5 células entre os marcadores de cada trilha. – ... – n-ésimo passo de N: uma fita vai para esquerda e outra para a direita: ● Em M haverá 2n-1 células entre os marcadores de cada trilha.
  • 15. Considerações MT de várias fitas ● Como isto a distância máxima entre as células será 2n+1 a MT M (de uma fita) deverá mover duas vezes entre os marcadores – Uma vez da esquerda para direita para encontrar e memorizar onde estão todos os marcadores.
  • 16. Considerações MT de várias fitas ● Então, n passos de N será simulado em O(n2 ) passos de M. N M faz no máximo M faz um total de no máximo 1 3 3 2 5 3+5 3 7 3+5+7 4 9 3+5+7+9 ... ... ... n 2n + 1 ∑ i=1 n 2i+1=n 2 +2n
  • 17. Exercício ● Escreva um pseudo-código para a conversão acima e calcule a complexidade do seu algoritmo.
  • 18. MTs não-determinísticas ● Difere da versão determinísticas apenas na função δ – δ: Q x Г → 2Q x Г x {L,R} ● δ(q,a) = {(q1 ,a1 ,D1 ), (q2 ,a2 ,D2 ), …, (qk ,ak ,Dk )} ● O não-determinísmo indica a ideia de que não há apenas um movimento a ser feito a cada leitura da fita
  • 19. MTs não-determinísticas ● NTM: Nondeterministic Turing Machine ● DTM: Deterministic Turing Machine
  • 21. MTs não-determinísticas b a B >q0 {(q1 ,b,R)} {} {} q1 {} {(q1 ,a,R), (q2 ,a,R)} {} q2 {} {} {(q3 ,B,R)} *q3 {} {} {}
  • 22. MTs não-determinísticas ● A aceitação de uma palavra w é feita quando existir algum caminho que leve do estado inicial a um estado final utilizando w na fita como entrada.
  • 25. MTs não-determinísticas ● As NTMs possuem o mesmo poder de reconhecimento de uma DTM. Basta considerá-las como uma NTM que usam conjuntos unitários. ● Resta saber se o contrário é verdade – Para isto deve-se provar que uma DTM pode simular o reconhecimento de uma NTM
  • 26. Conversão NTM para DTM ● A DTM usará duas fitas ● A primeira fita guarda a sequência de IDs atuais na NTM simulada. ● A segunda fita é usada para rascunho
  • 28. Conversão NTM para DTM ● Os passos da DTM serão: – Verifica o simbolo lido na ID atual e o movimento a se fazer na NTM. Se o estado atual for de aceitação, a DTM aceita. – Caso contrário, se o movimento tem k resultados na NTM, a DTM armazena k cópias da ID atual na sua fita de fila, utilizando a fita de rascunho para esta cópia.
  • 29. Conversão NTM para DTM – A DTM modifica cada uma das k IDs novas de acordo com os movimentos que a NTM faria. – Depois disso ela volta para a ID marca, apaga a marca e move a marca para a próxima ID à direita. Em seguida repete o primeiro passo. ● A quantidade de IDs na fita de fila é: – 1 + m + m2 + … + mn
  • 30. Conversão NTM para DTM ● Onde m é o tamanho do maior conjunto de movimentos que um estado pode realizar para algum símbolo e n é quantidade de movimentos da NTM ● Este somatório resulta em no máximo nmn IDs
  • 31. Conversão NTM para DTM ● Mas também existem passos a serem feitos para cada nmn IDs: – Cada uma das IDs serão copiadas para o rascunho – Para cada ID, existem uma mudança de estado – Para cada ID existe uma movimentação de fita proporcional a seu tamanho – etc. ● Este valor acaba sendo proporcional aos movimentos da DTM
  • 32. Complexidade de tempo de uma NTM ● Usando a conversão de NTM para DTM nota-se a NTM executa muito mais rápido que a DTM – Proporcional a nmn – Ou seja, tempo de conversão da NTM para DTM é O(nmn )
  • 33. Exercício ● Escreva um pseudo-código para a conversão acima e calcule a complexidade do seu algoritmo.
  • 34. Considerações ● Tempo de execução é o número de etapas que uma TM executa sobre uma entrada de tamanho n ● A complexidade de tempo é a função T(n) que denota o tempo de execução máximo ● Se a MT não aceitar ela poderá usar um tempo infinito.
  • 35. Considerações ● Problemas normais possuem T(n) polinomial enquanto que os difíceis T(n) exponencial
  • 36. MTs restritas ● MTs sem uso de caractere branco ● MTs com fita infinita para somente um lado
  • 37. MT sem caractere branco ● Não possuir branco diminui o poder de reconhecimento?
  • 38. MTs com fita semi-infinita ● Apenas o lado direito é infinito. ● Possui menor poder de reconhecimento?
  • 39. MTs com fita semi-infinita
  • 40. 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