Bipartite Permutation Graphの ランダム生成と列挙

Slides:



Advertisements
Similar presentations
平面三角分割グラフを列挙す るアルゴリズムの改良 中野 眞一 ( 群馬大学 ) 宇野 毅明 ( 情報学研究 所 ) 2002 年 6 月 24 日 コンピューテーション研究会.
Advertisements

Voronoi Game on Graph and its Complexity 寺本 幸生 上原 隆平 (JAIST)
『わかりやすいパターン認 識』 第 5 章 特徴の評価とベイズ誤り確率 5.4 ベイズ誤り確率と最近傍決定則 発表日: 5 月 23 日(金) 発表者:時田 陽一.
情報基盤アルゴリズムとして のメタヒューリスティクスの 研究 茨木俊秀、巳波弘佳、藤原洋志、 千葉英史、関口良行(関西学院大 学)、 藤重悟(京都大学)、 柳浦睦憲(名古屋大学)、 野々部宏司(法政大学)、 梅谷俊治(電気通信大学)
あみだくじ AMIDA-KUJI 井上 康博 Statistical analysis on Amida-kuji, Physica A 369(2006)
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
模擬国内予選2013 Problem F テトラ姫のパズル 原案:須藤 解答:大友、須藤 解説:須藤.
シミュレーション論Ⅰ 第 7 回 待ち行列のシミュレーション(2). 第 6 回のレポート(解答例) 乱数表より乱数を記入し、到着間隔・サービス時間にした がってグラフを作成する 例) 最大待ち人数:2人 最大待ち時間:5分 平均待ち時間:3分.
あみだくじを数え上げる 省領域アルゴリズム ◯中嶋章裕,斎藤寿樹,山口一章,増田澄男 (神戸大学) 1.
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
フロンティア法 - 組合せ問題の解を列挙索引化するZDD構築アルゴリズム
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
初年次セミナー 第14回 2次元グラフィックス(2).
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
コンパイラ 2011年10月17日
絵画的迷路の作り方 岡本 吉央 東工大 上原 隆平 JAIST.
円順列.
On the Enumeration of Colored Trees
Accessによるデータベース(2) Ver /11.
An Algorithm for Enumerating Maximal Matchings of a Graph
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
計算の理論 II NP完全 月曜4校時 大月美佳.
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
2013年度模擬アジア地区予選 Problem E: Putter
応用統計学の内容 推測統計学(inferential statistics)   連続型の確率分布   標本分布   統計推定   統計的検定.
A path to combinatorics 第6章前半(最初-Ex6.5)
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
Proper Interval Graphsの ランダム生成と列挙
コンパイラ 2012年10月15日
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
集団的意思決定支援法の実験環境に関する研究
k 個のミスマッチを許した点集合マッチング・アルゴリズム
シャノンのスイッチングゲームにおけるペアリング戦略について
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
応用統計学の内容 推測統計学(inferential statistics)   連続型の確率分布   標本分布   統計推定   統計的検定.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
OpenGLライブラリを用いた3次元フラクタルの描画
音響伝達特性を用いた単一マイクロホンによる話者の頭部方向の推定
構造情報に基づく特徴量を用いた グラフマッチングによる物体識別 情報工学科 藤吉研究室  EP02086 永橋知行.
Minoのブロック配置のデータ構造 K.Yonezawa.
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
モバイルエージェントネットワークの拡張とシミュレーション
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
A Simple Algorithm for Generating Unordered Rooted Trees
Data Clustering: A Review
Q q 情報セキュリティ 第8回:2005年6月3日(金) q q.
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
第16章 動的計画法 アルゴリズムイントロダクション.
ベイズ基準による 隠れセミマルコフモデルに基づく音声合成
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
パターン認識特論 ADA Boosting.
情報生命科学特別講義III (14) グラフの比較と列挙
4.プッシュダウンオートマトンと 文脈自由文法の等価性
ビデオデータベースを用いた 流体画像に基づくアニメーション生成
Chapter5 Systems of Distinct Representatives
パターン認識特論 ADA Boosting.
ソフトウェア工学 知能情報学部 新田直也.
演算子のオーバーロード.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
プログラム依存グラフを用いた ソースコードのパターン違反検出法
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

