Problem kliki - Clique problem

Algorytm brute force znajdzie 4-klika na wykresie 7 wierzchołka (dopełnienie 7 wierzchołków grafu ścieżki ) systematycznie sprawdzając C (7,4) = 35 subgraphs 4 wierzchołków dla kompletności.

W informatyce The problem kliki jest obliczeniowa problem znalezienia klik (podzbiory wierzchołków, wszystkie przylegające do siebie, zwanych również kompletnych subgraphs ) w wykresie . Ma kilka różnych sformułowań w zależności od tego, które kliki i jakie informacje o klikach należy znaleźć. Typowe sformułowania problemu kliki obejmują znalezienie maksymalnej kliki (kliki o największej możliwej liczbie wierzchołków), znalezienie kliki o maksymalnej wadze w grafie ważonym, wymienienie wszystkich maksymalnych klik (klik, których nie można powiększyć) oraz rozwiązanie problemu decyzyjnego sprawdzania, czy wykres zawiera klikę większą niż dany rozmiar.

Problem kliki pojawia się w następującym rzeczywistym świecie. Rozważmy sieć społecznościową , gdzie wierzchołki wykresu reprezentują ludzi, a krawędzie grafu reprezentują wzajemną znajomość. Wtedy klika reprezentuje podzbiór ludzi, którzy wszyscy się znają, a algorytmy wyszukiwania klik można wykorzystać do odkrycia tych grup wspólnych przyjaciół. Oprócz zastosowań w sieciach społecznościowych, problem kliki ma również wiele zastosowań w bioinformatyce i chemii obliczeniowej .

Większość wersji problemu kliki jest trudna. Problem decyzyjny kliki jest NP-zupełny (jeden z 21 NP-zupełnych problemów Karpa ). Problem ze znalezieniem maksymalnej kliki jest zarówno trudny do rozwiązania, jak i trudny do przybliżenia . A wypisanie wszystkich maksymalnych klik może wymagać czasu wykładniczego, ponieważ istnieją grafy z wykładniczo wieloma maksymalnymi klikami. Dlatego znaczna część teorii problemu kliki jest poświęcona identyfikacji specjalnych typów grafów, które dopuszczają bardziej wydajne algorytmy, lub ustalaniu trudności obliczeniowej ogólnego problemu w różnych modelach obliczeń.

Aby znaleźć maksymalną klikę, można systematycznie sprawdzać wszystkie podzbiory, ale tego rodzaju przeszukiwanie siłowe jest zbyt czasochłonne, aby było praktyczne w przypadku sieci składających się z więcej niż kilkudziesięciu wierzchołków. Chociaż nie jest znany żaden algorytm wielomianowy dla tego problemu, znane są bardziej wydajne algorytmy niż przeszukiwanie siłowe. Na przykład algorytm Brona-Kerboscha może być użyty do wymienienia wszystkich maksymalnych klik w najgorszym przypadku optymalnym czasie, a także możliwe jest wymienienie ich w czasie wielomianowym na klikę.

Historia i aplikacje

Badanie pełnych podgrafów w matematyce poprzedza terminologię „kliki”. Na przykład pełne podgrafy pojawiły się wcześnie w literaturze matematycznej w teoretycznym grafie przeformułowaniu teorii Ramseya przez Erdősa i Szekeresa (1935) . Ale termin „klik” i problem algorytmicznej listy klik pochodzą z nauk społecznych, gdzie pełne podgrafy są używane do modelowania społecznych klik , grup ludzi, którzy wszyscy się znają. Luce i Perry (1949) wykorzystali grafy do modelowania sieci społecznych i dostosowali terminologię nauk społecznych do teorii grafów. Jako pierwsi nazwali kompletne podgrafy „klikami”. Pierwszym algorytmem rozwiązania problemu kliki jest algorytm Harary'ego i Rossa (1957) , których motywowało zastosowanie socjologiczne. Badacze nauk społecznych zdefiniowali również różne inne typy klik i maksymalne kliki w sieci społecznej, „spójne podgrupy” ludzi lub aktorów w sieci, z których każdy łączy jeden z kilku różnych rodzajów relacji łączności. Wiele z tych uogólnionych pojęć kliki można również znaleźć, konstruując graf nieskierowany, którego krawędzie reprezentują powiązane pary aktorów z sieci społecznościowej, a następnie stosując algorytm dla problemu kliki do tego grafu.

Od czasu pracy Harary'ego i Rossa wielu innych opracowało algorytmy dla różnych wersji problemu kliki. W latach 70. naukowcy zaczęli badać te algorytmy z punktu widzenia analizy najgorszego przypadku . Zobacz na przykład Tarjan i Trojanowski (1977) , wczesną pracę o najgorszym przypadku złożoności problemu maksymalnej kliki. Również w latach 70., poczynając od prac Cooka (1971) i Karpa (1972) , badacze zaczęli wykorzystywać teorię NP-zupełności i związanych z nią wyników nierozwiązywalności, aby zapewnić matematyczne wyjaśnienie postrzeganej trudności problemu kliki. W latach 90. przełomowa seria artykułów rozpoczynająca się od Feige et al. (1991) i donosił w The New York Times , wykazał, że (przy założeniu P NP ) nie jest nawet możliwe dokładne i efektywne przybliżenie problemu.

