Rozważmy problem, w którym jako dane wejściowe podajemy ukierunkowany wykres acykliczny , funkcję znakowania λ od V do jakiegoś zbioru L o całkowitej kolejności < L (np. Liczby całkowite) i gdzie jesteśmy proszeni o obliczyć leksykograficznie najmniejszy rodzaj topologiczny G pod względem λ . Dokładniej, A topologiczna sortowania z G jest wyliczenie V jako v = v 1 , ... , v n, tak, że dla wszystkich , ilekroć istnieje ścieżka od v i do v j w G , wówczas musimy mieć i < j . Etykiecie takiego topologicznej rodzaju jest kolejność elementów S otrzymuje się l = λ ( V 1 ) , ... , λ ( V n ) . Porządek leksykograficzny takich sekwencji (które wszystkie mają długość | V | ) jest zdefiniowany jako l < LEX iff istnieje pewna pozycjaitaka, że l i < L l ' i i l j = l ' j dla wszystkichj<i. Zwróć uwagę na fakt, że każda etykieta wSmoże być przypisana do wielu wierzchołków wV(w przeciwnym razie problem jest trywialny).
Problem ten można stwierdzić albo w wariancie obliczeniowym („obliczyć leksykograficznie minimalne sortowanie topologiczne”), albo w wariancie decyzyjnym („czy to słowo wejściowe jest minimalnym sortowaniem topologicznym?”). Moje pytanie brzmi: jaka jest złożoność tego problemu ? Czy jest w PTIME (lub w FP, dla wariantu obliczeniowego), czy jest to NP-trudne? Jeśli ogólnym problemem jest trudność NP, jestem również zainteresowany wersją, w której zestaw możliwych etykiet jest z góry ustalony (tj. Istnieje tylko stała liczba możliwych etykiet).
Uwagi:
Oto mały przykład z prawdziwego świata, który motywuje problem. Widzimy, że DAG reprezentuje zadania projektu (z zależnością między nimi), a etykiety są liczbami całkowitymi reprezentującymi liczbę dni, które zajmuje każde zadanie. Aby ukończyć projekt, zajmie mi to tyle samo czasu, bez względu na kolejność, jaką wybiorę dla zadań. Chciałbym jednak zaimponować mojemu szefowi i aby to zrobić, chcę wykonać jak najwięcej zadań tak szybko, jak to możliwe (w zachłanny sposób, nawet jeśli na końcu oznacza to bardzo powolne, ponieważ trudniejsze zadania pozostają). Wybór leksykograficznie Minimalne zamówienie optymalizuje następujące kryterium: Chcę wybrać rozkaz tak, że nie ma innej kolejności o ' a liczba dni n , gdzie po dni ukończyłbym więcej zadań z rozkazem o ′ niż z rozkazem o (tj. jeśli mój szef patrzy na czas n , robię lepsze wrażenie z o ′ ), ale dla wszystkich m < n wykonałem nie mniej zadań z zamówienie o ′ niż zamówienie o .
Aby dać wgląd w problem: już wiem z poprzednich odpowiedzi, że następujący powiązany problem jest trudny: „czy istnieje rodzaj topologiczny, który osiąga następującą sekwencję”? Jednak fakt, że chcę sekwencji, która jest minimalna dla tego porządku leksykograficznego, wydaje się bardzo ograniczać możliwe porządki topologiczne, które mogą to osiągnąć (w szczególności redukcje tych innych odpowiedzi już nie działają). Intuicyjnie jest znacznie mniej sytuacji, w których mamy wybór.
Zauważ, że wydaje się, że istnieją interesujące przeredagowania problemów pod względem pokrycia zestawu (przy ograniczeniu problemu do DAG, które są dwustronne, tj. Mają wysokość dwa): biorąc pod uwagę zestaw zbiorów, wylicz je w kolejności która minimalizuje leksykograficznie sekwencję | S 1 | , | S 2 ∖ S 1 | , | S 3 ∖ ( S 1 ∪ S 2 ) | , … , | S n ∖ (. Problem można również przeformułować na niekierowanych wykresach (stopniowo rozszerzaj połączony obszar wykresu zgodnie z kolejnością, która minimalizuje sekwencję leksykograficzną odkrytych etykiet). Jednak z uwagi na fakt, że sekwencjamusibyć zawsze zachłanna, z definicji porządku leksykograficznego, nie mogę uzyskać redukcji (np. Drzewa Steiner) do działania.
Z góry dziękuję za twoje pomysły!
Zgodnie z tym odnośnikiem (1) problem leksykograficzny pierwszego porządku topologicznego jest kompletny dla NLOG.
Możesz dokładniej przyjrzeć się temu artykułowi, aby upewnić się, że obejmuje on interesujący Cię przypadek. W szczególności, w oparciu o wersję raportu technicznego (pdf) tego artykułu, wydaje się, że „ traktuję porządek leksykograficzny wierzchołków jako ścisły (np .: w twojej notacji dla ), ale nie jestem pewien, czy to wpływa na możliwość zastosowania wyniku .u ≠ vλ(u)≠λ(v) u≠v
źródło