有限幾何学        第8回.

Slides:



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

有限幾何学 第 2 回. 有限幾何学 第 2 回 1. 様々なグラフの例 2. 道と最短経路問題 1. 用語の説明 2. 最短経路問題 3. ダイキストラのアルゴリズム.
2015 年度 有限幾何学 期末試験 次の各問に答えよ.( (1), (2), (3), (4), (5), (7), (8), (10) は答えだけでよい) (1) 有向閉路が存在しない位数 4 のトーナメントを描け. (2) 内点の個数が 10 個の正則 2 分木の葉の個数を求めよ. (3) グラフ.
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
アルゴリズムとデータ構造 2011年7月7日
正規表現からのDFA直接構成.
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
第4章 Matching(後半) 情報学研究科 湯浅研究室M1 藤川浩光.
算法数理工学 第9回 定兼 邦彦.
曲面上のグラフの彩色 ~種数の増加,面の制限及び局所平面性~
An Algorithm for Enumerating Maximal Matchings of a Graph
    有限幾何学        第5回.
JAG Regional Practice Contest 2012 問題C: Median Tree
    有限幾何学        第12回.
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
Semantics with Applications
    有限幾何学        第13回.
Probabilistic Method 6-3,4
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
第4章 空間解析 2.ネットワーク分析 (3) ネットワーク構造分析
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
A First Course in Combinatorial Optimization Chapter 3(前半)
アルゴリズムとデータ構造 2012年7月12日
ロジスティクス工学 第9章 スケジューリングモデル 補助資料:OptSeqによるスケジューリング入門 logopt
シャノンのスイッチングゲームにおけるペアリング戦略について
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
アルゴリズムとデータ構造 2011年7月4日
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
Bridge It と Connections の 必勝法について
算法数理工学 第8回 定兼 邦彦.
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
離散数学 08. グラフの探索 五島.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
7.4 Two General Settings D3 杉原堅也.
Bridge It と Connections の 必勝法について
25. Randomized Algorithms
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
計算量理論輪講 chap5-3 M1 高井唯史.
First Course in Combinatorial Optimization
Structural operational semantics
絡み目の不変量 カウフマンブラケット多項式 の効率的な実装
計算の理論 II 前期の復習 -有限オートマトン-
2016年度 有限幾何学 中間試験 問1 次のグラフを描け.(描けない場合は理由を述べよ) 各20点
アルゴリズムとデータ構造 2011年7月8日課題の復習
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
    有限幾何学        第5回.
5.3, 5.4 D2 岡本 和也.
離散数学 06. グラフ 序論 五島.
メソッドの同時更新履歴を用いたクラスの機能別分類法
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 2013年7月8日
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
d b c e a f 年度 有限幾何学 中間試験 問1 次の用語の定義をそれぞれ述べよ.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
2017年度 有限幾何学 期末試験 注意:ループと多重辺がないグラフのみを扱う. 問1 次の定理と,その証明の概略を読み,各問に答えよ.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
離散数学 11. その他のアルゴリズム 五島.
問2 次の問に答えよ. (ただし,握手補題,オイラーの定理,Oreの定理 は授業で紹介したものとする) (1) 握手補題を書け.
図2 x11 図1 x6 x10 x12 x3 x5 x7 x9 x13 x2 x4 x8 x14 (0,0) (1,0) x1 x15
13.近似アルゴリズム.
無向グラフが与えられたとき、最大位数の完全部分グラフを求める問題
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
アルゴリズムとデータ構造 2012年7月9日
Time Reversal E-Text: pp.80-83(PDF: pp.49-50) FM08002 太神 諭
Presentation transcript:

    有限幾何学        第8回

有限幾何学 第8回 有向グラフと探索に関する木 用語の説明 応用例 強連結可能な向き付け 深さ優先探索(DFS)

1.1 用語の説明 グラフの向き付け:グラフの各辺に向きをつけること 有向グラフ:各辺に向きがつけられたグラフ グラフ G     有向グラフG

