Academia.eduAcademia.edu

"Paradoxo" da Computabilidade

2014, For a complete discussion one can check the book chapter "The "paradox" of computability and a recursive relative version of the Busy Beaver function" at http://www.worldscientific.com/worldscibooks/10.1142/10017

Podemos chamar o famoso “paradoxo” de Skolem de um pseudoparadoxo metalinguístico da denumerabilidade: de dentro do sistema um conjunto não é enumerável enquanto que de fora do sistema ele pode ser. O mesmo fenômeno aparece em relação à computabilidade, ou seja, existe um pseudoparadoxo metalinguístico da computabilidade? No qual “de dentro” algo é incomputável enquanto que “de fora” esse algo pode ser computável? É na metabiologia que esse fenômeno surge para ajudar a responder a pergunta sobre como ficaria a evolução dos organismos/programas sujeitos a mutações algorítmicas aleatórias numa natureza computável, visto que nos primeiros modelos demonstrados por Gregory Chaitin isso se dá numa natureza oracular, um hipercomputador. Palavras-Chave: Metabiologia, Paradoxo de Skolem, Teoria da Computabilidade, Computabilidade da Vida, Hipótese do Universo Computável, Teoria da Informação Algorítmica.

1 “Paradoxo” da computabilidade Felipe Sobreira Abrahão Doutorando, HCTE – UFRJ E-mail: [email protected] Resumo Podemos chamar o famoso “paradoxo” de Skolem de um pseudoparadoxo metalinguístico da denumerabilidade: de dentro do sistema um conjunto não é enumerável enquanto que de fora do sistema ele pode ser. O mesmo fenômeno aparece em relação à computabilidade, ou seja, existe um pseudoparadoxo metalinguístico da computabilidade? No qual “de dentro” algo é incomputável enquanto que “de fora” esse algo pode ser computável? É na metabiologia que esse fenômeno surge para ajudar a responder a pergunta sobre como ficaria a evolução dos organismos/programas sujeitos a mutações algorítmicas aleatórias numa natureza computável, visto que nos primeiros modelos demonstrados por Gregory Chaitin isso se dá numa natureza oracular, um hipercomputador. Palavras-Chave: Metabiologia, Paradoxo de Skolem, Teoria da Computabilidade, Computabilidade da Vida, Hipótese do Universo Computável, Teoria da Informação Algorítmica. Ao tentarmos criar uma natureza metabiológica que seja computável, mas que “se comporte da mesma maneira” que uma oracular, isto é, da mesma maneira que uma natureza incomputável – em outras palavras, como um hipercomputador -, vamos nos deparar com uma série de dificuldades. A primeira delas, como já conhecido na literatura, é que não teremos um programa que resolva o problema da parada. O que é necessário para saber se uma mutação algorítmica dá algum novo 2 organismo/programa (o output da mutação aplicada sobre o organismo anterior) e se esse organismo/programa tem aptidão (seu o output) maior que o anterior ou não. Uma natureza computável obrigatoriamente precisaria ser capaz de rodar alguma função que fosse capaz de realizar essa tarefa, a qual, sabemos, é impossível para qualquer programa arbitrário. Como a evolução ocorreria, então? Caso queiramos construir uma natureza computável que “se comporte como” uma incomputável para a metabiologia 1, precisamos saber, pelo menos, como se darão os novos modelos de busca exaustiva, projeto inteligente e evolução cumulativa. Usaremos os três modelos já estabelecidos como referência para construir três novos modelos análogos. Eles precisam apresentar as mesmas propriedades desejadas por nós: evoluir com organismos e mutações análogos e num tempo de mutação 2 igual ou aproximadamente igual. Mas como poderíamos fazer isso? Infelizmente - ou não -, limitar o tempo de cômputo somente não nos garante que a evolução irá acontecer como desejamos. Nós precisamos, por exemplo, que exista uma função �(�) crescente tal que, pra todo �, o output de nenhum programa (que a natureza computável permita rodar) de tamanho menor ou igual a � (a menos de uma constante) se iguale ou supere o valor de �(�). Essa é a nossa função de aptidão, que serve para “medir” a complexidade 3 ou criatividade dos organismos/programas através do fenômeno da incompressibilidade. Sem essa função, não faria sentido falarmos de uma evolução de programas que vão se tornando mais e mais criativos. 1 E, por conseguinte, pertencente à teoria da informação algorítmica e à teoria da computabilidade. 2 É a quantidade média de mutações necessária para levar um organismo inicial qualquer até um organismo final que possui uma aptidão desejada. 3 Program-size complexity. 3 Além disso, para todo � , tem que existir um organismo/programa, que a natureza computável permita rodar, de tamanho grande o suficiente tal que seu output se iguale ou supere �(�) . Caso contrário, teríamos um cenário onde a complexidade dos organismos não cresce a partir de certo ponto, ou seja, a complexidade dos organismos seria limitada. Algo não desejável caso queiramos que a vida – no nosso caso, a “metavida”, composta por seres metabiológicos -, como um todo, possa sempre se tornar mais e mais criativa. Não é para toda limitação de tempo de cômputo de um programa que isso é verdadeiro. Por exemplo, limitando o tempo de cômputo de uma máquina de Turing por um valor constante, a complexidade desses programas será limitada. Pois, a partir de uma quantidade suficientemente grande de bits, os próximos bits não farão diferença no cômputo do programa em questão. Logo, precisamos que o tempo de cômputo seja suficientemente grande para se aproximar do tempo de cômputo necessário para computar a função �, sem nunca conseguir alcançá-lo completamente. Talvez, esta seja a principal dificuldade, onde se mostrará imperante o uso da autorreferência, a la método diagonal. Iremos explicar melhor logo abaixo. Outro requisito não trivial é que, para todo �, exista uma mutação/programa, ou uma sequência de mutações/programas, que levem qualquer organismo inicial a um organismo final com aptidão ≥ �(�) . É isso que nos diz que a natureza computável é capaz de fazer a evolução sem fim, na qual a criatividade ou complexidade dos organismos sempre pode crescer. O que é outra dificuldade. Para resolver esses problemas, tomaremos emprestado o uso do que chamaremos de subcomputação. O qual tem relação íntima com o termo subrecursão. 4 Com isso, nascerá o fenômeno da incomputabilidade relativa. Na verdade, um fenômeno totalmente análogo já é bem conhecido na literatura, também chamado de computabilidade relativa. No entanto, ele trata da computabilidade entre duas máquinas de Turing oraculares de diferentes ordens. Por exemplo, um 4 Ver ?? 4 conjunto pode ser computável por uma máquina de Turing oracular de ordem � e não pode por uma de ordem � − 1. Como será dito, esse fenômeno é uma de nossas inspirações. Porém, aqui, tratamos de relativizar a computabilidade entre duas máquinas de Turing sem acesso a oráculos. Para diferenciar os dois fenômenos, vamos chamar o primeiro de incomputabilidade relativa oracular e o segundo de incomputabilidade relativa recursiva. Então, vamos nos dedicar, agora, falar das ideias e problemas que subjazem ao plano filosófico e matemático desse conceito. Primeiro, além dos teoremas de incompletude, do problema da parada e da incomputabilidade de diversas funções (por exemplo, a Busy-Beaver), existe outro teorema da lógica matemática também muito famoso, que possui tanta, ou talvez mais, profundeza nas questões filosóficas da linguagem ou na própria fundamentação da matemática. O chamado “paradoxo” de Skolem, que não enunciaremos formalmente aqui, na verdade consiste em se mostrar matematicamente que um problema que aparentemente parece um paradoxo, na verdade, não o é. O proposto paradoxo se formaria como consequência do famoso teorema de Cantor em contraposição ao de Löwenheim-Skolem. Vamos explicar melhor o que acontece. O teorema de Cantor – possivelmente o mais importante e conhecido teorema matemático, na teoria dos conjuntos, sobre o infinito – nos diz que a quantidade de pontos num segmento qualquer de uma reta de números reais (ou a quantidade de subconjuntos de números naturais) é estritamente maior que a quantidade de números naturais. Apesar desta ser também uma quantidade infinita. Isso tudo é feito tomando como base um conceito matemático básico que chamamos de bijeção, i.e., que podemos sempre, ou indefinidamente, fazer pares de elementos, um de cada conjunto, sem repetições e de forma unívoca. Então, aplicamos o famoso artifício do método diagonal. O qual, podemos dizer, grosso modo, se trata de um argumento em que construímos um procedimento ou uma função que, caso ela 5 chame a si mesma - que ela refira a si mesma de alguma forma - obrigatoriamente produz um resultado diferente do que se tinha antes, gerando uma contradição. Com ele, conclui-se que não pode haver bijeção 5 entre os dois conjuntos em questão. Furtaremo-nos de apresentar essa demonstração aqui. No entanto, é importante frisar bem essa ideia, a qual será preciosa para o entendimento do espírito do trabalho proposto. Esse tipo de método, ou estilo, de demonstração está presente, inclusive, nas provas de incompletude, do problema da parada e da incomputabilidade da função Busy-Beaver. A autorreferência também se tornará nosso “motor”. Todavia, diferentemente do usual em que a autorreferência ou o “elemento diagonalizador” são usados para mostrar uma limitação, que algo não existe, que algo sempre escapa, culminando geralmente numa redução ao absurdo no final, nós vamos incorporar estas ideias com a própria autorreferência e construir um sistema que existe justamente porque se autodiagonaliza. Antes usávamos a autorreferência para mostrar que a existência do sistema suposto leva a uma contradição, agora, a usamos para mostrar o contrário, que o sistema suposto está bem definido. Além de abraçarmos e admirarmos o elemento diagonalizador, como já se fazia antes nos belos teoremas metamatemáticos, nós, agora, o internalizamos dentro de um sistema artificial ou teórico, um programa. Nós o estamos usando para criar e não para provar uma não existência. Internalizar a autorreferência é como andar na corda bamba em cima de um abismo. Um passo em falso e o sistema se torna contraditório, colapsa. O modo mais fácil para nos assegurarmos que isso não acontecesse foi fazer com que os programas maiores se tornem definidos porque os menores estão e assim por diante. Um “método diagonal recursivo”, que sempre olha para os anteriores, e não para todos de uma vez. 5 Na verdade, não pode haver a sobrejeção do naturais sobre o conjunto de todos os subconjuntos dos naturais. 6 Voltando ao teorema de Löwenheim-Skolem advindo da teoria dos modelos na lógica-matemática, ele nos prova, por exemplo, que existe um modelo enumerável 6 para qualquer teoria, numa lógica de primeira ordem 7, dentro de uma linguagem enumerável, caso esta teoria seja satisfazível por algum modelo. 8 Sua demonstração é mais técnica que a de Cantor 9, porém, a ideia principal é que o tamanho da linguagem em que uma teoria é definida determina o tamanho do modelo que satisfaz essa teoria. Um modelo basicamente é o conjunto de estruturas10 e elementos semanticamente verdadeiros, dentre os quais a teoria em questão pertence – por isso, dizemos, nesse caso, que o modelo satisfaz tal teoria. Contudo, existe uma teoria dos conjuntos que é capaz de demonstrar, inclusive, o teorema de Cantor. Por exemplo, tome a axiomática de ZermeloFraenkel com o axioma da escolha 11. Além disso, é amplamente aceito que ela é satisfazível ou consistente. Aí se apresenta o problema: existirá um modelo enumerável, um conjunto com enumeráveis elementos, para toda uma teoria que diz que existe um conjunto não enumerável. Quando olhamos o conjunto de elementos, pertencentes ao modelo da teoria, que correspondem aos elementos do conjunto que a teoria demonstra ter uma quantidade não enumerável de elementos, ele pode ter uma quantidade enumerável de 6 Os conjuntos infinitos que podem ser colocados em bijeção com o conjunto dos números naturais dizemos que são enumeráveis ou denumeráveis, ou seja, que podem ser contados, elemento a elemento. 7 Com apenas um quantificador ∀ e um ∃ sobre variáveis de elementos constantes, e não sobre predicados (como no caso da lógica de segunda ordem). 8 Podemos também trocar a condição de ser satisfazível pela condição de ser consistente. 9 E não pertence ao escopo desse trabalho. 10 Estruturas semânticas, porém, matematizadas por funções e conjuntos. 11 A qual é uma famosa candidata a sistema axiomático formal capaz de carregar todas as demonstrações matemáticas dentro dele. 7 elementos. Essa antinomia metalinguística é um paradoxo? Ou ainda, resulta numa contradição? A resposta para isso, por mais estranha que possa parecer, dada pelo próprio Skolem em 1922, é que a propriedade da enumerabilidade depende da existência de um conjunto, que corresponde à função que faz a bijeção, dentro do próprio modelo. Essa função, ou conjunto, não pode existir dentro de nenhum modelo de ���, pois, se existisse, tornaria enumerável o conjunto de todos os subconjuntos dos naturais. Porém, pode existir “quando olhamos de fora”, quando esse conjunto/função não pertence ao modelo. Em outras palavras, a função que faz a bijeção entre os naturais e o conjunto de todos os seus subconjuntos nunca pertence a nenhum modelo da teoria dos conjuntos 12, mas pode existir. Assim, entende-se que não se forma um paradoxo verdadeiro. Forma-se o que podemos chamar de pseudoparadoxo metalinguístico: olhando “de fora” um objeto tem certa propriedade, mas olhando “de dentro” tem a propriedade contrária. É preciso frisar bem a ideia desse pseudoparadoxo metalinguístico. É dela que vem nossa inspiração para o texto. Por isso, faz sentido chamar o “paradoxo” de Skolem de pseudoparadoxo metalinguístico da denumerabilidade. Esse tipo de “inconformidade” formal, de fato, gerou – e, talvez, ainda gera – incômodo na comunidade acadêmica, principalmente, lógico-matemática. Era do desejo na época logo anterior a esse resultado que se achasse uma axiomatização para a teoria dos conjuntos, numa lógica de primeira ordem, que fosse categórica. Isto é, que só pudesse existir apenas um modelo, a menos de um isomorfismo, satisfazendo tais axiomas. O teorema de Löwenheim-Skolem pôs um fim nisso, mostrando que o tamanho dos modelos de teoria consistentes, numa lógica de primeira ordem, está mais preso ao tamanho da linguagem do que ao que a teoria “diz”. 12 Claro, caso esta seja suficientemente forte e satisfazível. 8 Coincidentemente ou não, assim também o fez os teoremas de Gödel, em 1931, colocando um fim aos anseios de se construir um sistema axiomático formal que fosse forte o suficiente para demonstrar grande parte do que sabemos sobre a aritmética (ou sobre a teoria dos conjuntos) e, ao mesmo tempo, consistente e completa, que “abraçasse tudo”. Em outros termos, não pode existir um programa que possa decidir sempre se uma sentença matemática é verdadeira ou não. Mas o que isso tem a ver com o “paradoxo” de Skolem? Debruçaremo-nos sobre um fenômeno irmão da incompletude: a incomputabilidade. O mais conhecido e principal é, obviamente, o problema da parada, mostrado por Turing em 1936. Sabemos de uma miríade de problemas e funções que são incomputáveis. Para construirmos nosso novo pseudoparadoxo, vamos no focar na incomputabilidade: o fato de não poder haver programa que compute um problema ou uma função. Por isso, cabe a pergunta: assim como existe um pseudoparadoxo metalinguístico da denumerabilidade pode existir um pseudoparadoxo metalinguístico da computabilidade? Vamos caminhar nessa direção dentro do âmbito da metabiologia. Não é por coincidência que falamos inicialmente de fazermos uma natureza computável se “comportar” como uma oracular - já que um sistema com acesso a um oráculo a la Turing é um sistema incomputável. Tentar emular as propriedades do incomputável dentro de um computador seria uma tarefa infindável e impossível. Nós já sabemos disso. Por maior e mais complexo que seja um programa que tente computar o que um oráculo de primeira ordem pode saber, ele sempre estará fadado a falhar em um número infinito de problemas. A quantidade de informação necessária para computar um oráculo de primeira ordem é infinita e qualquer programa que se proponha a isso sempre contém, no máximo, uma quantidade finita de informação. É como partir do número zero e andar a passos infinitesimais em direção ao número real 1. Você nunca irá chegar, a não ser que dê infinitos passos. Por outro lado, isso não é um teorema tão devastador assim para os anseios da computação. De fato, isso não exclui a possibilidade de sempre podermos ir 9 incrementando nossos programas indefinidamente. Porém, nunca chegaremos no final, num programa completo. De qualquer forma, a questão é que, ao correr atrás de um hipercomputador usando um computador, estaremos olhando para a computabilidade como uma propriedade absoluta e não como uma propriedade relativa. Um oráculo de primeira ordem é o mesmo - a menos de um isomorfismo ou de uma emulação independente da máquina universal de Turing que use como referência. No entanto, assim como a denumerabilidade, como mostrado por Skolem, a computabilidade também pode depender “da onde se está olhando”: se de fora ou de dentro do sistema. Depende do ponto de vista de “quem está perguntando”. Portanto, definindo o que seja um subcomputador, que nada mais é do que uma máquina de Turing que sempre gera um output - que sempre pára -, a definição de incomputabilidade relativa aparece naturalmente sobre a versão relativa da função Busy-Beaver 13 . Além disso, construímos um subcomputador tal que essa nova função Busy-Beaver é tão incomputável para ele quanto a Busy-Beaver original é para um computador. O que, enfim, nos dá um resultado a favor do pseudoparadoxo metalinguístico da computabilidade. Isso fica cristalizado com o resultado final, onde mostramos que existe uma evolução de organismos/subprogramas metabiológicos numa natureza computável “da mesma forma”, como já mencionamos no início, que a evolução de organismos/programas metabiológicos numa natureza incomputável (oracular). A nova natureza, um sistema computável, “se comporta como se fosse” oracular, como se fosse um sistema incomputável. Ela simula, de forma indireta, um oráculo de Turing. Só que para seus subprogramas. Isso não quer dizer que emulamos todas as propriedades de um hipercomputador de primeira ordem. Em outras palavras, o resultado aqui suscitado 13 Conhecidamente como uma função incomputável e usada nas demonstrações da metabiologia. 10 é um primeiro resultado positivo em relação a mostrar que a computabilidade é um fenômeno relativo: de um sistema para um subsistema. Algumas propriedades importantes do incomputável 14, mas não todas as propriedades, foram relativizadas. Pelo menos em alguns aspectos pudemos “imitar” os “deuses”. Olhando a hierarquia de Turing, onde se encontra uma “escada” de hipercomputadores, o de cima mais poderoso que o de baixo, podemos ver que cada um no nível imediatamente acima está definido justamente pelo que o de baixo (de referência) não consegue fazer, i.e., não consegue computar. Essa hierarquia é sempre construída “de baixo pra cima”, partindo no nível zero, o qual é o da máquina de Turing universal, ou seja, um computador com recursos ilimitados. Porém, nada nos impediria de “olharmos de cima para baixo”. Como definir uma máquina universal de Turing dado, primeiramente, um hipercomputador de primeira ordem? É respondendo essa pergunta que vamos chegar diretamente na subcomputação. Seguindo a própria definição de subcomputador, veremos que uma máquina universal de Turing nada mais é que um subcomputador de um hipercomputador de primeira ordem. Este último sempre pode decidir se uma máquina de Turing pára ou não. Portanto, é possível entender a própria hipercomputação como algo relativo desde o início. Nesse ponto de vista, o presente trabalho não trás tanta mudança de perspectiva assim sobre o assunto. Além disso, podemos dizer que, caso consigamos relativizar todas as propriedades de um hipercomputador primeira ordem, traduzindo-as para a subcomputação, poderemos criar um grau de Turing negativo, abaixo do nível zero, dentro da mencionada hierarquia. E, dado isso, por que não especularmos sobre toda uma hierarquia negativa de Turing? Um campo que poderíamos chamar de hipercomputação relativa recursiva, onde poderíamos emular oráculos dentro de um computador, justamente criando subsistemas de subsistemas e assim por diante. 14 No nosso caso, estamos nos restringindo aos problemas incomputáveis de primeira ordem, como a função Busy-Beaver, por exemplo. 11 É claro que essas ideias não têm inspiração somente proveniente de problemas matemáticos. Um primeiro exemplo em relação a isso pode ser relacionado ao matemático - e não à matemática propriamente -, apesar de ser fortemente relacionado com os teoremas de incompletude. A questão é: o matemático 15 é completo? Ele é capaz de responder a qualquer pergunta sobre a aritmética ou sobre a teoria dos conjuntos? Muitos dos termos e conceitos que serão levantados nos próximos parágrafos careceriam de uma definição e uma explicação filosófica mais completa, o que optamos por não esmiuçar nesse trabalho, visto que, por enquanto, toda essa discussão tem um caráter muito mais elucidativo e inspirador do que explicativo. Nós realmente temos essa intuição de que para qualquer sistema formal desse tipo, conseguimos construir uma sentença godeliana, a qual é indecidível pelo próprio sistema, mas que nós sabemos – que intuímos 16 - se é verdadeira. Parece que nós temos um “mecanismo” de criação de axiomas em nossa mente. Por exemplo, qualquer extensão 17 da axiomática de Peano (PA) 18 feita para demonstrar cada vez mais sentenças indecidíveis - mas verdadeiras no modelo standard - pela PA, não consegue demonstrar sua própria consistência. O que, para nós, parece intuitivo e verdadeiro, por construção. 19 Não é à toa que criamos provas da 15 Apesar da ambiguidade interessante que possa se formar, estamos nos referindo, aqui, a nós, humanos, que fazemos e estudamos matemática. 16 De fato, podemos criar um sistema mais forte no qual essa sentença se torne demonstrável. Mas, assim, podemos criar outra sentença godeliana para este último e assim por diante. Esse processo não teria fim e, por isso, nenhum sistema desse tipo justificaria essa sensação ou intuição que temos que a sentença é verdadeira. 17 Por exemplo, usando os princípio de reflexão de Feferman. 18 O principal sistema axiomático para a aritmética. 19 Caso achemos intuitiva e verdadeira a consistência de PA. 12 consistência da aritmética em sistemas mais poderosos que o dedutivo, aos quais não podemos aplicar os teoremas de incompletude a la Gödel. 20 O problema todo passa a ser, então, como decidimos ou intuímos que uma sentença é verdadeira ou não. O que, na nossa mente, realiza tal tarefa? E quão poderoso é esse processo mental? Se esse “mecanismo” mental de criação de axiomas for equivalente a um processo hipercomputável, estaria explicado porque nenhum sistema axiomático formal que criamos consegue dar conta de tudo podemos fazer. Pois, nenhum deles seria capaz de computar os problemas que esse “mecanismo” mental consegue. A nossa intuição estaria sempre um passo21 a frente da consciência, o que é uma ideia muito importante para nós, como veremos adiante. Enunciamos e pensamos sobre sistemas formais enquanto dizemos estar conscientes. Enquanto dizemos, num senso comum – absolutamente não tão infundado -, estar conscientes de tudo aquilo que nos vêm à mente, inclusive, conscientes da própria matemática. Mas, como verificar se somos incomputáveis, no que concerne à consciência e à intuição, pelo menos? Um modo fácil seria comprovar que conseguimos trabalhar com infinitas coisas ao mesmo tempo. Imagine saber todas as casas decimais de Pi ao mesmo tempo ou contar de um até infinito. Se fôssemos capazes desses feitos, poderíamos rodar uma regra infinitária - por exemplo, a la Gentzen - formando um sistema de prova não dedutivo muito mais poderoso que PA, no qual não vale Gödel, e que pode responder qualquer pergunta sobre a aritmética, ou seja, que é completo. No entanto, isso parece fora de nossa capacidade humana, pelo menos, até onde sabemos. Mas nem tudo está perdido. Pode ser que esse processo infinitário ocorra 20 Por exemplo, a demonstração de Gentzen. Ver ??. 21 Nesse caso, seria mais apropriado até dizer que estaria infinitos passos à frente. 13 de forma inconsciente, em algum nível infra-consciente – “abaixo” do consciente 22 dos processos mentais, os quais interagem “conosco” somente pela intuição, nos dando a sensação ou convicção 23 de que uma sentença é verdadeira ou de que não é. Parece que estamos presos a raciocinar conscientemente com um número finito de conceitos e imagens por vez. Parece que somos finitos a cada instante. Quando nos deparamos com uma sentença indecidível, para termos certeza de que nossa intuição sobre ela é verdadeira ou não, criamos outro sistema mais forte que a demonstre. Este, por sua vez, também possui seus indecidíveis, aos quais criamos outro sistema mais forte ainda para justificar nossa intuição. E, assim por diante, esse processo de “criação de axiomas” não pararia. Por conseguinte, a nossa pergunta se transforma em: esse processo que continua para sempre é computável? Para responder que não, precisamos excluir a possibilidade de que esses processos que geram essas verdades intuitivas sejam processos computáveis. Caso sejam, isso deve levar a uma contradição. Um exemplo de contradição seria a computabilidade desses processos contra o “fato” de nunca conseguirmos criar um sistema formal que compute esses processos? Esse “fato” não é tão certo assim. Apenas parece que é válido considerando nosso conhecimento até o presente momento. Note que, se conseguíssemos criar tal sistema, não seria mais possível construir sentenças indecidíveis tais que saibamos intuitivamente que elas são verdadeiras ou falsas. O nosso processo de “criação de axiomas” cessaria 24. Um sistema formal com essa característica pode ser chamado de monolito: aquilo sobre o qual nossa matemática humana se vê totalmente ignorante. Um monolito 22 Numa analogia com a computação, diríamos que se a consciência está no nível da linguagem de programação, o infra-consciente está no nível das subrotinas da linguagem de máquina. Está num nível de processos muito mais de base, os quais, dentre outras coisas, “geram ou produzem” a consciência do matemático. 23 Provavelmente, o termo mais adequado seria o da filosofia da mente: atitude proposicional. 24 Do ponto de vista de um modelo standard. 14 responderia bastante bem que o processo de “criação de axiomas” humano é computável, mas, enquanto tal monolito não aparece – se é que seja possível -, resta-nos tentar responder a última pergunta. Colocando-a em outras palavras: Pode nossa intuição matemática ser computável mesmo que nunca consigamos achar 25 um monolito? Voltando ao nosso tema, o interessante é que a subcomputação e a incomputabilidade relativa dá uma resposta quase totalmente positiva a essa pergunta, isto é, responde que é possível esse processo de criação ser computável enquanto que nunca conseguimos criar um sistema formal que compute esse mesmo processo. Por que? Caso a consciência seja um subsistema, um subcomputador, da mente, tal processo poderia ser computável pela mente e, por outro lado, incomputável relativamente à consciência, ou seja, incomputável relativamente a qualquer subprograma. O presente trabalho mostra essa possibilidade. Apesar de existir um sistema axiomático que faça tudo que o matemático possa fazer, ele poderia nos ser inalcançável. O que volta à ideia de que a intuição estaria sempre um passo a frente da consciência. No entanto, um pouco diferente do que se a intuição fosse realmente hipercomputável. Neste primeiro caso, podemos tomar emprestada a parábola famosa de Zenão do Aquiles com a Tartaruga. Imagine que a tartaruga (nossa intuição) esteja a uma distância infinita de Aquiles (nossa consciência matemática). Por mais que ele corra 26, nunca chegará na tartaruga, a qual estará sempre a uma distância infinita à frente dele. Já no segundo caso, o caso computável, no parágrafo anterior, é melhor usarmos outra parábola: a imagem do Burro e a Cenoura. Imagine um homem sentado num burro faminto com uma vara e uma cenoura presa na ponta 25 É mais que demonstrar, porque um monolito só pode ser evidenciado como tal pelo teste empírico e/ou cognitivo – subjetivo em grande parte, com certeza – de que não consigamos saber nem intuir se ele é consistente ou não, por exemplo. 26 Considerando que Aquiles só pode correr uma distância finita por unidade de tempo. 15 desta. O homem exibe a cenoura na frente do rosto do burro. Assim, ele faz o faminto burro andar atrás da cenoura, mas este nunca a alcança. Porém, não porque ela está a uma distância infinita dele, mas sim porque toda vez que ele anda a cenoura anda junto. A cenoura está sempre “um passo” a frente do burro. Sob essa perspectiva, mesmo que um dia cheguemos a um candidato a monolito, ele nunca poderá computar tudo que nossa intuição pode. O máximo que ele pode fazer é computar tudo que nossa intuição já computou até o momento que o criamos. Portanto, para nós, conscientes, pareceria que nós mesmos (nossa mente) somos incomputáveis, enquanto não realmente sendo – caso algo ou alguém possa nos olhar “de fora”. Aí estaria outro pseudo-paradoxo metalinguístico 27: o “paradoxo” da intuição matemática. É preciso dizer que existem diversos tipos de intuições matemáticas. Aqui, nos prendemos tanto a lógico-formal quanto a computacional, porque elas são as mais próximas do nosso tema, além de serem as áreas canônicas da onde brotam os argumentos que nossa capacidade humana para matemática não é computável, ou emulável dentro de um computador. 28 De qualquer forma, podemos dizer que isso tudo é uma ironia interessante contra o nosso “antropocentrismo de cada dia”29. A ideia da consciência 30 ser um subcomputador da mente nos resolve outros problemas interessantes. A definição básica de um subcomputador é que ele é um computador que sempre produz output para qualquer input, ou ainda, que existe um programa que sempre sabe o output de qualquer subprograma de seu respectivo subcomputador. Nós sabemos que identificar qualquer processo mental com um 27 Só que, agora, muito mais filosófico que matemático. 28 Ver ?? 29 Obviamente, uma ironia somente válida caso nossa mente seja realmente computável. 30 Aqui não valerá a pena, por enquanto, distinguir entre autoconsciência, tomar ciência, senciência, estado de vigília e outras propriedades ditas da consciência. Para simplificar, consideremos que o consciente é o estado mental onde todas estas propriedades estão presentes. O que, provavelmente, se encaixa no senso comum do que entendemos por consciência. Ver ?? 16 cômputo gera vários problemas filosóficos. Um exemplo poderia ser a natureza dos fenômenos da consciência, ou o que são nossos estados qualitativos da experiência cognitiva. Esse é um campo muito controverso, o qual fugiria completamente do objetivo desse texto. Para fins práticos, vamos nos ater a natureza processual ou funcional da mente, onde o que importa são as relações entre as coisas ou objetos mentais. Se o leitor quiser se aprofundar mais nessas questões filosóficas, é apropriado dizer que estaríamos nos atendo à visão funcionalista 31 da mente. Dessa forma, seria pertinente discutir se a mente computa ou hipercomputa, nos permitindo continuar com nossa elucidação sem maiores problemas. Por que parece que sempre podemos produzir um conceito sobre tudo aquilo que tomamos consciência? 32 Por que estamos sujeitos a ilusões de ótica, ou ainda, por que a imagem que vemos, a qual já seria pré-processada, não é a mesma imagem que nossos olhos captam? 33 Por que sempre podemos fazer alguma escolha – mesmo que não saibamos qual a melhor - se tivermos um limite obrigatório de tempo para isso? 34 Por que os pensamentos nunca param de vir a nós, enquanto estamos no estado consciente? Todas essas perguntas dançam em volta de uma função básica da mente. Estamos falando dos processos mentais que geram um estado mental dado que outro ocorreu, isto é: aquele que gera os pensamentos à consciência; aquele que escolhe algo quando somos obrigados a isso; aquele que produz a imagem e sentido da mesma, os quais tomamos consciência, a partir dos que os olhos captam; aquele que sempre produz um entendimento sobre tudo aquilo que é objeto da 31 O funcionalismo, resumidamente, é um ponto de vista filosófico em que o que importa são as relações entre as coisas ou elementos de um sistema e não do que essas coisas são feitas e nem o que são. 32 Guardadas as devidas situações em que não se considera um indivíduo plenamente consciente de si mesmo. 33 Isso poderia ser estendido a todos os sentidos. 34 Salvo quando se diz que o indivíduo está acometido de algum distúrbio mental mais sério. 17 mente. Esses são exemplos com um simples intuito de mostrar que esses processos mentais sempre produzem um resultado final, sempre geram um output, sempre nos dão outro estado mental dado que outro ocorreu. Eles nunca entram em loop, eles nunca param – pelo menos não enquanto se diz que estamos conscientes. Essa seria uma função básica da mente: manter os pensamentos fluindo. Nós só teríamos acesso àquilo que a mente já computou. Não é à toa que isso casa perfeitamente com a ideia de subcomputação, como já falamos sobre. Para manter os pensamentos sempre fluindo, qualquer processo ou operação consciente precisa sempre resultar em algo, isto é, a mente sempre tem que poder dar algum pensamento resultante desse processo. Assim, poderíamos dizer que a consciência é o produto, ou uma sequência de outputs, de processos mentais (subprogramas) que a geram. Um dos efeitos colaterais que isso pode gerar, como mostrado nesse trabalho, é a intuição ter um poder de cômputo sempre maior que qualquer operação consciente. O que, fortuitamente ou não, pôde – e poderia para outros exemplos não discutidos nessa tese - também nos dar insights sobre vários problemas da ciência cognitiva e filosofia da mente. Sob alguns aspectos, majoritariamente dentro do escopo do funcionalismo, essa ideia corrobora com a visão computacionalista da mente. Na qual a mente pode ser entendida como um sistema físico-químico cujas relações podem ser emuladas por um computador suficientemente poderoso 35. Vamos, então, nos voltar para problemas mais objetivos, ditos das ciências naturais. A biologia é, com certeza, um dos focos de toda a problemática do tema dessa tese. Vide a própria metabiologia. Simular ou emular num computador o funcionamento de um ser vivo ou um organismo inteiro, por mais simples que seja, se tornou um programa de pesquisa importante em alguns campos, inclusive, dentro da própria biologia. E isto tem tudo a ver com os seres vivos serem computáveis ou 35 Por suficientemente poderoso, dentro da teoria da computação, entende-se por um computador com recursos energéticos e memória suficientemente grandes. 18 não, ou seja, se seria necessário um hipercomputador 36 para emular um ser vivo ou um se um computador já bastaria. Os organismos são conhecidos por serem sistemas altamente complexos, com intrincados mecanismos químicos, dos quais muitos ainda se acredita não saber como funciona. Por exemplo, o projeto genoma humano se deparou com inúmeras dificuldades de identificar a função de cada gene. O próprio DNA “lixo”, como é chamado uma parte do nosso genoma a qual se acreditava não ter função fenotípica, pode possuir funções de ativação e inibição dos próprios genes codificadores de proteínas. 37 Mas isso, a princípio, não configuraria uma impossibilidade em relação a esse sistema (o organismo) ser computável. Existem programas tão complexos que nem chegamos perto ainda de programá-los. Por isso, a questão fica em saber qual o poder de cômputo de um sistema vivo: se é hipercomputável ou se é computável. Isso vem desde se a física do universo é digital ou analógica até se podem surgir propriedades emergentes não computáveis de sistemas digitais físico-químicos. Maiores discussões e exemplos sobre isso podem ser vistos no capítulo sobre evolução de hiperprogramas. 38 Para o âmbito da subcomputação, a questão importante se torna saber se, de uma maneira bastante análoga ao “paradoxo” da intuição matemática, os seres vivos podem parecer incomputáveis para nós, mesmo não o sendo realmente. Se nós somos um tipo de organismo e a nossa biologia parece para nós mesmos como sendo incomputável, isso quer dizer que o ser humano, enquanto organismo, é incomputável? Assumindo, novamente, um ponto de vista próximo ao funcionalismo 39 e ao fisicalismo 40, teríamos que o nosso “poder de cômputo mental” 36 Também suficientemente poderoso. 37 Ver ?? 38 Capítulo ?? 39 Só que agora para a biologia. 19 não poderia ser superior ao poder de cômputo do ser humano, enquanto organismo. Visto que, assim, a mente – e também a consciência - humana seria um subsistema do organismo humano. Pois, então, a consciência poderia ser um subcomputador do organismo humano, o qual a menos de níveis de complexidade genética, estaria no nível zero da hierarquia de Turing, no nível dos computáveis. Mas o presente trabalho mostra que, se for assim, é possível que o organismo humano seja capaz de computar funções que a consciência humana não consegue. Por isso, pareceria que a biologia é muito mais complexa que qualquer computador definido por nós mesmos. Seguindo a mesma linha de pensamento da intuição matemática, podemos chamar esse fenômeno hipotético de “paradoxo” da computabilidade biológica. “De dentro” a biologia parece incomputável, mas “de fora” ela pode não ser. O problema é que, dessa forma, estaríamos fadados a nunca conseguir emular um organismo – pelo menos, quase tão complexo quanto o humano – num computador feito por nós. Ou, no mínimo, nunca conseguiríamos entender ou provar que um computador, de fato, está emulando um organismo. Esse “paradoxo” funcionaria como uma lei de ignorância da biologia, onde estaríamos determinados a nunca conseguir entender completamente o nosso próprio funcionamento. Enfim, não estamos tentando aqui exaurir as explicações para essas questões mais filosóficas. Nem tivemos a oportunidade de defini-las melhor. De qualquer forma, pretende-se que fique claro o quão profícuo e inspirador pode ser essa ideia do pseudo-paradoxo metalinguístico (sistema e subsistema) quando trazida para o campo da computabilidade. Possivelmente, para toda a ciência da computação e não só para esse campo. Seguindo a mesma linha de pensamento, 40 Basicamente, no nosso caso, que a mente pode ser completamente explicada em termos da física ou das leis do Universo. Em particular, a razão humana seria um subsistema do organismo humano. 20 por exemplo, poderíamos pensar em aleatoriedade relativa, em que um número é aleatório em relação a um subcomputador mas não é em relação a um computador. Mesmo que os resultados matemáticos a seguir apresentem algum erro ou problema, as ideias que estão por trás disso tudo são muito mais importantes. Além disso, talvez, mesmo que esse trabalho falhe em provar a existência do “paradoxo” da computabilidade, alguém num futuro próximo conseguirá. Esse fenômeno, depois de concebido, possui grande pregnância na nossa razão matemática-científicafilosófica - se é que, em última instância, podemos separar essas três. Agradecimentos aos professores Francisco Antônio Dória e Gregory Chaitin. 1. REFERÊNCIAS CHAITIN, G. Meta Math!: the quest for omega. [S.l.]: Vintage Books, 2005. ISBN 978-1-4000-7797-7. CHAITIN, G. Life as Evolving Software. In: ZENIL, H. A Computable Universe: Understanding and Exploring Nature as Computation. [S.l.]: [s.n.], 2012. p. 277-302. ISBN 978-9814374293. CHAITIN, G. Proving Darwin: making biology mathematical. [S.l.]: Vintage Books, 2012. ISBN 978-1-4000-7798-4. DA COSTA, N. C. A.; DORIA, F. A. Some thoughts on hypercomputation. Applied Mathematics and Computation 178, 2006. ENDERTON, H. A mathematical introduction to logic. 2ª. ed. Boston, MA: Academic Press, 2001. ISBN 978-0-12-238452-3. 21 ROGERS, H. Theory of recursive functions and effective computability. 3ª. ed. [S.l.]: MIT Press, 1992. ISBN 0-262-68052-1.