You are on page 1of 3

Teoria da Computao Tese de Church, Classes de Solucionabilidade e Problemas de Deciso der Gusatto, Helena Braga, Jos Mathias Gusso

29/05/2003

Tese de Church Turing props um modelo abstrato de computao, conhecido como Mquina de Turing, com o objetivo de explorar os limites da capacidade de expressar solues de problemas. Trata-se, portanto, de uma proposta de definio formal da noo intuitiva de algoritmo. Diversos outros trabalhos, como Mquina de Post (Post - 1936) e Funes Recursivas (Kleene - 1936), bem como a Mquina Norma e o Autmato com Pilhas, resultaram em conceitos equivalentes ao de Turing. O fato de todos esses trabalhos independentes gerarem o mesmo resultado em termos de capacidade de expressar computabilidade um forte reforo no que conhecido como Hiptese de Church ou Hiptese de Turing-Church: "A capacidade de computao representada pela Mquina de Turing o limite mximo que pode ser atingido por qualquer dispositivo de computao" Em outras palavras, a Hiptese de Church afirma que qualquer outra forma de expressar algoritmos ter, no mximo, a mesma capacidade computacional da Mquina de Turing. Como a noo de algoritmo ou funo computvel intuitiva, a Hiptese de Church no demonstrvel. Ela uma tese, no um teorema, porque no um resultado matemtico: ela simplesmente afirma que um certo conceito informal (algoritmo) corresponde a um certo objeto matemtico (mquina de Turing). No sendo uma instruo matemtica, a hiptese de Church no pode ser provada. Supondo verdadeira a Hiptese de Church, pode-se afirmar que para: a) Funo Computvel: possvel construir uma Mquina de Turing (ou formalismo equivalente) que compute a funo; b) Funo No-Computvel: No existe Mquina de Turing (ou formalismo equivalente) que compute a funo.

Classes de Solucionabilidade de Problemas Problema Solucionvel: Um problema dito Solucionvel ou Totalmente Solucionvel se existe um algoritmo (Mquina Universal) que solucione o problema tal que sempre pra para qualquer entrada, com uma resposta afirmativa (ACEITA) ou negativa (REJEITA). Problema No-Solucionvel: Um problema dito No-Solucionvel se no existe um algoritmo (Mquina Universal) que solucione o problema tal que sempre pra para qualquer entrada.

Universo de Todos os Problemas

Solucionveis

No-Solucionveis

Particionamento do conjunto de todos os problemas em classes

Problema Parcialmente Solucionvel ou Computvel: Um problema dito Parcialmente Solucionvel ou Computvel se existe um algoritmo (Mquina Universal) que solucione o problema tal que pare quando a resposta afirmativa (ACEITA). Entretanto, quando a resposta esperada for negativa, o algoritmo pode parar (REJEITA) ou permanecer processando indefinidamente (LOOP). Problema Completamente Insolvel ou No-Computvel: Um problema dito Completamente Insolvel ou No-Computvel se no existe um algoritmo (Mquina Universal) que solucione o problema tal que pare quando a resposta afirmativa (ACEITA).

Universo de Todos os Problemas

Parcialmente Solucionveis (Computveis)

Completamente Insolveis (No-Computveis)

Particionamento do conjunto de todos os problemas em classes Alguns problemas no-solucionveis so parcialmente solucionveis. Relacionamento entre as classes de problemas: a unio da Classe dos Problemas Solucionveis com a Classe dos Problemas No-Solucionveis o Universo de Todos os Problemas; a unio da Classe dos Problemas Parcialmente Solucionveis com a classe dos Problemas Completamente Insolveis o Universo de Todos os Problemas; a Classe dos Problemas Parcialmente Solucionveis contm propriamente a Classe dos Problemas Solucionveis e parte da Classe dos No-Solucionveis; todo problema solucionvel parcialmente solucionvel; existem problemas no-solucionveis que possuem soluo parcial; os problemas completamente insolveis no possuem soluo total nem parcial. Para qualquer algoritmo que solucione um problema parcialmente solucionvel que nosolucionvel, sempre existe pelo menos uma palavra de entrada que faz com que o algoritmo fique em loop.

Universo de Todos os Problemas

