Rozkład drzewa - Tree decomposition

Wykres z ośmioma wierzchołkami i dekompozycja drzewa na drzewo z sześcioma węzłami. Każda krawędź grafu łączy dwa wierzchołki, które są wymienione razem w jakimś węźle drzewa, a każdy wierzchołek grafu jest wymieniony w węzłach sąsiedniego poddrzewa drzewa. Każdy węzeł drzewa zawiera co najwyżej trzy wierzchołki, więc szerokość tej dekompozycji wynosi dwa.

W teorii wykres , A rozkładu drzewa jest odwzorowaniem z wykresu na drzewie , które mogą być wykorzystane do określenia treewidth wykresu i przyspieszyć rozwiązanie pewnych problemów obliczeniowych na wykresie.

Rozkłady drzewo nazywane są również drzewa połączeniowe , klika drzew lub dołączyć drzew ; odgrywają one ważną rolę w problemach takich jak probabilistycznego wnioskowania , więzów satysfakcji , optymalizacji zapytań i rozkład macierzy .

Pojęcie rozkładu drzew zostało pierwotnie wprowadzone przez Rudolfa Halina  ( 1976 ). Później została ponownie odkryta przez Neila Robertsona i Paula Seymoura  ( 1984 ) i od tego czasu była badana przez wielu innych autorów.

Definicja

Intuicyjnie dekompozycja drzewa przedstawia wierzchołki danego grafu G jako poddrzewa drzewa, w taki sposób, że wierzchołki w danym grafie sąsiadują ze sobą tylko wtedy, gdy przecinają się odpowiadające im poddrzewa. A zatem, G tworzy podgrafu na wykresie przecięcia z poddrzewach. Pełny wykres przecięcia jest wykresem akordowym .

Każde poddrzewo wiąże wierzchołek grafu z zestawem węzłów drzewa. Aby zdefiniować to formalnie, reprezentujemy każdy węzeł drzewa jako zbiór wierzchołków z nim związanych. Zatem przy danym grafie G = ( V , E ) rozkład drzewa jest parą ( X , T ), gdzie X = { X 1 , ..., X n } jest rodziną podzbiorów (czasami nazywanych workami ) V i T to drzewo, którego węzły są podzbiorami X i , spełniające następujące właściwości:

  1. Suma wszystkich zbiorów X i równa się V . Oznacza to, że każdy wierzchołek grafu jest powiązany z co najmniej jednym węzłem drzewa.
  2. Dla każdej krawędzi ( v , w ) na wykresie istnieje podzbiór X i zawierający zarówno v , jak i w . Oznacza to, że wierzchołki na wykresie sąsiadują ze sobą tylko wtedy, gdy odpowiadające im poddrzewa mają wspólny węzeł.
  3. Jeśli X i i X j zawierają wierzchołek v , to wszystkie węzły X k drzewa w (unikalnej) ścieżce między X i i X j również zawierają v . Oznacza to, że węzły skojarzone z wierzchołkiem v tworzą połączony podzbiór T . Jest to również znane jako koherencja lub biegnąca właściwość przecięcia . Można stwierdzić, że jeżeli równoważnie , a są węzły, i znajduje się na ścieżce od do , a następnie .

Rozkład drzewa grafu nie jest wyjątkowy; na przykład trywialna dekompozycja drzewa zawiera wszystkie wierzchołki grafu w swoim pojedynczym węźle korzeniowym.

Dekompozycja drzewa, w której drzewo bazowe jest wykresem ścieżki, nazywana jest dekompozycją ścieżki, a parametr szerokości pochodzący z tych specjalnych typów dekompozycji drzewa jest znany jako pathwidth .

Rozkład drzewa ( X , T = ( I , F )) szerokości drzewa k jest gładki , jeśli dla wszystkich i dla wszystkich .

Minimalna liczba drzew w rozkładzie drzewa jest numer drzewo z G.

Szerokość drzewa

Dwie różne dekompozycje drzew tego samego grafu

Szerokość od rozkładu drzewa jest rozmiar największego zadanej X I minus jeden. Treewidth tw ( G ) grafu G jest minimalna szerokość spośród wszystkich możliwych dekompozycji drzewa o G . W tej definicji rozmiar największego zbioru zmniejsza się o jeden, aby szerokość drzewa była równa jeden. Szerokość drzewa może być również zdefiniowana z innych struktur niż dekompozycje drzew, w tym grafów akordowych , jeżyn i przystani .

Jest NP-zupełne określenie, czy dany graf G ma szerokość drzewa co najwyżej dla danej zmiennej k . Jednak, gdy k jest dowolną stałą stała, wykresy z treewidth k mogą być uznane, a szerokość k rozkładu drzewo zbudowane dla nich, w czasie liniowym. Zależność czasowa tego algorytmu od k jest wykładnicza.

Programowanie dynamiczne

Na początku lat 70. zaobserwowano, że duża klasa problemów optymalizacji kombinatorycznej zdefiniowanych na grafach może być skutecznie rozwiązywana przez nieszeregowe programowanie dynamiczne, o ile graf ma wymiar ograniczony , parametr związany z szerokością drzewa. Później kilku autorów niezależnie zaobserwowało, pod koniec lat osiemdziesiątych, że wiele problemów algorytmicznych, które są NP-zupełne dla dowolnych grafów, można skutecznie rozwiązać za pomocą programowania dynamicznego dla grafów o ograniczonej szerokości drzewa, przy użyciu drzewiastej dekompozycji tych grafów.

