問題や課題を解決するために定めた手順や計算手法のこと。コンピューターにアルゴリズムを実行させるには、プログラミング言語を使って記述する。IT企業などはコンピューターを活用して膨大なデータを収集し、複雑な計算手法を通すことで、消費者に有益な情報を提供している。インターネットの検索エンジンで利用されているほか、飛行機の空席状況に応じて同じ路線で運賃を変動させるダイナミックプライシングもその一例。
更新日:
出典 共同通信社 共同通信ニュース用語解説共同通信ニュース用語解説について 情報
算法ともいう。計算の方法,作図の手順,問題を解く手続きなど,一般に情報処理の具体的な方法,手順。例えば定規とコンパスで〈与えられた2点の中点を求める方法〉,計算の繰返しによって〈与えられた2数の最大公約数を求める方法〉(互除法)などがアルゴリズムの基本的な例である。
アルゴリズムの語は,アラビアの数学者フワーリズミーに由来する。12世紀に彼の著作がラテン語に訳されたとき,その書名にアル・フワーリズミーから採ったアルゴアリスミalghoarismiなどの語が冠せられた。その後algorismとつづり,アラビア数字,アラビア式記数法,算術などを意味したが,数を意味するギリシア語arithmosと結びついてalgorithmともつづるようになった。現在〈算法〉という意味ではこの後者がおもに用いられる。
ギリシアの三大難問(たとえば〈与えられた任意の角を3等分する一般的な方法を示せ〉)や,代数方程式の解の公式を求める問題は,どれもアルゴリズムの問題と考えることができる。これらは(四次以下の方程式の解の公式を除き)否定的に解かれたが,数学の発展に大きな影響を及ぼした。1930年代に数学基礎論の一部で,論理の限界の研究に関連して,アルゴリズムの一般的な概念(計算可能性)とその限界が論じられた。40年代には,電子計算機の登場によって,アルゴリズムは実用的かつ緊急の意味をもつようになった。どんな仕事でも,電子計算機に実行させるには,そのためのアルゴリズムが必要不可欠だからである。この重要性は電子計算機の普及とともにますます一般化しつつ,現在に至っている。
アルゴリズムは客観的に明確で,どのような場合に何をなすべきかがつねに具体的に指定されていなければならない。〈適当に〉とか〈主体的判断によって〉などということは許されないのである。そこでアルゴリズムを記述する際に,次の事がらをあらかじめはっきりさせておかなければならない。(1)どんな基本操作が許されるか。(2)適切な基本操作を選択するために,どんな条件の判定が可能か。(3)基本操作およびその実行順序を,どのように書き表すか。例えば作図アルゴリズムにおいては,2点を結ぶ直線をひくこと,ある点を中心にある半径の円を描くことなどが基本操作となる。また〈ある直線の上に,ある点Pが乗っているかどうか〉などはいつでも判定可能とみなされる。作図アルゴリズムはこれらの基本操作および条件判定の列という体裁をとる。複雑なアルゴリズムの記述のためには,実行順序にまぎれが生じないように,人工的な〈記述言語〉あるいは〈プログラミング言語〉を設定し,それに従ってアルゴリズムを記述する。その結果を〈プログラム〉という。
アルゴリズムに関連して,次のような研究が行われている。(1)可能性について-帰納的関数の理論。(2)正確さについて-論理的な正当性については〈数学的プログラム理論〉,数値的な正確さについては〈数値解析〉。(3)効率について-〈計算量の理論〉。ここで計算量とはあるアルゴリズムにおいて実行される基本操作の回数など,計算の複雑さを表す量のことである。例えば乗算の反復によってax100を計算する場合,aにxを100回掛ければ計算量は100となるが,巧妙なアルゴリズムを用いれば計算量は9となる(9回の乗算でax100が求められる)。大規模な問題が扱われる場合,アルゴリズムの巧拙は致命的な影響をもつ。そのため計算量の理論は70年代以降急速に発達した。現在では多数の計算装置による同時並行処理を前提とした〈並行処理アルゴリズム〉や,不確定な要素を含む〈非決定論的アルゴリズム〉〈確率論的アルゴリズム〉なども研究されている。
執筆者:野崎 昭弘
出典 株式会社平凡社「改訂新版 世界大百科事典」改訂新版 世界大百科事典について 情報
計算や問題解決の手順のこと。定められた手続に従って計算していけばいつかは答えが得られ、それが正解であることが保証されている手続である。最大公約数を求めるユークリッドの互除法などがその例。ただし計算量や記憶容量の問題を考えたときに、それが現実的に実行可能であることは意味しない。よくいわれるNP完全問題は、要素の数nに対して指数関数的に資源(計算時間や記憶容量のこと)が増加するので、計算時間が宇宙の寿命より長かったり、メモリー容量が宇宙の分子の数より大きかったりして、現実的には解けないことが多い。
したがってアルゴリズムは正解が求められるというだけでは不足で、その計算量が問題とされる。たとえば大量のデータを整列する(大きさの順とかアルファベット順とかで並べ替える)「ソート」のアルゴリズムは、要素数nに対しnlog(n)のオーダーで計算できるものが最善であり、場合によってはn2のものも多用されている。
人工知能(AI)などでは、ヒューリスティクスとよばれる擬似アルゴリズムが使われることが多い。これは、平均的には効率よく解を求められるが、場合によっては間違っていたり、最適の解ではなかったりすることがあるというものである。しかし、日常生活を送るうえではこれで十分なことが多い。たとえば、カーナビゲーションで経路探索を行った場合、最短経路より数%長い探索結果が出てしまうことなどは許容されるであろう(実際、交通状況に依存するので、カーナビの最短経路がもっとも早いとは限らない)。
また、多くの都市をどの順で回れば最適かという「巡回セールスマン問題」の最適解を求めるにはn!に比例する時間がかかり、20都市程度でも現実的な計算はできない。
一般的に計算量が膨大になる問題でも、最適解でなくてよければ、現実的に計算可能なヒューリスティクスはいくつかある。ニューラルネットワークを使って近似解を求める方法も知られている。
[中島秀之 2019年7月19日]
出典 ブリタニカ国際大百科事典 小項目事典ブリタニカ国際大百科事典 小項目事典について 情報
出典 株式会社平凡社百科事典マイペディアについて 情報
出典 ASCII.jpデジタル用語辞典ASCII.jpデジタル用語辞典について 情報
出典 カメラマンWebカメラマン写真用語辞典について 情報
(星野力 筑波大学名誉教授 / 2007年)
出典 (株)朝日新聞出版発行「知恵蔵」知恵蔵について 情報
…アルゴリズムの計算効率や問題の難しさを測るための尺度。主なものに,時間効率を測るための時間計算量,メモリー効率を測るための領域計算量などがある。…
…アラル海の南ホラズムの出身で,アッバース朝のカリフ,マームーン治下のバグダードで活躍した。われわれが今日用いているアラビア数字は,彼がインドから導入したもので,アラビア記数法やそれに基づく計算を意味する〈アルゴリズム〉という語は,彼の名前が転訛したものである。彼の著作のうち最も有名なものは《代数学》で,これはアラビア数学の嚆矢をなすばかりでなく,後のヨーロッパに初めて代数というものの存在を教えたものであることは,アルジェブラalgebra(代数学)という語がこの本の書名の一部al‐jabr(移項して負の項をなくす操作)に由来することからもわかる。…
※「アルゴリズム」について言及している用語解説の一部を掲載しています。
出典|株式会社平凡社「世界大百科事典(旧版)」
宇宙事業会社スペースワンが開発した小型ロケット。固体燃料の3段式で、宇宙航空研究開発機構(JAXA)が開発を進めるイプシロンSよりもさらに小さい。スペースワンは契約から打ち上げまでの期間で世界最短を...
12/17 日本大百科全書(ニッポニカ)を更新
11/21 日本大百科全書(ニッポニカ)を更新
10/29 小学館の図鑑NEO[新版]動物を追加
10/22 デジタル大辞泉を更新
10/22 デジタル大辞泉プラスを更新