Você está na página 1de 5

Impresso por Vitor Gabriel Silva Pereira, CPF 060.672.101-00 para uso pessoal e privado.

Este material pode ser protegido por direitos


autorais e não pode ser reproduzido ou repassado para terceiros. 01/11/2021 16:13:56

Fundamentos de Teoria da Computação DCC/ICEx/UFMG


Prof. Mário S. Alvim 2017/02

SOLUÇ ÃO DE LISTA DE EXERCÍCIOS


Lista 5
(Redutibilidade)

Leitura necessária:

• Introdução à Teoria da Computação, 2a Edição (Michael Sipser):

– Capı́tulo 5.1: Problemas Indecidı́veis da Teoria de Linguagens


(Exceto a Seção sobre Reduções via Histórias de Computação)
– Capı́tulo 5.3: Redutibilidade por Mapeamento

• Material suplementar:

– Conjunto de slides: Aula 5 - Decidibilidade.

Revisão.

1. Responda formalmente às seguintes perguntas:

(a) O que significa dizer quem um problema A é redutı́vel a um problema B ?

Solução do professor: Reduzir um problema A a um problema B significa mostrar que se


temos uma solução para o problema B , então temos uma solução para o problema A. Em outras
palavras, reduzir o problema A ao problema B significa que uma solução para B pode ser utilizada
para solucionar também A.

(b) O que é uma função computável?

Solução do professor: Uma função f : Σ∗ → Σ∗ é uma função computável se alguma máquina


de Turing M , sobre toda entrada w, pára com exatamente f (w) sobre sua fita.

(c) O que significa dizer que a linguagem A é redutı́vel por mapeamento para a linguagem B ?

Solução do professor: A linguagem A é redutı́vel por mapeamento à linguagem B, escrito


A ≤m B , se existe uma função computável f : Σ∗ → Σ∗ , onde para toda cadeia w, w ∈ A ⇔
f (w) ∈ B . A função f é denominada a redução de A para B .

(d) Defina formalmente o que é uma propriedade de linguagens. Dê dois exemplos de propriedades
que são de linguagens, e dois exemplos de propriedades que não são de linguagens, mas das MTs
que as reconhecem.

1
Impresso por Vitor Gabriel Silva Pereira, CPF 060.672.101-00 para uso pessoal e privado. Este material pode ser protegido por direitos
autorais e não pode ser reproduzido ou repassado para terceiros. 01/11/2021 16:13:56

Solução do professor: Uma propriedade P é um conjunto de descrições de máquinas de Turing,


ou seja, P = {hM i | M é uma MT que satisfaz alguma condição especı́fica}.
Uma propriedade P é uma propriedade de linguagens se ela depende apenas da linguagem descrita
pela MT, e não da MT especı́fica que a reconhece—ou seja, P é uma propriedade de linguagens
se sempre que L(M1 ) = L(M2 ) então hM1 i ∈ P ⇔ hM2 i ∈ P .
São exemplos de propriedades de linguagens:

P1 = {hM i | M é uma MT e L(M ) é regular}

P2 = {hM i | M é uma MT e 00 ∈ L(M )}

São exemplos de propriedades de MTs que não são propriedades de linguagens:

P3 = {hM i | M é uma MT e M aceita a cadeia 00


em menos do que 10 passos de computação}

P4 = {hM i | M é uma MT que nunca usa mais que 100


posições da fita para aceitar qualquer cadeia}

(e) Defina o que é uma propriedade não-trivial e o que é uma propriedade trivial de linguagens. Dê
dois exemplos de propriedades não-triviais de linguagens, e dois exemplos de propriedades triviais
de linguagens.

Solução do professor: Uma propriedade P de linguagens é não-trivial quando existem algu-


mas linguagens que a satisfazem, e algumas linguagens que não a satisfazem.
São exemplos de propriedades não-triviais de linguagens:

P1 = {hM i | M é uma MT e L(M ) é regular}

P2 = {hM i | M é uma MT e 00 ∈ L(M )}

Uma propriedade P de linguagens é trivial quando todas as linguagens reconhecidas por MT


satisfazem a propriedade, ou quando nenhuma linguagem reconhecida por MT satisfaz a propri-
edade.
São exemplos de propriedades triviais de linguagens:

