Bir grafik için minimum yayılma ağacı benzersiz değilken


22

Ağırlıklandırılmış, yönlendirilmemiş bir grafik verildiğinde G: G için birden çok minimum yayılan ağaç olması için hangi koşullar geçerli olmalıdır ?

Tüm ağırlıklar farklı olduğunda MST'nin benzersiz olduğunu biliyorum, ancak bu ifadeyi geri alamazsınız. Grafikte aynı ağırlığa sahip çok kenarlı kenarlar varsa , birden fazla MST olabilir , ancak yalnızca bir tane olabilir:

görüntü tanımını buraya girin

Bu örnekte, soldaki grafik benzersiz bir MST'ye sahiptir ancak sağdaki yoktur.

MST'nin benzersiz olmama şartlarını bulabildiğim en yakın şey şuydu:

G grafiğindeki tüm akoresiz döngüleri (diğer döngüleri içermeyen döngüleri) göz önünde bulundurun .

Benim fikrim, böyle bir döngü içindi

görüntü tanımını buraya girin

n köşeleriyle, kenarlardan tam olarak birini dışarıda bırakabilir ve yine de tüm köşeleri bağlayabilirsiniz. Bu nedenle, bir MST elde etmek için en yüksek ağırlığa sahip kenarı kaldırmak için birden fazla seçeneğiniz vardır, bu nedenle MST benzersiz değildir.

Ancak, daha sonra bu örnek ile geldi:

görüntü tanımını buraya girin

Bu grafiğin durumuma uyan bir döngüye sahip olduğunu görebilirsiniz: (E, F, G, H) ama görebildiğim kadarıyla, asgari yayılma ağacı benzersiz:

görüntü tanımını buraya girin

Yani durumum doğru değil gibi görünüyor (ya da belki de tamamen doğru değil). Asgari yayılma ağacının benzersiz olmaması için gerekli ve yeterli koşulları bulma konusunda herhangi bir yardımı takdir ediyorum.


1
En küçük döngüleriniz akorsuz döngüleri (az çok) olarak bilinir .
Yuval Filmus,

Yanıtlar:


10

İlk resimde: Sağ grafikte toplam ağırlık 2 olan kenarları ve ( F , G ) alarak benzersiz bir MST var .(F,H)(F,G)

Bir grafik verilen ve izin M = ( V , E ) en az kapsayan ağaç olarak (MST) olduğu G .G=(V,E)M=(V,F)G

Bir kenar var ise ağırlığı ağırlık ( e ) = m ilave edilmesi, böylece , e eden MST bir döngü verir C ve izin m, aynı zamanda gelen düşük kenar ağırlık da F C , o zaman bir kenar değiştirerek ikinci MST oluşturabilir F C kenar ağırlığı m ile e . Böylece benzersizliğimiz yok.e={v,w}EFw(e)=meCmFCFCme


Haklısın, şu anda sorudaki grafiği düzelttim. MST'nin benzersiz olmaması için bunun en genel şart olup olmadığını biliyor musunuz? Veya bir şekilde MST bulmaya gerek kalmadan da bir şekilde tespit edilebilir mi?
Keiwan

1
@Keiwan Bu soruyu hesaba katarsanız, o zaman bu cevapta belirtilen koşulun birden fazla MST'ye sahip olmanız için gerekli bir koşul olduğuna inanıyorum. Başka bir deyişle: Bir grafik , yalnızca HueHang tarafından belirtilen inşaatın gerçekleştirilebilmesi durumunda birden fazla MST'ye sahiptir. G
Bakuriu,

