Research ledger / Experimental summary (generated) · canonical source: experiments/results/SUMMARY.md

Experimental summary (generated by analyze.py)

All costs are counted elementary steps under the cost model stated in each experiment file; wall-clock seconds are in the JSON files.

CGT-EXP-001 binary tree navigation (LCA ops/query)

shape n height workload R1 pointer R2 heap-arith R3 address-LCP R4 Euler+sparse R4 build ops R2 density n/2^(h+1)
complete 256 8 rand 6.7 4.0 2.0 3.0 4609 0.501
complete 256 8 deep 2.0 4.0 6.4 3.0 4609 0.501
complete 1024 10 rand 8.7 4.0 2.0 3.0 22529 0.5
complete 1024 10 deep 2.0 4.0 8.2 3.0 22529 0.5
complete 4096 12 rand 10.7 4.0 2.0 3.0 106497 0.5
complete 4096 12 deep 2.0 4.0 10.2 3.0 106497 0.5
complete 16384 14 rand 12.6 4.0 2.0 3.0 491521 0.5
complete 16384 14 deep 2.0 4.0 12.2 3.0 491521 0.5
complete 65536 16 rand 14.7 4.0 2.0 3.0 2228225 0.5
complete 65536 16 deep 2.0 4.0 14.1 3.0 2228225 0.5
random_bst 256 15 rand 9.2 4.0 2.4 3.0 4609 0.00391
random_bst 256 15 deep 2.0 4.0 11.4 3.0 4609 0.00391
random_bst 1024 21 rand 12.3 4.0 3.0 3.0 22529 0.000244
random_bst 1024 21 deep 2.0 4.0 15.5 3.0 22529 0.000244
random_bst 4096 26 rand 15.1 4.0 2.7 3.0 106497 3.05e-05
random_bst 4096 26 deep 2.0 4.0 18.5 3.0 106497 3.05e-05
random_bst 16384 31 rand 18.1 4.0 2.5 3.0 491521 3.81e-06
random_bst 16384 31 deep 2.0 4.0 21.8 3.0 491521 3.81e-06
random_bst 65536 37 rand 20.8 4.0 2.6 3.0 2228225 2.38e-07
random_bst 65536 37 deep 2.0 4.0 25.9 3.0 2228225 2.38e-07
path 256 255 rand 86.3 16.0 87.3 3.0 4609 2.21e-75
path 256 255 deep 2.0 16.0 212.5 3.0 4609 2.21e-75
path 1024 1023 rand 334.1 64.0 346.4 3.0 22529 5.7e-306
path 1024 1023 deep 2.0 64.0 853.9 3.0 22529 5.7e-306
path 4096 4095 rand 1379.5 256.0 1371.8 3.0 106497 n·2^-4096 (underflow)
path 4096 4095 deep 2.0 256.0 3403.0 3.0 106497 n·2^-4096 (underflow)
path 16384 16383 rand 5459.6 1024.0 infeasible (Θ(n²) chars) 3.0 491521 n·2^-16384 (underflow)
path 16384 16383 deep 2.0 1024.0 infeasible (Θ(n²) chars) 3.0 491521 n·2^-16384 (underflow)

CGT-EXP-002 reachability: search vs closure vs path grammar

