二分決定グラフに基づく 大規模ハイパーグラフの極小横断列挙

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
フロンティア法 - 組合せ問題の解を列挙索引化するZDD構築アルゴリズム
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
セキュアネットワーク符号化構成法に関する研究
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
極小集合被覆を列挙する 実用的高速アルゴリズム
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
    有限幾何学        第8回.
ファジィ論理と ファジィ構造モデリング 北海道工業大学 情報デザイン学科 三田村 保.
On the Enumeration of Colored Trees
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
An Algorithm for Enumerating Maximal Matchings of a Graph
Approximation of k-Set Cover by Semi-Local Optimization
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
データ構造と アルゴリズム 知能情報学部 新田直也.
宇野 毅明 国立情報学研究所 2002年3月 東北大大学院 情報科学研究科ワークショップ
疑似頻出アイテム集合の 多項式遅延列挙アルゴリズム
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
二分探索木によるサーチ.
サポートベクターマシン によるパターン認識
ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28.
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
決定木とランダムフォレスト 和田 俊和.
形式言語の理論 5. 文脈依存言語.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
動的依存グラフの3-gramを用いた 実行トレースの比較手法
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
7.4 Two General Settings D3 杉原堅也.
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
予測に用いる数学 2004/05/07 ide.
コードクローンの動作を比較するためのコードクローン周辺コードの解析
A Simple Algorithm for Generating Unordered Rooted Trees
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
不確実データベースからの 負の相関ルールの抽出
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
モデル検査(5) CTLモデル検査アルゴリズム
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
JAVAバイトコードにおける データ依存解析手法の提案と実装
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
第16章 動的計画法 アルゴリズムイントロダクション.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
構造的類似性を持つ半構造化文書における頻度分析
依存関係の局所性を利用した プログラム依存グラフの 効率的な構築法
第14回 前半:ラムダ計算(演習付) 後半:小テスト
保守請負時を対象とした 労力見積のためのメトリクスの提案
``Exponentiated Gradient Algorithms for Log-Linear Structured Prediction’’ A.Globerson, T.Y.Koo, X.Carreras, M.Collins を読んで 渡辺一帆(東大・新領域)
論理回路 第5回
情報工学概論 (アルゴリズムとデータ構造)
プログラミング言語論 第10回 情報工学科 篠埜 功.
アルゴリズムとデータ構造1 2009年6月15日
矛盾した知識 デフォルト推論 仮説を用いた推論 準無矛盾推論 デフォルト規則 デフォルト理論の拡張 → デフォルト証明 シナリオ
分枝カット法に基づいた線形符号の復号法に関する一考察
ヒープソート.
欠陥検出を目的とした類似コード検索法 吉田則裕,石尾隆,松下誠,井上克郎 大阪大学 大学院情報科学研究科
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
アルゴリズムとデータ構造 2010年6月17日
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
Presentation transcript:

二分決定グラフに基づく 大規模ハイパーグラフの極小横断列挙 戸田貴久1,2 湊真一2,1 JST 湊ERATOプロジェクト1 北海道大学大学院情報科学研究科2 2013年7月26日 第3回CSPSAT2研究会 用語の修正および「今後の展開」スライドの削除:2014年2月21日

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開 基本概念と問題定義 既存研究 提案手法の性能評価 発表のまとめと今後の展開

基礎概念と問題定義 例) ハイパーグラフ極小横断の列挙 入力 ハイパーグラフ 出力 すべての極小横断 ハイパーグラフ H=(V, E) E: Vの部分集合の集まり E の元はハイパーエッジ Eの横断(ヒッティング集合) V の部分集合で、 Eのすべての ハイパーエッジと交差するもの 1 2 3 4 5 6 列挙 ハイパーグラフ極小横断の列挙 入力 ハイパーグラフ 出力 すべての極小横断 例)

発表の概要 ハイパーグラフの極小横断列挙 基本概念と問題定義 既存研究 データ構造ZDD 提案法 計算機実験 発表のまとめ

··· 決定問題 計算問題 さまざまな分野への応用 データマイニング, 論理, 人工知能, Monotone Dual Monotone Dualization co-IMSAT, co-SIMSAT Maximal frequent sets, Minimal infrequent sets generation co-Additional World Horn envelope FD-RELATION EQUIVALENCE Model-based diagnosis

