A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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

2 REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de converter um problema em outro

3 FORMA 1 - REDUTIBILIDADE A B ( A se reduz a B) A B ( A se reduz a B) Resolver A não pode ser mais difícil que resolver B Resolver A não pode ser mais difícil que resolver B Se B for decidível A tb será. Se B for decidível A tb será. Se A for indecidível, B tb será. Se A for indecidível, B tb será.

4 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO O método da história de computação é uma técnica importante para provar que A MT é redutível a certas linguagens. O método da história de computação é uma técnica importante para provar que A MT é redutível a certas linguagens. Esse método é muito útil quando o problema a ser mostrado como indecidível envolve testar a existência de algo. Esse método é muito útil quando o problema a ser mostrado como indecidível envolve testar a existência de algo. Por exemplo, a indecidibilidade do 10º problema de Hilbert: testar a existência de raízes inteiras em um polinômio. Por exemplo, a indecidibilidade do 10º problema de Hilbert: testar a existência de raízes inteiras em um polinômio.

5 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO A história de computação para uma MT sobre uma entrada é a seqüência de configurações pelas quais MT passa a medida em que ela processa a entrada. A história de computação para uma MT sobre uma entrada é a seqüência de configurações pelas quais MT passa a medida em que ela processa a entrada. Registro completo da computação de MT. Registro completo da computação de MT.

6 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO DEFINIÇÃO: Seja M uma MT e w uma cadeia de entrada. Seja M uma MT e w uma cadeia de entrada. Uma história de computação de aceitação para M sobre w é uma seqüência de configurações, C1, C2,...,Cl, onde: Uma história de computação de aceitação para M sobre w é uma seqüência de configurações, C1, C2,...,Cl, onde: –C1 é a configuração inicial de M sobre w, –Cl é uma configuração de aceitação de M, e –Cada Ci segue de Ci-1 conforme as regras de M. Uma história de computação de rejeição para M sobre w é definida similarmente, exceto que Cl é de rejeição. Uma história de computação de rejeição para M sobre w é definida similarmente, exceto que Cl é de rejeição.

7 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO Histórias de computação são seqüências finitas. Histórias de computação são seqüências finitas. Se M não para sobre w, nenhuma história de computação de aceitação ou de rejeição existe para M sobre w. Se M não para sobre w, nenhuma história de computação de aceitação ou de rejeição existe para M sobre w. MTs determinísticas têm no máximo uma história de computação sobre qualquer entrada. MTs determinísticas têm no máximo uma história de computação sobre qualquer entrada.

8 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO DEFINIÇÃO: Um autômato linearmente limitado (ALL) é um tipo restrito de MT na qual a cabeça de leitura-escrita não pode se mover para fora da parte da fita contendo a entrada. Um autômato linearmente limitado (ALL) é um tipo restrito de MT na qual a cabeça de leitura-escrita não pode se mover para fora da parte da fita contendo a entrada. Se a máquina tentar mover sua cabeça para além de qualquer das extremidades da entrada, a cabeça permanece onde está. Se a máquina tentar mover sua cabeça para além de qualquer das extremidades da entrada, a cabeça permanece onde está.

9 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO Um autômato linearmente limitado (ALL) é uma MT com uma quantidade limitada de memória. Um autômato linearmente limitado (ALL) é uma MT com uma quantidade limitada de memória. Ele só pode resolver problemas que requerem memória que possa caber dentro da fita usada para a entrada. Usar um alfabeto de fita maior que o alfabeto de entrada permite que a memória disponível seja incrementada de no máximo um fator constante. Ele só pode resolver problemas que requerem memória que possa caber dentro da fita usada para a entrada. Usar um alfabeto de fita maior que o alfabeto de entrada permite que a memória disponível seja incrementada de no máximo um fator constante. Logo, dizemos que para uma entrada de comprimento n, a quantidade de memória disponível é linear em n. Logo, dizemos que para uma entrada de comprimento n, a quantidade de memória disponível é linear em n.

