Ikki diffuz yangilash algoritmi

Anonim

Ushbu maqolani o'qishni boshlashdan oldin, biz sizga qo'ng'iroqmanga ko'ra yo'lni hisoblash haqida ma'lumot bilan tanishishingizni maslahat beramiz.

Dispuziya yangilanish algoritmi (diffuziv yangilash algoritmi) bu dastlab tarqatilgan tarmoqqa joriy etish uchun mo'ljallangan ikkita algoritmlardan biridir. Bu noyobdir, shuningdek, algoritmning final avtomatida mavjud bo'lgan topologiya haqida ma'lumotni olib tashlaydi. Bu erda muhokama qilingan boshqa algoritmlar ma'lumotni olib tashlashni protokolni amalga oshirishning ixtiyorida qoldiradi va algoritmning algoritmidagi algoritmning ushbu tomonini hisobga olmang.

1993 yilga kelib, Belman-Ford va Dijkstrra bir nechta yo'nalishda tarqatiladigan protokollar tarqatilgan algoritmlar sifatida joriy etildi. Ushbu erta amalga oshirish va joylashtirish natijasida olingan tajriba "Ikkinchi to'lqin" ni boshqarish va aks ettirish muammosi bo'yicha "ikkinchi to'lqin" ga olib keldi, bu yo'l vektorining ko'rinishi va ikki tomonlama ko'rinishga olib keldi.

Ikki tomonlama tarqatilgan algoritm sifatida ishlab chiqilgandan beri tarmoqdagi ishini tasvirlash yaxshidir. Buning uchun 8 va 9-rasmlar ishlatiladi. Ikkilamchi tushuntirish uchun, bu misol uchta yo'nalish bo'yicha kuzatiladi, so'ngra bir xil manzil uchun mavjudlik holatida o'zgaradi. Birinchi misolda, ish muqobil yo'l mavjud bo'lganda ko'rib chiqiladi, ammo erternativ yo'l va quyi yaqin qo'shni bo'lsa, ishni ko'rib chiqadi.

8-rasmda D:

  1. A ning ikkita usulini o'rganadi:
Ikki diffuz yangilash algoritmi 21025_1
  1. A orqali yo'lni tanlamaydi, chunki b uning vorisi sifatida ishlaydi:
  2. Mavjud yo'llarni taqqoslaydi va eng qisqa yo'lni pastadir
  3. Qolgan yo'llarni cheklash uchun ulardan birortasi quyidagi bir nechta qo'shnilar borligini aniqlash:

Bu buni biladi, chunki C uchun mahalliy metrik bilan 3 ga teng.

Uning topologiyasi jadvalida mahalliy metrikikni saqlaydi.

Binobarin, C va A ning mahalliy qiymatini biladi

  1. 3 (C) = 3 (a) (A), shuning uchun C yo'nalishi halqa bo'lishi mumkin, shuning uchun C texnik-iqtisodiy asosini qondirmaydi. C quyi qismlarga aylantirilmaydi.

Ikkilamchi qo'shnilar ikki tomonlama vorislar deb ataladi. Aytaylik, kanal [A, H] ishlamaydi. Dual davriy yangilanishlarga ishonmaydi, shuning uchun boshqa yangilanishni ishonchli ma'lumotlar bilan kutmaydi. Aksincha, bir alternativ yo'lni faol ravishda kuzatishi kerak. Shunday qilib, bu alternativ yo'lning tarqalishni aniqlash jarayoni. Agar kanal [A, H] ishlamasa, faqat D:

  1. Xorijiy vorislar uchun mahalliy stolingizni tekshiring (quyi o'rtog'ingiz).
  2. Xo'sh, vorislar yo'q, shuning uchun d ga alternativ yo'lni topish kerak (agar u mavjud bo'lsa).
  3. Bir qo'shni-ni aniqlash uchun har bir qo'shniga so'rov yuboradi.
  4. C da:
  5. B:
  6. Bu javoblarni oladi:

9-rasmda belgilangan manzil (d) element H dan E. gacha ko'chirildi. Bu ikkinchi misolda qo'llaniladi.

Ushbu misolda, voris (quyi oqim) mavjud.

Tadqiqot D:

  1. A ning ikkita usulini o'rganadi:
  2. A b orqali hech qanday yo'lni tanimaydi:
  3. Mavjud yo'llarni taqqoslaydi va eng qisqa yo'lni pastadir
  4. Qolgan yo'llarni cheklash uchun ulardan birortasi quyidagi bir nechta qo'shnilar borligini aniqlash:

Agar kanal [A, C] ishlamasa, shunchaki ani hisobga olgan holda:

  1. Ehtimol, vorisi uchun mahalliy topologiya jadvali.
  2. Mumkin bo'lgan vorisi H. orqali mavjud
  3. Uning mahalliy stolini eng yaxshi usul deb biladi.
  4. Qo'shni qo'shnilariga yangilash, uning yutug'ining narxi 3 dan 4 gacha o'zgarganini bildiradi.

Ko'rinib turibdiki, vorisi, vorisi, usiz qaraganda tezroq va osonroq ishlov berish. Marshrutlashtirish protokoli bo'lgan tarmoqlarda (xususan, EVGRP) foydalanib, asosiy dizayn maqsadlaridan biri, asosiy voris yo'qligida hosil bo'lgan har qanday talablarning hajmini cheklaydi. So'rov maydoni - bu ikki juft algoritm qanchalik tez tugallanganligi va shuning uchun tarmoq qanchalik tezkorligini aniqlash.

10-rasmda asosiy tugallangan ikki tomonlama mashina ko'rsatilgan.

Yo'nalishga kiritilgan narsalar yomonlashadi (yo'lning buzilishi) bo'lishi mumkin:

  • Ulangan kanal yoki qo'shnining muvaffaqiyatsizligi
  • Yuqori metrik bir marshrut uchun yangilanish
  • Hozirgi vorisdan so'rov olish
  • Qo'shnidan yangi yo'l olish
  • Yangi qo'shni topildi, shuningdek, u olishi mumkin bo'lgan yo'nalishlar topildi
  • Maydon yomonlashganda, qo'shnilarga yuborilgan barcha so'rovlarni olish
Ikki diffuz yangilash algoritmi 21025_2

Ko'proq o'qing