Bipartite Permutation Graphの ランダム生成と列挙 ○斎藤 寿樹(JAIST)   大舘 陽太(群馬大)   山中 克久(電気通信大)   上原 隆平(JAIST)

背景 入力のグラフ Interval Graph Permutation Graph Proper Interval Graph 計算機実験 入力 出力 入力のグラフ Interval Graph Permutation Graph [Saitoh et. al 08] Proper Interval Graph Bipartite Permutation Graph ランダム生成・列挙 数え上げ

提案アルゴリズム 連結なBipartite Permutation Graphのランダム生成 出力:n頂点の連結なBipartite Permutation Graph 一様ランダムに生成(同型性を考慮) 数え上げを利用 O(n+m)時間 連結なBipartite Permutation Graphの列挙 出力:n頂点の連結なBipartite Permutation Graphを列挙 漏れなく、重複なく(同型性を考慮) 逆探索法を利用 1つあたりO(1)時間

Permutation Graph ライン表現を持つグラフクラス 1 2 3 4 5 6 3 6 4 1 5 2 1 2 3 4 5 6 1 6 4 3 2 5 3 6 4 1 5 2 Permutation Graph ライン表現

Bipartite Permutation Graph Bipartite Graph かつ Permutation Graph 1 2 3 4 5 6 7 8 1 6 3 4 8 7 2 5 3 5 6 1 2 8 4 7 Bipartite Permutation Graph ライン表現 ランダム生成や列挙を行う

Bipartite Permutation Graph 補題 連結なBipartite Permutation Graphのライン表現は Xの頂点に対応する線分(青線):左上から右下へ Yの頂点に対応する線分(赤線):右上から左下へ 1 1 0 1 0 0 1 0 1 2 3 4 5 6 7 8 1 6 3 4 8 7 2 5 3 5 6 1 2 8 4 7 1 1 1 0 0 1 0 0 Bipartite Permutation Graph ライン表現 0と1の文字列で,ライン表現を表せる

文字列 ⇒ パス ライン表現を左からスイープ ラインを上下交互に見る 1 ⇒ 右に1、上に1 0 ⇒ 右に1、下に1 1 1 0 1 0 文字列 ⇒ パス ライン表現を左からスイープ ラインを上下交互に見る 1 ⇒ 右に1、上に1 0 ⇒ 右に1、下に1 1 1 0 1 0 1 1 0 0 0 (0, 0)

n頂点のBipartite Permutation Graph 1 1 0 1 0 1 0 1 1 0 0 0 1 0 パスの特徴 最後の座標は(2n, 0) 上でn個, 下でn個 1と0の数が等しい 上で1は下で0, 上で0は下で1 x軸より上 y座標が0で囲まれた領域がコンポーネントに対応 (2n, 0) (0, 0)

n頂点の連結なBipartite Permutation Graph 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 パスの特徴 最後の座標は(2n, 0) 上でn個, 下でn個 1と0の数が等しい 上で1は下で0, 上で0は下で1 x軸より上 (0, 0)と(2n, 0)を除くとy座標は1以上 1

n頂点の連結なBipartite Permutation Graph 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 パスの特徴 最後の座標は(2n, 0) 上でn個, 下でn個 1と0の数が等しい 上で1は下で0, 上で0は下で1 x軸より上 (0, 0)と(2n, 0)を除くとy座標は1以上 Dyckパス(長さ2n-2) 1 Dyckパスを一様ランダムに生成すればよい?

ダメな理由 Bipartite Permutation Graphとライン表現は1対1対応ではない グラフによって対応するライン表現の数が異なる

対応するライン表現 この4つのライン表現しか持たない 補題 1 2 3 4 5 6 7 8 3 5 6 1 2 8 4 7 連結なBipartite Permutation Graphはライン表現を高々4つ持つ 1 2 3 4 5 6 7 8 3 5 6 1 2 8 4 7 8 7 6 5 4 3 2 1 7 4 8 2 1 6 5 3 左右反転 回転 上下 反転 この4つのライン表現しか持たない 上下 反転 1 2 3 4 5 6 7 8 3 5 6 1 2 8 4 7 8 7 6 5 4 3 2 1 7 4 8 2 1 6 5 3 左右反転

