Uprość złożoność n multichoose k

11

Mam algorytm rekurencyjny o złożoności czasowej równoważnej do wybierania elementów k z powtórzeniem i zastanawiałem się, czy mogę uzyskać bardziej uproszczone wyrażenie big-O. W moim przypadku może być większe niż i rosną one niezależnie.kn

W szczególności oczekiwałbym wyraźnego wyrażenia wykładniczego. Najlepsze, jakie do tej pory mogłem znaleźć, to oparte na przybliżeniu Stirlinga , więc mogę z tego skorzystać, ale zastanawiałem się, czy mogę uzyskać coś ładniejszego.O(n!)O((n/2)n)

O((n+k1k))=O(?)

yoniLavi
źródło
Nie jest to do końca bardzo pomocne, ale bardzo interesujące przybliżenie czynnikowe Ramanujana
Pratik Deoghare
Dzięki n!π(ne)n8n3+4n2+n+1306 wygląda jak fajne przybliżenie, ale tak naprawdę nie wydaje się, aby to uprościć.
yoniLavi

Odpowiedzi:

6

Edycja: Ta odpowiedź dotyczy k<n . Bez ograniczenia k pod względem n wyrażenie jest nieograniczone.

Jeśli wówczas wyrażenie staje się . Zauważ, że według wzoru Stirlinga dla dowolnego gdzie jest entropią binarną. W szczególności . Dlatego mamy dlaO ( ( 2 ( n - 1 )k=n10<α<1(mO((2(n1)n1))0<α<1 H(q)=-PlogP-(1-q)log(1-P)H(1/2)=1K=n-1O( ( 2(n-1

(mαm)=Θ(m1/22H(α)m),
H(q)=qlogq(1q)log(1q)H(1/2)=1k=n1
O((2(n1)n1))=Θ((2n2)1/222n2)=Θ(4nn).

Ponieważ górna granica jest najgorszym przypadkiem (pozostawiam to jako ćwiczenie, aby to pokazać), twoje wyrażenie to .O ( 4 nk=n1O(4nn)

A.Schulz
źródło
Dzięki, dokładnie tego szukałem! i to jest kolejna rzecz motywująca mnie do studiowania teorii informacji.
yoniLavi
@ Falcor84: Miałem mniejszą literówkę w ostatnim przejściu. Część pierwiastka kwadratowego musi przejść do mianownika. Dlatego granica jest nieco lepsza niż ta przedstawiona przez Paresha. (W rzeczywistości granica jest asymptotycznie ciasna.)
A.Schulz,
Ja też powinienem był zauważyć ten mały znak minus, dzięki jeszcze raz.
yoniLavi
Twoje stwierdzenie „pozostawione jako ćwiczenie”, że jest najgorszym przypadkiem, jest błędne. Jeśli , wyrażenie to . Nie zawsze jest to mniej niż . n = 3 ( k + 2k=n1n=3( 4(k+2k)=(k+22)=(k+1)(k+2)2(42)=6
Peter Shor,
1
Ponieważ , problemem jest symetryczne i (który może rosnąć bez związku z moim przypadku ). Dlatego przypuszczam, że dokładniejszą odpowiedzią byłoby zastąpienie n w końcowej części odpowiedzinkx:=max(n,k)(n+k1k)=(n+k1n1)nkx:=max(n,k)
yoniLavi
2

Wolfram mówi Sondow (2005) [1], a Sondow i Zudilin (2006) [2] zauważyli nierówność: dla dodatnia liczba całkowita i liczba rzeczywista.mr1

14rm[(r+1)r+1rr]m<((r+1)mm)<[(r+1)r+1rr]m
mr1

Następnie możemy użyć z i . r=n

(n+k1k)<(n+kk)=((r+1)mm)
m=kr=nkm=k

Następnie mamy

(n+k1k)<[(r+1)r+1rr]m=(n+kk)n+k

Teraz wyrażenie dwumianowe ma najwyższą wartość w środku trójkąta Pascala. W naszym przypadku lub w .k = nn+k=2kk=n

Podstawiając to w powyższej nierówności, otrzymujemy: .

(n+k1k)<22n=4n

Dlatego ściślejsza granica to .

(n+k1k)=O(4n)

Możesz również zobaczyć, że dolna granica wartości maksymalnej wynosi

(n+k1k)=Ω(4nn)

Odniesienia:
[1] Sondow, J. "Problem 11132." Amer. Matematyka Miesięcznie 112, 180, 2005.
[2] Sondow, J. i Zudilin, W. „Stała Eulera, q-logarytmy i wzory Ramanujana i Gospera” Ramanujan J. 12, 225-244, 2006.

Paresh
źródło