グラフ理論(グラフりろん、英: graph theory)は、数学の一分野。ノード(節点・頂点[1])の集合とエッジ(枝・辺[2])の集合で構成されるグラフの性質について研究する学問である。なお「エッジ」をリンク[3]という場合もある。コンピュータのデータ構造、アルゴリズムなどに広く応用されている。
グラフとは編集
グラフを用いることで、様々な物の関連性を表すことができる。
鉄道や路線バス等の路線図を例に考える際には、駅(ノード)がどのように路線(エッジ)で結ばれているかが問題となる。 従って線路が具体的にどのような曲線を描いているかは本質的な問題とならないことが多い。
つまり、路線図では駅間の距離や微妙な配置、路線の形状などがしばしば地理上の実際とは異なって描かれているということになる。 路線図の利用者にとっては、駅と駅の「つながり方」が主に重要な情報なのである。
このように、「つながり方」に着目して抽象化された「点とそれをむすぶ線」の概念がグラフであり、 グラフが持つ様々な性質を探求するのがグラフ理論である。
つながり方だけではなく「どちらからどちらにつながっているか」をも問題にする場合、エッジに矢印をつける。このようなグラフを有向グラフ[4]または、ダイグラフ[5]という。矢印のないグラフは、無向グラフ[6]という。
グラフの例編集
日常的な問題や工学的問題の多くをグラフとしてみなすことができる。以下はその例である。
グラフ理論の起源編集
グラフ理論は、1736年、「ケーニヒスベルクの問題」に対してオイラーが解法を示したのが起源とされる。この問題は、一筆書きと深く関連している。(詳しくは、一筆書きの項を参照。)
厳密なグラフの定義編集
有向グラフ編集
集合 V , E と、E の元に、二つの V を元の対で対応させる写像
の三つ組
を有向グラフという。V の元を G の頂点[7]またはノード[8]、E の元を G の辺[9]または弧[10]と呼ぶ。
無向グラフ編集
P(V) を V の冪集合とする。E の元に V の 部分集合を対応させる写像
があって、E の任意の元 e の像が g(e) = {v1, v2} のようにちょうど二つの元の集合になっているとする。このとき、三つ組
を無向グラフという。V の元を G の頂点、E の元を G の辺と呼ぶ。g の値が常にk > 2個の元の集合となっているとき、k-ハイパーグラフという。
E を最初からある集合の部分集合と考えれば、写像を用いずにグラフを定義することもできる。有向グラフでは、E を V×V の部分集合、無向グラフでは、E を P(V) の部分集合で、二つの元の集合のみからなるものとすればよい。
グラフ理論の用語編集
グラフ理論の問題・定理編集
- ^ 英: node
- ^ 英: edge
- ^ 英: link
- ^ 英: directed graph
- ^ 英: digraph
- ^ 英: undirected graph
- ^ 英: vertex
- ^ 英: node
- ^ 英: edge
- ^ 英: arc
- ^ 英: vertex
- ^ 英: edge
- ^ 英: weighted graph
- ^ 英: endpoint
- ^ 英: adjacent
- ^ 英: distance
- ^ 英: diameter
- ^ 英: loop
- ^ 英: simple graph
- ^ 英: subgraph
- ^ 英: spanning graph
- ^ 英: induced subgraph
- ^ 英: degenerate graph
- ^ 英: k-regular
- ^ 英: walk
- ^ 英: trail
- ^ 英: path
- ^ 英: cycle
- ^ 英: complete graph