Jako przykład rozważmy problem znalezienia maksymalnego niezależnego zbioru na grafie szerokości drzewa k . Aby rozwiązać ten problem, najpierw wybierz arbitralnie jeden z węzłów rozkładu drzewa jako korzeń. Dla węzła X i rozkładu drzewa niech D i będzie sumą zbiorów X j malejąco od X i . W przypadku niezależnego zbioru S  ⊂  X i niech ( S , I ) oznaczają wielkości największego niezależnego podgrupy I z D i tak że ja  ∩  X i  =  S . Podobnie dla sąsiedniej pary węzłów X i i X j , gdzie X i znajduje się dalej od korzenia drzewa niż X j , i dla zbioru niezależnego S  ⊂  X i  ∩  X j , niech B ( S , i , j ) oznacza rozmiar największego niezależnego podzbioru I z D i taki, że I  ∩  X i  ∩  X j  =  S . Możemy obliczyć te wartości A i B przez przechodzenie drzewa od dołu do góry:

gdzie suma w obliczeniach jest nad dziećmi węzła .

W każdym węźle lub krawędzi są co najwyżej 2 k zbiorów S, dla których musimy obliczyć te wartości, więc jeśli k jest stałą, to całe obliczenie zajmuje stały czas na krawędź lub węzeł. Rozmiar maksymalnego niezależnego zestawu jest największą wartością przechowywaną w węźle głównym, a sam maksymalny niezależny zestaw można znaleźć (co jest standardem w algorytmach programowania dynamicznego) przez cofanie się przez te przechowywane wartości, zaczynając od tej największej wartości. Zatem w grafach o ograniczonej szerokości drzewa problem maksymalnego niezależnego zbioru można rozwiązać w czasie liniowym. Podobne algorytmy mają zastosowanie do wielu innych problemów grafowych.

To dynamiczne podejście do programowania jest wykorzystywane w uczeniu maszynowym za pomocą algorytmu drzewa połączeń do propagacji przekonań w grafach o ograniczonej szerokości drzewa. Odgrywa również kluczową rolę w algorytmach obliczania szerokości drzewa i konstruowania dekompozycji drzewa: zazwyczaj takie algorytmy mają pierwszy krok, który przybliża szerokość drzewa, konstruowanie dekompozycji drzewa o tej przybliżonej szerokości, a następnie drugi krok, który wykonuje dynamiczne programowanie w przybliżony rozkład drzewa w celu obliczenia dokładnej wartości szerokości drzewa.

Zobacz też

  • Brambles and havens  — dwa rodzaje struktur, których można użyć jako alternatywy dla dekompozycji drzewa podczas definiowania szerokości drzewa grafu.
  • Rozkład gałęzi  — ściśle powiązana struktura, której szerokość mieści się w stałym współczynniku szerokości drzewa.
  • Metoda dekompozycji  – Dekompozycja drzewa jest wykorzystywana w Metodzie dekompozycji do rozwiązywania problemu spełniania ograniczeń.

Uwagi

Bibliografia

  • Arnborg S.; Corneil, D .; Proskurowski, A. (1987), „Złożoność znajdowania osadzeń w k- drzewie”, SIAM Journal on Matrix Analysis and Applications , 8 (2): 277-284, doi : 10.1137/0608024.
  • Arnborg, S.; Proskurowski, A. (1989), "Algorytmy czasu liniowego dla NP-trudnych problemów ograniczonych do częściowych k- drzew", Discrete Applied Mathematics , 23 (1): 11-24, doi : 10.1016/0166-218X(89)90031- 0.
  • Berno, MW; Lawler, EL ; Wong, AL (1987), „Linear-time computation of optimum subgraphs of decomposable graphs”, Journal of Algorithms , 8 (2): 216-235, doi : 10.1016/0196-6774(87)90039-3.
  • Bertelé, Umberto; Brioschi, Francesco (1972), Nonserial Dynamic Programming , Academic Press, ISBN 0-12-093450-7.
  • Bodlaender, Hans L. (1988), „Programowanie dynamiczne na grafach z ograniczoną szerokością drzewa”, Proc. 15th International Colloquium on Automata, Languages ​​and Programming , Lecture Notes in Computer Science, 317 , Springer-Verlag, s. 105–118, doi : 10.1007/3-540-19488-6_110.
  • Bodlaender, Hans L. (1996), „Algorytm czasu liniowego do znajdowania rozkładów drzew o małej szerokości drzewa”, SIAM Journal on Computing , 25 (6): 1305–1317, CiteSeerX  10.1.1.113.4539 , doi : 10.1137/S0097539793251219.
  • Diestel, Reinhard (2005), Teoria grafów (3rd ed.), Springer , ISBN 3-540-26182-6.
  • Halin, Rudolf (1976), „ S- funkcje dla wykresów”, Journal of Geometry , 8 : 171-186, doi : 10.1007/BF01917434.
  • Robertson, Neil ; Seymour, Paul D. (1984), "Graph minors III: planarna szerokość drzewa", Journal of Combinatorial Theory , Seria B , 36 (1): 49-64, doi : 10.1016/0095-8956 (84) 90013-3.