Các vấn đề trong P với các thuật toán ngẫu nhiên nhanh hơn có thể chứng minh


20

Có bất kỳ vấn đề nào trong P có thuật toán ngẫu nhiên đánh bại các giới hạn thấp hơn trên các thuật toán xác định không? Cụ thể hơn, chúng ta có biết nào trong đó không? Ở đây \ mathsf {PTIME} (f (n)) có nghĩa là tập hợp các ngôn ngữ có thể quyết định bởi một TM ngẫu nhiên có lỗi liên tục (một hoặc hai mặt) trong các bước f (n) .kDTIME(nk)PTIME(nk)PTIME(f(n))f(n)

Sự ngẫu nhiên có mua cho chúng ta bất cứ thứ gì bên trong P không?

Để rõ ràng, tôi đang tìm kiếm một cái gì đó mà sự khác biệt là không có triệu chứng (tốt nhất là đa thức, nhưng tôi sẽ giải quyết cho polylogarithmic), không chỉ là một hằng số.

Tôi đang tìm kiếm các thuật toán không có triệu chứng tốt hơn trong trường hợp xấu nhất. Các thuật toán với độ phức tạp dự kiến ​​tốt hơn không phải là những gì tôi đang tìm kiếm. Ý tôi là các thuật toán ngẫu nhiên như trong RP hoặc BPP chứ không phải ZPP.


Có lẽ "kỹ thuật của Yao" là những gì bạn đang tìm kiếm. Một mô tả ngắn gọn có thể được tìm thấy tại cs.pitt.edu/~kirk/cs2150/yao/yao.html
Wu Yin

@WuYin nếu tôi hiểu chính xác theo hướng các thuật toán ngẫu nhiên giới hạn thấp hơn theo hành vi trường hợp trung bình của thuật toán xác định .. Tôi sẽ xem xét thêm về nó, nhưng theo cách tôi thấy, điều này chỉ có thể dẫn đến việc chứng minh tính ngẫu nhiên đó không không mua bất cứ thứ gì chúng ta bên .. Am I correct? P
aelguindy

1
Để tìm bất kỳ phần tử nào theo thứ tự độ dài với thứ hạng trong [ , ] chúng ta chỉ cần trả về bất kỳ phần tử ngẫu nhiên nào và nó sẽ đúng với xác suất do đó là O (1)! Trong khi đó một thuật toán xác định ít nhất sẽ kiểm tra một số phần của đầu vào và do đó . nn43n412Ω(n)
rizwanhudda

@rizwanhudda Có thể có một số vấn đề với điều đó. Đầu tiên, tôi đang tìm kiếm một vấn đề quyết định. Thứ hai, trong mô hình Turing, trả về một phần tử ngẫu nhiên là , vì không có quyền truy cập ngẫu nhiên. Có lẽ, máy luôn xuất ra phần tử đầu tiên? Tuy nhiên, vấn đề đầu tiên là lớn hơn. Ω(n)
aelguindy

2
Đoạn cuối không có ý nghĩa gì vì mọi thuật toán Las Vegas đều có thể được chuyển đổi thành thuật toán Monte Carlo.
Tsuyoshi Ito

Câu trả lời:


17

Kiểm tra nhận dạng đa thức thừa nhận thuật toán thời gian đa thức ngẫu nhiên (xem bổ đề Schwartz-Zippel ) và hiện tại chúng tôi không có thời gian đa thức xác định hoặc thậm chí là thuật toán thời gian theo cấp số mũ cho nó.

Đánh giá cây trò chơi Xem xét một cây nhị phân hoàn chỉnh vớinút lá, mỗi nút lưu một giá trị 0/1. Các nút bên trong chứa các cổng OR / AND ở các mức thay thế. Có thể chứng minh bằng cách sử dụng đối số bất lợi rằng mọi thuật toán xác định sẽ phải kiểm tracác nút látrong trường hợp xấu nhất. Tuy nhiên, có một thuật toán ngẫu nhiên đơn giản, cóthời gian chạy dự kiến là Hãy xem các slide 14-27 của bài nói chuyện.nΩ(n)O(n0.793)