Algorytmy znajdowania klik zostały wykorzystane w chemii , aby znaleźć związki chemiczne pasujące do struktury docelowej oraz modelować dokowanie molekularne i miejsca wiązania reakcji chemicznych. Można je również wykorzystać do znalezienia podobnych struktur w różnych cząsteczkach. W tych zastosowaniach tworzy się wykres, w którym każdy wierzchołek reprezentuje dopasowaną parę atomów, po jednym z każdej z dwóch cząsteczek. Dwa wierzchołki są połączone krawędzią, jeśli dopasowania, które reprezentują, są ze sobą kompatybilne. Zgodność może oznaczać, na przykład, że odległości między atomami w dwóch cząsteczkach są w przybliżeniu równe, z pewną określoną tolerancją. Klika na tym wykresie reprezentuje zestaw dopasowanych par atomów, w których wszystkie dopasowania są ze sobą kompatybilne. Szczególnym przypadkiem tej metody jest wykorzystanie iloczynu modularnego grafów do zredukowania problemu znalezienia maksymalnego wspólnego podgrafu indukowanego dwóch grafów do problemu znalezienia maksymalnej kliki w ich iloczynie.

W automatycznym generowaniu wzorców testowych znajdowanie klik może pomóc w ograniczeniu rozmiaru zestawu testowego. W bioinformatyce algorytmy znajdowania klik zostały wykorzystane do wywnioskowania drzew ewolucyjnych , przewidywania struktur białkowych i znajdowania ściśle oddziałujących na siebie klastrów białek. Umieszczenie klik na wykresie zależności jest ważnym krokiem w analizie pewnych procesów losowych. W matematyce przypuszczenie Kellera na kafli twarzą w twarz hipersześcianach została obalona przez Lagarias & Shor (1992) , który używany jest algorytm kliki rozpoznawczej na towarzyszącym wykresie znaleźć kontrprzykład.

Definicje

Przedstawiony wykres ma jedną maksymalną klikę, trójkąt {1,2,5} i cztery kolejne maksymalne kliki, pary {2,3}, {3,4}, {4,5} i {4,6} .

Nieukierunkowane wykres jest utworzony przez skończonego zbioru z wierzchołków i zestaw nieuporządkowanych par wierzchołki, które zwane są krawędzie . Umownie, w analizie algorytmów liczba wierzchołków grafu jest oznaczona przez n, a liczba krawędzi przez m . Klika na wykresie G jest pełna subgraph z G . Oznacza to, że jest to podzbiór K wierzchołków taki, że każde dwa wierzchołki w K są dwoma punktami końcowymi krawędzi w G . Ilość klika jest klika na których nie więcej wierzchołki mogą być dodawane. Dla każdego wierzchołka v, który nie jest częścią maksymalnej kliki, musi istnieć inny wierzchołek w, który znajduje się w klikie i nie sąsiaduje z v , zapobiegając dodaniu v do kliki. Maksymalna klika jest klika, która obejmuje największą liczbę wierzchołków. Liczba kliki ω ( G ) jest liczbą wierzchołków w maksymalnej klikie G .

Zbadano kilka ściśle powiązanych problemów ze znajdowaniem klik.

  • W zagadnieniu maksymalnej kliki, dane wejściowe są grafem nieskierowanym, a wynikiem jest maksymalna klika w grafie. Jeśli istnieje kilka maksymalnych klik, jedna z nich może być wybrana arbitralnie.
  • W problemie ważonej maksymalnej kliki, dane wejściowe to nieskierowany graf z wagami na jego wierzchołkach (lub rzadziej krawędziach), a wynikiem jest klika o maksymalnej całkowitej wadze. Problem maksymalnej kliki to szczególny przypadek, w którym wszystkie wagi są równe. Oprócz problemu optymalizacji sumy wag, zbadano również inne, bardziej skomplikowane problemy optymalizacji bikryterialnej.
  • W zadaniu z listą maksymalnych klik dane wejściowe to graf nieskierowany, a wynikiem jest lista wszystkich jego maksymalnych klik. Problem maksymalnej kliki może być rozwiązany przy użyciu jako podprogramu algorytmu dla problemu maksymalnej liczby klik, ponieważ maksymalna klika musi być zawarta wśród wszystkich maksymalnych klik.
  • W zadaniu k- kliki dane wejściowe to graf nieskierowany i liczba k . Wyjściem jest klika z k wierzchołków, jeśli taka istnieje, lub specjalna wartość wskazująca, że ​​w przeciwnym razie nie ma k -kliki. W niektórych odmianach tego problemu wynik powinien zawierać listę wszystkich klik o rozmiarze k .
  • W problemie decyzyjnym kliki, dane wejściowe to graf nieskierowany i liczba k , a wynikiem jest wartość logiczna : prawda, jeśli graf zawiera k -klikę, a fałsz w przeciwnym razie.

Pierwsze cztery z tych problemów są ważne w zastosowaniach praktycznych. Problem decyzyjny kliki nie ma praktycznego znaczenia; jest sformułowana w ten sposób, aby zastosować teorię NP-zupełności do problemów znajdowania klik.

Problem klika i niezależny zestaw problemem są komplementarne: klika w G jest niezależny zestaw na wykresie dopełniacza z G i na odwrót. Dlatego też wiele wyników obliczeniowych można równie dobrze zastosować do obu problemów, a niektóre prace badawcze nie rozróżniają wyraźnie tych dwóch problemów. Jednak te dwa problemy mają różne właściwości w przypadku zastosowania do ograniczonych rodzin grafów. Na przykład, problem kliki może być rozwiązany w czasie wielomianowym dla grafów planarnych, podczas gdy problem zbioru niezależnego pozostaje NP-trudny na grafach planarnych.

Algorytmy

Znalezienie jednej maksymalnej kliki

