Шляхова ширина графа

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Ширина шляху графа)
Перейти до навігації Перейти до пошуку

У теорії графів шляхова декомпозиція графа G — це, неформально, подання графа G у вигляді «потовщеного» шляху[1], а шляхова ширина графа G — це число, що вимірює, наскільки граф G був потовщений. Формальніше, шляхова декомпозиція — це послідовності вершин підмножини графа G, такі, що кінцеві вершини кожного ребра з'являються в одній з підмножин і кожна вершина належить (хоча б) одній множині[2], а шляхова ширина на одиницю менша від розміру найбільшої множини в цій декомпозиції. Шляхова ширина відома також як інтервальна товщина (на одиницю менше від розміру найбільшої кліки інтервального суперграфа графа G), величина вершинного розділення, чи вершинно-пошукове число[3][4].

Шляхова ширина і шляхова декомпозиція є тісною аналогією з деревною шириною і деревною декомпозицією. Вони відіграють ключову роль у теорії мінорів графа — сімейства графів, які замкнуті відносно мінорів графа і не включають усі дерева, можна схарактеризувати як такі, що мають обмежену шляхову ширину[2], і «вихори», що виникають у загальній структурній теорії сімейств графів, замкнутих за мінором, мають обмежену шляхову ширину[5]. Шляхова ширина і графи з обмеженою шляховою шириною застосовуються в розробці НВІС, візуалізації графів та комп'ютерній лінгвістиці.

Задача знаходження шляхової ширини довільних графів є NP-складною. Більше того, NP-складною є навіть задача апроксимації шляхової ширини точно[6][7]. Однак ця задача є фіксовано-параметрично розв'язною — перевірку, чи має граф шляхову ширину k, можна здійснити за час, який лінійно залежить від розміру графа, але суперекспоненціально від k. Крім того, для деяких особливих класів графів, таких як дерева, шляхову ширину можна обчислити за поліноміальний час, не залежний від k[8][9]. Багато задач теорії графів можна ефективно розв'язати на графах з обмеженою шляховою шириною за допомогою динамічного програмування на шляховій декомпозиції графа[10]. Деревну декомпозицію можна також використовувати для оцінювання ємнісної складності алгоритмів динамічного програмування на графах з обмеженою деревною шириною[11].

Визначення

[ред. | ред. код]
Приклад графа G з шляховою шириною 2 і його шляхова декомпозиція ширини 2. У нижній частині рисунка наведено той самий граф і шляхова декомпозиція з доданими кольорами для виразності. (Цей приклад узято з книги Бодлендера[12], і додано кольори)

У першій відомій серії статей про мінори графа Робертсон і Сеймур[2] визначили шляхову декомпозицію графа G як послідовність підмножин Xi вершин графа G з двома властивостями:

  1. Для кожного ребра G існує i, таке, що обидві кінцеві точки ребра належать підмножині Xi.
  2. Для будь-яких трьох індексів ijk, XiXkXj.

Друга з цих двох властивостей еквівалентна вимозі, що підмножини, які містять будь-яку вершину, утворюють неперервну підпослідовність усієї послідовності. Мовою пізнішої серії робіт Робертсона і Сеймура про мінори графа, шляхова декомпозиція — це деревна декомпозиція (X,T), в якій дерево T декомпозиції, що лежить нижче, є шляхом.

Ширина шляхової декомпозиції визначається так само, як і для деревної декомпозиції, як maxi |Xi| − 1, а шляхова ширина графа G дорівнює мінімальній ширині всіх шляхових декомпозицій графа G. Віднімання одиниці від розміру Xi в цьому визначенні мало впливає на більшість застосувань шляхової ширини, але зате робить шляхову ширину шляху рівною одиниці.

Альтернативні описи

[ред. | ред. код]

Як пише Бодлендер[3] шляхову ширину можна описати багатьма еквівалентними способами.

Склеювання послідовностей

[ред. | ред. код]

Деревну декомпозицію можна описати як послідовність графів Gi, які склеєні шляхом ототожнення пар вершин у сусідніх графах послідовності, і результатом цього склеювання є граф G. Як графи Gi можна взяти породжені підграфи множин Xi у першому визначенні шляхової декомпозиції, зі склеюванням вершин у сусідніх породжених підграфах, якщо ці вершини породжені тією ж самою вершиною з G. З іншого боку можна відновити Xi як множини вершин графів Gi. Ширина деревної декомпозиції тоді на одиницю менша від максимального числа вершин в одному з графів Gi[2].

