アルゴリズムとは、問題を解決したり、目的を達成したりするための手順や計算方法です。
簡単に言うと、料理のレシピや目的地までの道順のようなものです。「何を、どの順番で、どう進めるか」を決めたものがアルゴリズムです。
ITでは、パソコンやスマホに作業をさせるために使われます。この記事では、アルゴリズムの意味や身近な例、3つの基本構造、プログラムとの違いを初心者向けに解説します。
関連するIT用語・ビジネス用語をまとめて確認したい方は、IT用語・ビジネス用語一覧もあわせてご覧ください。
アルゴリズムとは?簡単に言うと問題を解く手順

アルゴリズムとは、ある目的を達成するために決めた手順や考え方のことです。
日本語では、「手順」「やり方」「進め方」「問題を解く方法」などと言い換えられます。
たとえば、料理を完成させるには、材料を切る、焼く、味を付けるという手順があります。目的地へ行くには、道を曲がる場所や電車を乗り換える順番があります。
このように、目的と手順が決まっているものは、アルゴリズムに近い考え方です。
IT用語としてのアルゴリズムは、コンピューターに作業をさせるための手順を指します。
コンピューターは、人間のように状況をくみ取って動くわけではありません。そのため、「最初に何をするか」「次に何をするか」「どの条件で動きを変えるか」を細かく決める必要があります。
アルゴリズムの意味が分かる身近な例

アルゴリズムは、特別な計算だけに使う言葉ではありません。身近な生活の中にも、アルゴリズムに近いものがあります。
料理のレシピ
料理のレシピは、アルゴリズムの分かりやすい例です。
カレーを作る場合は、野菜を切る、肉を炒める、水を入れる、煮込む、ルーを入れるという手順があります。
順番を大きく間違えると、同じ材料を使っても、思ったとおりに完成しないことがあります。
料理を完成させるという目的に向けて、作業の順番を決めたものがレシピです。ITでは、このような手順をコンピューター向けに考えます。
駅までの道順
駅までの道順も、アルゴリズムに近い例です。
家を出る、交差点を右に曲がる、信号を渡る、まっすぐ進むというように、目的地までの手順があります。
道順には判断も含まれます。たとえば、信号が赤なら止まり、青なら進みます。
また、同じ駅へ行く場合でも、距離が短い道、信号が少ない道、坂が少ない道など、いくつかの行き方があります。
アルゴリズムも同じです。同じ目的を達成できる場合でも、手順は一つとは限りません。
一番大きい数字を探す手順
数字の中から、一番大きい数字を探す作業もアルゴリズムで表せます。
たとえば、「3、8、5、9、2」という数字がある場合を考えます。
最初に3を覚え、次の8と比べます。8の方が大きいため、覚える数字を8に変えます。
その後も5、9、2と順番に比べます。最後に残った9が、一番大きい数字です。
人間には簡単な作業でも、コンピューターに行わせるには、比べる順番や判断の方法を決める必要があります。
アルゴリズムの基本は順次・分岐・反復の3つ

アルゴリズムの基本構造は、順次、分岐、反復の3つです。
多くのアルゴリズムは、この3つを組み合わせて作られています。
順次とは順番に進めること
順次とは、決められた順番に作業を進めることです。
たとえば、料理で「野菜を切る」「炒める」「煮る」と進める流れが順次です。
コンピューターも、基本的には書かれた命令を上から順番に処理します。
分岐とは条件によって進み方を変えること
分岐とは、条件によって次の動きを変えることです。選択と呼ばれることもあります。
たとえば、信号が青なら進み、赤なら止まります。ログインしていれば次の画面を表示し、ログインしていなければログイン画面を表示するのも分岐です。
「もし○○なら、こちらへ進む」という判断が分岐に当たります。
反復とは同じ作業をくり返すこと
反復とは、同じ作業を決めた回数や条件までくり返すことです。ループと呼ばれることもあります。
たとえば、皿を1枚ずつ洗い、すべての皿がきれいになるまで続ける作業が反復です。
ITでは、100人分のデータを1件ずつ確認する場合などに、反復が使われます。
ITでアルゴリズムが必要な理由

