Mega-birlashma - Mega-Merger

Mega-birlashma bu umumiy va yo'naltirilmagan holda saylovlar muammosini hal qilishga qaratilgan taqsimlangan algoritmdir grafik.[1][2]

Kirish

Mega-Merger Robert Grey Gallager tomonidan ishlab chiqilgan MIT 1983 yilda. Bu tarqatilganga tegishli bo'ling va zabt eting martabaga asoslangan fath strategiyasi bilan aralashtirilgan yondashuv. Algoritm odatda qishloq va shahar o'xshashligi orqali taqdim etiladi. Grafadagi har bir tugun qishloqni bildiradi, ularni birlashtiruvchi qirralar yo'llar va pastki grafadagi ildiz otgan daraxt shahar. Keyinchalik butun grafika mega-shaharga aylanadi. Mega-Merger qishloqlarni bir-birining darajalariga va qirralariga qarab shaharlarni shakllantirish uchun birlashishga majbur qiladi. Keyin shaharlar ittifoqlar orqali yoki fath qilish / singdirish yo'li bilan shakllanadi.

Old shartlar

Mega-Merger quyidagi ulangan grafikalar bo'yicha minimal daraxt daraxtini yaratadi:

  • Jami ishonchlilik: Uzatishda hech qanday xabar yo'qolmaydi.
  • UI (noyob tashabbuskor): Bitta tugun protokolni ishga tushiradi.
  • Ikki yo'nalishli aloqa kanallari: Har bir chekka ikki tomonlama, aloqa ikkala yo'nalishda ham harakatlanishi mumkin.

Boshqa cheklovlar kerak emas.

Algoritm

Algoritm har bir qishloqqa ism va martabani tayinlaydi, birinchisi odatda noyobdir. Ikkinchisida shahar o'tgan do'stona birlashmalar soni va u qanchalik katta bo'lsa, shahar shunchalik qudratli hisoblanadi. Bundan tashqari, har bir chekkaga og'irlik beriladi: har bir qishloq / shahar minimal vaznli chekkaga ega ham chaqirdi birlashtirish havolasi, bu eng past narxga ega bo'lgan chekka.

Algoritm ketma-ket bosqichlarda mega shahar shakllanmaguncha davom etadi. Har bir S shahri birlashish havolasini o'zi hisoblab chiqadi va birlashish uchun so'rov yuboradi . So'rov ko'rib chiqiladi quyidagi yo'llar bilan:

  1. Do'stona birlashma: : Agar shaharlar birlashish havolasini bir xil bo'lsa va bir xil darajaga ega bo'lsa, a do'stona birlashma sodir bo'ladi va ikkita shahar birlashib ketadi. Yangi tashkil etilgan shahar uchun yangi nom tanlanadi, hukmron qishloq tanlanadi va avvalgi hukmdordan birlashish havolasidagi tugunga yo'l qayta yo'naltiriladi, shunda u yangi rahbarga olib boradi. Yangi shahar ham o'z darajasini bittaga oshirdi. E'tibor bering, bu ikkita shahar bir-birini martabasini oshirishning yagona usuli.
  2. Yutish: Agar so'rovchi shahar past darajaga ega bo'lsa, qabul qiluvchi shahar an singdirish jarayon: do'stona birlashma singari singib ketadi, ammo nomini yo'qotadi va natijada paydo bo'lgan shahar darajasiga ega bo'ladi .
  3. To'xtatish: : Bunday hollarda so'rovni muzlatib qo'yadi: yoki qoida bo'yicha o'zlashtirilishini kutadi 2 yoki birlashib, o'z darajasini yuqoridagi darajadan yuqoriga ko'tarish qoidani qabul qilish imkoniyatiga ega bo'lish uchun 1 va singdirish .

Tashqi xabarlar

Grafikdagi biron bir tugunda o'z qishloqlariga tegishli qishloqlar ro'yxati mavjud emas, shuning uchun har safar shahar tashqaridan chiqadigan chekkalarni qidirmoqchi bo'lsa, u savol-javob protokol. Shahar hokimi o'z daraxtlari va har bir tugun orqali translyatsiya xabarini yuboradi uni olish qo'shnilariga so'rovlar yuboradi, chekkalari bundan mustasno, uning bolasi (bolalari) va ota-onasi. Javob protokoli quyidagicha:

  • : aniq chekka ichki chekka . va salbiy javoblarni almashish.
  • : yuqori darajadagi shaharga murojaat qilmoqda. Qoida bo'yicha 2 singdirish sodir bo'lmaydi, deb ta'kidlashimiz mumkin va haqiqatan ham boshqa shaharga tegishli.
  • : Ushbu holatda javobni qoida bo'yicha kechiktiradi 3.

Xususiyatlari

