感想を綴るだけのブログ

書籍からアニメまで

MENU

アルゴリズムを理解しよう~離散数学「ものを分ける理論」~

スポンサーリンク

 今回は、ブルーバックスの『離散数学「ものを分ける理論」』について、感想を綴ります。
 

はじめに

 著者は、徳田雄洋先生です。情報理工学の研究者で、「必勝法の数学」という新書なども出されている方です。 

1951年、東京に生まれる。東京工業大学大学院博士課程中退。理学博士。カーネギーメロン大学およびピサ大学で客員科学者。2016年3月まで東京工業大学大学院教授。現在は東京工業大学名誉教授。専門はソフトウェア生成系、情報ネットワーク。
出典:徳田 雄洋 TAKEHIRO TOKUDA | ブルーバックス

 

こんな本です~「離散数学「ものを分ける理論」」~ 

 最近、プログラミング教育が流行っています。プログラミングと切っても切れないものが、アルゴリズムです。どれだけ最適化できるかが、アルゴリズムで決まります。この本は、アルゴリズムについて、ものを分ける視点からわかりやすく紹介されています。
 

離散数学アルゴリズム

 離散数学とは

原則として離散的な(言い換えると連続でない、とびとびの)対象をあつかう数学のことである。 有限数学あるいは離散数理と呼ばれることもある。

出典:離散数学 - Wikipedia

 アルゴリズムは、プログラムを書く時に非常に重要な要素です。プログラムを書く前に最適なアルゴリズムを選択することで、計算数が少なく問題を処理でき、時短に繋がる場合が往々にしてあります。アルゴリズムは一種の裏ワザ的なものだとも言えます。
 

 例えばヒトの声について、考えてみます。ヒトの声はアナログ値として連続的な変化をします。しかし、電話などのツールを使用するとき、声を量子化しデジタル値として離散的な値に変換します。これは、離散的な値を取ることで品質を保つためです。アナログ値は、復元が難しいことに対して、離散値は閾値を設けることで復元が容易になるからです。

 

 要は、離散値にすることでヒトが容易に扱える形にすることです。では、離散数学アルゴリズムとどんな関係にあるのか。ざっくりと言うと、アナログ値から離散値にするとき、最適な計算量と速さを求めなければならない、一緒に考えなければならない問題だということです。

 

アルゴリズム

 アルゴリズムには、様々なものがあります。例えば、検索、整列 (ソート )、文字列探索、木探索、最適化…等。そして、アルゴリズムの解析として、正しさの証明、計算量、計算量のクラス等があります。

 

 アルゴリズムの背景にあるのは、処理速度の時短と効率化にあります。パソコン、携帯、スマホなどの電子機器などは、計算速度が重要です。普段、私たちが使用しているとき、不便な思いを感じさせないのは、先人たちが編み出したこれらが裏で動いているからです。

 

 優秀な方々が発明したモノを疑問を持つことなく使用しています。これは、私たちが疑問を抱く必要がない程、完璧なアルゴリズムが使用されていると言い換えられます。もちろん、全てがそうではないですがね(笑)。

 

 結局、何が言いたいかというと、普段、私たちが便利なモノを使用している裏側の仕組みは、想像以上に重要だということです。知らず知らずのうちに既に与えられた最適なアルゴリズムの上で生活しているという事を認識しなければならないです。時には、この当たり前のアルゴリズムから見直す必要があります。

 

論理的思考に類似

 アルゴリズムについて考えるとき、大前提として、正しくなければならないです。ただ最適化すれば良いのではダメです。難しいのは、正しさと最適化をセットで考えなければならないことです。これは、論理的思考が求められると言えます。

 

 アルゴリズムを用いる際、根拠(なぜそのアルゴリズムを使用するのかなど)を定める必要があります。論理的に考える力がないと目的を達成できないことが明白です。よって、論理的思考が必要だといえます。

 

 まとめると、簡単に身に付けることが難しいのが、論理的思考です。アルゴリズムも同様です。これから勉強して身に付けたいと考えているので頑張ります(笑)

 

最後に

 卒業研究が忙しくなってきているからか、物事の本質を問うプロセスを見つめ直す良いきっかけになりました。おかげ、少し研究が進みました。プロセスを見直す事で解決してしまう程のところで躓いていたと思うと情けないですね(苦笑)

 

 実践的な学問であるので、どこかで時間をみつけて、離散数学をしっかりと勉強しようかなと思います。まぁ、おそらく当分先の事となりそうですが…。

 

 

 是非、皆さんも手に取ってみて下さい。

こちらもおすすめ