1.1 用語の説明 a f b g e h c a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの d 1.1 用語の説明 a f b g e h a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの 有向閉路:閉じた有向道 強連結な向き付け:相異なる任意の2頂点u,vに対して,              u-v 有向道が存在するグラフの向き付け c d

1.1 用語の説明 a f b g e h c a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの d 1.1 用語の説明 a f b g e h a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの 有向閉路:閉じた有向道 強連結な向き付け:相異なる任意の2頂点u,vに対して,              u-v 有向道が存在するグラフの向き付け c d

1.1 用語の説明 a f b g e h c a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの d 1.1 用語の説明 a f b g e h a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの 有向閉路:閉じた有向道 強連結な向き付け:相異なる任意の2頂点u,vに対して,              u-v 有向道が存在するグラフの向き付け c d

1.1 用語の説明 a f b g e h c a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの d 1.1 用語の説明 a f b g e h a-b 有向道:a-b 道で各辺の向きが全てaからbへ向いているもの 有向閉路:閉じた有向道 強連結な向き付け:相異なる任意の2頂点u,vに対して,              u-v 有向道が存在するグラフの向き付け c d

1.2 応用例 有向グラフの応用例①: PERT (Program Evaluation and Review Technique): 1.2 応用例 有向グラフの応用例①: PERT (Program Evaluation and Review Technique):  スケジューリングの手法  大規模なプロジェクトの日程管理などで用いられる  PERTの手順    1:1つのプロジェクトをいくつかの作業に分解  2:作業の順序関係を    重み付き有向グラフで表す(アローダイアグラム)  3:作業にかかる時間等を見積もる

1.2 応用例 有向グラフの応用例①: PERT (Program Evaluation and Review Technique): 1.2 応用例 有向グラフの応用例①: PERT (Program Evaluation and Review Technique):  スケジューリングの手法  大規模なプロジェクトの日程管理などで用いられる 作業 先行作業 作業時間 A --- 9 B 3 C 8 D 4 E B,C 7 A B C D E 9 3 8 4 7

1.2 応用例 有向グラフの応用例②: トーナメント:向き付けされた完全グラフ 引き分けのないグループトーナメント(総当たり戦)表は 1.2 応用例 有向グラフの応用例②: トーナメント:向き付けされた完全グラフ         引き分けのないグループトーナメント(総当たり戦)表は          トーナメントを用いて表すことができる v z w y x \ x y z v w ○ ×

1.2 応用例 有向グラフの応用例③: 全ての道路が一方通行になっている町の地図: 「町の任意の個所から他の任意の個所へ車で行けるように, 1.2 応用例 有向グラフの応用例③: 全ての道路が一方通行になっている町の地図: 「町の任意の個所から他の任意の個所へ車で行けるように, 道路地図に一方通行の制限を課せるのはどんなときか」 「グラフが強連結な向き付け可能であるのはどんなときか」

1.3 強連結な向き付け 問題 強連結な向き付け可能であるグラフを特徴づけよ 以下, 1.3 強連結な向き付け 強連結な向き付け可能であるグラフを特徴づけよ 以下, グラフが強連結な向き付け可能であるための必要十分条件を考える. 問題

1.3 強連結な向き付け 問題 強連結な向き付け可能であるグラフを特徴づけよ 「オイラーグラフ ⇒ 強連結な向き付け可能」は明らかだが, 1.3 強連結な向き付け 強連結な向き付け可能であるグラフを特徴づけよ 「オイラーグラフ ⇒ 強連結な向き付け可能」は明らかだが, 「オイラーグラフ ⇐ 強連結な向き付け可能」は成立しない   強連結な向き付け可能だがオイラーグラフではないグラフの例 問題

1.3 強連結な向き付け 問題 強連結な向き付け可能であるグラフを特徴づけよ 次に,条件「Gがオイラーグラフ」を弱めることで 1.3 強連結な向き付け 強連結な向き付け可能であるグラフを特徴づけよ 次に,条件「Gがオイラーグラフ」を弱めることで 必要十分条件が得られるかどうかを考えていく. どのようにして弱めるか?: Gがオイラーグラフ  Gは連結グラフで,E(G)を互いに素な閉路に分割することができる を利用する. 問題

