実用的なソフトウエアを開発するにはアルゴリズムの知識は欠かせない。基礎から機械学習まで、厳選した10個のアルゴリズムをPythonによる実装とともに解説する。

特集
ソフト開発の要、必修アルゴリズム10選
目次
-
現在のAIでは必須、教師ありなしで使い分ける「k近傍法」と「k平均法」
「k近傍法」は「教師あり学習」のアルゴリズムです。あるデータがどのグループに属しているのかを推測するために使います。一方、「k平均法」は「教師なし学習」のアルゴリズムです。データのグループ分け(クラスタリング)に使います。
-
実用アルゴリズムの基礎「動的計画法」と機械学習の基礎「類似度」を知る
動的計画法は、「問題の部分的な結果を記録・利用しながら、最終的な結果を求める」手法の総称です。「コサイン類似度」は、機械学習で使われる最も基本的なアルゴリズムの一つで、2つのデータの類似度を計測できます。
-
AIで使われるアルゴリズムとは?「探索」と「乱択」が実現するもの
「深さ優先探索」は、「グラフ」と呼ばれるデータ構造を探索するためのアルゴリズムです。古典的なAIで使われていました。また、現在のAIは内部で乱数を使っています。乱数を使うアルゴリズムは「乱択アルゴリズム」と総称します。これらを説明しましょう。
-
データ処理の必須アルゴリズム、「ソート」の優劣を見極めろ
ソートはどのようなアルゴリズムで実現するのでしょうか。ソートのアルゴリズムはたくさんあります。それらの中から「バブルソート」と「クイックソート」を取り上げ、違いについて学んでいきましょう。
-
これなしでITは成り立たない、アルゴリズムの基礎「探索」を学ぶ
探索とは、複数のデータの中から特定のデータを探し出すことです。探索のアルゴリズムには「線形探索」や「二分探索」などいくつかの種類があります。これらの違いについて学んでいきましょう。