
数学の一分野であるグラフ理論において、無向グラフの循環数、回路ランク、サイクルランク、コランク、またはヌル度は、グラフのすべてのサイクルを破壊してグラフをツリーまたはフォレストにするためにグラフから削除する必要があるエッジの最小数です。
この概念はグスタフ・キルヒホフによって導入され、サイクロマティック数と名付けられました。[ 1 ] [ 2 ]
グラフのサイクマティック数は、グラフ内の独立サイクルの数、サイクル基底のサイズに等しい。有向グラフの対応するフィードバックアーク集合問題とは異なり、サイクマティック数rは次の式を用いて簡単に計算できる。 ここで、 eは与えられたグラフの辺の数、vは頂点の数、cは連結成分の数である。 [ 3 ]
貪欲アルゴリズムを使用するか、スパニング フォレストを補完することによって、すべてのサイクルを効率的に破る最小サイズのエッジ セットを構築することが可能です。
サイクロマティック数は、代数グラフ理論においてはグラフのサイクル空間の次元として、マトロイド理論においてはグラフマトロイドの双対階数として、そして位相幾何学においてはグラフから導かれる位相空間のベッティ数の一つとして説明することができる。これは、グラフの耳分解における耳の数を数え、ほぼ木におけるパラメータ化された複雑性の基礎を形成し、ソフトウェアメトリクスにおいてはコードの サイクロマティック複雑性の定義の一部として適用されてきた。
ハイパーグラフのサイクマティック数は、そのレヴィグラフから導出できます。レヴィグラフは、同じサイクマティック数を持ちますが、単純グラフに縮約されます。これは です。 ここで、 gは次数和(およびレヴィグラフの辺の数)、eは与えられたハイパーグラフのハイパーエッジの数、vは頂点の数、cは連結成分の数です。
ハイパーグラフの次数和は、すべての頂点の次数の合計であり、単純グラフでは2 e 、 k -一様ハイパーグラフではkeに減少します。この式は頂点と辺の間で対称であり、ハイパーグラフとその双対ハイパーグラフが同じサイクロマティック数を持つことを示しています。
グラフGのサイクロマティック数は、マトロイド理論を用いて、 Gのグラフィックマトロイドの双対ランクとして記述することができる。[ 4 ]マトロイドの貪欲特性を用いると、これは、各ステップで残りのグラフの少なくとも1つのサイクルに属するエッジを選択する貪欲アルゴリズムを使用して、すべてのサイクルを破るエッジの最小セットを見つけることができることを意味する。
あるいは、 Gの最大フォレストを構築し、その最大フォレストに属さないエッジの 補完セットを選択することで、すべてのサイクルを破るエッジの最小セットを見つけることができます。
代数的グラフ理論において、サイクロマティック数はのサイクル空間の次元でもある。直感的には、サイクロマティック数はグラフ内の独立したサイクルの数を数えるという意味で説明できる。サイクルの集合が独立であるとは、サイクルの1つを他のサイクルのサブセットの対称差として形成することが不可能な場合を指す。[ 3 ]
この独立閉路の数は、位相幾何学の一分野であるホモロジー理論を用いて説明することもできる。任意のグラフG は、 1 次元単体複体の例として見ることができる。単体複体は、各グラフの辺を線分で表し、これらの線分を端点で互いに接着することによって形成される位相空間の一種である。サイクロマティック数は、この複体の最初の (整数)ホモロジー群の階数である。 [ 5 ] この位相的なつながりのため、グラフGのサイクロマティック数は、 Gの最初のベッティ数とも呼ばれる。[ 6 ]より一般的には、同様に定義される任意の位相空間の最初のベッティ数は、空間内の独立閉路の数を数える。
平面グラフのサイクマティック数の変形は、同じ頂点集合を持つ任意の平面グラフの最大のサイクマティック数で割ることによって正規化され、メッシュ化係数と呼ばれる。m辺n頂点の連結平面グラフの場合、メッシュ化係数は式[ 7 ]で計算できる。
ここで、式の分子は与えられたグラフのサイクマティック数であり、分母はn頂点平面グラフの最大のサイクマティック数である。メッシュ度係数は、木構造の場合0、最大平面グラフの場合1の範囲をとる。
サイクロマティック数は、グラフの耳分解(グラフの辺をパスとサイクルに分割する)における耳の数を制御する。これは多くのグラフアルゴリズムで有用である。特に、グラフが2頂点連結であるためには、オープンイヤー分解が必要である。これは、最初のサブグラフが単純サイクルで、残りのサブグラフがすべて単純パスであり、各パスが前のサブグラフに属する頂点で始まり、終わり、パスの各内部頂点はそのパスで初めて現れるようなサブグラフのシーケンスである。回路ランクが である任意の2連結グラフにおいて、すべてのオープンイヤー分解はちょうど 個の耳を持つ。[ 8 ]
循環数を持つグラフは、 r-ほぼ木とも呼ばれます。これは、グラフを木や森にするため には、 r本の辺だけを削除すればよいためです。1-ほぼ木は近似木であり、連結近似木は擬似木、つまり各頂点を根とする(おそらく自明な)木を持つ閉路です。[ 9 ]
いくつかの著者は、r近傍木上のグラフアルゴリズムのパラメータ化された複雑性を研究してきた。[ 10 ] [ 11 ]
サイクルランクは、有向グラフにおけるサイクルの入れ子レベルを測る不変量です。サイクルランクは、サイクロマティック数(無向グラフの木の深さの定義に密接に関連)よりも複雑な定義を持ち、計算がより困難です。有向グラフにおいてサイクロマティック数に関連するもう一つの問題は、最小フィードバックアーク集合、つまり、削除することですべての有向サイクルが破壊される最小の辺集合です。サイクルランクと最小フィードバックアーク集合はどちらも計算が NP困難です。
有向グラフの不変量を、辺の方向を無視し、基となる無向グラフの回路ランクを計算することで、より単純なものにすることも可能です。この原理は、コンピュータコードの複雑さを推定するためのソフトウェア指標 である循環的複雑度の定義の基礎となっています。
化学およびケミノフォーマティクスの分野では、分子グラフのサイクロマティック数(最小の環の最小集合内の環の数)はフレジャック数と呼ばれることもあります。[ 12 ] [ 13 ] [ 14 ]
グラフ上の計算問題の中には、一般にNP困難であるものもありますが、循環数が小さいグラフでは多項式時間で解くことができます。例としては、経路再構成問題が挙げられます。[ 15 ]
グラフから何かを削除するという観点から定義された他の数値は次のとおりです。