オンラインアルゴリズム
[Wikipedia|▼Menu]

オンラインアルゴリズム(: Online algorithm)は、入力全体を最初からアクセス可能にしなくても、先頭から順に処理していけるアルゴリズムを指す。これに対して、オフラインアルゴリズム(: Offline algorithm)は、問題を解くのに最初からデータ全体へのアクセスが必要なバッチ処理型アルゴリズムを指す。例えば、挿入ソートはオンラインアルゴリズムで、選択ソートはオフラインアルゴリズムである。

また、時系列データをリアルタイムに処理して未来を予測するようなアルゴリズムを特に「オンラインアルゴリズム」と呼ぶ場合もあり、その場合単に入力を蓄積せずに逐次的に処理するアルゴリズムを「ストリームアルゴリズム」と呼ぶ。

例として、有限な連結グラフにおける最短経路問題を考えてみよう。ひとつのノードが入力され、そこから次の連結されたノードが辿れるようなデータ形式の場合、単純かつ完全な探索をしないと問題が解けないのは明らかである。そこで、オンラインアルゴリズムの性能と理想的なオフラインアルゴリズムの性能(全てのデータが最初からわかっている状態)とを比較する Competitive Analysis という手法が新たに生まれた。

オンラインアルゴリズムは、データをあらかじめすべて用意したり、読みだしたりする必要がなく、少量のデータを逐次読み込んで処理を行うことが可能である。そのため、すべてのデータを保持しておくのが難しいような大規模データ(ビッグデータ)を扱う状況や、時々刻々とデータが与えられる状況においてよく用いられる[1]。また未来のデータに依拠せず、その時点までに得られたデータだけに依拠し、かつ逐次型で処理を行う特徴がある。
オンラインアルゴリズムの例

粒子フィルタ (Particle filter)

データ圧縮アルゴリズムの多くはストリームアルゴリズムである。LZSSLZ77

脚注^ “ ⇒オンラインアルゴリズムで平均値の逐次計算”. 2014年10月5日閲覧。

関連項目

ページング問題

リアルタイムシステム

ビッグデータ

参考文献

Borodin, A.; El-Yaniv, R. (1998年). ⇒
Online Computation and Competitive Analysis. Cambridge University Press. ISBN 0-521-56392-5. ⇒http://www.cs.technion.ac.il/~rani/book.html 

外部リンク

Bibliography of papers on online algorithms
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.75em;right:1em;display:none}

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。


記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:5604 Bytes
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef