grammar-inference-engine/bex
tobjend 739000e8c6 feat: CRX refined — cluster-then-infer for tighter grammars
Standard CRX over-approximates when Hasse diagram is non-linear (24% of
RAGSAK packages). Cluster-then-infer groups sequences by (first, last,
length), infers per-cluster, picks largest cluster's grammar.

Results on RAGSAK:
  Avg max disjunction: 2.8 → 1.7 (39% tighter)
  Packages improved: 6/10

Tradeoff: cluster granularity (too coarse = over-approximation,
too fine = no generalization). Current: (first, last, length_bucket).

Exports crx_refined() and crx_with_confidence() from bex package.
20 new tests. All 199 tests pass.
2026-07-12 01:50:40 +02:00
..
tag_preprocessor fix: bare Kotlin captures + minimal coarsening (RETURN/IF/EXCEPTION/LOOP only) 2026-07-12 01:04:51 +02:00
__init__.py feat: CRX refined — cluster-then-infer for tighter grammars 2026-07-12 01:50:40 +02:00
__main__.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
automaton.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
baum_welch.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
cli.py purge make_charts.py, examples/, full-text papers, blog_post (moved to ~/Desktop/kesai/); translate German CLI to English 2026-07-01 11:28:42 +02:00
crx.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
crx_refined.py feat: CRX refined — cluster-then-infer for tighter grammars 2026-07-12 01:50:40 +02:00
ensemble.py WIP: language size scoring + diversity threshold (step 1 pending) 2026-07-11 22:56:42 +02:00
expr.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
gbnf.py feat: implement SORE → GBNF converter 2026-07-12 00:31:47 +02:00
idregex.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
ikoa.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
ilocal.py fix badge position; purge remaining German user-reference comments 2026-07-01 13:28:55 +02:00
koa.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
kore.py Revert "parallelize kORE outer (k, n) trials via ProcessPoolExecutor" 2026-07-11 20:36:48 +02:00
marking.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
mcp_server.py WIP: language size scoring + diversity threshold (step 1 pending) 2026-07-11 22:56:42 +02:00
mdl.py WIP: language size scoring + diversity threshold (step 1 pending) 2026-07-11 22:56:42 +02:00
pta.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
reduce.py feat: implement Reduce algorithm (Algorithm 4, TODS 2010) 2026-07-12 00:11:38 +02:00
repair.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
rwr0.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
rwrsq.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
shrink.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
soa.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00
template.py fix badge position; purge remaining German user-reference comments 2026-07-01 13:28:55 +02:00
tokenizer.py fix badge position; purge remaining German user-reference comments 2026-07-01 13:28:55 +02:00
twotinf.py Initial commit: BEX-based grammar inference engine 2026-07-01 08:01:16 +02:00