発見的方法とアルゴリズム

パズルを解くのは時間がかかるが、解き方をはじめから覚えてしまうと簡単にできてしまう。パズルを解くときに使う方法が発見的方法で、パズルの解き方を覚えてしまうのがアルゴリズムだ。

問題解決に発見的方法を使うと、時間がかかるし、必ず解答が得られるかどうかは分からない。しかし、この方法に習熟すると、別の問題に取り組むときの応用力がつく。開発や研究など問題解決の方法が見つかっていない分野の仕事に携わっている場合は、必須の技術だ。

発見的方法とは、たとえば、問題の本質が何であるかを見抜くこと、規則性を発見すること、問題に隠れるパターンを見つけること、操作を行うことによって問題を変化させることができるかどうかを見つけ出すこと、問題に内包されるすべての可能性や選択肢を見つけることができること、そのうちで有力な選択肢や不可能な選択肢をすばやく見つけることができること、などである。それぞれの技術が抽象的なので、言語化が難しく暗黙知に属することが多い。

発見的な方法の利点は、今までに解決不能あるいは、解決方法の検索が困難な問題に対しても解決法を見つけることができることだ。欠点は非常に時間を浪費することと、解決法が必ずしも得られないことだ。

アルゴリズムは、解決済みの問題の方法を整理して、類似の問題にも応用できるようにしたものだ。数学の公式のようなものや、コンピュータプログラムのようなものがアルゴリズムの応用例の代表だ。アルゴリズムを利用するにあたって、その詳細を知らなくても問題解決ができる。なぜこの問題に対してこのような手続きやプログラムを利用すれば解決できるのかをまったく知らなくても答えを出すことができるのだ。逆に、アルゴリズムがなぜそうなっているのかの意味に疑問を持つとその答えを検索するのが大変で、かつ、解説があっても理解するのが難しいことが多い。

アルゴリズムの利点は問題を迅速に解決できること。欠点は定型的な問題しか解決できないことだ。

自分の思考力の開発のためには、発見的方法に習熟することが有用だが、差し迫った問題を解決するためには、利用できるアルゴリズムをたくさん知っていると便利だ。能力開発と時間のトレードオフが問題となってくる。自分の抱えている問題について、発見的方法を使用すべきなのか、アルゴリズムを使用すべきなのかを意識して選択することが大切だ。
[PR]
by tnomura9 | 2007-08-16 06:13 | 考えるということ | Comments(2)
Commented by うらやす数学同好会 爺様 at 2018-05-14 13:55 x
私は千葉県浦安市の数学同好会のメンバーです。

先の日曜日(5/13)の例会の問題のひとつは「正6角形を5つの部分に切り分け、
正方形に作り替える」という問題でしたが、これを「発見的(heuristic)方法」
で解を得ました。

この「方法」の有効性に酔いしれていた際(まさにEureka! Eureka!の状態)に、
たまたまこちらのブログの記事に出会い、ご趣旨に強く共感した次第です。
Commented by tnomura9 at 2018-05-15 07:13
> うらやす数学同好会 爺様さん、コメントありがとうございました。

隠れたパターンを発見するのは数学の醍醐味ですが、それを「発見的方法」で解かれたというのが素晴らしいですね。昨今のAI人気は、パターンの発見を機械がやったというのが焦点ですが、それに「発見の方法」が加わってブラッシュアップされたらすごいですね。機械にさせないで人間が利用するというのがベストかもしれませんが。
<< メタ思考 暗黙知と形式知 >>