Maksymalna klika, czasami nazywany włączenie maksymalnej, jest klika, która nie jest zawarta w większej kliki. Dlatego każda klika zawiera się w maksymalnej kliki. Maksymalna liczba klik może być bardzo mała. Wykres może zawierać klikę niemaksymalną z wieloma wierzchołkami oraz oddzielną klikę o rozmiarze 2, która jest maksymalna. Podczas gdy maksymalna (tj. największa) klika jest z konieczności maksymalna, odwrotność nie zachodzi. Istnieje kilka typów grafów, w których każda maksymalna klika jest maksymalna; są to uzupełnienia tych dobrze pokryte wykresami , w którym każda ilość niezależny zestaw jest maksymalne. Jednak inne wykresy mają maksymalne kliki, które nie są maksymalne.

Pojedynczą maksymalną klikę można znaleźć za pomocą prostego algorytmu zachłannego . Rozpoczynając od dowolnej kliki (na przykład dowolnego pojedynczego wierzchołka lub nawet pustego zbioru), powiększaj bieżącą klikę o jeden wierzchołek na raz, wykonując pętlę przez pozostałe wierzchołki wykresu. Dla każdego wierzchołka v, który sprawdza ta pętla, dodaj v do kliki, jeśli sąsiaduje z każdym wierzchołkiem, który już jest w klikie, i odrzuć v w przeciwnym razie. Ten algorytm działa w czasie liniowym . Ze względu na łatwość znajdowania maksymalnych klik i ich potencjalny mały rozmiar, większą uwagę zwrócono na znacznie trudniejszy algorytmiczny problem znalezienia maksymalnej lub innej dużej kliki. Jednak niektóre badania w równoległych algorytmach badały problem znalezienia maksymalnej kliki. W szczególności, problem znalezienia leksykograficznie pierwszej maksymalnej kliki (tej znalezionej przez powyższy algorytm) okazał się kompletny dla klasy funkcji wielomianowych . Wynik ten sugeruje, że jest mało prawdopodobne, aby problem został rozwiązany w ramach równoległej klasy złożoności NC .

Kliki o stałym rozmiarze

Można sprawdzić, czy graf G zawiera klikę k- wierzchołków i znaleźć taką klikę, którą zawiera, używając algorytmu brute force . Algorytm ten bada każdy podgraf z k wierzchołków i sprawdza, czy tworzy on klikę. Zajmuje czas O ( n k  k 2 ) , wyrażony za pomocą notacji duże O . Dzieje się tak dlatego, że do sprawdzenia jest O ( n k ) podgrafów, z których każdy ma O ( k 2 ) krawędzi, których obecność w G musi być sprawdzona. Tak więc problem można rozwiązać w czasie wielomianowym, gdy k jest stałą stałą. Jednakże, gdy k nie ma stałej wartości, ale zamiast tego może się zmieniać jako część danych wejściowych problemu, czas jest wykładniczy.

Najprostszym nietrywialnym przypadkiem problemu znajdowania klik jest znalezienie trójkąta w grafie lub równoważne określenie, czy graf jest wolny od trójkątów . W grafie G z m krawędziami może występować co najwyżej Θ( m 3/2 ) trójkątów (stosując notację dużego theta, aby wskazać, że to ograniczenie jest ciasne). Najgorszy przypadek dla tej formuły ma miejsce, gdy G samo w sobie jest kliką. Dlatego algorytmy do wyliczenia wszystkich trójkątów muszą w najgorszym przypadku zająć co najmniej czas Ω( m 3/2 ) (używając notacji big omega ), a znane są algorytmy, które pasują do tego ograniczenia czasowego. Na przykład Chiba i Nishizeki (1985) opisują algorytm, który sortuje wierzchołki w kolejności od najwyższego do najniższego, a następnie iteruje przez każdy wierzchołek v na posortowanej liście, szukając trójkątów, które zawierają v i nie zawierają żadnego poprzedniego wierzchołka w posortowanej liście. lista. Aby to zrobić, algorytm zaznacza wszystkich sąsiadów v , przeszukuje wszystkie krawędzie związane z sąsiadem v, generując trójkąt dla każdej krawędzi, która ma dwa zaznaczone punkty końcowe, a następnie usuwa znaczniki i usuwa v z wykresu. Jak pokazują autorzy, czas działania tego algorytmu jest proporcjonalny do drzewiastości grafu (oznaczonej a ( G ) ) pomnożonej przez liczbę krawędzi, czyli O ( m  a ( G )) . Ponieważ lesistość wynosi co najwyżej O ( m 1/2 ) , algorytm działa w czasie O ( m 3/2 ) . Mówiąc bardziej ogólnie, wszystkie kliki k -wierzchołków można wyliczyć za pomocą podobnego algorytmu, który zajmuje czas proporcjonalny do liczby krawędzi pomnożonych przez lesistość do potęgi ( k  − 2 ) . W przypadku grafów o stałej drzewie, takich jak grafy planarne (lub ogólnie grafy z dowolnej nietrywialnej rodziny mniejszych grafów zamkniętych ), algorytm ten zajmuje czas O ( m ) , który jest optymalny, ponieważ jest liniowy pod względem wielkości danych wejściowych.

Jeśli ktoś pragnie tylko jednego trójkąta lub zapewnienia, że ​​wykres jest wolny od trójkątów, możliwe są szybsze algorytmy. Jak zauważają Itai i Rodeh (1978) , wykres zawiera trójkąt wtedy i tylko wtedy, gdy jego macierz sąsiedztwa i kwadrat macierzy sąsiedztwa zawierają niezerowe wpisy w tej samej komórce. Dlatego techniki szybkiego mnożenia macierzy można zastosować do znalezienia trójkątów w czasie O ( n 2,376 ) . Alon, Yuster i Zwick (1994) zastosowali szybkie mnożenie macierzy w celu ulepszenia algorytmu O ( m 3/2 ) do znajdowania trójkątów do O ( m 1,41 ) . Algorytmy te oparte na szybkim mnożeniu macierzy zostały również rozszerzone o problemy znajdowania k -klik dla większych wartości k .

