グラフ理論 - Wikipedia

グラフ理論(グラフりろん、: graph theory)は、数学の一分野。ノード節点頂点[1])の集合とエッジ[2])の集合で構成されるグラフの性質について研究する学問である。なお「エッジ」をリンク[3]という場合もある。コンピュータのデータ構造アルゴリズムなどに広く応用されている。

グラフとは編集

グラフを用いることで、様々な物の関連性を表すことができる。

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

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

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

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

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

グラフの例編集

日常的な問題や工学的問題の多くをグラフとしてみなすことができる。以下はその例である。

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

グラフ理論の起源編集

グラフ理論は、1736年、「ケーニヒスベルクの問題」に対してオイラーが解法を示したのが起源とされる。この問題は、一筆書きと深く関連している。(詳しくは、一筆書きの項を参照。)

厳密なグラフの定義編集

有向グラフ編集

集合 V , E と、E の元に、二つの V を元の対で対応させる写像

f\colon E \to V \times V

の三つ組

G := (f, V, E)

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

無向グラフ編集

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

g\colon E \to P(V)

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

G := (g, V, E)

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

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

グラフ理論の用語編集

グラフ理論の問題・定理編集

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