嗅覚 ― 見つけた解を覚える
すでに発見した解の近くを避け、別の解へ探索を向けます。同じ場所を何度も掘る計算を減らすための感覚です。
Numerical Solver Project
Bellatrix V1.0.4
非線形方程式の「ひとつの解」ではなく、探索領域に潜む複数の解を見つけたい。その目的から育ててきた、M.A.L.独自の数値解析プログラムです。
MAL-Seekerは、回路シミュレーションで扱う非線形問題の経験から始まりました。初期のAntares系列では、多数の初期点から有望な候補を選び、局所解法へつなぐ探索を中心に開発していました。
Bellatrix V1.0.4では、その考え方を残しながら対象を広げています。一般の非線形連立方程式と最適化問題に加え、多項式系の複素解探索、問題構造に応じた経路追跡、途中結果を利用した再開探索まで、一つの実験環境で扱えるようになりました。
名前の由来になった愛犬マルの「五感」は、広い探索空間から候補を見繕う発想を表す開発上のメタファーです。現在のプログラムは、問題ごとに複数の数値手法を使い分ける構成へ発展しています。
広大な非線形の森から、解へ続く場所をどう見つけるか。MAL-Seekerの初期構想では、愛犬マルが周囲を感じ取りながら進む姿を探索処理に重ねました。人間が上空から探索範囲を決め、10万匹に「分身」したマルが森へ降りて候補を探す、というイメージです。
5感は厳密な数学用語ではありませんが、何のために前処理を行うのかを直感的に表しています。
すでに発見した解の近くを避け、別の解へ探索を向けます。同じ場所を何度も掘る計算を減らすための感覚です。
候補点の勾配やヤコビアンの状態を調べ、平坦すぎる場所や数値的に扱いにくい場所を見分けます。
いきなり局所解法を始めず、より有望な方向へ候補点を少し動かしてから精密探索へ渡します。
近すぎる候補同士を整理し、複数のマルが同じ解へ集中する無駄を抑えます。
選び抜かれた候補からNewton型の局所探索を行い、残差の小さい解へ近づきます。
Bellatrixではホモトピーや対称性処理などの経路も加わったため、すべての探索がこの5段階を同じ形で通るわけではありません。それでも「広く感じ、見込みのある場所へ計算を集中する」という5感の思想は、MAL-Seekerの原点として残っています。
複数の実数解を持つ問題を対象に、探索範囲を変えながら候補を集め、残差と重複を確認します。
実数解だけでなく複素解も対象にし、方程式の次数や変数のまとまりを利用した探索を行います。
目的関数と制約条件を読み込み、大域探索と局所的な改善を組み合わせて候補点を調べます。
計算ログ、候補解、残差を保存し、長い探索を途中から再開して不足する解を追えるようにしています。
Bellatrixには、マルチスタート探索、Newton型の局所探索、総次数・多斉次の考え方を用いたホモトピー、対称性を利用する処理など、性格の異なる探索経路があります。すべての問題に同じ方法を当てるのではなく、式の形や既知の情報を見て使い分けます。
ここでは全体像だけを紹介しています。選択規則、内部パラメータ、問題別の変換手順など、実装を再現できる詳細は公開していません。
PHCpackの公開ベンチマークを中心に、保存した計算結果をEquationsで公開しています。各ページでは問題へのリンク、記録した解数、実行時間、採用した方法の概要を掲載しています。
MAL-Seekerは数値的に複数の解を探索するための研究用プログラムです。記録した解数が既知の解数と一致しても、それだけで解の完全性を数学的に証明したことにはなりません。
結果は、問題の定式化、スケーリング、探索範囲、停止条件、重複判定の影響を受けます。そのため公開記事では、計算時間だけでなく、照合方法や未完の結果も区別して記録しています。