JP / EN

MAL-Seeker (Antares Ver 3.1.1)

10万匹の「マル」が非線形の森を駆ける。全解探索ハイブリッドソルバー

1. 開発のきっかけ:SPICEの限界と、学会でのある一言

これまで私は「SPICE指向型解析法」を武器に様々な非線形方程式と戦ってきましたが、解が数百、数千と存在するような大規模な全解探索においては、どうしてもシミュレータとしての限界(実行速度やメモリ管理など)を感じるようになりました。

「それならいっそ、自分で全解探索のプログラムをゼロから作ってしまおう」

そう決心してC言語で独自のグローバルソルバーを組み始めたものの、どのようなアルゴリズムにすべきか悩みました。そんな時、学生時代に参加した学会の懇親会で、ある先生がポロリと言った一言を思い出したのです。

「人間ってすごいよね。障害物を避けたり、人の顔を見分けたり、コンピュータが計算したらNP困難になるような問題を、瞬時に解いて生活しているんだから」

この言葉がヒントになりました。ガチガチの数学的ロジックを組む前に、「生き物の5感(感覚)」をイメージした直感的なアルゴリズムを取り入れてみてはどうだろうか、と。

2. なぜ「人間の5感」ではなく「マルの5感」なのか?

生き物をモデルにするなら、誰をベースにするか。
普通なら「人間の5感」としそうなところですが、私は我が家の愛犬であるポメラニアンの「マル」をモデルにすることにしました。

なぜか? それは単純に、うちの家族の中でマルが一番しっかりしていて、頼りになるからです(笑)。 人間の感覚なんて、案外いい加減ですからね。

役割分担はこうです。
まず、人間である私(開発者)は上空から「スカウター」を使って、非線形方程式という広大な森の全領域(探索範囲)を見渡します。そして、実際に森に降り立って解(谷底)を探し回るのは優秀なマルに任せます。しかもマルはとても優秀なので、探索の際は「分身の術」を使って10万匹のマルに分裂し、森のあちこちへ一斉にダイブするのです。

3. 10万匹のマルの「5感」による極限のプレ・コンディショニング

このソルバー「MAL-Seeker(現在のコードネーム:Antares Ver 3.1.1)」の最大の強みは、強力なドリル(ニュートン法)の性能はいじらず、ドリルを回す前の「マルの5感による前処理」を極限まで洗練させている点にあります。

森に放たれた10万匹のマル(初期シード)は、以下の5感をフル活用して無駄な計算を一切排除します。

  • 👃 嗅覚(デフレーション処理)
    マルはマーキングの天才です。すでに発見済みの解 $x^*$ の周辺には、数式的に「強烈な悪臭ペナルティ(例: $1/\|x - x^*\|$ のような極を付加)」をつけておき、他のマルが寄り付かないようにします。これにより、同じ解を何度も見つけてしまう無駄を完全に防ぎます。
  • 👅 味覚(ヤコビアン・勾配テスト)
    ドリルを回す前に、マルは足元の地面をペロッと舐めて傾き(勾配やヤコビ行列の行列式)を確かめます。もし味が全くしない(平坦すぎる特異点)か、辛すぎる(急な崖でオーバーフローの危険がある)場合、そこを掘るのは危険と判断して探索をキャンセルします。
  • 👁️ 視覚(最急降下法による誘導)
    マルは周囲を見渡します。もし自分が谷の斜面にいると視認できたなら、いきなりドリルを回すのではなく、安全なすり鉢の内側に向かって勾配ベクトルに従い数歩だけ「トコトコ」と歩いて下ります。この数歩の微調整が、その後の計算を劇的に安定させます。
  • 👂 聴覚(シード間距離のクラスタリング)
    マルは仲間の足音も聞いています。同時に降下した他のマルとのユークリッド距離 $\|x_A - x_B\|$ を測り、「あ、近すぎるな」と思ったら、同じ穴を掘る無駄を避けるために道を譲り合います(クラスタリングによるシードの淘汰)。
  • ✋ 触覚(ニュートン法本体)
    ここまでの厳しい「5感の審査」をパスしたエリートのマルだけが、前足でドリル(ニュートン法)のスイッチを押し、谷のどん底へ向かって一直線にワープします。
🛑 諦め条件(執念のストライク制):
マルはとても根気強い性格です。「新しい解がゼロ」のバッチ処理が100回連続するまで、絶対に探索を諦めません。

4. 悪魔のベンチマーク方程式への挑戦

このマルの5感アルゴリズムを搭載した「MAL-Seeker」をテストするため、多次元・多数解を持つ悪名高いベンチマーク方程式を解かせてみました。

🏆 Case 1: 10変数・非線形連立方程式

$$f_i(x) = x_i - \sum_{j=1}^{10} g(x_j) + C_i = 0 \quad (i = 1, 2, \dots, 10)$$

多数の非線形項が複雑に絡み合う10次元の方程式。真の解は1,024個存在します。

🏆 Case 2: チェビシェフ巡回連立方程式 (8次元)

$$x_{i+1} - (4x_i^3 - 3x_i) = 0 \quad (i = 1, 2, \dots, 8, \text{ ただし } x_9 = x_1)$$

チェビシェフ多項式を巡回的に結合させた、非常に振動的で解の多い方程式。真の解は256個存在します。

🏆 Case 3: 結合型・位相振動子モデル (6次元)

$$\omega_i - \frac{K}{N} \sum_{j=1}^{6} \sin(\theta_j - \theta_i) = 0 \quad (i = 1, 2, \dots, 6)$$

非線形ダイナミクスで有名な同期現象のモデル。三角関数を含むため周期的な偽の解が無数に存在し、指定範囲内の真の解は729個存在します。


【探索結果について】

結果として、MAL-Seekerは上記すべての例題において、見事に「全解」を求めることに成功しました。
具体的な計算速度(Mac環境での計測秒数)や、各方程式の持つ興味深い数学的特性については、当サイトの「Equations(アーカイブ)」にて順次公開していきます。

5. メタファーから学術の最前線へ

「マルの5感と分身の術」という、いかにも泥臭くてふざけたようなメタファーから出発したアルゴリズムですが、完成した中身を学術的に紐解くと驚くべき事実が分かりました。

マルの「嗅覚」はデフレーション法(Deflation Method)そのものであり、「視覚や聴覚」のアプローチはクラスタリング・マルチスタート法トラスト領域法といった、数理最適化の最前線の手法に完全に合流していたのです。

理論ありきで頭でっかちに組んだのではなく、ファームウェア開発で培った「徹底的に無駄を省き、計算リソースを最適化する」という現場の思考が、結果的に高度な学術的最適解へ到達した。MAL-Seekerは、まさに当Laboratoryの理念を体現する記念碑的エンジンとなりました。

⚙️ MAL-Seeker Specifications

■ Version

Antares Ver 3.1.1

■ Target Problems (対象問題)

  • ・多変数・非線形連立方程式の全解探索
  • ・制約付き非線形最適化問題(大域的最小値/極小値の探索)

■ Core Algorithms (搭載アルゴリズム)

  • Global Search: モンテカルロ法 (ランダム・サンプリング), 遺伝的アルゴリズム (GA)
  • Pre-conditioning ("5 senses"): デフレーション法 (Deflation), 勾配テスト (Gradient/Jacobian check), 最急降下法 (Steepest Descent), クラスタリング (Clustering)
  • Local Search: ニュートン法 (Newton-Raphson method)