family n m P(reach) BFS ops/q TC build ops break-even Q* (ops) Q* (wall) TC bits zlib bits n²/4 path-grammar lin firings nonlin firings closure pairs
gnp_d0.8 256 204 0.01 5.2 1276 307 356 65536 7104 16384 557 1582 812
gnp_d3 256 768 0.88 305.1 1168 4 10 7680 1704 16384 175015 25807232 57877
dag_d2 256 512 0.03 18.3 2816 163 165 65536 14816 16384 2486 8623 2501
forest 256 254 0.03 7.5 1526 235 288 65536 8496 16384 1056 3835 1312
bipartite_p0.5 256 8240 0.18 49.3 41456 858 509 65536 20256 16384 8240 8240 8496
gnp_d0.8 1024 819 0.01 9.7 14947 1717 757 1048576 43520 262144 4117 – 5133
gnp_d3 1024 3072 0.89 1226.6 6480 5 10 119808 9152 262144 2769847 – 926562
dag_d2 1024 2048 0.01 21.8 35840 1723 652 1048576 97336 262144 11887 – 12460
forest 1024 1014 0.00 5.1 18262 4411 1554 1048576 47136 262144 4161 – 5185
bipartite_p0.5 1024 130965 0.15 198.6 2227429 11272 2139 1048576 281960 262144 130965 – 131989
gnp_d0.8 4096 3276 0.00 9.2 216716 26558 4867 16760832 309608 4194304 – – 20083
gnp_d3 4096 12288 0.90 4625.5 55104 12 13 2048000 93848 4194304 – – 14742352
dag_d2 4096 8192 0.01 25.5 536576 21939 2877 16777216 615368 4194304 – – 52647
forest 4096 4056 0.00 11.3 267736 25969 4327 16777216 304320 4194304 – – 25154

Forest interval labels (M4): n=256: build 766 ops, 5120 bits, 1 op/q, break-even Q*=118; n=1024: build 3062 ops, 24576 bits, 1 op/q, break-even Q*=740; n=4096: build 12248 ops, 114688 bits, 1 op/q, break-even Q*=1188

Path retrieval given the closure (DAG/forest): dag_d2 n=256: 13.2 ops for mean length 2.4; forest n=256: 8.6 ops for mean length 2.3; dag_d2 n=1024: 17.7 ops for mean length 3.8; dag_d2 n=4096: 8.0 ops for mean length 2.0

CGT-EXP-003 language-constrained reachability

n avg deg L Q product states unconstrained states ratio vertices misreported by unconstrained search
200 1.5 a* 1 1.4 57.0 0.025 55.6
200 1.5 (ab)*c 3 2.8 57.0 0.048 56.6
200 1.5 S*cS* 2 60.6 57.0 1.062 0.9
200 1.5 even_a 2 110.5 57.0 1.938 1.9
200 1.5 mod5_len 5 280.6 57.0 4.919 0.4
2000 1.5 a* 1 1.8 704.0 0.003 702.2
2000 1.5 (ab)*c 3 3.4 704.0 0.005 703.2
2000 1.5 S*cS* 2 784.9 704.0 1.115 0.9
2000 1.5 even_a 2 1406.6 704.0 1.998 0.1
2000 1.5 mod5_len 5 3514.4 704.0 4.992 0.8
2000 4.0 a* 1 351.6 1868.8 0.188 1517.2
2000 4.0 (ab)*c 3 1679.2 1868.8 0.899 1311.9
2000 4.0 S*cS* 2 3399.0 1868.8 1.819 0.1
2000 4.0 even_a 2 3737.4 1868.8 2.000 0.0
2000 4.0 mod5_len 5 9343.4 1868.8 5.000 0.0
20000 4.0 a* 1 4040.2 19619.0 0.206 15578.8
20000 4.0 (ab)*c 3 12257.9 19619.0 0.625 15503.1
20000 4.0 S*cS* 2 36011.7 19619.0 1.836 0.1
20000 4.0 even_a 2 39238.1 19619.0 2.000 0.0
20000 4.0 mod5_len 5 98095.1 19619.0 5.000 0.0

Walk enumeration (tiny graph, n=12) vs product construction:

L max walk length walks explored status product states
a* 4 25 exact 4
a* 8 81 exact 4
a* 12 169 exact 4
a* 12 169 exact 4
(ab)*c 4 16 exact 15
(ab)*c 8 47 exact 15
(ab)*c 12 128 exact 15
(ab)*c 36 42184 exact 15
S*cS* 4 181 INCOMPLETE 21
S*cS* 8 11676 exact 21
S*cS* 12 691238 exact 21
S*cS* 24 2000001 aborted(cap) 21
even_a 4 181 exact 22
even_a 8 11676 exact 22
even_a 12 691238 exact 22
even_a 24 2000001 aborted(cap) 22
mod5_len 4 181 INCOMPLETE 55
mod5_len 8 11676 exact 55
mod5_len 12 691238 exact 55
mod5_len 60 2000001 aborted(cap) 55

