W grze typu tower defense masz siatkę NxM z początkiem, wykończeniem i wieloma ścianami.
Wrogowie podążają najkrótszą ścieżką od początku do końca, nie przechodząc przez ściany (zwykle nie są ograniczeni do siatki, ale dla uproszczenia powiedzmy, że są. W obu przypadkach nie mogą poruszać się po przekątnych „otworach”)
Problem (przynajmniej w przypadku tego pytania) polega na umieszczeniu do K dodatkowych ścian, aby zmaksymalizować ścieżkę, którą muszą pokonać wrogowie, bez całkowitego blokowania początku od końca. Na przykład dla K = 14
Ustaliłem, że jest to ten sam problem, co „k najbardziej istotnych węzłów”:
Biorąc pod uwagę nieukierowany wykres G = (V, E) i dwa węzły s, t ∈ V, k-najbardziej żywotnymi węzłami jest k węzłów, których usunięcie maksymalizuje najkrótszą ścieżkę od s do t.
Khachiyan i wsp. 1 wykazali, że nawet jeśli wykres jest nieważony i dwustronny, nawet przybliżenie długości maksymalnej najkrótszej ścieżki w ramach współczynnika 2 wynosi NP-Twardość (biorąc pod uwagę k, s, t) .
Nie wszystko jednak stracone: później L. Cai i wsp. 2 wykazali, że w przypadku „dwustronnych grafów permutacyjnych” problem ten można rozwiązać w czasie pseudo-wielomianowym za pomocą „modelu przecięcia”.
Nie byłem w stanie znaleźć niczego konkretnie na nieważonych grafach siatkowych i nie mogę zrozumieć, w jaki sposób powiązane są „dwustronne grafy permutacyjne”. Czy opublikowano jakieś badania dotyczące mojego problemu - może szukam w zupełnie niewłaściwym miejscu? Nawet porządny algorytm aproksymacji pseudo-wielomianowej działałby dobrze. Dzięki!
1 L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, G. Rudolf i J. Zhao „O problemach z krótką ścieżką: Ograniczone całkowite i ograniczone węzły”, Teoria systemów komputerowych 43 ( 2008), 2004–233. link .
2 L. Cai i J. Mark Keil, „Znajdowanie k najważniejszych węzłów na wykresie interwałowym”. link .
Uwaga: to pytanie jest kontynuacją mojego pytania dotyczącego przepełnienia stosu znalezionego tutaj .