Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a...

21
Informática Teórica Engenharia da Computação

Transcript of Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a...

Page 1: 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

Page 2: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Formalizaremos a noção de redutibilidade de uma dentre várias maneiras.

Isso nos permite usar redutibilidade de maneira mais refinada, e.g., para provar que certas linguagens não são Turing-reconhecíveis e para aplicações em teoria da complexidade.

Nossa escolha é por um tipo simples de redutibilidade chamado redutibilidade por mapeamento, tb chamada de redutibilidade muitos-para-um.

Page 3: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Reduzir o problema A ao B usando uma redução por mapeamento significa que uma função computável existe que converte instâncias do problema A para instâncias do B.

Com tal função de conversão, denominada redução, podemos resolver A com um solucionador para B...

Já que qualquer instância de A pode ser resolvida 1º usando a redução para convertê-la para uma instância de B e aí aplica-se o solucionador para B.

Page 4: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

DEFINIÇÃO Uma função f : é uma função computável se

alguma MT M, sobre toda entrada w, para com exatamente f(w) sobre sua fita.

Todas as operações aritméticas usuais sobre inteiros são funções computáveis.

Por exemplo, podemos construir uma MT com entrada <m, n> e que retorna m+n.

Page 5: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Podem ser transformações de descrições de MTs. Por exemplo, uma f com entrada w retorna a

descrição de uma MT <M’> se w = <M> é uma codificação de uma MT M. M’ reconhece a mesma linguagem de M, mas nunca tenta mover sua cabeça para além da extremidade esquerda de sua fita. A função f realiza essa tarefa adicionando estados à descrição de M.

f retorna ε se w não for uma codificação legítima de uma MT.

Page 6: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

DEFINIÇÃO FORMAL DE REDUTIBILIDADE POR MAPEAMENTO

Como de costume, representamos problemas computacionais por meio de linguagens.

A linguagem A é redutível por mapeamento à B, escrito A B, se existe uma função computável f : , onde para toda w, w ε A f(w) ε B:

f é denominada a redução de A para B.

Page 7: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

FORMA 1 - REDUTIBILIDADE

A B ( A se reduz a B)

Resolver A não pode ser mais difícil que resolver B

Se B for decidível A tb será.

Se A for indecidível, B tb será.

Page 8: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

TEOREMA: Se A B e B for decidível, então A é decidível. PROVA: Fazemos M ser o decisor para B e f a

redução de A para B. Descrevemos um decisor N para A da seguinte forma:

N = “Sobre a entrada w: 1. Compute f(w). 2. Rode M sobre a entrada f(w) e dê como saída a

saída de M.”

Claramente, se w ε A, então f(w) ε B. Portanto, M aceita f(w) sempre que w ε A.

Page 9: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

COROLÁRIO: Se A B e A for indecidível, então B é indecidível. Ex: Redução por mapeamento de AMT para PARAMT.

Apresentamos uma f computável com entrada <M,w> e saída <M’,w’>, onde <M,w> ε AMT sse <M’,w’> ε PARAMT .

A seguinte MT F computa a reduçã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. Dê como saída <M’,w> .”

Page 10: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

COROLÁRIO: Se A B e A for indecidível, então B é indecidível. Se a MT F determina que sua entrada não está na

forma correta como especificado na linha de entrada “Sobre a entrada <M,w>” e, portanto, que a entrada não está em AMT, a MT dá como saída uma cadeia que não está em PARAMT.

Qualquer cadeia que não esteja em PARAMT resolve. Em geral, quando descrevemos uma MT que computa

uma redução de A para B, entradas inapropriadamente formadas são assumidas de mapearem para cadeias fora de B.

Page 11: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Exemplo: Indecidibilidade de PCP: Se A B e A for indecidível, então B é indecidível. A prova mostrada na aula passada contém 2 reduções

por mapeamento: 1º - mostrar que AMT PCPM 2º - mostrar que PCPM PCP. Em ambos os casos podemos facilmente obter a

verdadeira função de redução e mostrar que ela é uma redução por mapeamento.

O Exercício 5.6 mostra que a redutibilidade por mapeamento é transitiva, portanto essas duas reduções juntas implicam que AMT PCP.

Page 12: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Exemplo: Indecidibilidade de EQMT : Se A B e A for indecidível, então B é indecidível. Uma redução por mapeamento de VMT para EQMT está

