#!/bin/sh
# PREREG-LV full run: per seed, word-MST Sections -> Linas's clusterer (port; intended and as-run) -> token labels
# -> re-parse and level 2. 10 seeds in parallel, tiers 3K,10K,30K.
set -e
cd "$(dirname "$0")"
gcc -O2 -Wall -o l2 l2.c -lm 2>/dev/null
gcc -O2 -Wall -o ../ladder/port/cluster ../ladder/port/cluster.c -lm 2>/dev/null
out=results-LV/$(date +%s)
mkdir -p "$out/work"
git rev-parse HEAD > "$out/commit.txt"
sha256sum l2.c lv.py ../ladder/port/cluster.c ../across-cluster/ac.c > "$out/src.sha256"
for s in 1 2 3 4 5 6 7 8 9 10; do
(
w="$out/work/s$s"
./l2 $s --sections "$w" > /dev/null
for t in 3000 10000 30000; do
python3 lv.py agg "$w-$t-tr.tsv" "$w-$t-agg.tsv"
for arm in I A; do
fl=""; [ $arm = I ] && fl="--intended"
../ladder/port/cluster "$w-$t-agg.tsv" --nrank 200 --loops 100 $fl --dump "$w-$arm-$t-state.tsv" > "$w-$arm-$t.log"
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"
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"
done
done
for arm in I A; do ./l2 $s --labels "$w-lab$arm" --labels-name LV-$arm >> "$out/seed-$s.tsv"; done
) &
done
wait
echo "$out"