Biorąc pod uwagę rodzinę najwyżej n podzbiorów { 1 , 2 , … , n } . Zamknięcie związek C jest inny zestaw rodziny C zawierający każdy zestaw, które mogą być skonstruowane poprzez związek 1 lub więcej grup w F . Przez | C | oznaczymy liczbę zestawów w C .
Jaki jest najszybszy sposób na obliczenie zamknięcia związku?
Wykazałem równoważność między zamknięciem unii a listowaniem wszystkich maksymalnych niezależnych zbiorów na grafie dwustronnym, dlatego wiemy, że decyzja o wielkości zamknięcia unii jest # P-ukończona.
Jednak nie jest to sposób wymienić wszystkie maksymalne niezależne zestawy (lub maksymalne klik) w czas na wykresie n węzłów i m krawędzie Tsukiyama i inni. 1977. Nie jest to jednak wyspecjalizowane w przypadku grafów dwustronnych.
Daliśmy algorytm dla grafów dwustronnych z runtime http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf
Nasza metoda opiera się na obserwacji, że dowolny element w może być wykonany przez połączenie jakiegoś innego elementu C i jednego z oryginalnych zbiorów. Dlatego za każdym razem, gdy dodamy element do C, spróbujemy rozszerzyć go o jeden z n oryginalnych zestawów. Dla każdego z tych n ⋅ | C | ustawia musimy sprawdzić, czy są one nadal w C . Przechowujemy C jako drzewo wyszukiwania binarnego, więc każde wyszukiwanie zajmuje log | C | ⋅ n razem.
Czy można znaleźć związek zamknięcia w czasie O ( | C | ⋅ n 2 ) ? Czy nawet w czasie O ( | C | ⋅ n ) ?