A tese

IA que prova, não apenas reporta

A maioria dos sistemas de busca vetorial usa heurísticas probabilísticas — HNSW, IVF — que descartam documentos sem provar que são irrelevantes. A pesquisa Madhava substitui isso por upper-bounds de Cauchy-Schwarz: cada documento descartado carrega a prova matemática de que não pode estar entre os resultados relevantes. Em ambientes regulados (bancos, hospitais, advocacia, governo), a pergunta deixa de ser "quão rápido?" e passa a ser "você pode provar que a busca foi completa?".

Determinismo

Mesma query + mesmos dados = mesmo resultado. Sem grafos aleatórios, sem variação entre execuções.

Prova por documento

Cada exclusão de um documento tem uma assinatura matemática: seu upper-bound ficou abaixo do limiar.

Escala validada (benchmark 1.9.9 + normalize 1.2.1)

Recall@10=1.0000 nos datasets limpos, 0 violações, AuditCommitment 100/100 — e honestidade até no dataset corrompido (word2vec 94.7% NaN). Ver os notebooks

Transparência

Onde o método perde — latência vs HNSW, NDCG em corpus grande — é documentado publicamente.

Benchmarks honestos · v1.9.9 + normalize 1.2.1

5 datasets em fluxo de produção (valida o normalize como guardião de qualidade)

winnex-madhava-199-five-csv-datasets-normalize-v2 · log de execução

Instala winnex-madhava 1.9.9 e winnex-ai-normalize 1.2.1 do PyPI e mede só o que o motor retorna, no fluxo de produção do Normalize. Por quê: validar que o quality gate detecta dataset corrompido antes de indexar. O word2vec Kaggle tem 94.72% das linhas NaN/inf (estouram float32); o nan_policy=block_pca bloqueia o pca_corpus e o gate remove as linhas degeneradas — o motor reporta honestamente recall 0.63-0.73 (986 embeddings válidos de 20000) em vez de fabricar 1.0. Resultados: recall@10=1.0000 (glove_twitter d=25, protbert d=1024), 0.974 (fasttext d=300), 0.991 (sbert d=384), 0 violações e AuditCommitment 100/100 em todos.

2 datasets grandes em STREAMING (corpus nunca na RAM)

winnex-madhava-199-stream-2-datasets · log de execução

Benchmark final com BIGANN-100M (12.8 GB, uint8 d=128) e arXiv OpenAI (44 GB, float32 d=1536) via np.memmap — o corpus nunca é carregado na RAM. Por quê: validar a promessa de streaming (memória-bounded) em escala máxima, medindo o pico real de RSS. Inclui o teste do fix de segfault 1.9.9 (build_engine float32 + pca_corpus) e a validação do AuditCommitment em escala.

Publicações

Todos os artigos, classificados por evolução

Cada artigo abre uma página com o pensamento por trás, o porquê de importar, os resultados e as limitações. A classificação mostra o estágio de evolução: do conceitual (PsiQRH) ao aplicado (BigANN, RAI, Solon).
Carregando…
Evolução

Como a pesquisa amadureceu

Da insatisfação com o black-box (PsiQRH, 2025) ao motor validado em escala industrial (BIGANN-100M) e às arquiteturas empresariais (RAI, Solon). Uma linha do tempo do processo.
Ver timeline completa → Ver as dificuldades →