論理関数の基礎概念 論理関数 f の双対論理関数 fd(x1,…,xn) := f (x1,…,xn) リテラル:変数あるいはその否定 1 x1 x2 fd 1 論理関数 f の双対論理関数 fd(x1,…,xn) := f (x1,…,xn) リテラル:変数あるいはその否定 節:リテラルの論理和 CNF:節の論理積として の論理関数の表記 主節:論理関数によって含意される節のうち、 どのリテラルも除去不可なもの 主CNF:すべての主節からなるCNF 双対 例)f(x) = x1 ⋁ x2, fd(x) = x1 ⋀ x2 =(x1 ⋁ x2) ⋀ (x1 ⋁ x2) ⋀ (x1 ⋁ x2)

論理関数の双対化 Dual Dualization 入力 論理関数 f と g のCNFs φ と ψ 出力 f と g は互いに双対か? 入力 論理関数 f のCNF φ 出力 双対論理関数 fd の主CNF ψ ⇒ 充足可能性問題を含むので一般に計算困難

単調な論理関数の双対化 単調な論理関数 f が単調 ↔ f は定数または否定記号なしで論理和と論理積だけで表記可能 u ≤ v ならば f(u) ≤ f(v) を満たす論理関数 f が単調 ↔ f は定数または否定記号なしで論理和と論理積だけで表記可能 Monotone Dual 入力 単調な論理関数 f と g のCNFs φ と ψ 出力 f と g は互いに双対か? Monotone Dualization 入力 単調な論理関数 f のCNF φ 出力 双対論理関数 fd の主CNF ψ

既存結果と未解決問題 Algorithm (Fredman and Khachiyan ‘96) Corollary Monotone DualはNo(log N)で解くことができる。 ただし、N は入力CNFサイズの和とする。 Corollary Monotone DualizationはNo(log N)で解くことが できる。ただし、N は入力と出力のCNF サイズの和とする。 未解決問題:多項式時間で解くことができるか? (補足)co-Monotone Dualが(準)多項式可解 ↔ Monotone Dualizationが(準)多項式可解

極小横断の列挙との関係 TRAS-ENUM-complete Φ = (x1 ⋁ x2 ⋁ x3) ⋀ (x3 ⋁ x4) ⋀ (x5 ⋁ x6) ) ⋀ x5 入力 双対化 (x1 ⋀ x2 ⋀ x3) ⋁ (x3 ⋀ x4) ⋁ (x5 ⋀ x6) ⋁ x5 形式変換 Ψ = (x3 ⋁x5) ⋀ (x1 ⋁ x4 ⋁ x5) ⋀ (x2 ⋁ x4 ⋁ x5) 出力 TRAS-ENUM-complete 1 2 3 4 5 6 1 2 3 4 5 6 列挙

Trans-Hyp-complete Trans-Enum-complete 極小横断の列挙は、 さまざまな計算問題に形をかえ現れる。 Trans-Hyp-complete Trans-Enum-complete Monotone Dual Monotone Dualization co-IMSAT, co-SIMSAT Maximal frequent sets, Minimal infrequent sets generation co-Additional World Horn envelope FD-RELATION EQUIVALENCE Model-based diagnosis

既存アルゴリズム ベルジュアルゴリズム型 山登りアルゴリズム型 逆探索型 ZDD型 TAOCP Vol.4a の練習問題 性能不明 Kavvadias-Stravropoulos (‘99) Hérbert-Bretto-Crémilleux (‘07) 村上・宇野 (‘13) Bailey-Manoukian-Ramamohanarao (‘03) Dong-Li (‘05) ZDD型 Knuth (‘09) 計算機実験で優れた性能を達成 TAOCP Vol.4a の練習問題 性能不明

Dong-Li法 入力の集合族 F = {U1,…, Um}に対して F0:=∅ Tr(F0):=∅ F1:={U1} Tr(F1) ∙∙∙ Tr(Fi)とUi+1からTr(Fi+1)作成 (i) S∈Tr(Fi)でUi+1にも交差する  ならばTr(Fi+1):= Tr(Fi+1) ∪{S} (ii) そうでないとき、S∪{e} が 極小となるすべての e∈Ui+1 を Tr(Fi+1):= Tr(Fi+1) ∪{S∪{e}} F1:={U1} Tr(F1) ∙∙∙ Fi:={U1,…, Ui} Tr(Fi) Fi+1:={U1,…, Ui, Ui+1 } Tr(Fi+1) 極小性判定のコスト高い Tr(Fi)を記憶する必要あり