10 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO ALLs são poderosos. ALLs são poderosos. são ALLs. A AFD, A GLC, V AFD e V GLC são ALLs. Toda LLC pode ser decidida por um ALL Toda LLC pode ser decidida por um ALL é o problema de se determinar se um ALL aceita sua entrada. Muito embora seja o mesmo que o problema indecidível onde a MT é um ALL, podemos mostrar que é decidível. A ALL é o problema de se determinar se um ALL aceita sua entrada. Muito embora A ALL seja o mesmo que o problema indecidível A MT onde a MT é um ALL, podemos mostrar que A ALL é decidível. = { | M é um que aceita a cadeia w} A ALL = { | M é um A ALL que aceita a cadeia w}

11 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO

12 TEOREMA: é decidível. A ALL é decidível. IDÉIA DA PROVA: Para decidir se a ALL M aceita a entrada w, simulamos M sobre w. IDÉIA DA PROVA: Para decidir se a ALL M aceita a entrada w, simulamos M sobre w. Durante a simulação, se M para e aceita ou rejeita, Durante a simulação, se M para e aceita ou rejeita, aceitamos ou rejeitamos. aceitamos ou rejeitamos. A dificuldade ocorre se M entra em loop sobre w. Precisamos ser capazes de detectar a entrada em loop de modo que possamos parar e rejeitar. A dificuldade ocorre se M entra em loop sobre w. Precisamos ser capazes de detectar a entrada em loop de modo que possamos parar e rejeitar. A idéia de detectar quando M está em loop é que, à medida em que M computa sobre w, ela vai de configuração em configuração. A idéia de detectar quando M está em loop é que, à medida em que M computa sobre w, ela vai de configuração em configuração.

13 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO TEOREMA: IDÉIA DA PROVA: Se M repetir uma configuração ela continuaria a repeti-la e estaria em loop. IDÉIA DA PROVA: Se M repetir uma configuração ela continuaria a repeti-la e estaria em loop. Em razão de M ser um ALL, a quantidade de fita disponível para ela é limitada. Pelo Lema mostrado, M pode estar em apenas um número limitado de configurações sobre essa quantidade de fita. Em razão de M ser um ALL, a quantidade de fita disponível para ela é limitada. Pelo Lema mostrado, M pode estar em apenas um número limitado de configurações sobre essa quantidade de fita. Consequentemente, apenas uma quantidade limitada de tempo está disponível para M antes que ela entre em alguma configuração previamente visitada. Consequentemente, apenas uma quantidade limitada de tempo está disponível para M antes que ela entre em alguma configuração previamente visitada. Detectar que M está em loop é possível simulando M pelo número de passos dado pelo Lema. Detectar que M está em loop é possível simulando M pelo número de passos dado pelo Lema. Se M não parou então, ela tem que estar em loop. Se M não parou então, ela tem que estar em loop.

14 REDUTIBILIDADE TEOREMA 5.9: A ALL é decidível.

15 q aceita q rejeita Aceita Rejeita M,w w M L Se o no. de config. de M > q.n.g n

16 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO O Teorema 5.9 mostra que ALLs e MTs diferem de uma maneira essencial: Para ALLs o problema da aceitação é decidível, mas para MTs não. O Teorema 5.9 mostra que ALLs e MTs diferem de uma maneira essencial: Para ALLs o problema da aceitação é decidível, mas para MTs não. Entretanto, certos outros problemas envolvendo ALLs permanecem indecidíveis. Entretanto, certos outros problemas envolvendo ALLs permanecem indecidíveis. Um deles é o problema da vacuidade: Um deles é o problema da vacuidade: V ALL = { | M é um ALL onde L(M) = }. V ALL = { | M é um ALL onde L(M) = }. Para provar que V ALL é indecidível, damos uma redução que usa o método da história de computação. Para provar que V ALL é indecidível, damos uma redução que usa o método da história de computação.

