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+k−1k))=O(?)


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=n−1. Perhatikan bahwa dengan rumus Stirling untuk0<α<1(mO((2(n−1)n−1))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)=Θ(m−1/22H(α)m),
H(q)=-qcatatan⁡q-(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)


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
mr≥1

(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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.