対応するライン表現 2つのライン表現しかもたない 1 2 6 7 8 3 4 5 すべてのBipartite Permutation Graphが4つのライン表現を持つわけではない 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 左右対称 左右反転 4 6 1 2 7 8 3 5 5 3 8 7 2 1 6 4 4 6 1 2 7 8 3 5 2つのライン表現しかもたない 上下 反転 上下 反転 左右対称

対応するライン表現 2つのライン表現しかもたない すべてのBipartite Permutation Graphが4つのライン表現を持つわけではない 上下対称なライン表現 1 2 3 4 5 6 7 8 4 5 7 1 2 8 3 6 回転対称なライン表現 1 2 3 4 5 6 7 8 4 1 5 6 8 2 3 7 2つのライン表現しかもたない

対応するライン表現 すべてのBipartite Permutation Graphが4つのライン表現を持つわけではない 1 2 3 4 5 6 7 8 1対1 1 2 3 4 5 6 7 8 3 5 1 7 2 8 4 6 Bipartite Permutation Graph 上下・左右・回転対称なライン表現

ライン表現を一様ランダムに生成 ライン表現を4つ持つグラフが生成されやすい! ライン表現 ライン表現を一様ランダムに生成すると 左右対称 上下左右 回転対称 回転対称 上下対称 ライン表現を一様ランダムに生成すると ライン表現を4つ持つグラフが生成されやすい!

ライン表現を一様ランダムに生成 うまくいかない! ライン表現 解決するために ライン表現を複数持つグラフの生成確率を下げる 左右対称 上下左右 回転対称 回転対称 上下対称 解決するために ライン表現を複数持つグラフの生成確率を下げる 標準形のみを生成する うまくいかない!

生起確率の正規化 対応する数が等しい ライン表現 左右対称 回転対称 上下対称 左右対称 上下対称 回転対称 上下左右 回転対称

生起確率の正規化 数を数えればよい ライン表現 左右対称 回転対称 上下対称 左右対称 上下対称 回転対称 上下左右 回転対称

数え上げ ライン表現全体 長さ2n-2のDyckパス 長さ2n-2のDyckパスの数=C(n-1) 1

数え上げ 回転対称 長さ2n-2のDyckパス Dyckパスが左右対称 回転対称なライン表現 長さ2n-2で左右対称なDyckパスの数 1

数え上げ 上下対称 長さn-2のDyckパスの数=C(n/2-1) 上の文字列と下の文字列が等しい 長さn-2のDyckパス 1 1 1 0 0 1 0 0 上下対称 上の文字列と下の文字列が等しい 長さn-2のDyckパス 1 1 1 0 0 1 0 0 上下対称なライン表現 長さn-2のDyckパスの数=C(n/2-1) 1

数え上げ 左右対称 回転対称と対応 回転対称と対応 上原財団による懸賞問題 1 1 1 0 1 0 0 0 2-Motzkinパスと対応 1 1 1 0 1 0 0 0 左右対称 回転対称と対応 2-Motzkinパスと対応 1 1 0 0 1 1 0 0 左右対称なライン表現 回転対称なライン表現 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1

生起確率の正規化 ライン表現 ランダム生成アルゴリズム 1. これら4つの中からどれかを選択 2. 選択したものをランダムに生成 左右対称 上下左右 回転対称 回転対称 上下対称 左右対称 上下左右 回転対称 上下左右 回転対称 回転対称 上下左右 回転対称 上下対称 ランダム生成アルゴリズム 1. これら4つの中からどれかを選択 2. 選択したものをランダムに生成

まとめと今後の課題 連結なn頂点のBipartite Permutation Graph ランダム生成:O(n+m)時間 列挙:O(1)時間/Graph Permutation Graphのランダム生成と列挙 Interval Graphのランダム生成と列挙