Lista wszystkich maksymalnych kliki

Zgodnie z wynikami Moona i Mosera (1965) każdy graf o n -wierzchołkach ma co najwyżej 3 n /3 maksymalnych klik. Można je wymienić za pomocą algorytmu Brona-Kerboscha , rekurencyjnej procedury z nawracaniem Brona i Kerboscha (1973) . Główny podprogram rekurencyjny tej procedury ma trzy argumenty: częściowo skonstruowaną (niemaksymalną) klikę, zbiór kandydujących wierzchołków, które można dodać do kliki, oraz inny zbiór wierzchołków, których nie należy dodawać (ponieważ prowadziłoby to do do kliki, która już została znaleziona). Algorytm próbuje dodać kandydujące wierzchołki jeden po drugim do częściowej kliki, wykonując rekurencyjne wywołanie dla każdego z nich. Po wypróbowaniu każdego z tych wierzchołków przenosi go do zestawu wierzchołków, których nie należy ponownie dodawać. Można wykazać, że warianty tego algorytmu mają najgorszy przypadek czasu działania O (3 n /3 ) , pasujący do liczby klik, które mogą wymagać wykazania . Dlatego jest to najgorsze, optymalne rozwiązanie problemu wyliczenia wszystkich maksymalnych klik. Co więcej, algorytm Brona-Kerboscha jest powszechnie zgłaszany jako szybszy w praktyce niż jego alternatywy.

Jednak gdy liczba klik jest znacznie mniejsza niż jej najgorszy przypadek, inne algorytmy mogą być preferowane. Jak Tsukiyama i in. (1977) wykazali, że możliwe jest również wymienienie wszystkich maksymalnych klik na wykresie w czasie, który jest wielomianem na wygenerowaną klikę. Algorytm taki jak ich, w którym czas działania zależy od rozmiaru danych wyjściowych, nazywany jest algorytmem wrażliwym na dane wyjściowe . Ich algorytm opiera się na następujących dwóch obserwacjach, wiążących maksymalne kliki danego grafu G z maksymalnymi klikami grafu G  \  v utworzonego przez usunięcie dowolnego wierzchołka v z G :

  • Dla każdej maksymalnej kliki K z G  \  v , albo K nadal tworzy maksymalną klikę w G , albo K  ⋃ { v } tworzy maksymalną klikę w G . Dlatego G ma co najmniej tyle maksymalnych klik, co G  \  v .
  • Każda maksymalna klika w G , która nie zawiera v jest maksymalną kliką w G  \  v , a każda maksymalna klika w G , która zawiera v może być utworzona z maksymalnej kliki K w G  \  v przez dodanie v i usunięcie niesąsiadujących elementów z v od K .

Korzystając z tych obserwacji, mogą wygenerować wszystkie maksymalne kliki w G za pomocą rekurencyjnego algorytmu, który arbitralnie wybiera wierzchołek v, a następnie, dla każdej maksymalnej kliki K w G  \  v , wyprowadza zarówno K , jak i klikę utworzoną przez dodanie v do K i usunięcie nie -sąsiedzi v . Jednak niektóre kliki G mogą być generowane w ten sposób z więcej niż jednej kliki rodzicielskiej G  \  v , więc eliminują duplikaty przez wypisanie kliki w G tylko wtedy, gdy jej rodzic w G  \  v jest leksykograficznie maksimum spośród wszystkich możliwych kliki rodzicielskich. Na podstawie tej zasady pokazują, że wszystkie maksymalne kliki w G mogą być generowane w czasie O ( mn ) na klikę, gdzie m to liczba krawędzi w G, a n to liczba wierzchołków. Chiba i Nishizeki (1985) poprawili to do O( ma ) na klikę, gdzie a jest drzewnością danego wykresu. Makino i Uno (2004) zapewniają alternatywny algorytm wrażliwy na dane wyjściowe, oparty na szybkim mnożeniu macierzy. Johnson i Yannakakis (1988) wykazali, że możliwe jest nawet wymienienie wszystkich maksymalnych klik w porządku leksykograficznym z wielomianowym opóźnieniem na klikę. Jednak wybór porządkowania jest ważny dla skuteczności tego algorytmu: dla odwrotności tego porządku nie ma algorytmu wielomianowo-opóźniającego, chyba że P = NP .

Na podstawie tego wyniku można wyliczyć wszystkie maksymalne kliki w czasie wielomianowym dla rodzin grafów, w których liczba klik jest ograniczona wielomianem. Rodziny te obejmują akordowe wykresy , graf pełny , trójkąt wolne wykresy , interwał wykresy , wykresy ograniczonego boxicity i grafów planarnych . W szczególności grafy planarne mają O ( n ) klik, o co najwyżej stałej wielkości, które mogą być wymienione w czasie liniowym. To samo dotyczy każdej rodziny grafów, która jest zarówno rzadka (mająca liczbę krawędzi co najwyżej stała razy liczba wierzchołków), jak i zamknięta w ramach operacji pobierania podgrafów.

Znajdowanie maksymalnych klik w dowolnych grafach

