Đơn giản hóa độ phức tạp của n multichoose k


11

Tôi có một thuật toán đệ quy với độ phức tạp thời gian tương đương với việc chọn k phần tử từ n với sự lặp lại và tôi đã tự hỏi liệu tôi có thể có được biểu thức big-O đơn giản hơn không. Trong trường hợp của tôi, có thể lớn hơn và chúng phát triển độc lập.kn

Cụ thể, tôi mong đợi một số biểu thức hàm mũ rõ ràng. Điều tốt nhất tôi có thể tìm thấy cho đến nay là dựa trên xấp xỉ của Stirling , vì vậy tôi có thể sử dụng nó, nhưng tôi tự hỏi liệu tôi có thể có được thứ gì đẹp hơn không.O(n!)O((n/2)n)

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


Đây không phải là chính xác rất hữu ích nhưng rất gần đúng giai đoạn nhân tố của Ramanujan
Pratik Deoghare

Cảm ơn, n!π(ne)n8n3+4n2+n+1306 trông giống như một xấp xỉ tuyệt vời, nhưng thực sự nó dường như không giúp đơn giản hóa việc này.
yoniLavi

Câu trả lời:


6

Chỉnh sửa: Câu trả lời này là dành cho k<n . Không có giới hạn k về mặt n thì biểu thức không bị ràng buộc.

Nếu thì biểu thức của bạn trở thành . Lưu ý rằng theo công thức của Stirling cho bất kỳ trong đó là entropy nhị phân. Cụ thể là . Do đó, chúng tôi cók=n1O((2(n1)n1))0<α<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).

Vì giới hạn trên là trường hợp xấu nhất (tôi để nó như một bài tập để thể hiện điều này), biểu thức của bạn là .k=n1O(4nn)


Cảm ơn, chính xác những gì tôi đang tìm kiếm! và đó là một điều nữa thúc đẩy tôi nghiên cứu lý thuyết thông tin.
yoniLavi

@ Falcor84: Tôi đã có một lỗi đánh máy nhỏ hơn trong lần chuyển đổi trước. Phần căn bậc hai vội vàng đi đến mẫu số. Do đó, ràng buộc là tốt hơn một chút so với trình bày của Paresh. (Trên thực tế, ràng buộc chặt chẽ không có triệu chứng.)
A.Schulz

Tôi cũng nên nhận thấy rằng dấu trừ nhỏ, cảm ơn một lần nữa.
yoniLavi

Tuyên bố "bên trái như một bài tập" của bạn rằng là trường hợp xấu nhất là sai. Nếu , biểu thức là . Điều này không phải luôn luôn nhỏ hơn . k=n1n=3(k+2k)=(k+22)=(k+1)(k+2)2(42)=6
Peter Shor

1
Vì , nên vấn đề là đối xứng trong và (có thể phát triển mà không liên quan trong trường hợp của tôi ). Do đó, tôi cho rằng, câu trả lời chính xác hơn sẽ là thay thế n trong phần cuối của câu trả lời bằng(n+k1k)=(n+k1n1)nkx:=max(n,k)
yoniLavi

2

Wolfram nói Sondow (2005) [1] và Sondow và Zudilin (2006) [2] đã ghi nhận sự bất bình đẳng: cho một số nguyên dương và một số thực.

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

Sau đó, chúng ta có thể sử dụng với và .

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

Sau đó, chúng ta có

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

Bây giờ, biểu thức nhị thức có giá trị cao nhất ở giữa tam giác Pascal. Vì vậy, trong trường hợp của chúng tôi, hoặc tại .n+k=2kk=n

Thay vào đó trong bất đẳng thức trên, chúng ta nhận được: .

(n+k1k)<22n=4n

Do đó, giới hạn chặt hơn là .

(n+k1k)=O(4n)

Bạn cũng có thể thấy rằng giới hạn dưới của giá trị tối đa là

(n+k1k)=Ω(4nn)

Tài liệu tham khảo:
[1] Sondow, J. "Vấn đề 11132." Amer. Môn Toán. Hàng tháng 112, 180, 2005.
[2] Sondow, J. và Zudilin, W. "Hằng số Euler, q-logarit và công thức của Ramanujan và Gosper" Ramanujan J. 12, 225-244, 2006.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.