Matrix — mundo procedural com blocos sencientes
Um experimento meio filosófico, meio de programação — uma "Matrix" de brinquedo em C puro, no terminal, onde blocos parecem vivos e a população evolui sozinha por seleção natural.
A ideia central: a escada de senciência
Em vez de tentar criar consciência (o hard problem — indecidível e paralisante), o projeto troca a pergunta metafísica por uma funcional: que comportamentos associamos a um ser senciente, e quais conseguimos implementar? Daí uma escada de 7 degraus, todos implementados: reatividade, memória, valência (energia: viver × morrer), modelo de mundo (o bloco simula o futuro e decide por ele), agência (motivos em conflito pesados pelo estado interno), auto-modelo (o bloco lê sinais dos vizinhos e decide contando que os outros também decidem) e aprendizado — os traços de personalidade são herdados com mutação, e a seleção natural faz o resto.
Tudo roda no terminal, em ASCII, num único main.c sem dependências além da
libc. O universo inteiro é f(seed): mesma semente, mundo idêntico, sempre —
determinístico por fora, aberto por dentro.
A bateria de desbotamento
A parte mais dura do projeto é a régua: mostradores que medem se cada palavra mental (“prevê”, “quer”, “integra”, “diz de si”) realmente carrega o comportamento — por ablação (arranca-se a faculdade: a decisão muda?) e por calibração (a estrutura interna bate com a realidade?). Os achados surpreendem:
- A evolução extingue a agência — num ensaio de invasão, o reflexo fixa contra o agente; ter um segundo motivo pesado pelo estado interno é individualmente caro.
- A honestidade evolui sem multa artificial: quando os blocos passam a emitir sinais (em vez de “telepatia”), a estratégia honesta fixa contra o silêncio e resiste ao blefe, sobrando ~10% de mentirosos estáveis.
- O primeiro mostrador de modelo de mundo estava quebrado — dava nota máxima até para blocos sem modelo nenhum. Consertá-lo inverteu a conclusão.
A pílula vermelha
Durante a animação dá para descer para dentro de um bloco e ver o mundo só
como ele percebe — a vizinhança 3×3, o que ele sente e o que ele quer. A
diferença entre a visão de deus e a primeira pessoa é o assunto do
FILOSOFIA.md do repositório, o manifesto do projeto.
Estado
Escada completa (níveis 0–6), bateria de desbotamento medindo ao vivo no HUD, CSVs reproduzíveis bit-a-bit para análise, e o diário de pesquisa abaixo. Das duas pendências originais, uma caiu: o self dentro da própria simulação já estava lá (nota 09). A outra, o custo do pensar, virou a espinha dorsal de um segundo paper: planejar fundo é um bem posicional — vantajoso para quem pensa, ruim para o grupo —, com um ponto de equilíbrio que não é um vencedor absoluto, mas um convite à convivência entre horizontes diferentes (notas 14–22). Um terceiro eixo nasceu depois: a Matrix como microscópio, detectores que tentam narrar o próprio estado do mundo — colapso, nova estratégia — sem confabular (notas 24–27).
Diário de pesquisa
As notas de laboratório vivem no repositório, em
papers/notes/
— datadas, amarradas aos commits que medem e reproduzíveis por script. São o
material bruto dos papers em preparação, e de vez em quando uma amadurece em
artigo, como A régua que desbota:
- Quatro réguas da mente, quatro modos de
errar
— submetidos a ablação, os quatro mostradores falham, cada um de um jeito;
modelodava nota máxima a um agente sem modelo nenhum. - O teto de nascimentos — um bug silencioso congelava a evolução por volta do tick 10.000; o conserto revelou uma regra de senioridade que ninguém escreveu.
- A evolução extingue a agência — a suspeita contra a régua estava errada: é a agência que desaba; num ensaio de invasão, o reflexo fixa contra o agente.
- O
automodeloera um modelo do outro — o teste do eremita mostra o mostrador identicamente zero sem rivais: ele media o outro, nunca o si. phinão media integração: media o segundo motivo — a correlação com a profundidade de planejamento era co-tendência, e aphivelha era infalseável.- O intérprete leigo — o primeiro mostrador pré-registrado antes do código: o relato que só vê o que um vizinho veria é falível mas informativo — e confabula selvagemente sob intervenção.
- O dedo do espectador — um dedo de fora do mundo sobrescreve escolhas e três introspecções relatam a mesma vida: quem lê a ação confabula, quem lê o plano detecta.
- O sinal e a mentira — a telepatia vira comunicação e a honestidade evolui sem multa artificial: fixa contra o silêncio e resiste ao blefe.
- O self já estava
lá
— a edição do auto-modelo já estava feita, numa linha que ninguém tinha
lido assim;
autocausaé o primeiro mostrador que o eremita tem. - O zero estrutural — a dívida da nota anterior foi paga: os três zeros seguem zeros em precisão dupla, e o piso de arredondamento ganha explicação — float32 não inverte decisões, só cria empates.
- A replicação — uma semente não é um resultado: repetir tudo com cinquenta confirma quase todos os achados anteriores, e expõe, sem esconder, um erro no próprio pré-registro.
- A janela longa — numa corrida dez vezes mais longa quase tudo se confirma, e o motor do crescimento do self muda de nome: não é o horizonte que empurra, é o motivo que se estreita.
- O fatorial — travar os dois motores ao mesmo tempo trava o crescimento do self quase por completo: a prova final de que é um motor só, não dois disputando o crédito.
- O torneio — num torneio de todos contra todos, o mais fundo sempre vence o duelo; sem embate, o horizonte cresceria até o teto do próprio código (corrigido a seguir pela nota 16).
- O imposto — taxar o pensamento devolve a população ao ótimo do grupo, mas a conta é queimada: alinhar a escolha custa quase um terço da população.
- A varredura do desconto — variar a paciência do mundo derruba a conclusão do torneio anterior: em mundos mais pacientes a escada se inverte, e o mais fundo pode perder.
- Ruído ou teimosia — populações de um único tipo confirmam que a perda por planejar fundo demais é real, não artefato de comparação; e o pico de colheita nem fica no topo do horizonte.
- O erro do plano — o plano de um bloco só enxerga um passo à frente: a partir daí, a previsão perde toda relação com o que realmente vai acontecer.
- A grade fina — com uma régua mais fina de paciência, o ótimo não cai em degrau, tomba devagar, entre dois pontos bem próximos.
- O invasor raro — o suposto campeão do torneio não é um vencedor absoluto: é um ponto de equilíbrio onde tipos raros dos dois lados conseguem crescer — mais convite à convivência do que resistência a invasão.
- O imposto que recicla — devolver a arrecadação do imposto cognitivo em vez de queimá-la resolve o dilema anterior: a população não só se recupera, termina um pouco melhor que antes do imposto.
- A sonda ordinal — o plano erra o valor absoluto do que vai colher, mas acerta bem a ordem entre as opções — o suficiente para explicar por que planejar um pouco sempre ajuda.
- O teste de bimodalidade — no mesmo terreno da nota anterior, duas linhagens convivem lado a lado; mas na evolução completa e livre cada população converge para um pico só — o ponto de equilíbrio não desaparece, só fica invisível.
- O detector de colapso — um detector que só observa a própria história da população nunca inventa um colapso que não existe, mas fica mudo quando o colapso de verdade é rápido demais para a própria janela de observação.
- A dose-resposta do detector — o limiar entre sobreviver e ser rápido demais para o detector notar não é gradual: é uma transição estreita, quase uma linha.
- Duas linhagens sem
h*conhecido — um algoritmo que descobre sozinho se existem duas linhagens, sem saber de antemão onde procurar, confirma o achado anterior nos casos claros e desempata a favor de “apenas ruído de mutação” onde a nota anterior tinha deixado a dúvida em aberto. - O detector de nova estratégia — o mesmo detector, agora vigiando a honestidade em vez da população, acha o espelho do achado anterior: fica mudo não pelo colapso rápido demais, mas pelo devagar demais — o sapo fervendo.
- Mutação ou ramificação em δ=0,80 — desligar a mutação no ponto de equilíbrio dá uma resposta dividida: a maioria das populações volta a ser de um tipo só, mas algumas sustentam as duas linhagens mesmo sem reforço externo.