web-dev-qa-db-ja.com

非循環グラフにn-1エッジがあることをどのように証明できますか?

私はこれについての数学にそれほど熱心ではありませんが、私が理解していることについては...

グラフgは、v個の頂点とエッジで構成されています。 g =(V、E);

このスパニンググラフは、これの非循環コピーであり、すべての頂点が存在し、すべてのエッジはグラフのサブセットであり、各接続が異なるという条件が付いています。

どうやらMSTにはn-1ノードが必要です。これをどのように証明できますか?

出典:

http://youtu.be/zFbq8vOZ_0k?t=25m1s

http://www.gtkesh.com/minimum-spanning-tree/

2
peter_gent

誘導による証明:

すべてのノードが接続されている場合、すべての非循環グラフはツリーとして表すことができます。

木について考えてみましょう。ルートノードが1つあります。ツリーが1つのブランチしか持たない最も単純なケースを見てみましょう。これは、単純なリンクリストです。

2つのノードがある場合、それらの間に1つのエッジがあります。リンクされたリストの最後に1つのノードを追加すると、3つのノードと2つのエッジというように続きます。

リンクされたリストを取り、中央のノードの1つに別のノードを追加すると、真のツリーができます。また、1つのノードと1つのエッジを追加しています。別のものを追加し、それは同じです。

追加するノードの数や場所に関係なく、それが非循環の完全に接続されたツリーである限り、Nノードには常にN-1エッジがあります。

5
Mason Wheeler

最小のスパニングツリーを検討します。ルートとしていくつかの頂点を選択します。その場合、ルートを除く各頂点には1つの親があります。

3
Mike Dunlavey

本質的にメイソンとマイクがすでに言ったのと同じですが、異なる言葉で...

エッジがない場合、持つことができる(接続された)頂点のほとんどは1つです。この頂点をルートと呼びます。

ツリーに新しい頂点を追加するには、新しいエッジも追加する必要があります(新しい頂点が接続されるため)。そのエッジは、既存の頂点に接続できます(接続する必要があります)。新しい頂点は既存の頂点の子であり、親が持つことができる子の数に制限はありません。

ルート(1つの頂点と0のエッジ)だけで開始すると、2つの頂点と1つのエッジになります。 n回繰り返して、n + 1個の頂点とn個のエッジを取得します。

これ自体は完全な証明ではありませんが、他の方法でエッジまたは頂点を追加することはできません(2つの子を一度に追加できる場合を除いて、最初に1つ追加してから追加するのと同等の方法で追加する場合)その他)。頂点を追加せずにエッジを追加することはできません。そうすると、サイクルが完了するからです。エッジはツリーに接続されないため、エッジを追加せずに頂点を追加することはできません。

ところで、無向グラフの場合、「ルート」、「親」、「子」のような単語は、少なくとも正式には意味がありません。無向ツリー内の頂点はルートと見なすことができ、ルートを呼び出す頂点はすべてのエッジに対して、どの頂点が親で、どの頂点が子であるかを決定します。ツリーの私のメンタルイメージには、特定の頂点をルートとして識別することが含まれる傾向がありますが、それは間違いなく誤解を招くメンタルイメージです。

0
Steve314