※当サイトではアフィリエイト広告を利用しています
「アルゴリズム」という言葉を聞いて、すぐに説明ができますか?
分かるようで分からない、しかも次々と登場していくIT用語。
新入社員や文系出身者、勉強し始めたばかり!という方にも分かりやすいようにまとめました。
これで「アルゴリズム?聞いたことはあるけどよく知らない」から卒業しましょう!
今回は、アルゴリズムについて解説したいと思います。
アルゴリズムとは
アルゴリズムとは、仕事の手順・方法のことです。
なかでも、想定する条件の中で、決まった手順・作業を繰り返している限りは、欲しい結果に到達することができるものが広くアルゴリズムと呼ばれており、
コンピュータープログラムは、アルゴリズムの集積です。
下記に、代表的なアルゴリズムを説明します。
アルゴリズムの例「反復」について
例えば、64という数字を作る仕事を考えます。
これは、2を5回かける計算で出ます。
これは、非常に単純な手順・仕事の例ですが、例えば64を作る作業を数千回繰り返す、数万回繰り返す、ということになると、
書いている間に、人間なら何度繰り返したのかはすぐわからなくなりますし、字を間違えてしまうといったことが起こります。
しかし、コンピューターなら正確に繰り返すことができます。
アルゴリズムの存在意義は、一つには、コンピューターに手順を覚えさせて、何度も仕事を繰り返させることにあります。
何度やっても同じことができます。
つまり、反復がアルゴリズムの原点であり、これがコンピューターの発明に結びついたものです。
産業用ロボットが、組み込みコンピューターに覚えさえたプログラムで動いているのは反復の典型的な例です。
アルゴリズムの例「二分探索法」「最短経路探索法」
アルゴリズムの種類はほかにも多くありますが、ここで少しご紹介します。
二分探索法
20歳未満の学生に
小学生 中学生 高校生 大学生
のうち、いずれに属するか、すべてYesかNoで答えさせるとして、
No Yes No No
と入力すると、答えは中学生となりますね。
このYes/No の問い=どちらか決めさせる仕事を二分探索法、といいます。
フローチャートを見たことがあると思うのですが、これは二分探索法でできたアルゴリズムを表現した図です。
また、この二分探索法は、Web上見られるアンケート用紙にもよく見られるところです。
先ほどの学生の属性を答えさせる問題は、ラジオボタンで答えるのがふさわしいものです。
最短経路探索法
ところで、先ほどの64を作る問題ですが、
ある条件の中で、2を使い、一番短い数式で64を作るにはどうしたらいいか、という問いに対する答えもアルゴリズムで出すことができます。
①式でコンピューターにランダムに作らせ、64を作らせる
②ランダムにつくった式のうち、最短のものを選ばせる
③解答がわかる
これを最短経路探索法、といいます。この簡単な原理を使って、直進・右折・左折の組み合わせにより、地図上瞬時に経路を探索するのがカーナビです。
「機械学習」もアルゴリズムの組み合わせからできている
答えが正か誤か=>誤であると、一つ前の判断に戻る、といった作業を繰り返すアルゴリズムがAIのアルゴリズムです。
二分探索法と、反復そしていくつかの層にわけて条件式を解いています。
AIは、誤った回答をもとに、正答を出すアルゴリズムを記憶していくこともできますが、これが今話題の機械学習です。