• Nenhum resultado encontrado

A tese de Church-Turing e outros resultados teóricos

4 Evolução dos conceitos

4.8 A tese de Church-Turing e outros resultados teóricos

Até aqui foi mostrado como, do ponto de vista formal, surgiu a idéia de computação. Dentro dessa dimensão formal se procurará mostrar agora que o cume atingido, e ainda não ultrapassado, foi a Máquina de Turing. É um genial modelo abstrato de equipamento, com capacidade de processar complicadas linguagens e calcular o valor de funções aritméticas não-triviais. Pode ainda ser aperfeiçoado para realizar operações mais complexas, embora em relação ao modelo básico isto não implique um salto qualitativo, isto é, que o torne algo mais poderoso.

Em termos computacionais pode-se dizer que as Máquinas de Turing são um modelo exato e formal da noção intuitiva de algoritmo: nada pode ser considerado um algoritmo se não puder ser manipulado por uma Máquina de Turing. O princípio de que as Máquinas de Turing são versões formais de algoritmos e de que procedimento computacional algum seja considerado um algoritmo a não ser que possa ser instanciado por uma Máquina de Turing é conhecido como a Tese de Church, em homenagem ao brilhante matemático americano Alonzo Church (1903 - 1995), ou ainda Tese de Church-Turing. É uma proposição, não um teorema, porque não é um resultado matemático: simplesmente diz que um conceito informal corresponde a um objeto matemático*.

Fazendo uma pequena retrospectiva. Após os resultados de Gödel, em 1931, muitos lógicos matemáticos partiram em busca do que seria uma noção formalizada de um procedimento efetivo (por efetivo entenda-se mecânico), ou seja, o que pode ser feito seguindo- se diretamente um algoritmo ou conjunto de regras (como já visto, antigo sonho de séculos, que remonta a Leibniz). Destas buscas surgiram:

• a sistematização e desenvolvimento das funções recursivas (introduzidas nos trabalhos de Gödel e Herbrand) por Stephen Cole Kleene (1909-1994) em sua teoria lógica da

* Teoricamente é possível que a tese de Church seja derrubada em algum futuro, caso surja um modelo alternativo de computação que seja publicamente aceitável como algo que preenche totalmente as exigências de executar finitamente cada passo e fazer operações não executadas por qualquer Máquina de Turing. Até a data da confecção deste trabalho não surgiu ainda algo de consistente que viesse a superar a tese de Church (o "computador quântico" − sobre o qual não há ainda uma literatura séria disponível, para se poder falar algo dele nesse trabalho − é algo que poderia ocasionar um abalo nesse sentido)

computabilidade (parte de seu livro Introdução à Metamatemática, um dos cumes da lógica matemática dos últimos anos);

• as Máquinas de Turing;

• o cálculo-lambda (componente característico fundamental da linguagem de programação LISP) de Alonzo Church;

• a Máquina de Post, análoga à de Turing, tornada pública um pouco depois, fruto de trabalho independente, e seu sistema para rescrita de símbolos (cuja gramática de Chomsky é um caso particular), de Emil L. Post (1897 - 1954).

Com efeito, todos esses conceitos levaram à mesma conclusão e acabaram por ter o mesmo significado, dentro do citado escopo da busca de uma definição bem elaborada de

processo efetivo. O que se desenvolverá aqui refere-se mais a Church e Turing (Kleene fez em

seu trabalho uma ampla abordagem de ambos, tirando várias conseqüências, e Post trata do mesmo tema de Turing), para se ter uma visão mais clara da diversificação dos estudos da década de 1930, com vistas à fundamentação teórica de toda a Computação.

Em seu célebre teorema, Church demonstrou, em 1936, que não pode existir um procedimento geral de decisão para todas as expressões do Cálculo de Predicados de 1a

ordem, ainda que exista tal procedimento para classes especiais de expressões de tal cálculo. Isso pode causar certo espanto quando se observa que o Cálculo de Predicados de 1a ordem é

semanticamente completo, com o que se diz, implicitamente, que o próprio cálculo, com seus axiomas e regras, constitui um algoritmo capaz de enumerar uma após outra todas as suas expressões válidas. Estas expressões são em quantidade indefinida, e, mesmo sendo enumeráveis (isto é, elaboráveis passo a passo a partir dos axiomas), essa enumeração não tem fim. Compreende-se então que, ao se conseguir demonstrar uma determinada fórmula P em certo momento, isto já basta para afirmar que se trata de uma fórmula válida. E, pelo contrário, se depois de haver deduzido mil teoremas dos axiomas, P ainda não apareceu, não se pode afirmar nada, porque P poderia aparecer após outros mil teoremas, permitindo-se reconhecer sua validade, ou não aparecer nunca, por não ser válida. Mas não se poderá afirmar em qual caso se está, mesmo depois das mil deduções.[Aga86].

A decisão, dentro desse cálculo, seria possível possuindo-se um algoritmo capaz de enumerar as expressões não válidas. A expressão P então aparecia dentro desse conjunto de não válidas em algum momento. O teorema de Church de que se está tratando consiste fundamentalmente na demonstração de que não existe algoritmo capaz de enumerar as expressões não válidas, de maneira que fica excluído a priori todo procedimento de decisão para as expressões do Cálculo de Predicados, em geral. Para compreender as razões de semelhante fato seria necessário valer-se das noções técnicas relacionados com os conceitos da matemática recursiva, que excedem amplamente os limites deste trabalho.

Figura 19: Alonzo Church

Também Church estava interessado no problema de Hilbert. O resultado a que Turing tinha chegado em 1936, sobre o problema da decisão de Hilbert, havia sido também alcançado por Church, alguns poucos meses antes, empregando o conceito formalizado de lambda-definibilidade (ao invés do computável por uma Máquina de Turing, definido por Turing), no lugar do conceito informal procedimento efetivo ou mecânico. Kleene, em 1936, mostrou que lambda-definibilidade é equivalente ao conceito de recursividade de Gödel- Herbrand, e, nesse período, Church formulou sua tese, estabelecendo que a recursividade é a própria formalização do efetivamente computável. Isso foi estabelecido, no caso das funções dos inteiros positivos, por Church e Kleene, em 1936.

O cálculo-lambda, como sistema elaborado por Church para ajudar a fundamentar a Matemática (1932/33) era inconsistente, como o mostraram Kleene e Rosser (1935). Mas a parte do cálculo-lambda que tratava de funções recursivas estava correta e teve sucesso. Usando sua teoria, Church propôs uma formalização da noção de “efetivamente computável”, através do conceito de lambda-definibilidade. Turing, em 1936 e 1937, ao apresentar a sua noção de computabilidade associada a uma máquina abstrata, mostrou que a noção Turing-computável é equivalente à lambda-definibilidade [Hur80]. O trabalho de Church e Turing liga fundamentalmente os computadores com as MT. Os limites das MT, de acordo com a tese de Church-Turing, também descreve os limites de todos os computadores.

O processo que determina o valor de uma função através dos argumentos dessa função é chamado de cálculo da função (ou computar uma função). Como foi observado, a máquina de Turing pode ser matematicamente interpretada como um algoritmo e, efetivamente, toda ação de uma máquina algorítmica como o computador pode ser considerada como a de calcular o valor de uma função com determinados argumentos. Este ‘insight’ é interessante, pois fornece uma maneira de se medir a capacidade computacional de uma máquina. Necessita-se somente identificar as funções que se é capaz de computar e usar

esse conjunto como medida. Uma máquina que compute mais funções que outra é mais poderosa.

A partir dos resultados de Gödel, Turing e Church, pode-se dizer que existem funções para as quais não existe uma seqüência de passos que determinem o seu valor, com base nos seus argumentos. Dizendo-se de outra maneira, não existem algoritmos para a solução de determinadas funções. São as chamadas funções não computáveis. Isso significa que para tais funções não há nem haverá capacidade computacional suficiente para resolvê-las. Logo, descobrir as fronteiras entre funções computáveis e não computáveis é equivalente a descobrir os limites do computador em geral. A tese de Church-Turing representa um importante passo nesse sentido.

A percepção de Turing foi a de que as funções computáveis por uma MT eram as mesmas funções computáveis acima referidas. Em outras palavras, ele conjeturou que o poder computacional das MT abarcava qualquer processo algorítmico, ou, analogamente, o conceito da MT propicia um contexto no qual todas as funções computáveis podem ser descritas. Em síntese: as funções computáveis são as mesmas funções Turing-computáveis. A importância disso está na possibilidade de se verificar o alcance e limites de um computador. Na figura que segue pode-se visualizar como se dá a ligação entre os mundos formal, matemático e computacional.

Figura 20: Relacionamento entre mundos formal, matemático e computacional (cfr. [Cas97]) Sintaxe Alfabeto Símbolos/Expressões Axiomas Regras de Inferência Teoremas Algoritmo Argumentos: Símbolos na fita Padrão da fita Dados de Entrada Instruções do programa Função

Saída: expressão simbólica

Semântica Aritmética Geometria Análise Verdades Matemáticas Máquina de Turing Mundo Formal Mundo Matemático