C11: 大量データ処理のための領域効率の良いアルゴリズム

Slides:



Advertisements
Similar presentations
北海道大学 Hokkaido University 1 情報理論 講義資料 2016/06/22 情報エレクトロニクス学科共通科目・2年次・第 1 学期〔必修 科目〕 講義「情報理論」第 5 回 第 3 章 情報源のモデル [ 後半 ] 3.5 情報源のエントロピー.
Advertisements

組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム( 1 ) スケールフリーネットワーク 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター.
透過的データ圧縮 Transparent Data Compression
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
4.3 マージソート.
Bipartite Permutation Graphの ランダム生成と列挙
極小集合被覆を列挙する 実用的高速アルゴリズム
簡潔データ構造 国立情報学研究所 定兼 邦彦.
離散システム特論 整列(sorting)アルゴリズム 2.
Lexical Permutation Sorting Algorithm
ラベル付き区間グラフを列挙するBDDとその応用
2分探索.
    有限幾何学        第8回.
On the Enumeration of Colored Trees
伝播速度限定モデル Scale Free Network 上 の情報拡散 日本大学文理学部 情報システム解析学科 谷聖一研究室 古池 琢也
from KDD 2012 speaker: Kazuhiro Inaba
An Algorithm for Enumerating Maximal Matchings of a Graph
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
Probabilistic Method.
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
Approximation of k-Set Cover by Semi-Local Optimization
Reed-Solomon 符号と擬似ランダム性
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
東京大学大学院情報理工学系研究科 数理情報学専攻 定兼 邦彦 2016年4月7日
宇野 毅明 国立情報学研究所 2002年3月 東北大大学院 情報科学研究科ワークショップ
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
Proper Interval Graphsの ランダム生成と列挙
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
二分探索木によるサーチ.
ベイジアンネット混合モデルによる 強化学習エージェントの方策改善
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
第14章 モデルの結合 修士2年 山川佳洋.
数理情報工学演習第二B 数理2研 定兼 邦彦 2016/9/30.
ランダムグラフ エルデシュとレーニイによって研究された.→ER-model p:辺連結確率 N:ノード総数 分布:
Internet広域分散協調サーチロボット の研究開発
25. Randomized Algorithms
データ構造と アルゴリズム 第六回 知能情報学部 新田直也.
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
A Simple Algorithm for Generating Unordered Rooted Trees
離散数学 07. 木 五島.
Data Clustering: A Review
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
プログラミング 4 木構造とヒープ.
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第16章 動的計画法 アルゴリズムイントロダクション.
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
Max Cut and the Smallest Eigenvalue 論文紹介
アルゴリズムとデータ構造 2011年6月16日
情報工学概論 (アルゴリズムとデータ構造)
ガウス分布における ベーテ近似の理論解析 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
アルゴリズムとデータ構造 第2章 リスト構造 5月24日分
分枝カット法に基づいた線形符号の復号法に関する一考察
ヒープソート.
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
アルゴリズムとデータ構造 2013年6月20日
Speaker: Kazuhiro Inaba Paper Introduction from WSDM 2015
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

C11: 大量データ処理のための領域効率の良いアルゴリズム 定兼 邦彦 小野 廣隆 山下 雅史 (九大) 2007年5月15日

研究の目的 大量データを効率的に処理するための アルゴリズムとデータ構造の開発 アプローチ データおよびデータ構造の圧縮 局所情報のみを用いた探索 確率アルゴリズム

これまでの成果 グラフ探索アルゴリズム (論文4) 簡潔データ構造 (論文11) 分散アルゴリズムでの故障検知器 ランダムウォーク Right-Hand-on-the-Wall walk Forest search 無線ネットワークでのオンラインbroadcast 簡潔データ構造 (論文11) 透過的データ圧縮法 順序木の超簡潔データ構造 圧縮接尾辞配列・接尾辞木 実用的rank/selectデータ構造 分散アルゴリズムでの故障検知器 センサーネットワークでの省電力データ収集

問題 入力: n ノード連結グラフ G 出力: G の枝ラベル 各枝は2つのラベルを持つ (両端に1つずつ) 3 問題 入力: n ノード連結グラフ G 出力: G の枝ラベル 各枝は2つのラベルを持つ (両端に1つずつ) 各ノード v の周りのラベルは [1,deg(v)] の異なる整数 “Right-Hand-on-the-Wall” walk が存在

Right-Hand-on-the-Wall Walk エージェントがあるノードの1ラベル枝から出発 点 v に枝 i から着いたら,枝 i+1 から出る (無記憶) エージェントは全点を訪れる 1 3 2 1 1 2 2 3 3 2 3 1

結果 どんなグラフにも Right-Hand-on-the-Wall Walk が存在 walkの長さは高々 10n 参考

Forest Search 仮定 解きたい問題 グラフ全体は記憶できない ノードを訪れるとそのノードの隣接点がわかる グラフには情報を書けない ノードは異なる ID を持っている 解きたい問題 点 u を出発し v に着くまでのstep数を減らす 全点を訪れるまでのstep数を減らす 全点を少ないメモリで重複無く列挙 P2Pに有効(?)

Forest Search 逆探索の拡張 スケールフリーネットワークの探索に適している グラフに森を定義する 1つの木の中は逆探索 それぞれの木を1点に縮約したグラフでDFS 必要メモリは木の数に比例 ステップ数 O(|V|+|E|・h) (h: 木の中で最大の深さ) スケールフリーネットワークの探索に適している

スケールフリーネットワーク 次数の分布がベキ則に従う : P(d)~d –γ 生成モデルのひとつ:BAモデル [Barabasi and Albert 99 ] Growth: 単位ステップあたり1点とそこから出る辺をm本追加 Preferential attachment: 追加する辺の一端は既存の頂点へ その次数に比例した 確率で決定する                  傾き: -γ 頂点数 次数d

仮想的な森 ネットワークの構造の 部分グラフ(spanning forest)が仮想的な森 になる forest search は 仮想的な木の構造に 従って,ネットワークを 探索する

仮想的な木を作る 親の選び方 : 単純ルール 局所情報だけで 任意の頂点の親と子を一意に 決められるため,木構造を記憶しておく必要がない 親の選び方 : 単純ルール Nk(u) : 頂点uからの距離が高々k(>=0)である頂点の集合 N1(u)から最も次数の高い頂点を頂点uの親π(u)に選ぶ 2つ以上あればその中で最もIDの小さい頂点   局所情報だけで 任意の頂点の親と子を一意に 決められるため,木構造を記憶しておく必要がない 各頂点 u にはちょうどひとつの親 π(u) が存在し, deg(π(u)) > deg(u) or ID(π(u)) < ID(u) (π(u)≠u) deg(π(u)) = deg(u) (π(u) =u)

仮想的な木を作る (追加ルール) 親の選び方 : 追加ルール u u 目的:仮想木を統合して木の数を減らしたい 仮想的な木を作る (追加ルール) 親の選び方 : 追加ルール 目的:仮想木を統合して木の数を減らしたい 単純ルールで仮想木の根になる頂点uに対して,π(u)を選び直す N2(u)で最も次数の高い頂点をπ(u)に選ぶ (2つ以上あればその中でIDが最小の頂点) π(u) u u π(u) 追加ルール 単純ルール

追加ルールによって作られるグラフの性質 定理: 追加ルールによって定義されるグラフFは次の性質を満たす u 1.単純ルールにおける木の根uが異なる木に属する頂点と隣接していたなら,追加ルールにおいてuは木の根ではない 2.Fには長さ2以上のサイクルは存在しない u π(u)

計算機実験 ERモデル : ランダムグラフ [ Erdos and Renyi ] 探索手法 forest search β-random walk  (比較対象) ネットワーク 頂点数 n, 辺数 2n ネットワーク生成モデル ERモデル  : ランダムグラフ [ Erdos and Renyi ] WSモデル : スモールワールドネットワーク              [ Watts and Strogatz ] BAモデル  : スケールフリーネットワーク 全 n(n-1)/2 個の起点・目標頂点対に対して探索を実行し平均を取る それぞれ20個のネットワークに対する平均を取る

