アルゴリズムの工夫が、さまざまな問題を解決する
カーナビにも数学が生かされている!?
目的地は決まっているけれど、ルートがわからないときに頼りになるカーナビは、出発地から目的地までの最短ルートを計算し表示してくれます。実はこれには、数学の「離散最適化問題」の一つである「最短路問題」のアルゴリズム(解を求めるための計算方法や手順)が使われているのです。このアルゴリズムはいろいろな問題に応用が可能で、例えば、ギターやピアノを弾くとき最適な指の運び方を導きだすときにも役立ちます。
モデル化・抽象化して問題を見通す
離散最適化問題を解くために最初に行う作業は、構成する要素の「つながり方」に注目し、モデル化することです。例えば、道路網における交差点を○(マル)、目的地に向かう道路を矢印の線、距離を数値で表し、ネットワークを簡単なグラフ(図形)に置き換えます。問題を抽象化して考えることで、問題の見通しをよくするのです。
このような方法で解く代表的な問題として、もう一つ、「最小木(さいしょうぎ)問題」があります。これはすべての地点をつないだときに線の長さが最も短くなる解を見つける問題で、例えば、通信網をできるだけ安い費用で設計する場合や、画像処理ソフトで背景を自動抽出するプログラムなどにも応用されています。
より効率的な計算方法を考えるアルゴリズム研究
こうした問題を解くときは、コンピュータにアルゴリズムを指示するためにプログラミングを行います。しかし、組合せがともすれば膨大なパターンになるため、単純なアルゴリズムでは、スーパーコンピュータで計算しても解けないほどの長い時間がかかってしまいます。そこで重要なのが、高速に計算するためにアルゴリズムを「工夫すること」です。設定するパラメーターを調節したり、プログラムの書き方を変えたり、新たなアルゴリズムを開発したりすることに、この研究の面白さと醍醐味があります。アルゴリズムを工夫することが、生活に関わるさまざまな問題を解決することにつながるのです。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。