Extensões e Restrições 
de MTs 
Yuri Tavares dos Passos
Resumo 
● Notação O, Ω e Θ 
● Extensões de Mts 
– Máquinas com múltiplas fitas 
– MTs não-determinísticas 
● Restrições de...
Notação O, Ω e Θ 
● São utilizadas para denotar o 
comportamento assintótico de uma função
Notação O, Ω e Θ 
● Notação O 
– É usada para determinar um limite superior 
assintótico. 
● f(n) ∈ O(g(n)) → f(n) ∈ {h(n)...
Notação O, Ω e Θ 
● Alguns autores usam f(x) = O(g(x)) 
● Assim, também podemos afirmar que f(x) 
= O(g(x)) se e somente s...
Notação O, Ω e Θ 
● Observe que este limite pode ser igual a 0.
Notação O, Ω e Θ 
● Exemplos: 
– 5n2+15 ∈ O(n2) → ∀n≥4: 5n2+15 ≤ 6n2 (c=6, 
N=4) 
– 5n2+15 ∈ O(n3) → ∀n≥6: 5n2+15 ≤ n3 (c=...
Notação O, Ω e Θ
Notação O, Ω e Θ 
● Notação Ω 
– É usada para determinar um limite inferior 
assintótico. 
● f(n) ∈ Ω(g(n)) → f(n) ∈ {h(n)...
Notação O, Ω e Θ 
● Alguns autores usam f(x) = Ω(g(x)) 
● Assim, também podemos afirmar que f(x) 
= Ω(g(x)) se e somente s...
Notação O, Ω e Θ 
● Observe que este limite não pode ser igual 
a 0.
Notação O, Ω e Θ 
● Exemplos: 
– 5n2+15 ∈ Ω(n) → ∀n≥4: 5n2+15 ≥ n (c=1, 
N=4) 
– 5n2+15 ∉ Ω(n3) → ∄c,N: ∀n≥N 5n2+15 ≥ cn3
Notação O, Ω e Θ
Notação O, Ω e Θ 
● Notação Θ 
– É usada para determinar uma igualdade 
assintótica. 
● f(n) ∈ Θ(g(n)) s.s.s. f(n) ∈ O(g(n...
Notação O, Ω e Θ 
● Alguns autores usam g(n) = Θ(f(n)) 
● Assim, também podemos afirmar que f(x) 
= Ω(g(x)) se e somente s...
Notação O, Ω e Θ 
● Exemplos: 
– 5n2+15 ∈ Θ(n2) 
– 4n+1 ∈ Θ(n)
Notação O, Ω e Θ
Múltiplas fitas 
● Utilização de várias fitas para um 
controlador 
● Cada fita possui uma cabeça de leitura 
própria 
– N...
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...
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...
Múltiplas fitas 
● Considere uma fita com 2n trilhas 
● Para cada fita de N, você considera que 
uma trilha será usada par...
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 ...
Múltiplas fitas 
– Isto pode ser feito pelo controle, armazenando 
além do estado, esta quantidade. 
● Q = {q0,...,qk}x{0,...
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 ma...
Considerações MT de 
várias fitas 
● Considere os seguintes movimentos de N com 
duas fitas para exemplificar: 
– 1º passo...
Considerações MT de 
várias fitas 
– 3º passo de N: uma fita vai para esquerda e 
outra para a direita: 
● Em M haverá 6 c...
Considerações MT de 
várias fitas 
● Como isto a distância máxima entrea as 
células será 2n a MT M (de uma fita) 
deverá ...
Considerações MT de 
várias fitas 
– Outra vez da direita para à esquerda para 
modificar os símbolos de acordo com N (2n ...
Considerações MT de 
várias fitas 
● Temos que cada passo de N será 
simulado em 2n + 2n + 2k = 4n + 2k 
passos de M. Isto...
MTs não-determinísticas 
● Difere da versão determinísticas apenas 
na função δ 
– δ: Q x Г → 2Q x Г x {L,R} 
● δ(q,a) = {...
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 ...
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 DMT. Basta 
considerá-las como 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. 
●...
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...
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...
Conversão NTM para 
DTM 
– A DTM modifica cada uma das k IDs novas de 
acordo com os movimentos que a NTM faria. 
– Depois...
Conversão NTM para 
DTM 
● Onde m é o tamanho do maior conjunto de 
movimentos que um estado pode realizar 
para algum sím...
Conversão NTM para 
DTM 
● Mas também existem passos a serem feitos para 
cada nmn IDs: 
– Cada uma das IDs serão copiadas...
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 DT...
Considerações 
● Tempo de execução é o número de etapas 
que uma TM executa sobre uma entrada 
de tamanho n 
● A complexid...
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...
Próximos SlideShares
Carregando em…5
×

Aula03

218 visualizações

Publicada em

Aula sobre notações O grande, pequeno, ômega e theta, uso de múltiplas fitas, múltiplas trilhas, MTs não-determinísticas, MT sem caractere branco e MTs com fita semi-infinita

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
218
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula03

  1. 1. Extensões e Restrições de MTs Yuri Tavares dos Passos
  2. 2. Resumo ● Notação O, Ω e Θ ● 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. 3. Notação O, Ω e Θ ● São utilizadas para denotar o comportamento assintótico de uma função
  4. 4. Notação O, Ω e Θ ● Notação O – É usada para determinar um limite superior assintótico. ● f(n) ∈ O(g(n)) → f(n) ∈ {h(n) | ∃c,N: ∀n≥N: h(n) ≤ cg(n)} ● f(n) é limitada superiormente por g(n)
  5. 5. Notação O, Ω e Θ ● Alguns autores usam f(x) = O(g(x)) ● Assim, também podemos afirmar que f(x) = O(g(x)) se e somente se ∃a ∈ ℝ, a ≥ 0: lim x→∞ f ( x) g(x ) ≥a
  6. 6. Notação O, Ω e Θ ● Observe que este limite pode ser igual a 0.
  7. 7. Notação O, Ω e Θ ● Exemplos: – 5n2+15 ∈ O(n2) → ∀n≥4: 5n2+15 ≤ 6n2 (c=6, N=4) – 5n2+15 ∈ O(n3) → ∀n≥6: 5n2+15 ≤ n3 (c=1, N=6) – n2 ∉ O(n) → ∄c,N: ∀n≥N n2 ≤ cn ● Suponha ∃c,N, tais que ∀n≥N n2 ≤ cn. Então ∀n≥N n2-cn ≤ 0. As soluções para n são 0 ≤ n ≤ c. Como n está limitado entre 0 e c, ele não pode ser maior que qualquer N. Contradição!
  8. 8. Notação O, Ω e Θ
  9. 9. Notação O, Ω e Θ ● Notação Ω – É usada para determinar um limite inferior assintótico. ● f(n) ∈ Ω(g(n)) → f(n) ∈ {h(n) | ∃c,N: ∀n≥N: h(n) ≥ cg(n)} ● f(n) é limitada inferiormente por g(n)
  10. 10. Notação O, Ω e Θ ● Alguns autores usam f(x) = Ω(g(x)) ● Assim, também podemos afirmar que f(x) = Ω(g(x)) se e somente se ∃a ∈ ℝ, 0 < a ≤ ∞: lim x→∞ f ( x) g(x ) =a
  11. 11. Notação O, Ω e Θ ● Observe que este limite não pode ser igual a 0.
  12. 12. Notação O, Ω e Θ ● Exemplos: – 5n2+15 ∈ Ω(n) → ∀n≥4: 5n2+15 ≥ n (c=1, N=4) – 5n2+15 ∉ Ω(n3) → ∄c,N: ∀n≥N 5n2+15 ≥ cn3
  13. 13. Notação O, Ω e Θ
  14. 14. Notação O, Ω e Θ ● Notação Θ – É usada para determinar uma igualdade assintótica. ● f(n) ∈ Θ(g(n)) s.s.s. f(n) ∈ O(g(n)) e f(n) ∈ Ω(g(n)) ● f(n) é assintoticamente equivalente a g(n)
  15. 15. Notação O, Ω e Θ ● Alguns autores usam g(n) = Θ(f(n)) ● Assim, também podemos afirmar que f(x) = Ω(g(x)) se e somente se ∃a ∈ ℝ, 0 < a < ∞: lim x→∞ f ( x) g(x ) =a
  16. 16. Notação O, Ω e Θ ● Exemplos: – 5n2+15 ∈ Θ(n2) – 4n+1 ∈ Θ(n)
  17. 17. Notação O, Ω e Θ
  18. 18. 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!
  19. 19. Múltiplas fitas
  20. 20. 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.
  21. 21. 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?
  22. 22. 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
  23. 23. Múltiplas fitas
  24. 24. 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 a esquerda da sua posição atual
  25. 25. 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
  26. 26. Considerações MT de várias fitas ● Tempo de conversão da versão multifitas para uma fita é O(n2) – Por quê?
  27. 27. 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
  28. 28. 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á 2 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á 4 células entre os marcadores de cada trilha.
  29. 29. Considerações MT de várias fitas – 3º passo de N: uma fita vai para esquerda e outra para a direita: ● Em M haverá 6 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 células entre os marcadores de cada trilha.
  30. 30. Considerações MT de várias fitas ● Como isto a distância máxima entrea as células será 2n 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 (2n passos)
  31. 31. Considerações MT de várias fitas – Outra vez da direita para à esquerda para modificar os símbolos de acordo com N (2n passos) – Note que o sentido é da direita para esquerda. Como nesta etapa, N pode fazer escritas à esquerda ou à direita, o movimento oposto (ou seja, à direita) pode ser feito no máximo 2k passos, onde k é a quantidade de fitas.
  32. 32. Considerações MT de várias fitas ● Temos que cada passo de N será simulado em 2n + 2n + 2k = 4n + 2k passos de M. Isto é O(n). ● Então, n passos de N será simulado em O(n2) passos de M.
  33. 33. 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
  34. 34. MTs não-determinísticas ● NTM: Nondeterministic Turing Machine ● DTM: Deterministic Turing Machine
  35. 35. MTs não-determinísticas
  36. 36. MTs não-determinísticas b a B q0 {(q1,b,R)} {} {} q1 {} {(q1,a,R), (q2,a,R)} {} q2 {} {} {(q3,B,R)} q3 {} {} {}
  37. 37. 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.
  38. 38. MTs não-determinísticas ● baa
  39. 39. MTs não-determinísticas ● bab
  40. 40. MTs não-determinísticas ● As NTMs possuem o mesmo poder de reconhecimento de uma DMT. 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
  41. 41. 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
  42. 42. Conversão NTM para DTM
  43. 43. 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.
  44. 44. 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.
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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)
  49. 49. 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.
  50. 50. Considerações ● Problemas normais possuem T(n) polinomial enquanto que os difíceis T(n) exponencial
  51. 51. MTs restritas ● MTs sem uso de caractere branco ● MTs com fita infinita para somente um lado
  52. 52. MT sem caractere branco ● Não possuir branco diminui o poder de reconhecimento?
  53. 53. MTs com fita semi-infinita ● Apenas o lado direito é infinito. ● Possui menor poder de reconhecimento?
  54. 54. MTs com fita semi-infinita
  55. 55. 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

×