グラフ理論

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

グラフ理論(グラフりろん、: graph theory)は、ノード節点[英 1]頂点[英 2])の集合とエッジ[英 3])の集合で構成されるグラフ[英 4]に関する数学の理論である。グラフ (データ構造) などの応用がある。

概要[編集]

グラフによって、様々なものの関連を表すことができる。

6 つのノードと 7 つのエッジから成るグラフの一例

例えば、鉄道路線バス等の路線図を考える際には、駅(ノード)がどのように路線(エッジ)で結ばれているかが問題となる。 線路が具体的にどのような曲線を描いているかは本質的な問題とならないことが多い。

したがって、路線図では間の距離や微妙な配置、路線の形状などがしばしば地理上の実際とは異なって描かれている。 路線図の利用者にとっては、駅と駅の「つながり方」が主に重要な情報なのである。

このように、「つながり方」に着目して抽象化された「点とそれらをむすぶ線」の概念グラフであり[1]、 グラフがもつ様々な性質を探求するのがグラフ理論である。

つながり方だけではなく「どちらからどちらにつながっているか」をも問題にする場合、エッジ矢印をつける。このようなグラフを有向グラフ[英 5]または、ダイグラフ[英 6]という。矢印のないグラフは、無向グラフ[英 7]という。

グラフの例[編集]

日常的な問題や工学的問題の多くをグラフとして考えることができる。

  • 路線図:前節のとおり。
  • 電気回路回路図を書く場合、実際のリード線どおりの形状に図を描いたりはしない。この場合も、「接点がどうつながっているか」だけが問題であって、「つながり方」を保ちつつできるだけ見やすい形に絵を描く。回路図は一種のグラフである。
  • WWWの構造:WWWにおけるウェブページの、ハイパーリンク・被リンク関係がなす構造は、有向グラフの一種である[2]

起源[編集]

グラフ理論は、1736年に「ケーニヒスベルクの問題」と呼ばれるパズルに対してオイラーが解法を示した[3][4]のが起源のひとつとされる[5]。この問題は、一筆書きと深く関連している[6]

形式的な定義[編集]

有向グラフ[編集]

集合 V , E と、E(げん、要素)に、二つの V を元の対で対応させる写像

f\colon\  E \to V \times V

の三つ組

G := (f, V, E)

有向グラフという。V の元を G頂点[英 2]またはノード[英 1]E の元を G[英 3]または[英 8]と呼ぶ。

無向グラフ[編集]

P(V) を V冪集合とする。E の元に V部分集合を対応させる写像

g\colon\  E \to P(V)

があって、E の任意の元 e の像が g(e) = {v1, v2} のようにちょうど二つの元の集合になっているとする。このとき、三つ組

G := (g, V, E)

無向グラフという[7]V の元を G の頂点、E の元を G の辺と呼ぶ。g の値が常にk > 2個の元の集合となっているとき、k-ハイパーグラフという。

E を最初からある集合の部分集合と考えれば、写像を用いずにグラフを定義することもできる:有向グラフでは、EV×V の部分集合、無向グラフでは、E を P(V) の部分集合で、二つの元の集合だけからなるものとすればよい。

用語[編集]

以下では単にグラフといった時には無向グラフを指す。

頂点と辺[編集]

頂点[英 2]の集合は V[英 3]の集合は E で表す。 グラフ G が先に与えられている場合には、頂点集合を V(G)、辺集合を E(G) と表すこともある[8]

数学以外の分野では、頂点を節点[英 1]、辺をと呼ぶことが多い。辺を[英 8]リンク[英 9]と呼ぶこともある。

重み付きグラフ[編集]

グラフの辺に重みコスト)が付いているグラフを、重み付きグラフ[英 10]と呼ぶ[9]。乗換案内図の場合、駅間の所要時間が「重み」にあたる。重み付きグラフはネットワークとも呼ばれる(フローネットワーク, ベイジアンネットワーク, ニューラルネットワークなど)。

接合と隣接[編集]

e の両端の点を端点[英 11]といい、端点は 辺 e接合 (または、接続) しているという。また、辺と辺がある頂点を共有しているとき、その辺どうしは隣接 している[英 12]という[8]

距離と直径[編集]

2頂点間の最短経路における辺数を距離[英 13]と呼ぶ。グラフ G の最大頂点間距離を直径[英 14]と呼び、diam(G) と表す[10]

ループと多重グラフ[編集]

ある辺の両端点が等しいとき、ループ[英 15]自己ループ)という。また、2 頂点間に複数の辺があるとき、多重辺という。ループも多重辺も含まないグラフのことを単純グラフ[英 16]といい、ループや多重辺を含むグラフのことを多重グラフという[11]

部分グラフと拡大グラフ[編集]

縮約の図示

二つのグラフ GG' について、G' の頂点集合と辺集合が共に G の頂点集合と辺集合の部分集合になっているとき、G'G部分グラフ[英 17]である、または GG'拡大グラフであるといい、G' \subseteq G と表す[8]。特に、GG'の頂点集合が等しいとき、G'G全域部分グラフ[英 18]であるという。また、G の頂点集合 V の部分集合 U を取り出して、両端点が U に属する全ての辺を辺集合とする G の部分グラフ G[U] を、誘導部分グラフ[英 19]という。グラフ G からある辺 e を取り除き、その辺の両端点を一つの頂点にまとめることを(辺の)縮約[英 20]といい、縮約の結果得られるグラフを G/e と表す。

なお、誘導部分グラフの「誘導」はinducedの訳語である。induceの訳としてはこの「誘導する」の他に「生成する」がある[12][13]。このため、誘導部分グラフのことを生成部分グラフということもある[14]。一方、生成部分グラフは全域部分グラフのことを指すこともある。このため、生成部分グラフという語を使う際は、混乱がないか気を付ける必要がある。

