付録:定義、定数、再現
A. 定数
| 名前 | 値 | 役割 |
|---|---|---|
POWERS | 24, 25, 26, 27, 28 | 列挙される剰余指数 |
HS | 2, 3, 4, 5, 6 | 層オフセット |
IID_SAMPLES_PER_H | 160000 | 層あたりの iid 語数 |
ACTUAL_SAMPLE_PER_PH | 20000 | (power, h) あたりの actual 語数 |
SEED | 20260625 | RNG シード |
SMOOTH_ALPHA | 0.5 | 加算 α 平滑化(異常テスト) |
SMOOTH_MIX / λ | 0.02 | 一様混合平滑化(くりこみ/射影) |
MIN_STATE_IID_MASS | 1e-7 | 状態を保持する安定性閾値 |
| ブリッジ \(z_{25}\) カット | q_low −1.5, q_high −0.25 | ブリッジクラスタの三分位カット |
| 正則化スイープ | 0.0, 0.5, 0.75, 0.9 | テスト 4(maxent) |
| α スイープ | 0.0, 0.25, 0.5, 0.75, 1.0 | テスト 3(再重み付け) |
B. 状態座標
x_K ウィンドウ。\(x_K = K_\tau - (\text{power} - h)\) で、
exhaustion_0_31 \([0,32)\)、deep_32_63 \([32,64)\)、tail_64_95 \([64,96)\) にバケット化される;\([0,96)\) の外の語は破棄される。
ブリッジクラスタ。再パラメータ化された対数振幅経路から、 \(z_{25} = x(0.25) - 0.25\,x(1)\)。カット\(q_{\text{low}}=-1.5\)、 \(q_{\text{high}}=-0.25\) のもとで:\(z_{25} \le q_{\text{low}} \Rightarrow\) late_growth;\(z_{25} \ge q_{\text{high}} \Rightarrow\) early_growth;それ以外は balanced。随伴特徴量 \(z_{50}, z_{75}\) と最終ドリフトが回帰ベースラインに入る。
パリティ。power が偶数なら even、そうでなければ odd。
C. ブロックスコア
各 \((L,\text{state},u\text{-bin},\text{block})\) ごとの訓練分割平滑化対数比を、テスト語のスライディングウィンドウにわたって合計する。位置ビン \(u\) は \((i+1)/\tau\) の十分位である。状態は、その長さで安定なときにのみ、その長さ \(L\) でスコア付けされる。
score = 0
for i in range(tau - L + 1):
block = ",".join(k_cat(k) for k in word[i:i+L])
score += lookup[(L, state, u_bin(i, tau), block)] # log2(actual_p / iid_p)
D. ファイルマニフェスト
| ファイル | 役割 |
|---|---|
collatz_block_anomaly_score.py | テスト 1 + 共有定義 |
collatz_block_length_renormalization.py | テスト 2 |
collatz_block_maxent_projection.py | テスト 4 |
collatz_block_anomaly_report.md | テスト 1 レポート(クラス B) |
collatz_block_length_renormalization_report.md | テスト 2 レポート(クラス B) |
collatz_block_reweighting_report.md | テスト 3 レポート(クラス C) |
collatz_block_maxent_projection_report.md | テスト 4 レポート(クラス C) |
maxent_vs_raw_rmse.svg | 図 1 |
residuals_vs_regularization.svg | 図 2 |
focus_state_maxent_fit.svg | 図 3 |
E. 再現
Python 3.10+ と numpy。スクリプトは上流のcollatz_escape_word_deficit.py とバイナリのステータスキャッシュodd_only_status_p{24..28}.bin を必要とする。collatz_block_anomaly_score.py の冒頭の SRC とCACHE_DIRS をローカルパスに編集し、3 つのスクリプトを順に実行する。乱数はシードされ、訓練/テスト分割は決定論的なサンプル添字パリティによる。再実行は浮動小数点の総和順序の範囲内で再現される。
A/B/C/D 判定は、著者が選んだ閾値による粗い自己診断であり(§5.4)、そのまま報告される。これらは外部ベンチマークではなく、標本化された AUC/RMSE 数値は定量化されていない標本誤差を伴う。