por trás da prova. Nesse caso, a redução f mapeia a entrada <M> para a

saída <M,M1>,– M1 é a MT que rejeita todas as cadeias.

Page 13: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Exemplo: Indecidibilidade de VMT : Se A B e A for indecidível, então B é indecidível. Da redução original de AMT a VMT podemos construir

uma função f com entrada <M,w> e saída <M1> daquela prova.

Mas M aceita w sse L(M1) não for vazia portanto f é uma redução por mapeamento de AMT a .

Ela ainda mostra que VMT é indecidível porque a decidibilidade não é afetada por complementação, mas ela não dá uma redução por mapeamento de AMT a VMT.

Na verdade, nenhuma redução dessas existe.

Page 14: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

Exemplo: Indecidibilidade de VMT : Se A B e A for indecidível, então B é indecidível. Da redução original de AMT a VMT podemos construir

uma função f com entrada <M,w> e saída <M1> daquela prova.

Por contradição: supomos que AMT VMT via uma redução f. Da definição de mapeamento segue que via f.

Porém é Turing-reconhecível mas não é, o que contradiz o próximo teorema.

Page 15: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

A sensibilidade da redutibilidade por mapeamento à complementação é importante para, usando a redutibilidade, provar a não-reconhecibilidade de certas linguagens ou problemas.

TEOREMA: Se A B e B é Turing-reconhecível então A é Turing-reconhecível . A diferença da prova usando A B é que M e N são

reconhecedores ao invés de decisores.

Page 16: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADE POR MAPEAMENTO

COROLÁRIO: Se A B e A NÃO é Turing-reconhecível então B NÃO é Turing-reconhecível . Em uma aplicação típica desse corolário, fazemos A ser

, o complemento de AMT.

não é Turing-reconhecível (Corolário 4.23). A definição de redutibilidade por mapeamento implica

que A B significa que . Para provar que B não é reconhecível mostramos que AMT .

Page 17: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADEREDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

Podemos tb usar a redutibilidade por mapeamento para mostrar que certos problemas não são nem Turing-reconhecíveis nem co-Turing-reconhecíveis.

TEOREMA: EQMT não é Turing-reconhecível nem co-Turing-

reconhecível. PROVA: Mostramos que EQMT não é Turing-reconhecível,

mostrando que AMT é redutível a .

Page 18: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADEREDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

TEOREMA: EQMT não é Turing-reconhecível nem co-Turing-

reconhecível. PROVA: A redução f funciona da seguinte forma: F = “Sobre a entrada <M,w>: 1. Construa as MTs M1 e M2:

– M1 = “Sobre qualquer entrada:– 1. Rejeite.”– M2 = “Sobre qualquer entrada:– 1. Rode M sobre w. Se ela aceita, aceite.”

2. Dê como saída <M1,M2>.”.

Page 19: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADEREDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

TEOREMA: EQMT não é Turing-reconhecível nem co-Turing-

reconhecível. PROVA: M1 não aceita nada. Se M aceita w, M2 aceita

tudo, e portanto as 2 MTs não são equivalentes. Reciprocamente, se M não aceita w, M2 não aceita

nada, e elas são equivalentes. Portanto, f reduz AMT a , Para mostrar que , não é

Turing-reconhecível damos uma redução de AMT, para o complemento de , .

Logo, mostramos que AMT. A seguinte MT G computa a função redutora g.

Page 20: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADEREDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

TEOREMA: EQMT não é Turing-reconhecível nem co-Turing-

reconhecível. G = ”Para a entrada <M,w>: 1. Construa as MTs M1 e M2.

– M1 = “Sobre qualquer entrada:– 1. Aceite.”– M2 = “Sobre qualquer entrada:– 1. Rode M sobre w.– 2. Se ela aceita, aceite.”

2. Dê como saída <M1,M2>.”

Page 21: Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.

REDUTIBILIDADEREDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

TEOREMA: EQMT não é Turing-reconhecível nem co-Turing-

reconhecível. A única diferença entre f e g está em M1. Em f, M1 sempre rejeita, enquanto que em g ela

sempre aceita. Em ambas f e g, M aceita w sse M2 sempre aceita. Em g, M aceita w sse M1 e M2 são equivalentes. Essa é a razão pela qual g é uma redução de AMT.