Solucionveis

No-Solucionveis

Parcialmente Solucionveis Computveis

Completamente Insolveis No-Computveis

Relao entre as classes de problemas

Problemas de Deciso Problemas de Deciso: Os problemas tratados so do tipo sim/no. A idia bsica verificar se a funo associada a eles ou no computvel em uma Mquina Universal. Como, pela Hiptese de Church, uma Mquina Universal o dispositivo mais geral de computao, se a soluo de um problema no puder ser expressa por uma Mquina Universal, ento tal problema completamente insolvel.
A essncia de um problema de deciso dada pela seguinte idia: dado um programa P para uma mquina universal M, decidir se a funo computada (P, M) total (ou seja, se a correspondente computao finita). Assim, no-solucionabilidade refere-se inexistncia de um mtodo geral e efetivo para decidir se um programa para uma mquina universal pra para qualquer entrada. importante reparar que o que est sendo discutido so mtodos gerais. Portanto, perfeitamente possvel existir mtodos especficos para programas particulares. A existncia de problemas no-solucionveis importante por diversas razes como, por exemplo: Alguns desses problemas no-solucionveis permitem estabelecer, por si ss, importantes resultados para a Cincia da Computao; Demonstrar limitaes da capacidade de expressar solues atravs de programas. Adicionalmente, a existncia de um problema no-solucionvel pode ser usada para verificar que outros problemas tambm o so. Isso possvel usando o princpio da reduo, o qual consiste em reduzir o problema que se est investigando em outro problema que j se saiba ser no-solucionvel.

Solucionabilidade de problemas x problema de reconhecimento de linguagens A investigao da solucionabilidade de problemas em mquinas universais pode ser vista como um problema de reconhecimento de linguagens que segue o esquema abaixo: a) O problema reescrito como um problema de deciso, capaz de gerar resposta do tipo afirmativo/negativo (sim/no). Essa redefinio simples para a maioria dos problemas gerais; b) Os argumentos do problema sim/no so codificados como palavras de um alfabeto, gerando uma linguagem.
Assim, a questo da solucionabilidade de um problema pode ser traduzida como uma investigao se a linguagem gerada recursiva (problema solucionvel) ou enumervel recursivamente (problema parcialmente solucionvel).

Computabilidade e Solucionabilidade Como visto anteriormente, definiu-se que uma funo f em um certo domnio computvel se existe uma mquina de Turing que compute o valor de f para todos os argumentos dentro do domnio. Uma funo no-computvel se no existe uma mquina de Turing. Pode existir uma funo que compute f apenas em parte de seu domnio, mas chamamos a funo de computvel apenas se existir uma mquina de Turing capaz de computar a funo em todo seu domnio. Assim sendo, para classificar uma funo em computvel ou no computvel necessrio especificar bem qual o domnio da funo.
No entanto, iremos nos preocupar apenas com funes cujo resultado ser um simples sim ou no. Neste caso falamos de funes serem solucionveis ou no-solucionveis. Por um problema, entenderemos um conjunto de frases inter-relacionadas, cada qual podendo ser verdadeira ou falsa. Por exemplo, vamos considerar a frase Para uma gramtica livre de contexto G, a linguagem L(G) ambgua. Para algumas G isso verdade, para outros falso, mas claramente devemos ter ou um ou outro. O problema decidir quando a frase verdadeira para qualquer valor de G. Mais uma vez h um domnio base, o conjunto de todas as gramticas livres de contexto. Dizemos que um problema solucionvel se h uma mquina de Turing que retorna a resposta correta para cada frase do domnio do problema. Quando esperamos resultados solucionveis ou no-solucionveis, devemos sempre saber o que o domnio, porque isto pode afetar a concluso. O problema pode ser solucionvel em um domnio, mas no em outro. Especificamente, uma nica instncia de m problema ser sempre solucionvel j que a resposta ser verdadeira ou falsa. No primeiro caso, uma mquina de Turing que sempre retorna true d a resposta correta, enquanto no segundo caso uma que sempre retorna false apropriada. Isto ressalta um ponto importante, o fato de que no sabermos qual a resposta correta no importar, o que importa que existe uma mquina de Turing que retorna a resposta correta.

You might also like