C-Value-Enigma’s Weblog

Abril 6, 2008

Universo computacional

Arquivado em: ciencia, programação — cvalueenigma @ 4:25 am
Tags: , , ,

Nesse final de semana estava a assistir um documentário da History Channel sobre como surgiu a Teoria do Big Bang, quando comecei a pensar nas inúmeras pessoas envolvidas nesse empreendimento ao longo dos séculos e como estas utilizaram-se quase que exclusivamente da matemática como principal ferramenta de explicação da natureza.

Não me é grande surpresa o uso da matemática para esse fim, já que julga-se desde eras imemoriais ser esta a linguagem universal (ou de um ”Deus Geômetra Onipotente para quem o mundo é um imenso problema matemático“, como bem diria Leibniz). Porém, também não é surpresa todas as teorias derivadas desta serem falhas em algum ponto. Ora, ao contrário do que mundanamente se pensa, não é a matemática imperfeita como nos sugeriu Godel?

O teorema da incompletude de Godel nos diz que “a matemática não é fechada, isto é, é incompleta“. Assim, “sempre existirão questões e problemas que NÃO podem ser respondidas pelos axiomas matemáticos EMBORA estes problemas possam estar bem definidos nesta matemática. Além disso, mesmo que se introduzisse novos axiomas para resolver estes problemas, SEMPRE existirão novos problemas que não serão respondidos por ela“.

Isso nos leva à crer que, assim como acontece na física, na matemática precisamos de teorias novas cada vez mais precisas e próximas da realidade as quais possam nos trazer respostas à velhos problemas bem como novas questões a serem respondidas.

Na física inclusive, mais precisamente na mecânica quântica, é bastante comum utilizarem artifícios matemáticos como a chamada renormalização para fugir de alguns resultados indesejados (infinitos, divisões por zero etc). Sem falar de alguns “relaxamentos” das regras matemáticas que aqui acolá se encontra menção em trabalhos importantes, inclusive de Einstein como acusam alguns.

Nesse contexto, o livro A New Kind of Science de Stephen Wolfram nos propõe que nossa matemática mostra-se assim incompleta por ser um simples reflexo e resultado de estruturas mais básicas. Ele sugere que nossos axiomas matemáticos se apóiam em bases lógicas, isto é, podem ser representadas e reconstruídas através de regras simples em autômatos celulares (vide capítulo Systems Based on Numbers na supracitada obra).

Em sua exposição, Wolfram nos instiga com a idéia de que informações aparentemente aleatórias, como o valor de PI e os números primos, podem ser explicadas e calculadas em termos de interações lógicas.

Nesse prisma, não é difícil visualizar que interações lógicas podem simular nossa matemática, já que são através delas que nossos computadores atuais fazem cálculos, bem como entender a dificuldade da matemática em representar operações lógicas como AND, OR e NOT (“e”, “ou” e “não”) em termos de seus axiomas naturais.

Assim, podemos crer ser plausível a idéia de Wolfram de que a matemática esteja contida dentro dos axiomas da lógica, tendo as CAs (tão conhecidas na ciência da computação) como sua representação gráfica tal qual os gráficos cartesianos os são para a matemática.

Nesse contexto, não se conseguiria com a matemática expressar tudo que poderia-se fazer com a lógica binária. E não é por menos, já que na ciência da computação sabe-se que linguagens de um nivel maior não podem modelar corretamente linguagens de nível menor (que são, inevitavelmente, mais expressivas que as primeiras).

Dessa forma, por exemplo, não se consegue transpor um programa escrito nativamente em Assembly (com binário oriundo dessa linguagem de baixo nível) para uma linguagem de alto nível, como C ou Java. Nesse processo sempre se perde algo que a linguagem destino não consegue expressar.

Este é o motivo, na ciência da computação, da grande dificuldade na engenharia reversa de código binário: embora sempre seja possível “descompilar” programas binários que sejam oriundos de código de alto nível, se o binário contiver partes (ou totalmente) escritos nativamente em Assembly estas não são convertidas. Talvez até esta seja também o motivo da dificuldade da engenharia genética em “hackear” o DNA: por ser código nativamente escrito em uma linguagem de baixo nível (como descrito nesse ótimo artigo), perde-se sua representação direta em uma abstração maior.

Mas, voltando-se ao tema do universo computacional, toda essa proposta do livro sobre a possibilidade de simularmos situações complexas através de simples regras de automatos celulares e que nosso mundo talvez seja governado por elas reacende velhas questões, como por exemplo o eterno debate do “determinísmo Laplaciano x indeterminismo quântico“.

Podemos imaginar que, caso vivamos em um mundo determinista, o simples fato de estarmos imersos nesse “sistema fechado” nos impede de modelarmos estados futuros deste, pois para conseguirmos tal possibilidade precisaríamos:

  1. não interagir com o sistema, a fim de evitar reações caóticas oriundas dessa interação (o que está de acordo com a visão da mecânica quântica de que o observador, pelo simples fato de observar, modifica o estado do objeto observado);
  2. termos um simulador que funcione mais rápido que o próprio universo, a fim de podermos simular o instante inicial, passar pelo atual e chegar ao instante futuro em um tempo que possa ser humanamente mensurável.

Por estarmos imersos no universo, e não podermos fisicamente fazer um programa rodar mais rápido que a própria máquina que o executa, nos faz chegar à conclusão que nos é impossível visualizar estados futuros por meio de uma simulação perfeita.

Mas essa conclusão não exclui simulações imperfeitas e incompletas, como as que encontramos em todas as nossas teorias da física antiga e atual.

Sem comentários ainda »

Nenhum comentário ainda.

Feed RSS dos comentários deste post URI do TrackBack

Deixe um comentário

Blog no WordPress.com.