Деревна глибина (теорія графів)

числовий інваріант графа

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

Визначення ред.

Деревну глибину графа G можна визначити як мінімальну висоту лісу F із властивістю, що будь-яке ребро графа G з'єднує пару вершин, пов'язаних відношенням предок-нащадок у F[4]. Якщо G зв'язний, цей ліс має бути єдиним деревом. Ліс не обов'язково має бути підграфом графа G, але якщо є, то це дерево Тремо для G.

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

Інше визначення таке:

  •   якщо |G|=1
  •  , якщо G зв'язний і |G|>1
  •   в іншому випадку, де V — множина вершин графа G і   — зв'язні компоненти G[6]. Це визначення віддзеркалює визначення циклічного рангу орієнтованих графів, яке використовує строгу зв'язність і строго пов'язані компоненти замість неорієнтованої зв'язності і зв'язних компонент.

Деревну глибину можна визначити з використанням розфарбовування графів. Центроване розфарбування графа — це розфарбування вершин, яка має властивість, що в будь-якому зв'язному породженому підграфі є колір, який зустрічається рівно один раз. Тоді деревна глибина — це найменше число кольорів, необхідних для центрованого розфарбовування графа. Якщо F — ліс з висотою d, який має властивість, що кожне ребро графа G з'єднує предка і нащадка в дереві, то можна отримати центроване розфарбування графа G d кольорами розфарбувавши кожну вершину в колір з номером, рівним відстані від кореня у графі F[7].

Нарешті, можна визначити його в термінах фішкової гри[en]. А саме, точно як гру переслідування-ухилення. Уявімо таку гру на неорієнтованому графі. Є два гравці, грабіжник і поліцейський. Грабіжник має одну фішку, яку він рухає вздовж ребер графа. Поліцейський має необмежену кількість фішок, але він хоче мінімізувати кількість використаних фішок. Поліцейський не може пересувати своїх фішок, поміщених на граф. Гра відбувається так. Грабіжник розміщує свою фішку, потім поліцейський повідомляє, куди він хоче поставити наступну фішку і грабіжник після цього може пересунути свою фішку вздовж ребер, але не через зайняті вершини. Гра завершується, коли поліцейський поміщає наступну фішку поверх фішки грабіжника. Деревна глибина даного графа визначає найменше число фішок, необхідних для гарантованого виграшу[8][9]. Для зірки достатньо двох фішок — розміщуємо першу фішку в центрі зірки, змушуючи грабіжника перейти в якийсь промінь, а потім поміщаємо другу фішку на фішку грабіжника. Для шляху з   вершинами поліцейський використовує стратегію двійкового пошуку, яка гарантує використання не більше   фішок.

Приклади ред.

 
Деревна глибина повного графа K4 і повного двочасткового графа K3,3 дорівнює чотирьом, тоді як деревна глибина шляху P7 дорівнює трьом.

Деревна глибина повного графа дорівнює кількості його вершин, і в цьому випадку єдиним можливим лісом F, для якого будь-яка пара вершин перебуває у відношенні предок-нащадок, є одиничний шлях. Схожим чином деревна глибина повного двочасткового графа Kx,y дорівнює min(x,y) + 1, і як би ми не розташовували вершини, листки лісу F повинні мати принаймні min(x,y) предків F. Ліс, на якому досягається min(x,y) + 1, можна побудувати, утворивши шлях з вершин меншої за розміром частки графа, а вершини більшої частки формують листки дерева F, сполучені з нижньою вершиною шляху.

Деревна глибина шляху з n вершинами дорівнює рівно  . Ліс F, що подає цей шлях з такою глибиною, можна утворити, помістивши корінь у середню точку шляху F і продовжуючи рекурсію в двох менших шляхах з обох боків від кореня[10].

Деревна глибина і зв'язок з деревною шириною ред.

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