P3 = {hM i | M é uma MT e M aceita um número inteiro de cadeias} (Toda MT satisfaz P3 )

P4 = {hM i | M é uma MT que aceita e rejeita toda cadeia de entrada} (Nenhuma MT satisfaz P4 )

(f) Diga o que diz o Teorema de Rice.

Solução do professor: Formalmente, o Teorema de Rice diz que o problema de decidir se


hM i ∈ P , para qualquer MT M e uma propriedade P não-trivial de linguagens, é indecidı́vel.
Ou seja, o Teorema de Rice diz que toda propriedade não-trivial de uma linguagem reconhecida
por uma MT é indecidı́vel.

2
Impresso por Vitor Gabriel Silva Pereira, CPF 060.672.101-00 para uso pessoal e privado. Este material pode ser protegido por direitos
autorais e não pode ser reproduzido ou repassado para terceiros. 01/11/2021 16:13:56

Exercı́cios.

2. (Sipser 5.2)

Solução do professor: Queremos demonstrar que EQ GLC é co-Turing-reconhecı́vel. Ou seja, que-


remos mostrar que

EQ GLC = {hG, H i | G ou H não são representações válidas de GLCs,


ou G e H são GLCs mas L(G) 6= L(H )}.

é uma linguagem Turing-reconhecı́vel.


Para isto, note que a seguinte MT E reconhece EQ GLC . A construção de E usa o fato de que sabemos
que a linguagem
AGLC = {hG, wi | G é uma GLC que gera a cadeia w}.
é decidı́vel. Em particular, já construı́mos no curso uma MT S que decide AGLC .
A ideia central de E é que se G e H não são equivalentes, então existe uma palavra w que é gerada por
G e não por H, ou vice-versa. A MT E procura sistematicamente por uma palavra w que satisfaça
essas condições, se tal palavra é encontrada, a entrada hG, H i é aceita (i.e., as gramáticas não são
equivalentes). Se as gramáticas são equivalentes, a MT E roda para sempre. (Note que E rejeita e
entrada imeditamente se ela não representa um par de GLCs válidas.)
E = “Sobre a cadeia de entrada hG, H i:

1. Se hG, H i não é uma representação válida de duas GLCs G e H, rejeite ; se G e H são GLCs válidas,
prossiga.
2. Para cada palavra w ∈ (ΣG ∩ ΣH )∗ , onde ΣG é o alfabeto de G, e ΣH é o alfabeto de H , repita os
seguintes passos.
1. Simule a MT S que decide AGLC sobre a cadeia de entrada hG, wi.
2. Simule a MT S que decide AGLC sobre a cadeia de entrada hH, wi.
3. Se S aceita hG, wi mas rejeita hH, wi, ou se S rejeita hG, wi mas aceita hH, wi aceite.”

3. (Sipser 5.4)

Solução do professor: Se A ≤m B e B é uma linguagem regular, isso não implica que A seja uma
linguagem regular.
Um contra-exemplo consiste nas linguagens

A = {0n 1n | n ≥ 0} e B = {1}.

