Máquinas de Turing

22
Máquinas de Turing Máquinas de Turing Teoria da Computação Teoria da Computação

description

Máquinas de Turing. Teoria da Computação. 1. 0. 2. B. 0. 0. 0. 2. 4. B. B. B. q. 1. 1. 0. 0. 2. 2. B. B. 0. 0. 0. 0. 0. 0. 2. 2. 4. B. B. B. B. B. B. q. Definição. M = (Q, Σ , Γ , δ , q0, qa, qr). ESTADOS. SIMBOLOS DE INPUT. Estado de Aceitação. - PowerPoint PPT Presentation

Transcript of Máquinas de Turing

Page 1: Máquinas de Turing

Máquinas de TuringMáquinas de Turing

Teoria da ComputaçãoTeoria da Computação

Page 2: Máquinas de Turing

q

0 0 0 2 1 0 2 B B B B4

Page 3: Máquinas de Turing

q

0 0 0 2 1 0 2 B B B B0 0 0 2 1 0 2 B B B B4

Page 4: Máquinas de Turing

DefiniçãoDefinição

M = (Q, Σ, Γ, δ, q0, qa, qr)

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

Page 5: Máquinas de Turing

ConfiguraçãoConfiguração

0 0 0 2 1 0 2 B B B B

q 0 0 0 2 q 1 0 2

q0 0 0 0 2 1 0 2 Configuração Inicial Configuração Inicial

0 0 0 2 qa 1 0 2Configuração de Aceitação Configuração de Aceitação

0 0 0 2 qr 1 0 2 Configuração de Rejeição Configuração de Rejeição

Page 6: Máquinas de Turing

Um passo de cálculoUm passo de cálculo

Configuração 1 Configuração 1 Configuração 2 Configuração 2

q

0 0 0 2 q 1 0 2 0 0 0 q 2 4 0 2

0 0 0 2 1 0 2 B B B B4

Page 7: Máquinas de Turing

Um passo de cálculoUm passo de cálculo

q

0 0 0 2 q 1 0 2 0 0 0 2 4 q 0 2

0 0 0 2 1 0 2 B B B B4

Configuração 1 Configuração 1 Configuração 2 Configuração 2

Page 8: Máquinas de Turing

Linguagem AceitaLinguagem Aceita

• M = Máquina de TuringM = Máquina de Turing

• w = 010001 string sobre alfabeto de w = 010001 string sobre alfabeto de MM

• w w é aceitoé aceito por M se existe uma por M se existe uma sequência sequência finitafinita de passos de cálculo de passos de cálculo

qqoo 010001 010001 C1 C1 …. …. Ca CaConfiguração de AceitaçãoConfiguração

inicial

Page 9: Máquinas de Turing

Linguagem AceitaLinguagem Aceita

• M = Máquina de TuringM = Máquina de Turing

• L(M)L(M) = conjunto dos strings = conjunto dos strings construidos sobre o alfabeto de input construidos sobre o alfabeto de input e que são aceitos por Me que são aceitos por M

Page 10: Máquinas de Turing

Exemplo : M1Exemplo : M1• δδ(q0,0) = (q0,0,R)(q0,0) = (q0,0,R)• δδ(q0,B) = (qa,B,R)(q0,B) = (qa,B,R)• δδ(q0,1) = (q2,1,R)(q0,1) = (q2,1,R)• δδ(q2,1) = (q2,1,R)(q2,1) = (q2,1,R)• δδ(q2,0) = (qr,0,R)(q2,0) = (qr,0,R)• δδ(q2,B) = (qa,B,R)(q2,B) = (qa,B,R)

• L(M) = {0L(M) = {0nn 1 1mm | n≥0, m≥0} | n≥0, m≥0}

• Pergunta: Pergunta: Dado w Dado w ϵϵ {0,1}* quais as possibilidades para {0,1}* quais as possibilidades para

M1(w) ?M1(w) ?

Page 11: Máquinas de Turing

Exemplo: M2Exemplo: M2• δδ(q0,0) = (q0,0,R)(q0,0) = (q0,0,R)• δδ(q0,B) = (qa,B,R)(q0,B) = (qa,B,R)• δδ(q0,1) = (q2,1,R)(q0,1) = (q2,1,R)• δδ(q2,1) = (q2,1,R)(q2,1) = (q2,1,R)• δδ(q2,0) = (qr,0,R)(q2,0) = (qr,0,R)• δδ(q2,B) = (q2,B,R)(q2,B) = (q2,B,R)

• L(M) = {0L(M) = {0n n | n≥0}| n≥0}

Pergunta: Pergunta: Dado w Dado w ϵϵ {0,1}* quais as possibilidades para M2(w) ? {0,1}* quais as possibilidades para M2(w) ?

Page 12: Máquinas de Turing