Możliwe jest znalezienie maksymalnej kliki lub liczby klik dowolnego grafu n -wierzchołkowego w czasie O (3 n /3 ) = O (1.4422 n ) przy użyciu jednego z algorytmów opisanych powyżej, aby wypisać wszystkie maksymalne kliki w wykres i zwrócenie największego. Jednak dla tego wariantu problemu kliki możliwe są lepsze granice czasowe w najgorszym przypadku. Algorytm Tarjana i Trojanowskiego (1977) rozwiązuje ten problem w czasie O (2 n /3 ) = O (1,2599 n ) . Jest to schemat rekurencyjnego śledzenia wstecznego podobny do algorytmu Brona-Kerboscha , ale jest w stanie wyeliminować niektóre wywołania rekurencyjne, gdy można wykazać, że kliki znalezione w wywołaniu będą nieoptymalne. Jian (1986) poprawił czas do O (2 0,304 n ) = O (1,2346 n ) , a Robson (1986) poprawił go do O (2 0,276 n ) = O (1,2108 n ) czasu, kosztem większego wykorzystania przestrzeni . Algorytm Robsona łączy podobny schemat śledzenia wstecznego (z bardziej skomplikowaną analizą przypadków) oraz technikę programowania dynamicznego , w której optymalne rozwiązanie jest wstępnie obliczane dla wszystkich małych połączonych podgrafów grafu dopełnienia . Te częściowe rozwiązania są używane do skrócenia rekurencji z nawracaniem. Najszybszy znany dziś algorytm jest udoskonaloną wersją tej metody autorstwa Robsona (2001), która działa w czasie O (2 0,249 n ) = O (1,1888 n ) .

Przeprowadzono również szeroko zakrojone badania nad algorytmami heurystycznymi do rozwiązywania problemów z maksymalną liczbą kliki bez gwarancji wykonania najgorszego przypadku, w oparciu o takie metody, jak branch and bound , lokalne wyszukiwanie , algorytmy zachłanne i programowanie z ograniczeniami . Niestandardowe metodologie obliczeniowe, które zostały zasugerowane w celu znalezienia klik, obejmują obliczanie DNA i adiabatyczne obliczenia kwantowe . Problem maksymalnej kliki był przedmiotem wyzwania implementacyjnego sponsorowanego przez DIMACS w latach 1992-1993 oraz zbioru wykresów wykorzystywanych jako punkty odniesienia dla wyzwania, który jest publicznie dostępny.

Specjalne klasy grafów

Na tym wykresie permutacji maksymalne kliki odpowiadają najdłuższym malejącym podciągom (4,3,1) i (4,3,2) permutacji definiującej.

Grafy planarne i inne rodziny grafów rzadkich zostały omówione powyżej: mają liniowo wiele maksymalnych klik o ograniczonej wielkości, które mogą być wymienione w czasie liniowym. W szczególności w przypadku grafów planarnych dowolna klika może mieć co najwyżej cztery wierzchołki, zgodnie z twierdzeniem Kuratowskiego .

Idealne grafy są definiowane przez własności , że ich liczba klik jest równa ich liczbie chromatycznej , i że ta równość zachodzi również w każdym z ich indukowanych podgrafów . W przypadku doskonałych grafów możliwe jest znalezienie maksymalnej kliki w czasie wielomianowym za pomocą algorytmu opartego na programowaniu półokreślonym . Jest to jednak metoda złożona i niekombinatoryczna, a dla wielu podklas doskonałych grafów opracowano wyspecjalizowane algorytmy znajdowania klik. Na wykresach dopełniacza z graf dwudzielny , König twierdzenie pozwala maksymalna klika problemem, który należy rozwiązać przy użyciu technik dopasowywania . W innej klasie doskonałych grafów, grafach permutacyjnych , maksymalna klika jest najdłuższym malejącym podciągiem permutacji definiującej graf i można ją znaleźć przy użyciu znanych algorytmów dla najdłuższego problemu podciągu malejącego. I odwrotnie, każdy przypadek najdłuższego malejącego problemu podciągu można równoważnie opisać jako problem znalezienia maksymalnej kliki w grafie permutacji. Nawet Pnueli i Lempel (1972) dostarczają alternatywnego algorytmu czasu kwadratowego dla maksymalnych klik w grafach porównywalności , szerszej klasy doskonałych grafów, która obejmuje grafy permutacji jako przypadek szczególny. W grafach akordowych maksymalne kliki można znaleźć, wymieniając wierzchołki w kolejności eliminacji i sprawdzając sąsiedztwo klik każdego wierzchołka w tej kolejności.

W niektórych przypadkach algorytmy te można rozszerzyć również na inne, niedoskonałe klasy grafów. Na przykład na wykresie kołowym sąsiedztwo każdego wierzchołka jest wykresem permutacyjnym, więc maksymalną klikę na wykresie kołowym można znaleźć, stosując algorytm grafu permutacyjnego do każdego sąsiedztwa. Podobnie w grafie dyskowym jednostkowym (ze znaną reprezentacją geometryczną) istnieje wielomianowy algorytm czasu dla maksymalnych klik oparty na zastosowaniu algorytmu dla uzupełnień grafów dwudzielnych do współdzielonych sąsiedztw par wierzchołków.

Algorytmiczny problem znajdowania maksymalnej kliki w losowym grafie zaczerpniętym z modelu Erdősa-Rényiego (w którym każda krawędź pojawia się z prawdopodobieństwem 1/2 , niezależnie od pozostałych krawędzi) zasugerował Karp (1976) . Ponieważ maksymalna klika w losowym grafie ma wielkość logarytmiczną z dużym prawdopodobieństwem, można ją znaleźć metodą brute force w oczekiwanym czasie 2 O (log 2 n ) . Jest to quasi-wielomianowa granica czasu . Chociaż liczba klik takich grafów jest zwykle bardzo zbliżona do 2 log 2 n , proste algorytmy zachłanne, jak również bardziej wyrafinowane techniki aproksymacji randomizowanej znajdują tylko kliki o rozmiarze log 2 n , o połowę mniejszym . Liczba maksymalnych klik w takich grafach jest z dużym prawdopodobieństwem wykładnicza w log 2 n , co zapobiega uruchamianiu metod wykazujących wszystkie maksymalne kliki w czasie wielomianowym. Ze względu na trudność tego problemu, kilku autorów zbadało problem zasadzonych klik, problem klik na losowych wykresach, które zostały rozszerzone przez dodanie dużych klik. Podczas gdy metody spektralne i programowanie półokreślone mogą wykrywać ukryte kliki o rozmiarze Ω( n ) , nie są obecnie znane żadne algorytmy czasu wielomianowego wykrywające te o rozmiarze o ( n ) (wyrażone przy użyciu notacji little-o ).

Algorytmy aproksymacyjne

Kilku autorów rozważało algorytmy aproksymacyjne, które próbują znaleźć klikę lub niezależny zbiór, który, choć nie maksymalny, ma rozmiar tak bliski maksimum, jaki można znaleźć w czasie wielomianowym. Chociaż znaczna część tej pracy skupiała się na niezależnych zbiorach w grafach rzadkich, co nie ma sensu w przypadku problemu kliki komplementarnej, prowadzone były również prace nad algorytmami aproksymacyjnymi, które nie stosują takich założeń rzadkości.

Feige (2004) opisuje wielomianowy algorytm czasu, który znajduje klikę o rozmiarze Ω((log  n /log log  n ) 2 ) w każdym grafie, który ma liczbę kliki Ω( n /log k n ) dla dowolnej stałej k . Używając tego algorytmu, gdy liczba klik danego grafu wejściowego wynosi od n /log  n do n /log 3 n , przełączając się na inny algorytm Boppany i Halldórssona (1992) dla grafów o większej liczbie klik i wybierając dwu- Klika wierzchołków, jeśli oba algorytmy niczego nie znajdą, Feige dostarcza algorytm aproksymacyjny, który znajduje klikę z liczbą wierzchołków ze współczynnikiem O( n (log log  n ) 2 /log 3 n ) maksimum. Chociaż współczynnik aproksymacji tego algorytmu jest słaby, jest on jak dotąd najlepiej znany. Opisane poniżej wyniki dotyczące twardości aproksymacji sugerują, że nie może istnieć algorytm aproksymacji o współczynniku aproksymacji znacznie mniejszym niż liniowy.

Dolne granice

NP-zupełność

Instancja spełnialności 3-CNF (x ∨ x ∨ y) ∧ (~x ∨ ~y ∨ ~y) ∧ (~x ∨ y ∨ y) zredukowana do Clique. Zielone wierzchołki tworzą trójkę i odpowiadają satysfakcjonującemu przypisaniu.

Problem decyzyjny kliki jest NP-zupełny . Był to jeden z oryginalnych 21 problemów Richarda Karpa, pokazanych jako NP-zupełne w jego pracy z 1972 r. „Reducibility Among Combinatorial Problems”. Problem ten został również wspomniany w artykule Stephena Cooka , wprowadzającym teorię problemów NP-zupełnych. Ze względu na trudność problemu decyzyjnego, problem znalezienia maksymalnej kliki jest również NP-trudny. Gdyby można było go rozwiązać, można by również rozwiązać problem decyzyjny, porównując rozmiar maksymalnej kliki z parametrem rozmiaru podanym jako dane wejściowe w problemie decyzyjnym.

Dowód NP-zupełności Karpa jest redukcją wiele-jeden z problemu spełnialności logicznej . Opisuje, jak tłumaczyć formuły Boole'a w koniunkcyjnej postaci normalnej (CNF) na równoważne przypadki problemu maksymalnej kliki. Spełnialność z kolei została udowodniona NP-zupełna w twierdzeniu Cooka-Levina . Z danej formuły CNF Karp tworzy wykres, który ma wierzchołek dla każdej pary ( v , c ) , gdzie v jest zmienną lub jej negacją ic jest klauzulą ​​we wzorze zawierającą v . Dwa z tych wierzchołków są połączone krawędzią, jeśli reprezentują zgodne przypisania zmiennych dla różnych klauzul. Oznacza to, że krawędź od ( v , c ) do ( u , d ) , gdy C  ≠  D i U i V, nie są wzajemnie zaprzeczenia. Jeśli k oznacza liczbę klauzul we wzorze CNF, to kliki k- wierzchołków na tym wykresie reprezentują spójne sposoby przypisywania wartości prawdy do niektórych jego zmiennych w celu spełnienia formuły. Dlatego formuła jest spełnialna wtedy i tylko wtedy, gdy istnieje klika k- wierzchołków.

Niektóre problemy NP-zupełne (takie jak problem komiwojażera w grafach planarnych ) można rozwiązać w czasie wykładniczym w funkcji podliniowej parametru wielkości wejściowej n , znacznie szybszym niż przeszukiwanie siłowe. Jednak jest mało prawdopodobne, aby takie podwykładnicze ograniczenie czasowe było możliwe dla problemu kliki w dowolnych grafach, ponieważ sugerowałoby to podobnie podwykładnicze ograniczenia dla wielu innych standardowych problemów NP-zupełnych.

Złożoność obwodu

Obwód monotoniczny do wykrywania k- kliki na wykresie n -wierzchołkowym dla k  = 3 i n  = 4 . Każde wejście do obwodu koduje obecność lub brak określonej (czerwonej) krawędzi na wykresie. Układ wykorzystuje jedną wewnętrzną bramkę i do wykrywania każdej potencjalnej k- kliki.