17 REDUTIBILIDADE REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO TEOREMA: é indecidível. V ALL é indecidível. IDÉIA DA PROVA: Essa prova é por redução a partir de. Mostraremos que se fosse decidível, também seria. IDÉIA DA PROVA: Essa prova é por redução a partir de A MT. Mostraremos que se V ALL fosse decidível, A MT também seria. Suponha que seja decidível. Suponha que V ALL seja decidível. Para uma MT M e uma entrada w podemos determinar se M aceita w construindo um certo ALL B e então testar se L(B) é vazia. Para uma MT M e uma entrada w podemos determinar se M aceita w construindo um certo ALL B e então testar se L(B) é vazia. A linguagem que B reconhece compreende todas as histórias de computação de aceitação para M sobre w. A linguagem que B reconhece compreende todas as histórias de computação de aceitação para M sobre w.

18 REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO é indecidível. REDUÇÕES VIA HISTÓRIAS DE COMPUTAÇÃO V ALL é indecidível. Se M não aceita w, essa linguagem é vazia. Se pudermos determinar se a linguagem de B é vazia, podemos determinar se M aceita w. Se M não aceita w, essa linguagem é vazia. Se pudermos determinar se a linguagem de B é vazia, podemos determinar se M aceita w. Agora descrevemos como construir B a partir de M e w. Agora descrevemos como construir B a partir de M e w. Note que precisamos mostrar mais que a mera existência de B. Note que precisamos mostrar mais que a mera existência de B. Temos que mostrar como uma MT pode obter uma descrição de B, dadas descrições de M e w. Temos que mostrar como uma MT pode obter uma descrição de B, dadas descrições de M e w. Construímos B para aceitar sua entrada x se x é uma história de computação de aceitação para M sobre w. Construímos B para aceitar sua entrada x se x é uma história de computação de aceitação para M sobre w. Uma HC de aceitação é a sequência de configurações, C1, C2,...,Ci pela qual M passa quando aceita w. Uma HC de aceitação é a sequência de configurações, C1, C2,...,Ci pela qual M passa quando aceita w.

19 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. Esta HC pode ser vista como uma só cadeia: Esta HC pode ser vista como uma só cadeia: Funcionamento: quando ALL B recebe uma entrada x, espera-se que B aceite se x for uma computação de aceitação para M sobre w. Funcionamento: quando ALL B recebe uma entrada x, espera-se que B aceite se x for uma computação de aceitação para M sobre w. Primeiro, B quebra x, conforme os delimitadores, em cadeias C1, C2,...,Ci. Primeiro, B quebra x, conforme os delimitadores, em cadeias C1, C2,...,Ci.

20 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. Então B determina se Ci satisfaz às 3 condições de uma HC de aceitação: Então B determina se Ci satisfaz às 3 condições de uma HC de aceitação: 1. C1 é a configuração inicial para M sobre w. 1. C1 é a configuração inicial para M sobre w. 2. Cada Ci+1 legitimamente segue de Ci. 2. Cada Ci+1 legitimamente segue de Ci. 3. Ci é uma configuração de aceitação para M. 3. Ci é uma configuração de aceitação para M. A configuração inicial C1 para M sobre w é a cadeia q0w1w2... wn. A configuração inicial C1 para M sobre w é a cadeia q0w1w2... wn. B tem essa cadeia diretamente embutida, de modo que ela é capaz de verificar a primeira condição. B tem essa cadeia diretamente embutida, de modo que ela é capaz de verificar a primeira condição. Uma configuração de aceitação é aquela que contem o estado de aceitação q aceita, portanto B pode verificar a 3ª condição procurando por q aceita em Ci. Uma configuração de aceitação é aquela que contem o estado de aceitação q aceita, portanto B pode verificar a 3ª condição procurando por q aceita em Ci.

