Problema de Correspondência de Post (PCP) Teoria da Computação.

15
Problema de Problema de Correspondência de Correspondência de Post (PCP) Post (PCP) Teoria da Computação Teoria da Computação

Transcript of Problema de Correspondência de Post (PCP) Teoria da Computação.

Page 1: Problema de Correspondência de Post (PCP) Teoria da Computação.

Problema de Problema de Correspondência de Post Correspondência de Post

(PCP)(PCP)

Teoria da ComputaçãoTeoria da Computação

Page 2: Problema de Correspondência de Post (PCP) Teoria da Computação.

O problema PCPO problema PCP

…abc b c dg

f g eg ef

e f

c d e

b c d

b

1 2 3 4 n

Input

Pergunta : É possivel encontrar uma sequência de peças tal que o string formado na parte de cima eidêntico ao string formado na parte de baixo ?

b c d

b

e f

c d e

g

f g

b c d e f g

b c d e f g

Sequência : 3 n 1

Page 3: Problema de Correspondência de Post (PCP) Teoria da Computação.

a b c a a a b c

Exemplos Exemplos

a b cb

c a

a

a b c

c a

a

1 2 3 4

a

a b

a

a b

b

c a

c a

a

a b c

c

Sequência de peças= 2 1 3 2 4

a b c a a a b c

Page 4: Problema de Correspondência de Post (PCP) Teoria da Computação.

Exemplo Exemplo

a c c

b a

c a

a

1 2 3

a b c

a b

Input

Resposta ?? Não

Justificativa : a parte de cima das peças é sempre maior que a parte de baixo !

Page 5: Problema de Correspondência de Post (PCP) Teoria da Computação.

Formalização do Problema Formalização do Problema Input genérico do Problema PCP

C = { t1

b1,

t2

b2,

t3

b3, … ,

tn

bn}

t1, t2, …, tn são strings sobre um alfabeto S

b1, b2, …, bn são strings sobre um alfabeto S

Um pareamento (match) = uma sequência <i1, i2, …, ik> de números em {1,…,n}

tal que ti1 ti2 … tik = bi1 bi2 … bik= string do pareamento

Page 6: Problema de Correspondência de Post (PCP) Teoria da Computação.

Formalização do ProblemaFormalização do Problema

• Pergunta do problema PCP : Pergunta do problema PCP :

Existe um Existe um pareamento pareamento para o input para o input C ?C ?

Page 7: Problema de Correspondência de Post (PCP) Teoria da Computação.

Configurações de uma MT Configurações de uma MT

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 = Cin Configuração Inicial = Cin

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

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

M = Máquina de Turingw = string (por exemplo w = (0002102)

Page 8: Problema de Correspondência de Post (PCP) Teoria da Computaçã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

Page 9: Problema de Correspondência de Post (PCP) Teoria da Computação.

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 10: Problema de Correspondência de Post (PCP) Teoria da Computação.

Histórico de configuraçõesHistórico de configurações

• M : máquina de TuringM : máquina de Turing

• w = string sobre o alfabeto de Mw = string sobre o alfabeto de M

• Histórico de configurações de M em wHistórico de configurações de M em w

Cin # C1 # C2 # …. # CaCin # C1 # C2 # …. # Ca

Cin # C1 # C2 # …. # CrCin # C1 # C2 # …. # Cr

Cin # C1 # C2 # …. # Cn ….. Cin # C1 # C2 # …. # Cn …..

Page 11: Problema de Correspondência de Post (PCP) Teoria da Computação.

Problema PCP é indecidívelProblema PCP é indecidível Técnica = redução de ATM para PCP

ATM PCP

<M,w> Um conjunto de peças, onde os strings correspondem aos possiveispassos de M ao ser executada em w

String pareado = corresponderá ao histórico de aceitação de w por M

Pareamento = corresponderá aos passos executados pela máquina, partindo da configuração inicial até chegar numa configuração de aceitação.

Assim : M aceita w se e somente se existir este pareamento

Page 12: Problema de Correspondência de Post (PCP) Teoria da Computação.

Idéia de Emil Post Idéia de Emil Post

#

#Cin

Primeira peça

Cin #

C2 #

C2 #

C3 #

Cn #

Ca #

Ca #

String pareado = # Cin # C2 # C3 … # Ca #

Pareamento = sequência de peças correspondendo aos passos realizados pela máquina até chegar no estado de aceitação qa

Peças = correspondem aos passos (transições) da máquina de Turing

Page 13: Problema de Correspondência de Post (PCP) Teoria da Computação.

Exemplo Exemplo • d(qo,0) = (q1,2,R)d(qo,0) = (q1,2,R)• d(q1,1) = (q2,0,R)d(q1,1) = (q2,0,R)• d(q2,0) = (q3,2,L)d(q2,0) = (q3,2,L)• d(q2,1) = (qr,1,R)d(q2,1) = (qr,1,R)• d(q3,0) = (q3,0,R)d(q3,0) = (q3,0,R)• d(q3,2) = (q3,2,R)d(q3,2) = (q3,2,R)• d(q3,2) = (q3,2,R)d(q3,2) = (q3,2,R)• d(q3,B) = (qa,B,R)d(q3,B) = (qa,B,R)

• w = 0 1 0 0 w = 0 1 0 0

Máquina de Turing M

q0 0 1 0 0 2 q3 0 2 0 2 q1 1 0 0 2 0 q2 0 0

2 0 q3 2 0 2 0 2 q3 0 2 0 2 0 q3 2 0 2 0 B qa

Page 14: Problema de Correspondência de Post (PCP) Teoria da Computação.

IdéiaIdéia

#

# Cin #

Primeira peça

Cin #

C2 #

C2 #

C3 #

q1 1g

f g 0 q2

b c d

b

0 q2 0

q3 0 2

q0 0

2 q1

q0 0 1 0 0 # 2 q1 1 0 0 #

2 0 q2 0 0 #

1

1

2 q1 1 0 0 #

2

2

0

0

#

#

2 0 q2 0 0 #

2 q3 0 2 0 #

C3 #

C4 #

PEÇAS

#

#q0 0 1 0 0 #

#

#q0 0 1 0 0 #

Page 15: Problema de Correspondência de Post (PCP) Teoria da Computação.

ProblemaProblema

# q0 0 1 0 0 # 2 q3 0 2 0 # 2 q1 1 0 0 # 2 0 q2 0 0 # 2 0 q3 2 0 #

2 0 2 q3 0 #2 0 2 0 q3 #2 0 2 0 B qa #

Definir um conjunto fixo de peças tal que seja possivel encadearalgumas dessas peças (no caso de M aceitar w) de modo a construir o string de pareamento (em baixo e em cima da sequência das peças) :

A DESCRIÇÃO DAS PEÇAS FAZ USO DO CÓDIGO DA MÁQUINA E O STRING w