Mega-Merger bir nechta xususiyatlarga ega:

  • Monotonik daraja: Har bir shahar , mega shahar bundan mustasno, oxir-oqibat mavqei ko'tariladi. Qoida bo'yicha 1 o'z darajasini ko'tarib, do'stona birlashishi mumkin edi ; qoida bo'yicha 2 va 3 birlashma havolasiga ega bo'ladi (gipoteza bo'yicha) mega-shahar emas) u ham yuqori martabali shaharni so'raydi , singib ketish va o'z martabasini oshirish yoki kutguncha darajasiga etadi va ishlaydi a do'stona birlashma.
  • : biz har safar darajani oshiramiz a do'stona birlashma operatsiya qilinadi. Biz induksiya bo'yicha hisoblaymiz: asosiy holatda, , aynan bitta qishloq joylashgan . Induktiv ish bo'yicha ikkita shahar do'stona birlashishni boshqaring, shuning uchun induktiv gipoteza bo'yicha.
  • : avvalgi qoida bo'yicha shaharlar eksponent asosda qurilgan , shuning uchun teskari .
  • Muammoning oldini olish: Mega-Merger hech qanday to'siqlarga duch kelmaydi. Qoidalar ko'rsatilgandek 3 shahar birlashish havolasida quyi darajadagi shahar javob berishini kutishi mumkin : shunday shaharni boshi berk ko'chaga olib kelish uchun kutish kerak edi va kuni va shunga o'xshash tsikl aniqlangunga qadar kutish birlashma havolasida . Ammo gipoteza bo'yicha ning birlashma havolasi , shuning uchun bunday zanjir mavjud bo'lishi mumkin emas. Boshqa to'siqlarni keltirib chiqaradigan vaziyat - bu so'rov ga qayerda dan boshqa birlashma havolasiga ega . Hali ham monotonik daraja ko'rsatilgandek singdirish uchun o'z martabasini oshiradi , yoki grafadagi yagona shahar bo'lish uchun barcha birlashma havolalarini sarf qiladi . Bunday holda, ikkita birlashma havolalari bir-biriga to'g'ri keladi va qoida bo'yicha singdirishga majbur bo'lar edi 2.

Tugatish

Tugatish tomonidan beriladi tiqilib qolishning oldini olish va to'liq ishonchlilik.

Narxi

Xarajatlarni tahlil qilish ikkita tarkibiy qismdan iborat: sahna narxi va yuqori chegaralar. Shahar o'z qishloqlaridan birlashma havolasini so'rab va kerakli vaziyatga ko'ra yuqoridagi qoidalardan birini qo'llash orqali bosqichni amalga oshiradi. Ushbu bosqichni besh bosqichga bo'lishimiz mumkin:

  1. Ga ulanish uchun havola orqali so'rov daraxtdagi tugunlar.
  2. Har bir tugun oldinga unga xabar qo'shnilar va ularni kutadi javoblar.
  3. Keyin tugunlar javoblarni shahar hokimiga qaytarib yuboradi konvertatsiya jami uchun xabarlar.
  4. Keyin ildiz birlashma havolasi to'g'risida qaror qabul qiladi va tanlangan tugunga xabar yuboradi. Ushbu xabarni sayohat qilish kerak tugunlar.

So'rovning beshta bosqichi, tashqaridan topish, aloqa va etkazib berish umumiy narxga ega . Ichida isrof qilingan xabarlarga kelsak ichki tugunlar orasidagi har bir tugun eng ko'pi bor ichki qirralar yoki agar jami barg isrof qilingan ichki xabarlar.

Endi bosqichlar soni uchun. Shaharlarning kattaligi bo'yicha har bir darajadagi shahar bo'yicha ilgari taqdim etilgan mulk bor , shuning uchun erishish mumkin bo'lgan eng katta daraja . Shaharlar bir bosqichda faqat bir marta birlashishi / singib ketishi mumkinligi sababli, bizda jami jami xabarlar.

To'g'ri

Mega-Merger sub-daraxtlarni minimal xarajatlar yo'li, ya'ni birlashma havolasi orqali birlashtirib, minimal daraxt daraxtini yaratadi. Minimal uzunlikdagi daraxtning ta'rifiga ko'ra, minimal daraxt daraxti - bu minimal xarajat yo'llari bilan bog'langan minimal daraxtlar to'plamidir. Mega-Merger qurilishi bilan so'rovni birlashma havolasi orqali yuboradi va ertami-kechmi bu chekka daraxtning bir qismiga aylanadi. tiqilib qolishning oldini olish.

Adabiyotlar

  1. ^ Gallager, Robert (1983). "Minimal uzunlikdagi daraxt uchun taqsimlangan algoritm" (PDF). Massachusets texnologiya instituti.
  2. ^ Averbuch, Barux (1987). "Minimal og'irlikdagi daraxtlarni hisoblash, hisoblash, etakchini saylash va boshqa muammolar uchun optimal taqsimlangan algoritm" (PDF). Hisoblash bo'yicha SIAM jurnali.