Thời gian chạy của thuật toán Grover


19

Độ phức tạp thời gian (không phải độ phức tạp truy vấn) của thuật toán Grover là gì? Đối với tôi có vẻ rõ ràng rằng đó là vì có các lần lặp và mỗi lần lặp lại yêu cầu sử dụng thao tác phản xạ lần lượt mất thời gian sử dụng bất kỳ bộ cổng phổ quát tiêu chuẩn nào.Ω(đăng nhập(N)N)Ω(N)Ω(đăng nhập(N))

Vấn đề là, tôi không thể tìm thấy ngay cả một tài liệu tham khảo cho biết độ phức tạp thời gian của thuật toán Grover là . Wikipedia và một số trang web khác, nói độ phức tạp thời gian . Giấy của Grover yêu cầu "các bước".Ω(đăng nhập(N)N)Ôi(N)Ôi(N)

Tui bỏ lỡ điều gì vậy? Có lẽ mọi người định nghĩa các hoạt động phản ánh để mất thời gian đơn vị. Nhưng điều đó không có ý nghĩa với tôi bởi vì nếu chúng ta có thể chơi trò chơi cho phép những người độc thân tùy tiện mất thời gian đơn vị thì sẽ không có sự khác biệt giữa độ phức tạp truy vấn và độ phức tạp thời gian.


11
Tôi không thể nghĩ ra một tài liệu tham khảo nói về độ phức tạp thời gian của thuật toán Grover, nhưng những gì bạn viết là đúng. Trong thực tế, đối với bất kỳ thiết lập cổng hữu hạn, các hoạt động thực hiện giữa các truy vấn trong Thuật toán Grover cần ít nhất cửa, vì mỗi cửa có chiều rộng hữu hạn nhưng chúng tôi cần phải thực hiện một cổng có ảnh hưởng đến tất cả các log N qubit. Ω(đăng nhậpN)đăng nhậpN
Robin Kothari

Câu trả lời:


11

Θ(đăng nhậpN)Ω(đăng nhậpN), bởi vì nếu không nó sẽ không đọc toàn bộ đầu vào và bạn có thể loại bỏ một số bit đầu vào khỏi tìm kiếm. Mặt khác, một vị ngữ thú vị có thể mất nhiều thời gian hơn thế. Do đó, số lượng cuộc gọi đến vị từ được coi là đồng tiền tiêu chuẩn, giống như đối với thuật toán tương tự cổ điển của thuật toán Grover, cụ thể là đoán ngẫu nhiên.


6

Ôi(Nđăng nhậpN)Ω(Nđăng nhậpN)

Ôi(N)Ôi(Nđăng nhập(đăng nhập*N))

đăng nhập(đăng nhập*N)Nđăng nhập(đăng nhập*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.