Інтервальна товщина

[ред. | ред. код]
Інтервальний граф з шляховою шириною два, на одиницю меншою від числа чотирьох максимальних клік ABC, ACD, CDE и CDF.

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

З одного боку, припустимо, що деревна декомпозиція графа G задана. Тоді можна уявити вершини декомпозиції як точки на прямій (в тому порядку, в якому вони входять до шляху) і подати кожну вершину v як замкнутий інтервал, для якого ці точки є кінцевими. Наприклад, нехай (X1, …, Xr) — шляхова декомпозиція графа G, точки на прямій — [1, …, r], тоді подання вершини v — це інтервал . Тоді деревна декомпозиція вершин, що містять v, відповідає кінцевим точкам інтервалу для v. Граф перетинів інтервалів, утворений з вершин G, — це інтервальний граф, що містить G як підграф. Його максимальні кліки задаються множиною інтервалів, що містять точки представлення, і їх розмір найбільшої кліки на одиницю більший від шляхової ширини графа G.

З іншого боку, якщо G — підграф інтервального графа з кліковим числом p+1, то граф G має деревну декомпозицію ширини p, вершини якої задані максимальними кліками інтервального графа. Наприклад, інтервальний граф, показаний з його інтервальним поданням на рисунку, має деревну декомпозицію з п'ятьма вершинами, відповідними п'ятьом максимальним клікам ABC, ACD, CDE, CDF та FG. Розмір максимальної кліки дорівнює трьом, а ширина цієї деревної декомпозиції дорівнює двом.

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

Величина вершинного поділу

[ред. | ред. код]

Припустимо, що вершини графа G лінійно впорядковані. Тоді величина вершинного поділу графа G — це найменше число s, таке, що для кожної вершини v максимум s вершин передують v в упорядкуванні, які мають v або одну з наступних за нею вершин в околі. Величина вершинного поділу графа G — це мінімальна величина вершинного поділу будь-якого лінійного впорядкування графа G. Величину вершинного поділу ввели Елліс, Садбороу та Тернер[14], і вона дорівнює шляховій ширині графа G[15][16]. Це випливає з раніше згаданої еквівалентності інтервальних графів і клікових чисел — якщо G є підграфом інтервального графа I, поданого (як на рисунку) так, що всі кінці інтервалів різні, то порядок лівих кінців інтервалів графа I мають величину вершинного поділу на одиницю меншу за клікове число графа I. З іншого боку, з лінійного впорядкування графа G можна отримати інтервальне подання, в якому ліва кінцева точка інтервалу для вершини v є позицією в упорядкуванні, а права кінцева точка є позицією сусіда v, який в упорядкуванні останній.

Вершинно-пошукове число

[ред. | ред. код]

Гра «пошук вершини» на графі — це вид гри переслідування-ухилення, в якій множина переслідувачів спільно намагаються вистежити втікача, який сховався в графі. Переслідувачі розміщуються у вершинах графа, тоді як утікач може перебувати на будь-якому ребрі графа, його місце розташування і ходи переслідувачам не помітні. Під час чергового ходу деякі (або всі) переслідувачі можуть перейти (довільним чином, не обов'язково уздовж ребер) з однієї вершини в іншу, а втікач рухається потім уздовж будь-якого шляху на графі, але не може проходити через зайняті переслідувачами вершини. Втікач спійманий, коли обидва кінці дуги, на якій він перебуває, зайняті переслідувачами. Вершинно-пошукове число графа — це найменше число переслідувачів, необхідних для гарантованого впіймання втікача незалежно від його поведінки. Як показали Кіроузіс і Пападімітріу[17], вершинно-пошукове число графа дорівнює його інтервальній товщині. Оптимальною стратегією для переслідувачів є ходи, в яких переслідувачі послідовно утворюють розділювальні множини лінійного впорядкування з мінімальною величиною вершинного поділу.

Граф-гусениця, максимальний граф з шляховою шириною один.

Будь-який граф з n вершинами і шляховою шириною k має максимум k(nk + (k − 1)/2)) ребер, і максимальні графи з шляховою шириною k (графи, до яких не можна додати ребро без збільшення шляхової ширини) мають точно таке число ребер. Максимальний граф з шляховою шириною k повинен бути або k-шляхом, або k-гусеницею, тобто одного з двох особливих видів k-дерева. k-дерево — це хордальный граф з точно nk максимальними кліками, кожна з яких містить k + 1 вершину. В k-дереві, яке саме не є (k + 1)-клікою, кожна максимальна кліка або ділить граф на дві або більше компоненти, або містить одиничну листову вершину, вершину, яка належить тільки одній максимальній кліці. k-шлях — це k-дерево з максимум двома листками, а k-гусениця — це k-дерево, яке можна поділити на k-шлях і множину k-листків, кожен з яких суміжний з сепаратором k-кліки k-шляху. Зокрема, максимальні графи шляхової ширини одиниця — це точно графи-гусениці[18].