CGT-EXP-004 forests and minimal-DAG grammars

family n DAG nodes g DAG edges size ratio access ops/q (explicit = 1) new rules per relabel live g after k relabels
repetitive_forest 64000 163 372 0.0042 16.3 5.2 [[1, 166], [10, 217], [50, 423], [200, 1176]]
random_forest 64000 16302 39605 0.4402 16.5 5.3 [[1, 16302], [10, 16311], [50, 16366], [200, 16559]]
full_binary_h15 65535 16 30 0.0004 22.0 15.1 [[1, 29], [10, 124], [50, 491], [200, 1521]]
monadic_path 65536 65536 65535 1.0000 32710.4 32089.4 [[1, 65536], [10, 65536], [50, 65536], [200, 65536]]

CGT-EXP-005 dynamic workloads (total counted ops over 4000 operations)

workload S1 BFS S2 lazy rebuild S3 incremental S4 memo cheapest
query_only_uniform 62223 21641 21641 66121 S2_rebuild
query_only_repetitive 30216 21641 21641 4077 S4_memo
query_only_adversarial 1000000 21641 21641 228250 S2_rebuild
99q_1ins_uniform 67192 869944 75080 71145 S1_bfs
90q_10ins_uniform 242024 6775863 602748 245653 S1_bfs
90q_10ins_adversarial 1780567 7546028 661186 1770413 S3_incremental
90q_10mixed(50%del)_adversarial 660797 6400929 3573555 658531 S4_memo
50q_50mixed(50%del)_uniform 26624 17535647 12550168 28608 S1_bfs
90q_10mixed(50%del)_repetitive 43685 6623745 3864605 27939 S4_memo

CGT-EXP-006 solution grammars for CNF (residual-dedup automaton)

family k median nodes log2(nodes)/k
3cnf_r4.26 8 49 0.702
3cnf_r4.26 12 154 0.606
3cnf_r4.26 16 1205 0.640
3cnf_r4.26 20 4349 0.604
3cnf_r4.26 24 9793 0.552
3cnf_r4.26 28 43895 0.551
3cnf_r2.0 8 58 0.732
3cnf_r2.0 12 300 0.686
3cnf_r2.0 16 989 0.622
3cnf_r2.0 20 5290 0.618
3cnf_r2.0 24 21102 0.599
3cnf_r2.0 28 52865 0.560
2cnf_r1.0 8 27 0.594
2cnf_r1.0 12 72 0.514
2cnf_r1.0 16 155 0.455
2cnf_r1.0 20 381 0.429
2cnf_r1.0 24 947 0.412
2cnf_r1.0 28 1326 0.370

Model comparison on medians (descriptive; k ≤ 28 is far too small to decide asymptotics):

family exp fit: log2 N = a + b·k (b, R²) poly fit: log2 N = a + c·log2 k (c, R²)
3cnf_r4.26 b=0.492, R²=0.987 c=5.45, R²=0.975
3cnf_r2.0 b=0.500, R²=0.994 c=5.53, R²=0.979
2cnf_r1.0 b=0.290, R²=0.988 c=3.22, R²=0.983

CGT-EXP-007 grammar shape: right-linear vs doubling path grammar

family n closure pairs linear firings = THM-004 formula linear parallel depth doubling firings doubling parallel depth
path 64 2016 2016 yes 63 81500 7
path 128 8128 8128 yes 127 675004 8
path 256 32640 32640 yes 255 5495164 9
path 512 130816 130816 yes 511 44348156 10
gnp_d1.5 64 948 1295 yes 15 12746 5
gnp_d1.5 128 3895 5653 yes 26 172806 6
gnp_d1.5 256 21482 30155 yes 26 3327666 6
gnp_d1.5 512 77844 116121 yes 29 20723742 6
dag_d2 64 453 577 yes 6 1825 4
dag_d2 128 1193 1466 yes 7 5590 4
dag_d2 256 2711 3096 yes 10 13478 5
dag_d2 512 4694 4950 yes 8 16602 4

CGT-EXP-008 compiled move words (THM-006) and arbitrary-shape tables (THM-007)

