サンプリングから学ぶ=攻撃の要は偵察にあり

「最適設計支援ソフト」という標語でソフトウエアを紹介し始めて、すぐに気付いたのは、聞く人に二つのタイプがあるということだ。


一つは、最適化アルゴリズムを自分で書いたり、試したりしたことのある人で、たいがいはあまりいい経験をしていない。したがって反応は、そんなに簡単に最適解は探せない、初期値によって最適解が異なる、計算回数が増えて困る、などそれぞれの意見はある意味で正しいのだが、それを回避する対策や別の方法を持たないために、最適化探索とはこういうものだという、固定観念を持ってしまっていることが多かった。


最適化技術に関する初心者に共通するもうひとつのタイプは、いままでの設計よりもいい解が必ず見つかるのか、最適解ということを保証してくれないと困る、これまでと同じ解しか出なかったら意味がない、など。これらの意見は、最適化に対する過度な期待から、“最適解”自体にのみ注目していることから来る、偏った見方である。



この見方は、結果ではなく探索プロセスに主眼を置くことを説明すると修正できる。すなわち、いきなり最適解の探索を実施するのではなく、実験計画法などのようなサンプリング手法を適用して、設計空間を分析して、理解するというステップを踏めばよい。


次のステップとして最適解の探索を行うことで、その解の意味、位置づけ、最適である理由、代替案なども把握できるのである。過去に最適化にいい経験をしていない人たちの大半は、はやり、サンプリングのステップを経ていない場合が多かった。


これは特別に習得しなければならないノウハウというほどのものではなく、自分が解探索をするとしたら何をしないといけないかを、素直に考えることで自然と出てくる手順である。例えば、熟練設計者は過去の設計経験から十分なサンプリングを(それと知らず)行っていて、それを踏まえて新たな問題に対する最適解を”勘と経験“で導いているわけである。非熟練者がそれを、より短期間に真似する方法が、シミュレーションと設計の価値。


シミュレーションで設計し最適解を探索するということになったとたんに、サンプリングのプロセスを省略してしまい、答えがストンと出て来ると思いこんでしまうのが間違いのもとなのだ。前に「最適解は失敗の学習結果」で書いたように、失敗と苦労(サンプリング)をせずに、成功(最適解)を得ることはあり得ないし、得たとしてもどうして最適なのか理解できないはず。


こういうことは、教科書には書いていないが、実務上はものすごく重要な手順なのである。アルゴリズムは学ばなくてもいいが、こういう手順は体にしみこませておく必要がある。新しいツールが登場しても、変えるべき部分とやり方を変えてはいけない部分は必ずある。ツールをうまく使いこなせるかどうかの条件の一つであろう。お客様に説明するとき、必ずこの点を徹底的に説明する。「アルゴリズムを学ぶのは難しいかもしれないが、手順を理解するのは常識で十分。」


唐突かもしれないが、軍隊でいう偵察行動は、サンプリング的なアクションだ。偵察(サンプリング)なしに、いきなり攻撃(最適化)しないのと同じである。攻撃の確度を高めたいと思ったら、理屈ではなく本能として事前偵察を徹底的にすべしなのである。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
                             今日の1枚
無性にシャッターを押したくなり、ユリを撮っていたら、ユリが鏡を覗いているような気配がしてきた。
@自宅 - Lumix FZ30 -
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