Problema de Correspondência de Post (PCP)

Slides:



Advertisements
Apresentações semelhantes
GEOMETRIA DESCRITIVA A
Advertisements

GEOMETRIA DESCRITIVA A
Decidibilidade e Indecidibilidade
ISOMETRIAS. ISOMETRIAS Transformações Simetria Axial; Translação; Rotação.
Variantes de Máquina de Turing
Linguagem Fabrício Dias
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Ficheiros 5.1 Octave Ficheiros.
3 AUTÓMATOS FINITOS.
Evolução Arquitetural e Microprogramação
Máquinas de Turing Não Deterministas
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Máquinas de Turing Teoria da Computação.
Mestrado em Ciência da Computação Profa. Sandra de Amo
Problema da Aceitação ATM
Envolvendo Autômatos e Linguagens Livres do Contexto
Teoria da Computação Sandra de Amo
Cálculo Relacional Datalog não-recursivo
Análise de Algoritmos AULA 1 Profa. Sandra de Amo
Complexidade de Linguagens Influência do Modelo de Computação
Teorema da Recursão Teoria da Computação
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Resolução.
Essa sequência didática foi baseada
Strings, Linguagens, Autômatos
Linguagens e Máquinas WILSON ROSA DE OLIVEIRA DEPARTAMENTO DE INFORMÁTICA UFPE
autômatos finitos com transições e
Flávio de Oliveira Alves
ELETRICIDADE 10 CAPACITORES Prof. Cesário.
Métodos de Solução de Problemas de Auto-Valor
Planejamento e controle de estoques – cap. 12 continuação
Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
E Ellís Carvalho Luiz Afonso
Intr. à Biologia Computacional ALINHAMENTO DE SEQÜÊNCIAS.
Multiplexadores e Demultiplexadores
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
SIPSER – Capítulo 3: A tese de Church-Turing
Ling. Formais e Autômatos AFN-ε
Lógica de Predicados Forma Prenex e Skolem.
Lógica de Predicados Forma Prenex e Skolem.
Lógica Proposicional Resolução.
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Distância entre Dois Pontos
Inteligência Artificial
Aula 6 - Estruturas de Controle
Organização e Arquitetura de Computadores Prof. Bruno Silvério Costa
Máquina de Turing Universal
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.
Máquinas de Turing.
Redução.
A Classe NP Teoria da Computação Profa. Sandra de Amo.
Análise de Algoritmos Informações Gerais da Disciplina
Informática Teórica Aula 8 Por: Tarcisio Coutinho da Silva
Reverso de uma Linguagem Regular
Informática Teórica Arthur Ramos David Hulak
1 Decidibilidade continuação…. 2 Teorema: Para qualquer linguagem recursivamente enumerável é indecidível determinar se é finita Prova: Vamos reduzir.
O Manuel tem um saco com peças de LEGO, todas do tipo 2 por 4, como a da figura ao lado. Quer construir as muralhas de um castelo e considerou várias.
Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.
Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de.
1 Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens.
Transcrição da apresentação:

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

O problema PCP … Input g f g g f g b c d b b c d b e f c d e e f c d e abc b c d … eg ef 1 2 3 4 n Pergunta : É possivel encontrar uma sequência de peças tal que o string formado na parte de cima e idêntico ao string formado na parte de baixo ? b c d e f g Sequência : 3 n 1 b c d e f g

Exemplos b c a b c a a a b a a b a a b c a a c a a a b c c a b c c 1 2 3 4 a b c a a a b c a b c a a a b c Sequência de peças= 2 1 3 2 4

Exemplo Input a b c a b c a a a c c b a Resposta ?? Não 1 2 3 Resposta ?? Não Justificativa : a parte de cima das peças é sempre maior que a parte de baixo !

Formalização do Problema Input genérico do Problema PCP t1 b1 t2 b2 t3 b3 tn bn C = { } , , , … , 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

Formalização do Problema Pergunta do problema PCP : Existe um pareamento para o input C ?

Configurações de uma MT M = Máquina de Turing w = string (por exemplo w = (0002102) 2 1 2 B B B B 0 0 0 2 q 1 0 2 q q0 0 0 0 2 1 0 2 Configuração Inicial = Cin 0 0 0 2 qa 1 0 2 Configuração de Aceitação = Ca 0 0 0 2 qr 1 0 2 Configuração de Rejeição = Cr

Um passo de cálculo Configuração 1  Configuração 2 0 0 0 2 q 1 0 2 2 4 1 2 B B B B q 0 0 0 2 q 1 0 2 0 0 0 q 2 4 0 2

Um passo de cálculo Configuração 1  Configuração 2 0 0 0 2 q 1 0 2 2 4 1 2 B B B B q 0 0 0 2 q 1 0 2 0 0 0 2 4 q 0 2

Histórico de configurações M : máquina de Turing w = string sobre o alfabeto de M Histórico de configurações de M em w Cin # C1 # C2 # …. # Ca Cin # C1 # C2 # …. # Cr Cin # C1 # C2 # …. # Cn …..

Problema 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 possiveis passos 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

Idéia de Emil Post # #Cin Cin # C2 # Cn # Ca # C2 # C3 # Ca # Primeira peça 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

Exemplo d(qo,0) = (q1,2,R) d(q1,1) = (q2,0,R) d(q2,0) = (q3,2,L) d(q2,1) = (qr,1,R) d(q3,0) = (q3,0,R) d(q3,2) = (q3,2,R) d(q3,B) = (qa,B,R) w = 0 1 0 0 Máquina de Turing M q0 0 1 0 0 2 q1 1 0 0 2 0 q2 0 0 2 q3 0 2 0 2 0 q3 2 0 2 0 2 q3 0 2 0 2 0 q3 2 0 2 0 B qa

Idéia # Cin # C2 # C3 # # Cin # C2 # C3 # C4 # # #q0 0 1 0 0 # # Primeira peça # q0 0 1 0 0 # 2 q1 1 0 0 # 2 0 q2 0 0 # #q0 0 1 0 0 # 2 q3 0 2 0 # PEÇAS 2 q1 1 0 0 # 2 0 q2 0 0 # # #q0 0 1 0 0 # g f g b c d b q0 0 q1 1 0 q2 0 1 2 # 2 q1 0 q2 q3 0 2 1 2 #

Problema Definir um conjunto fixo de peças tal que seja possivel encadear algumas 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) : # q0 0 1 0 0 # 2 q1 1 0 0 # 2 0 q2 0 0 # 2 q3 0 2 0 # 2 0 q3 2 0 # 2 0 2 q3 0 # 2 0 2 0 q3 # 2 0 2 0 B qa # A DESCRIÇÃO DAS PEÇAS FAZ USO DO CÓDIGO DA MÁQUINA E O STRING w