ITでは、コンピューターに正しく作業をさせるためにアルゴリズムを使います。
コンピューターは、決められた手順にそって文字や数字、画像などを処理し、結果を出します。
インプット・処理・アウトプットで考える
ITの作業は、「インプット」「処理」「アウトプット」に分けると理解しやすくなります。
インプットは、コンピューターに入れる情報です。アウトプットは、処理した後に出てくる結果です。
料理にたとえると、材料がインプット、レシピにそった調理が処理、完成した料理がアウトプットです。
コンピューターも、入力された情報をアルゴリズムにそって処理し、画面表示や計算結果などを出します。
コンピューターには細かい手順が必要
人間は、「数字を小さい順に並べて」と言われれば、何をすればよいかを考えられます。
しかし、コンピューターに作業をさせるには、どの数字から比べるか、入れ替える条件は何か、いつ終了するかを決める必要があります。
このような細かい手順を考えることが、アルゴリズムを作ることです。
同じ結果でも複数のアルゴリズムがある
同じ答えを出す場合でも、アルゴリズムは一つとは限りません。
たとえば、目的地まで行く方法には、最短距離を通る方法や、混雑を避ける方法があります。
ITでも、処理の速さを優先する方法、使うデータの量を減らす方法、内容を分かりやすくする方法などがあります。
よいアルゴリズムは、正しい結果を出せることが基本です。そのうえで、処理の速さや分かりやすさ、直しやすさなども考えます。
アルゴリズムとプログラムの違い
アルゴリズムとプログラムは、同じものではありません。
アルゴリズムは、目的を達成するための手順や考え方です。プログラムは、その手順をコンピューターが実行できる命令として書いたものです。
料理にたとえると、アルゴリズムは料理の作り方です。プログラムは、その作り方をコンピューターが読める形で書いた命令書です。
| 用語 | 意味 | 身近な例え |
|---|---|---|
| アルゴリズム | 目的を達成するための手順や考え方 | 料理の作り方 |
| プログラム | コンピューターが実行できる形で書いた命令 | 機械が読める命令書 |
| フローチャート | アルゴリズムを箱や矢印で表した図 | 作業の流れを示す案内図 |
| データ構造 | データを扱いやすく整理する方法 | 本棚や引き出しの整理方法 |
フローチャートは手順を図で表したもの
フローチャートとは、作業の順番や分岐を箱と矢印で表した図です。
文章だけでは分かりにくいアルゴリズムも、図にすると流れを追いやすくなります。
データ構造は情報の整理方法
データ構造とは、コンピューターが情報を扱いやすいように整理する方法です。
たとえば、本を作者順に並べるか、分野ごとに並べるかによって、探しやすさは変わります。
アルゴリズムが「探す手順」だとすると、データ構造は「探しやすいように情報をしまう方法」です。
アルゴリズムが使われている身近なサービス
アルゴリズムは、検索エンジンや地図アプリ、SNS、ネットショップ、AIなどで使われています。
検索エンジン
GoogleやBingなどの検索エンジンでは、検索結果を並べるためにアルゴリズムが使われています。
入力された言葉とWebページの内容などを比べ、検索した人に役立つと考えられるページを表示します。
地図アプリ
地図アプリでは、現在地から目的地までの道を探すためにアルゴリズムが使われています。
距離が短い道、時間がかかりにくい道、有料道路を使わない道など、条件に合わせてルートを計算します。
SNSや動画サイト
SNSや動画サイトでは、投稿や動画の表示順を決めるためにアルゴリズムが使われます。
よく見る内容や、いいね、コメント、保存などの反応をもとに、関心がありそうな投稿が表示される場合があります。
ただし、表示の仕組みはサービスごとに異なり、内容が変わることもあります。
ネットショップ
ネットショップでは、商品を探したり、おすすめ商品を表示したりするためにアルゴリズムが使われています。
見た商品や購入した商品などをもとに、関連しそうな商品が表示される場合があります。
AI
AIも、アルゴリズムを使って動いています。
画像に何が写っているかを判断したり、文章を作ったりするときには、データを処理するためのアルゴリズムが使われます。
ただし、アルゴリズムとAIは同じ意味ではありません。アルゴリズムは、AIを動かすために必要な手順や仕組みの一部です。
アルゴリズムに関するよくある質問
アルゴリズムを日本語で言い換えると何ですか?
アルゴリズムは、「手順」「やり方」「進め方」「問題を解く方法」などと言い換えられます。
ITでは、コンピューターに作業をさせるための手順という意味で使われます。
アルゴリズムの英語は何ですか?
アルゴリズムの英語は「algorithm」です。
日本語では、英語の読み方に近い「アルゴリズム」という言葉が使われています。
アルゴリズムとプログラムは何が違いますか?
アルゴリズムは、問題を解くための手順や考え方です。
プログラムは、そのアルゴリズムをコンピューターが実行できる命令として書いたものです。
アルゴリズムの3つの基本構造は何ですか?
アルゴリズムの基本構造は、順次、分岐、反復の3つです。
順次は順番に進めること、分岐は条件によって動きを変えること、反復は同じ作業をくり返すことです。
アルゴリズムは難しい計算だけに使いますか?
アルゴリズムは、難しい計算だけを指す言葉ではありません。
料理のレシピや目的地までの道順など、目的を達成するための手順にも、アルゴリズムに近い考え方があります。
まとめ:アルゴリズムとは目的を達成するための手順
アルゴリズムとは、問題を解決したり、目的を達成したりするための手順や計算方法です。
料理のレシピや駅までの道順のように、「何を、どの順番で、どう進めるか」を決めたものと考えると分かりやすくなります。
アルゴリズムの基本構造は、順次、分岐、反復の3つです。ITでは、コンピューターに作業の順番や判断の方法を伝えるために使われます。
検索エンジン、地図アプリ、SNS、ネットショップ、AIなど、私たちが日常的に使うサービスの多くにもアルゴリズムが関わっています。
まずは、「アルゴリズムは目的に向かって進むための手順」と覚えると、意味を理解しやすくなります。

