Aula 8
Por:
Tarcisio Coutinho da Silva
{tcs5}@cin.ufpe.br
David Barros Hulak
{dbh}@cin.ufpe.br

Teorema
 Uma linguagem é Turing-decidível se e somente
se ela é Turing-reconhecível e co-Turingreconhecível.

AMT é irreconhecível
 Como AMT é reconhecível se seu complemento
fosse reconhecível, AMT seria decidível, como não
é então AMT é irreconhecível.

Uma redução de A para B é usar uma solução de B
para resolver A.

Problema da orientação na cidade: reduz-se a achar
um mapa.

Problema da área do retângulo: reduz-se a medir o
comprimento e a largura.
A é redutível a B
B é decidível
-------------------A é decidível

A é redutível a B
A não é decidível
--------------------B não é decidível
Repare que B é no mínimo tão difícil de resolver
quanto A

Se queremos provar que um problema A é
indecidível
- Encontre um problema B já comprovadamente indecidível
- Mostre que decidindo A, decidiríamos B.
- Ou seja, fazemos uma redução de B para A
- Isso é uma contradição, pois B é indecidível.

PARAMT = {⟨M, w⟩| M é uma MT e para sobre a w}

VMT = {⟨M⟩| M é uma MT e L(M) = ∅}

REGULARMT = {⟨M⟩| M é uma MT e L(M) é regular}

EQMT = {⟨M1, M2⟩| M1 e M2 são MTs e L(M1) = L(M2)}
PARAMT = {⟨M, w⟩| M é uma MT e para sobre a w}
VMT = {⟨M⟩| M é uma MT e L(M) = ∅}
(!!!) A melhor dica para compreender essa prova é entender L(M1).

Outra técnica de redutibilidade

História de computação
 Conjunto de configurações para a qual a cadeia é aceita ou
rejeitada
 Sequências finitas

Usada na prova do 10º problema de Hilbert

Máquina de Turing com memória finita

AALL = {⟨M, w⟩| M é um ALL que aceita a cadeia w}

Há ALL decisores para AALL, AAFD, AGLC, VAFD e VGL

Não há decisores para VALL, TODGLC

Seja M um ALL com q estados e f símbolos no
alfabeto da fita e comprimento de fita n. Há
exatamente n * q * fn configurações distintas.
 <> A cabeça pode estar em qualquer uma das n posições
 <> M pode estar em q estados
 <> Cada símbolo da fita pode estar em n posições:
▪ f f f (...) f
----------n vezes
(princípio da contagem)
AALL = {⟨M, w⟩| M é um ALL que aceita a cadeia w} é decidível

O objetivo é construir dominós a partir da cadeia de
entrada e emparelharmos simulando a história de
computação

PCP é indecidível

Precisamos evitar que não ocorra movimento além da
extremidade esquerda

Se w = ε, utilizamos ⊔ no lugar de w

Precisamos determinar o estado inicial (primeiro
dominó)

PCPM = { ⟨P⟩ | P é uma instância do PCP com um
emparelhamento que começa com o primeiro dominó }

PCPM é indecidível

Construção dos dominós de MT (Q, ∑, Γ, δ, qo,
qaceita, qrejeita)
 Passo 1
▪ Ponha
como primeiro dominó
 Passo 2
▪ Para toda função δ(q, a) =(r, b, D), que move para direita,
crie o dominó
 Passo 3
▪ Para toda função δ(q, a) =(r, b, E), que move para
esquerda, crie o dominó
 Passo 4
▪ Para todo a ∈ Γ, crie o dominó
 Passo 5
▪ Crie os dominós
configuração
e
, para emparelhar o fim da
 Passo 6
▪ Crie os dominós
e
, para eliminar os
símbolos a fim de emparelhar as configurações
 Passo 7
▪ Crie o dominó
para fechar o emparelhamento.

Seja a MT M = ({q0, q1, qr, qa}, {a, b}, {a, b, ⊔}, δ, q0,
qr, qa) com δ definida da seguinte forma:
δ(q0, a) = (q0, ⊔, D)
δ(q0, b) = (q1, ⊔, D)
δ(q1, a) = (qr, ⊔, D)
δ(q1, b) = (q1, ⊔, D)
δ(q1, ⊔) = (qa, ⊔, D),
Mostre o emparelhamento para a palavra aabb.

Seja uma função f: ∑* → ∑*

Se alguma M para sobre toda entrada w com
somente f(w) na fita, dizemos que f é computável

Exemplos:
 Todas as operações aritméticas são computáveis, pois podemos
construir uma máquina que recebe a entrada <m, n> e retorna m + n.
 Podemos construir uma função que receba uma MT M como entrada e
retorne essa máquina modificada M’

A linguagem A é redutível por mapeamento à linguagem B
(A ≤m B) se existe uma função computável f: ∑* → ∑* tal
que
w ∈ A ⟺ f(w) ∈ B
 A função f é chamada redução de A para B.

Se A ≤m B e B é decidível então A é decidível.

Se A ≤m B e A é indecidível então B é indecidível.

Se A ≤m B e B é reconhecível então A é reconhecível.

Se A ≤m B e A é irreconhecíve então B é irreconhecível.
Se A ≤m B e B é decidível então A é decidível.
Se A ≤m B e A não é reconhecível, B também não é.
A ≤m B é o mesmo que A’ ≤m B’
Sabemos que A’AMT não reconhecível.
Para provar que uma linguagem B não é reconhecível,
utilizamos:
A’AMT ≤m B
AAMT ≤m B’
EQMT não é Turing-reconhecível nem co-Turing reconhecível

Dê o esboço da prova de que PCP é indecidível

Dê o esboço da prova que VMT é indecidível

Explique por que se A ≤m B e B é reconhecível, A é
reconhecível

Michael Sipser: Introduction to the Theory of
Computation (2nd edition)
Aula 8
Arthur Ramos - [email protected]
David Hulak - [email protected]
Filipe Martins - [email protected]
Hugo Azevedo - [email protected]
Paulo Orlando - [email protected]
Ricardo Salomão - [email protected]
Tarcisio Coutinho - [email protected]
Tiago Ferreira - [email protected]
Thyago Machado - [email protected]
Vinícius Henrique - [email protected]
Download

Informática Teórica - Centro de Informática da UFPE