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

Problema de Correspondência de Post (PCP)

  • Upload
    brick

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Problema de Correspondência de Post (PCP). Teoria da Computação. g. b c d. b c d. e f. e f. f g. b. b. c d e. c d e. g. b c d e f g. f g. b c d e f g. O problema PCP. Input. abc. b c d. …. eg. ef. 3. 2. 4. n. 1. Pergunta : É possivel encontrar uma sequência de - PowerPoint PPT Presentation

Citation preview

Page 1: Problema de Correspondência de Post (PCP)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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