グラフの最小スパニングツリーが一意ではない場合


22

重み付きの無向グラフGが与えられた場合:Gに複数の最小全域木が存在するために、どの条件が当てはまらなければならないか

すべての重みが異なる場合、MSTは一意であることを知っていますが、このステートメントを逆にすることはできません。グラフに同じウェイトの複数のエッジがある場合、複数のMSTが存在する可能性がありますが、1つだけ存在する場合もあります。

ここに画像の説明を入力してください

この例では、左側のグラフには一意のMSTがありますが、右側のグラフにはありません。

MSTの非一意性の条件を見つけるのに最も近い方法は次のとおりです。

グラフGのすべてのコードレスサイクル(他のサイクルを含まないサイクル)を検討します。これらのサイクルのいずれかに最大重み付きエッジが複数回存在する場合、グラフには一意の最小スパニングツリーがありません。

私の考えは、このようなサイクルのために

ここに画像の説明を入力してください

n個の頂点がある場合、エッジの1つだけを除外し、すべての頂点を接続することができます。したがって、MSTを取得するために最も高い重みを持つエッジを削除するには複数の選択肢があるため、MSTは一意ではありません。

しかし、次にこの例を思いつきました。

ここに画像の説明を入力してください

このグラフには、私の条件に合ったサイクルがあることがわかります:(E、F、G、H)しかし、私が見る限り、最小スパニングツリーは一意です:

ここに画像の説明を入力してください

したがって、私の状態は正しくないようです(または、完全に正しくない可能性があります)。最小スパニングツリーの非一意性に必要かつ十分な条件を見つけるための助けに感謝します。


1
最小サイクルはコードレスサイクル(多かれ少なかれ)と呼ばれます。
ユヴァルフィルマス16

回答:


10

最初の図では、右のグラフには、総重量2のエッジおよびを取得することにより、一意のMSTがあります。F G (F,H)(F,G)

グラフ所与とlet最小スパニングツリーの(MST)である。M = V F GG=(V,E)M=(V,F)G

エッジが存在する場合量の加えるように我々のMSTにはサイクル収率、およびletまた、最小エッジ量であります、我々はからエッジを交換することにより、第2 MSTを作成することができるエッジ量とと。したがって、一意性はありません。W E = M E C M F C F Cのm個の電子e={v,w}EFw(e)=meCmFCFCme


そうです、質問のグラフを修正しました。これが最も一般的な条件であり、MSTが一意ではないことを知っていますか?または、最初にMSTを見つける必要なく、どういうわけか決定できますか?
ケイワン

1
@Keiwan この質問を考慮に入れると、この回答に記載されている条件は、複数のMSTを持つための必要条件でもあると思います。言い換えれば、グラフは、HueHangによって概説された構築を実行できる場合にのみ、複数のMSTがあります。G
バクリウ