Exemplo: M3Exemplo: M3• δδ(q0,0) = (q0,0,R)(q0,0) = (q0,0,R)• δδ(q0,B) = (qa,B,R)(q0,B) = (qa,B,R)• δδ(q0,1) = (q2,1,R)(q0,1) = (q2,1,R)• δδ(q2,1) = (q2,1,R)(q2,1) = (q2,1,R)• δδ(q2,0) = (q3,0,R)(q2,0) = (q3,0,R)• δδ(q2,B) = (qa,B,R)(q2,B) = (qa,B,R)• δδ(q3,B) = (q3,B,R)(q3,B) = (q3,B,R)• δδ(q3,0) = (q3,0,R)(q3,0) = (q3,0,R)• δδ(q3,1) = (q3,1,R)(q3,1) = (q3,1,R)

• L(M) = {0L(M) = {0nn 1 1mm | n≥0, m≥0} | n≥0, m≥0}

Pergunta: Pergunta: Dado w Dado w ϵϵ {0,1}* quais as possibilidades para M3(w) ? {0,1}* quais as possibilidades para M3(w) ?

Page 13: Máquinas de Turing

Linguagem Turing DecidívelLinguagem Turing Decidível

• Linguagem aceita por alguma Máquina de Linguagem aceita por alguma Máquina de Turing que Turing que sempre pára sempre pára (para qualquer (para qualquer input)input)

Exemplo:Exemplo: L = {0 L = {0nn 1 1mm | n≥0, m≥0} | n≥0, m≥0}

L = L(M1)L = L(M1)

Repare que L = L(M3), mas M3 nem sempreRepare que L = L(M3), mas M3 nem sempre

pára.pára.

Page 14: Máquinas de Turing

Linguagens Turing Linguagens Turing DecidíveisDecidíveis

• Uma linguagem pode ser aceita por Uma linguagem pode ser aceita por uma máquina que uma máquina que nem sempre pára nem sempre pára e mesmo assim ser Turing decidível.e mesmo assim ser Turing decidível.

• Pois pode ser aceita por Pois pode ser aceita por uma outrauma outra máquina que pára sempre. máquina que pára sempre.

Page 15: Máquinas de Turing

Linguagem Turing Linguagem Turing ReconhecívelReconhecível

• Linguagem L aceita por uma Linguagem L aceita por uma máquina que máquina que nem sempre páranem sempre pára..

• A Máquina pára em qA Máquina pára em qaa somentesomente para para os strings da linguagem L.os strings da linguagem L.

• Quando acionada para os strings fora Quando acionada para os strings fora de L, a máquina pára em qde L, a máquina pára em qrr ou ou simplesmente não pára.simplesmente não pára.

Page 16: Máquinas de Turing

M

w

qaSe w pertence a L

qrSe w não pertence a L

L é aceita por M

M sempre pára

M decide L

L é Turing Decidível

Page 17: Máquinas de Turing

M

w

qaSe w pertence a L

qr

L é aceita por M

M nem sempre pára

M não decide L

L é Turing Reconhecivel

Isto não implica que L não é Turing Decidivel

Se w não pertence a L

Loop

Page 18: Máquinas de Turing

ResumoResumo

• Linguagem Turing DecidívelLinguagem Turing Decidível : Aceita : Aceita por uma MT que sempre párapor uma MT que sempre pára

• Linguagem Turing ReconhecívelLinguagem Turing Reconhecível : : Aceita por uma máquina de Turing Aceita por uma máquina de Turing (pode ser que não páre sempre)(pode ser que não páre sempre)

• Linguagem Não-Turing Linguagem Não-Turing ReconhecívelReconhecível : não é aceita por : não é aceita por nenhuma máquina de Turingnenhuma máquina de Turing

Page 19: Máquinas de Turing

M

w

qaSe w pertence a L

qrSe w não pertence a L

M’w

Se w pertence a L

Se w não pertence a L

Propriedade:Propriedade: Se L é Turing decídivel então L é Turing Decídivel Se L é Turing decídivel então L é Turing Decídivel

M’ decide L

qa

qr

Page 20: Máquinas de Turing

PropriedadesPropriedades

• Turing decidível Turing decidível Turing Reconhecível Turing Reconhecível

• Turing Reconhecível Turing Reconhecível Turing Decidível Turing Decidível

• Se L é Turing Reconhecível e L é Turing Se L é Turing Reconhecível e L é Turing Reconhecível Reconhecível L é Turing Decidível L é Turing Decidível

Page 21: Máquinas de Turing

M1

w

qaSe w pertence a L

qr

Se w não pertence a L

Loop

M2

w

qaSe w não pertence a L

qr

Se w pertence a L

Loop

Page 22: Máquinas de Turing

w

qa

qr

M”

M1

M2 qa

OU

qa

w pertence a L

w não pertence a L