З іншого боку, деревна ширина графа не перевершує його деревної глибини. Точніше, деревна ширина не перевершує шляхової ширини графа, яка максимум на одиницю менша від його деревної глибини[11][13].

Мінори графа ред.

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

Якщо C — клас графів, замкнутих відносно утворення мінорів, то графи C мають деревну глибину   тоді й лише тоді, коли C не включає всіх шляхів[15].

Породжені підграфи ред.

Деревна глибина має тісний зв'язок з теорією породжених підграфів графа. В класі графів, що мають деревну глибину не більше d (для будь-якого фіксованого натурального d), властивість бути породженим підграфом є цілком квазівпорядкованою[en][16]. Основна ідея доведення, що цей зв'язок цілком квазівпорядкований, полягає у використанні індукції за d. Ліси висоти d можна інтерпретувати як послідовність лісів висоти d − 1 (утворених видаленням коренів дерев висоти d) і можна використовувати лему Гігмана[en], щоб показати, що ці послідовності цілком квазівпорядковані.

Із цілком квазівпорядкованості випливає, що будь-яка властивість графа, монотонна за породженими підграфами, має скінченне число заборонених породжених підграфів, а тому може бути перевірена за поліноміальний час на графах з обмеженою деревною глибиною. Графи з деревною глибиною, що не перевершує d, самі по собі мають скінченне число заборонених породжених підграфів. Нешетрил і Оссона де Мендез[17] показали 14 заборонених підграфів для графів з деревною шириною три і менше (з посиланням на тези дисертації 2007 року Зденека Дворака).

Якщо C є класом графів з обмеженою виродженістю, графи у множині C мають обмежену деревну ширину тоді і тільки тоді, коли існує шлях, який не може з'явитися як породжений підграф у C[15].

Складність ред.

Визначення глибини дерева є складною обчислювальною задачею — відповідна задача розпізнавання NP-повна[18]. Завдання залишається NP-повною для двочасткових графів[1], як і для хордальних графів[19].

З позитивних моментів — деревну глибину можна обчислити за поліноміальний час для інтервальних графів[20], як і для графів перестановок, трапецеїдальних графів, графів перетинів дуг кіл, циклічних графів перестановок і графів копорівнянності обмежених розмірностей[21]. Для неорієнтованих дерев деревну глибину можна обчислити за лінійний час[22][23].

Бодлендер, Гілберт, Хафстейнссон і Клокс[11] запропонували апроксимаційний алгоритм пошуку деревної глибини з апроксимаційним коефіцієнтом  . Алгоритм заснований на факті, що деревна глибина логарифмічно залежить від деревної ширини графа.

Оскільки деревна глибина монотонна за мінорами графа, задача її пошуку фіксовано-параметрично розв'язна[en] — існує алгоритм обчислення деревної глибини, що працює за час  , де d — глибина даного графа і n — число вершин. Таким чином, для будь-якого фіксованого значення d задача перевірки, чи не перевершує деревна глибина значення d, може бути розв'язана за поліноміальний час. Конкретніше — залежність від n у цьому алгоритмі можна зробити лінійною таким чином: будуємо дерево пошуку в глибину і перевіряємо, перевищує глибина дерева величину 2d чи ні. Якщо перевищує, то глибина дерева більша від d і задачу роз'язано. Якщо ні, можна скористатись побудовою дерева пошуку на невелику глибину для декомпозиції дерева і стандартною технікою динамічного програмування для графів з обмеженою деревною шириною, щоб обчислити глибину за лінійний час[24]. Більш складний алгоритм розв'язування за лінійний час, заснований на планарності мінорів, що виключаються під час пошуку в глибину, запропонували раніше Бодлендер, Деоган, Дженсен та Клокс[1]. Покращений параметричний алгоритм див. у Райдля, Россманіта, Вілламіла і Сікдара[25].

Можна обчислити глибину дерева точно для графів, значення глибини для яких може бути великим, за час O(cn) з константою c, трохи меншою від 2.[26]

Примітки ред.

Література ред.