Оскільки шляхові декомпозиції є особливими випадками деревних декомпозицій, шляхова ширина будь-якого графа більша або дорівнює його деревній ширині. Шляхова ширина також менша або дорівнює ширині розрізу, мінімального числа ребер, які перетинають будь-який перетин між вершинами з меншим індексом і великим індексом в оптимальному лінійному впорядкуванні вершин графа. Це випливає з факту, що величина вершинного поділу, число вершин з меншим індексом з сусідами, що мають більший індекс, не більша від числа розрізаючих ребер[19][20]. З цієї ж причини ширина розрізу не перевищує шляхової ширини, помноженої на максимальний степінь вершин у даному графі[21][22].

Будь-який ліс з n вершинами має шляхову ширину O(log n)[23][24][25]. Для лісу можна завжди знайти стале число вершин, видалення яких приводить до лісу, який можна розбити на два менших ліси з максимум 2n/3 вершин у кожному з цих лісів. Лінійне впорядкування, утворене рекурсивним застосуванням такого розбиття, має логарифмічне пошукове число для вершин. Та сама техніка, застосована до деревної декомпозиції графа, показує, що якщо деревна ширина графа G з n вершинами дорівнює t, то шляхова ширина графа G дорівнює O(t log n)[26][27]. Оскільки зовніпланарні графи, паралельно-послідовні графи та графи Халіна всі мають обмежену деревну ширину, всі вони мають максимум логарифмічну шляхову ширину.

Крім того, що шляхова ширина пов'язана з деревною шириною, вона пов'язана з кліковою шириною і шириною розрізу через реберні графи. Реберний граф L(G) графа G має вершину для кожного ребра графа G і дві вершини в L(G) суміжні, якщо відповідні два ребра G мають спільні кінцеві точки. Будь-яке сімейство графів має обмежену шляхову ширину тоді й лише тоді, коли його реберні графи мають обмежену лінійну клікову ширину, де лінійна клікова ширина замінює операцію об'єднання у визначенні клікової ширини на операцію приєднання окремої нової вершини[28]. Якщо зв'язний граф з трьома або більше вершинами має максимальний степінь 3, його ширина розрізу дорівнює величині вершинного поділу його реберного графа[29].

В будь-якому планарному графі шляхова ширина в гіршому випадку пропорційна квадратному кореню від кількості вершин[30]. Один зі способів пошуку шляхової декомпозиції з такою шириною — (подібно до шляхової декомпозиції з логарифмічною деревною шириною, описаної вище) використовувати теорему про планарне розбиття, щоб знайти множини з O(√n) вершин, видалення яких розбиває граф на два підграфи з максимум 2n/3 вершинами в кожному, і з'єднати рекурсивно побудовані для цих двох підграфів шляхові декомпозиції. Цю ж техніку можна застосувати до будь-якого класу графів, для яких виконується подібна теорема про розбиття[31]. Оскільки будь-яке сімейство графів, замкнуте щодо взяття мінорів, як і в разі планарних графів, має розбивальну множину вершин розміру O(√n)[32], звідси випливає, що шляхова ширина графів у будь-якому фіксованому замкнутому відносно мінорів сімействі знову дорівнює O(√n). Для деяких класів планарних графів шляхова ширина графа і шляхова ширина його двоїстого графа повинні лежати в інтервалі, межі якого лінійно залежать від значень — такі межі відомі для двозв'язних зовнішніх планарних графів[33][34] і для графів багатогранників[35][36]. Для двозв'язних планарних графів шляхова ширина двоїстого графа менша, ніж шляхова ширина реберного графа[37]. Залишається відкритим питання, чи буде шляхова ширина планарного графа і його двоїстого завжди в лінійних межах для інших випадків.

