55
Extensões e Restrições de MTs Yuri Tavares dos Passos

Aula03

Embed Size (px)

Citation preview

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 Mts– MTs sem uso de caractere branco

– MTs com fita infinita para somente um lado

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) | c,N: ∃∀n≥N: h(n) ≤ cg(n)}

● f(n) é limitada superiormente por g(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 se a ∃ ∈ ℝ, a ≥ 0:

limx→∞

f ( x)g (x )

≥a

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=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!

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) | c,N: n∈ ∃ ∀ ≥N: h(n) ≥ cg(n)}

● f(n) é limitada inferiormente por g(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 se a ∃ ∈ ℝ, 0 < a ≤ ∞:

limx→∞

f ( x)g (x )

=a

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)) e f(n) ∈Ω(g(n))

● f(n) é assintoticamente equivalente a 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 se a ∃ ∈ ℝ, 0 < a < ∞:

limx→∞

f ( x)g (x )

=a

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ã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 a esquerda da sua posição atual

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á 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.

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.

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)

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.

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.

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), (q

2,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 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

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● 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)

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