1.3 強連結な向き付け 問題 強連結な向き付け可能であるグラフを特徴づけよ 1.3 強連結な向き付け 強連結な向き付け可能であるグラフを特徴づけよ 「Gは連結グラフで,E(G)が互いに素な閉路に分割することができる」 を弱めた条件 「Gは連結グラフで,任意の辺がある閉路に含まれる」 はグラフが強連結な向き付け可能であるための必要十分条件か? 問題

1.3 強連結な向き付け 問題 強連結な向き付け可能であるグラフを特徴づけよ 注意(提出課題): 1.3 強連結な向き付け 強連結な向き付け可能であるグラフを特徴づけよ 注意(提出課題): 「Gは連結グラフで,任意の辺がある閉路に含まれる」 「Gは連結グラフで,橋を含まない」 問題

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 注意: 「Gは連結グラフで,任意の辺がある閉路に含まれる」 「Gは連結グラフで,橋を含まない」

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか(提出課題) .⇐を示す. 注意より, Gはある閉路G1を含む. 注意: 「Gは連結グラフで,任意の辺がある閉路に含まれる」 「Gは連結グラフで,橋を含まない」 G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 注意より, Gはある閉路G1を含む. G1≠Gならば右図のような辺eが存在する. e G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 注意より, Gはeを含むある閉路を含む. e G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 右図のようにグラフG2を選ぶ G2 G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 右図のグラフ≠Gならば 右図のような辺fが存在する. G2 f G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 注意より, Gはfを含むある閉路を含む. G2 f G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 右図のようにG3を選ぶ. G2 G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下同様にしてG4,G5,・・・,Grを構成, 頂点集合が V(G1) ∪ V(G2) ∪‥∪ V(Gr),   辺集合が E(G1) ∪ E(G2) ∪ ‥∪ E(Gr) のグラフがGとなるまで繰り返す. Gr G2 G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下rに関する帰納法を用いる. r = 1 のときは明らか G1

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. r ≧ 2 のとき, Grを除いたグラフ(端点を除く)は 連結グラフで,任意の辺がある閉路に含まれる ∴ Grを除いたグラフは連結で橋を含まない. よって帰納法の仮定より, Grを除いたグラフは強連結な向き付けを持つ. Gr G2 G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. E(Gr) には右図のように (Grに沿った)向き付けを与える (向きはどちらでもよい). Gr G2 G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下,次のことを示せばよい. ∀u ∈ V(G)-V(Gr), ∀v1,∀v2 ∈ V(Gr) に対して, (1) v1-v2 有向道が存在する, (2) v2-v1 有向道が存在する, (3) u-v1 有向道が存在する, (4) v1-u 有向道が存在する. v1 Gr v2 G2 u G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下,次のことを示せばよい. ∀u ∈ V(G)-V(Gr), ∀v1,∀v2 ∈ V(Gr) に対して, (1) v1-v2 有向道が存在する, (1)は明らか. v1 Gr v2 G2 u G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下,次のことを示せばよい. ∀u ∈ V(G)-V(Gr), ∀v1,∀v2 ∈ V(Gr) に対して, (2) v2-v1 有向道が存在する, GからGrを除いたグラフには w1-w2 有向道が存在する. これを用いて v2-v1 有向道を構成することができる. v1 Gr w2 v2 w1 G2 u G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下,次のことを示せばよい. ∀u ∈ V(G)-V(Gr), ∀v1,∀v2 ∈ V(Gr) に対して, (3) u-v1 有向道が存在する, GからGrを除いたグラフには u-w1 有向道が存在する. これを用いて u-v1 有向道を構成することができる. v1 Gr w1 v2 G2 u G1 G3