structure workload L compile ops compiled ops/application step-by-step ops/application defined fraction break-even applications
heap-shaped tree n=1000000 random_words 8 32 5.0 7.7 0.058 11.7
heap-shaped tree n=1000000 random_words 64 256 5.0 11.6 0.004 38.5
heap-shaped tree n=1000000 random_words 512 2048 5.0 28.9 0.000 85.7
heap-shaped tree n=1000000 random_words 4096 16384 5.0 130.2 0.000 130.9
heap-shaped tree n=1000000 walk_words 8 32 5.0 16.0 1.000 2.9
heap-shaped tree n=1000000 walk_words 64 256 5.0 117.7 0.906 2.3
heap-shaped tree n=1000000 walk_words 512 2048 5.0 933.0 0.907 2.2
heap-shaped tree n=1000000 walk_words 4096 16384 5.0 7419.8 0.905 2.2
random pointer tree n=20000 table by simulation 8 135205 (build) 1 (lookup; 20000 words) – 0.752 –
random pointer tree n=20000 table by simulation 64 321282 (build) 1 (lookup; 20000 words) – 0.045 –
random pointer tree n=20000 table by simulation 512 170158 (build) 1 (lookup; 20000 words) – 0.001 –
debruijn_k2_m20 random words 8 8 1 8.0 – –
debruijn_k2_m20 random words 512 512 1 512.0 – –
hypercube_d20 random words 8 8 1 8.0 – –
hypercube_d20 random words 512 512 1 512.0 – –
grid_1000x1000 random words 8 8 6 8.0 – –
grid_1000x1000 random words 512 512 6 485.9 – –

CGT-EXP-009 PageRank convergence, certification, updates

graph α a-priori bound k* power iterations true L1 error certified bound Gauss–Seidel sweeps
copying_n300 (m=1014) 0.5 36 17 6.78e-12 2.87e-11 24
copying_n300 (m=1014) 0.85 158 28 3.51e-12 5.05e-11 98
copying_n300 (m=1014) 0.9 247 30 3.18e-12 7.16e-11 151
copying_n300 (m=1014) 0.95 521 33 1.51e-12 6.52e-11 307
copying_n300 (m=1014) 0.99 2819 37 2.88e-13 5.74e-11 1561
block_n300 (m=1163) 0.5 36 27 5.75e-11 6.34e-11 16
block_n300 (m=1163) 0.85 158 104 7.57e-11 9.57e-11 56
block_n300 (m=1163) 0.9 247 149 6.30e-11 8.80e-11 85
block_n300 (m=1163) 0.95 521 246 5.09e-11 9.15e-11 170
block_n300 (m=1163) 0.99 2819 485 1.92e-11 9.57e-11 856
insertions cold iterations warm-start iterations L1 shift of the ranking
1 38 27 0.00374
10 38 25 0.0014
100 37 30 0.0189
1000 35 31 0.124
10000 25 25 0.512
ordering power iterations Gauss–Seidel sweeps
DAG natural (in-links from later vertices) 43 110
DAG reversed (in-links from earlier vertices) – 34
block-contiguous 80 64
random-permuted 80 60

CGT-EXP-010 grammar-constrained random surfers (PROP-010)

n language |Q| product states ≤ |Q|n iterations edge-op ratio vs PageRank top-10 overlap L1 distance
500 universal Σ* 1 500 500 37 1.03 10 0.000
500 `no c: (a b)*` 1 500 500 119 2.14 5
500 `alternate: (a b)* (a ε)` 2 786 1000 32 0.46 5
500 `c only after a: (b a c?)*` 2 786 1000 40 1.37 7
500 `length < 3: (a b c)? (a b c)? (a b c)?` 4
5000 universal Σ* 1 5000 5000 38 1.03 10 0.000
5000 `no c: (a b)*` 1 5000 5000 42 0.76 9
5000 `alternate: (a b)* (a ε)` 2 8006 10000 46 0.66 6
5000 `c only after a: (b a c?)*` 2 8006 10000 38 1.30 9
5000 `length < 3: (a b c)? (a b c)? (a b c)?` 4