Чому важливі спрямовані графіки?


18

Ми читали про алгоритми для MST, сильної сполученості, маршрутизації тощо у спрямованих графіках.

Також нещодавно люди проводили дослідження щодо динамічних алгоритмів, спрямованих на несправності для спрямованих графіків.

Але мені було цікаво, чи є якісь практичні програми, де підкреслена графічна мережа "Направлена". Окрім соціальних мереж, усі проблеми, які я міг би думати, як залізнична / дорожня мережа, Інтернет-мережа тощо, стосуються лише непрямих графіків.

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


6
Два з найвідоміших класів спрямованих графіків у всій інформатиці - це дерево та DAG (Directed Acyclic Graph). Дерево використовується в багатьох речах (наприклад, сімейні дерева, ієрархії); DAG може робити і більш складні версії таких. DAGs використовуються по суті, коли у вас є набір сутностей, які залежать один від одного. Коли у вашої проблеми є компонент "час" або "крок за кроком", спрямованість представляє той невблаганний марш прогресу. Ви бачите DAG в таких речах, як діаграми блок-схеми, програмне забезпечення для управління пакетами та форми SSA проміжного представлення компіляторів.
Iwillnotexist Idonotexist

2
Гаразд, яке ваше власне питання? Ви хочете знати, чому важливі спрямовані графіки або чому важлива толерантність відмов у спрямованих графіках? Це два абсолютно окремих питання.
Девід Річербі

2
Ваші приклади, хоча фізично «непрямі» в реалізації, все ще часто спрямовують графіки, що логічно діють над ними. Наприклад, поїзди не їдуть двобічно - вони ходять в одну або іншу сторону за розкладом. Скажімо, ніхто не планує поїзди, а лише розкладає пасажирів. Тоді цю людину цікавить спрямований графік, незважаючи на довільний факт, що поїзди теоретично можуть їздити будь-яким шляхом по залізниці.
Даррен Рінгер

5
chyle: Мережі можуть, безумовно, отримати вигоду з того, що вони представлені спрямованим графіком. Більшість побутових підключень до Інтернету несиметричні. Верхній та низхідний зв'язки можуть мати абсолютно різні властивості (пропускна здатність, затримка, втрата пакету тощо)
Олександр - Відновити Моніку

1
Я не знаю про всіх інших, але моє генеалогічне дерево - це диграф. Я не батько своєї матері.

Відповіді:


36

Нагадуючи, що спрямований графік - це графік, де краї мають з ними пов'язаний напрямок.

Використовуючи спрямований графік, ви можете зобразити асиметричні відносини між вузлами, тоді як у ненаправленому графіку ми можемо представляти лише симетричні відношення.

Практично, використовуючи спрямований графік, ви можете зобразити:

  • Дорожні мережі (використовуючи спрямований графік, можна зобразити напрямок вулиць);
  • гіперпосилання, що з'єднують веб-сторінки ;
  • залежності в програмних модулях ;
  • відносини здобич-хижак ;
  • детермінований кінцевий автомат .

Окрім цих класичних прикладів, ви можете зобразити багато інших реальних сценаріїв (фінансова торгівля, графік, інфекційні захворювання, цитування, контрольний потік тощо), які потребують впорядкованих відносин [1] .


4
Чудова відповідь. Я думаю, що ОП забуває, що коли у вас є вулиця, ви насправді маєте дві вулиці (по одній для кожного напрямку, як правило, ідеально паралельні). Вони можуть бути представлені як простий графік, але спрямовані графіки додають істотну інформацію до моделі.
ecc

Мені це подобається, і я помічаю, що у цій відповіді обережно говорити про пов’язані гіперпосиланнями веб-сторінки - що виключає використання функції Назад. ;-)
SDsolar

Щоб помістити коментар @ ecc у просторічному, у вас є два вузли, з'єднані двома ребрами. Кожен край спрямований протилежно іншому. Він часто спостерігається на детермінованих діаграмах стану. Для вулиць це зменшиться до одного краю, будь то напрямлене (в одну сторону) чи непряме.
SDsolar

4
@ecc також, звідки я родом (Каліфорнія), у нас є вулиці в одну сторону
k_g

5

Спрямовані графіки дійсно існують. Як зазначено в коментарях, зокрема, спрямовані ациклічні графіки (DAG), зокрема, є надзвичайно корисними для багатьох обчислювальних завдань, таких як складання коду.

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


3

Початки топологічного сортування (фундаментальна операція на спрямованих ациклічних графіках) лежать у мережах залежностей в управлінні проектами, зокрема методі PERT . Кан і Лассер цитують PERT у своїх документах і базують на цьому свої приклади, наприклад

Мережу PERT з 30000 заходів можна замовити за менш ніж одну годину машинного часу.

Планування завдань в Інтернеті все ще виконується з таким типом мережі; наприклад, система ETL планує виконання завдань лише після виконання завдань, що забезпечують їх вхідні дані.


2

Відповідь: З ОП я роблю висновок, що питання насправді пов’язане з ЦПР (підписані графіки). Тож ось моя відповідь, яка стосується основних орієнтованих графіків, а потім веде до SDG.

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

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

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

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

Ось посилання на хорошу книгу на цю тему під назвою Виявлення та діагностика несправностей в промислових системах (стор. 224), де описано переваги діагностики на основі ЦПВ:

https://books.google.com/books?id=KFLlBwAAQBAJ&pg=PA224

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.