STEP 1575 — アンティキティラ Ratio 合成 solver v0.1
目的: 目標比 (Meton 235/19、 Saros 223 等) を 制約付き 整数歯車列 に 分解する solver。 アンティキティラの機械 (BC 100 頃) を モチーフに、 「有理比合成 = 連分数展開 + 制約 filter + 多段化」 を Rei stack 内 tool 化。
chat-Claude 起点 (2026-08-30 対話)
要旨引用 (藤本さんが chat-Claude 分析を Claude Code に提示):
「アンティキティラの機械は 構成的だ。 入力 (クランク) は 1 つ、 出力は多数、 その間を 歯数の整数比が繋いでいる。 目標周期の集合 を 与えれば 歯車列 が 導出できる — アルゴリズムで 合成できる 対象。 有理比合成、 単一マスタ位相からの全出力導出、 ピンアンドスロット (機械式関数発生器)、 螺旋目盛+フォロワ (混合基数カウンタ) の 4 構造 が algorithmic に落ちる。 弱点は 完全開ループで補正機構なし = 電波時計型と 相補。 生成器の設計軸で言えば 派生戦略 vs 同期戦略。 やるなら 比合成のソルバから 書くのが 一番早い」
Claude Code 判断: (a) 分析核 同意、 (b) Rei stack Pattern 5 audit clean (occult-dictionary の catalog entry のみ、 solver 実装なし、 隣接 continued fraction 使用箇所は 別用途)、 (c) minimum viable spike GO。
アルゴリズム
- 連分数展開 → convergents 列生成 (有限 CF 早期 termination 実装)
- Best convergent = tolerance 内の 最小 denominator
- 単段解: p, q ∈ [minTeeth, maxTeeth] なら 1 段で完了
- Scale up: p, q < minTeeth なら 両方 k 倍化
- 2 段分解: 制約下 factor 探索 (k 探索範囲 = [ceil(min²/min(p,q)), floor(max²/max(p,q))])
- maxStages 超過 = 最良 convergent + NEITHER
D-FUMT₈ verdict
| verdict | 意味 | 条件 |
| TRUE | 制約内で exact 合成 成功 | residual ≤ tolerance ∧ 全段 制約内 ∧ 一意解 |
| BOTH | 複数の 有効分解 が 存在 | residual ≤ tolerance ∧ 制約内 ∧ 別解 ≥ 1 |
| NEITHER | 近似解 (tolerance 超過) | 解あり ∧ residual > tolerance |
| FALSE | 制約下で 解なし | maxStages 内で 全 factor 探索失敗 |
実行結果 (test/step1575 19/19 PASS)
| target | 比率 | verdict | 解 | 残差 |
| Meton | 235/19 = 12.368... | TRUE | 単段 235/19 | 0 (exact) |
| Saros | 223 (朔望月) | BOTH | 2 段 144/12 × 223/12 | 0 (exact、 複数解あり) |
| Callippic | 940/76 = 235/19 | TRUE | 単段 235/19 (auto simplify) | 0 (exact) |
| π (制約 max=30, single) | 3.14159... | FALSE | — | 1.84e-10 (最良 convergent) |
| Meton (制約 max=15) | 235/19 | FALSE | — | — |
| 5x (60/12) | 5 | TRUE | 単段 60/12 | 0 (exact) |
使用例
import { synthesizeRatio } from './src/mcp/antikythera-ratio-synth';
const result = synthesizeRatio(
{ name: 'Meton', targetRatio: 235 / 19, tolerance: 1e-6 },
{ minTeeth: 12, maxTeeth: 300, maxStages: 4 },
);
// result.stages = [{driverTeeth: 235, drivenTeeth: 19, stageRatio: 12.368...}]
// result.verdict = 'TRUE'
// result.method = 'single-stage-exact'
Honest scope
- Antikythera 復元自体 は Freeth 2006/2008/2012 + Wright 2005/2007 + Carman 2016 が 濃密 cover 済 = 「Antikythera 復元」 主張なし。 本 tool は 「制約付き ratio 合成 solver」 として algorithmic framing に絞る。
- 数学的 core (constrained best rational approximation + continued fraction convergents) は well-studied、 世界初 主張は 不可。
- Rei stack contribution 差異点: (a) D-FUMT₈ verdict integration (TRUE/BOTH/NEITHER/FALSE 4 case with ambiguity semantics)、 (b) Rei stack 内 tool 化 で 他 verdict tool (STEP 1541 flow_state 等) と 統合可能。
- Gear mesh 物理制約 (module 一致 + 軸間距離 + 干渉) は 未 model。 実 gear 設計には 追加 physics 層必要。
- Tang Nano 9K silicon 化 = 別 STEP defer (単一マスタ位相 accumulator + 派生 accumulator の Verilog port)。
- connector 生成器 output format bridge = 別 STEP defer (footprint 規格 との連結)。
関連