Đánh đổi giữa thời gian và sự phức tạp của truy vấn


18

Làm việc trực tiếp với độ phức tạp thời gian hoặc giới hạn mạch thấp hơn là đáng sợ. Do đó, chúng tôi phát triển các công cụ như độ phức tạp truy vấn (hoặc độ phức tạp của cây quyết định) để xử lý các giới hạn thấp hơn. Vì mỗi truy vấn cần ít nhất một bước đơn vị và tính toán giữa các truy vấn được tính là miễn phí, độ phức tạp thời gian ít nhất cũng cao như độ phức tạp của truy vấn. Tuy nhiên, chúng ta có thể nói bất cứ điều gì về sự tách biệt?

Tôi tò mò về công việc trong văn học cổ điển, hoặc lượng tử, nhưng cung cấp các ví dụ từ QC vì tôi quen thuộc hơn.

Một số thuật toán nổi tiếng như tìm kiếm của Grover và tìm kiếm thời kỳ của Shor, độ phức tạp thời gian nằm trong các yếu tố đa logarit của độ phức tạp truy vấn. Đối với những người khác, chẳng hạn như Vấn đề nhóm con ẩn, chúng tôi có độ phức tạp truy vấn đa thức , nhưng thuật toán thời gian đa thức không được biết đến.

Do một khoảng cách có khả năng tồn tại giữa thời gian và độ phức tạp của truy vấn, không rõ ràng rằng thuật toán độ phức tạp thời gian tối ưu phải có cùng độ phức tạp truy vấn như thuật toán độ phức tạp truy vấn tối ưu.

Có ví dụ về sự đánh đổi giữa thời gian và độ phức tạp của truy vấn không?

Có vấn đề nào trong đó thuật toán độ phức tạp thời gian được biết đến tốt nhất có độ phức tạp truy vấn khác với thuật toán độ phức tạp truy vấn được biết đến nhiều nhất không? Nói cách khác, chúng ta có thể thực hiện nhiều truy vấn hơn để làm cho các hoạt động giữa các truy vấn dễ dàng hơn không?

Hoặc có một đối số cho thấy rằng luôn có một phiên bản của thuật toán truy vấn tối ưu không có triệu chứng có triển khai với độ phức tạp thời gian tốt nhất không có triệu chứng?


Bạn có muốn một vấn đề tự nhiên hoặc là một vấn đề nhân tạo cũng tốt?
Robin Kothari

2
Các vấn đề tự nhiên được ưa thích, nhưng các vấn đề nhân tạo tốt hơn là không có câu trả lời.
Artem Kaznatcheev

Câu trả lời:


9

Đây là một nỗ lực tạo chức năng nhân tạo với thuộc tính sau:

  • Vấn đề có thể được giải quyết bằng các truy vấn , nhưng yêu cầu thời gian .exp ( n )O(logn)exp(n)
  • Vấn đề có thể được giải quyết với thời gian nhưng yêu cầu truy vấnO ( n )O(n)O(n)

Đặt kích thước đầu vào là . Để các bit đầu tiên (hãy gọi chuỗi x này) mã hóa đầu vào thành một vấn đề hoàn chỉnh cho EEXP. bit tiếp theo (hãy gọi chuỗi này là y) có thuộc tính là tất cả đều bằng 0 khi và chỉ khi x là một thể hiện KHÔNG của bài toán hoàn thành EEXP.log n nn+lognlognn

Nói cách khác, các bit đầu tiên mã hóa một vấn đề khó khăn và bit tiếp theo cung cấp cho bạn manh mối về giải pháp của vấn đề. Tuy nhiên, để tìm ra giải pháp bằng cách xem chuỗi bit bạn thực hiện truy vấn .n n Ω ( n )lognnnΩ(n)

Vì vậy, vấn đề này có thể được giải quyết bằng cách chỉ đọc các bit đầu tiên và sử dụng thời gian exp (n) hoặc bằng cách đọc bit và chỉ sử dụng thời gian tuyến tính.nđăng nhậpnn

Hàm tương tự đi qua cho độ phức tạp truy vấn lượng tử .. chèn dấu hiệu căn bậc hai khi cần thiết.


7

Một phiên bản cực đoan hơn của ví dụ của Robin:

Đặt kích thước đầu vào là , với các bit đầu tiên (gọi chuỗi này là ) mã hóa máy Turing . Sửa một số hàm . Hãy để các bit cuối cùng của chuỗi được iff máy Turing tạm dừng trong vòng chưa đầy bước. Vấn đề là sau đó để xác định xem dừng lại dưới các bước tính chẵn lẻ của là chẵn.n - 1 x T x f ( n ) 1 T x f ( n ) T x f ( n ) xnn1xTxf(n)1Txf(n)Txf(n)x

