Buscar

Aula5 Redutibilidade[still]

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Redutibilidade
Ma´rio S. Alvim
(msalvim@dcc.ufmg.br)
Fundamentos de Teoria da Computac¸a˜o (FTC)
DCC-UFMG
(2018/01)
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 1 / 46
Redutibilidade: Introduc¸a˜o
Ate´ agora neste curso ja´:
1. Estabelecemos a ma´quina de Turing como nosso modelo de computac¸a˜o.
E, pela Tese de Church-Turing, aceitamos que este e´ o modelo definitivo de
computac¸a˜o.
2. Mostramos que existe pelo menos um problema (o problema da parada) que
na˜o tem soluc¸a˜o neste modelo de computac¸a˜o.
Portanto, aceitamos que o problema da parada e´ computacionalmente
insolu´vel (ou indecid´ıvel).
Entretanto, ha´ muitos outros problemas indecid´ıveis.
Mas nem sempre queremos mostrar que um problema e´ indecid´ıvel de
maneira direta, como fizemos com o problema da parada.
Aqui vamos introduzir o conceito de redutibilidade, que e´ essencial em cieˆncia
da computac¸a˜o.
Em particular, a redutibilidade pode ser usada para provar que problemas sa˜o
indecid´ıveis (ou decid´ıveis).
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 2 / 46
Redutibilidade
Reduzir um problema A a um problema B significa mostrar que
se temos uma soluc¸a˜o para o problema B,
enta˜o temos uma soluc¸a˜o para o problema A.
Em outras palavras, reduzir o problema A ao problema B significa que uma
soluc¸a˜o para B pode ser utilizada para solucionar tambe´m A.
Usamos naturalmente o conceito de redutibilidade no dia a dia.
1 O problema de matar a nossa fome pode ser reduzido ao problema de
encontrar um restaurante para comer.
2 O problema de encontrar um restaurante para comer pode ser reduzido ao
problema de procurar restaurantes num buscador na Internet.
3 O problema de saber o que foi dado na aula de FTC pode ser reduzido ao
problema de se acessar o programa da disciplina.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 3 / 46
Redutibilidade
O conceito de redutibilidade pode ser usado para mostrar que problemas teˆm
ou na˜o teˆm soluc¸a˜o.
Se um problema A e´ redut´ıvel a um problema B, enta˜o sabemos que:
1. Se B e´ decid´ıvel, enta˜o A tambe´m e´ decid´ıvel.
Isso porque a soluc¸a˜o de B pode ser usada para solucionar A.
2. Se A e´ indecid´ıvel, enta˜o B e´ indecid´ıvel.
Isso porque se houvesse soluc¸a˜o para B, haveria tambe´m soluc¸a˜o para A, o
que e´ uma contradic¸a˜o.
Assim, para mostrar que um problema P e´ indecid´ıvel, basta mostrar que um
problema Q que sabemos ser indecid´ıvel e´ redut´ıvel a P.
Por exemplo, para mostrar que o problema da correspondeˆncia de Post e´
indecid´ıvel, basta reduzir o problema da parada a ele.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 4 / 46
Redutibilidade
Mas atenc¸a˜o! A redutibilidade tem que ser usada com cuidado!
Se um problema A e´ redut´ıvel a um problema B, note o seguinte.
3. Se A e´ decid´ıvel, isso na˜o significa que B e´ decid´ıvel!
Isso porque a soluc¸a˜o de B pode ser usada para solucionar A, mas B pode ser
muito mais dif´ıcil que A (i.e., B ainda pode ser indecid´ıvel).
4. Se B e´ indecid´ıvel, isso na˜o significa que A e´ indecid´ıvel!
De novo, isso acontece porque a soluc¸a˜o de B pode ser usada para solucionar
A, mas B pode ser muito mais dif´ıcil que A (i.e., B ainda pode ser indecid´ıvel).
Assim, para mostrar que um problema P e´ indecid´ıvel, na˜o adianta mostrar
que P se reduz a um problema indecid´ıvel Q!
Por exemplo, para mostrar que o problema da correspondeˆncia de Post e´
indecid´ıvel, na˜o adianta reduzi-lo ao problema da parada!
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 5 / 46
Problemas Indecid´ıveis e
Teoria de Linguagens
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 6 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Agora vamos dar exemplos de prova de indecidibilidade usando o conceito de
redutibilidade.
Nas nossas provas vamos poder usar o fato de que ja´ determinamos que
algum problema em espec´ıfico e´ indecid´ıvel.
Em particular, vamos comec¸ar usando o fato que ja´ determinamos que o
problema de aceitac¸a˜o para MTs
AMT = {〈M,w〉 | M e´ uma MT e M aceita w}.
e´ indecid´ıvel.
Vamos enta˜o provar que va´rios problemas de linguagens sa˜o indecid´ıveis.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 7 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Algumas vezes nos referimos a AMT como o “problema da parada”, pore´m,
estritamente falando, o problema da parada e´ a linguagem
PARAMT = {〈M,w〉 | M e´ uma MT e M pa´ra sobre a entrada w}.
Teorema PARAMT e´ indecid´ıvel.
Prova.
Por contradic¸a˜o.
Suponha que PARAMT seja decid´ıvel.
Enta˜o existe uma MT R que decide PARAMT, e poder´ıamos usar R para
construir uma MT S que decide a linguagem AMT da seguinte forma.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 8 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
S = “Sobre a entrada 〈M,w〉, uma codificac¸a˜o de uma MT M e de uma
cadeia w :
1. Rode a MT R sobre a entrada 〈M,w〉.
2. Se R rejeita, rejeite.
3. Se R aceita, simule M sobre w ate´ que ela pare.
4. Se M aceitou, aceite; se M rejeitou, rejeite.”
Mas note que se R e´ capaz de decidir PARAMT, enta˜o claramente S e´ um
decisor para AMT.
Mas isto e´ uma contradic¸a˜o, pois ja´ determinamos que AMT e´ indecid´ıvel.
Logo conclu´ımos que PARAMT e´ indecid´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 9 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
O problema da vacuidade para MTs concerne a seguinte linguagem:
VMT = {〈M〉 | M e´ uma MT e L(M) = ∅}.
Este e´ o problema de se decidir se a linguagem reconhecida por uma MT e´
vazia.
Teorema VMT e´ indecid´ıvel.
Prova.
Por contradic¸a˜o.
Suponha que VMT seja decid´ıvel.
Enta˜o existe uma MT R que decide VMT, e podemos usar R para construir
uma MT S para decidir a linguagem AMT da seguinte forma.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 10 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
Primeiro vamos mostrar como, dada uma MT arbitra´ria M e uma cadeia
arbitra´ria w , podemos sempre construir uma MT auxiliar Mw tal que:
L(Mw ) =
{
{w}, se M aceita w ,
∅, se M na˜o aceita w .
Mais precisamente, dados MT M e cadeia w , a MT auxiliar Mw e´:
Mw = “Sobre a entrada x :
1. Se x 6= w , rejeite.
2. Se x = w , rode M sobre a entrada w e aceite se M aceita w .”
Note que Mw e´ constru´ıda de tal forma que
L(Mw ) 6= ∅ se, e somente se, M aceita w ,
portanto, se tivermos um decisor para VMT, teremos um decisor para AMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 11 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
Agora, sabendo que podemos construir a MT Mw sempre que necessa´rio,
provemos um decisor S para AMT.
S = “Sobre a entrada 〈M,w〉, consistindo na codificac¸a˜o de uma MT M e de
uma cadeia w :
1. Use a descric¸a˜o de M e w para construir a MT auxiliar Mw que se comporta
como M sobre w , e rejeita toda cadeia x 6= w .
2. Rode R sobre a entrada Mw .
3. Se R aceita, rejeite; se R rejeita, aceite.”
Se R fosse um decisor para VMT, enta˜o S seria um decisor para AMT.
Como ja´ determinamos que um decisor para AMT na˜o pode existir, VMT deve
tambe´m ser indecid´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 12 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
O problema da regularidade para MTs concerne a seguinte linguagem:
REGULARMT = {〈M〉 | M e´ uma MT e L(M) e´ uma linguagem regular}.
Este e´ o problema de se decidir se dada uma MT, existeum AF equivalente a
ela.
Teorema REGULARMT e´ indecid´ıvel.
Prova.
Por contradic¸a˜o.
Suponha que REGULARMT seja decid´ıvel.
Enta˜o existe uma MT R que decide REGULARMT, e podemos usar R para
construir uma MT S para decidir a linguagem AMT da seguinte forma.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 13 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
Primeiro vamos mostrar como, dada uma MT arbitra´ria M e uma cadeia
arbitra´ria w , podemos sempre construir uma MT auxiliar M ′w tal que:
L(M ′w ) =
{
Σ∗, se M aceita w ,
{0n1n | n ≥ 0}, se M na˜o aceita w .
Note que como {0n1n | n ≥ 0} na˜o e´ regular mas Σ∗ e´, sabemos que
L(M ′w ) sera´ regular se, e somente se, M aceita w .
Portanto, reduzimos o problema de decidir se M aceita w ao problema de
decidir se L(M ′w ) e´ regular.
Usando esta observac¸a˜o acima, usar o decisor R de REGULARMT para
construir a seguinte MT S decisora para AMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 14 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
S = “Sobre a entrada 〈M,w〉, uma codificac¸a˜o de uma MT M e de uma
cadeia w :
1. Construa a seguinte MT M ′w :
M ′w = “Sobre a entrada x :
1. Se x tem a forma 0n1n, aceite.
2. Se x na˜o tem a forma 0n1n, rode M sobre a entrada w e aceite se M aceita w .”
2. Rode a MT R sobre a entrada M ′w .
3. Se R aceita, aceite; se R rejeita, rejeite.”
Claramente, se R e´ capaz de decidir REGULARMT, enta˜o S e´ um decisor
para AMT.
Mas isto e´ uma contradic¸a˜o, pois AMT e´ indecid´ıvel.
Logo conclu´ımos que REGULARMT tambe´m deve ser indecid´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 15 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
O problema da equivaleˆncia de MTs concerne a seguinte linguagem:
EQMT = {〈M1,M2〉 | M1 e M2 sa˜o uma MTs e L(M1) = L(M2)}.
Este e´ o problema de se decidir se duas MTs reconhecem a mesma linguagem.
Teorema EQMT e´ indecid´ıvel.
Prova.
Por contradic¸a˜o.
Suponha que EQMT seja decid´ıvel.
Enta˜o existe uma MT R que decide EQMT, e podemos usar R para construir
uma MT S para decidir a linguagem VMT da seguinte forma.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 16 / 46
Problemas Indecid´ıveis e Teoria de Linguagens
Prova. (Continuac¸a˜o)
S = “Sobre a entrada 〈M〉, onde M e´ uma MT:
1. Rode a MT R sobre a entrada 〈M,MV 〉, onde MV e´ uma MT que rejeita
todas as entradas.
2. Se R aceita, aceite; se R rejeita, rejeite.”
Note que L(MV ) = ∅.
Logo, ao decidir se uma MT M de entrada e´ equivalente a MV , a ma´quina S
esta´ decidindo VMT.
Mas isto e´ uma contradic¸a˜o, pois VMT e´ indecid´ıvel.
Como S so´ e´ capaz de decidir VMT porque usa o decisor R para EQMT,
conclu´ımos que tal decisor R na˜o pode existir, e EQMT tambe´m deve ser
indecid´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 17 / 46
Redutibilidade por
Mapeamento
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 18 / 46
Redutibilidade por Mapeamento
Ate´ agora mostramos como usar a te´cnica de redutibilidade para demonstrar
que va´rios problemas sa˜o indecid´ıveis.
Pore´m, ainda formalizamos o conceito de “redutibilidade”.
Faremos isso agora, o que nos permitira´ fazer demonstrac¸o˜es mais refinadas,
incluindo:
Mostrar que linguagens na˜o sa˜o Turing-reconhec´ıveis.
(Isto e´ uma aplicac¸a˜o de reduc¸a˜o a` Teoria de Linguagens.)
Mostrar resultados relativos a` complexidade de algoritmos.
(Isto e´ uma aplicac¸a˜o de reduc¸a˜o a` Teoria de Complexidade.)
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 19 / 46
Redutibilidade por Mapeamento
O conceito de redutibilidade pode ser formalizado de va´rias formas
equivalentes.
Aqui adotamos a de “redutibilidade por mapeamento” (ou “redutibilidade
muitos-para-um”).
A ideia central e´ que ser capaz de reduzir um problema A a um problema B
usando reduc¸a˜o por mapeamento significa que existe uma “func¸a˜o
computa´vel” que converte instaˆncias do problema A em instaˆncias do
problema B.
Se tivermos a func¸a˜o de conversa˜o, que e´ denominada “reduc¸a˜o”, podemos
resolver A usando um solucionador para B: basta converter a instaˆncia
desejada de A em uma instaˆncia de B e enta˜o resolver a instaˆncia de B.
Para tornar a ideia acima precisa, vamos primeiro definir o conceito de
“func¸a˜o computa´vel”.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 20 / 46
Func¸o˜es computa´veis
Uma func¸a˜o f : Σ∗ → Σ∗ e´ uma func¸a˜o computa´vel se alguma ma´quina de
Turing M, sobre toda entrada w , pa´ra com exatamente f (w) sobre sua fita.
Exemplo 1 As operac¸o˜es usuais sobre inteiros (+, −, ×, /, etc.) sa˜o todas
computa´veis.
Por exemplo, e´ fa´cil ver que podemos construir uma MT que recebe a
entrada 〈m, n〉 e retorna m + n, a soma de m e n.
�
Exemplo 2 Func¸o˜es computa´veis podem ser transformac¸o˜es de descric¸o˜es
de ma´quinas. Por exemplo, uma func¸a˜o computa´vel f pode tomar uma
cadeia w e retornar a descric¸a˜o 〈M ′〉 de uma MT tal que, se w = 〈M〉 for a
codificac¸a˜o de uma MT M, enta˜o M ′ e´ uma MT equivalente a M mas que
nunca tenta mover sua cabec¸a para ale´m da extremidade esquerda da fita. A
func¸a˜o retorna � se w na˜o for a codificac¸a˜o de uma MT va´lida. �
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 21 / 46
Redutibilidade por mapeamento: definic¸a˜o formal
A linguagem A e´ redut´ıvel por mapeamento a` linguagem B, escrito
A ≤m B,
se existe uma func¸a˜o computa´vel f : Σ∗ → Σ∗, onde para toda cadeia w ,
w ∈ A ⇔ f (w) ∈ B.
A func¸a˜o f e´ denominada a reduc¸a˜o de A para B.
Uma reduc¸a˜o por mapeamento de A para
B proveˆ uma maneira de converter questo˜es
do tipo
“w ∈ A?′′
em questo˜es do tipo
“f (w) ∈ B?′′
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 22 / 46
Redutibilidade por mapeamento: definic¸a˜o formal
O seguinte teorema diz que se um problema for redut´ıvel por mapeamento a
outro problema previamente resolvido, enta˜o temos uma soluc¸a˜o para o
problema original.
Teorema Se A ≤m B e B e´ decid´ıvel, enta˜o A e´ decid´ıvel.
Prova.
Seja M ser um decisor para B e f a func¸a˜o de reduc¸a˜o de A para B. Enta˜o a
MT N abaixo e´ um decisor para A:
N = “Sobre a entrada w :
1. Compute f (w).
2. Rode M sobre a entrada f (w) e deˆ como sa´ıda o que M der como sa´ıda.”
Note que w ∈ A sse f (w) ∈ B, ja´ que f e´ uma reduc¸a˜o de A para B. Logo
M aceita f (w) sse w ∈ A, e portanto N e´ um decisor para A.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 23 / 46
Redutibilidade por mapeamento: definic¸a˜o formal
O seguinte corola´rio do teorema anterior tem sido nossa principal ferramenta
provar indecidibilidade de problemas.
Corola´rio Se A ≤m B e A e´ indecid´ıvel, enta˜o B e´ indecid´ıvel.
Prova.
Este resultado e´ apenas o contrapositivo do resultado anterior.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 24 / 46
Redutibilidade por mapeamento: Exemplo
Exemplo 3 Em um resultado anterior usamos uma reduc¸a˜o de AMT para
mostrar que PARAMT e´ indecid´ıvel.
Aqui vamos revisitar este problema evidenciando a reduc¸a˜o por mapeamento
implicitamente utilizada.
A reduc¸a˜o mostrou como um decisor para PARAMT pode ser usado para dar
um decisor para AMT.
Podemos exibir uma reduc¸a˜o por mapeamento de AMT para PARAMT dando
uma func¸a˜o computa´vel f que toma qualquer entrada da forma 〈M,w〉 e
retorna uma entrada da forma 〈M ′,w〉 onde
〈M,w〉 ∈ AMT se, e somente se, 〈M ′,w〉 ∈ PARAMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) RedutibilidadeDCC-UFMG (2018/01) 25 / 46
Redutibilidade por mapeamento: Exemplo
Prova. (Continuac¸a˜o)
A seguinte ma´quina F computa a func¸a˜o f .
F = “Sobre a entrada 〈M,w〉:
1. Construa a seguinte MT M ′.
M ′ = “Sobre a entrada x :
1. Rode M sobre x .
2. Se M aceita, aceite.
3. Se M rejeita, entre em loop.”
2. Deˆ como sa´ıda 〈M ′,w〉.”
Note que quando a cadeia de entrada 〈M,w〉 na˜o esta´ bem formada (e,
portanto, na˜o pertence a AMT), a MT F produz uma cadeia 〈M ′,w〉 que na˜o
pertence a PARAMT.
Logo, F computa um mapeamento correto de AMT para PARAMT.
�
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 26 / 46
Redutibilidade por mapeamento
A redutibilidade por mapeamento e´ sens´ıvel ao complemento, i.e.,
w ∈ A⇒ f (w) ∈ B e w /∈ A⇒ f (w) /∈ B.
Isto pode ser usado para provar na˜o-reconhecibilidade de linguagens.
Teorema Se A ≤m B e B e´ Turing-reconhec´ıvel, enta˜o A e´
Turing-reconhec´ıvel.
Prova. Seja M um reconhecedor para B, e f a func¸a˜o de reduc¸a˜o de A para
B. Enta˜o a MT N abaixo e´ um reconhecedor para A:
N = “Sobre a entrada w :
1. Compute f (w).
2. Rode M sobre a entrada f (w) e deˆ como sa´ıda o que M der como sa´ıda (se M
parar).”
Note que w ∈ A se f (w) ∈ B, ja´ que f e´ uma reduc¸a˜o de A para B. Logo M
aceita f (w) se w ∈ A, e portanto N e´ um reconhecedor para A.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 27 / 46
Redutibilidade por mapeamento
Corola´rio Se A ≤m B e A na˜o e´ Turing-reconhec´ıvel, enta˜o B na˜o e´
Turing-reconhec´ıvel.
Prova.
Este resultado e´ apenas o contrapositivo do resultado anterior.
Note que pela definic¸a˜o de redutibilidade por mapeamento,
A ≤m B significa o mesmo que A ≤m B.
Isto ocorre porque
w ∈ A⇔ f (w) ∈ B significa o mesmo que w ∈ A⇔ f (w) ∈ B.
Logo, o corola´rio acima implica que para mostrar que B na˜o e´ reconhec´ıvel,
podemos mostrar que AMT ≤m B, uma vez que:
1. AMT ≤m B e´ o mesmo que AMT ≤m B; e
2. sabemos que AMT na˜o e´ Turing-reconhec´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 28 / 46
Redutibilidade por mapeamento
O pro´ximo resultado ilustra que podemos tambe´m usar a redutibilidade por
mapeamento para mostrar que certos problemas na˜o sa˜o
Turing-reconhec´ıveis, nem co-Turing reconhec´ıveis.
Teorema EQMT na˜o e´ Turing-reconhec´ıvel, nem co-Turing-reconhec´ıvel.
Prova. A prova tem duas partes.
Primeiro mostramos que EQMT na˜o e´ Turing-reconhec´ıvel.
Para tal, mostramos que AMT e´ redut´ıvel a EQMT.
(O que o mesmo que mostrar que AMT e´ redut´ıvel a EQMT.)
A seguinte MT F computa a func¸a˜o redutora f de AMT para EQMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 29 / 46
Redutibilidade por mapeamento
Prova. (Continuac¸a˜o)
F = “ Sobre a entrada 〈M,w〉, onde M e´ uma MT e w e´ uma cadeia:
1. Construa as seguintes ma´quinas M1 e M2:
M1 = “Sobre qualquer entrada:
1. Rejeite.”
M2 = “Sobre qualquer entrada:
1. Rode M sobre w . Se ela aceita, aceite.”
2. Deˆ como sa´ıda 〈M1,M2〉.”
Note que na func¸a˜o F :
L(M1) = ∅, e L(M2) =
{
Σ∗, se M aceita w ,
∅, se M na˜o aceita w
portanto 〈M,w〉 ∈ AMT se, e somente se, 〈M1,M2〉 ∈ EQMT, e conclu´ımos
que f reduz AMT a EQMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 30 / 46
Redutibilidade por mapeamento
Prova. (Continuac¸a˜o)
Na segunda parte da prova mostramos que EQMT na˜o e´ Turing-reconhec´ıvel.
Para tal, mostramos que AMT e´ redut´ıvel ao complemento de EQMT, ou seja,
que AMT e´ redut´ıvel a EQMT.
A seguinte MT G computa a func¸a˜o redutora g de AMT para EQMT.
G = “Sobre a entrada 〈M,w〉, onde M e´ uma MT e w e´ uma cadeia:
1. Construa as seguintes ma´quinas M1 e M2:
M1 = “Sobre qualquer entrada:
1. Aceite.”
M2 = “Sobre qualquer entrada:
1. Rode M sobre w . Se ela aceita, aceite.”
2. Deˆ como sa´ıda 〈M1,M2〉.”
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 31 / 46
Redutibilidade por mapeamento
Prova. (Continuac¸a˜o)
Note que na MT G :
L(M1) = Σ
∗, e L(M2) =
{
Σ∗, se M aceita w ,
∅, se M na˜o aceita w ,
portanto 〈M,w〉 ∈ AMT se, e somente se, 〈M1,M2〉 ∈ EQMT, e conclu´ımos
que f reduz AMT a EQMT.
Para finalizar, note que a u´nica diferenc¸a entre G e F e´ a ma´quina M1: em F
ela sempre rejeita, enquanto em G ela sempre aceita.
Em ambas f e g , M aceita w se, e somente se, Mw sempre aceita.
Em g , M aceita w se, somente se, M1 e M2 sa˜o equivalentes.
Portanto, g reduz AMT a EQMT.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 32 / 46
O Teorema de Rice
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 33 / 46
O Teorema de Rice: Introduc¸a˜o
Ate´ agora demonstramos va´rios resultados importantes sobre as limitac¸o˜es da
computac¸a˜o:
1. Va´rios problemas interessantes sa˜o indecid´ıveis.
Um exemplo de problema indecid´ıvel e´ o problema da aceitac¸a˜o para MTs.
(Mas pelo menos ele era Turing-reconhec´ıvel.)
2. Va´rios problemas interessantes na˜o sa˜o Turing-reconhec´ıveis.
Um exemplo era o problema de decidir se um programa entra em loop. (Mas
pelo menos ele era co-Turing-reconhec´ıvel, isto e´, apesar de na˜o ser poss´ıvel
reconhecer quando um programa entra em loop, e´ poss´ıvel reconhecer quando
ele na˜o entra em loop.)
3. Existem problemas que na˜o sa˜o Turing-reconhec´ıveis, nem
co-Turing-reconhec´ıveis.
Por exemplo, o problema de equivaleˆncia de MTs. (Na˜o e´ poss´ıvel reconhecer
quando duas MTs sa˜o equivalentes, e na˜o e´ poss´ıvel reconhecer quando duas
MTs na˜o sa˜o equivalentes.)
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 34 / 46
O Teorema de Rice: Introduc¸a˜o
Ja´ vimos que a maioria dos problemas e´ indecid´ıvel (e, ale´m disso,
Turing-irreconhec´ıvel).
Entretanto, existem muitos problemas interessantes que sa˜o indecid´ıveis?
O Teorema de Rice responde a essa pergunta, afirmando que
a maioria absoluta dos problemas interessantes e´ indecid´ıvel!
Essencialmente, o teorema diz que toda “propriedade na˜o-trivial” de uma
linguagem reconhecida por uma MT e´ indecid´ıvel.
Dado um conjunto S , uma propriedade P e´ um subconjunto P ⊆ S .
1 Dado o conjunto H de seres humanos, a propriedade de “ser mulher” pode ser
representada pelo subconjunto F ⊆ H de todas as mulheres.
Checar se uma pessoa h ∈ H satisfaz a propriedade de ser mulher e´
equivalente a checar se h ∈ F .
Aqui vamos tratar sobre propriedades do conjunto de todas as descric¸o˜es de
ma´quinas de Turing.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 35 / 46
O Teorema de Rice: Propriedades de linguagens
Formalmente, uma propriedade P de linguagens e´ uma colec¸a˜o de
descric¸o˜es de ma´quinas de Turing satisfazendo que
Se L(M1) = L(M2) enta˜o 〈M1〉 ∈ P ⇔ 〈M2〉 ∈ P.
Note que uma propriedade e´, ela mesma, uma linguagem que conte´m cadeias
descrevendo MTs.
Exemplos de propriedades de linguagens incluem:
1 A linguagem reconhecida pela MT e´ regular?
2 A cadeia 00 pertence a` linguagem reconhecida pela MT?
Ja´ os exemplos abaixo na˜o sa˜o propriedades de linguagens, mas apenas
propriedades de MTs (ja´ que podem existir MTs equivalentes para a mesma
linguagem tais que uma satisfaz a propriedade, e a outra na˜o.)
1 A cadeia 00 e´ aceita em menos do que 10 passos de computac¸a˜o?
2 Nunca se usam mais que 100 posic¸o˜es da fita para aceitar qualquer cadeia?
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 36 / 46
O Teorema de Rice: Propriedades na˜o-triviais de
linguagens
Uma propriedade na˜o-trivial de linguagens e´ uma propriedade P tal que:
1. P inclui pelo menos uma descric¸a˜o de MT, e
2. P na˜o inclui todas as descric¸o˜es de MTs.Sa˜o exemplos propriedades na˜o-triviais de linguagens:
1 A cadeia 00 pertence a` linguagem reconhecida pela MT?
2 A linguagem reconhecida pela MT e´ regular?
Uma propriedade trivial de linguagens e´ uma propriedade P que ou inclui
todas as descric¸o˜es de MTs, ou na˜o inclui nenhuma descric¸a˜o de MT.
Sa˜o exemplos de propriedades triviais de linguagens:
1 A MT aceita um nu´mero inteiro de cadeias? (Toda MT satisfaz essa
propriedade.)
2 A MT aceita e rejeita toda cadeia? (Nenhuma MT satisfaz essa propriedade.)
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 37 / 46
O Teorema de Rice
Teorema (Teorema de Rice) Para qualquer propriedade na˜o-trivial P de
linguagens reconhecidas por ma´quinas de Turing, o problema de determinar
se a linguagem de uma MT M satisfaz a propriedade P e´ indecid´ıvel.
Prova. Por contradic¸a˜o.
Assuma que a propriedade na˜o-trivial P seja decid´ıvel e que, portanto, haja
um decisor RP para P.
Seja T∅ uma MT que sempre rejeite (i.e., L(T∅) = ∅).
Podemos assumir, sem perda de generalidade, que 〈T∅〉 /∈ P (pois caso
〈T∅〉 ∈ P podemos trocar a propriedade P por P no restante desta prova).
Como P e´ na˜o-trivial, existe uma MT T tal que 〈T 〉 ∈ P.
Vamos construir um decisor S para AMT usando a capacidade de RP de
distinguir entre T∅ e T .
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 38 / 46
O Teorema de Rice
Prova. (Continuac¸a˜o)
S = “Sobre a entrada 〈M,w〉:
1. Use M e w para construir a seguinte MT M ′′w .
M ′′w = “Sobre a entrada x :
1. Simule M sobre w . Se ela pa´ra e rejeita, rejeite.
2. Simule T sobre x . Se ela aceita, aceite; se na˜o, rejeite.”
2. Use a MT RP para determinar se 〈M ′′w 〉 ∈ P. Se sim, aceite; se na˜o, rejeite.”
Note que
L(M ′′w ) =
{
L(T ), se M aceita w ,
L(T∅), se M na˜o aceita w ,
e, portanto,
〈M ′′w 〉 ∈ P se, e somente se, M aceita w .
Isto significaria que AMT e´ decid´ıvel, o que e´ uma contradic¸a˜o. Logo,
conclu´ımos que P na˜o pode ser decid´ıvel.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 39 / 46
O Teorema de Rice - Exemplo
Exemplo 4 Use o Teorema de Rice para mostrar que a linguagem
P42 = {〈M〉 | M e´ uma MT e L(M) tem exatamente 42 palavras}
e´ indecid´ıvel.
Prova. Note que a linguagem P42 e´ uma linguagem que consiste em
descric¸o˜es de MTs, portanto e´ uma propriedade.
Ale´m disso, note que P42 satisfaz as condic¸o˜es do Teorema de Rice:
1. P42 e´ uma propriedade na˜o-trivial: algumas linguagens reconhecidas por MTs
conteˆm exatamente 42 palavras, enquanto outras teˆm um nu´mero diferente de
palavras.
2. A propriedade descrita por P42 e´ uma propriedade da linguagem, e na˜o da MT
que reconhece a linguagem. (Mais precisamente, sempre que L(M1) = L(M2),
temos que 〈M1〉 ∈ P42 se, e somente se, 〈M2〉 ∈ P42).
Logo o Teorema de Rice se aplica a P42, e ela e´ uma linguagem indecid´ıvel.
�
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 40 / 46
O Teorema de Rice - Exemplo
Exemplo 5 O Teorema de Rice pode ser aplicado a` linguagem abaixo?
P10 = {〈M〉 | M reconhece a cadeia abc em
menos de 10 passos de computac¸a˜o}
Soluc¸a˜o. Note que a linguagem P10 e´ uma linguagem que consiste em
descric¸o˜es de MTs, e portanto P10 e´ uma propriedade.
Entretanto, note que P10 na˜o satisfaz as condic¸o˜es do Teorema de Rice.
Apesar de P10 ser uma propriedade na˜o-trivial (algumas linguagens
reconhecidas por MTs pertencem a P10 e outras na˜o), a propriedade descrita
por P10 na˜o e´ uma propriedade da linguagem, mas apenas uma
propriedade da MT que reconhece a linguagem.
Mais precisamente, e´ poss´ıvel ter duas MTs M1 e M2 tais que
L(M1) = L(M2), mas 〈M1〉 ∈ P10 e 〈M2〉 /∈ P10.
Como suas condic¸o˜es na˜o sa˜o satisfeitas para P10, na˜o podemos aplicar o
Teorema de Rice para concluir que P10 e´ uma propriedade indecid´ıvel.
�
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 41 / 46
Apeˆndice -
Implicac¸o˜es da
indecidibilidade do Problema
da Parada
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 42 / 46
Implicac¸o˜es da indecidibilidade do Problema da Parada
O Problema da Parada ser indecid´ıvel tem algumas implicac¸o˜es profundas.
A primeira delas tem a ver com a prova de teoremas matema´ticos.
Vamos exemplifica´-la com a conjectura de Goldbach.
Conjectura de Goldbach: Todo inteiro par maior que 3 pode ser expresso
como a soma de dois primos.
1 4 = 2 + 2
2 6 = 3 + 3
3 8 = 3 + 5
4 . . .
5 100 = 17 + 83
6 . . .
Esta conjectura esta´ em aberto desde 1 742!
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 43 / 46
Implicac¸o˜es da indecidibilidade do Problema da Parada
Teorema Se o Problema da Parada fosse decid´ıvel, ter´ıamos uma soluc¸a˜o
para a Conjectura de Goldbach.
Prova.
Considere a seguinte MT G .
G = “Ignore a entrada.
1. De i = 4 ate´ infinito, fac¸a o seguinte:
1. Teste se i pode ser escrito como a soma de dois primos.
2. Se i na˜o for a soma de dois primos, deˆ i como sa´ıda e pare.”
Note que a MT G pa´ra se, e somente se, a Conjectura de Goldbach e´ falsa.
Logo, se o Problema da Parada fosse decid´ıvel, bastaria aplicar seu decisor a
G para decidir a Conjectura de Goldbach.
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 44 / 46
Implicac¸o˜es da indecidibilidade do Problema da Parada
O caso da conjectura de Goldbach e´ um caso particular de um resultado
importante da teoria de linguagens.
Teorema Se o problema da parada fosse decid´ıvel, enta˜o toda linguagem
Turing-reconhec´ıvel seria tambe´m uma Turing-decid´ıvel.
Prova.
Como esta e´ a u´ltima prova de teorema deste curso, eu na˜o vou tirar seu
prazer de fazeˆ-la por conta pro´pria!
(Na verdade, voceˆ ja´ a fez em sala de aula, enta˜o voceˆ pode refazeˆ-la aqui!)
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 45 / 46
Implicac¸o˜es da indecidibilidade do Problema da Parada
Ja´ demonstramos que va´rios problemas interessantes, como o problema da
parada e o da equivaleˆncia de MTs, sa˜o indecid´ıveis.
Entretanto, um aspecto intrigante da demonstrabilidade e´ que existem
problemas para os quais nunca vamos ser capazes de:
1. achar uma soluc¸a˜o;
2. e nem ao menos demonstrar que eles na˜o teˆm soluc¸a˜o!
Considere novamente a Conjectura de Goldbach.
1. Se ela for falsa, podemos demonstrar isso com um contra-exemplo.
2. Logo, se na˜o pudermos demonstrar a conjectura de Goldbach, e´ porque ela
necessariamente e´ verdadeira.
3. Portanto, se pudermos demonstrar que na˜o e´ poss´ıvel demonstrar a conjectura,
estamos demonstrando que ela e´ verdadeira, o que e´ uma contradic¸a˜o.
Logo, conclu´ımos que se a conjectura de Goldbach na˜o for demonstra´vel, na˜o
vamos jamais conseguir demonstrar que ela na˜o e´ demonstra´vel!
Ma´rio S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/01) 46 / 46

Continue navegando