1 / 24

Variantes de Máquina de Turing

Variantes de Máquina de Turing. Teoria da Computação. Máquinas de Turing com Várias Fitas. Definição :. Mk = (Q, Σ , Γ , δ , q0, qa, qr) k = número de fitas. ESTADOS. SIMBOLOS DE INPUT. Estado de Aceitação. ESTADO INICIAL. TRANSIÇÃO DE ESTADOS. Estado de Rejeição.

ophira
Download Presentation

Variantes de Máquina de Turing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Variantes de Máquina de Turing Teoria da Computação

  2. Máquinas de Turing com Várias Fitas

  3. Definição : Mk = (Q, Σ, Γ, δ, q0, qa, qr) k = número de fitas ESTADOS SIMBOLOS DE INPUT Estado de Aceitação ESTADO INICIAL TRANSIÇÃO DE ESTADOS Estado de Rejeição SIMBOLOS DA FITA - inclui o simbolo B (branco) B  Σ δ : Q x Γk Q x Γk x {L,R}k δ(q,(s1,s2,...,sk)) = (q’,(s’1,s’2,...,s’k),(L,R,R,L...,R))

  4. δ(q0,(0,B,B)) = (q1,(1,0,1),(R,R,R)) 1 0 2 B 0 0 0 2 Fita 1 B B B qo Fita 2 B B B B B B B B B B B qo Fita 3 B B B B B B B B B B B qo

  5. δ(q1,(0,B,B)) = (q2,(0,0,0),(L,R,L)) 1 0 2 B 1 0 0 2 B B B q1 B B B B 0 B B B B B B q1 B B B B 1 B B B B B B q1

  6. δ(q1,(0,B,B)) = (q2,(0,0,0),(L,R,L)) 1 0 2 B 1 0 0 2 B B B q2 B B B B 0 0 B B B B B q2 B B B B 1 0 B B B B B q2

  7. Linguagem aceita • M = máquina de Turing com k fitas • L(M) = conjunto dos strings aceitos por M • String aceito por M = a partir da configuração inicial é possível chegar numa configuração de aceitação (estado final qa).

  8. Teorema • Seja M uma máquina de Turing com k fitas. Então existe uma máquina de Turing S simples (com uma fita) tal que : L(M) = L(S) Isto é: Toda máquina de Turing com k fitas é equivalente a uma máquina de Turing simples (com 1 única fita)

  9. Como simular uma configuração de M’ numa máquina com 1 fita: B B B B B B 1 0 B B B q2 B B B B 0 0 B B B B B q2 1 0 B B B B B B B B B q2 # B # 0 0 1 0 # 1 0 #

  10. Construção da Máquina Simples S S = No input w faça: • Transforme o input w no correspondente input w’ que simula w na fita 1 de M’. • Para simular um movimento de S: • Varra a fita de S, a partir do primeiro # até o (k+1) – ésimo, e “memorize” os k simbolos com pontinhos. • Aplique a transição de M’ correspondente. • Varra a fita de S novamente a partir do primeiro #, aplicando as modificações ditadas pela transição de M’ correspondente à sequência de simbolos memorizada. • Caso um pontinho deva ser colocado em cima de um #, escreva B com pontinho neste lugar, e dê um shift na fita para a direita a partir desta posição.

  11. Máquinas de Turing Não Deterministas

  12. qa q0 q0 q0 q0 q0 Exemplo δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} q0 0 1 1 B B 0 0 0 q0 q1 0 0 0 q1 q0 q1 1 1 1 q0 q1 1 1 q0 q1 B B B q1 qa B B qr q1 qr

  13. q0 q0 q0 q0 q0 q1 qr Exemplo δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} q0 0 1 1 B B 0 0 0 q0 q1 0 0 0 q1 q0 q1 1 1 1 q0 q1 1 1 q0 q1 B B B q1 qa B B qr q1 qr

  14. q1 q0 q0 q0 q0 q0 q1 Exemplo δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} q0 0 1 1 B B 0 0 0 q0 q1 0 0 0 q1 q0 q1 1 1 1 q0 q1 1 1 q0 q1 B B B q1 qa B B qr q1 qr looping

  15. Árvore de execução • A cada string w está associada uma árvore de execução Aw da máquina M. • Possibilidades: • Existe um ramo que termina em qa • Nao existem ramos que terminam em qa • Todos os ramos terminam em qr • Existem ramos infinitos

  16. qa qr looping qr qr qr M não aceita w M aceita w, w pertence a L(M) qr qr looping M não aceita w L(M) = Linguagem aceita pela máquina não-determinista M = conjunto dos strings para os quais existe um caminho na árvore de execução que termina em qa

  17. Se para qualquer string w, sua árvore de execução é finita, então M decide L(M) Se existe string w tal que a árvorede execuçãode M é infinita, entãoM não decide L(M) L(M) é a linguagem aceita por M mas M não decide L(M).

  18. Equivalência: Máquinas deterministas e não-deterministas • Seja M’ uma máquina de Turing não-determinista. Então, existe uma máquina de Turing MDETERMINISTA tal que L(M) = L(M’) Isto é, os strings aceitos por M são exatamente aqueles aceitos por M’.

  19. Prova • Seja M’ uma máquina não-derminista • Seja N = número máximo de escolhas possíveis para os comandos de M’ • Exemplo : δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,1,R)} δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} N = 2

  20. FITA DE INPUT Vamos construir uma máquina determinista M de 3 fitas equivalente a M’ 1 1 0 0 FITA DE CÁLCULO FITA DAS POSSIBILIDADES 2 1 1 Serão executados 3 passos de M’ Passo 1 : opção 1 Passo 2 : opção 1 Passo 3 : opção 2

  21. Ordena-se todos os strings finitos sobre o alfabeto {1,2,…,N} • cada string indica o número de passos da máquina M’ que serão executados e as opções consideradas em cada passo. • Para cada um destes strings z : • Coloca-se z na terceira fita • Coloca-se o string de input w na primeira fita • Utiliza-se a segunda fita para efetuar os passos indicados na terceira fita em cima do input w da primeira fita • Se a máquina M’ aceita w então em algum momento um destes cálculos termina em qa

  22. q0 q0 q0 q0 q0 q0 δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} q0 B B 0 1 1 0 0 0 q0 q1 q0 0 0 0 q1 0 1 1 B B 0 q0 q1 q0 1 1 1 q0 q1 1 1 q0 q1 B B B 1 1 B q1 qa B B qr q1 qr

  23. q0 q0 q0 q0 q1 q1 δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} q0 B B 0 1 1 0 0 0 q0 q1 q0 0 0 0 q1 0 1 1 B B 0 q0 q1 q0 1 1 1 q0 q1 1 1 q0 q1 B B B 1 2 q1 B qa B B qr q1 qr

  24. qa qa q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q0,1) = {(q0,1,R)} δ(q0,B) = {(qa,B,R), (q1,B,R)} δ(q1,0) = {(q1,0,R)} δ(q1,1) = {(q1,1,R) δ(q1,B) = {(qr,B,R), (q1,B,R)} q0 B B 0 1 1 0 0 0 q0 q1 q0 q0 0 0 0 q1 0 1 1 B B 0 q0 q1 q0 1 1 1 q0 q1 1 1 q0 q1 B B B 1 1 1 1 1 q1 B qa B B qr q1 qr

More Related