Định tuyến lãng quên trên một hypercube Hãy xem xét một khối lập phươngcó kích thước chứa N = 2 n đỉnh. Mỗi đỉnh có một gói dữ liệu và đích đến mà cuối cùng nó muốn gửi gói đến. Đích đến của tất cả các gói là khác nhau. Ngay cả đối với này, Nó đã được chứng minh rằng bất kỳ chiến lược định tuyến xác định sẽ mất Ω (nN=2ncác bước. Tuy nhiên, có một chiến lược ngẫu nhiên đơn giản sẽ hoàn thành trongcác bướcdự kiếnvới xác suất cao.Ω(Nn) O(n)

Lưu ý rằng trong các thuật toán ngẫu nhiên, chi phí dự kiến có xác suất cao (ví dụ như ) tương đương với trường hợp xấu nhất trong thực tế.E(F(n)) Pr[F(n)>10E(F(n))]<1n2


Ngoài ra, hãy xem xét thử nghiệm cho ma trận , BC nếu A B = C . Hiện tại chúng tôi biết không có thuật toán o ( 2 2.3 ) , chúng tôi biết thuật toán O ( n 2 ) ngẫu nhiên . Vấn đề là, có những vấn đề mà chúng ta có thể chứng minh rằng các thuật toán ngẫu nhiên là tốt hơn? MộtBCMộtB= =Co(22.3)O(n2)
aelguindy

@aelguindy Tôi nhận được quan điểm của bạn. Nhưng, đối với thuế TNCN, thuật toán xác định được biết đến nhiều nhất là theo cấp số nhân. Và, PIT làm mất trật tự là một vấn đề mở quan trọng trong Lý thuyết CS.
rizwanhudda

Tôi đã thêm đánh giá cây trò chơi và định tuyến hypercube vào bài đăng, trong đó các thuật toán ngẫu nhiên thực hiện tốt hơn so với các đối tác xác định.
rizwanhudda

OK, đối với đánh giá Cây trò chơi, nếu tôi hiểu chính xác, nó chạy trong dự kiến , phải không? Ý tôi là có những trường hợp nó sẽ chạy trong Ω ( n ) . Đây có phải là trường hợp với ví dụ thứ ba không? Tôi không cho phép thời gian dự kiến ​​tốt hơn, tôi đang tìm kiếm sự phức tạp trong trường hợp xấu nhất, lỗi cho phép trong đầu ra. O(n0.793)Ω(n)
aelguindy

1
Vì vậy, họ không tốt hơn trong trường hợp xấu nhất. Nhiều như tôi đánh giá cao các ví dụ, tôi sợ rằng đó không phải là chính xác những gì tôi đang tìm kiếm. Các ví dụ rất khai sáng!
aelguindy

5

Điều tra trường hợp xấu nhất là vô nghĩa đối với các thuật toán ngẫu nhiên. Không chỉ thời gian chạy trong trường hợp xấu nhất thường là vô hạn mà chúng còn không thể vượt trội hơn các thuật toán xác định trong số liệu đó.

Xem xét bất kỳ thuật toán ngẫu nhiên . Có được một thuật toán xác định B bằng cách sửa chữa các băng ngẫu nhiên cho A đến 0 . Sau đó, T B ( n ) T Một ( n ) cho tất cả n .ABA0TB(n)TA(n)n


5

Có nhiều vấn đề mà chúng tôi biết về một thuật toán ngẫu nhiên hiệu quả và chúng tôi không biết bất kỳ thuật toán xác định nào mà chúng tôi có thể chứng minh là hiệu quả. Tuy nhiên, điều này có thể phản ánh những thiếu sót trong khả năng của chúng tôi để chứng minh những điều về sự phức tạp hơn là bất kỳ sự khác biệt cơ bản nào.

Dựa trên nhận xét của bạn , có vẻ như bạn muốn hỏi liệu có tồn tại bất kỳ vấn đề nào khi có thuật toán ngẫu nhiên hiệu quả hay không và chúng tôi có thể chứng minh rằng không có thuật toán xác định nào về hiệu quả có thể so sánh được. Tôi không biết bất kỳ vấn đề như vậy.

Thật vậy, có cơ sở hợp lý để nghi ngờ rằng những vấn đề như vậy có thể không tồn tại. Về mặt heuristic, sự tồn tại của một vấn đề như vậy có thể có nghĩa là mật mã an toàn là không thể. Đó dường như là một kết quả khá khó tin.

Bạn hỏi kết nối là gì? Vâng, hãy xem xét bất kỳ thuật toán ngẫu nhiên nào giải quyết một số vấn đề hiệu quả. Nó dựa vào các đồng tiền ngẫu nhiên: các bit ngẫu nhiên thu được từ một nguồn ngẫu nhiên thực. Bây giờ, giả sử chúng ta sử dụng một trình tạo giả ngẫu nhiên có chất lượng mật mã và thay thế nguồn ngẫu nhiên thực bằng đầu ra của trình tạo giả ngẫu nhiên. Gọi kết quả thuật toán A ' . Lưu ý rằng A ' là một thuật toán xác định và thời gian chạy của nó là xấp xỉ như nhau như một .AAAA

Ngoài ra, nếu PRNG mật mã là an toàn, heuristically chúng ta nên mong đợi là một thuật toán tốt nếu A là:AA

  • Ví dụ, nếu là một thuật toán Las Vegas (nó luôn luôn kết quả đầu ra câu trả lời đúng, và chấm dứt nhanh chóng với xác suất cao), sau đó A ' sẽ là một khá tốt xác định thuật toán (luôn luôn kết quả đầu ra câu trả lời đúng, và chấm dứt nhanh chóng cho hầu hết các nguyên liệu đầu vào) .AA

  • Một ví dụ khác, nếu là một thuật toán Monte Carlo (thời gian chạy xác định, và kết quả đầu ra câu trả lời đúng với xác suất ít nhất 1 - ε ), sau đó A sẽ là một khá tốt thuật toán xác định (xác định thời gian chạy, và kết quả đầu ra đáp án đúng trên một phần nhỏ 1 - ε của tất cả các đầu vào).A1εA1ε

Do đó, nếu PRNG mật mã là an toàn và có một thuật toán ngẫu nhiên hiệu quả, bạn sẽ có được một thuật toán xác định khá tốt. Bây giờ có nhiều cấu trúc của PRNG mã hóa được đảm bảo an toàn nếu các giả định về mật mã nhất định được giữ vững. Trong thực tế, những giả định về mật mã đó được tin tưởng rộng rãi: ít nhất, thương mại và giao dịch an toàn dựa vào chúng là đúng, vì vậy chúng tôi rõ ràng sẵn sàng đặt cược một số tiền lớn mà mật mã an toàn tồn tại. Cách duy nhất để chuyển đổi này có thể thất bại là nếu PRNG mật mã không tồn tại, điều này ngụ ý mật mã an toàn là không thể. Mặc dù chúng tôi không có bất kỳ bằng chứng nào cho thấy đây không phải là trường hợp, nhưng có vẻ như đó là một kết quả không thể xảy ra.

Chi tiết về công trình: Đây là cách hoạt động. Mở đầu vào x , nó xuất phát một hạt giống cho PRNG mật mã là một hàm của x (ví dụ, bằng cách băm x ), và sau đó mô phỏng Một ( x ) , sử dụng đầu ra của PRNG mật mã như tiền xu cho Một . Chẳng hạn, một khởi tạo cụ thể sẽ là đặt k = SHA256 ( x ) , sau đó sử dụng k làm hạt giống cho AES256 trong chế độ truy cập hoặc một số PRNG mã hóa khác. Chúng ta có thể chứng minh các tuyên bố trên theo mô hình nhà tiên tri ngẫu nhiên.AxxxA(x)Ak=SHA256(x)k

Nếu bạn không hài lòng với ý tưởng rằng đầu ra sức kết quả không chính xác trên một số phần nhỏ của đầu vào, có thể được giải quyết. Nếu bạn lặp lại A nhiều lần và lấy phiếu đa số, xác suất lỗi sẽ giảm nhanh theo cấp số nhân theo số lần lặp. Vì vậy, bằng cách lặp lại một hằng số lần, bạn có thể nhận xác suất lỗi ε được dưới 1 / 2 256 , có nghĩa là cơ hội mà bạn chạy trên một đầu vào xAAε1/2256xtrong đó thuật toán đưa ra câu trả lời sai rất nhỏ (ít hơn khả năng bị sét đánh nhiều lần liên tiếp). Hơn nữa, với việc xây dựng tôi đã nêu trên, các cơ hội mà một kẻ thù thậm chí có thể tìm thấy một đầu vào nơi Một ' đưa ra câu trả lời sai có thể được thực hiện rất nhỏ, vì điều đó sẽ yêu cầu phá vỡ sự an toàn của các băm SHA256. (Về mặt kỹ thuật, điều này đòi hỏi mô hình nhà tiên tri ngẫu nhiên phải chứng minh, do đó, điều đó có nghĩa là A phải được chọn là "độc lập" với SHA256 và không phải mã cứng trong các tính toán có liên quan đến SHA256, nhưng hầu như tất cả các thuật toán trong thế giới thực sẽ đáp ứng yêu cầu đó .)xAA

Nếu bạn muốn có một cơ sở lý luận mạnh mẽ hơn, bạn có thể lặp Θ ( n ) lần, và có được xác suất lỗi được dưới 1 / 2 n , nơi n là chiều dài của đầu vào x . Bây giờ phần của n đầu vào -bit nơi Một ' đưa ra một câu trả lời không chính xác là đúng ít hơn 1 / 2 n . Nhưng chỉ có 2 n thể n đầu vào -bit, và trên mỗi một A hoặc là đúng hoặc không chính xác, vì vậy nó sau đó không có đầu vào nơi A 'A Θ(n)1/2nnxnA1/2n2nnAAkhông chính xác: đúng trên tất cả các đầu vào và điều này giữ vô điều kiện. Nếu Một chạy trong thời gian t ( n ) , sau đó A ' chạy trong thời gian Θ ( n t ( n ) ) , vì vậy A ' là chậm hơn một chút so với A nhưng không quá nhiều chậm hơn. Đây là nội dung bằng chứng của Adman rằng BPP có trong P / poly. Đối với các mục đích thực tế, điều này có thể là quá mức cần thiết, nhưng nếu bạn thích bằng chứng rõ ràng tránh các giả định về mật mã hoặc nếu bạn tiếp cận điều này từ quan điểm của một nhà lý thuyết thì bạn có thể thích phiên bản này tốt hơn.AAt(n)AΘ(nt(n))AA

Để biết thêm chi tiết về các cân nhắc lý thuyết sau và các vấn đề bổ sung mà chúng tôi biết về thuật toán ngẫu nhiên hiệu quả nhưng chúng tôi không biết bất kỳ thuật toán xác định nào mà chúng tôi có thể chứng minh là hiệu quả, hãy xem /cstheory//q/31195 / 5038

Tóm lại: Đối với bất kỳ vấn đề nào chúng tôi biết một thuật toán ngẫu nhiên hiệu quả, chúng tôi cũng biết một thuật toán xác định có vẻ hiệu quả trong thực tế - nhưng hiện tại chúng tôi không biết làm thế nào để chứng minh rằng nó hiệu quả. Một cách giải thích có thể là chúng ta không giỏi trong việc chứng minh các công cụ về thuật toán.

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.