Tóm lược
- Có một lý thuyết về sự phức tạp của các vấn đề tìm kiếm (còn được gọi là các vấn đề liên quan). Lý thuyết này bao gồm các lớp được gọi là FP , FNP và FBQP , có hiệu quả trong việc giải quyết các vấn đề tìm kiếm với các loại tài nguyên khác nhau.
- Từ các vấn đề tìm kiếm, bạn cũng có thể xác định các vấn đề quyết định, cho phép bạn liên hệ các vấn đề tìm kiếm với các lớp P , NP và BQP thông thường .
- Cho dù bạn xem xét phiên bản tìm kiếm của phiên bản quyết định của vấn đề, cách bạn xem xét đầu vào cho vấn đề Tìm kiếm không cấu trúc sẽ xác định giới hạn trên mà bạn có thể đặt vào mức độ phức tạp của nó.
Sự phức tạp của các vấn đề quan hệ
Như bạn lưu ý, vấn đề của Grover giải quyết vấn đề tìm kiếm , trong tài liệu phức tạp đôi khi còn được gọi là vấn đề quan hệ . Đó là một vấn đề thuộc loại sau:
Cấu trúc của một vấn đề tìm kiếm chung.
Cho đầu vào và quan hệ nhị phân R , tìm một y sao cho R ( x , y ) giữ.xRyR(x,y)
Các lớp phức tạp FP và FNP được định nghĩa theo các vấn đề như vậy, trong đó cụ thể một người quan tâm đến trường hợp trong đó có độ dài nhiều nhất là hàm đa thức có độ dài của x và trong đó chính mối quan hệ R ( x , y ) có thể được tính trong một khoảng thời gian giới hạn bởi một số đa thức theo độ dài của ( x , y ) .yxR(x,y)(x,y)
Cụ thể: ví dụ về vấn đề 'tìm kiếm cơ sở dữ liệu' mà Tìm kiếm của Grover thường được áp dụng có thể được mô tả như sau.
Tìm kiếm phi cấu trúc.
Với một lời sấm đầu vào mà O | một ⟩ | b ⟩ = | một ⟩ | b ⊕ f ( một ) ⟩ đối với một số chức năng f : { 0 , 1 } m → { 0 , 1 }O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1} , hãy tìm một như rằng O | y ⟩ | 0 ⟩ = | y ⟩ | 1y .O|y⟩|0⟩=|y⟩|1⟩
Ở đây, chính lời tiên tri là đầu vào của vấn đề: nó đóng vai trò của và mối quan hệ mà chúng ta đang tính toán là
R ( O , y )x
R(O,y)≡[O|y⟩|0⟩=|y⟩|1⟩]≡[f(y)=1].
Giả sử rằng, thay vì một lời sấm truyền, chúng tôi được cung cấp một đầu vào cụ thể mô tả cách tính hàm f , sau đó chúng tôi có thể xem xét lớp phức tạp này mà vấn đề này thuộc về. Như chỉ ra , lớp độ phức tạp phù hợp mà chúng ta thu được phụ thuộc vào cách cung cấp đầu vào.xfpyramids
Giả sử rằng chức năng đầu vào được cung cấp như một cơ sở dữ liệu (như các vấn đề đôi khi được mô tả), nơi mỗi mục cơ sở dữ liệu có một số chiều dài . Nếu n là chiều dài của chuỗi x dùng để mô tả toàn bộ cơ sở dữ liệu , sau đó cơ sở dữ liệu có N = n / ℓ mục. Sau đó, có thể tìm kiếm toàn bộ cơ sở dữ liệu bằng cách truy vấn từng mục N trong chuỗi và dừng lại nếu chúng ta tìm thấy một mục y sao cho f ( y ) = 1 . Giả sử rằng mỗi truy vấn vào cơ sở dữ liệu sẽ có một cái gì đó như O (ℓnxN=n/ℓNyf(y)=1 thời gian, thủ tục này tạm dừng trong thời gian O ( N log N ) ⊆ O ( n log n ) , do đó vấn đề là trongFP.O(logN)⊆O(logn)O(NlogN)⊆O(nlogn)
Giả sử rằng việc tra cứu cơ sở dữ liệu có thể được thực hiện trong sự chồng chất nhất quán, thuật toán của Grover cho phép vấn đề này nằm trong FBQP . Tuy nhiên, với tư cách là FP ⊆ FBQP , tìm kiếm toàn diện cổ điển cũng chứng minh rằng vấn đề này nằm ở FBQP . Tất cả những gì chúng tôi có được (tối đa các yếu tố nhật ký) là tăng tốc bậc hai do tiết kiệm số lượng truy vấn cơ sở dữ liệu.
Giả sử rằng hàm đầu vào được mô tả ngắn gọn, bằng thuật toán đa thức thời gian lấy một đặc tả và một đối số y ∈ { 0 , 1 } m và tính O :x∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12trên cơ sở tiêu chuẩn , nơi m có thể lớn hơn nhiều so với Ω ( log n ) . Một ví dụ sẽ là nơi x chỉ định dạng CNF của một số hàm boolean f : { 0 , 1 } m → { 0 , 1 } cho m ∈ O ( n|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1} , trong trường hợp đó chúng ta có thể đánh giá f ( y ) mộtcách hiệu quảtrên đầu vào y ∈m∈O(n)f(y) và do đó đánh giá hiệu quả O trên các trạng thái cơ sở tiêu chuẩn. Điều này đặt vấn đề trongFNP.y∈{0,1}mO
Đưa ra một thủ tục để đánh giá từ ( x , y ) trong thời gian O ( p ( n ) ) cho n = | x | , Grover của thuật toán giải quyết vấn đề của không có cấu trúc Tìm kiếm O trong thời gian O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) . Đây không phải là đa thức trongn, và do đó không đủ để đặt vấn đề này vàoFBQP: chúng tôi chỉ đạt được tốc độ tăng bậc hai - mặc dù đây vẫn là một khoản tiết kiệm rất lớn về thời gian tính toán, giả sử rằng lợi thế do thuật toán Grover cung cấp không bị mất chi phí cần thiết cho tính toán lượng tử chịu lỗi.⊆O(p(n)2n−−√)n
Trong cả hai trường hợp, sự phức tạp được xác định về độ dài của chuỗi x * mà quy định cụ thể như thế nào để tính toán oracle O . Trong trường hợp đó x đại diện cho một nhìn lên bảng, chúng ta có N = n / ℓ , trong trường hợp việc thực hiện như một chức năng của N cũng tương tự như việc thực hiện như một hàm của n ; nhưng trong trường hợp x xác định rõ ràng O và N ∈ O ( 2 n / 2 ) , thông điệp hình ảnh lớn mà Grover giải quyết vấn đề trong OnxOxN=n/ℓNnxON∈O(2n/2)các truy vấn che khuất thông điệp chi tiết hơn rằng thuật toán này vẫn là thời gian theo cấp số nhân của một máy tính lượng tử.O(N−−√)
Quyết định phức tạp từ các vấn đề quan hệ
Có một cách đơn giản để có được các vấn đề quyết định từ các vấn đề liên quan, vốn nổi tiếng từ lý thuyết về các vấn đề NP -complete : biến vấn đề tìm kiếm thành một câu hỏi về sự tồn tại của một giải pháp hợp lệ.
Phiên bản quyết định của một vấn đề tìm kiếm chung.
Với một đầu vào và một mối quan hệ nhị phân R , xác định xem ∃ y : R ( x , y ) nắm giữ.xR∃y:R(x,y)
NP lớp phức tạp về cơ bản có thể được định nghĩa theo các vấn đề như vậy, khi mối quan hệ R có thể tính toán hiệu quả: các vấn đề NP -complete nổi tiếng nhất (CNF-SAT, HAMCYCLE, 3-COLORING) là về sự tồn tại của một giải pháp hợp lệ một vấn đề quan hệ có thể kiểm chứng hiệu quả. Việc chuyển đổi từ sản xuất giải pháp sang đơn giản là khẳng định sự tồn tại của các giải pháp cũng là điều cho phép chúng tôi mô tả các phiên bản của hệ số nguyên trong BQP (bằng cách hỏi liệu có tồn tại các yếu tố không tầm thường, thay vì hỏi các giá trị của các yếu tố không tầm thường) .
Trong trường hợp Tìm kiếm không có cấu trúc, một lần nữa lớp phức tạp nào mô tả đúng nhất vấn đề phụ thuộc vào cách cấu trúc đầu vào. Xác định liệu có tồn tại một giải pháp cho một vấn đề mối quan hệ có thể được giảm xuống để tìm và xác minh một giải pháp cho vấn đề đó. Do đó, trong trường hợp đầu vào là một chuỗi chỉ định orory là bảng tra cứu, vấn đề tìm kiếm phi cấu trúc nằm ở P ; và nói chung hơn nếu x chỉ định một phương tiện hiệu quả để đánh giá nhà tiên tri, thì vấn đề nằm ở NP . Cũng có thể có một cách để xác định liệu có tồn tạixx một giải pháp cho Tìm kiếm phi cấu trúc mà không thực sự tìm ra giải pháp, mặc dù nói chung không rõ làm thế nào để làm điều đó theo cách có thể mang lại lợi thế so với thực sự tìm ra giải pháp.
Sự phức tạp của Oracle
Tôi đã dễ thấy được chuyển từ nói về oracle , đến cách mà một đầu vào x có thể được dùng để xác định (và đánh giá) oracle O . Nhưng tất nhiên, cách chính mà chúng tôi coi thuật toán của Grover là kết quả tiên tri trong đó việc đánh giá nhà tiên tri chỉ mất một bước thời gian và không yêu cầu phải xác định. Làm thế nào để chúng ta xem xét sự phức tạp của vấn đề trong trường hợp này?OxO
Trong trường hợp này, chúng tôi đang xử lý một mô hình tính toán tương đối , trong đó việc đánh giá một lời tiên tri cụ thể (mà, hãy nhớ, là đầu vào của vấn đề) là một hoạt động nguyên thủy. Lời tiên tri này được xác định trên tất cả các kích thước đầu vào: để xem xét vấn đề tìm kiếm trên chuỗi có độ dài n , bạn phải xác định rằng bạn đang xem xét cách mà nhà tiên tri O hành động trên các đầu vào có độ dài n , một lần nữa sẽ được thực hiện bằng cách xem xét độ dài của một chuỗi boolean x lấy làm đầu vào. Trong trường hợp này, cách chúng tôi trình bày vấn đề có thể như sau.OnOnx
Không có cấu trúc tìm kiếm liên quan đến Oracle . O
Với một đầu vào có độ dài n ,x=11⋯1n
tìm một (vấn đề quan hệ) hoặcy∈{0,1}n
xác định xem có tồn tại một (vấn đề quyết định)y∈{0,1}n
sao cho .O|y⟩|0⟩=|y⟩|1⟩
Vấn đề này nằm ở (đối với vấn đề quyết định) hoặc F N P O (đối với vấn đề quan hệ), tùy thuộc vào phiên bản của vấn đề bạn muốn xem xét. Bởi vì Thuật toán Grover không phải là một thuật toán thời gian đa thức, vấn đề này không được biết đến là trong B Q P O hoặc F B Q P O . Trong thực tế, chúng ta có thể nói điều gì đó mạnh mẽ hơn, như chúng ta sẽ sớm thấy.NPOFNPOBQPOFBQPO
Lý do tại sao tôi lướt qua mô tả thực tế, dựa trên lời tiên tri của Tìm kiếm không cấu trúc là để chạm vào điểm phức tạp của bạn và đặc biệt là chạm vào câu hỏi về kích thước đầu vào . Sự phức tạp của các vấn đề chủ yếu được chi phối bởi cách thức đầu vào được chỉ định: như một đặc tả ngắn gọn (trong trường hợp cách một chức năng được chỉ định trong CNF-SAT), như một đặc điểm kỹ thuật rõ ràng (trong trường hợp bảng tra cứu cho hàm), hoặc thậm chí là một số nguyên được chỉ định trong unary, tức là độ dài của chuỗi 1s như trên (như trong "Tìm kiếm không cấu trúc so với Oracle " ở trên).O
Như chúng ta có thể thấy trong trường hợp sau, nếu chúng ta chỉ coi đầu vào là một lời tiên tri, thì tình huống có vẻ hơi không trực quan và chắc chắn không thể nói về những cách mà "cơ sở dữ liệu" có thể được nhận ra. Nhưng một ưu điểm của việc xem xét phiên bản tương đối của vấn đề, với một lời sấm truyền thực tế, là chúng ta có thể chứng minh những điều mà nếu không chúng ta không biết làm thế nào để chứng minh. Nếu chúng ta có thể chứng minh rằng phiên bản quyết định của vấn đề tìm kiếm không có cấu trúc cô đọng là trong BQP , thì chúng ta sẽ đứng ra nhận ra một bước đột phá to lớn trong tính toán thực tế; và nếu chúng tôi có thể chứng minh rằng vấn đề quyết định không thực sự có trong BQP , thì chúng tôi đã chỉ ra rằng P ≠ PSPACE , thì đó sẽ là một bước đột phá lớn trong sự phức tạp tính toán. Chúng tôi cũng không biết làm thế nào. Nhưng đối với vấn đề tương đối, chúng ta có thể chỉ ra rằng có các phép lạ mà phiên bản quyết định của "Tìm kiếm không cấu trúc liên quan đến O " nằm trong N P OOONPO nhưng không có trong . Điều này cho phép chúng tôi chứng minh rằng trong khi điện toán lượng tử có tiềm năng mạnh mẽ, có nhiều lý do để hy vọng rằng BQP có thể không chứa NP và đặc biệt là phiên bản quan hệ của Tìm kiếm không cấu trúc không thể được chứa trong FBQP mà không áp đặt các ràng buộc mạnh mẽ về cách thức đầu vào được đại diện.BQPO
\text{}
để viết tên của các lớp phức tạp. Ví dụ\text{NP}
hoặc\text{BQP}