Для деяких класів графів доведено, що шляхова ширина графа і деревна ширина завжди рівні між собою — це виконується для кографів[38], графів перестановки[39], доповнень графів порівнянності і графів порівнянності[40] інтервальних порядків[41].

Нерозв'язана проблема математики:
Яка максимальна шляхова ширина кубічного графа з вершинами?
(більше нерозв'язаних проблем математики)

В будь-якому кубічному графі або, більш загально, будь-якому графі з максимальним степенем вершин 3, шляхова ширина не перевищує n/6 + o(n), де n — кількість вершин графа. Існують кубічні графи зі шляховою шириною 0,082n, але невідомо, як скоротити цей розрив між нижньою межею і верхньою межею n/6[42].

Обчислення шляхових декомпозицій

[ред. | ред. код]

Визначення, чи не перевищує шляхова ширина заданого значення k для заданого графа, є NP-повною задачею, якщо k є вхідним параметром[6]. Найвідоміші часові межі обчислення шляхової ширини довільного графа з n вершинами мають вигляд O(2n nc) за деякої константи c[43]. Проте відомі деякі алгоритми обчислення шляхової декомпозиції з більшою ефективністю, якщо шляхова ширина мала, якщо клас вхідних графів обмежений, або потрібно обчислити шляхову ширину приблизно.

Фіксовано-параметрично розв'язність

[ред. | ред. код]

Шляхова ширина фіксовано-параметрично розв'язна[en] — для будь-якого сталого k можна перевірити, чи не перевершує шляхова ширина величини k, і, якщо не перевершує, знайти шляхову декомпозицію ширини k за лінійний час. У цілому, ці алгоритми працюють у два етапи. На першому етапі використовується припущення, що граф має шляхову ширину k, для пошуку шляхової декомпозиції або деревної декомпозиції. Ця декомпозиція не оптимальна, але її ширина може бути обмежена функцією від k. На другому етапі застосовується алгоритм динамічного програмування для пошуку оптимальної декомпозиції. Однак часові межі для відомих алгоритмів цього типу експоненціальні від k2 і не становлять практичного інтересу, хіба що для малих значень k[44]. Для випадку k = 2 Фляйтер дав алгоритм з лінійним часом роботи, заснований на структурній декомпозиції графів зі шляховою шириною 2[45].

Особливі класи графів

[ред. | ред. код]

Бодлендер [8] дав огляд складності задач обчислення шляхової ширини на різних особливих класах графів. Визначення, чи перевищує шляхова ширина графа G величину k, залишається NP-повною задачею, якщо G береться із графів обмеженого степеня[46], планарних графів[46], планарних графів обмеженого степеня[46], хордальних графів[47], хордальних доміно[48], доповнень графів порівнянності[40], і двочасткових дистанційно-успадковуваних графів[49]. Звідси негайно випливає, що задача також NP-повна для сімейств графів, що містять двочасткові дистанційно-успадковувані графи, включно з двочастковими графами, хордальними двочастковими графами, дистанційно-успадковуваними графами та коловими графами[49].

Однак шляхову ширину можна обчислити за лінійний час для дерев і лісів[9]. Можна обчислити цю величину за поліноміальний час для графів обмеженої деревної ширини, до яких належать паралельно-послідовні графи, зовніпланарні графи і графи Халіна[50], а також розщеплювані графи[51][47], доповнення хордальних графів[52], графи перестановок[39], кографи[38], графи дуг кола[53], графи порівнянності інтервальних порядків[41] і, звичайно, самі інтервальні графи, оскільки для них шляхова ширина просто на одиницю менша від максимального числа інтервального покриття будь-якої точки в інтервальному поданні графа.

Апроксимаційні алгоритми

[ред. | ред. код]

NP-складною задачею є апроксимація шляхової ширини графа адитивною константою[7]. Найкращий відомий апроксимаційний коефіцієнт апроксимаційних алгоритмів поліноміального часу для шляхової ширини дорівнює O((log n)3/2)[54]. Ранні апроксимаційні алгоритми для шляхової ширини можна знайти у Бодлендера, Гілберта, Хафштейнссона, Клокса[7] і Гуха[55]. Для апроксимації обмежених класів графів див. книгу Клокса і Бодлендера[51].

Мінори графа

[ред. | ред. код]

Мінор графа G — це інший граф, створений з G стягуванням ребер, видаленням ребер і вершин. Мінор графа має глибоку теорію, в якій деякі важливі результати використовують шляхову ширину.

Виключення лісу

[ред. | ред. код]

Якщо сімейство F графів замкнуте відносно операції взяття мінорів (будь-який мінор члена сімейства F також міститься в F), тоді за теоремою Робертсона — Сеймура сімейство F можна схарактеризувати як графи, що не містять мінорів з X, де X — скінченна множина заборонених мінорів[56]. Наприклад, теорема Вагнера стверджує, що планарні графи — це графи, які не містять ні повного графа K5, ні повного двочасткового графа K3,3 як мінорів. У багатьох випадках властивості F і властивості X тісно пов'язані, і перший результат такого типу отримали Робертсон і Сеймур[2] і він пов'язує існування обмеженої шляхової ширини з наявністю лісу в сім'ї заборонених мінорів. Детальніше, визначимо сімейство F графів як таке, що має обмежену шляхову ширину, якщо існує константа p, така, що будь-який граф з F має шляхову ширину, яка не перевищує p. Тоді мінорно-замкнуте сімейство F має обмежену шляхову ширину тоді й лише тоді, коли множина X заборонених мінорів для F включає хоча б один ліс.

З одного боку, цей результат можна довести прямо — а саме, що якщо X не містить хоча б одного лісу, то вільні від X-мінорів графи не мають обмеженої шляхової ширини. В цьому випадку вільні від X-мінорів графи включають усі ліси, і зокрема досконалі бінарні дерева. Але досконалі бінарні дерева з 2k + 1 рівнями мають шляхову ширину k, так що в цьому випадку вільні від X-мінорів графи мають необмежену шляхову ширину. З іншого боку, якщо X містить ліс з n вершинами, то вільні від X-мінорів графи мають шляхову ширину, яка не перевищує n − 2[57][58][59].

Оцінки шляхової ширини

[ред. | ред. код]
Заборонені мінори для графів з шляховою шириною 1.

Властивість мати шляхову ширину не більше ніж p є, сама по собі, замкнутою за взяттям мінорів властивістю — якщо G має шляхову декомпозицію з шириною, що не перевищує p, то та ж сама шляхова декомпозиція залишається правильною, якщо видалити будь-яке ребро з G, а також будь-яку вершину можна видалити з графа G і його шляхової декомпозиції без збільшення ширини. Стягування ребра також можна завершити без збільшення ширини декомпозиції злиттям підшляхів, що являють собою два кінці стягуваного ребра. Таким чином, графи зі шляховою шириною, що не перевищує p, можна схарактеризувати множиною Xp заборонених мінорів[56][15][60][61].

Хоча Xp обов'язково включає щонайменше один ліс, невірно, що всі графи в Xp є лісами. Наприклад, X1 складається з двох графів, дерева з сімома вершинами і трикутника K3. Однак множину дерев у Xp можна точно описати — це точно ті дерева, які можна утворити з трьох дерев із Xp − 1 утворенням нового кореня і з'єднанням його ребрами з довільно вибраними вершинами менших дерев. Наприклад, дерево із сімома вершинами в X1 утворене з дерев з двома вершинами (одне ребро) з X0. Ґрунтуючись на цій побудові, можна показати, що число заборонених мінорів у Xp не менше від (p!)2[15][60][61]. Повну множину X2 заборонених мінорів для графів зі шляховою шириною 2 обчислено. Ця множина містить 110 різних графів[62].

Структурна теорія

[ред. | ред. код]

Структурна теорема графів сімейств замкнутих за мінорами графів стверджує, що для будь-якого такого сімейства F, його графи можна розкласти на суму за клікою графів, які можна вкласти в поверхні обмеженого роду разом з обмеженим числом верхівок і вихорів для кожної компоненти суми за клікою. Верхівка — це вершина, яка суміжна з усіма вершинами компоненти, а вихор — це граф обмеженої шляхової ширини, що приклеюється до грані компоненти з укладенням обмеженого роду. Циклічний порядок вершин навколо грані, в яку вихор укладено, повинен бути сумісний з деревною декомпозицією вихору в тому сенсі, що розрив циклу для утворення лінійного впорядкування повинен привести до впорядкування з обмеженою величиною вершинного поділу[5]. Ця теорія, в якій шляхова ширина тісно пов'язана з довільними сімействами графів, замкнутих щодо мінорів, має важливе алгоритмічне застосування[63].

Застосування

[ред. | ред. код]

Під час розробки НВІС задача розділення вершин спочатку вивчалася як шлях поділу ланцюгів на менші підсистеми з малим числом компонент на межі між системами[46].

Отцукі, Морі, Кух і Кашівабара[64] використовували інтервальну товщину для моделювання числа провідників, необхідних в одновимірному розташуванні ланцюгів НВІС, утворених множиною модулів, які необхідно з'єднати системою мереж. У їхній моделі можна утворити граф, у якому вершини представляють ланцюги і в якому дві вершини з'єднано ребром, якщо їхні ланцюги приєднано до одного у того ж модуля. Тобто якщо модулі й ланцюги розуміються як вершини і гіперребра гіперграфа, то граф, утворений з них, є реберним графом гіперграфа. Інтервальне подання суперграфа цього реберного графа разом з розфарбуванням суперграфа описує розташування ланцюгів уздовж горизонтальних доріжок (одна доріжка на кожен колір), так що модулі можна розташувати вздовж доріжок у лінійному порядку і з'єднати з потрібними ланцюгами. З факту, що інтервальні графи є досконалими[65], випливає, що число кольорів, необхідних для оптимальної розкладки такого типу, дорівнює кліковому числу інтервального доповнення графа ланцюгів.

Матрична укладання перемикачів[66] є специфічним видом КМОН НВІС укладання для ланцюгів алгебри логіки. В матричних укладаннях перемикачів сигнал поширюється вздовж «ліній» (вертикальних відрізків), тоді як кожен перемикач утворюється послідовністю елементів, розташованих на горизонтальному відрізку. Таким чином, горизонтальні відрізки для кожного перемикача повинні перетинати вертикальні відрізки для кожної лінії, яка служить входом або виходом перемикача. Як і в укладаннях Отцукі, Морі, Куха і Кашівабара[64] укладання такого типу, що мінімізує число вертикальних прямих, можна знайти, обчисливши шляхову ширину графа, що має прямі як вершини, а пари прямих, що належать перемикачу, як ребра[67]. Той самий алгоритмічний підхід можна також використати для моделювання задач укладання в програмованих логічних інтегральних схемах[68][69].

Візуалізація графів

[ред. | ред. код]

Шляхова ширина має кілька застосувань для візуалізації графів:

  • Мінімальні графи, що мають задане число схрещень, мають шляхову ширину, обмежену функцією від числа схрещень[70].
  • Число паралельних прямих, на яких можна розташувати вершини дерева без перетину ребер (за різних природних обмежень на способи, якими суміжні вершини можна помістити на прямих з урахуванням послідовності прямих) пропорційне шляховій ширині дерева[71].
  • k-перетинний h-рівневий малюнок графа G — це розташування вершин графа G на h різних горизонтальних прямих з ребрами у вигляді монотонних (представлених ламаними) шляхів між прямими, в якому є не більше ніж k схрещень. Графи з таким поданням мають шляхову ширину, обмежену функцією від h і k. Таким чином, якщо величини h і k сталі, можна за лінійний час визначити, чи має граф k-перетинний h-рівневий малюнок[72].
  • Граф з n вершинами і шляховою шириною p можна вкласти в тривимірну ґратку розміру p × p × n таким чином, що ніякі два ребра (представлені прямолінійними відрізками між точками ґратки) не перетинаються. Таким чином, графи обмеженої шляхової ширини мають вкладення цього типу з лінійним об'ємом[73].

Проєктування компіляторів

[ред. | ред. код]

Під час трансляції високорівневих мов програмування шляхова ширина виникає в задачі переупорядкування лінійного коду (тобто без коду керувальної логіки — переходів і циклів) таким чином, що всі значення, обчислені в коді, можуть бути поміщені в машинні регістри, а не витіснені в основну пам'ять. У цьому застосуванні відтрансльований код подається у вигляді спрямованого ациклічного графа (САГ), у якому вершини представляють вхідні значення коду і значення, обчислені внаслідок операцій усередині коду. Ребро з вершини x у вершину y в цьому САГ представляє факт, що значення x є одним зі вхідних параметрів для операції y. Топологічне сортування вершин у цьому САГ представляє правильне сортування коду, а число регістрів, потрібних для виконання коду в цьому порядку задається величиною вершинного розділення впорядкування[74].

Для будь-якого фіксованого числа w регістрів у машині можна визначити за лінійний час, чи можна фрагмент лінійного коду переупорядкувати так, що для коду буде потрібно максимум w регістрів. Якщо величина вершинного топологічного розділення впорядкування не перевершує w, мінімальне вершинне розділення серед усіх впорядкувань не може бути більшим, так що неорієнтовані графи, утворені нехтууванням орієнтації САГ, описаного вище, повинні мати шляхову ширину, що не перевершує w. Можна перевірити, чи правильно це за допомогою відомих фіксовано-параметрично розв'язних алгоритмів для шляхової ширини, і, якщо правильно, знайти шляхову декомпозицію для неорієнтованих графів за лінійний час у припущенні, що w є константою. Як тільки деревну декомпозицію знайдено, топологічне сортування з шириною w (якщо таке існує) можна знайти з використанням динамічного програмування, знову ж таки за лінійний час[74].

Лінгвістика

[ред. | ред. код]

Карнаї і Туца[75] описали застосування шляхової ширини для обробки природної мови. В цьому застосуванні речення моделюються у вигляді графів, у яких вершини представляють слова, а ребра представляють зв'язки між словами. Наприклад, якщо прикметник модифікує іменник, то граф має ребро між цими двома словами. Через обмежений обсяг короткочасної людської пам'яті Міллер[76], Корнаї і Туца стверджують, що цей граф повинен мати обмежену шляхову ширину (конкретніше, вони стверджують, що ця шляхова ширина не перевищує шести), в іншому випадку люди не могли б розпізнавати мову правильно.

Експоненційні алгоритми

[ред. | ред. код]

Багато задачі теорії графів можна ефективно розв'язати на графах з малою шляховою шириною за допомогою динамічного програмування, спираючись на шляхову декомпозицію графа[10]. Наприклад, якщо лінійне упорядкування вершин графа G з n вершинами задано і величина вершинного розділення дорівнює w, то можна знайти найбільшу незалежну множину графа G за час O(2w n)[42]. На графі з обмеженою шляховою шириною цей підхід веде до фіксовано-параметрично розв'язних алгоритмів, параметризованих за шляховою шириною[67]. Такі результати не часто зустрічаються в літературі, оскільки вони належать до групи схожих алгоритмів, параметризованих за деревною шириною. Однак шляхова ширина з'являється навіть в алгоритмах динамічного програмування, заснованих на деревній ширині, при вимірюванні просторової складності цих алгоритмів[11].

Той самий метод динамічного програмування можна застосувати до графів з необмеженою шляховою шириною, що приводить до алгоритмів, які розв'язують непараметризовані задачі на графах за експоненційний час. Наприклад, комбінація підходу динамічного програмування з фактом, що кубічні графи мають шляхову ширину n/6 + o(n), показує, що для кубічних графів максимальну незалежну множину можна побудувати за час O(2n/6 + o(n)), що швидше від відомих до цього методів[42]. Схожий підхід веде до поліпшених алгоритмів експоненційного часу для задач максимального розрізу і мінімальної домінівної множини для кубічних графів[42] і для деяких інших NP-складних оптимізаційних задач[77][78].

Див. також

[ред. | ред. код]

,

Примітки

[ред. | ред. код]
  1. Diestel, Kühn, 2005.
  2. а б в г д Robertson, Seymour, 1983.
  3. а б Bodlaender, 1998.
  4. Багато використаних у статті терминів можна знайти у вступі до дисертації Ф. В. Фоміна ((Фомин, 1996))
  5. а б Robertson, Seymour, 2003.
  6. а б Kashiwabara, Fujisawa, 1979; Ohtsuki, Mori, Kuh, Kashiwabara, Fujisawa, 1979; Lengauer, 1981; Arnborg, Corneil, Proskurowski, 1987.
  7. а б в Bodlaender, Gilbert, Hafsteinsson, Kloks, 1992.
  8. а б Bodlaender, 1994.
  9. а б Möhring, 1990; Scheffler, 1990; Ellis, Sudborough, Turner, 1994; Coudert, Huc, Mazauric, 1998; Peng, Ho, Hsu, Ko, Tang, 1998; Skodinis, 2000; Skodinis, (2003).
  10. а б Arnborg, 1985.
  11. а б Aspvall, Proskurowski, Telle, 2000.
  12. Bodlaender, 1994, с. 1–2.
  13. Bodlaender, 1998, с. 13, Theorem 29.
  14. Ellis, Sudborough, Turner, 1983.
  15. а б в Kinnersley, 1992.
  16. Bodlaender, 1998, с. Theorem 51.
  17. Kirousis, Papadimitriou, 1985.
  18. Proskurowski, Telle, 1999.
  19. Korach, Solel, 1993, с. 99, Lemma 3.
  20. Bodlaender, 1998, с. 24, Theorem 47.
  21. Korach, Solel, 1993, с. 99, Lemma 1.
  22. Bodlaender, 1998, с. 24, Theorem 49.
  23. Korach, Solel, 1993, с. 99, Theorem 5.
  24. Bodlaender, 1998, с. 30, Theorem 66.
  25. Шеффлер (Scheffler, (1992)) дає сильнішу межу log3(2n + 1) шляхової ширини лісу з n вершинами.
  26. Korach, Solel, 1993, с. 100, Theorem 6.
  27. Bodlaender, 1998, с. 10, Corollary 24.
  28. Gurski, Wanke, 2007.
  29. Golovach, 1993.
  30. Bodlaender, 1998, с. 10, Corollary 23.
  31. Bodlaender, 1998, с. 9, Theorem 20.
  32. Alon, Seymour, Thomas, 1990.
  33. Bodlaender, Fomin, 2002.
  34. Coudert, Huc, Sereni, 2007.
  35. Fomin, Thilikos, 2007.
  36. Amini, Huc, Pérennes, 2009.
  37. Fomin, 2003.
  38. а б Bodlaender, Möhring, 1990.
  39. а б Bodlaender, Kloks, Kratsch, 1993.
  40. а б Habib, Möhring, 1994.
  41. а б Garbe, 1995.
  42. а б в г Fomin, Høie, 2006.
  43. Fomin, Kratsch, Todinca, Villanger, 2008.
  44. Downey, Fellows, 1999, с. 12.
  45. de Fluiter, 1997.
  46. а б в г Monien, Sudborough, 1988.
  47. а б Gusted, 1993.
  48. Kloks, Kratsch, Müller, 1995. Хордальне доміно — це хордальний граф, у якому будь-яка вершина належить максимум двом максимальним клікам
  49. а б Kloks, Bodlaender, Müller, Kratsch, 1993.
  50. Bodlaender, (1996); Bodlaender, Kloks, (1996)
  51. а б Kloks, Bodlaender, 1992.
  52. Гарбе (Garbe, (1995)) приписує цей результат тезам дисертації Тона Клокса 1993 року. Алгоритм поліноміального часу Гарбе для графів порівнянності інтервальных упорядкувань узагальнює цей результат, оскільки будь-який хордальний граф має бути графом порівнянності такого типу.
  53. Suchan, Todinca, 2007.
  54. Feige, Hajiaghayi, Lee, 2005.
  55. Guha, 2000.
  56. а б Robertson, Seymour, 2004.
  57. Bienstock, Robertson, Seymour, Thomas, 1991.
  58. Diestel, 1995.
  59. Cattell, Dinneen, Fellows, 1996.
  60. а б Takahashi, Ueno, Kajitani, 1994.
  61. а б Bodlaender, 1998, с. 8.
  62. Kinnersley, Langston, 1994.
  63. Demaine, Hajiaghayi, Kawarabayashi, 2005.
  64. а б Ohtsuki, Mori, Kuh, Kashiwabara, Fujisawa, 1979.
  65. Berge, 1967.
  66. Lopez, Law, 1980.
  67. а б Fellows, Langston, 1989.
  68. Möhring, 1990.
  69. Ferreira, Song, 1992.
  70. Hliněny, 2003.
  71. Suderman, 2004.
  72. Dujmović, Fellows, Kitching и др., 2008.
  73. Dujmović, Morin, Wood, 2003.
  74. а б Bodlaender, Gustedt, Telle, 1998.
  75. Kornai, Tuza, 1992.
  76. Miller, 1956.
  77. Kneis, Mölle, Richter, Rossmanith, 2005.
  78. Björklund, Husfeldt, 2008.

Література

[ред. | ред. код]