
スポンサードリンク
こんにちは、ももやまです。
久しぶりに離散数学の内容を書いてみようかと思います。
今回からしばらくは離散数学の中でもグラフ理論のお話になります。
グラフ理論の参考書もかなり難しい言葉で書いているものが多かったのでこの記事ではうさぎでもわかるようにかみ砕いた言葉でなるべく説明しています。
目次 [hide]
スポンサードリンク
1.グラフ理論のグラフってなに?
皆さんはグラフと言うと下のようなグラフを思い浮かぶと思います。
しかし、グラフ理論で使うグラフは上のようなグラフではありません!
グラフ理論で使うようなグラフは下のようなやつです。
多くの人がこう思うと思います。
「こんな点と辺の集まりについて勉強して何が楽しいん? いいことあるん?」
ということでもっとわかりやすい例をもってきました。
この図はとある名古屋の地下鉄の路線図の一部分なのですが、先程紹介したグラフと同じですよね。
実はグラフ理論の点は路線図でいう駅、辺は路線図でいう線路に相当するのです!
これならなじみがありますよね!
(他にもグラフ理論のグラフに相当するものはネットワーク、化学構造などたくさんあります!)
スポンサードリンク
2.グラフ理論の基本用語紹介
では、これから3回にわけてグラフ理論で使われる基本用語について説明していきたいと思います。
(1) グラフとは(再確認)
先ほどグラフは点と辺の集まりと説明しましたね。
グラフとはなにかを定義っぽく書いてみましょう。
点集合
また、点集合
人によってはグラフ
集合ってなんだっけと思った人はこちらをご覧ください。
(後ほど部分集合などの集合用語も出てくるのでわからなくなったら下の記事から復習しましょう。)
(2) 点集合と辺集合
早速ですがグラフ
点集合
同様に辺集合
辺集合の要素は辺の名前よりもどことどこの点を結んでいるかで表されることが多いです*1。
例えば、
ちなみに先程紹介した路線図バージョンだと下のようになります。
(3) 有向グラフ・無向グラフ
グラフには向きを考えない(順不同)な無向グラフと向きを考える有向グラフがあります。
無向グラフ
今まで紹介してきたグラフは無向グラフとなります。
無向グラフの場合、辺の向きが関係ないので、辺
有向グラフ
一方向きを考えるグラフのことを有向グラフと呼びます。イメージとしては一方通行の道路を思ってください*4。
有向グラフの場合、辺の向きが関係あるので、辺
(4) 点の数・辺の数
点集合
(2)の図の例でいくと、
グラフ理論においては、グラフの点の個数を
(5) 有限グラフ・無限グラフ
点の数
一方、点の数
今後更新していく記事においては、グラフと書いてあったら有限グラフを表していると考えてOKです。
(6) 次数
無向グラフの場合
各点につながっている辺の本数のことを次数と呼びます。
(言い換えると隣接している(隣り合っている)点の数を表します。)
さらに次数が0の(どの辺ともつながっていない)点のことを孤立点と呼びます。
試しに最初に出したグラフの次数をみていきましょう。
点
例えば点
また、点
さらに次数が偶数の点のことを偶点、奇数の点のことを奇点と呼びます。
上のグラフの場合、偶点は
また、あるグラフ
有向グラフの場合(入次数・出次数とは)
有向グラフの場合はある点に入ってくる辺の数を表す入次数、ある点から出ていく辺の数を表す出次数の2つにわけて次数を表します。
ある点
(7) 多重辺・ループ
多重辺
下の紫の辺のように、それぞれの点同士の間に2つ以上の辺が結ばれているような辺のことを多重辺と呼びます。
多重辺の場合でも次数は辺の数だけカウントされます。例えば
ループ
下の赤の辺のように、全く同じ点同士を結んでいるような辺のことをループと呼びます。
ループの場合、次数をダブルカウントします。例えば、点
(8) 単純グラフ・多重グラフ
ループと多重辺をともに持たないようなグラフのことを単純グラフと呼びます。
一方ループ・多重辺のうちのどちらか片方でも持つようなグラフのことを多重グラフと呼びます*6。
(9) 次数の和と握手定理
実はどのようなグラフにおいても次数の和は必ず辺の数の2倍となるのです! これを握手定理と呼びます。
どのようなグラフであっても次数の和はグラフの辺の数の2倍に等しい。
(つまり必ず次数の総和は偶数)
数式で書くと、グラフ
まず辺が1本のときを考えましょう。このときの次数の総和は明らかに2ですね。
さらに(次数の和がグラフの辺の数の2倍になっている)あるグラフに辺を1本増やすことを考えましょう。
この辺が点
なので、次数の総和はグラフの辺の数の2倍に等しくなることがわかると思います。
例えばさきほど次数を計算したこちらのグラフの次数の総和を計算すると、
さらに握手定理を応用することでこんな定理を示すこともできちゃいます。
次数が奇数である点の個数は必ず偶数個である。
握手定理の応用
次数が奇数である点の個数が奇数個であると仮定する。
すると、次数が奇数である点の次数の総和は(奇数)×(奇数)=(奇数)となる。
また、次数が偶数である点の次数の総和は必ず偶数*8となる。
よって次数の総和*9は必ず奇数となってしまう。よって仮定が矛盾する。
よって、次数が奇数である点の個数は必ず偶数個となる。
さらに、有向グラフの場合、入次数と出次数には下のような関係があります。
どのような有向グラフであっても入次数と出次数の総和は等しくなる。
(入次数の総和も出次数の総和も辺の数と同じになる)
辺を1本追加すると入次数と出次数もそれぞれ同じ数(1つ)ずつ増えるので辺が何本であっても入次数と出次数の数はグラフの辺の数のままだからです。
(10) 計算機上でのグラフの表現方法
人間の頭の中では路線図などのグラフを図で理解できますが、計算機(コンピューター)上では図のままでは理解することができませんね…。
ここではどうやって計算機上でグラフを表現するのかを下の2つのグラフを例に説明していきましょう。
計算機上で表現する方法には主に2つがあり、1つはリストを用いた方法、もう1つは行列を用いた方法です。
無向グラフの場合
リストを用いて表現する場合、それぞれの頂点においてどの頂点と接続されているかを下のようにリストに格納します。
上の例の場合、点
一方行列を用いて格納する場合、辺が
上の図の例の場合、
また、無向グラフには順番がないので、
一方、
無向グラフの場合、
有向グラフの場合
有向グラフの場合も無向グラフと同様にグラフの表し方が2通りあります。
リストの場合はそれぞれの頂点においてどの頂点と接続されているかをリストに格納します。
リストを図示すると下のようになります。
ただし、有向グラフなので逆方向の辺はリストに入れられていないところに注意してください。
例えば、
同様に隣接行列の場合、
(11) 部分グラフ・全域部分グラフ・誘導部分グラフ
部分グラフ
あるグラフの頂点や辺の一部分をとってきたようなグラフを部分グラフと呼びます。
部分集合のグラフバージョンだと思ってもらってOKです。
定義で書くと下のようになります。
点集合
(点集合
もとのグラフに対しての部分グラフの例*12を下に示しました。
全域部分グラフ
部分グラフの中でも、元の頂点と全く同じ頂点を使っているようなグラフのことを全域部分グラフといいます。ただし、元の辺と全く同じ辺を使う必要はありません。
上の図のようなグラフの場合、
誘導部分グラフ
部分グラフの中でも、元のグラフからいくつか頂点を取り出し、取り出した頂点間の辺の有無がもとのグラフと一致するものを誘導部分グラフと呼びます*13。
上の図のようなグラフの場合、もとのグラフには
例えば、
ちなみに誘導部分グラフは、それぞれの頂点の取り出し方に対して必ず1通りとなります。
スポンサードリンク
3.練習問題
では、少しだけ練習をしてみましょう。
練習
グラフ
(1) グラフ
(2) グラフ
(3) それぞれの点における次数
(4) グラフ
(5) グラフ
(6) グラフ
(7) グラフ
4.練習問題の答え
(1)
左側が答え、右側が各点における次数を書いたもの
(2)
点の数:5 辺の数:6
数えるだけです()
(3)
それぞれの次数は、
よって最高次数は4、最低次数は1である。
(4)
隣接リスト(左側の図は隣接している点を示している)
隣接行列
(5)
全域部分グラフではあるが、誘導部分グラフではないグラフなので、すべての頂点を使っていて、かつもとのグラフから辺をいくつか抜いたようなグラフを1つ書けばよい。
例えば下のようなグラフが該当する。
(6)
全域部分グラフなので、頂点は
すべての頂点を使ったもののうち、辺の数が5本であるものをすべて列挙すればよい。
ちなみにもとの数の辺は6本、今回答える辺の数は5本なので辺を選ぶ組み合わせは
計算しておけば列挙漏れを防ぐことが可能なのでぜひ計算することをおすすめする*14。
(7)
4頂点の誘導部分グラフなので、取り出したそれぞれの4頂点間の辺の有無がもとのグラフと一致するものを書いていけばよい。
ちなみにもとのグラフの点の数は5本、今回求める誘導部分グラフの点の数は4本なので頂点を選ぶ組み合わせは
それぞれの頂点の取り出し方に対して必ず1通りなので4つの頂点からなる誘導部分グラフは全部で5通りあることがわかる。
こちらも計算しておけば列挙漏れが防ぐことが可能なのでこちらも計算することをおすすめします。
5.さいごに
今回は離散数学のグラフ理論部分のグラフの基本用語の一部をわかりやすくまとめてみました。
グラフ理論はとにかく用語がたくさんあるのでまずはその用語の意味を理解するところからがスタートです。
次回もグラフ理論の基本用語についてまとめていきたいと思うのでそちらもぜひご覧ください!
*1:参考書によっては結んでいる表現の他に
- 辺
は と に接続している。 および は辺 の端点である。- 点
は点 に隣接している。(辺を使わずに表現)
と書かれていることもあります。
*2:正確には
*3:基本的には順番どおり書くことが多い。
*4:例えば
*5:有限グラフではないグラフは無限グラフと思っていただいてOKです。
*6:ループ、多重辺をともにもたないグラフを単純グラフと呼ぶ方だけ覚えて単純グラフじゃないグラフは多重グラフと覚えておいてもOKです。
*7:ちなみにループの場合はダブルカウントされるのでループであっても次数は必ず+2されます。
*8:偶数になにをかけても偶数なので。
*9:次数が奇数である点の次数の総和 + 次数が偶数である点の次数の総和で求められる。
*10:順不同ですが基本的には番号順やら
*11:
*12:あくまでも例なので他にも部分グラフはたくさんあります。
*13:少し言い換えると、取り出してきた頂点の中で、もとのグラフに辺が接続されていた場所すべてに辺が接続されているようなグラフです。
*14:6本の中からいずれか1本を抜くと考えて
関連広告・スポンサードリンク