既存アルゴリズム ベルジュアルゴリズム型 山登りアルゴリズム型 逆探索型 ZDD型 TAOCP Vol.4a の練習問題 しかし、性能不明! Kavvadias-Stravropoulos (‘99) Hérbert-Bretto-Crémilleux (‘07) 村上・宇野 (‘13) Bailey-Manoukian-Ramamohanarao (‘03) Dong-Li (‘05) ZDD型 Knuth (‘09) 計算機実験で優れた性能を達成 TAOCP Vol.4a の練習問題 しかし、性能不明!

Kavvadias-Stravropoulos法 集合SはFi := {U1,…,Ui}に 対する極小横断 深さ優先探索 (S, i) (S, i+1) SはUi+1に交差 のとき 各e∈Ui+1に対して S∪{e}-{e’}が横断となる e’∈Sは存在しないとき (S∪{e}, i+1) ∙∙∙ Tr(Fi)を記憶する必要なし だが極小性判定のコスト依然高い Sを1だけ拡大してFi+1 := {U1,…,Ui, Ui+1}に対する極小横断となるものたち

既存アルゴリズム ベルジュアルゴリズム型 山登りアルゴリズム型 逆探索型 ZDD型 TAOCP Vol.4a の練習問題 性能不明 Kavvadias-Stravropoulos (‘99) Hérbert-Bretto-Crémilleux (‘07) 村上・宇野 (‘13) Bailey-Manoukian-Ramamohanarao (‘03) Dong-Li (‘05) ZDD型 Knuth (‘09) 計算機実験で優れた性能を達成 TAOCP Vol.4a の練習問題 性能不明

交差しない集合のうち、最小インデックスのものを選ぶ 村上・宇野法(逆探索版) 入力Uiの集合族 F = {U1,…, Um} DFS版は割愛します。 極小性条件 Sが極小横断 ↔ uncov(S) = ∅ かつ crit(v, S) ≠ ∅ (∀v∈S) だたし、uncov(S) := {Ui: S∩Ui=∅}、crit(v, S) := {Ui: S∩Ui={v}} 交差できない集合ない 各頂点にクリティカル ハイパーエッジある S’ S 逆探索の基本アプローチ S v S’ ①探索空間の設定 ②親子関係定義 ③根から探索 Ui 交差しない集合のうち、最小インデックスのものを選ぶ

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開

ZDD (Zero-suppressed Decision Diagram) 集合族のためのデータ構造 1 2 3 T {{1,2}, {1,3}, {2,3}}の 二分木 多くの実用的な演算は 入力ZDDサイズに比例 する時間で計算できる。 ZDD OP. ZDDの効率的演算 例えば、 ∪, ∩, −, など 1 2 3 T ZDD (Zero-suppressed Decision Diagram) 圧縮 一意形! 節点削除規則 x T x 節点共有規則

大 ZDDに基づく計算のアプローチ ZDD 圧縮 ZDD 演算 各行がハイパーエッジに 対応する巨大サイズのファイル [入力] [出力] 小     各行がハイパーエッジに 対応する巨大サイズのファイル [入力] [出力] 9↵ 7 8↵ 2 4 7↵ 3 9↵ 大 小 圧縮 ZDD 中間ZDDサイズの抑制が重要 ZDD 演算 (グラフ変換)

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開

提案法の概要 1) 圧縮部 入力集合族をZDDに圧縮 2) HIT部 ZDDからすべての横断を表すBDDを構築 3) MIN部 BDDから極小集合だけからなるZDDを構築 4) 解凍部 ZDDを解凍し集合族を出力 BDDの節点削除規則 x BDD は節点削除規則を除いて ZDDと同じデータ構造

ZDD BDD i i p q=HIT(p) pl ph HIT(pl)∧HIT(ph) HIT(pl) 再帰関数HIT:ZDDの根pを受け取り、すべての横断を表すBDDの根qを返す ZDD BDD p q=HIT(p) i i グラフ変換 pl ph HIT(pl)∧HIT(ph) HIT(pl) ただし、p=⊥のときq= ⊤ を返す。p=⊤のときq= ⊥を返す。 CNFの節集合 (制約の集まり) 対応する論理関数 (制約を満たす解集合を表現) BDDを直接構築するのは難しい! 計算される論理関数は単調である。 なぜなら、バイナリベクトルuと集合U:={i:ui=1}との対応により、 U⊆U’のときUが横断ならばU’もまた横断 u ≤u’ならばf(u)≤f(u’) ↔

