Mega Birleşme - Mega-Merger

Mega birleşme genel bağlantılı yönlendirilmemiş seçim problemini çözmeyi amaçlayan dağıtılmış bir algoritmadır. grafik.[1][2]

Giriş

Mega-Birleşme, Robert Gray Gallager tarafından geliştirildi. MIT 1983'te. böl ve fethet yaklaşım, rütbe tabanlı bir fethetme stratejisi ile karıştırılır. Algoritma genellikle bir köy-kent benzetmesiyle sunulur. Grafikteki her düğüm bir köyü belirtirken, onları birbirine bağlayan kenarlar yollar ve bir alt grafikteki köklü bir kapsayan ağaç bir şehirdir. O halde tüm grafik bir mega şehirdir. Mega-Birleşme, köyleri birbirlerinin rütbesine ve kenarlarına göre şehirler oluşturmaya zorlar. Şehirler daha sonra ittifaklarla veya fethetme / soğurma yoluyla oluşturulur.

Ön koşullar

Mega-Merger, sağlanan bağlı grafikler üzerinde minimum bir yayılma ağacı oluşturur:

  • Toplam güvenilirlik: İletim sırasında hiçbir mesaj kaybolmaz.
  • UI (benzersiz başlatıcı): Tek bir düğüm protokolü başlatır.
  • Çift yönlü iletişim kanalları: Her kenar çift yönlüdür, iletişim her iki yönde de hareket edebilir.

Başka kısıtlamalara gerek yoktur.

Algoritma

Algoritma, her köye bir ad ve bir rütbe atar, eskisi genellikle benzersizdir. İkincisi, şehrin geçirdiği dostça birleşmelerin sayısını belirtir ve ne kadar büyükse, bir şehir o kadar güçlü kabul edilir. Ayrıca, her bir kenara bir ağırlık atanır: her köy / şehir minimum ağırlıklı kenara sahiptir olarak da adlandırılır bağlantıyı birleştirbu, geçişinin minimum maliyete sahip olduğu uçtur.

Algoritma, bir mega şehir oluşana kadar ardışık aşamalarda ilerler. Her C şehri kendi birleştirme bağlantısını hesaplar ve birleştirme için bir istek gönderir . İstek tarafından ele alınır aşağıdaki şekillerde:

  1. Dost birleştirme: : Şehirler aynı birleştirme bağlantısını paylaşıyor ve aynı rütbeye sahipse, dostça birleşme oluşur ve iki şehir bir araya gelir. Yeni oluşturulan şehir için yeni bir isim seçilir, bir yönetici köy seçilir ve birleştirme bağlantısında önceki yöneticiden düğüme giden yol, yeni lidere götürecek şekilde yeniden yönlendirilir. Yeni şehrin de sıralaması bir arttı. Dikkat edin, iki şehrin birbirinin sıralamasını yükseltmesinin tek yolu budur.
  2. Emilim: : Talepte bulunan şehrin daha düşük bir sıralaması varsa, alıcı taraftaki şehir bir absorpsiyon süreç: dost birleşiminde olduğu gibi emilir, ancak adını kaybeder ve ortaya çıkan şehir rütbesine sahiptir. .
  3. Süspansiyon: : Bu gibi durumlarda isteği dondurur: ya kural tarafından emilmesini bekler 2 veya rütbesini aşağıdakilerden birinin üzerine çıkarmak ve yükseltmek için kural koyabilmek için 1 ve emmek .

Dış mesajlar

Grafikteki hiçbir düğümün köylerine ait köylerin bir listesi yoktur, bu nedenle bir şehir, dışına çıkan kenarları her aramak istediğinde, bir cevap sor protokol. Şehir yöneticisi, yayılma ağacı ve her düğüm aracılığıyla bir yayın mesajı gönderir. onu almak, komşularına, çocuklarına ve ebeveynlerine sınırlar hariç olmak üzere istek gönderir. Yanıt protokolü aşağıdaki gibidir:

  • : açıkça kenar bir iç kenar . ve olumsuz yanıtlar alışverişinde bulunun.
  • : yüksek rütbeli bir şehir istiyor. Kurala göre 2 hiçbir emilimin olmadığını iddia edebiliriz ve gerçekten başka bir şehre aittir.
  • : bu durumda cevabı kural gereği geciktirecek 3.

Özellikleri

