Топ питань
Часова шкала
Чат
Перспективи

Деревна декомпозиція

відображення графа в дерево З Вікіпедії, вільної енциклопедії

Деревна декомпозиція
Remove ads

В теорії графів деревна декомпозиція — це відображення графа в дерево, яке можна використати для визначення деревної ширини графа і прискорення розв'язання певних обчислювальних задач на графах.

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

В галузі машинного навчання деревна декомпозиція називається деревом зчленувань, деревом клік або деревом суміжності. Деревна декомпозиція відіграє важливу роль у задачах, на зразок імовірнісного логічного виведення[en], пошуку допустимих значень[en], оптимізації запитів СУБД і розкладання матриць.

Поняття деревної декомпозиції спочатку запропонував Р. Галін[en][1]. Пізніше його перевідкрили Н. Робертсон[en] і П. Сеймур[ru][2] і відтоді поняття вивчали багато інших авторів[3].

Remove ads

Визначення

Узагальнити
Перспектива

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

Кожне дерево пов'язує вершину графа з множиною вузлів дерева. Щоб визначити це формально, ми подамо кожний вузол дерева як множину вершин, пов'язаних з нею. Тоді для заданого графа G = (V, E) деревна декомпозиція — це пара (X, T), де X = {X1, …, Xn} є сімейством підмножин множини V, а T є деревом, вузлами якого служать підмножини Xi, які задовольняють таким властивостям: [4]

  1. Об'єднання всіх множин Xi дорівнює V. Таким чином, будь-яка вершина графа пов'язана хоча б з одним вузлом дерева.
  2. Для будь-якого ребра (v, w) графа існує підмножина Xi, що містить як v, так і w. Таким чином, вершини суміжні в графі, тільки якщо вони відповідають піддеревам, що мають спільний вузол.
  3. Якщо Xi і Xj містять вершину v, то всі вузли Xk дерева в (унікальному) шляху між Xi і Xj містять v теж. Тобто вузли, пов'язані з вершиною v, утворюють зв'язну підмножину в T. Цю властивість можна сформулювати еквівалентно: якщо , і є вузлами, а перебуває на шляху з в , то .

Деревна декомпозиція графа зовсім не унікальна. Наприклад, тривіальна деревна декомпозиція містить всі вершини графа в кореневому вузлі.

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

Деревна декомпозиція (X, T = (I, F)) з деревною шириною k є гладкою, якщо для всіх і для всіх [5].

Remove ads

Деревна ширина

Thumb
Дві різні деревні декомпозиції одного графа

Ширина деревної декомпозиції — це розмір її найбільшої множини Xi без одиниці. Деревна ширина tw(G) графа G — це мінімальна ширина серед усіх можливих декомпозицій графа G. У цьому визначенні розмір найбільшої множини зменшено на одиницю з метою зробити деревну ширину дерева рівною одиниці. Деревну ширину можна визначити виходячи з інших структур, а не з деревної декомпозиції. Для цього можна використати хордальні графи, ожини та укриття.

Визначення, чи не перевищує деревна ширина заданого графа G величини k, є NP-повною задачею [6]. Однак, якщо k є фіксованою константою, граф з деревною шириною k можна розпізнати і деревну декомпозицію ширини k можна побудувати за лінійний час[5]. Час роботи цього алгоритму залежить від k експоненціально.

Remove ads

Динамічне програмування

Узагальнити
Перспектива

На початку 1970-х було помічено, що задачі з великого класу комбінаторних оптимізаційних задач на графах можна ефективно розв'язати за допомогою несеріального динамічного програмування, якщо граф має обмежену розмірність[7], пов'язаний з деревною шириною параметр. Пізніше, до кінця 1980-х, деякі автори незалежно виявили[8], що багато алгоритмічних NP-повних задач для довільних графів можна ефективно розв'язати за допомогою динамічного програмування для графів з обмеженою деревною шириною за використання деревної декомпозиції цих графів.

Як приклад розглянемо задачу пошуку найбільшої незалежної множини на графі з деревною шириною k. Для розв'язання спочатку виберемо один вузол деревного розкладу як корінь (довільним чином). Для вузла Xi деревної декомпозиції нехай Di буде об'єднанням множин Xj, успадкованих від Xi. Для незалежної множини S  Xi нехай A (S, i) означає розмір найбільшої незалежної підмножини I в Di, такої, що I  X i = S. Так само для суміжної пари вузлів Xi і Xj з Xi більш віддаленим від кореня, порівняно з Xj, і незалежної множини S  X i  Xj нехай B (S, i,j) означає розмір найбільшої незалежної підмножини I в Di, такої, що I  X i  X j = S. Ми можемо обчислити ці значення A і B проходом дерева від низу до верху:

де сума у формулі для береться за нащадками вузла .

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

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

Remove ads

Див. також

  • Ожина й укриття — два види структур, які можна використовувати як альтернативу деревній декомпозиції для визначення деревної ширини графа
  • Гілкова декомпозиція графа — тісно пов'язана структура, ширина якої лінійно пов'язана з деревною шириною
  • Метод декомпозиції[en].
  • Шляхова ширина графа

Примітки

Література

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads