OverviewFilesCommitsIssuesDocsReleasesPeers

atomspace-layer-discovery commits / 9eda613

experiments/level2: PREREG Test LV-C — Linas's clusterer to convergence (all words, MI cutoff) (follows #18)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9eda6138858721a000ce4eea4c76ba6af5891167
by plankatron <fleeky@gmail.com> · 2026-10-18T23:57:55.000Z

Changed files (3) +51 -0

experiments/level2/.gitignore +1 -0
……@@ -1,3 +1,4 @@
11l2
22results-jt/*/*.bin
33results-LV/*/work/
4results-LVC/*/work/
experiments/level2/PREREG-LVC.md +21 -0
……@@ -0,0 +1,21 @@
1# Linas's clusterer run to convergence — Test LV-C. Pre-registration
2
32026-10-18. Written and committed **before any run beyond a timing check** (seed 1, 3K, all words ranked, loop cap
42000: 50 s, 257 merges, ended by the MI cutoff; no classes inspected). Follows #18: at Linas's demo call
5(200 words, 100 loops) the clusterer covered about half the tokens and the run hit the loop limit, which tests the
6setting, not the method.
7
8## Method
9
10Exactly PREREG-LV (Sections from the word MST, token-label rule, measures, references, 10 seeds, tiers 3K/10K/30K,
11arms LV-I intended and LV-A as-run), except `cluster --nrank 2000 --loops 2000`: every word is ranked
12(V ≈ 1,600 < 2,000) and the run ends when no pair is above Linas's MI cutoff (4.0) or at 2,000 merges.
13
14## Predictions (at 30K; paired over 10 seeds; "beats" = 95% CI of the paired difference excludes 0)
15
16- **C1 (coverage):** LV-I gives a class to ≥ 80% of held-out tokens (mean).
17- **C2 (senses):** LV-I beats LV-I-COLL on sense accuracy.
18- **C3 (a better layer than at the demo setting):** LV-I's re-parse link F1 beats Test LV's LV-I (same seeds).
19- **C4 (as good as exchange):** LV-I's re-parse link F1 − L-MST has 95% CI lower bound > −0.02.
20
21Reported, no prediction: LV-A, number of merges, whether runs end by the cutoff or the cap.
experiments/level2/run-LVC.sh +29 -0
……@@ -0,0 +1,29 @@
1#!/bin/sh
2# PREREG-LVC full run (to convergence): per seed, word-MST Sections -> Linas's clusterer (port; intended and as-run) -> token labels
3# -> re-parse and level 2. 10 seeds in parallel, tiers 3K,10K,30K.
4set -e
5cd "$(dirname "$0")"
6gcc -O2 -Wall -o l2 l2.c -lm 2>/dev/null
7gcc -O2 -Wall -o ../ladder/port/cluster ../ladder/port/cluster.c -lm 2>/dev/null
8out=results-LVC/$(date +%s)
9mkdir -p "$out/work"
10git rev-parse HEAD > "$out/commit.txt"
11sha256sum l2.c lv.py ../ladder/port/cluster.c ../across-cluster/ac.c > "$out/src.sha256"
12for s in 1 2 3 4 5 6 7 8 9 10; do
13 (
14 w="$out/work/s$s"
15 ./l2 $s --sections "$w" > /dev/null
16 for t in 3000 10000 30000; do
17 python3 lv.py agg "$w-$t-tr.tsv" "$w-$t-agg.tsv"
18 for arm in I A; do
19 fl=""; [ $arm = I ] && fl="--intended"
20 ../ladder/port/cluster "$w-$t-agg.tsv" --nrank 2000 --loops 2000 $fl --dump "$w-$arm-$t-state.tsv" > "$w-$arm-$t.log"
21 python3 lv.py label "$w-$t-tr.tsv" "$w-$t-ho.tsv" "$w-$arm-$t-state.tsv" "$w-lab$arm-$t" | sed "s/^Q/Q\t$s\t$t\tLV-$arm/" >> "$out/seed-$s.tsv"
22 printf 'N\t%s\t%s\tLV-%s\t%s\n' $s $t $arm "$(grep -c 'Merged into' "$w-$arm-$t.log")" >> "$out/seed-$s.tsv"
23 done
24 done
25 for arm in I A; do ./l2 $s --labels "$w-lab$arm" --labels-name LV-$arm >> "$out/seed-$s.tsv"; done
26 ) &
27done
28wait
29echo "$out"