1
mはF∩Cからの最小エッジウェイトである必要はありません。実際、それは最高のエッジ重量にしかなれない。そうでなければ、Mはそもそも最小ではなかっただろう。F∩Cにw(e ')= m'> m = w(e)のエッジe 'があると仮定します。その後、eをe 'に交換すると、Mの最小重量と矛盾する総重量のスパニングツリーが
チャド

2

前の回答は、各エッジのために、複数MSTSがあるかどうかを決定するためのアルゴリズムを示すしないで、追加することによって作成サイクルを見つける事前計算MSTにおよびかどうかを確認そのサイクル内で一意で最も重いエッジはありません。そのアルゴリズムは、時間で実行される可能性があります。G e e O | E | | V |eGeeO(|E||V|)

time-complexity にGのMSTが複数あるかどうかを判断する、より単純なアルゴリズムO(|E|log(|V|))

  1.クラスカルのアルゴリズムを実行してMSTを見つけます。mGm

  2.クラスカルのアルゴリズムを再度実行してください。この実行では、我々は等しい重みのエッジの中の選択肢を持っている時はいつでも、私たちは最初にないエッジを尽くす我々はエッジをしようとされた後、。ないエッジが2つの異なるツリーを接続していることがわかったときは、複数のMSTがあり、アルゴリズムを終了すると主張します。m m mGmmm

  3.ここに到達した場合、には一意のMSTがあると主張します。G

Kruskalのアルゴリズムの通常の実行には時間かかります。ないエッジの追加選択は、時間で実行できます。したがって、アルゴリズムは時間の複雑さを達成し。m O | E |O | E | log | V |O(|E|log(|V|))mO(|E|)O(|E|log(|V|))

このアルゴリズムで複数のMSTがあるかどうかを判断できるのはなぜですか?

我々はMSTのがあるとと同じではありません。実行されているアルゴリズムがステップ3に到達しないことを示すだけで十分です。これは、ステップ2の終わりにあるエッジ(なく、2つの異なるツリーを接続するエッジ)がKruskalを実行した結果のMSTに含まれていたためです完了までのアルゴリズム。ましょうより少ない体重の任意のエッジのためにそのような最大の重みである、それがであるあれば、それがである場合にのみ。なぜならおよびの重量のエッジの数が同じ重量のエッジが存在し、していることがmmGmwwmmmmwwmではなく。それらのエッジのエッジを処理する前にアルゴリズムが終了した場合、完了です。それ以外の場合、アルゴリズムはこれらのエッジうち最初のエッジを処理しようとしていると仮定します。してみましょうこれまでに残されていたMSTに含まれるすべてのエッジの集合とします。。アルゴリズムは、重量の完成加工端を持っていないので、にないなどのは、重量のエッジ処理を開始していない必要がありで。したがって、エッジの重量は未満です。これは、意味しそれを思い出しますmeSSmwmewmSwSm.eはます。ので、木であり、二つの異なるにおける木接続する必要、この時点で、アルゴリズムは終了します。m{e}SmmeS

さらなる開発に関する注意
ステップ1とステップ2はインターリーブすることができるため、より大きな重みのエッジを処理することなく、できるだけ早くアルゴリズムを終了できます。
MSTの数を計算する場合は、MSTの数を計算する方法の答えを確認できます。


1

ましょうエッジ加重少なくとも2つの頂点を有する無向連結グラフを(単純な有限)です。STはスパニングツリーを意味し、MSTは最小スパニングツリーを意味します。あまり一般的ではない用語を最初に定義しましょう。G

  • エッジが特定のサイクルで一意の最も重いエッジである場合、エッジは一意のサイクルで最も重いです。
  • エッジがどのサイクルでも最も重いエッジではない場合、エッジは最もサイクルが重いです。
  • エッジは、カットを横断するための一意の最軽量エッジである場合、一意のカット最軽量です。
  • エッジがカットを横断するための最軽量のエッジでない場合、エッジは非最軽量です。
  • すべてのSTが他のSTにない正確に1つのエッジを持っている場合、2つのSTは隣接しています。
  • MSTは、別のMSTに隣接していない場合(両方のMSTがSTと見なされる場合)、孤立したMSTです。

最小スパニングツリーが複数ある場合

OPの質問に答えるために、複数のMSTを持つGの 5つの特性化を以下に示しGます。

  • 隣接する2つのMSTがあります。
  • 分離されたMSTはありません。
  • 隣接するすべてのSTと同じかそれより軽いST、および隣接する1つのSTと同じくらい軽いSTがあります。
  • 固有のサイクルが最も重いエッジでも、非サイクルが最も重いエッジもない。
  • 固有のカットライトでも非カットライトでもないエッジがあります

この答えの目新しさは、主に最後の2つの特性です。最後の特性評価の2番目は、OPのアプローチの次のステップと見なすことができます。最初の3つの特性評価は、dttの回答のわずかに強化されたバージョンと考えることができます。

が一意のMSTを持っているかどうか、反対の用語で考えるのは簡単です。以下は、上記の特性評価の反対バージョンおよび同等のバージョンです。G

最小全域木はいつ一意ですか?

定理:の次の特性は同等です。G

  • MSTの一意性一意のMSTがあります。
  • 隣接するMSTはありません隣接するMSTはありません
  • 1つの分離されたMST:分離されたMSTがあります。
  • 1つの極小ST:隣接するすべてのSTよりも軽いSTがあります。
  • 極端なサイクルエッジ:すべてのエッジは、サイクルが最も重いか、サイクルが最も重いかのいずれかです。
  • 極端なカットエッジ:すべてのエッジは、ユニークカットライトまたは非カットライトのいずれかです。

ここに私の証拠があります。

「MSTの一意性」=>「隣接MSTなし」:明らかです。

「隣接するMSTなし」=>「1つの分離されたMST」:明らかです。

「1つの分離されたMST」=>「1つのローカル最小ST」:分離されたMSTは、隣接するすべてのSTよりも軽いです。

「1つの最小ローカルST」=>「極端なサイクルエッジ」:を、すべての隣接するSTよりも軽いSTとする。m

  • すべてのエッジは、非サイクル重でなければなりません。これが証拠です。ましょうlはエッジであるMlがどのサイクルにも属さない場合、完了です。ここで、lがサイクルcに属しているとします。mからlを削除すると、mは2つのツリーに分割され、m 1m 2という名前になります。m 1m 2lと接続するサイクルとして、cにm 1mを接続する別のエッジが必要です。mlmllclmmm1m2m1m2lcm1。そのエッジに名前を付けます l 。ましょ mは'の和集合である M 1 M 2および L 'のスパニングツリーである必要があり、 Gならびに。以来、 M及び mは隣接する、 mがより軽い M '。つまり、 l l よりも軽いということです。したがって、 lはサイクルが最も重いです。m2lmm1m2lGmmmmlll
  • すべてのエッジは、一意のサイクルが最も重い必要があります。これが証拠です。ましょうhは'のエッジではないことが、Mh mに追加すると、サイクルcが作成されます。ましょうhがエッジであるCはないH '。スパニングツリー考えるM 'から作られたMHに置き換え時間'。以来、M及びmは隣接する、mがより軽いM '。つまり、mhmhmchchmmhhmmmm h よりも軽い。したがって、 h cの一意の最も重いエッジです。つまり、 h は一意のサイクルが最も重いということです。hhhch

「ローカルミニマムST」=>「エクストリームカットエッジ」:練習問題として証拠を残します。

「極端なサイクルエッジ」=>「MSTの一意性」: MSTとする。してみましょうeは任意のエッジも。場合はeは非サイクル-最も重いです、mはそれを含める必要があります。エッジeが一意のサイクルが最も重い場合、mに含めることはできません。(これら2つの命題は、上記で行われたのと同様に、サイクル交換とエッジ交換を使用したMSTに関する標準的な推論によって証明できます)。したがって、mは、サイクルが最も重いエッジのセットです。meememm

「極端なカットエッジ」=>「MSTの一意性」:演習として証拠を残します。

上記の含意の連鎖は定理を証明します。

繰り返しになりますが、この答えの目新しさは、ほとんどが「極端なサイクルエッジ」プロパティと「極端なカットエッジ」プロパティです。それらは非常に自然ですが、私は他の場所でこれらの概念を見ませんでした。


関連する2つの興味深い観察結果を次に示します。

  • 任意のエッジのためのEは非サイクル重いあるeは一意カット軽量であるeはすべてのMSTでありますee e e
  • 任意のエッジのためのEは一意サイクル重いあるEは非カット軽量であるEは任意MST内にありませんee e e

固有のMSTに必要な2つの十分な条件

すべてのサイクルで最も重いエッジの一意性は、「極端なサイクルエッジ」プロパティを意味します。したがって、それは十分な条件です。その必要条件の反例は、重みのグラフです。ab1,bc1,cd1,da2,ac2

すべてのカットセットで最も明るいエッジの一意性は、「極端なカットエッジ」プロパティを意味します。それで十分です。そのことの必要条件に反例は重みを持つ三角形である1,1,2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.