アルゴリズムAlgorithm
問題を解くための決まった手順と規則
- アルゴリズムは問題を解くための決まった手順です。何を先にして、どんな条件で何をするかが漏れなく書かれています。
- 同じ問題を解くアルゴリズムは何通りもあります。どちらが速くて楽かを見比べて選びます。
- アルゴリズムは魔法ではありません。人が手順を決めておけば、コンピュータはその手順どおりに進むだけです。
- AIでいうアルゴリズムは教え方を指します。その方法で作られた成果物がモデルで、二つは別物です。
- ニュースで語られる「おすすめアルゴリズム」は手順ひとつではなく、いくつもの手順とモデルが絡み合ったシステム全体をまとめて呼ぶ言葉です。
目次
1たとえで理解する
インスタントラーメンの袋の裏には作り方が書かれています。決まった量のお湯を沸かし、沸いたら麺とスープを入れ、あと何分か煮てから火を止める。順番と条件が漏れなく書かれているので、誰が作っても似たようなラーメンができます。こうして書かれている手順がアルゴリズムです。
作り方はラーメンそのものではありません。袋の裏の文字をどれだけ見つめても、お腹はふくれません。その手順を実際になぞって、はじめて鍋にラーメンができます。手順と出来上がりは、こうして別の場所にあります。
そして同じラーメンを作る方法もひとつではありません。お湯を先に沸かす方法、麺と水を一緒に火にかける方法、電子レンジを使う方法があります。出来上がりは似ていても、かかる時間と洗い物の量は違います。
2くわしく
手順と条件でできています
アルゴリズムには必ず二つの要素が入ります。何をどんな順番でするかを決めた手順、そしてどんな状況でどう分かれるかを決めた条件です。「沸いたら麺を入れる」の前半が条件で、後半がすることです。
抜けている部分があれば手順とは言えません。「おいしく味を整える」のような言い方は人には通じても、コンピュータには何をどれだけ入れればいいのか分かりません。アルゴリズムを書くとは、こうした曖昧な部分をひとつ残らず埋める作業です。
終わる地点も決まっている必要があります。同じ段階を繰り返す手順なら、いつ止めるかも一緒に書かれていなければならず、そうでなければ永遠に回り続ける手順になります。
順番を変えると結果も変わります
同じ材料を使っても、順番を変えると結果が変わります。スープをお湯が沸く前に入れるか後に入れるかで味が分かれるのと同じです。アルゴリズムでは順番は飾りではなく、手順の要です。
これはコンピュータの仕事でも同じです。データをふるいにかける段階と並べ替える段階のどちらを先にするかで、かかる時間が大きく変わります。結果が同じでも、数秒で終わる手順と数時間かかる手順に分かれることがあります。
同じ問題を解く方法は何通りもあります
名前と年齢が混ざった名簿を、名前順に並べ替える作業を考えます。最初から最後まで見ながら並びを入れ替える方法もあれば、名簿を半分ずつに分けてそれぞれ並べ替えたあと合わせる方法もあります。結果は同じ名簿ですが、名簿が長くなるほど二つの方法の所要時間の差はとても大きく開きます。
そのため、アルゴリズムを選ぶときは結果だけでなくどれだけ時間がかかるか、どれだけ場所を取るかを一緒に見ます。短い名簿なら単純な方法がよく、とても長い名簿なら複雑でも速い方法がよいわけです。状況によって正解が変わるということです。
AIでいうアルゴリズムは教え方です
機械学習でいうアルゴリズムは、データを見てモデルの中の数値をどう直していくかを決めた手順です。誤りの大きさを測り、どの方向にどれだけ直すかを決め、直したあとまた測る作業を、決まった規則どおりに繰り返します。
この手順を最後まで進めると、数値が落ち着いた成果物が残ります。これがモデルです。作り方とラーメンが別物であるように、学習アルゴリズムとモデルも別物です。アルゴリズムは人があらかじめ書いておいたもので、モデルはその手順をデータに当てはめて出てきたものです。
だから同じアルゴリズムでも、どんなデータを入れたかによってまったく違うモデルができます。同じ作り方でラーメンを作っても、入れる具材が違えば違う料理になるのと同じです。
ニュースの「アルゴリズム」はもっと広い言葉です
「アルゴリズムがこの動画を勧めた」という言い方でのアルゴリズムは、手順ひとつを指していません。何を見せるか選ぶいくつもの段階と、学習済みのモデルいくつも、そして運営会社が決めた規則までまとめた言い方です。
この言葉が難しく聞こえるのは、中身が見えないからです。どんな基準で選ばれたのか外からは分からず、作った側もすべてを説明できるわけではありません。だからおすすめがなぜそうなったのかをめぐって論争が起きるのです。
3もう少し正確に
アルゴリズムは入力を受け取り、決まった有限の段階を経て出力を出す手順です。どんな入力でもいつか終わらなければならず、各段階に曖昧さがないときにアルゴリズムと呼びます。同じ仕事をするアルゴリズムどうしは、データの量が増えたときにかかる時間がどれほど急に伸びるかで比べます。データが二倍になったとき時間も二倍にしか増えない手順と、四倍に増える手順とでは、データが大きくなるほど天と地ほどの差になります。
たとえがずれる部分もあります。ラーメンの作り方は人がある程度目分量で外れても結果が大きく変わりませんが、コンピュータは書かれたとおりにしか進まないので、一段階間違えるだけで結果が完全にずれます。また、学習アルゴリズムの中には毎回同じ結果を出さないものも多くあります。最初の数値を無作為に決めたり、データを混ぜる順番が変わったりすると、同じ手順を同じデータにかけても少しずつ違うモデルができます。
4やってみる
5よくある誤解
アルゴリズムとモデルは同じものだと思われがちですが、実際はアルゴリズムが教える手順で、モデルはその手順をデータに当てはめて出てきた成果物です。
アルゴリズムが自分で判断していると見られがちですが、実際は人が決めておいた手順をそのままなぞるだけです。手順の中にすでに人の選択が入っています。
AIはアルゴリズムとは別の何かだと思われがちですが、実際はデータを見て数値を直していく手順こそがAI学習の中身です。
7ひとこと要約
つまりアルゴリズムは問題を解くための決まった手順と規則で、AIではデータを見ながらモデルを作り出すその手順自体を指します。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02