Mega-Birleşme birkaç mülke sahiptir:

  • Monoton rütbe: Her şehir , mega-şehir hariç tutulduğunda, sonunda sıralamada yükselecektir. Kurala göre 1 dostça birleştirme yaparak sıralamasını yükseltebilir ; kural gereği 2 ve 3 bir birleştirme bağlantısına sahip olacak (hipoteze göre mega şehir değil) ya daha yüksek rütbeli bir şehir isteyecek , emilmek ve rütbesini yükseltmek veya seviyesine ulaşır ve bir dostça birleşme.
  • : her seferinde bir seviye artışımız var dostça birleşme işletilmektedir. Tümevarımla hesaplıyoruz: temel durumda, tam olarak bir köy var . Endüktif durumda, iki şehir dostça bir birleştirme yapın, dolayısıyla endüktif hipotez ile.
  • : önceki kurala göre şehirler üstel bir temel üzerine kurulur dolayısıyla ters .
  • Kilitlenme önleme: Mega-Birleşme herhangi bir çıkmaza neden olmaz. Kural tarafından gösterildiği gibi 3 Bir şehir alt sıradaki bir şehrin birleştirme bağlantısına cevap vermesini bekleyebilir : böyle bir şehirde çıkmaza girmek için beklemek zorunda kalacaktı , ve açık vb. üzerinde bir döngü algılanana kadar beklemek bir birleştirme bağlantısında . Ama hipotezle birleştirme bağlantısı bu nedenle böyle bir zincir olamaz. Diğer kilitlenmeye neden olan durum, -e nerede şundan farklı bir birleştirme bağlantısına sahip . Yine de, monoton dereceyle gösterildiği gibi emmek için rütbesini büyütecek veya grafikteki tek şehir olmak için tüm birleştirme bağlantılarını tüketecek . Önemsiz bir şekilde, böyle bir durumda iki birleştirme bağlantısı çakışır ve kural tarafından emilmeye zorlanacak 2.

Sonlandırma

Fesih, tarafından verildi kilitlenme önleme ve toplam güvenilirlik.

Maliyet

Maliyet analizinin iki bileşeni vardır: aşama maliyeti ve aşama üst sınırı. Bir şehir köylerinden bir birleştirme bağlantısı talep ederek ve istenen duruma göre yukarıdaki kurallardan birini uygulayarak bir aşama gerçekleştirir. Bu aşamayı beş adıma ayırabiliriz:

  1. Birleştirme bağlantısı için yayın isteği ağaçtaki düğümler.
  2. Her düğüm bir ona mesaj komşular ve onların Yanıtlar.
  3. Düğümler daha sonra cevapları şehir yöneticisine geri gönderir. yakınsamak Toplamda mesajlar.
  4. Kök daha sonra bir birleştirme bağlantısına karar verir ve seçilen düğüme bir mesaj gönderir. Önemsiz bir şekilde bu mesajın seyahat etmesi gerekecek düğümler.

Bu beş talep aşaması, dış keşif, iletişim ve teslimatın toplam maliyeti . Boşa giden mesajlara gelince dahili düğümler arasında, her düğüm en fazla iç kenarlar veya Eğer toplamda bir yaprak boşa giden dahili mesajlar.

Şimdi aşamaların sayısı için. Şehir büyüklüğünde, her bir şehir düzeyinde önceden sunulan mülkle vardır dolayısıyla ulaşılabilir en büyük sıra . Şehirler aşama başına yalnızca bir kez birleştirilebildiğinden / emilebildiğinden, toplam toplam mesaj.

Doğruluk

Mega-Merger, alt ağaçları minimum maliyet yolu, yani birleştirme bağlantısı aracılığıyla birleştirerek minimum kapsayan bir ağaç oluşturur. Minimum yayılma ağacının tanımına göre, minimum kapsayan ağaç, minimum maliyetli yollarla birbirine bağlanan bir minimum kapsama ağaçları kümesidir. Yapım gereği Mega-Birleşme, birleştirme bağlantısı yoluyla bir talep iletir ve er ya da geç bu kenar ağacın bir parçası olacaktır. kilitlenme önleme.

Referanslar

  1. ^ Gallager, Robert (1983). "Minimum yayılma ağacı için dağıtılmış bir algoritma" (PDF). Massachusetts Teknoloji Enstitüsü.
  2. ^ Awerbuch, Baruch (1987). "Minimum Ağırlık Kapsayan Ağaç, Sayma, Lider Seçimi ve Diğer Sorunlar için Optimal Dağıtılmış Algoritma" (PDF). Bilgi İşlem Üzerine SIAM Dergisi.