Sederhanakan kompleksitas multichoose k

11

Saya memiliki algoritma rekursif dengan kompleksitas waktu yang setara dengan memilih elemen k dari n dengan pengulangan, dan saya bertanya-tanya apakah saya bisa mendapatkan ekspresi O-besar yang lebih sederhana. Dalam kasus saya, k mungkin lebih besar dari n dan mereka tumbuh secara mandiri.

Secara khusus, saya mengharapkan beberapa ekspresi eksponensial eksplisit. Yang terbaik yang bisa saya temukan sejauh ini adalah berdasarkan perkiraan Stirling O(n!)O((n/2)n) , jadi saya bisa menggunakannya, tetapi saya bertanya-tanya apakah saya bisa mendapatkan sesuatu yang lebih baik.

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

yoniLavi
sumber
Ini tidak persis sangat membantu tetapi sangat menarik perkiraan faktorial Ramanujan
Pratik Deoghare
Terima kasih, terlihat seperti pendekatan yang keren, tetapi memang sepertinya tidak membantu menyederhanakan ini. n!π(ne)n8n3+4n2+n+1306
yoniLavi

Jawaban:

6

Sunting: Jawaban ini untuk . Tanpa membatasi k dalam hal n ekspresi tidak dibatasi.k<nkn

Jika maka ekspresi Anda menjadi O ( ( 2 ( n - 1 )k=n1. Perhatikan bahwa dengan rumus Stirling untuk0<α<1(mO((2(n1)n1))0<α<1 di manaH(q)=-qlogq-(1-q)log(1-q)adalah entropi biner. KhususnyaH(1/2)=1. Karenanya kita memiliki untukk=n-1

(mαm)=Θ(m1/22H(α)m),
H(q)=-qcatatanq-(1-q)catatan(1-q)H(1/2)=1k=n-1
HAI((2(n-1)n-1))=Θ((2n-2)-1/222n-2)=Θ(4nn).

Karena batas atas adalah kasus terburuk (saya biarkan sebagai latihan untuk menunjukkan ini), ekspresi Anda adalah O ( 4 nk=n-1.HAI(4nn)

A.Schulz
sumber
Terima kasih, persis apa yang saya cari! dan itu adalah hal lain yang memotivasi saya untuk mempelajari teori informasi.
yoniLavi
@ Falcor84: Saya mendapat kesalahan ketik yang lebih kecil pada transisi terakhir. Bagian akar kuadrat harus pergi ke penyebut. Karenanya ikatannya sedikit lebih baik daripada yang ditunjukkan oleh Paresh. (Sebenarnya,
ikatannya
Aku juga seharusnya memperhatikan tanda minus kecil itu, terima kasih lagi.
yoniLavi
Pernyataan "kiri sebagai latihan" Anda bahwa adalah kasus terburuk adalah salah. Jika n = 3 , ekspresinya adalah ( k + 2k=n-1n=3 . Ini tidak selalu kurang dari ( 4(k+2k)=(k+22)=(k+1)(k+2)2. (42)=6
Peter Shor
1
Sejak , masalahnya simetris dalamndank(yang dapat tumbuh tanpa hubungan dalam kasus saya). Oleh karena itu, saya kira, jawaban yang lebih akurat adalah mengganti n pada bagian akhir dari jawaban denganx:=max(n,k)(n+k-1k)=(n+k-1n-1)nkx: =mSebuahx(n,k)
yoniLavi
2

Wolfram berkata Sondow (2005) [1] dan Sondow dan Zudilin (2006) [2] mencatat ketidaksetaraan:

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

(n+k-1k)<(n+kk)=((r+1)mm)
r=nkm=k

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

n+k=2kk=n

(n+k-1k)<22n=4n

(n+k-1k)=HAI(4n)

(n+k-1k)=Ω(4nn)

Referensi:
[1] Sondow, J. "Masalah 11132." Amer. Matematika Bulanan 112, 180, 2005.
[2] Sondow, J. dan Zudilin, W. "Konstanta, q-logaritma Euler, dan formula Ramanujan dan Gosper" Ramanujan J. 12, 225-244, 2006.

Paresh
sumber