Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Алгоритми на графах. Знаходження найкоротшого шляху

Реферат Алгоритми на графах. Знаходження найкоротшого шляху





d (x)=min {d (x); d (y) + a (y, x)}


Мінімальну довжину має шлях від вершини 1 до вершини 4 d (4)=7. Включаємо вершину №4 в поточне орієнтоване дерево, а так само дугу, провідну в цю вершину. Згідно з виразом це дуга (1,4)

Ми отримали орієнтоване дерево найкоротших шляхів починаються у вершині №1 для вихідного графа.

(1)=1 Довжина маршруту L=0; (2)=1-4-2 Довжина маршруту L=16; (3)=1-4-2-5-6-3 Длінамаршрута L=63; ( 4)=1-4 Довжина маршруту L=7; (5)=1-4-2-5 Довжина маршруту L=25; (6)=1-4-2-5-6Дліна маршруту L=48.


Завдання 2

Дан граф суміжності для знаходження мінімального шляху від вершини 1 до всіх інших


Рис. 4.2. Граф до задачі 2


Уявімо граф, у вигляді матриця довжин дуг


Таблиця 2 Подання графа

X1X2X3X4X5X6x10532 ?? x2? 01 ??? x3 ?? 0 ?? 1x4 ??? 0? 3x5? 2 ?? 0? x6 ???? 10

Стартова вершина, від якої будується дерево найкоротших шляхів - вершина 1.

Задаємо стартові умови: d (1)=0, d (x) =?

Офарблюємо вершину 1, y=1.

Знаходимо найближчу вершину до пофарбованої нами, використовуючи формулу:


d (x)=min {d (x); d (y) + a (y, x)} (2)=min {8} (3)=min {9} (4)=min {2}

d (5)=min {6} (6)=min {5}


Мінімальну довжину має шлях від вершини 1 до вершини 4 d (4)=2. Включаємо вершину №4 в поточне орієнтоване дерево, а так само дугу, провідну в цю вершину. Згідно з виразом це дуга (1,4)

Ми отримали орієнтоване дерево найкоротших шляхів починаються у вершині №1 для вихідного графа.


d (1)=1Дліна маршрутаL=0; (2)=1-4-6-5-2 Довжина маршруту L=8; (3)=1-4-6-5-2-3 Довжина маршруту L =9; (4)=1-4 Довжина маршруту L=2; (5)=1-4-6-5 Довжина маршруту L=6; (6)=1-4-6 Довжина маршруту L=5.


4.3 Побудова математичної моделі алгоритмом Флойда


Мета алгоритму Флойда - визначення найкоротшого шляху між вершинами зваженого графа. Цей алгоритм більш загальний порівняно з алгоритмом Дейкстри, оскільки він знаходить найкоротші шляхи між будь-якими двома вузлами мережі. У цьому алгоритмі мережа представлена ??у вигляді квадратної матриці з n рядками і n стовпцями. Елемент (i, j) дорівнює відстані dij від вузла i до вузла j, яке має кінцеве значення, якщо існує дуга (i, j), і дорівнює нескінченності в іншому випадку.

Постановка завдання: нехай дан непорожній зважений граф G=(V, E) з довільними вагами ребер (дуг). Потрібно знайти довжини найкоротших шляхів між усіма парами вершин графа

Стосовно до прикладної задачі метою розробки програми є - визначення найбільш ефективного маршруту пересилки повідомлень між будь-якими двома районами. Причому алгоритм може вирішувати подібні завдання для різних критеріїв, наприклад, критерієм може бути - пошук найбільш дешевого шляху (кожній дузі ставиться у відповідність грошовий еквівалент, який необхідно затратити при використанні цієї дуги); або пошук найбільш швидкого шляху (в цьому випадку кожній дузі присвоюється час, який буде витрачено при її використанні); можна таким же чином знайти найнадійніший шлях (кожній дузі ставиться у відповідність коефіцієнт ризику передачі повідомлення по цій дузі/шляху).

Подібних завдань може виникнути дуже багато, а мета цих завдань однакова - знаходження найкоротшого шляху з одного стану в інший (щодо графа - знаходження мінімальної відстані між 2-ма вершинами).


4.4 Опис математичного методу алгоритму Флойда


Основна ідея методу Флойда полягає в наступному: нехай є три вузли i, j і k і задані відстані між ними (рис. 4.3.).

Якщо виконується нерівність dij + djk lt; dik, то доцільно замінити шлях i - gt; k шляхом i - gt; j - gt; k.

Така заміна (умовно звана трикутним оператором) виконується систематично в процесі виконання алгоритму Флойда.

Рис. 4.3 Трикутний оператор


Алгоритм Флойда вимагає виконання наступних дій (рис. 4.4.).

Крок 0. Визначаємо початкову матрицю відстані D0 і матрицю послідовності вузлів S0. Діагональні елементи обох матриць позначаються знаком - raquo ;, що показує, що ці елементи в обчисленнях не беруть участь. Вважаємо k:=1.


Рис.4.4 Первісна ситуація


Основний крок k. Задаємо рядок k і стовпець k як провідну рядок і провідний стовпець. Розглядаємо можливість застосування трикутного оператора до всіх елементів dij матриці Dk - 1. Якщо виконується нерівність dik...


Назад | сторінка 10 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка та реалізація алгоритму Флойда і Беллмана-Форда для пошуку найкоро ...
  • Реферат на тему: Пошук найкоротшого шляху між парами вершин в орієнтованому і неориентирован ...
  • Реферат на тему: Знаходження найкоротшого маршруту між двома містами за існуючої мережі дорі ...
  • Реферат на тему: Метод Мінті знаходження найкоротшого шляху
  • Реферат на тему: Пошук вершини в графі між двома заданими вершинами