Do đó, bằng cách thực hiện các truy vấn vấn đề có thể được giải quyết trong thời gian , trong khi bằng cách thực hiện truy vấn, vấn đề có thể được giải quyết trong thời gian .O ( f ( n ) ) n O ( n )n1O(f(n))nO(n)


Bạn có thể có nghĩa là bit cuối cùng tương đương với x thậm chí là nếu máy Turing tạm dừng thời gian (nếu không câu hỏi chỉ yêu cầu một truy vấn;)). Điều này là tốt và có thể được sửa đổi để đưa ra bất kỳ loại phân tách nào chúng ta muốn giữa thời gian và truy vấn. Hãy xem xét bất kỳ hàm và , sau đó để các bit đầu tiên của là mô tả của Máy tiện. Đặt của bit sao cho tính chẵn lẻ của thậm chí là tạm dừng trong ít hơn bước. Sau đó, chúng tôi có một truy vấn so với với chi phí làg ( n ) < n g ( n ) x n - g ( n ) x x T x f ( n ) > n g ( n ) n Θ ( f ( n ) ) ng(n)=ω(1)g(n)<ng(n)xng(n)xxTxf(n)>ng(n)nΘ(f(n)) so với trong thời gian. n
Artem Kaznatcheev

Bỏ qua câu đầu tiên của bình luận trước đây của tôi.
Artem Kaznatcheev

7

Tôi thích câu trả lời của Robin Kothari và sự sửa đổi của Joe Fitzsimons. Trong phần mở rộng rõ ràng của câu trả lời của họ, họ có thể đạt được bất kỳ tỷ lệ phân tách nào (ngoại trừ hằng số so với không cố định) giữa độ phức tạp truy vấn nhỏ hơn và lớn hơn và độ phức tạp thời gian lớn hơn và nhỏ hơn. Tuy nhiên, không có cách rõ ràng để làm cho chức năng của họ không phải là một phần. Tôi muốn chỉ ra một vấn đề tự nhiên khi chúng ta có sự phân tách và chỉ ra rằng sự phân tách lớn khó hơn đối với các hàm tổng.


Một vấn đề tự nhiên

Ben Reichardt đã chỉ ra qua email vấn đề đánh giá công thức. Sự phức tạp truy vấn học lượng tử để đánh giá một vị tướng đọc một lần VÀ-HOẶC công thức trên biến là Θ ( n. Tuy nhiên,chữ O(Θ(n)thuật toán -query không hiệu quả về thời gian. Ở đây, các thuật toán nổi tiếng nhanh nhất được chứng minh là làm choO(Ôi(n)truy vấn và chạy trong thời gian đa thê tệ hơn. Do đó, chúng ta có một vấn đề hoàn toàn tự nhiên khi có sự phân tách đã biết. Mặc dù không có bằng chứng nào cho thấy sự tách biệt này phải tồn tại.Ôi(nđăng nhậpn)

Tổng số chức năng khó phân tách hơn?

Đối với tôi, có vẻ như khó tìm thấy các hàm tổng với các ngăn cách có thể chứng minh được. Để chỉ ra rằng trường hợp của các hàm tổng và một phần là khác nhau, tôi sẽ cung cấp một đối số về sự phân tách lớn nhất giữa độ phức tạp truy vấn của các thuật toán tối ưu hóa truy vấn và tối ưu hóa thời gian cho một hàm tổng.

mΩ(đăng nhậpm)mnn-mm0

Do đó, nếu chúng ta viết , thì đối với một hàm tổng, đưa ra thuật toán tối ưu truy vấn có độ phức tạp , có một thuật toán tối ưu hóa thời gian với độ phức tạp với và . Nói cách khác, chúng ta không thể có nhiều hơn một sự phân tách theo cấp số nhân về độ phức tạp truy vấn giữa các thuật toán tối ưu hóa truy vấn và tối ưu hóa thời gian cho tổng số hàm. Tôi sẽ không ngạc nhiên nếu những giới hạn thực sự lỏng lẻo này có thể được cải thiện.(độ phức tạp truy vấn,phức tạp thời gian)(q1(n),t1(n))(q2(n),t2(n))q2(n)f(q1(n))f(n)= =Ôi(2n)

[1] HU Simon, "Một Z (loglogn) chặt chẽ - liên kết đúng thời gian để RAM song song tính toán các hàm Boolean không suy biến", trong: Symp. về nền tảng của lý thuyết tính toán, ghi chú bài giảng trong khoa học máy tính, tập. 158, Springer, Berlin, 1983, trang 439 Chân444.

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.