Jeden z moich znajomych pyta mnie o następujący problem z planowaniem na drzewie. Uważam, że jest bardzo czysty i interesujący. Czy jest na to jakieś odniesienie?
Problem: Istnieje drzewo , każda krawędź ma symetryczny koszt podróży 1 . Dla każdego wierzchołka v I nie jest to zadanie, które musi być wykonane przed jego termin d I . Zadanie jest również oznaczone jako v i . Każde zadanie ma jednolitą wartość 1. Czas przetwarzania wynosi 0 dla każdego zadania , tzn. Odwiedzenie zadania przed upływem terminu jest równe jego ukończeniu. Bez utraty ogólności, niech v 0 oznacza rdzeń i zakładając, że nie ma zadania zlokalizowanego na v 0 . W v 0 znajduje się pojazdw czasie 0. Ponadto zakładamy, że dla każdego wierzchołka , oznacza głębokość v i . Jest to oczywiste, ponieważ wierzchołek z terminem krótszym niż jego głębokość należy traktować jako odstający. Problem polega na znalezieniu harmonogramu, który zakończy jak najwięcej zadań.
Postęp:
- Jeśli drzewo jest ograniczone do ścieżki, to jest w za pomocą programowania dynamicznego.
- Jeżeli drzewo uogólnić na wykresie, to jest -Complete.
- Mam bardzo prosty, zachłanny algorytm, który uważa się za aporoksymację 3-czynnikową. Nie udowodniłem tego całkowicie. Teraz bardziej interesują mnie wyniki trudne dla NP. :-)
Dzięki za radę.
źródło
Odpowiedzi:
Nie jestem pewien, czy to jest twoja odpowiedź (patrz poniżej), ale trochę za długo na komentarze.
Myślałem, że twój problem był taki:( P| TREE; pja= 1 | Σ Tja) , gdzie:
W takim przypadku problem jest trudny do rozwiązania: można go postrzegać jako uogólnienie minimalizowania całkowitej spóźnienia na pojedynczej maszynie z ograniczeniami pierwszeństwa . Rzeczywiście w tym dokumencie stwierdzono, że w przypadku wielu łańcuchów liniowych jest trudny do przeprowadzenia na jednym procesorze. Łatwa transformacja polega na wzięciu drzew z jednego korzenia i liniowych łańcuchów zaczynających się od korzenia.
Jestem jednak zaskoczony, ponieważ wydaje się, że w przypadku pojedynczego łańcucha liniowego użyłbyś programowania dynamicznego. Nie rozumiem, dlaczego miałbyś potrzebować DP, ponieważ wydaje mi się, że planując pojedynczy łańcuch liniowy, nie masz dużego wyboru z powodu ograniczeń pierwszeństwa: tylko jeden wybór. Więc może źle zrozumiałem twój problem.
źródło
Aby było to prawdą, musimy poczynić pewne założenia. Zobacz komentarze poniżej
źródło
Problem uzyskania stałego przybliżenia dla tego przypadku lub udowodnienia, że NP-Hard jest nadal otwarty i każdy wynik byłby dobrą publikacją. Niektóre specjalne przypadki zostały rozwiązane. Ja wraz z innymi mam częściowe wyniki, które rozwiązują specjalne przypadki, takie jak pająki, drzewa o stałej wysokości. Ale ogólny problem drzew jest nierozwiązany.
źródło