Note que A ≤m B porque existe a seguinte função computável f : A → B mapeia toda instância de A
em uma instância de B (
0, se w ∈
/ A,
f (w) =
1, se w ∈ A,
e f satisfaz a propriedade de que w ∈ A ⇔ f (w) ∈ B. Entretanto, B é uma linguagem regular (a
expressão regular 1 gera B ), mas A não é uma linguagem regular.
Para entender o porquê, note que o fato de que o decisor para B ser um AF (já que B é regular)
não implica que o decisor para A também seja necessariamente um AF (o que seria o caso se A fosse
também regular). Isto acontece porque o decisor para A precisaria computar a função f para converter
uma instância de A em uma instância de B , mas a função f pode ser mais complicada do que um AF
dá conta de fazer! Logo, apesar de o processo de se decidir se f (w) ∈ B poder ser resolvido com um

3
Impresso por Vitor Gabriel Silva Pereira, CPF 060.672.101-00 para uso pessoal e privado. Este material pode ser protegido por direitos
autorais e não pode ser reproduzido ou repassado para terceiros. 01/11/2021 16:13:56

AF, a conversão de w em f (w) pode não ser factı́vel em um AF, e o decisor para A é mais complexo
do que um AF.

4. (Sipser 5.6)

Solução do professor: Dada no livro-texto.

5. (Sipser 5.7)

Solução do professor: Dada no livro-texto.

6. (Sipser 5.10)

Solução do professor: Dada no livro-texto.

7. (Sipser 5.20)

Solução do professor: Queremos mostrar que existe um subconjunto indecidı́vel de {1}∗ .


Sabemos que o conjunto de todas as MTs é enumerável. Logo, existe uma função bijetiva f entre o
conjunto de todas as MTs e os números naturais.
Definimos, então, a linguagem
L = {1n | A MT M tal que f (M ) = n reconhece a linguagem vazia}.

Note que L reconhece a linguagem dos números naturais que correspondem às posições de MTs cuja
linguagem é vazia na enumeração de todas as MTs.
Agora mostramos que o problema de se decidir se a linguagem de uma MT é vazia (i.e., decidir VMT )
é redutı́vel ao problema de se decidir L.
Se temos um decisor para L, então podemos resolver VMT da seguinte forma. Dada uma M T M ,
calcule o valor f (M ) e verifique se 1f (M ) ∈ L. Note que 1f (M ) ∈ L se, e somente se, linguagem da MT
M é vazia. Logo, se L fosse decidı́vel, VMT seria decidı́vel, o que é uma contradição (mostramos em
sala que VMT não é decidı́vel).
Portanto concluı́mos que L é uma linguagem de {1}∗ que é indecidı́vel.

8. (Sipser 5.30 - Itens (a) e (b))

Solução do professor:
a) Dada no livro-texto.
b) Queremos usar o Teorema de Rice para mostrar que a linguagem
T = {hM i | M é uma MT e 1011 ∈ L(M )}
é indecidı́vel.
Para isso, vamos usar o Teorema de Rice, que se aplica a linguagens que consistem em descrições de
MTs. Primeiro, a linguagem T é não-trivial, pois ela contém algumas descrições de MTs, mas não
todas (algumas MTs descrevem linguagens que contêm a palavra 1011, e outras não). Segundo,
a linguagem T é uma propriedade da linguagem, e não da MT (sempre que L(M1 ) = L(M2 ),
temos que hM1 i ∈ T se, e somente se, hM2 i ∈ T ). Como T satisfaz as condições doT eorema de
Rice, podemos concluir que T não é uma linguagem decidı́vel.

4
Impresso por Vitor Gabriel Silva Pereira, CPF 060.672.101-00 para uso pessoal e privado. Este material pode ser protegido por direitos
autorais e não pode ser reproduzido ou repassado para terceiros. 01/11/2021 16:13:56

9. Suponha que um PD A seja redutı́vel a um PD B . Diga se cada afirmativa abaixo é verdadeira ou


falsa, e justifique sua resposta.

(a) Se A é decidı́vel, então B é decidı́vel.

Solução do professor: A afirmativa é falsa. Se A é redutı́vel a B , isso significa apenas que


B é pelo menos tão difı́cil quanto A, mas nada impede que B seja estritamente mais difı́cil do
que A. (Na verdade, qualquer problema decidı́vel pode ser reduzido a um indecidı́vel: é sempre
possı́vel complicar um problema!)

(b) Se B é decidı́vel, então A é decidı́vel.

Solução do professor: A afirmativa é verdadeira. Se A é redutı́vel a B , isso significa que A


não é mais difı́cil do que B . ] Logo se B é decidı́vel, então A tem que ser decidı́vel também.

(c) Se A é indecidı́vel, então B é indecidı́vel.

Solução do professor: A afirmativa é verdadeira. Se A é redutı́vel a B , isso significa que B é


pelo menos tão difı́cil quanto A. ] Logo, se A é indecidı́vel, B também deve ser indecidı́vel. (Note
que este exercı́cio é o contrapositivo do Exercı́cio 9a.)

(d) Se B é indecidı́vel, então A é indecidı́vel.

Solução do professor: A afirmativa é falsa. Se A é redutı́vel a B , isso significa apenas que B


não é mais fácil de resolver do que A. Mas nada impede que A seja estritamente mais fácil de
resolver do que B . (Note que este exercı́cio é o contrapositivo do Exercı́cio 9b.)

Você também pode gostar