Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Strukturi_danikh_ta_algoritmi_-_konspekt_lektsi...doc
Скачиваний:
33
Добавлен:
23.11.2019
Размер:
870.4 Кб
Скачать

5.4.1.Застосування максимальних потоків

Обчислення максимального потоку використовуються в багатьох програмах. Хоча для багатьох мереж може бути важливо знати максимальний потік, цей метод часто використовується для отримання результатів, які на перший погляд мають віддалене відношення до пропускної спроможності мережі.

5.4.1.1.Непересічні шляхи

Великі мережі зв’язку повинні бути надмірними. Для заданої мережі може бути потрібно знайти число непересічних шляхів з джерела до стоку. При цьому, якщо між двома вузлами мережі є множина непересічних шляхів, усі зв’язки в яких різні, то з’єднання між цими вузлами залишиться, навіть якщо декілька зв’язків в мережі буде розірвано.

Можна визначити кількість різних шляхів, використовуючи метод обчислення максимального потоку. Для цього створюють мережу з вузлами і зв’язками, які відповідають вузлам і зв’язкам в комунікаційній мережі. Присвоюють кожному зв’язку одиничну пропускну спроможність.

Потім обчислюють максимальний потік в мережі. Максимальний потік буде рівний кількості різних шляхів від джерела до стоку. Оскільки кожний зв’язок може нести одиничний потік, то жоден з шляхів, використаних при обчисленні максимального потоку, не може мати загальних зв’язків.

При більш строгому визначенні надмірності можна зажадати, щоб різні шляхи не мали ні спільних зв’язків, ні спільних вузлів. Трохи змінивши попередню мережу, можна використовувати обчислення максимального потоку для вирішення і цієї задачі. Для цього розділяють кожний вузол за винятком джерела і стоку на два вузли, які сполучені зв’язком одиничної пропускної спроможності. З’єднують перший з отриманих вузлів зі всіма зв’язками, що входять в початковий вузол. Усі зв’язки, що виходять з початкового вузла, приєднують до другого отриманому після розбиття вузла. Потім шукають максимальний потік для цієї мережі.

Якщо шлях, використаний для обчислення максимального потоку, проходить через вузол, то він може використовувати зв’язок, який сполучає два вузли, що утворились після розбиття. Оскільки цей зв’язок має одиничну пропускну спроможність, ніякі два шляхи, отримані при обчисленні максимального потоку, не можуть пройти через цей зв’язок між вузлами, тому в початковій мережі ніякі два шляхи не можуть використовувати один і той же вузол.

5.4.1.2.Розподіл робіт

Нехай є група співробітників, кожний з яких володіє певними навиками. Нехай, також, існує ряд завдань, які вимагають залучення співробітника, який володіє заданим набором навиків. Задача розподілу робіт полягає в тому, щоб розподілити роботу між співробітниками так, щоб кожне завдання виконував співробітник, який має відповідні навики.

Щоб звести цю задачу до обчислення максимального потоку, створюють мережу з двома стовпцями вузлів. Кожний вузол в лівому стовпці представляє одного співробітника. Кожний вузол в правому стовпці представляє одне завдання.

Потім порівнюють навики кожного співробітника з навиками, необхідними для виконання кожного із завдань. Створюють зв’язок між кожним співробітником і кожним завданням, яке він здатний виконати, і присвоюють усім зв’язкам одиничну пропускну спроможність.

Створюють вузол–джерело і з’єднують його з кожним із співробітників зв’язком одиничної пропускної спроможності. Потім створюють вузол–стік і з’єднують з ним кожне завдання, знову за допомогою зв’язків з одиничною пропускною спроможністю.

Тепер потрібно знайти максимальний потік з джерела в стік. Кожна одиниця потоку повинна пройти через один вузол співробітника і один вузол завдання. Цей потік представляє розподіл роботи для цього співробітника.

Якщо співробітники мають відповідні навики для виконання всіх завдань, то обчислення максимального потоку розподілять їх усіх. Якщо неможливо виконати всі завдання, то в процесі обчислення максимального потоку робота буде розподілена так, щоб було виконано максимально можлива кількість завдань.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]