BDD ZDD i i q r=MIN(q) ql qh MIN(ql) MIN(qh) – MIN(ql) 再帰関数MIN:BDDの根qを受け取り、極小集合からなるZDDの根rを返す BDD ZDD q r=MIN(q) i i ql qh MIN(ql) MIN(qh) – MIN(ql) グラフ変換 ただし、q=⊥のときr=⊥ を返す。q=⊤のときr=⊤を返す。 単調な論理関数 (解集合) 同じ論理関数の主項の集まり (注意)一般の論理関数では正しく動作しないが、HITの後に使うとOK! 理論的な未解決問題(Knuth先生のTAOCP Vol.4a p.674) 単調論理関数fに対してO(|Z(PI(f))|)=O(|B(f)|)が成り立つか?

ZDD ZDD 提案法とKnuth法の違いは何か? i i p pl ph p# (pl∪ph)# pl# (pl∪ph)# ②途中で横断すべてを求めないで、直接極小横断を求めている。 ③それにより我々の極小化演算を使えず、単純な差分以上の処理が必要! Knuth法 ZDD p# i (pl∪ph)# pl# (pl∪ph)# コストの高い演算 Reference Knuth, D.: The Art of Computer Programming, vol. 4. Addison-Wesley Professional, New Jersey (2011), pp.669–670

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開 実験1:提案法の性能を左右する因子 実験2:既存手法との性能比較 実験のまとめ 発表のまとめと今後の展開

(1) HIT部とMIN部を合わせた時間 実行時間 [秒] log-scale 中間BDDサイズの最大値

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開 実験1:提案法の性能を左右する因子 実験2:既存手法との性能比較 発表のまとめと今後の展開

(2) アルゴリズムの比較 プログラム 入力データ 制限時間 Toda: 提案法(圧縮 + HIT部 + MIN部 + 解凍部) Knuth: TAOCP Vol.4aで与えられた方法(我々が実装) MU-0, MU-D: 村上・宇野法(彼らのHPで公開) 入力データ 10種類合計90個データセット (既存研究でよく使用されている) 制限時間 1000 秒

connect-4 win 実行時間 [秒] 最大メモリ [Gバイト] データセットパラメタ(行数) データセットパラメタ(行数) 実行時間 [秒] 最大メモリ [Gバイト] データセットパラメタ(行数) データセットパラメタ(行数) データセットの入手先 Hypergraph Dualization Repository (2013), http://research.nii.ac.jp/~uno/dualization.html

BMS-Web-View2 実行時間 [秒] 最大メモリ [Gバイト] データセットパラメタ(閾値) データセットパラメタ(閾値) 現実のデータセット:極大頻出集合から極小頻出集合の計算に対応 実行時間 [秒] 最大メモリ [Gバイト] データセットパラメタ(閾値) データセットパラメタ(閾値) データセットの入手先 Hypergraph Dualization Repository (2013), http://research.nii.ac.jp/~uno/dualization.html

中間BDDサイズ=入力ZDDサイズの1378倍! Uniform Random ランダム生成したデータセット 中間BDDサイズ=入力ZDDサイズの1378倍! 実行時間 [秒] 最大メモリ [Gバイト] データセットパラメタ(確率) データセットパラメタ(確率) データセットの入手先 Hypergraph Dualization Repository (2013), http://research.nii.ac.jp/~uno/dualization.html

実験のまとめ 提案法:中間BDDサイズ が性能左右 ほとんどの入力データにおいて、 Knuth法や村上・宇野法よりも 提案法はかなり速い。 ランダムなデータセットなど苦手なもの もある。では、何が苦手/得意か? 提案法およびKnuth法はメモリ使用量大

発表の概要 ハイパーグラフの極小横断列挙 データ構造ZDD 提案法 計算機実験 発表のまとめと今後の展開

提案法の実装公開しています⇒ http://kuma-san.net/htcbdd.html 発表のまとめ ハイパーグラフの極小横断列挙 計算機科学に多くの応用 実用上高速に動作するアルゴリズム開発盛ん ZDDに基づく計算アプローチ 提案法 Knuth法の亜種 従来法とはまったく異なるパラダイム 基本アイディア すべての横断列挙は無謀に思われるが、BDDでコンパクトに表現で きる上、効率的な極小化演算が可能 適切なデータ表現の選択: 制約の集まりはZDDで表現、解集合はBDDで表現 計算機実験 実験したほとんどのデータで提案法は従来法より著しく速い。 大規模データのときメモリ使用量大きい(多くの従来法はそ のようなデータを現実的な時間内に処理できなかったのでそ れほど大きな欠点ではない)。 提案法の実装公開しています⇒ http://kuma-san.net/htcbdd.html