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

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

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

Apresentações semelhantes


Apresentação em tema: "Variantes de Máquina de Turing Teoria da Computação."— 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 TRANSIÇÃO DE ESTADOS ESTADO INICIAL Estado de Aceitação SIMBOLOS DA FITA - inclui o simbolo B (branco) B Σ Estado de Rejeição δ : 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 B BBB BBBB BBBB BBB qo BBBB BBBB BBB δ(q0,(0,B,B)) = (q1,(1,0,1),(R,R,R)) Fita 1 Fita 2 Fita 3

5 B BBB 0BBB BBBB BBB q1 1BBB BBBB BBB δ(q1,(0,B,B)) = (q2,(0,0,0),(L,R,L))

6 B BBB 00BB BBBB BBB q2 10BB BBBB BBB δ(q1,(0,B,B)) = (q2,(0,0,0),(L,R,L)) q2

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

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 : 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) 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: 10 B BBB 00BB BBBB BBB q2 10 BB BBBB BBB # 10 B ## B BBB B 0010 #

10 S = No input w faça: 1. Transforme o input w no correspondente input w que simula w na fita 1 de M. 2. Para simular um movimento de S: 1.Varra a fita de S, a partir do primeiro # até o (k+1) – ésimo, e memorize os k simbolos com pontinhos. 2.Aplique a transição de M correspondente. 3.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. 4.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. Construção da Máquina Simples S

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)} 0 B11 q0 0 0 q1 q B qa q1 B qr BB q B qr q0 qa q0 B0

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)} 0 B11 q0 0 0 q1 q B qa q1 B qr BB q B qr q0 q1 q0 B0 qr

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)} 0 B11 q0 0 0 q1 q B qa q1 B qr BB q B qr q0 q1 q0 B0 q1 looping

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

16 qr M aceita w, w pertence a L(M) qa looping M não aceita w qr looping M não aceita w qr 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 á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 Seja M uma máquina de Turing não-determinista. não-determinista. Então, existe uma máquina de Turing M DETERMINISTA tal que Então, existe uma máquina de Turing M DETERMINISTA tal que L(M) = L(M) 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 M uma máquina não-derminista Seja N = número máximo de escolhas possíveis para os comandos de M Seja N = número máximo de escolhas possíveis para os comandos de M Exemplo : 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 FITA DE CÁLCULO FITA DAS POSSIBILIDADES 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} 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 : 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 q a Se a máquina M aceita w então em algum momento um destes cálculos termina em q a

22 δ(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)} BB q B q1 q B qa q1 B qr BB q B qr q0 B0 B

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)} BB q B q1 q B qa q1 B qr BB q B qr q0 B0 q1q0 q1 B

24 δ(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)} BB q B q1 q B qa q1 B qr BB q B qr q0 qa q0 B0 qa q0 B


Carregar ppt "Variantes de Máquina de Turing Teoria da Computação."

Apresentações semelhantes


Anúncios Google