Quanto mais complexa for uma explicação, mais evidências são necessárias para encontrá-la no espaço das crenças. Na Racionalidade Tradicional, isso costuma ser formulado erroneamente como “Quanto mais complexa é uma proposição, mais evidências são necessárias para defendê-la”. Como podemos medir a complexidade de uma explicação? Como podemos determinar a quantidade de evidências necessárias?
A Navalha de Ocam é frequentemente definida como “a explicação mais simples que se ajusta aos fatos”. Robert Heinlein respondeu que a explicação mais simples é “a senhora que mora no fim da rua é uma bruxa; foi ela que fez isso”.
Observa-se que o comprimento de uma frase em inglês não é uma boa maneira de medir a complexidade. E “encaixar” os fatos, deixando meramente de proibi-los, é insuficiente.
Por que exatamente o comprimento de uma frase em inglês é uma medida pobre de complexidade? Porque, quando você fala uma frase em voz alta, está usando rótulos para conceitos que o ouvinte compartilha — o receptor já armazenou a complexidade neles. Suponha que abreviamos toda a frase de Heinlein como “Asqmnfdréubfeqfi!” para que toda a explicação possa ser transmitida em uma palavra; melhor ainda, daremos a ela um rótulo curto e arbitrário como “Fnord!” Isso reduz a complexidade? Não, porque você tem que dizer ao ouvinte com antecedência que “Asqmnfdréubfeqfi!” significa “A senhora que mora no fim da rua é uma bruxa; foi ela que fez isso”. Bruxa, em si, é um rótulo para algumas afirmações extraordinárias, só porque todos sabemos o que isso significa, não significa que o conceito seja simples.
Um enorme raio de eletricidade sai do céu e atinge alguma coisa, e o povo da tribo nórdica diz: “Talvez um agente realmente poderoso estivesse com raiva e atirou um raio”. O cérebro humano é o artefato mais complexo do universo conhecido. Se a raiva parece simples, é porque não vemos todos os circuitos neurais que implementam a emoção. (Imagine tentar explicar por que o Saturday Night Live é engraçado, para uma espécie alienígena sem senso de humor. Mas não se sinta superior; você mesmo não tem senso de fnord.) A complexidade da raiva e, na verdade, a complexidade da inteligência, foi encoberta pelos humanos que levantaram a hipótese de Thor, o agente do trovão.
Para um ser humano, explicar as equações de Maxwell leva muito mais tempo do que explicar as de Thor. Os humanos não possuem um vocabulário inato para cálculo, da mesma forma que possuímos um vocabulário inato para expressar a emoção da raiva. Antes de começar a falar sobre eletricidade, é preciso primeiro explicar a linguagem, a metalinguagem e os próprios conceitos matemáticos.
No entanto, há uma maneira na qual as equações de Maxwell podem ser mais simples do que o cérebro humano ou Thor, o agente do trovão: a programação de software.
Escrever um software que simule as equações de Maxwell é muito mais fácil do que desenvolver um software que emule uma mente emocional inteligente como a de Thor.
O formalismo da indução de Solomonoff mede a complexidade da descrição pelo comprimento do software mais curto que produz essa descrição como saída. Para falar sobre o menor software que realiza uma determinada tarefa, é necessário especificar um espaço de softwares, requerendo uma linguagem de programação e um intérprete. A indução Solomonoff usa máquinas de Turing, ou mais especificamente, cadeias de bits que especificam máquinas de Turing. Mas, e se você não quiser usar máquinas de Turing? Não se preocupe, há apenas uma penalidade de complexidade constante para projetar sua própria máquina de Turing universal, que pode interpretar qualquer código que você fornecer a ela, não importa qual linguagem de programação você escolha. Diferentes formalismos indutivos têm um fator constante de pior caso relativo entre si, correspondente ao tamanho de um intérprete universal para aquele formalismo.
Nas melhores versões (na minha humilde opinião) da indução de Solomonoff, o software não produz uma previsão determinística, mas atribui probabilidades a strings. Por exemplo, podemos escrever um programa para explicar uma moeda honesta escrevendo um programa que atribui probabilidades iguais a todas as duas elevadas à potência N, cadeias de comprimento N. Essa é a abordagem da indução de Solomonoff para ajustar os dados observados. Quanto maior a probabilidade que um programa atribui aos dados observados, melhor esse programa ajusta os dados. E as probabilidades devem somar 1, portanto, para um programa ajustar melhor uma possibilidade, ele deve roubar a massa de probabilidade de alguma outra possibilidade que então se ajustará muito pior. Não existe moeda completamente justa que atribua 100% de probabilidade para cara e 100% de probabilidade para coroa.
Como podemos compensar o ajuste dos dados em relação à complexidade do programa? Se você ignorar as penalidades de complexidade e pensar apenas no ajuste, sempre escolherá programas que afirmam prever os dados de forma determinística, atribuindo-lhes 100% de probabilidade. Se a moeda mostrar CAcocoCACAco, então o programa que afirma que a moeda foi corrigida para mostrar CAcocoCACAco ajusta os dados observados 64 vezes melhor do que o programa que afirma que a moeda é honesta. Por outro lado, se você ignorar o ajuste e considerar apenas a complexidade, a hipótese de moeda honesta sempre parecerá mais simples do que qualquer outra hipótese, mesmo que a moeda mostre sequências como CAcoCACAcoCA-CACAcoCACACACAcoCACACACACAco. Na verdade, a moeda honesta é mais simples e se ajusta a esses dados exatamente tão bem quanto a qualquer outra sequência de 20 caras ou coroas — nem mais, nem menos —mas há outra hipótese que não parece muito complicada e que se ajusta muito melhor aos dados.
Se permitirmos que um programa armazene mais um bit binário de informação, ele conseguirá reduzir pela metade o espaço de possibilidades e, portanto, atribuir o dobro de probabilidade a todos os pontos no espaço restante. Isso sugere que um bit de complexidade do programa deve custar pelo menos um “fator de ganho de dois” no ajuste. Se tentarmos projetar um software que armazene explicitamente um resultado como CAcocoCACAco, os seis bits que perdemos em complexidade devem destruir toda a plausibilidade obtida por uma melhoria de ajuste de 64 vezes. Caso contrário, mais cedo ou mais tarde, decidiremos que todas as moedas justas são fixas.
A menos que o programa seja inteligente e comprima os dados, não adianta apenas mover um bit dos dados para a descrição do programa.
A forma como a indução de Solomonoff funciona para prever sequências é a seguinte: você soma todos os softwares permitidos (se algum programa for permitido, a indução de Solomonoff se torna incomputável), e cada programa tem uma probabilidade anterior de (1/2) elevado à potência do seu comprimento em bits. Cada programa é ainda mais ponderado pelo ajuste a todos os dados observados até agora, fornecendo assim uma mistura ponderada de especialistas que podem prever bits futuros.
O formalismo do Comprimento Mínimo da Mensagem é quase equivalente à indução de Solomonoff. Você envia uma string descrevendo um código e, em seguida, envia uma string descrevendo os dados desse código. Qualquer explicação que leve à mensagem total mais curta é a melhor. Se você pensar no conjunto de códigos permitidos como um espaço de softwares e na linguagem de descrição de código como uma máquina universal, o Comprimento Mínimo da Mensagem é quase equivalente à indução de Solomonoff (quase porque escolhe o programa mais curto, em vez de resumir todos os programas).
Isso nos permite ver claramente o problema de usar a frase “A senhora da rua é uma bruxa; ela é culpada” para explicar o padrão na sequência 0101010101. Se você estiver enviando uma mensagem para um amigo, tentando descrever a sequência que observou, deverá dizer: “A senhora da rua é uma bruxa; ela fez a sequência sair 0101010101.” A acusação de bruxaria não permitiu que você encurtasse o resto da mensagem. Você ainda teria que descrever, em todos os detalhes, os dados que a bruxaria causou.
A feitiçaria pode se encaixar em nossas observações no sentido de permiti-las qualitativamente, mas é porque a bruxaria permite tudo, assim como dizer “flogisto!” Então, mesmo após dizer “bruxa”, você ainda precisa descrever todos os dados observados em detalhes. Você não comprimiu o comprimento total da mensagem descrevendo suas observações ao transmitir a mensagem sobre bruxaria; você simplesmente adicionou um prólogo inútil, aumentando o comprimento total.
A verdadeira dissimulação estava escondida na palavra “isso” de “Uma bruxa fez isso”. Uma bruxa fez o quê?
Claro, graças ao viés retrospectivo, ancoragem, explicações falsas, causalidade falsa, viés positivo e cognição motivada, pode parecer muito óbvio que, se uma mulher é uma bruxa, é claro que ela faria a moeda 0101010101 aparecer. Mas chegaremos a isso em breve.
10NT. : Programa de comédia de televisão norte-americano exibido aos sábados à noite.