Slide 13
Slide 13 text
主要なソルバー改善: bit_manipulation
ナイーブな総当たり検索
𝑝, 𝑞 = 0,1 , 0,2 , ⋯ , 6,7
𝑥 0 𝐴𝑁𝐷 𝑥 1 → 𝑚𝑖𝑠𝑚𝑎𝑡𝑐ℎ
𝑥 0 𝐴𝑁𝐷 𝑥 2 → 𝑚𝑖𝑠𝑚𝑎𝑡𝑐ℎ
𝑥 0 𝐴𝑁𝐷 𝑥 3 → 𝑚𝑖𝑠𝑚𝑎𝑡𝑐ℎ
⋯
全ペアを試行
各出力ビットごとに、標準的な論理演算
(AND, OR, NOT, XOR)の組み合わせを
総当たりで試行していた。
トレースが非常に長くなり、3入力なども試せ
ず精度は85%で頭打ち。中間過程を圧縮
すると論理の飛躍が生じ、モデルが学習でき
ない。
3入力×キーテーブル方式
𝑜𝑢𝑡 𝑖 = 𝐹 𝑟𝑜𝑡𝑙 𝑥, 𝑎 𝑖 , 𝑠ℎ𝑙 𝑥, 𝑏 𝑖 , 𝑠ℎ𝑟 𝑥, 𝑐 𝑖
𝐹: 3入力ブール関数
𝑎, 𝑏, 𝑐: シフト/ローテートのオフセット
Point 1: 境界ビット制約
シフトで溢れたビットが0になるという境界条件を活用。これにより、
オフセット候補の探索空間を数千通りから数十通りに削減。
Point 2: キーテーブルの作成
例から「3ビット入力状態→出力ビット」の対応表を生成する。論
理的な矛盾が1つでも発生した候補関数は即座に枝刈りする。
「1ビットずつ順番に推論する」無駄を排除し、「ビット配列全体に共通
するシフト則と真理値表(キーテーブル)」へと定式化し直すことで、
記述効率を劇的に改善
精度向上
85.1% → 98.8%
13