実験結果 : ステップ数 (n = 500) random walk に対する性能向上の割合 探索手法 ER WS BA 平均 forest search 627 962 516 β-random walk 902 1380 1031 最大 4025 5121 2259 4886 3947 3173 random walk に対する性能向上の割合 最も高いモデル : BA 最も低いモデル : WS ※β-random walk はβ=0.5の結果

実験結果 : 仮想的な森に関する量(単純ルール) 木の数 最大の木のサイズ BA BAモデル : 最大の木のサイズが大きく,木の数は少ない WSモデル : 最大の木のサイズが小さく,木の数は多い WS ER ER BA WS

実験結果 : 仮想的な森に関する量(追加ルール) 木の数 最大の木のサイズ BAモデル : 木の数は劇的に減少 90%以上の頂点が最大の木に含まれる 

実験結果 : cover time ネットワークの全頂点を訪れるときのステップ数 ・BAモデル ・n=~500 β-random walk forest search(単純ルール) forest search (追加ルール)

BAモデルのグラフの 生成において, 単位ステップ毎に 追加する辺の数 実験結果 : 木のサイズの分布 n=200,000 最大の木のサイズが非常に大きい 最大の木を除いて,サイズの分布はベキ則に従う ※パラメータm BAモデルのグラフの 生成において, 単位ステップ毎に 追加する辺の数 最大の木のサイズ m=2 のとき頂点数の65パーセント。 mが増加するほど最大木のサイズは大きくなる

簡潔データ構造 (Succinct Data Structures) 簡潔データ構造=データの簡潔表現+簡潔索引 簡潔データ構造の例 木,グラフ 文字列 順列,関数

簡潔表現 サイズが情報理論的下限に(ほぼ)一致する表現 入力が L 通りのとき,情報理論的下限は log L bits 例1: 集合 S  {1,2,...,n} のサイズの下限 log 2n = n bits 例2: n 頂点の順序木 例3: n 文字の文字列 n log  bits (: アルファベットサイズ)

簡潔索引 決められた操作を実現するためのデータ構造 サイズ: o(log L) bits 従来の表現と(ほぼ)同じ操作時間 計算モデル: word RAM ポインタサイズ w bits (2w 個のメモリセル) w ビットの四則演算が定数時間 連続する w ビットのメモリの読み書きが定数時間 前述の例では w = log n = log log L

簡潔データ構造の例 超簡潔 (ultra-succinct) データ構造 サイズがデータのある種のエントロピーと一致 順序集合 S {1,2,...,n} 順序木 (n ノード) 情報理論的下限 n log  n 2no(n) 簡潔データ構造 (n+o(n)) log  [GV00] n+o(n) [J89][M96] 2n+o(n) [MR97] 超簡潔データ構造 nHk(S)+o(n log ) [GGV03] nH0(S)+o(n) [RRR02] nH*+o(n) [本研究] 超簡潔 (ultra-succinct) データ構造 サイズがデータのある種のエントロピーと一致 問い合わせ計算量が変わらない

新しい順序木の表現 BPとDFUDSでの基本演算は全て定数時間 サイズは木のある種のエントロピーに圧縮 定義: 木次数エントロピー 最悪 2n+o(n) ビット 定義: 木次数エントロピー ni: 次数 i のノード数 例: 全2分木 (全内部ノードが丁度2つの子を持つ) BP, DFUDS: 2n ビット 本研究: n ビット

サイズの下限 次数 i のノード数が ni である順序木の数は より,このエントロピーは木の次数を固定した場合の情報理論的下限と一致 [Rote 96]

透過的データ圧縮法 任意箇所を瞬時に復元 (log n ビットを定数時間) 圧縮率は従来通り word RAMモデルでは最適  ⇒データは圧縮されていないとみなせる 圧縮率は従来通り (全ての k  0 に対して同時に成立)

今年度の予定 Forest SearchとUSTCONNアルゴリズムの関係 簡潔データ構造の応用 V. Trifonov. An O(log n log log n) space algorithm for undirected st-connectivity, STOC 05. 簡潔データ構造の応用 頻出アイテム集合 (Web)グラフの符号化