次数と正則グラフ[編集]

3-正則グラフの例

頂点 v に接続する枝の数を次数といい、d(v) で表す。 有向グラフにおいては、v に入ってくる辺数のことを入次数v から出て行く辺数のことを出次数という。すべての頂点が同数の隣接点、つまり次数をもつグラフを正則グラフと呼ぶ[15]。任意の頂点 v について、d(v)=k が成り立つとき、k -正則[英 21]という。k -正則なグラフのことをk -正則グラフという。グラフ G が持つ頂点の次数の最小値を \delta(G)、最大値を \Delta(G) で表す。また、次数 0 の頂点のことを孤立点という。

道と閉路[編集]

隣接している頂点同士をたどった v_0,~ e_1,~ v_1,~ e_2, ... ,~ e_{n-1},~ v_n の系列を長さ n (≥ 0) の歩道[英 22]ウォーク)という。辺の重複を許さない歩道を[英 23]小径トレイル)という[16]。頂点の重複を許さない場合、つまり、両端の2頂点の次数が1、それ以外のすべての頂点の次数が2であるグラフを、[英 24]パス)、開いた歩道をパスという場合は単純パスという。また、始点と終点が同じ路のことを閉路回路循環サーキットサイクル[英 25])、始点と終点が同じ道(つまりe_1,~ e_2,~ ... ,~ e_n,~ e_1という路で e_i ~が相異なるもの)のことを閉道サイクル)という[17]

完全グラフとクリーク[編集]

3頂点からなる完全グラフ:三角形

任意の 2 頂点間に枝があるグラフのことを完全グラフ完備グラフ[英 26])という[8][18]n 頂点の完全グラフは、K^n で表す。K^3 は三角形と呼ばれる。また、完全グラフになる誘導部分グラフのことをクリークという。大きさ(サイズ) n のクリークを含むグラフは「n-クリークである」という。辺をもつグラフは必ず 2 頂点の完全グラフを含むので 2-クリークである。また n-クリークであって、直径が n 未満となるグラフを n-クランという。

その他の用語[編集]

問題と定理[編集]

応用[編集]

脚注[編集]

出典と補足[編集]

  1. ^ 概念
  2. ^ ハイパーリンク
  3. ^ (ラテン語) Leonhard Euler - Solutio problematis ad geometriam situs pertinentis, Commentarii academiae scientiarum Petropolitanae 8, 1741, pages 128–140. Konigsberg Bridge problemを参照。
  4. ^ Diestel, p. 20
  5. ^ グラフ理論の歴史を扱っているBiggs et al. (1998)にオイラーの論文の英訳を含む節がある。
  6. ^ 詳しくは、一筆書きの項を参照。
  7. ^ 無向グラフと有向グラフ
  8. ^ a b c d ディーステル 2000, 1.1 グラフ
  9. ^ Bondy & Murty 2008, p. 50.
  10. ^ ディーステル 2000, p. 10.
  11. ^ 多重グラフ
  12. ^ ベルジュ「グラフの理論I」p.8.
  13. ^ ディーステル, 2000
  14. ^ 茨木「アルゴリズムとデータ構造」
  15. ^ ディーステル 2000, p. 6.
  16. ^ Bondy & Murty 2008, p. 80.
  17. ^ 閉路
  18. ^ Diestel, p. 115
  19. ^ Fritsch (2012), p. 99

英語による専門用語[編集]

  1. ^ a b c node
  2. ^ a b c vertex
  3. ^ a b c edge
  4. ^ graph
  5. ^ directed graph
  6. ^ digraph
  7. ^ undirected graph
  8. ^ a b arc
  9. ^ link
  10. ^ weighted graph
  11. ^ endpoint
  12. ^ adjacent
  13. ^ distance
  14. ^ diameter
  15. ^ loop
  16. ^ simple graph
  17. ^ subgraph
  18. ^ spanning subgraph
  19. ^ induced subgraph
  20. ^ contraction
  21. ^ k-regular
  22. ^ walk
  23. ^ trail
  24. ^ path
  25. ^ cycle
  26. ^ complete graph

参考文献[編集]

関連文献[編集]

日本語の文献[編集]

日本語以外[編集]

  • Berge, Claude (1958), Théorie des graphes et ses applications, Collection Universitaire de Mathématiques II, Paris: Dunod. English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961; Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first English edition, Dover, New York 2001.ISBN 978-0-48641-975-6.
  • Chartrand, Gary (1985), Introductory Graph Theory, Dover, ISBN 0-486-24775-9.
  • Leonhard Euler, Euler Complete Edition (Opera Omnia: Series 1, Volume 7, pp. 1 - 10)
  • Hajnal Péter (2003), Gráfelmélet - Polygon jegyzet
  • Harary, Frank (1969), Graph Theory, Reading, MA: Addison-Wesley.
  • Harary, Frank; Palmer, Edgar M. (1973), Graphical Enumeration, New York, NY: Academic Press.
  • Lovász László (2008), Kombinatorikai problémák és feladatok, Typotex Kiadó, ISBN 978-963-9664-93-7.
  • Manfred Nitzsche (2004), Graphen für Einsteiger, Rund um das Haus vom Nikolaus. XII, 233 S. Br. € 22,90 ISBN 3-528-03215-4
  • Peter Gritzmann, René Brandenberg (2003) Das Geheimnis des kürzesten Weges. Ein mathematisches Abenteuer. Springer, Berlin - Heidelberg (2.Aufl.). ISBN 3-540-00045-3
  • William Thomas Tutte (2001), Graph Theory, Cambridge University Press, ISBN 978-0-521-79489-3.

関連項目[編集]

外部リンク[編集]