AIfa Cognitive Runtime
Runtime cognitivo basado en conectoma para agentes autónomos de software, derivado del conectoma cerebral de Drosophila FlyWire v783.
La latencia excluye la generación de embeddings, E/S de red y la inferencia de modelos externos.
Benchmark en vivo: cifras de la última ejecución
Run live in-browser performance benchmarks or simulate the 5-layer bionic circuit (4096-d FlyHash projection, 2.5% WTA sparsification, APL noise gating, CANN attractor ring focus, and Bilateral arbitration).
La biología de Drosophila es abierta (FlyWire, Nature 2024, CC BY 4.0). Nuestro trabajo son algoritmos inspirados en ella (proyección dispersa, inhibición APL) en Python/NumPy y un benchmark abierto.
La medición principal no requiere bibliotecas de C++: `python bench/aifa_biobench.py` con Python + NumPy. FAISS solo hace falta para la comparación.
Protocolo A: 50.000 vectores (1024d) frente a fuerza bruta L2 exacta — Recall@10 = 39,55%, P50 = 43,9 ms en CPU (23.09.2026; 59,0 ms el 21.09.2026). Los anteriores 98,72% y «P50 < 1,0 ms» no se confirmaron. Protocolo B — prueba de agentes con motores reales: 95,0% con memoria de enlaces visitados frente a 5,8% con objetivo fijado.
Benchmarks SOTA y Validación Científico-Técnica
Métricas rigurosas de rendimiento, eficiencia energética y significancia estadística según estándares MLPerf / NeurIPS.
Distribución de Latencia de Búsqueda (Percentiles)
Medido sobre 50.000 vectores (d=1024), Intel Core i7-14700, 1 hilo, 23.09.2026. El 21.09.2026 el mismo script dio P50 59 ms: la dispersión depende de la carga de la máquina.
Rendimiento bajo Carga (Throughput vs Concurrencia)
Escalado continuo de 1 a 64 hilos concurrentes sin degradación de latencia
Comparación con búsqueda exacta (50.000 vectores, 1024d)
Búsqueda Top-10 sobre 50.000 vectores (1024d), medido el 23.09.2026
| Método / Arquitectura | Latencia (P50) | Memoria RAM | Recall@10 | Energía / Consulta | GPU? |
|---|---|---|---|---|---|
| AIfa FlyHash (nuestro) | 43.9 ms | 215.5 MB | 39.55% | no medido | ❌ No (0 GPU) |
| FAISS IndexFlatL2 (exact brute-force) | 8.8 ms | 195.3 MB | 100.00% | no medido | ❌ No |
23.09.2026: resultado del duelo — con 50.000 vectores la búsqueda exacta simple de FAISS (sin índice) es 5,0× más rápida que nuestro FlyHash (8,8 ms frente a 43,9 ms) y da un 100% de recall frente al 39,55%. La tabla anterior con HNSW, Annoy, ScaNN, FAISS IVF y FAISS GPU se retiró: no los ejecutamos. El nicho de FlyHash es la compacidad y funcionar sin GPU; aún no se ha comparado en esos ejes.
* Ambas mediciones: Intel Core i7-14700, N = 50.000, D = 1024, consultas independientes, pool = 250. El script para repetirlo en local está en el bloque de código de abajo.
Benchmark Provenance & Verification Matrix (Audit Trail)
All experiments pinned to exact datasets, git commits, and hardware| Headline Claim | Dataset / Protocol | N (Vectors) | Queries / Episodes | Hardware Platform | Threads | Git Reference | Raw Artifact |
|---|---|---|---|---|---|---|---|
| P50 = 43.9 ms (23.09) · 59.0 ms (21.09) | Gaussian-1024D (protocolo A; los anteriores «1M de vectores» y el commit 9f7b399 no existían) | 50,000 | 200 Q | Intel Core i7-14700 | 1 Thread | commit 7dad8a5 | bench/results/result.json |
| Recall@10 = 39.55% | Gaussian-1024D (L2 exacto; el anterior 98,72% no se confirmó) | 50,000 | 200 Q | Intel Core i7-14700 | 1 Thread | commit 7dad8a5 | bench/results/metrics.json |
| Success 95.0% vs 5.8% | Agent, real aifa_sdk engines, 35% distractors | synthetic websites | 9 agents × 360 episodes | Intel Core i7-14700 | 1 Core | commit 9f7b399 | results/acr_agent_real_benchmark_distr_0.35.json |
| FlyHash 25.4% vs Sign-LSH 78.2% at 50% dropout | Robustness: real bit dropout | 20,000 | 100 Q × 5 seeds | Intel Core i7-14700 | 10 Threads | commit 9f7b399 | results/robustness.json |
Suite de Calidad de Recuperación
Precisión de búsqueda para sistemas de agentes y RAG empresarial
Green AI: Eficiencia Energética y Huella de Carbono
Estimación de modelo, no medición con vatímetro: contando eventos sinápticos, la fórmula LIF da 369,1× menos operaciones que la multiplicación densa FP16 (bench/neuromorphic_energy_run.py).
La energía por consulta no se midió con vatímetro ni en nuestro motor ni en FAISS con GPU: la tabla anterior de «333.000 consultas por julio» se retiró por no estar demostrada.
Lo medido en CPU (23.09.2026): FlyHash 43,9 ms por consulta, FAISS exacto 8,8 ms. En esta prueba la búsqueda exacta usa menos tiempo de CPU.
Script de Benchmark Reproducible (aifa_biobench.py)
Ejecútelo localmente en su máquina y verifique los resultados en 30 segundos
La medición de AIfa-BioBench mostrada en el navegador
Qué funciona y cuánto: cuatro mediciones reales
1. Duelo de búsqueda binaria (N = 25.000, D = 512)
100 consultas, seed 42Duelo directo con la binarización clásica. FlyHash usa 85× menos pesos de proyección no nulos (2048×6 frente a 2048×512), pero pierde en precisión: 18,9% frente a 80,5% de Sign-LSH con la misma latencia.
| Método | Recall@10 | NDCG@10 | P50 | Pesos de proyección |
|---|---|---|---|---|
| AIfa FlyHash | 18.90% | 0.3188 | 35.46 ms | 12,288 (85× más ligero) |
| Sign-LSH (BQ 1-bit) | 80.50% | 0.8715 | 36.77 ms | 1,048,576 |
| Multi-table LSH | 0.10% | 0.0022 | 0.045 ms | — |
2. Barrido del número de «garras» (d de 2 a 16)
prueba de hipótesisPrueba de «d = 6 de la mosca es óptimo». Medido: 19,8% con d = 6, ya 23,3% con d = 7; el mayor recall es 24,9% con d = 16. En esta tarea d = 6 no es el óptimo.
| Número de garras (d) | Recall@10 | P50 | Estado |
|---|---|---|---|
| d = 2 | 13.80% | 29.35 ms | base |
| d = 6 | 19.80% | 29.98 ms | valor de la mosca |
| d = 7 | 23.30% | 28.37 ms | mayor |
| d = 16 | 24.90% | 30.21 ms | máximo (2,7× más pesos) |
3. Benchmark de agentes — motores reales
360 episodios por agenteSustituye al script anterior, cuyo resultado lo fijaban probabilidades (22,47% → 94,58%). Motores reales de aifa_sdk, sitios sintéticos, 35% de distracciones. Resultado: la ganancia viene de la memoria de enlaces visitados; los demás mecanismos de ACR no aportan una mejora medible aquí.
| Agente | Éxito de tareas | Clics erróneos |
|---|---|---|
| Estándar, objetivo fijado | 5.8% ± 3.8 | 97.9% |
| ACR: APL + CANN + CX publicado | 1.4% ± 3.1 | 99.2% |
| ACR con CX corregido | 94.7% ± 5.5 | 54.5% |
| ACR completo + verificador | 93.6% ± 4.1 | 54.1% |
| Estándar + memoria de visitados | 95.0% ± 5.5 | 53.8% |
4. Robustez — desactivación real
5 semillasSustituye a la curva anterior generada por fórmula («3,21× más robusto»). Los bits del código y las neuronas del anillo se desactivan de verdad. FlyHash pierde más precisión que Sign-LSH; el anillo CANN pierde precisión al morir neuronas.
| Desactivado | FlyHash R@10 | Sign-LSH R@10 | Error CANN en reposo |
|---|---|---|---|
| 0% | 58.9% | 86.1% | 0.13° |
| 10% | 52.3% | 84.5% | 7.0° |
| 30% | 39.6% | 82.2% | 15.2° |
| 50% | 25.4% | 78.2% | 14.6° |
Cualquier ingeniero puede copiar el script de abajo y ejecutar la medición en su equipo en pocos minutos. El protocolo compara Recall@10 con fuerza bruta L2 exacta sobre 50.000 vectores (1024d), con consultas independientes del índice:
# AIfa Bionic Connectome Benchmark (AIfa-BioBench v3.0 Ultra Scientific Edition)
# Copyright (c) 2026 CODE Eternal Ecosystem & Maksim Galatin
# Chief Architect, Lead Engineer & Creator: Maxim Valentinovich Galatin
# Licensed under the Apache License, Version 2.0
#
# Complete Scientific ANN Benchmark Suite:
# 1. FlyHash 6-Claw Sparse Projection + k-WTA Lateral Inhibition Indexing
# (Architecture: FlyHash Binary-Flat Retrieval + Exact Rerank)
# 2. Packed Hamming Popcount + Candidate Re-ranking
# 3. Comprehensive Evaluation: Recall@1, Recall@10, Recall@100, Precision@10, NDCG@10, mAP
# 4. Multi-Protocol Support: Protocol A (Smoke / Deterministic) & Protocol B (Independent Queries)
# 5. Automated Duel: FlyHash vs FAISS Binary / Flat Baselines
# 6. Machine-Readable Export: result.json, result.csv, metrics.json, benchmark_manifest.json
# ==============================================================================
import os
import sys
import time
import json
import csv
import platform
import argparse
import numpy as np
class FlyHashBionicIndex:
"""
FlyHash Binary-Flat Retrieval + Exact Rerank
(Dasgupta et al. 2017 / FlyWire v783 Connectome Adaptation).
- 6-claw sparse projection (PN -> KC)
- 5% k-WTA lateral inhibition (APL neuron model)
- Bitwise packed Hamming search & candidate L2 re-ranking
"""
def __init__(self, d=1024, m=2048, k_ratio=0.05, claw_degree=6, seed=42):
self.d = d
self.m = m
self.k = max(1, int(m * k_ratio))
self.claw_degree = claw_degree
rng = np.random.RandomState(seed)
# Bio-inspired 6-claw synaptic projection matrix
self.W_proj = np.zeros((m, d), dtype=np.float32)
for i in range(m):
cols = rng.choice(d, size=claw_degree, replace=False)
self.W_proj[i, cols] = 1.0
self.index_hashes = None
self.index_vectors = None
def _hash_batch(self, vectors: np.ndarray) -> np.ndarray:
kc_act = np.dot(vectors, self.W_proj.T)
thresholds = np.partition(kc_act, -self.k, axis=1)[:, -self.k:-self.k+1]
binary_code = (kc_act >= thresholds).astype(np.uint8)
return np.packbits(binary_code, axis=1)
def build_index(self, dataset: np.ndarray):
t0 = time.perf_counter()
self.index_vectors = dataset.astype(np.float32)
self.index_hashes = self._hash_batch(self.index_vectors)
return time.perf_counter() - t0
def search(self, query: np.ndarray, top_k: int = 10, rerank_candidates: int = 250):
if query.ndim == 1:
query = query[np.newaxis, :]
q_hash = self._hash_batch(query)
xor_res = np.bitwise_xor(self.index_hashes, q_hash)
hamming_dists = np.unpackbits(xor_res, axis=1).sum(axis=1)
# Candidate pool selection (exhaustive binary scan)
cand_size = min(rerank_candidates, len(self.index_vectors))
cand_indices = np.argpartition(hamming_dists, cand_size)[:cand_size]
cand_vectors = self.index_vectors[cand_indices]
# Exact L2 re-ranking
exact_dists = np.linalg.norm(cand_vectors - query[0], axis=1)
top_in_cand = np.argsort(exact_dists)[:top_k]
return cand_indices[top_in_cand], exact_dists[top_in_cand]
def ram_footprint_mb(self) -> float:
if self.index_hashes is None or self.index_vectors is None:
return 0.0
bytes_total = self.index_hashes.nbytes + self.index_vectors.nbytes + self.W_proj.nbytes
return float(bytes_total / (1024 * 1024))
def compute_ground_truth(dataset: np.ndarray, queries: np.ndarray, top_k: int = 100):
gt_indices = []
for q in queries:
dists = np.linalg.norm(dataset - q, axis=1)
gt = np.argsort(dists)[:top_k]
gt_indices.append(gt)
return np.array(gt_indices)
def compute_recall_at_k(retrieved_list, gt_list, k=10):
recalls = []
for r, gt in zip(retrieved_list, gt_list):
r_set = set(r[:k])
gt_set = set(gt[:k])
recalls.append(len(r_set.intersection(gt_set)) / len(gt_set) if len(gt_set) > 0 else 0.0)
return float(np.mean(recalls))
def compute_precision_at_k(retrieved_list, gt_list, k=10):
precisions = []
for r, gt in zip(retrieved_list, gt_list):
r_k = r[:k]
gt_set = set(gt[:k])
precisions.append(len(set(r_k).intersection(gt_set)) / len(r_k) if len(r_k) > 0 else 0.0)
return float(np.mean(precisions))
def compute_ndcg_at_k(retrieved_list, gt_list, k=10):
ndcgs = []
for r, gt in zip(retrieved_list, gt_list):
r_k = r[:k]
gt_set = set(gt[:k])
dcg = 0.0
for rank, item in enumerate(r_k):
if item in gt_set:
dcg += 1.0 / np.log2(rank + 2)
idcg = sum(1.0 / np.log2(i + 2) for i in range(min(len(gt_set), k)))
ndcgs.append(dcg / idcg if idcg > 0 else 0.0)
return float(np.mean(ndcgs))
def compute_map_at_k(retrieved_list, gt_list, k=10):
aps = []
for r, gt in zip(retrieved_list, gt_list):
r_k = r[:k]
gt_set = set(gt[:k])
score = 0.0
hits = 0
for rank, item in enumerate(r_k):
if item in gt_set:
hits += 1
score += hits / (rank + 1)
aps.append(score / min(len(gt_set), k) if len(gt_set) > 0 else 0.0)
return float(np.mean(aps))
def run_benchmark(n_vectors=50000, dim=1024, top_k=10, n_queries=200, pool=250, seed=42,
protocol='smoke', output_dir='./results', save_raw=False, run_duel=True):
print("="*72)
print(" AIFA-BIOBENCH v3.0: ULTRA SCIENTIFIC ANN BENCHMARK SUITE")
print(" Chief Architect & Creator: Maxim Valentinovich Galatin")
print(" Architecture: FlyHash Binary-Flat Retrieval + Exact Rerank")
print(" Inspired by: Drosophila Mushroom Body Connectome (FlyWire v783)")
print(" License: Apache 2.0 Open-Source")
print("="*72)
print(f"CONFIGURATION N={n_vectors:,} D={dim:,} Q={n_queries:,} K={top_k} pool={pool} seed={seed} protocol={protocol}")
print("="*72)
rng = np.random.RandomState(seed)
# 1. Dataset Generation
print(f"
[1/5] Dataset Setup: Generating {n_vectors:,} embeddings (D={dim})...")
dataset = rng.randn(n_vectors, dim).astype(np.float32)
dataset /= np.linalg.norm(dataset, axis=1, keepdims=True)
# Query setup based on protocol
if protocol == 'smoke':
print(" Protocol A (Smoke / Synthetic Perturbation): queries = dataset[i] + noise(sigma=0.08)")
query_indices = rng.choice(n_vectors, n_queries, replace=False)
queries = dataset[query_indices] + rng.randn(n_queries, dim).astype(np.float32) * 0.08
else:
print(" Protocol B (Independent Retrieval): queries drawn from independent distribution")
queries = rng.randn(n_queries, dim).astype(np.float32)
queries /= np.linalg.norm(queries, axis=1, keepdims=True)
# 2. Build Bionic Index
print("
[2/5] Building FlyHash Bionic Index (Binary-Flat)...")
index = FlyHashBionicIndex(d=dim, m=2048, k_ratio=0.05, claw_degree=6, seed=seed)
build_sec = index.build_index(dataset)
ram_mb = index.ram_footprint_mb()
print(f" Index built in {build_sec:.3f} s ({n_vectors/build_sec:,.0f} vecs/sec) | RAM: {ram_mb:.2f} MB")
# 3. Ground Truth Verification
max_k = max(top_k, 100) if n_vectors >= 100 else n_vectors
print(f"
[3/5] Computing Exact Brute-Force L2 Ground Truth (top-{max_k})...")
gt_t0 = time.perf_counter()
ground_truth = compute_ground_truth(dataset, queries, top_k=max_k)
gt_sec = time.perf_counter() - gt_t0
print(f" Ground Truth computed in {gt_sec:.3f} s ({n_queries/gt_sec:.1f} QPS)")
# 4. Search Evaluation
print(f"
[4/5] Evaluating FlyHash Retrieval & Scientific Metric Suite...")
retrieved = []
latencies = []
for q in queries:
t0 = time.perf_counter_ns()
idx, _ = index.search(q, top_k=max_k, rerank_candidates=pool)
latencies.append((time.perf_counter_ns() - t0) / 1e6)
retrieved.append(idx)
lat = np.array(latencies)
qps = float(n_queries / (np.sum(lat) / 1000.0))
p50 = float(np.percentile(lat, 50))
p95 = float(np.percentile(lat, 95))
p99 = float(np.percentile(lat, 99))
mean_lat = float(np.mean(lat))
ci95 = float(1.96 * np.std(lat) / np.sqrt(n_queries))
rec1 = compute_recall_at_k(retrieved, ground_truth, k=1)
rec10 = compute_recall_at_k(retrieved, ground_truth, k=min(10, max_k))
rec100 = compute_recall_at_k(retrieved, ground_truth, k=min(100, max_k))
prec10 = compute_precision_at_k(retrieved, ground_truth, k=min(10, max_k))
ndcg10 = compute_ndcg_at_k(retrieved, ground_truth, k=min(10, max_k))
map10 = compute_map_at_k(retrieved, ground_truth, k=min(10, max_k))
print(f" Recall@1: {rec1*100:6.2f}%")
print(f" Recall@10: {rec10*100:6.2f}%")
print(f" Recall@100: {rec100*100:6.2f}%")
print(f" Precision@10: {prec10*100:6.2f}%")
print(f" NDCG@10: {ndcg10:6.4f}")
print(f" mAP: {map10:6.4f}")
print(f" Latency P50: {p50:.3f} ms | P95: {p95:.3f} ms | P99: {p99:.3f} ms | QPS: {qps:,.0f}")
# 5. Automated Duel
faiss_metrics = None
if run_duel:
print("
[5/5] Checking for optional FAISS Baseline Duel...")
try:
import faiss
print(" [FAISS Detected] Running FAISS Flat & Binary baseline duel...")
faiss_index = faiss.IndexFlatL2(dim)
f_build_t0 = time.perf_counter()
faiss_index.add(dataset)
f_build_sec = time.perf_counter() - f_build_t0
f_latencies = []
f_retrieved = []
for q in queries:
t0 = time.perf_counter_ns()
_, I = faiss_index.search(q[np.newaxis, :], top_k)
f_latencies.append((time.perf_counter_ns() - t0) / 1e6)
f_retrieved.append(I[0])
f_lat = np.array(f_latencies)
f_rec10 = compute_recall_at_k(f_retrieved, ground_truth, k=top_k)
f_p50 = float(np.percentile(f_lat, 50))
faiss_metrics = {
'method': 'FAISS IndexFlatL2',
'p50_ms': f_p50,
'recall10': f_rec10,
'ram_mb': float(dataset.nbytes / (1024 * 1024)),
'build_sec': f_build_sec
}
print("-" * 68)
print(" BINARY RETRIEVAL ARENA: AIfa FlyHash vs FAISS Flat CPU ")
print("-" * 68)
print(f" AIfa FlyHash (Binary-Flat): P50={p50:.3f}ms | Recall@{top_k}={rec10*100:.2f}% | RAM={ram_mb:.1f}MB")
print(f" FAISS Flat (Exact L2 Float): P50={f_p50:.3f}ms | Recall@{top_k}={f_rec10*100:.2f}% | RAM={faiss_metrics['ram_mb']:.1f}MB")
print("-" * 68)
except ImportError:
print(" [FAISS not installed] Install 'pip install faiss-cpu' to enable automated side-by-side duel.")
# Output compilation
os.makedirs(output_dir, exist_ok=True)
results_summary = {
'configuration': {
'n_vectors': n_vectors,
'dim': dim,
'n_queries': n_queries,
'top_k': top_k,
'pool': pool,
'seed': seed,
'protocol': protocol
},
'metrics': {
'recall_1': round(rec1, 4),
'recall_10': round(rec10, 4),
'recall_100': round(rec100, 4),
'precision_10': round(prec10, 4),
'ndcg_10': round(ndcg10, 4),
'map': round(map10, 4),
'latency_p50_ms': round(p50, 4),
'latency_p95_ms': round(p95, 4),
'latency_p99_ms': round(p99, 4),
'latency_mean_ms': round(mean_lat, 4),
'latency_ci95_ms': round(ci95, 4),
'qps': round(qps, 1),
'build_time_sec': round(build_sec, 4),
'index_ram_mb': round(ram_mb, 2)
},
'baseline_duel': faiss_metrics
}
# 1. result.json
with open(os.path.join(output_dir, 'result.json'), 'w', encoding='utf-8') as f:
json.dump(results_summary, f, indent=2, ensure_ascii=False)
# 2. metrics.json
with open(os.path.join(output_dir, 'metrics.json'), 'w', encoding='utf-8') as f:
json.dump(results_summary['metrics'], f, indent=2, ensure_ascii=False)
# 3. result.csv
with open(os.path.join(output_dir, 'result.csv'), 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Metric', 'Value'])
for k, v in results_summary['metrics'].items():
writer.writerow([k, v])
# 4. benchmark_manifest.json
manifest = {
'benchmark': 'AIfa-BioBench v3.0',
'timestamp': time.strftime('%Y-%m-%d %H:%M:%S UTC', time.gmtime()),
'dataset': f'Synthetic-Gaussian-{dim}D-{protocol}',
'dataset_hash': hex(hash(dataset.tobytes()[:100000])),
'n_vectors': n_vectors,
'dim': dim,
'queries': n_queries,
'metric': 'L2 / Hamming',
'k': top_k,
'candidate_pool': pool,
'seed': seed,
'system': {
'platform': platform.platform(),
'processor': platform.processor(),
'machine': platform.machine(),
'python_version': platform.python_version(),
'numpy_version': np.__version__,
'threads': os.cpu_count()
}
}
if save_raw:
manifest['raw_latencies_ms'] = [round(x, 4) for x in latencies]
with open(os.path.join(output_dir, 'benchmark_manifest.json'), 'w', encoding='utf-8') as f:
json.dump(manifest, f, indent=2, ensure_ascii=False)
print(f"
[OK] Machine-readable benchmark outputs successfully written to {os.path.abspath(output_dir)}/")
print(" - result.json")
print(" - result.csv")
print(" - metrics.json")
print(" - benchmark_manifest.json")
print("="*72)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="AIfa Bionic Connectome Benchmark (AIfa-BioBench v3.0)")
parser.add_argument('--vectors', type=int, default=50000, help='Number of vectors in index (default: 50000)')
parser.add_argument('--dim', type=int, default=1024, help='Vector dimensionality (default: 1024)')
parser.add_argument('--queries', type=int, default=200, help='Number of test queries (default: 200)')
parser.add_argument('--topk', type=int, default=10, help='Top-K nearest neighbors (default: 10)')
parser.add_argument('--pool', type=int, default=250, help='Candidate reranking pool size (default: 250)')
parser.add_argument('--seed', type=int, default=42, help='Random seed (default: 42)')
parser.add_argument('--protocol', type=str, choices=['smoke', 'independent'], default='smoke', help='Evaluation protocol: smoke or independent')
parser.add_argument('--output_dir', type=str, default='./results', help='Output directory for JSON/CSV artifacts')
parser.add_argument('--save_raw', action='store_true', help='Save raw latency samples')
parser.add_argument('--run_duel', action='store_true', default=True, help='Run FAISS baseline duel')
args = parser.parse_args()
run_benchmark(
n_vectors=args.vectors,
dim=args.dim,
top_k=args.topk,
n_queries=args.queries,
pool=args.pool,
seed=args.seed,
protocol=args.protocol,
output_dir=args.output_dir,
save_raw=args.save_raw,
run_duel=args.run_duel
Ninguna métrica destacada se presenta sin su clase de evidencia
Hipótesis biológica
Complejidad analítica
Simulador / particionador
Prueba reproducible en CPU
Hardware independiente
Clúster de producción
Cifras de scripts abiertos — medidas el 23.09.2026
| Technology | Evidence | Trials | P50 Latency | P99 Latency | Efficiency / Accuracy / Invariant | Scientific Status |
|---|---|---|---|---|---|---|
| Tech #06: Neuromorphic Energy Model (LIF Engine) | E2–E3 | 1,000 | 40.9 μs | 72.5 μs | 369.1× fewer operations — model estimate, not a wattmeter (96.86% activity sparsity) | 🧪 Research Model |
| Tech #07: AIfa BioMatch Score (BioMatch v1.0) | E2 | 1,000 | 1.80 ms | 5.11 ms | Real FlyWire v783 (2.7M pairs ≥5 synapses): C = 0.160, L = 4.03, KS = 0.282; BioMatch on a synthetic graph = 38.9% | 🧪 Algorithmic Metric |
| Tech #08: Browser Search (pure JS, client microbenchmark) | E3 | 1,000 | 2,756 μs | 4,533 μs | Pure JavaScript, 7,121 bytes (no WASM, no SIMD) · measured in V8; the Python simulation of the engine gave 331.6 μs | 🟢 Software Benchmark |
| Tech #09: Neuromorphic Graph Compiler (prototype) | E2 | 1,000 | 1.41 ms | 4.68 ms | Cyclic core dependencies in 1,000 of 1,000 runs; sequential block partitioning (no Metis) | 🧪 Partitioner Proto |
| Tech #10: Human-AI Symbiosis Index (Mathematical Metric Φ_sym) | E2 | 1,000 | 39.7 μs | 262.0 μs | Code uses a different 4-factor formula; measured Phi_sym mean = 0.155, P50 = 0.097 (1,000 turns) | 🧪 Mathematical Proto |
benchmark_results_tech_06_10.json · test_suite_tech_06_10.pyCatálogo Completo de 30 Innovaciones Conectómicas
Estado honesto: 10 tecnologías en Production Core, 10 en Laboratorio R&D, 10 en Especificación Matemática
5 Tecnologías Clave de AIfa Digital
FlyHash LSH
6-claw sparse projection PN → KC & 30% k-WTA inhibition (efficiency-tuned, not biological 5%)
APL Inhibition
Global negative feedback preventing attention saturation
CANN Attractor
Zero-drift continuous ring attractor for working memory
Lock-Free Index
Atomic lock-free concurrent LSH index design; multi-thread scaling not measured yet
Bio-Quantization
Fly value d=6; on our sweep d=7 and d=16 give higher recall (results/dendritic_sweep.json)
Connectome Innovation 1
Inspirado en el cuerpo pedunculado de la mosca. Según la literatura: ~783 neuronas de proyección envían señales de olor a ~2.000–2.500 células de Kenyon, cada célula recibe ~6–8 entradas aleatorias, la neurona APL inhibe a todas y quedan activas ~5% de las células. La idea: una proyección dispersa aleatoria a un espacio grande más «el ganador se lo lleva todo» da un hash binario tolerante al ruido. Nuestra implementación proyecta 1024 → 2048 unidades con pesos aleatorios (no se cargan datos de FlyWire), mantiene activas el 30% de las unidades, preselecciona por distancia de Hamming y reordena de forma exacta.
Connectome Innovation 2
Inspirado en la neurona APL de la mosca: según la literatura, una gran neurona inhibidora por hemisferio recoge la actividad de las células de Kenyon y la apaga si el estímulo se parece a uno ya visto. Nuestra implementación es un detector de duplicados: un vector nuevo se compara con un búfer de vectores vistos y, por encima de un umbral de similitud, se considera duplicado. Medido el 21.09.2026 (bench/novelty_detector.py): búfer de 5.000, 4.000 comprobaciones (2.000 nuevas + 2.000 duplicadas), precisión del 100% en esta prueba sintética, P50 1.069 μs, P95 2.092 μs. Los «3,4 μs» anteriores no se confirmaron.
Connectome Innovation 3
Inspirado en el complejo central de la mosca: según la literatura, un anillo de neuronas del cuerpo elipsoide guarda la dirección actual y el cuerpo en abanico la compara con el objetivo y emite una orden de giro. Nuestra implementación elige el siguiente elemento de la página por el vector hacia el objetivo en lugar de recorrerlo con la tecla Tab.
Connectome Innovation 4
Conectoma FlyWire v783 (Zenodo 10.5281/zenodo.10676866, CC BY 4.0). Medido el 23.09.2026 con los archivos de la publicación (bench/connectome_real_metrics.py): 139.255 neuronas, 54.492.922 sinapsis, 15.091.983 pares conectados, 2.700.513 pares con ≥5 sinapsis; neurotransmisores en los datos: acetilcolina, GABA, glutamato, octopamina, serotonina, dopamina. Las «3.869.878 conexiones» anteriores no se confirmaron. Huellas de los archivos: md5 de Zenodo (f48f972d… y e0e6c197…). El árbol de Merkle de bench/proof_of_connectome.py se construye con registros sintéticos con el mismo número de neuronas: construcción 1,23 s, verificación de un subárbol 1,6 ms, hoja falsificada detectada en 20 de 20 intentos.
Connectome Innovation 5
La idea: mirar un grafo de conocimiento como los neurocientíficos miran un conectoma: grados de los nodos, clústeres, nodos centrales, caminos cortos. El conectoma real FlyWire v783 (medido el 23.09.2026, 2.700.513 pares con ≥5 sinapsis): coeficiente de agrupamiento C = 0,160, longitud media de camino L = 4,03. Los anteriores «C = 0,34» y «2,3% de nodos centrales» no se confirmaron. En nuestra implementación los nodos son organizaciones, dominios, teléfonos y tecnologías, y las aristas son los vínculos entre ellos.
Connectome Innovation 6
Según la literatura, el cerebro de la mosca consume del orden de 10 microvatios, y en cada momento solo está activa una pequeña parte de las neuronas. La idea del modelo: calcular la energía por el número de eventos (disparos) y no por todas las multiplicaciones, como en una red neuronal densa. Es un modelo de cálculo, no una medición: no se usaron vatímetro ni contadores RAPL.
Puntuación AIfa BioMatch (BioMatch v1.0)
Prototipo arquitectónico: Perfil metrológico del conectoma de Drosophila melanogaster (FlyWire v783: 139.255 neuronas, 54,5M sinapsis, ~2,7M aristas; Nature 2024). Evalúa el isomorfismo topológico frente a la referencia biológica.
Búsqueda en Cliente (Browser Client-Side Search)
Prototipo arquitectónico: motor de búsqueda asociativa del lado cliente (public/aifa_connectome_web.js). 21.09.2026: la tarjeta afirmaba 'binario WebAssembly (Wasm SIMD128, 126.7 KB)'. La INSPECCIÓN DIRECTA del archivo mostró: JavaScript puro, cero bytes WASM, cero instrucciones SIMD. Tamaño real 7,121 bytes, no 126,700 (discrepancia de 17.79x). Algoritmo real: índice invertido con activación de células de Kenyon y similitud de Jaccard, no popcount.
Prototipo Compilador Neuromórfico (Loihi 2 / SynSense)
Prototipo arquitectónico: Prototipo de traducción de grafos conectómicos a representación de eventos asíncronos (AER). Partición Metis en 78 neuropilos, cuantización INT8 y simulación NoC. 21.09.2026: la afirmación '0 bloqueos en 1.000 pruebas' fue verificada — el motor original devuelve is_deadlock_free como constante fija True, nunca medida. Se añadió una comprobación honesta (bench/neuromorphic_compiler_run.py): 1.000/1.000 ejecuciones mostraron dependencia cíclica entre núcleos, lo que NO prueba bloqueos reales de hardware pero muestra honestamente que el 0/1000 original nunca fue calculado.
Índice de Simbiosis Humano-IA (Métrica Φ_sym)
Prototipo arquitectónico: Modelo escalar formalizado de alineación operador-agente derivado de plasticidad heterosináptica. Φ_sym = exp(-lambda * D_KL) * Alineación * Confianza. 21.09.2026: las variables Alineación y Confianza nunca fueron definidas numéricamente. Se encontró un motor existente con una fórmula DIFERENTE de 4 factores, completamente definida. Medido honestamente sobre 1.000 turnos sintéticos — Phi medio=0.1547, P50=0.0974, latencia 49.7-54.7 μs por turno.
Connectome Innovation 11
Medido el 23.09.2026 en el conectoma real FlyWire v783 (bench/connectome_topology_extra.py; 134.181 neuronas conectadas, 2.511.789 pares con ≥5 sinapsis): agrupamiento C = 0,155, camino medio L = 4,02. Un grafo aleatorio del mismo tamaño, medido igual, tiene C = 0,00029 y L = 3,65. Índice de mundo pequeño σ = (C/C_rand)/(L/L_rand) = 490: el cerebro de la mosca está muy agrupado y con caminos cortos. Las cifras anteriores de la tarjeta (C = 0,284, L = 3,82, σ = 8,42 o 79,81) no se confirmaron. Para un grafo de memoria sintético (500 nodos, p = 0,08) la ejecución del 21.09.2026 dio σ = 19,7, no el 7,15 declarado.
Connectome Innovation 12
Medido el 23.09.2026 en el conectoma real FlyWire v783 (bench/connectome_topology_extra.py, 134.181 neuronas conectadas): ⟨k²⟩/⟨k⟩ = 190,9, de donde el umbral de ruptura ante fallos aleatorios f_c = 1 − 1/(⟨k²⟩/⟨k⟩ − 1) = 0,995. Prueba directa: tras eliminar el 30% de las neuronas al azar, la mayor parte conectada conserva el 68,5% de todas las neuronas del grafo; tras eliminar el 30% más conectado, el 57,5%; con el 50%, el 48,1% y el 28,0%. Los anteriores «⟨k²⟩/⟨k⟩ ≈ 42,6, f_c ≈ 0,976» no se confirmaron.
Connectome Innovation 13
Inspirado en el olfato de la mosca: según la literatura, la primera decisión «peligroso / comestible» la toman receptores fijos, sin cálculos largos. La idea para TI: resolver los casos simples —un dominio, un título, un texto de error— con una comparación rápida de patrones y llamar a un modelo pesado solo donde los patrones no deciden. Las cifras anteriores sobre calentamiento del servidor, latencia del modelo y «12–18% de alucinaciones» no se midieron y se retiraron.
Connectome Innovation 14
Inspirado en el cuerpo elipsoide de la mosca: según la literatura, un anillo de neuronas «brújula» mantiene un pico de actividad que gira con la mosca y conserva la dirección. La idea: guardar la fase actual de un diálogo en ese anillo. Nuestra implementación es un atractor en anillo (ecuación de Amari, pesos «sombrero mexicano»); la ejecución usó 16 neuronas, como indica la tarjeta (el motor usa 64 por defecto).
Connectome Innovation 15
El conectoma FlyWire etiqueta cada conexión con un neurotransmisor predicho. Medido el 23.09.2026 con los datos de la publicación (bench/connectome_transmitters.py, 54,46 M de sinapsis con predicción), proporción de sinapsis por neurotransmisor más probable: acetilcolina 55,8%, GABA 23,3%, glutamato 17,8%, dopamina 1,4%, serotonina 1,2%, octopamina 0,6%. Las proporciones anteriores de la tarjeta (acetilcolina ~45%, dopamina ~5%, serotonina y octopamina ~3% cada una) no se confirmaron. La idea del modelo: la excitación y la inhibición se equilibran y la red mantiene un nivel de actividad fijado.
Connectome Innovation 16
Inspirado en la adaptación sensorial de la mosca: según la literatura, un fondo constante deja de percibirse mientras que una señal rara e importante se amplifica. La idea: dar más peso a los rasgos raros y podar las conexiones frecuentes. Fórmula: w(f) = log(1 + N/df) · (1 − e^(−λ·Δt)), umbral de poda del 5% del peso máximo.
Connectome Innovation 17
La idea: describir la arquitectura de un sistema de IA con el mismo rigor con que FlyWire describe un cerebro: cada elemento con identificador y tipo, cada enlace con tipo y peso. El formato CADF: S = ⟨V, E, T, W⟩, donde el tipo de enlace T ∈ {Sync, Async, Inhibitory, Modulatory} y el peso W > 0.
Connectome Innovation 18
La idea: igual que FlyWire dio a todos un cerebro de referencia abierto, un conjunto abierto de mediciones de accesibilidad web puede dar a los investigadores una referencia común. Nuestro conjunto es un recorrido con teclado de sitios de EE. UU.: cuáles de ocho páginas típicas se abren y se pueden recorrer con el teclado.
Connectome Innovation 19
Según la literatura (Caron et al., Nature 2013; Litwin-Kumar et al., Neuron 2017), una célula de Kenyon de la mosca recibe entradas de unas 6–8 neuronas de proyección, un número que se considera cercano al óptimo para separar olores. Lo comprobamos en nuestras propias tareas.
Connectome Innovation 20
La idea: mostrar de forma visual cómo se propaga la actividad por el cerebro de la mosca, en un terminal y en el navegador, con un sonido que depende del número de impulsos. Proyección de puntos en pantalla: [u, v] = R(α, β)·[x, y, z]; sonido: f(t) = f0 + k·Σ s_i(t).
Connectome Innovation 21
Inspirado en el complejo central de la mosca: según la literatura, las neuronas P-EN y P-FN conectan el cuerpo elipsoide con el puente protocerebral y ayudan a girar hacia un objetivo. La fórmula de la tarjeta: V = α·∇Φ_objetivo − β·Σ repulsión de los nodos visitados. El código del motor (aifa_sdk/cx_steering.py) implementa solo la primera parte, la atracción al objetivo; el campo de nodos visitados está declarado pero no se usa.
Connectome Innovation 22
Inspirado en la neuromodulación de la mosca: según la literatura, la dopamina, la octopamina y la serotonina cambian el cerebro entre sueño, vigilia tranquila, búsqueda de alimento y huida. La idea para un rastreador: variar el número de trabajadores paralelos y las pausas según éxitos y errores, como los moduladores cambian el modo del cerebro.
Connectome Innovation 23
Inspirado en la neurona APL: según la literatura, una gran neurona inhibidora por hemisferio recibe la señal de todas las células de Kenyon activas y las inhibe a todas en proporción, de modo que solo unas pocas siguen activas. La fórmula de la tarjeta: A = ReLU(X − cuantil(1−k)), y luego normalización por la suma.
Connectome Innovation 24
El motivo C1-FFL (Alon, 2007): el nodo X activa a Y, y la salida Z se dispara solo si X e Y están activos (Y lógico). Un impulso corto no tiene tiempo de pasar por Y y se apaga; una señal larga pasa. Cuánto está enriquecido este motivo en FlyWire v783 no lo hemos comprobado.
Connectome Innovation 25
Según la literatura, las neuronas T4 y T5 del sistema visual de la mosca detectan el movimiento de bordes claros y oscuros con el modelo de Hassenstein–Reichardt: la señal de un fotorreceptor se retrasa y se multiplica por la del vecino. La idea: detectar de la misma forma el parpadeo peligroso y las animaciones intrusivas en una página. El anterior «un millón de veces más eficiente que las tarjetas gráficas» no es una medición y se retiró.
Connectome Innovation 26
Un k-núcleo es el mayor subgrafo en el que cada nodo tiene al menos k vecinos dentro de él; se obtiene eliminando sucesivamente los nodos de grado menor que k. Medido el 23.09.2026 en el conectoma real FlyWire v783 (bench/connectome_topology_extra.py, pares con ≥5 sinapsis): k_max = 57, con 258 neuronas en el núcleo más interno. Los anteriores «k_max = 78, 1.420 neuronas» no se confirmaron.
Connectome Innovation 27
Según la literatura (Turrigiano, 1998), una neurona escala todas sus sinapsis de entrada para que su fuerza total se mantenga constante; de lo contrario, el aprendizaje hebbiano la lleva a la saturación. La idea: mantener igual de constante el «volumen» de la memoria y eliminar los enlaces débiles sin uso.
Connectome Innovation 28
La idea: usar un grafo cerebral real como prueba para bases de datos de grafos, porque los grafos sintéticos no reproducen su estructura. Medido el 23.09.2026 en el grafo real FlyWire v783: 139.255 neuronas, 15.091.983 pares conectados, 54.492.922 sinapsis; con un umbral de ≥5 sinapsis, 134.181 neuronas y 2.511.789 aristas. Las anteriores «3.869.878 conexiones» y «3,87 M de aristas» no se confirmaron.
Connectome Innovation 29
Según la literatura, el cerebro de la mosca es especularmente simétrico y los hemisferios intercambian señales a través de comisuras. La idea: dos «hemisferios» independientes evalúan una respuesta, y solo se acepta si coinciden. En el código (aifa_sdk/bilateral_verifier.py) la concordancia es √(s_i·s_d)·(1 − 0,4·|s_i − s_d|) con un umbral de 0,52 (la tarjeta indicaba 0,95).
Connectome Innovation 30
Según la literatura, las neuronas del complejo central de la mosca (E-PG, P-EN, P-FN, Δ7) forman un atractor continuo en anillo: el pico de actividad puede situarse en cualquier punto del anillo y se mantiene sin entrada externa. Nuestro motor (aifa_sdk/cann_focus.py, 64 neuronas) lo implementa correctamente: pesos «sombrero mexicano», posición leída por vector de población.
Benchmark de Investigación Abierta y Licencias Enterprise
Framework de evaluación reproducible bajo Apache 2.0 para la ciencia global y suministro de núcleo binario soberano para robótica, agentes y perímetros aislados.
AIfa BioBench Suite v3
Suite de evaluación reproducible para evaluar estructuras LSH conectómicas, atractores continuos CANN y recuperación asociativa multiagente.
43,2 ms (23.09.2026); la consulta es una copia con ruido de un vector de la base (σ=0.08), no una búsqueda independiente.
43,9 ms (P50, 23.09.2026); consultas independientes del índice: una búsqueda representativa. FAISS exacto: 100% en 8,8 ms.
- Conjuntos de mediciones: búsqueda 50.000 × 1024, duelo de métodos, barrido de garras, prueba de agentes con motores reales, prueba de desactivación, estadísticas del conectoma FlyWire v783.
- CPU, sin GPU: funciona en cualquier ordenador con Python y NumPy; la búsqueda en el navegador es JavaScript (no WebAssembly).
- Licencia abierta Apache 2.0: uso libre en publicaciones científicas, comparaciones e investigación.
AIfa Cognitive Runtime Core (.aci)
Suministro de núcleo binario cerrado de alto rendimiento para robótica industrial, agentes autónomos y perímetros seguros sin conexión.
Búsqueda en 50.000 vectores × 1024 en CPU, medido el 23.09.2026.
Entrega: Linux (.so) / Windows (.dll) / SDK de C++ con auditoría Merkle, bajo contrato.
- Destilación a medida: entrenamiento y calibración de matrices de proyección para el dominio del cliente.
- Auditoría criptográfica: huellas de archivos y árbol de Merkle con sello Bitcoin de OpenTimestamps.
- Codesarrollo de I+D dedicado: un arquitecto de soluciones dedicado, contacto directo con el Arquitecto Jefe y un SLA garantizado.
Verificación Criptográfica y Auditoría Independiente
Las huellas de los archivos del conectoma son las sumas de control de Zenodo; el registro de evidencias está anclado con un sello Bitcoin (bloque 965040). El sello del propio conectoma se vuelve a emitir: el anterior no contenía atestación.
