Zliczanie liczby prostych ścieżek na nieukierowanym wykresie

18

W jaki sposób mogę ustalić liczbę unikalnych prostych ścieżek na niekierowanym wykresie? Albo dla określonej długości, albo w zakresie dopuszczalnych długości.

Przypomnij sobie, że prosta ścieżka to ścieżka bez cykli, więc mówię o policzeniu liczby ścieżek bez cyklu.

Ryan
źródło
2
Pytanie zostało już zadane na stronie mathoverflow: mathoverflow.net/questions/18603/…
Listing
5
W rzeczywistości pytanie w matematycznym przepływie dotyczyło znalezienia wszystkich ścieżek, a nie ich liczenia. Ich znalezienie może być znacznie trudniejsze.
DCTLib,
1
Oprócz odniesień podanych w odpowiedziach, jedną trywialną obserwacją jest to, że jeśli można policzyć liczbę ścieżek o długości wówczas można odpowiedzieć na pytanie o istnienie ścieżki hamiltonowskiej. Najprawdopodobniej nie jest to P.n1
Saeed

Odpowiedzi:

20

Istnieje kilka algorytmów, które liczą proste ścieżki długości w czasie , który jest o wiele lepszy niż czas brutalnej siły ( ). Patrz np. Vassilevska i Williams, 2009 .kf(k)nk/2+O(1)O(nk)

Andreas Björklund
źródło
18

Jest to # P-complete (Valiant, 1979), więc prawdopodobnie nie zrobisz nic lepszego niż brutalna siła, jeśli chcesz dokładnej odpowiedzi. Przybliżenia omawia Roberts i Kroese (2007).


B. Roberts i DP Kroese, " Szacowanie liczby ścieżek - na wykresiest ". Journal of Graph Algorytmy i aplikacje , 11 (1): 195–214, 2007.

LG Valiant, „ Złożoność problemów związanych z wyliczaniem i niezawodnością ”. SIAM Journal on Computing 8 (3): 410-421, 1979.

David Richerby
źródło
4
Dokument Robertsa i Kroese'a nie wydaje się gwarantować przybliżenia. Czy znany jest PTAS dla tego problemu?
Sasho Nikolov,
3
@SashoNikolov, wydaje się mało prawdopodobne, aby istniał jakiś rozsądny algorytm aproksymacyjny. Biorąc pod uwagę uzyskaj G z G , zastępując każdy węzeł kliką o rozmiarze N = n c, gdzie n = | V | oraz c 1 . Dla każdej prostej ścieżki długości w G istnieją z grubsza ( N ! ) ścieżki w G . Więc jeśli G masol=(V.,mi)solsolN.=ndon=|V.|do1sol(N!)GG ścieżka Hamiltona, będzie co najmniej ( N ! ) n lub tak prosteścieżki s - t w G , a w przeciwnym razie co najwyżej coś takiego jak ( n - 1 ) ! ( N ! ) N - 1 prosteścieżki s - t . Tak więc przybliżenie w granicach około N powinno być trudne ! / ( n - 1 ) ! n c -st(N!)nstG(n1)!(N!)n1st. N!/(n1)!nc1!
Neal Young
6

Chciałbym dodać inny algorytm aproksymacyjny, sparametryzowany: dla ustalonego (lub bardziej precyzyjnie δ = Ω ( 1δ>0), można obliczyćw(1+hemibursztynianu)-approximation liczby prostych odcinków, w obu nieukierunkowane lub skierowanej wykresie o długościKw czasieO*(2O(K)).δ=Ω(1poly(k))(1+δ)kO(2O(k))

RB
źródło