Atomic-VSA / src /vsa_benchmarks.jl
marshad180's picture
Update Atomic VSA deployment
fa6bd30 verified
# VSA Benchmarks (Scientifically Rigorous)
using Printf
using Dates
using Statistics
function run_rigorous_proofs(d=10048)
println("-"^70)
println("RIGOROUS VSA PROOF LOG - d=$d")
println("Time: ", Dates.now())
println("-"^70)
# Initialize Registry (Stable roles)
reg = VSARegistry()
# 1. ORTHOGONALITY
a = create_random_single(d)
b = create_random_single(d)
println(@sprintf("1. Orthogonality: Sim(Rnd, Rnd) = %+.4f", similarity(a, b)))
# 2. CANCELLATION
obj = create_random_single(d)
rel = create_random_single(d)
bound = bind(obj, rel)
recovered = bind(bound, rel)
sim_rec = similarity(obj, recovered)
println(@sprintf("2. Cancellation: Sim(Obj, Recovered) = %.4f", sim_rec))
# 3. ATOMIC MODEL (Molecules)
println("\n3. MOLECULE PROOF (Structural Resonance)")
fever = create_random_single(d)
pneumonia = create_random_single(d)
# Create Molecule using Registry-stable roles
molecule = bond(reg, fever, pneumonia, "SymptomsOf")
# Test: Can we extract the Sourced atom from the Molecule using the stable Role?
role_src = get_element(reg, "Roles", "Source", d)
extracted = bind(molecule, role_src)
res = similarity(extracted, fever)
println(@sprintf(" Source Extraction Resonance: %.4f", res))
println(" Status: ", res > 0.3 ? "ATOMIC LOGIC VALID" : "FAIL")
# 4. CAPACITY
println("\n4. Capacity scaling")
for k in [10, 100]
atoms = [create_random_single(d) for _ in 1:k]
bundled = bundle(atoms)
avg_sim = mean([similarity(bundled, atom) for atom in atoms])
@printf(" K=%-3d | Signal: %.4f\n", k, avg_sim)
end
end
function benchmark_complexity()
println("\n" * "-"^70)
println("COMPUTATIONAL EVIDENCE - SEARCH COMPLEXITY")
println("-"^70)
d = 10048
kb = [create_random_single(d) for _ in 1:2000]
query = kb[1]
@printf("%-10s | %-15s | %-10s\n", "KB Size", "Search Time (s)", "Complexity")
for n in [100, 1000, 2000]
db = bundle(kb[1:n])
t = @elapsed similarity(db, query)
@printf("%-10d | %-15.8f | %-10s\n", n, t, "O(1)")
end
end