Jak rozumiem, problem przypisania występuje w P, ponieważ węgierski algorytm może go rozwiązać w czasie wielomianowym - O (n 3 ). Rozumiem również, że problem z przypisaniem jest całkowitym problemem programowania liniowego , ale strona Wikipedii stwierdza, że jest to NP-Hard. Dla mnie oznacza to, że problem przypisania jest w NP-Hard.
Ale z pewnością problem przypisania nie może dotyczyć zarówno P, jak i NP-Hard, w przeciwnym razie P równałoby się NP? Czy strona Wikipedii oznacza po prostu, że ogólny algorytm rozwiązywania wszystkich problemów ILP to NP-Hard? Kilka innych źródeł twierdzi, że ILP jest trudna do NP, więc to naprawdę dezorientuje moje ogólne rozumienie klas złożoności.
Odpowiedzi:
Jeśli problemem jest NP-Hard, oznacza to, że istnieje klasa instancji tego problemu, których są NP-Hard. Jest całkiem możliwe, że inne konkretne klasy instancji mogą być rozwiązane w czasie wielomianowym.
Rozważmy na przykład problem znalezienia trójkolorowego wykresu . Jest to dobrze znany problem NP-Hard. Teraz wyobraź sobie, że jego instancje są ograniczone do wykresów, które są na przykład drzewami. Oczywiście w czasie wielomianowym można łatwo znaleźć 3-kolorowe zabarwienie drzewa (w rzeczywistości można również znaleźć 2-kolorowe zabarwienie).
Zastanów się przez chwilę nad problemami decyzyjnymi. Metoda udowodnienia twardości problemu decyzyjnegoP. opracowuje redukcję wielomianu (Karp) z innego problemuQ który jest znany jako NP-Hard. W tej redukcji pokazujesz, że istnieje funkcjafa który mapuje każdą instancję q problemu Q na przykład problemu P takie, że:
q jest tak dla instancji Q⟺f(q) jest tak dla instancji P . Oznacza to, że rozwiązanief(q) musi być „co najmniej tak trudne” jak rozwiązywanie q samo.
Zauważ, że nie jest to wymagane do obrazuf być równym zestawowi wystąpień P . Dlatego jest to całkowicie możliwe w przypadku problemuP ograniczone do niektórych podzbiorów, aby nie było trudne.
Aby wrócić do pierwotnego pytania:
źródło
Nie, specjalne przypadki mogą być łatwiejsze.
Rozważmy na przykład ten adres IPai≥0 dla i∈[1..n] :
st i dla .∑i=1nxi≥1
xi∈N i∈[1..n]
Znajduje minimum wśród (dla których nieuchronnie w optymalnym rozwiązaniu). Znalezienie minium liczby jest wyraźnie problemem wielomianowym.a1,…,an xi=1 n
źródło
Możesz modelować wielomianowo rozwiązany problem jako adres IP. Nie oznacza to, że problem jest trudny do NP. Oznacza to po prostu, że nie jest znany algorytm wielomianowy do rozwiązania modelu IP twojego problemu (chyba że P = NP).
Tak jak zasugerowałeś, problem przypisania jest w P, ale twój model IP jest trudny do NP.
źródło
Nie, istnieje specjalny rodzaj programu liczb całkowitych, jeśli macierzą ograniczeń jest TUM (macierz całkowicie niemodularna), wówczas można ją rozluźnić w programie liniowym, który można rozwiązać w czasie wielomianowym.
źródło
Problem przypisania nie jest ILP, ale problemem LP, a zatem nie trudnym do NP.
źródło