A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Variantes de Máquina de Turing

Apresentações semelhantes


Apresentação em tema: "Variantes de Máquina de Turing"— Transcrição da apresentação:

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)) 2 1 2 B B B B B B B B B B B B B B
Fita 1 2 1 2 B 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 2 1 2 B B B B B B B B 1 B B B B
2 1 2 B B B B q1 B B B B B B B B B B q1 1 B B B B B B B B B B q1

6 δ(q1,(0,B,B)) = (q2,(0,0,0),(L,R,L)) 1 2 1 2 B B B B B B B 1 B B B B B
2 1 2 B B B B q2 B B B B B B B B B q2 1 B B B B 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 B B B q2 B B B B B B B B B q2 1 B B B B B B B B B q2 # 1 # B # 1 #

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 Exemplo δ(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 1 1 B B q0 q0 q0 q0 q0 qa q0 q1 q0 q1 q1 1 1 1 q0 q1 1 1 q0 B B q1 B qa q1 B B qr qr q1

13 Exemplo δ(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 1 1 B B q0 q0 q0 q0 q0 q1 qr q0 q1 q0 q1 q1 1 1 1 q0 q1 1 1 q0 B B q1 B q1 qa B B qr qr q1

14 Exemplo δ(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 1 1 B B q0 q0 q0 q0 q0 q1 q1 q0 q1 q0 q1 q1 1 1 1 q0 q1 1 1 q0 B B q1 B q1 qa B B qr qr q1 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 M aceita w, w pertence a L(M)
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 qr M aceita w, w pertence a L(M) qa looping M não aceita w qr M não aceita w qr looping

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 árvore de execução de M é infinita, então M 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 M DETERMINISTA 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 Vamos construir uma máquina determinista M de 3 fitas equivalente a M’
FITA DE INPUT 1 1 FITA DE CÁLCULO FITA DAS POSSIBILIDADES 1 1 2 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,0) = {(q0,0,R),(q1,1,R)} δ(q1,0) = {(q1,0,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 1 1 B B q0 q1 q0 1 1 B B q0 q0 q1 q1 1 1 1 q0 q0 q0 q0 q1 1 1 q0 B B q1 B 1 1 B qa q1 B B qr q0 q0 q0 qr q1

23 δ(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 1 1 B B q0 q1 q0 1 1 B B q0 q0 q1 q1 1 1 1 q0 q0 q1 q0 q1 1 1 q0 B B q1 B 1 2 B qa q1 B B qr q0 q0 q1 qr q1

24 δ(q0,0) = {(q0,0,R),(q1,1,R)} δ(q1,0) = {(q1,0,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 1 1 B B q0 q1 q0 q0 1 1 B B q0 q0 q1 q1 1 1 1 q0 q0 q0 q0 q0 qa q0 q1 1 1 q0 B B q1 B 1 1 1 1 1 B qa q1 B B qr q0 q0 q0 q0 q0 qa qr q1


Carregar ppt "Variantes de Máquina de Turing"

Apresentações semelhantes


Anúncios Google