Yêu cầu lưu trữ cho lựa chọn trung bình (hai thuật toán vượt qua)


18

Trong một bài báo cổ điển, Munro và Paterson nghiên cứu vấn đề cần bao nhiêu dung lượng cho một thuật toán để tìm trung vị trong một mảng được sắp xếp ngẫu nhiên. Cụ thể, họ tập trung vào mô hình sau:

đầu vào được đọc từ trái sang phải trong một số P lần.

Nó được chỉ ra rằng các ô nhớ là đủ, nhưng giới hạn dưới tương ứng chỉ được biết với P = 1. Tôi chưa thấy kết quả nào cho P> 1. Có ai biết giới hạn dưới như vậy? O(n12P)

Lưu ý rằng khó khăn chính ở đây là ở lần thứ hai, đầu vào không được sắp xếp ngẫu nhiên nữa.

Câu trả lời:


14

Hãy thử bài viết này của Chan trong một SODA gần đây: http://portal.acm.org/citation.cfm?id=1721842&dl=ACM .

Một tìm kiếm nhanh của Google cũng tìm thấy bài báo sau có vẻ phù hợp, nhưng tôi chưa đọc nó: http://portal.acm.org/citation.cfm?id=1374470 .


Cảm ơn bạn, bài báo thứ hai dường như đưa ra một câu trả lời cho câu hỏi của tôi. Câu trả lời như vậy không có trong các bài báo trước đó tôi đã biết.
MassimoLauria

18

Bài báo đầu tiên để chứng minh giới hạn cho hơn 1 lượt là bài viết của tôi với Jayram và Amit từ SODA'08. Sau đó, có bài báo mà Warren đề cập, giúp cải thiện giới hạn bằng một bằng chứng rõ ràng hơn.

Nói tóm lại, chúng tôi hiểu sự phụ thuộc nếu bạn cho phép các hằng số đứng trước số lượng đường chuyền. Tất nhiên, các hằng số này nằm trong số mũ, vì vậy bạn có thể yêu cầu hiểu chính xác. Khiếu nại chính của tôi là mô hình truyền phát đa luồng không phải là động lực tốt.

Câu hỏi hấp dẫn hơn là liệu chúng ta có thể chứng minh một chương trình phân nhánh bị ràng buộc thấp hơn không. Có thể là ngay cả đối với một thuật toán không gian giới hạn có thể truy cập bộ nhớ khi nó vừa ý, chiến lược tốt nhất là chỉ thực hiện truyền phát đa luồng?

Câu trả lời dường như là khẳng định, và chúng tôi có một số tiến bộ để chứng minh điều đó.


5
Tôi nghĩ rằng truyền phát đa luồng một mô hình tự nhiên trong các loại thử nghiệm sau: Bạn sử dụng lấy mẫu ngẫu nhiên để thực hiện kiểm tra thống kê (ví dụ: thử nghiệm hoán vị). Bạn chạy hàng tỷ thí nghiệm; mỗi thử nghiệm nhận được các số ngẫu nhiên từ PRNG và tạo ra một số giá trị đầu ra. Sau đó, bạn muốn tính toán trung vị, biểu đồ, vv, của các giá trị này. Bạn không có quyền truy cập ngẫu nhiên hiệu quả vào luồng đầu ra của mình và bạn không có bộ nhớ để lưu trữ mọi thứ. Tuy nhiên, bạn có thể phát lại luồng; chỉ cần đặt lại PRNG của bạn với cùng một hạt giống và chạy lại thuật toán của bạn.
Jukka Suomela

2
Tất cả chúng ta đều có thể đồng ý rằng điều tốt nhất là có giới hạn trên trong mô hình truyền phát đa luồng và khớp với giới hạn dưới trong một số chương trình phân nhánh có liên quan.
MassimoLauria
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.