Máquinas de Turing Teoria da Computação. q 0002 102B BBB 4.

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

Transcript of Máquinas de Turing Teoria da Computação. q 0002 102B BBB 4.

Page 1: Máquinas de Turing Teoria da Computação. q 0002 102B BBB 4.

Máquinas de TuringMáquinas de Turing

Teoria da ComputaçãoTeoria da Computação

Page 2: Máquinas de Turing Teoria da Computação. q 0002 102B BBB 4.

q

0 0 0 2 1 0 2 B B B B4

Page 3: Máquinas de Turing Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

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 Teoria da Computação. q 0002 102B BBB 4.

w

qa

qr

M”

M1

M2 qa

OU

qa

w pertence a L

w não pertence a L