Các thuật toán ngẫu nhiên hiệu quả và đơn giản trong đó khó xác định


33

Tôi thường nghe rằng đối với nhiều vấn đề chúng ta biết các thuật toán ngẫu nhiên rất thanh lịch, nhưng không, hoặc chỉ có các giải pháp xác định, phức tạp hơn. Tuy nhiên, tôi chỉ biết một vài ví dụ cho việc này. Nổi bật nhất

  • Quicksort ngẫu nhiên (và các thuật toán hình học liên quan, ví dụ cho vỏ lồi)
  • Cắt ngẫu nhiên
  • Kiểm tra nhận dạng đa thức
  • Vấn đề đo lường của Klee

Trong số này, chỉ có kiểm tra nhận dạng đa thức dường như thực sự khó khăn mà không sử dụng ngẫu nhiên.

Bạn có biết nhiều ví dụ về các vấn đề trong đó một giải pháp ngẫu nhiên rất thanh lịch hoặc rất hiệu quả, nhưng các giải pháp xác định thì không? Lý tưởng nhất, các vấn đề nên dễ dàng thúc đẩy cho giáo dân (không giống như kiểm tra nhận dạng đa thức).


10
Một ví dụ khác là thử nghiệm nguyên thủy. Các thử nghiệm tính nguyên thủy xác suất Miller Miller Rabin và Solovay Kiếm Strassen rất đơn giản và hiệu quả. Đó là một vấn đề mở từ lâu để tìm ra một bài kiểm tra tính nguyên thủy xác định hiệu quả, đã được giải quyết bởi Agrawal, Kayal và Saxena. Bài kiểm tra AKS là bài kiểm tra tính nguyên thủy kiểm tra đa thức xác định. Tuy nhiên, nó không đơn giản và không hiệu quả như các xét nghiệm xác suất.
Yury

8
Lựa chọn ngẫu nhiên (tìm trung bình) có phần dễ dàng hơn so với xác định. Các thuật toán ngẫu nhiên để giải quyết xấp xỉ việc đóng gói và bao trùm LP nhanh hơn (trong trường hợp xấu nhất) so với các đối tác xác định của chúng ( KY07 , GK95 ). Nhiều vấn đề trực tuyến đã ngẫu nhiên các alg cạnh tranh hơn bất kỳ thuật toán xác định FK91 nào .
Neal Young

11
Việc tính toán thể tích của một cơ thể lồi ở các kích thước cao thừa nhận một phép tính gần đúng thông qua ngẫu nhiên. Được biết, không có thuật toán xác định nào có thể đưa ra một xấp xỉ tốt. Do đó ngẫu nhiên là rất cần thiết ở đây. (1+ϵ)
Chandra Chekuri

5
@ChandraChekuri đó là một nhận xét tốt và sẽ là một câu trả lời thậm chí còn tốt hơn :)
Suresh Venkat

3
@ChandraChekuri trong mô hình oracle, nếu BPPP
Sasho Nikolov

Câu trả lời:


36

Sắp xếp các loại hạt và bu lông

Vấn đề sau đây được Rawlins đề xuất vào năm 1992: Giả sử bạn được cung cấp một bộ sưu tập n hạt và n bu lông. Mỗi bu lông vừa vặn chính xác một đai ốc, và mặt khác, đai ốc và bu lông có kích thước riêng biệt. Các kích thước quá gần để cho phép so sánh trực tiếp giữa các cặp bu lông hoặc cặp đai ốc. Tuy nhiên, bạn có thể so sánh bất kỳ đai ốc với bất kỳ bu lông bằng cách cố gắng vít chúng lại với nhau; trong thời gian liên tục, bạn sẽ khám phá xem bu-lông quá lớn, quá nhỏ hay vừa phải cho đai ốc. Nhiệm vụ của bạn là khám phá bu lông nào phù hợp với từng đai ốc, hoặc tương đương, để sắp xếp các đai ốc và bu lông theo kích thước.

Một biến thể đơn giản của quicksort ngẫu nhiên giải quyết vấn đề trong thời gian với xác suất cao. Chọn một bu lông ngẫu nhiên; sử dụng nó để phân vùng các loại hạt; sử dụng đai ốc phù hợp để phân vùng các bu lông; và tái diễn. Tuy nhiên, việc tìm kiếm một thuật toán xác định thậm chí chạy trong o ( n 2 ) là không cần thiết. Xác định O ( n log nO(nlogn)o(n2)thuật toán thời gian ) cuối cùng đã được tìm thấy vào năm 1995 bởi Bradford và độc lập bởi Komlós, Ma và Szemerédi. Dưới mui xe, cả hai thuật toán đều sử dụng các biến thể của mạng sắp xếp song song AKS, do đó hằng số ẩn trong O ( nO(nlogn) giới hạn thời gian là khá lớn; hằng số ẩn cho thuật toán ngẫu nhiên là 4.O(nlogn)

  • Noga Alon, Manuel Blum, Amos Fiat, Sampath Kannan, Moni Noar, và Rafail Ostrovsky. Phù hợp với các loại hạt và bu lông. Proc. Ngày 5 tháng 5 Biểu tượng ACM-SIAM. Thuật toán rời rạc , 690 Từ696, 1994.
  • Noga Alon, Phillip G. Bradford và Rudolf Fleischer. Phù hợp với các loại hạt và bu lông nhanh hơn. Thông báo. Proc. Lett.59 (3): 123 Hàng 127, 1996.
  • Phillip G. Bradford. Kết hợp các loại hạt và bu lông tối ưu. Công nghệ. Dân biểu MPI-I-95-1-025, Max-Planck-Institut für Informatik, 1995. http://domino.mpi-inf.mpg.de/iNET/reports.nsf/NumberView/1995-1-025
  • Phillip G. Bradford và Rudolf Fleischer. Phù hợp với các loại hạt và bu lông nhanh hơn. Proc. Thứ 6 Nội bộ Triệu chứng Thuật toán tính toán., 404 Từ 408, 1995. Bài giảng Ghi chú tính toán. Khoa học 1004.
  • János Komlós, Yuan Ma và Endre Szemerédi. Kết hợp các đai ốc và bu lông trong thời gian .O(nlogn)SIAM J. Toán rời rạc. 11 (3): 347 Phản372, 1998.
  • Gregory J. E. Rawlins. So với cái gì? : Giới thiệu về Phân tích thuật toán . Báo chí Khoa học Máy tính / WH Freeman, 1992.

2
Đây là một ví dụ đẹp, nhưng nó là một vấn đề tiên tri. Có một số cách để loại bỏ các nhà tiên tri từ nó?
Peter Shor

Có một liên kết đến giấy 98 Szemeredi? Cái này khó thế nào? Song song so sánh mỗi bu lông với một đai ốc duy nhất và đặt từng cặp theo thứ tự được sắp xếp; loại bỏ các yếu tố phù hợp. Trong các bước log (n) hợp nhất các chuỗi nbnbnbnbnb được sắp xếp, khởi động các trận đấu khi chúng phát sinh. EDIT: Vâng, tính không tương thích của chuỗi nnn và bbbb gây khó chịu ở bước hợp nhất.
Chad Brewbaker

@ChadBrewbaker Giả sử trong mỗi cặp trừ một, bu lông nhỏ hơn đai ốc. (Vâng, điều này là có thể.) Bây giờ thuật toán của bạn làm gì? Nói cách khác, "phiền toái" = "toàn bộ vấn đề".
Jeffε

Tôi đang tìm tờ giấy Szemeredi và nghĩ to rằng nó khó như thế nào. Vâng, tôi đồng ý rằng một cách tiếp cận dựa trên hợp nhất là không cần thiết; nhưng các bài báo của Vishkin về kết nối đồ thị song song để lại cảm giác không thể tin được.
Chad Brewbaker

Với mỗi so sánh từ đai ốc và bu-lông, bạn có được một cạnh được định hướng được thêm vào biểu đồ hoặc khớp để loại bỏ cả hai đỉnh. Mục tiêu sẽ là hợp nhất các thành phần được kết nối theo cách chúng thu gọn tất cả các kết quả khớp giữa chúng với khối lượng công việc tuyến tính và giữ kích thước lưu trữ của các cạnh trong một thành phần được kết nối giới hạn trong không gian tuyến tính.
Chad Brewbaker

17

Một khi bạn không chỉ nói về đa thời gian mà là nhìn vào nhiều mô hình tính toán mà chúng tôi nghiên cứu, có những ví dụ ở khắp mọi nơi:

Trong Logspace: Kết nối ST không định hướng (trong RL từ năm 1979 và chỉ trong L từ năm 2005)

Trong NC: Tìm song song hoàn hảo trong đồ thị hai cực (trong RNC và vẫn chưa được biết là ở NC)

Trong các bằng chứng tương tác: những cái xác định cho NP, trong khi những cái ngẫu nhiên có thể làm PSPACE. Liên quan: kiểm tra một bằng chứng xác định đòi hỏi phải xem xét tất cả các bằng chứng, trong khi bằng chứng của PCP cho phép bạn chỉ kiểm tra một số bit không đổi.

Trong thiết kế cơ chế thuật toán: nhiều cơ chế xấp xỉ trung thực ngẫu nhiên không có đối tác xác định.

Trong độ phức tạp trong giao tiếp: hàm đẳng thức yêu cầu giao tiếp tuyến tính một cách xác định nhưng logarit (hoặc, tùy thuộc vào mô hình chính xác, hằng số) giao tiếp ngẫu nhiên.

Trong cây quyết định: việc đánh giá một cây và hoặc hoặc cây đòi hỏi các truy vấn tuyến tính một cách xác định nhưng ít hơn nhiều với ngẫu nhiên. Điều này về cơ bản tương đương với việc cắt tỉa alpha-beta, đưa ra thuật toán tuyến tính phụ ngẫu nhiên để đánh giá cây trò chơi.

Trong các mô hình phát trực tuyến, các mô hình điện toán phân tán: xem các câu trả lời trước.


12

Hầu hết các thuật toán phát trực tuyến

Trong mô hình tính toán phát trực tuyến ( AMS , cuốn sách ), một thuật toán xử lý một chuỗi các bản cập nhật trực tuyến và bị hạn chế chỉ giữ không gian tuyến tính. Tại bất kỳ thời điểm nào, thuật toán sẽ có thể trả lời một truy vấn.

Đối với nhiều vấn đề tồn tại thuật toán phát ngẫu nhiên không gian tuyến tính trong khi có thể chứng minh không có thuật toán xác định nào có thể giải quyết vấn đề trong không gian tuyến tính. Điều này có liên quan đến khoảng cách giữa độ phức tạp của giao tiếp ngẫu nhiên và xác định. Một ví dụ đơn giản là bài toán đếm riêng biệt : tại mỗi thời điểm bước thuật toán được đưa ra một số nguyên i t[ n ] và nó có thể xấp xỉ D m = | { I t : t = 1 ... m } | , tức là số lượng số nguyên riêng biệt được thấy cho đến bước mtit[n]Dm=|{it:t=1m}|m. Thật dễ dàng để chỉ ra rằng bất kỳ thuật toán xác định nào đạt được xấp xỉ không đổi phải sử dụng không gian (xem ví dụ: ghi chú bài giảng của Piotr Indyk). Mặt khác, thuật toán lấy mẫu thông minh của Flajolet và Martin (phân tích đơn giản với tính ngẫu nhiên hạn chế trong bài báo AMS được liên kết ở trên) đạt được xấp xỉ không đổi trong các bit O ( log n ) . Công trình mới nhất về vấn đề này cho O tối ưu ( 1Ω(n)O(logn)thuật toán mà tính ra một1±εxấp xỉ.O(1ϵ2+logn)1±ϵ


8

Tìm một bộ độc lập tối đa trong một mạng lưới phân phối của nút với mức độ tối đa Δ . Có một tiếng thấp hơn bị ràng buộc [3] của phút ( Ω ( log Δ ) , Ω ( nΔgiữ cho các thuật toán ngẫu nhiên và xác định.min(Ω(logΔ),Ω(logn))

Sau đây là một thuật toán phân phối ngẫu nhiên đơn giản [1] tiến hành trong các vòng đồng bộ . (Trong một vòng, mọi nút có thể thực hiện một số tính toán cục bộ và gửi tin nhắn cho hàng xóm của nó. Những tin nhắn này được đảm bảo nhận được trước khi bắt đầu vòng tiếp theo.)u

  1. Trong mỗi vòng, mỗi nút hoạt động tự đánh dấu với xác suất 1 / d u trong đó d u > 0 là mức độ của u ; nếu d u = 0 , u chỉ cần nhập tập độc lập. (Ban đầu, mọi nút đều hoạt động.)u1/dudu>0udu=0u
  2. Nếu là nút được đánh dấu duy nhất trong vùng lân cận, uuu sẽ nhập tập hợp độc lập, tự hủy kích hoạt và thông báo cho tất cả các hàng xóm của nó để tự hủy kích hoạt. Độ của các nút hoạt động còn lại được giảm tương ứng, tức là, tất cả các cạnh của các nút bị vô hiệu hóa được loại bỏ.
  3. Mặt khác, nếu có một số nút lân cận cũng được đánh dấu, đỉnh mức độ thấp hơn sẽ tự đánh dấu và vẫn hoạt động.v

Có thể chỉ ra rằng thuật toán này chấm dứt trong các vòng với xác suất cao, bằng cách lập luận rằng một nửa các cạnh còn lại bị xóa trong mỗi vòng. Ngược lại, các thuật toán nổi tiếng nhanh nhất phân phối xác định [2] mất O ( n 1 / O(logn)vòng và phức tạp hơn đáng kể.O(n1/logn)


[1] Michael Luby: Thuật toán song song đơn giản cho bài toán tập độc lập tối đa. SIAM J. Tính toán. 15 (4): 1036-1053 (1986) http://dx.doi.org/10.1137/0215074

[2] Alessandro Panconesi, Aravind Srinivasan: Về sự phức tạp của phân rã mạng phân tán. J. Thuật toán 20 (2): 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017

[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Tính toán cục bộ: Giới hạn trên và dưới. CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470


Một thuật toán gần đây (tại PODC 2013), lấy cảm hứng từ các hệ thống sinh học, đạt được hiệu suất tốt như của Luby bằng cách sử dụng một cơ chế phản hồi cục bộ đơn giản. arxiv.org/abs/1211.0235
András Salamon

6

Bầu cử lãnh đạo trong một vòng quy trình ẩn danh

1

Có một lập luận đơn giản (ví dụ [1]) rằng không có thuật toán bầu cử lãnh đạo xác định cho một vòng ẩn danh.

Mô hình: Chúng tôi giả định rằng tính toán tiến bộ trong các vòng đồng bộ trong đó, trong mỗi vòng, mỗi quy trình thực hiện một số tính toán cục bộ, gửi tin nhắn cho hàng xóm trong vòng và nhận tin nhắn từ hàng xóm.

Ar01

r0rArrr+1A

An[1,n4]


[1] Dana Angluin: Thuộc tính địa phương và toàn cầu trong Mạng của bộ xử lý (Tóm tắt mở rộng). STOC 1980: 82-93. http://doi.acm.org/10.1145/800141.804655


6

Vấn đề chính trong một mô hình truy vấn.

nij

n/2O(n)

O(n)

FRK Chung, RL Graham, J. Mao, và AC Yao, các chiến lược lãng quên và thích ứng cho các vấn đề về Đa số và Đa số, Proc. COCOON 2005 , trang 329 Từ338.

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.