|
|||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм ДейкстриВ основу алгоритму Дейкстри покладено метод «найшвидшого спуску», що дає можливість на основі переліку вузлів мережі, взаємозв’язку між ними і довжини каналів зв’язку віднайти найкоротші шляхи від джерела інформації до всіх інших вузлів. Розглянемо роботу алгоритму на прикладі мережі, зображеної на рис. 8.4.
Рис. 8.4. Приклад мережі передачі даних
Побудова найкоротших шляхів здійснюється поетапно: починаючи з вузла А1 і до всіх інших вузлів. Процес є ітераційним і закінчується після того, як охоплено останній вузол мережі. На першому етапі обчислюються довжини (D1,i) всіх шляхів, що ведуть з першої вершини до решти вершин, пов’язаних з нею (у нашому випадку це множина вершин А ={ А2, А3, А5 }), для яких довжини шляхів збігаються з довжинами дуг: L1,2 =2; L1,3 = 1;
Таблиця 8.1. Таблиця маршрутів алгоритму Дейкстри
З-поміж доступних шляхів вибирається мінімальний (у нашому прикладі це шлях з першої вершини у третю (D1,3)). Далі обчислюються шляхи, що ведуть з вершини А1 у всі вершини, суміжні з вершиною А3. Це здійснюється додаванням до значення шляху (D1,3) довжини відповідної дуги. Одержані значення шляхів вносяться у таблицю маршрутів. Якщо в якусь із вершин шлях уже раніше визначався, то фіксується мінімальне значення шляху. Так, наприклад, після першого кроку довжина шляху D1,5 = L1,5 = 4, а після другого кроку формується нове значення шляху D1,5, (L1,3 + L3,5) = 3, яке і вноситься у таблицю маршрутів. Загалом, правило відновлення маршрутів визначається умовою згідно з Dj,i =(min[ Dj,i, Dj,k + Lk,і ]), де Dj,i — довжина маршруту з вихідної вершини у розрахункову; Dj,k — довжина шляху з вихідної вершини у поточну; а Lk,i — довжина дуги між поточною і розрахунковою вершинами. Унаслідок третього кроку ітерації формується новий маршрут D1,6. На наступних етапах ітерації здійснюється подальше коригування маршрутів доти, поки не будуть розглянуті всі вершини графа зв’язків. Аналогічно обчислюються маршрути і для інших вузлів мережі передачі даних. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |