Rekurencyjny algorytm największego pierwszego

Recursive Largest First ( RLF ) jest heurystyką dla NP-trudnego problemu kolorowania grafów . Został pierwotnie zaproponowany przez Franka Leightona w 1979 roku.

Algorytm RLF przypisuje kolory wierzchołkom wykresu, konstruując każdą klasę kolorów pojedynczo. Dokonuje tego poprzez identyfikację maksymalnego niezależnego zestawu wierzchołków na wykresie, przypisanie im tego samego koloru, a następnie usunięcie tych wierzchołków z wykresu. Czynności te powtarza się na pozostałym podgrafie, aż nie pozostaną żadne wierzchołki.

Aby utworzyć rozwiązania wysokiej jakości (rozwiązania wykorzystujące kilka kolorów), algorytm RLF wykorzystuje wyspecjalizowane reguły heurystyczne, próbując zidentyfikować niezależne zbiory „dobrej jakości”. Te heurystyki sprawiają, że algorytm RLF jest dokładny w przypadku dwudzielnych , cykli i kołów . Ogólnie jednak algorytm jest przybliżony i może zwrócić rozwiązania, które wykorzystują więcej kolorów niż liczba chromatyczna wykresu .

Opis

Algorytm można opisać trzema następującymi krokami. koniec tego procesu daje podział reprezentujący wykonalną wykresu .

  1. Niech . Niech także będzie grafem, który chcemy pokolorować, zawierającym zbiór wierzchołków zbiór krawędzi }
  2. Zidentyfikuj zbiór _ Aby to zrobić:
    1. Pierwszy wierzchołek dodany do być wierzchołkiem w największą liczbę sąsiadów.
    2. wierzchołki dodane do należy wybrać jako te, które (a) nie sąsiadują obecnie z żadnym wierzchołkiem w i b) mają maksymalną liczbę sąsiadów sąsiadujących z wierzchołkami w . w warunku (b) można zerwać, wybierając wierzchołek z minimalną liczbą sąsiadów, których nie . są dodawane w ten sposób dopóki nie będzie możliwe dodanie kolejnych wierzchołków.
  3. Teraz ustaw i usuń wierzchołki z . Jeśli , wróć do kroku 2; inaczej koniec.

Przykład

Wykres kołowy z siedmioma wierzchołkami

wykres _ Jest to wykres kołowy i dlatego zostanie optymalnie pokolorowany przez RLF. Wykonanie algorytmu powoduje wybranie i pokolorowanie wierzchołków w następującej kolejności:

  1. Wierzchołek sol (kolor 1)
  2. Wierzchołek , , a następnie (kolor 2)
  3. Wierzchołek , , a następnie (kolor 3)

Daje to ostateczne rozwiązanie trójkolorowe. .

Wydajność

Niech liczbą wierzchołków wykresu i niech krawędzi Używając notacji dużego O , w swojej oryginalnej publikacji Leighton stwierdza, że ​​złożoność RLF wynosi ; można to jednak poprawić. Duża część kosztów tego algorytmu wynika z kroku 2, w którym wyboru wierzchołków dokonuje się zgodnie z regułami heurystycznymi podanymi powyżej. Rzeczywiście, za każdym razem, gdy wierzchołek jest wybierany w celu dodania do zbioru niezależnego ponownie obliczyć dla każdego niepokolorowanego wierzchołka. te można wykonać w czasie, co oznacza, ​​ogólna złożoność RLF wynosi .

złożoność tego algorytmu zmniejsza się do jednakże wynikowy algorytm zwykle zwróci rozwiązania o niższej jakości w porównaniu z rozwiązaniami RLF. Będzie to teraz również niedokładne w przypadku dwudzielnych , cykli i kół .

W empirycznym porównaniu przeprowadzonym przez Lewisa w 2021 r. wykazano, że RLF zapewnia znacznie lepsze kolorowanie wierzchołków niż alternatywne heurystyki, takie jak zachłanny algorytm i O ( DSatur na losowych wykresach . Jednak czas wykonania z RLF również okazał się dłuższy niż w przypadku tych alternatyw ze względu na jego większą ogólną złożoność.

Linki zewnętrzne