1
m F∩C'den en düşük kenar ağırlığına ihtiyaç duymaz. Aslında, sadece en yüksek kenar ağırlığı olabilir, aksi takdirde M en başta olmazdı. F∩C'de w (e ') = m'> m = w (e) ile e 'kenarı olduğunu varsayalım. Sonra e 'yi değiştirmek' M 'nin toplam ağırlığı M' den küçük olan yayılan bir ağaç bırakacaktı. M
Çad

2

Önceki bir cevap , her bir kenar için, birden çok MSTS var olup olmadığını belirlemek için, bir algoritma gösterir değil G , eklenerek oluşturuldu döngüsü bulmak e bir önceden hesaplanabilir MST ve kontrol E bu döngüde özgü ağır kenar değildir. Bu algoritmanın O ( | E | | V | ) zamanında çalışması muhtemeldir .eG,eeO(|E||V|)

zaman karmaşıklığında birden fazla GST MST olup olmadığını belirlemek için daha basit bir algoritmaO(|E|log(|V|)) .

 1. Bir MST m bulmak için Kruskal algoritmasını çalıştırın .Gm

 2. Kruskal algoritmasını tekrar çalıştırmayı deneyin . Bu çalışmada, eşit ağırlıktaki kenarlar arasında bir seçim yaptığımızda, önce m'yi değil kenarları deneyeceğiz , sonra kenarlarını m cinsinden deneyeceğiz . Biz bir kenar değil bulduk her m bağladığı iki farklı ağaç, algoritmanın sonlanan birden fazla MSTS var olduğunu iddia ederler.Gmmm

 3. Buraya ulaştıysak, benzersiz bir MST'si olduğunu iddia ediyoruz .G

Sıradan bir Kruskal algoritması çalışması zaman alır. Değil kenarların ekstra seçim m yapılabilir O ( | E | ) süresi. Böylece algoritma O ( | E | log ( | V | ) ) zaman karmaşıklığına ulaşır .O(|E|log(|V|))mO(|E|)O(|E|log(|V|))

Bu algoritma neden birden fazla MST olup olmadığını belirler?

Biz MST olduğunu varsayalım aynı değildir m . G'de çalışan algoritmanın 3. adıma erişmeyeceğini göstermek yeterlidir , çünkü 2. adımın sonunda bulunan ve m'de bulunmayan ve iki farklı ağacı birbirine bağlayan kenar, KSTK'yi çalıştıran MST'ye dahil edilmiş olacaktı. tamamlanması için algoritma. Let ağırlık az ağırlığında herhangi bir kenarı söz konusu en büyük ağırlık şekilde olması w , içinde bulunduğu m içinde bulunduğu, ancak ve ancak m ' . Çünkü m ve m ' ağırlık kenarları aynı sayıda w , ağırlık kenarları vardır ana kadarmmGmwwmmmmw özellik olarak m ' değil de m . Algoritma bu kenarların kenarlarını işlemeden önce çıkmışsa, biz yapılır. Aksi takdirde, algoritma birinci kenar işlem olacak varsayalım e ' şimdi bu kenarları arasında. S , sonuçta ortaya çıkan MST'ye dahil edilmek üzere bugüne kadar korunmuş tüm kenarların kümesiniolsun. S m . Algoritma ağırlığının Bitmiş işleme kenar yana ağırlık olmayan m gibi e ' , ağırlıkça kenarlarını işleme başlamadığınız gerekir ağırlık olarak m . S kenarlarında yaniwmmeSSmwmewmS den azdır . Bu S m anlamına gelir . Hatırlayın e ' olduğu m ' . Yana { e ' } S m ' , m ' , bir ağaç, e ' , iki farklı ağaç bağlanması gerekir S bu noktada ve algoritma çıkar.wSm.em{e}SmmeS

Daha fazla gelişme üzerine not
Adım 1 ve adım 2 bir araya getirilebilir, böylece algoritmayı daha büyük ağırlıktaki kenarları işlemeden mümkün olan en kısa sürede sonlandırabiliriz.
MST sayısını hesaplamak istemeniz durumunda, MST sayısını nasıl hesaplayacağınıza dair bir cevabı kontrol edebilirsiniz .


1

Let (basit sıvılan) olduğu, en az iki köşe ile yönsüz bağlı grafiği ağırlıklı kenarlı. ST, yayılan ağaç ve MST minimum yayılan ağaç anlamına gelsin. Önce daha az kullanılan bazı terimleri tanımlayayım.G

  • Kenar, bazı döngülerdeki benzersiz en ağır kenar ise, benzersiz döngü-en ağırdır.
  • Bir kenar, herhangi bir döngüde asla en ağır kenar değilse, döngü-ağır değildir.
  • Kenar, bazı kesimleri geçmek için benzersiz en hafif kenar ise, benzersiz kesme en hafif olanıdır.
  • Bir kenar, herhangi bir kesimi geçecek en hafif kenar olmadığında kesilmezdir.
  • Her ST diğer ST'de olmayan bir kenara sahipse, iki ST bitişiktir.
  • Bir MST, başka bir MST'ye bitişik değilse izole edilmiş bir MST'dir (her iki MST de STs olarak kabul edildiğinde).

En az bir yayılan ağaç ne zaman var?

OP'nin sorusuna cevap vermek için, işte birden fazla MST'ye sahip olan beş karakterizasyonuG .

  • İki bitişik MST vardır.
  • İzole edilmiş MST yoktur.
  • Tüm bitişik ST'lerden daha hafif veya daha hafif olan ve bir bitişik ST kadar hafif olan bir ST vardır.
  • Ne benzersiz döngü en ağır ne de döngü en ağır olmayan bir kenar vardır.
  • Ne benzersiz kesim-en hafif ne de en hafif olmayan bir kenar var

Bu cevabın yeniliği çoğunlukla son iki karakteristiktir. Son karakterizasyondan ikinci , OP yaklaşımının bir sonraki adımı olarak düşünülebilir . Birlikte ilk üç karakterizasyon dtt'nin cevabının biraz geliştirilmiş bir versiyonu olarak düşünülebilir .

benzersiz bir MST'ye sahip olup olmadığını tersine düşünmek daha kolaydır . Aşağıdaki, yukarıdaki karakterizasyonların zıt ve eşdeğer versiyonudur.G

Asgari yayılma ağaçları ne zaman benzersizdir?

Teorem: aşağıdaki özellikleri eşdeğerdir.G

  • MST'nin benzersizliği: Benzersiz bir MST var.
  • Bitişik MST yok: bitişik MST yok.
  • Bir izole edilmiş MST : izole edilmiş bir MST var.
  • Bir yerel minimum ST : tüm bitişik ST'lerden daha hafif olan bir ST vardır.
  • Aşırı döngü kenarı : Her kenar benzersiz bir döngü en ağır veya döngü olmayan en ağırdır.
  • Aşırı kesim kenarı : Her kenar benzersiz kesim en hafif veya kesim en hafif

İşte kanıtım geliyor.

"MST'in benzersizliği" => "Bitişik MST yok": açık.

"Bitişik MST yok" => "Bir izole MST": açık.

"Bir izole edilmiş MST" => "Bir yerel minimum ST": İzole edilmiş bir MST, tüm bitişik ST'lerden daha hafiftir.

"Bir yerel minimum ST" => "Aşırı döngüsü kenar": Let tüm bitişik ST'ler daha hafif bir ST olabilir.m

  • Her kenar olmayan çevrim ağır olması gerekir. İşte kanıtı. Let l bir kenar olabilir m . Eğer l bir dönemine ait değil, bitti. Diyelim ki ben bir çevrime aitim c . Biz kaldırırsanız l dan m , m isimlendirilecek iki ağacın içine bölünmüş olacak m 1 ve m 2 . Bağlayan bir döngü olarak m 1 ve m 2 olan l , c bağlandığı başka bir kenarı olmalıdır m 1 ve mmlmllclmmm1m2m1m2lcm1 . Bu kenara isim verin l . Let m ' birlik olmak m 1 , m 2 ve l ' bir kapsayan ağaç olmalıdır, G de. Yana m ve m ' bitişiktir, m, daha hafif olan m ' . Bu demektir ki, L daha hafif olan l ' . Yani ben döngüsel olmayan en ağır.m2lmm1m2lGmmmmlll
  • cinsinden olmayan her kenar benzersiz döngü-en ağır olmalıdır. İşte kanıtı. Let h ' de bir kenar olmamak m . Biz eklerseniz h ' için m , biz bir döngü yaratacaktır c . Let h bir kenar olabilir c değildir h ' . Kapsayan ağaç düşünün m ' den yapılan m ile h yerini h ' . Yana m ve m ' bitişiktir, m, daha hafif olan m ' . Bunun anlamı,mhmhmchchmmhhmmmm daha hafiftir h ' . Yani h c'deki en ağır kenardır. Kendisine, h ' benzersiz döngüsü ağırı.hhhch

"Yerel minimum ST" => "Ekstrem kesme kenarı": Prova bir egzersiz olarak kaldı.

"Aşırı döngü kenarı" => "MST'nin benzersizliği": , bir MST olsun. Let , e isteğe bağlı bir kenar olabilir. Eğer e döngüsel olmayan en ağır ise, m onu içermelidir. Kenar Eğer E benzersiz döngüsü ağır olduğu, m, o içeremez. (Bu iki önerme, yukarıda yapılanlara benzer şekilde, döngü ve kenar değişimi kullanarak MST hakkındaki standart akıl yürütme ile kanıtlanabilir). Bu nedenle, m tam olarak döngüsel olmayan en ağır kenarlar kümesidir.meememm

"Extreme cut edge" => "MST'nin benzersizliği": Prova bir egzersiz olarak kaldı.

Yukarıdaki etki zincirleri teoremi ispatlamaktadır.

Bir kez daha, bu cevapların yeniliği çoğunlukla "aşırı döngü kenarı" özelliği ve döngüsel olmayan en hafif ve en hafif olmayan kavramları kullanan "aşırı kesme kenarı" özelliğidir. Oldukça doğal olmalarına rağmen bu kavramları başka bir yerde görmedim.


İşte iki ilginç gözlem.

  • Herhangi bir kenar için , e olmayan döngüsü ağır olan e özgü-kesme hafif olan E her MST içindeee e e
  • Herhangi bir kenar için , e özgü döngüsü ağır olan E -hafif olmayan kesilmiş olan E bir MST değilee e e

Eşsiz MST için iki yeterli, ancak gerekli olmayan koşullar

Her döngüdeki en ağır kenarın benzersizliği , "aşırı döngü kenarı" özelliğini belirtir . Yani bu yeterli bir durumdur. Bunu olmak şartı ile bir karşı-ağırlık ile grafiktir .ab1,bc1,cd1,da2,ac2

Her kesim setinde en hafif kenarın benzersizliği "aşırı kesim kenarı" özelliğini belirtir . Yani bu yeterli. Gerekli koşulunun bir karşıt örneği, ağırlıkta bir üçgendir .1,1,2

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.