Post on 17-Apr-2015
Máquinas de TuringMáquinas de Turing
Teoria da ComputaçãoTeoria da Computação
q
0 0 0 2 1 0 2 B B B B4
q
0 0 0 2 1 0 2 B B B B0 0 0 2 1 0 2 B B B B4
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
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
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
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
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
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
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) ?
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) ?
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) ?
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.
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.
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.
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
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
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
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
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
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
w
qa
qr
M”
M1
M2 qa
OU
qa
w pertence a L
w não pertence a L