強連結な向き付け可能なグラフの特徴づけ(ロビンス) 1.3 強連結な向き付け 強連結な向き付け可能なグラフの特徴づけ(ロビンス) グラフGに対して,  Gが強連結な向き付け可能       Gが連結で橋を含まない 証明:⇒は明らか.⇐を示す. 以下,次のことを示せばよい. ∀u ∈ V(G)-V(Gr), ∀v1,∀v2 ∈ V(Gr) に対して, (4) v1-u 有向道が存在する. GからGrを除いたグラフには w2-u 有向道が存在する. これを用いて v1-u 有向道を構成することができる. v1 Gr v2 w2 G2 u G1 G3

1.4 深さ優先探索(DFS) ロビンスの定理より, 橋を持たない連結なグラフには 強連結な向き付けを与えられることが分かった. 次に,与えられた橋を持たない連結なグラフに 強連結な向き付けを与えるアルゴリズムを紹介する. 深さ優先探索(DFS)と呼ばれる頂点のラベル付けを 用いた強連結な向き付けの方法を紹介する.

1.4 深さ優先探索(DFS) DFSアルゴリズム ・全ての頂点を探索するアルゴリズム ・DFSはdepth-first-searchの略 ・可能な限り深い所を先に探索する ・グラフの構造,性質を調べるときに有効な方法 ・グラフの連結性,連結成分,強連結成分,・・・等 ・入力:橋を持たない連結なグラフ G と始点 s ・出力:グラフGの全域木T(DFS木)と頂点のラベルn(u)

1.4 深さ優先探索(DFS) DFSアルゴリズム S 入力

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 出力 6 2 4 5 8 3 7

1.4 深さ優先探索(DFS) DFSアルゴリズム 手順1:n(u)=0 for∀u ∈ V(G),i=0,T=s とする 手順2:DFS(s)を実行 手順3:終了 ---DFS(v) ---- 手順1: i=i+1,n(v)=i とする 手順2:Do while M={w ∈ NG(v):n(w)=0} ≠ ∅       w ∈ M を選び,T=T+vw とし DFS(w) を実行      Loop 手順3:DFS(v)の終了

1.4 深さ優先探索(DFS) DFSアルゴリズム S

1.4 深さ優先探索(DFS) DFSアルゴリズム

1.4 深さ優先探索(DFS) DFSアルゴリズム 1

1.4 深さ優先探索(DFS) DFSアルゴリズム 1

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 4 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 4 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 4 5 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 2 4 5 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 6 2 4 5 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 6 2 4 5 3

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 6 2 4 5 3 7

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 6 2 4 5 3 7

1.4 深さ優先探索(DFS) DFSアルゴリズム 1 6 2 4 5 8 3 7

DFSを用いた強連結な向き付けを与えるアルゴリズム  強連結な向き付けを与えることができる ・入力:橋を持たない連結グラフ G ・出力:G の強連結な向き付け

DFSを用いた強連結な向き付けを与えるアルゴリズム 手順1:Gに対してDFSを実行する 手順2:∀e=uv ∈ E(G),n(u) < n(v) に対し,      次の向き付けを与える      ・e=uv ∈E(T) ならば e に u から v へと向き付けを与える      ・e=uv ∉ E(T) ならば e に v から u へと向き付けを与える

DFSを用いた強連結な向き付けを与えるアルゴリズム 1 6 2 4 5 8 3 7

提出課題8 問1: グラフGに対して, 「Gは連結グラフで,任意の辺がある閉路に含まれる」 ⇔ 「Gは連結グラフで,橋を含まない」 を示せ.    ⇔    「Gは連結グラフで,橋を含まない」 を示せ. 問2:グラフGに対して,   Gが強連結な向き付け可能 ⇒ Gが連結で橋を含まない   を示せ.

提出課題8 問3:P.60 問3.13 問4:P.60 問3.15

提出課題8 問5 (提出しなくてもよいです): 有向グラフGに対して, 全ての頂点を含む有向道が存在するとき,    全ての頂点を含む有向道が存在するとき,    Gは半ハミルトンであるという.    全てのトーナメントは半ハミルトンであることを示せ. ヒント:頂点数に関する帰納法