Trudność obliczeniowa problemu kliki doprowadziła do jego wykorzystania do udowodnienia kilku dolnych granic złożoności obwodów . Istnienie kliki o danym rozmiarze jest właściwością grafu monotonicznego , co oznacza, że ​​jeśli klika istnieje w danym grafie, będzie istniała w każdym supergrafie . Ponieważ ta właściwość jest monotoniczna, musi istnieć obwód monotoniczny, wykorzystujący tylko bramki i lub bramki , aby rozwiązać problem decyzyjny kliki dla danego stałego rozmiaru kliki. Jednak można udowodnić, że rozmiar tych obwodów jest super-wielomianową funkcją liczby wierzchołków i rozmiaru kliki, wykładniczą w pierwiastku sześciennym liczby wierzchołków. Nawet jeśli dozwolona jest niewielka liczba bramek NOT , złożoność pozostaje superwielomianowa. Dodatkowo, głębokość obwodu monotonicznego dla problemu kliki używającego bramek ograniczonego wachlarza musi być co najmniej wielomianem w rozmiarze kliki.

Złożoność drzewa decyzyjnego

Proste drzewo decyzyjne do wykrywania obecności 3-kliki w grafie 4-wierzchołkowym. Wykorzystuje do 6 pytań w formie „Czy istnieje czerwona krawędź?”, dopasowując optymalne ograniczenie n ( n  − 1)/2.

Złożoność drzewa decyzyjnego (deterministycznego) wyznaczania właściwości grafu to liczba pytań w postaci „Czy istnieje krawędź między wierzchołkiem u a wierzchołkiem v ?” na które należy odpowiedzieć w najgorszym przypadku, aby określić, czy graf ma określoną właściwość. Oznacza to, że jest to minimalna wysokość logicznego drzewa decyzyjnego dla problemu. Jest n ( n  − 1)/2 możliwych pytań, które można zadać. Dlatego dowolna właściwość grafu może być określona za pomocą co najwyżej n ( n  − 1)/2 pytań. Możliwe jest również zdefiniowanie losowej i kwantowej złożoności drzewa decyzyjnego właściwości, oczekiwanej liczby pytań (dla danych wejściowych najgorszego przypadku), na które algorytm randomizowany lub kwantowy musi odpowiedzieć, aby poprawnie określić, czy dany graf ma tę właściwość .

Ponieważ właściwość zawierania kliki jest monotoniczna, jest ona objęta hipotezą Aanderaa-Karp-Rosenberg , która stwierdza, że ​​złożoność deterministycznego drzewa decyzyjnego określająca dowolną nietrywialną właściwość grafu monotonicznego wynosi dokładnie n ( n  − 1)/2 . W przypadku dowolnych właściwości grafu monotonicznego to przypuszczenie pozostaje nieudowodnione. Jednak dla deterministycznych drzew decyzyjnych, a dla każdego k w zakresie 2 ≤ kn , własność zawierający k -clique Wykazano, że drzewo decyzyjne złożoność dokładnie n ( n  - 1) / 2 przez Bollobás (1976) . Deterministyczne drzewa decyzyjne wymagają również rozmiaru wykładniczego do wykrywania klik lub dużego wielomianu do wykrywania klik o ograniczonym rozmiarze.

Hipoteza Aanderaa-Karpa-Rosenberga również mówi, że złożoność randomizowanego drzewa decyzyjnego nietrywialnych funkcji monotonicznych wynosi Θ( n 2 ) . Przypuszczenie ponownie pozostaje nieudowodnione, ale zostało rozwiązane ze względu na właściwość zawierania kliki k dla 2 ≤ kn . Wiadomo, że ta własność ma randomizowaną złożoność drzewa decyzyjnego Θ( n 2 ) . W przypadku kwantowych drzew decyzyjnych najbardziej znanym dolnym ograniczeniem jest Ω( n ) , ale nie jest znany żaden algorytm dopasowywania dla przypadku k ≥ 3 .

Nieusuwalność przy stałym parametrze

Sparametryzowana złożoność to teoretyczne badanie złożoności problemów, które są naturalnie wyposażone w mały parametr całkowity k i dla których problem staje się trudniejszy wraz ze wzrostem k , na przykład znajdowanie k -klik na wykresach. Mówi się, że problem jest wykonalny ze stałym parametrem, jeśli istnieje algorytm do jego rozwiązania na danych wejściowych o rozmiarze n oraz funkcja f , taka, że ​​algorytm działa w czasie f ( kn O (1) . Oznacza to, że jest to stałoparametrowe wykonalne, jeśli można je rozwiązać w czasie wielomianu dla dowolnej stałej wartości k, a ponadto, jeśli wykładnik wielomianu nie zależy od k .

Aby znaleźć kliki k -wierzchołków, algorytm wyszukiwania brute force ma czas działania O( n k k 2 ) . Ponieważ wykładnik n zależy od k , algorytm ten nie jest wykonalny dla stałych parametrów. Chociaż można to ulepszyć przez szybkie mnożenie macierzy, czas wykonania nadal ma wykładnik liniowy w k. Tak więc, chociaż czas wykonania znanych algorytmów dla problemu klik jest wielomianowy dla dowolnego ustalonego k , algorytmy te nie wystarczą dla stałego parametru ustępliwość. Downey i Fellows (1995) zdefiniowali hierarchię problemów sparametryzowanych, hierarchię W, co do których przypuszczali, że nie mają algorytmów o stałej parametryzacji. Udowodnili, że niezależny zbiór (lub równoważnie klika) jest trudny dla pierwszego poziomu tej hierarchii, W[1] . Tak więc, zgodnie z ich przypuszczeniami, klika nie ma możliwego do realizacji algorytmu o stałym parametrze. Co więcej, wynik ten stanowi podstawę dla dowodów W[1]-twardości wielu innych problemów, a zatem służy jako analogia do twierdzenia Cooka-Levina dla sparametryzowanej złożoności.

Chen i in. (2006) wykazali, że znalezienie k -wierzchołków nie może być wykonane w czasie n o ( k ), chyba że hipoteza czasu wykładniczego zawiedzie. Ponownie dostarcza to dowodu na to, że nie jest możliwy żaden wykonalny algorytm o stałych parametrach.

Chociaż problemy z wypisaniem maksymalnych klik lub znalezieniem maksymalnych klik prawdopodobnie nie będą wykonalne dla stałych parametrów z parametrem k , mogą być wykonalne dla stałych parametrów dla innych parametrów o złożoności instancji. Na przykład wiadomo, że oba problemy są rozwiązywalne za pomocą stałych parametrów, gdy są sparametryzowane przez degenerację grafu wejściowego.

Twardość aproksymacji

Wykres relacji zgodności między 2-bitowymi próbkami 3-bitowych ciągów dowodowych. Każda maksymalna klika (trójkąt) na tym wykresie reprezentuje wszystkie sposoby próbkowania pojedynczego 3-bitowego ciągu. Dowodem nieprzystosowalności problemu kliki są indukowane podgrafy analogicznie zdefiniowanych grafów dla większej liczby bitów.

Słabe wyniki sugerujące, że problem kliki może być trudny do przybliżenia, były znane od dawna. Garey i Johnson (1978) zaobserwowali, że ponieważ liczba klik przyjmuje małe wartości całkowite i jest NP-trudna do obliczenia, nie może mieć pełnego wielomianowego schematu aproksymacji . Gdyby dostępne było zbyt dokładne przybliżenie, zaokrąglenie jego wartości do liczby całkowitej dałoby dokładną liczbę kliki. Jednak niewiele więcej było wiadomo aż do początku lat 90., kiedy kilku autorów zaczęło łączyć aproksymację maksymalnych klik i probabilistycznie sprawdzalnych dowodów . Użyli tych połączeń do udowodnienia twardości wyników aproksymacji dla problemu maksymalnej kliki. Po wielu ulepszeniach tych wyników wiadomo, że dla każdej liczby rzeczywistej ε  > 0 , nie może być algorytmu czasu wielomianowego, który aproksymuje maksymalną klikę do współczynnika lepszego niż O ( n 1 −  ε ) , chyba że P = NP .

Zgrubna idea tych wyników nieprzybliżeniowości polega na utworzeniu grafu, który reprezentuje probabilistycznie sprawdzalny system dowodowy dla problemu NP-zupełnego, takiego jak problem spełnialności Boole'a. W probabilistycznie sprawdzalnym systemie dowodowym dowód jest reprezentowany jako ciąg bitów. Wystąpienie problemu spełnialności powinno mieć ważny dowód wtedy i tylko wtedy, gdy jest spełnialny. Dowód jest sprawdzany przez algorytm, który po obliczeniu danych wejściowych problemu spełnialności w czasie wielomianowym wybiera do zbadania niewielką liczbę losowo wybranych pozycji ciągu dowodowego. W zależności od tego, jakie wartości zostaną znalezione w tej próbce bitów, kontroler zaakceptuje lub odrzuci dowód, nie patrząc na resztę bitów. Fałszywe negatywy są niedozwolone: ​​ważny dowód musi być zawsze akceptowany. Jednak czasami nieważny dowód może być błędnie zaakceptowany. Dla każdego nieważnego dowodu prawdopodobieństwo, że osoba sprawdzająca go zaakceptuje, musi być niskie.

Aby przekształcić probabilistycznie sprawdzalny system dowodowy tego typu w problem klikowy, tworzy się graf z wierzchołkiem dla każdego możliwego przebiegu akceptującego kontrolera dowodu. Oznacza to, że wierzchołek jest zdefiniowany przez jeden z możliwych losowych wyborów zestawów pozycji do zbadania oraz przez wartości bitowe dla tych pozycji, które spowodowałyby, że kontroler zaakceptowałby dowód. Może być reprezentowany przez częściowe słowo z 0 lub 1 na każdej badanej pozycji i znakiem wieloznacznym na każdej pozostałej pozycji. Dwa wierzchołki sąsiadują ze sobą, na tym wykresie, jeśli odpowiadające im dwa przebiegi akceptujące widzą te same wartości bitów w każdej pozycji, którą obaj badają. Każdy (ważny lub nieważny) ciąg dowodowy odpowiada kliki, zbiorowi przebiegów akceptujących, które widzą ten ciąg dowodowy, iw ten sposób powstają wszystkie maksymalne kliki. Jedna z tych klik jest duża wtedy i tylko wtedy, gdy odpowiada ciągowi dowodowemu, który akceptuje wiele osób sprawdzających dowody. Jeśli oryginalna instancja spełnialności jest satisfiable, będzie miała poprawny ciąg dowodowy, który jest akceptowany przez wszystkie przebiegi programu sprawdzającego, a ten ciąg będzie odpowiadał dużej kliki na grafie. Jednakże, jeśli oryginalna instancja nie jest satysfakcjonująca, to wszystkie łańcuchy dowodu są nieważne, każdy łańcuch dowodu ma tylko niewielką liczbę przebiegów sprawdzania, które błędnie go akceptują, a wszystkie kliki są małe. Dlatego, gdyby można było rozróżnić w czasie wielomianowym grafy z dużymi klikami od grafów, w których wszystkie kliki są małe, lub gdyby można było dokładnie aproksymować problem kliki, to zastosowanie tego przybliżenia do grafów generowanych z instancji spełnialności pozwoliłoby na spełnianie instancji należy odróżnić od niezadowalających przypadków. Nie jest to jednak możliwe, chyba że P = NP.

Uwagi

Bibliografia

Ankiety i podręczniki

Popularna prasa

Artykuły naukowe