21 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. A 2ª condição é a mais difícil de verificar. A 2ª condição é a mais difícil de verificar. Para cada par de configurações adjacentes, B verifica se Ci+1 segue de Ci. Esse passo envolve verificar que Ci e Ci+1 são idênticas exceto pelas posições sob e adjacentes à cabeça em Ci. Essas posições têm que ser atualizadas conforme a função de transição de M. Para cada par de configurações adjacentes, B verifica se Ci+1 segue de Ci. Esse passo envolve verificar que Ci e Ci+1 são idênticas exceto pelas posições sob e adjacentes à cabeça em Ci. Essas posições têm que ser atualizadas conforme a função de transição de M. Então B verifica se a atualização foi feita apropriadamente zigue-zagueando entre posições correspondentes de Ci e Ci+1. Para manter o registro das posições correntes durante o zigue-zague, B marca a posição corrente com pontos sobre a fita. Então B verifica se a atualização foi feita apropriadamente zigue-zagueando entre posições correspondentes de Ci e Ci+1. Para manter o registro das posições correntes durante o zigue-zague, B marca a posição corrente com pontos sobre a fita.

22 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. Finalmente, se as condições 1, 2 e 3 são satisfeitas, B aceita sua entrada. Finalmente, se as condições 1, 2 e 3 são satisfeitas, B aceita sua entrada. Note que o ALL B não é construído para rodar sobre alguma entrada. Construimos B apenas para alimentar uma descrição de B no decisor para V ALL. Note que o ALL B não é construído para rodar sobre alguma entrada. Construimos B apenas para alimentar uma descrição de B no decisor para V ALL. Uma vez que esse decisor retorne sua resposta podemos invertê-la para obter a resposta a se M aceita w. Uma vez que esse decisor retorne sua resposta podemos invertê-la para obter a resposta a se M aceita w. Portanto, poderíamos decidir, uma contradição! Portanto, poderíamos decidir A MT, uma contradição!

23 REDUTIBILIDADE B é um ALL que aceita a HC de aceitação de w por M qAqA qRqR x C 1 C 2...C l Q. x B C 1 = q 0 w 1...w n Sim C l contem q aceita Sim C i+1 segue de C i Sim Não

24 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. PROVA: Agora estamos prontos para enunciar a redução de AMT para V ALL. PROVA: Agora estamos prontos para enunciar a redução de AMT para V ALL. Suponha que MT R decide V ALL. Construa MT S que decide AMT da seguinte forma. Suponha que MT R decide V ALL. Construa MT S que decide AMT da seguinte forma. S = Sobre a entrada, com M MT e w cadeia: S = Sobre a entrada, com M MT e w cadeia: 1. Construa o ALL B a partir de M e w conforme descrito na ideia da prova. 1. Construa o ALL B a partir de M e w conforme descrito na ideia da prova. 2. Rode R sobre a entrada. 2. Rode R sobre a entrada. 3. Se R rejeita, aceite; se R aceita, rejeite. 3. Se R rejeita, aceite; se R aceita, rejeite.

25 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. Se R aceita, então L(B) =. Se R aceita, então L(B) =. Portanto, M não tem nenhuma HC de aceitação sobre w e M não aceita w. Portanto, M não tem nenhuma HC de aceitação sobre w e M não aceita w. Consequentemente, S rejeita. Consequentemente, S rejeita. Similarmente, se R rejeita, a linguagem de B é não-vazia. A única cadeia que B pode aceitar é uma HC de aceitação para M sobre w. Similarmente, se R rejeita, a linguagem de B é não-vazia. A única cadeia que B pode aceitar é uma HC de aceitação para M sobre w. Portanto, M deve aceitar w. Portanto, M deve aceitar w. Consequentemente, S aceita. Consequentemente, S aceita.

26 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível. q rejeita q aceita Aceita Rejeita Aceita M,w B Construção do ALL B R S

27 REDUTIBILIDADE TEOREMA 5.10: V ALL é indecidível.


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google