これからのコンピュータの効率化に欠かせないアルゴリズムとは?
コンピュータで問題を解くための手順
今やコンピュータは私たちの生活や社会に欠かせない存在となっています。その計算能力を使えば、足し算やかけ算などの四則演算をはじめ、素数判定問題、整列問題、最短経路問題など、さまざまな問題を解くことができます。このような問題をコンピュータで解くための機械的手順のことを、「アルゴリズム」といいます。最近のコンピュータの計算速度は非常に高速化していますが、それでも巨大なデータを取り扱う際は、処理に膨大な時間がかかってしまうことがあります。アルゴリズムの良し悪しは、こうした計算の効率に大きな差を生じさせます。
注目を集めている乱択アルゴリズム
アルゴリズムの実行過程は、機械的な作業手順の列とみなすことができます。通常のアルゴリズムでは、それぞれの実行段階で次の手順が一意に定められています。これに対し、次に実行する手順を、乱数を使って決定して進んでいくアルゴリズムもあります。このようなアルゴリズムが「乱択アルゴリズム(ランダマイズド・アルゴリズム)」です。代表的な例として、素数判定問題や整列問題を解くアルゴリズムがあげられます。乱択アルゴリズムは、通常のアルゴリズムに比べると記述がシンプルで、かつ実行速度が高速であることが特徴です。また、乱択計算には、入力データの一部だけをみて、その性質を高い確率で判定するという研究パラダイムもあります。乱択アルゴリズムは今後も、計算機科学の分野で理論的にも実用的にもますます重要な存在になると考えられています。
ものごとの本質を見極めることの重要性
アルゴリズムの研究を含め数学の研究というものは、高校までに学んだ数学とは大きく異なります。定義や定理、それにその中にあらわれる数式が何を意味するのか、背後にあるものをとらえ、ものごとの本質を見極めようとする姿勢が大切です。アルゴリズムや計算量の研究は始まってまだ半世紀ほどしかたっておらず、これまでに多くの重要な結果が発見されたものの、まだまだたくさんの未解決問題が残されています。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。
先生情報 / 大学情報
成蹊大学 理工学部 理工学科 准教授 山本 真基 先生
興味が湧いてきたら、この学問がオススメ!
数学、アルゴリズムの設計と解析先生への質問
- 先生の学問へのきっかけは?