まばらな無向グラフの周囲をどのように見つけるか疑問に思います。スパースとは。最適とは、時間の複雑さが最も低いことを意味します。
無向グラフのためのタージャンのアルゴリズムの変更について考えましたが、良い結果が見つかりませんでした。実際、で2連結成分を見つけることができれば、最初の部分から達成できる何らかの誘導によって、胴回りを見つけることができると考えました。ただし、間違った方向に進んでいる可能性があります。(すなわち)よりも漸近的に優れたアルゴリズムを歓迎します。
まばらな無向グラフの周囲をどのように見つけるか疑問に思います。スパースとは。最適とは、時間の複雑さが最も低いことを意味します。
無向グラフのためのタージャンのアルゴリズムの変更について考えましたが、良い結果が見つかりませんでした。実際、で2連結成分を見つけることができれば、最初の部分から達成できる何らかの誘導によって、胴回りを見つけることができると考えました。ただし、間違った方向に進んでいる可能性があります。(すなわち)よりも漸近的に優れたアルゴリズムを歓迎します。
回答:
ここに、無向無加重グラフの胴回りの問題について私が知っていることを示します。まず、胴回りが偶数であれば、時間で決定できます。これはItaiとRodehの古い結果です(A. ItaiとM. Rodeh。グラフで最小回路を見つけるSIAM J 。Computing、7(4):413–423、1978.)。考えは次のとおりです。グラフ内の各頂点について、最初のサイクルが終了するまでBFSを開始します(その後、停止して次の頂点に移動します)。見つかった最短サイクルを返します。胴回りが最短サイクルである場合、見つかった最短サイクルになります。特に、グラフが2部からなる場合、これは常に周囲を計算します。ただし、ガースgが奇数の場合、長さgまたはg +のサイクルが見つかります。なので、 1ずれる可能性があります。
さて、奇妙な胴回りの本当の問題は、グラフに三角形があるかどうかをアルゴリズムが検出できなければならないことです。その使用行列乗算のための最良のアルゴリズム:最小{ N 2.38、M 1.41)上のグラフの時間n個のノードと、m個の縁。ItaiとRodehは、密なグラフで三角形を見つけることができるすべてのアルゴリズムが胴回りも計算できることを示したため、O (n 2.38)時間胴回りアルゴリズムがあります。ただし、スパースグラフの胴回りの実行時間は、三角形を見つけるための実行時間ほど良くありません。私たちが一般的に知っているベストはO (m。特に、最も難しいと思われるのは、 m = O (n )のグラフの o (n 2)時間アルゴリズムを見つけることです。
Liam RodittyとV. Vassilevska Williams:胴回りの準二次時間近似アルゴリズムについて、Liam Rodittyと私は最近、SODA'12で最近の論文を参照しています。SODA 2012:833-845。ここでは、準近似時間で近似を見つけることができること、および加算近似と拡張に関するその他の結果を示します。一般的に言えば、BondyとSimonovitsの定理により、n 1 + 1 / kのエッジに密度の高いグラフがある場合、それらにはすでに約2 kの短い偶数サイクルが含まれています。そのため、グラフの密度が高いほど、周囲の適切な近似値を見つけやすくなります。グラフが非常にまばらな場合、胴回りは本質的に任意に大きくなります。
平面グラフの周囲を見つけることには興味深い歴史があります。線形時間アルゴリズムと改善の歴史については、ChangとLuによるこの論文を参照してください。
胴回り見つけるために何の一般的な手法はありません任意のまばらなグラフが。多くの場合、より良い境界を達成するために、関連する特別な分解または埋め込みを調べる必要があります。グラフが「確かに」まばらな場合、それに関連した素晴らしい構造がしばしばあります。たとえば、有界ツリー幅グラフはスパースであり、ツリー分解が関連付けられています。
一般的なスパースグラフのアルゴリズムの設計は、未解決の問題です。