掲載数No.1プログラミング教室・ロボット教室検索サイト

「アルゴリズム」とは?今さら聞けないキーワードを解説!

2002年の放映スタート以来、大人気の番組「ピタゴラスイッチ」。「『考え方』を育てる」という目的のもと、「ピタゴラ装置」などのユニークなコンテンツを発信し、子供たちの好奇心を刺激し続けています。

さて、そんな「ピタゴラスイッチ」の人気ソングといえば「アルゴリズム体操」ですが、そもそも「アルゴリズム」とは何なのでしょうか。

ニュースで時おり耳にする「Googleが検索エンジンのアルゴリズムを変更した」とは、一体何のことなのでしょうか。今回は、コンピュータの基本単語「アルゴリズム」についてご説明します。

プログラミングスクールで、転職に有利なスキルが学べる!

アルゴリズムとは?「計算の手順・やり方」のこと!

「アルゴリズム」とは、簡単に言うと「手順や計算方法」のことです。さらにざっくりとした言い方をすれば「やり方」とも言えるでしょう。

そもそもコンピュータは日本語に訳すと「電子計算機」となります。つまりコンピュータは、人の手では時間がかかりすぎたり、面倒だったりする計算を代わりにやってもらうためにあるのです。

そのときコンピュータにさせる「計算の手順、やり方」こそが「アルゴリズム」である、というわけです。

重要なのは、ある結果にたどり着くためのやり方(アルゴリズム)はたくさんあることです。

でも、最終的に同じ結果になるのであれば、できれば効率よく、すばやく計算してくれるほうが助かりますよね。

ですから、いくつかのアルゴリズムがある場合、より効率よく計算できるアルゴリズムのほうが優れていることになります。

コンピュータを「料理のヘタな友達」にたとえてみよう

話を分かりやすくするために「友達に頼んで、カレーを作ってもらう」ケースを想像してみましょう。友達(自分の代わりに料理をしてくれる人)をコンピュータ、調理の進め方をアルゴリズムと考えてください。

残念ながら、コンピュータは勝手に仕事を行ってくれません。

例えると、一人でキッチンに立ったことがなく、一体何をすればいいのか自分では判断できない友達ということになります。ですから友達に、カレーの作り方(アルゴリズム)を教えてあげなければいけません。

カレーの作り方はいろいろありますが、その中にも効率のいい方法、悪い方法はあります。

たとえば野菜を柔らかくする場合、普通は切ったあと、すべてをまとめて茹でますよね。でも理論上は、切ったかけらをひとつずつ茹でていくこともできます。

この方法でも最終的にはすべての野菜が柔らかくなりますが(計算結果が同じになる)、時間がいくらあっても足りません。つまり、効率の悪いやり方(効率の悪いアルゴリズム)だと言えるのです。

代表的なアルゴリズム「二分探索法(にぶんたんさくほう)」

では、次はコンピュータのアルゴリズムについて説明します。アルゴリズムには色々なものがありますが、中でも代表的なのは「二分探索法(にぶんたんさくほう」です。

たとえば、親戚の子どもが何歳だったか知りたいとします。

考えられる方法としては、「0歳?」「ちがうよ」「1歳?」「ちがうよ」と、0歳から順に聞いていく方法がありますね。

この方法は最もシンプルですが、親戚の子どもが18歳だった場合、19回も質問を繰り返すことになります。ちょっと面倒くさいですね。

これを効率よくするには、真ん中あたり(10歳)から質問していけばいいのです。「10歳?」と聞いて「それよりは大きいよ」と言われたら、0歳から10歳の間はもう質問しなくても良くなります。さっそく半分の可能性が消えるわけですから、先ほどの方法と比べるとずっと効率が良いわけです。

このように、半分のところで分けて調べる方法が「二分探索法」というアルゴリズムです。親戚の子どもの例であれば最大でも19回の質問で済みますが、コンピュータで計算する場合はまったく桁が違います。

そうなると「面倒くさい」では済まないですよね。ですから、なるべく効率的なアルゴリズムの研究が日々進められているわけです。

生活のあちこちで活用されるアルゴリズム

アルゴリズムは生活の至るところで使われています。

たとえばカーナビや乗り換え案内。

中心となるのは、A地点からB地点まで行く方法が何パターンかあった場合、どの経路を通るのがいちばん早いか?を計算してくれるアルゴリズムです。

それから、時おりニュースを騒がせる「Googleの検索アルゴリズム」。これはGoogleで検索された単語に対して、どのページを上位に表示させるかという計算方法(アルゴリズム)です。

サイトの運営者にとっては、この順序は高ければ高いほど嬉しい状態です。大体の人は、上から順にページを見ていきますよね。逆に、下の方のページはあまり見ないことも多いはずです。

せっかく作ったサイトは、なるべく多くの人に見てもらいたい。そうなると、「Googleはどういうやり方(アルゴリズム)で順位を決めているんだろう?」という点が気になるわけです。

Googleは検索アルゴリズムの詳しい内訳を公開しておらず、その上、ときどき大幅な変更を加えます。

ですから「アルゴリズムが変わった!次は一体どのようなものだろう?」「もしかしたら、自分のサイトも順位が下がる(上がる)かも!」がニュースになるわけです。

まとめ:どうしてあの曲は「アルゴリズム体操」なの?


さて、ここで「アルゴリズム体操」を思い出してみましょう。

アルゴリズム体操では、一人の動きを受けて、もう一人の動きが進んでいきます。つまり、二人の動きが連鎖しているわけです。カレーの例でいうと「にんじんを切る。まとめて鍋に入れる。水を入れて茹でる。」という手順です。

「前の手順を受けて、次の手順が進む」動きがアルゴリズム的なので「アルゴリズム体操」という名前になっているのでしょう。難しげな単語を身近にする、ネーミングの妙だと言えますね。

プログラミングスクールで、転職に有利なスキルが学べる!


コエテコ 読者会員募集!

いいね!すると、プログラミング教育に関する最新情報や
セミナー情報などを定期的にお届けします。

  • # セミナー情報

  • # 数値レポート

  • # FC募集

新たなスキル「プログラミング教育」を先取りしませんか? 今後のプログラミング教育流れ図
今から、先取りしませんか?
コエテコ経由の体験申し込みでアマギフ2000円分プレゼント!
お近くの教室を探す →

あわせて読みたいガイド

ガイドを読めばプログラミング教育がスッキリわかる!
プログラミングまるわかりガイドを読む

RECOMMEND

この記事を読んだ方へおすすめ