Có lời giải thích của giáo dân về lý do tại sao thuật toán của Grover hoạt động không?


27

Blogpost này của Scott Aaronson là một lời giải thích rất hữu ích và đơn giản về thuật toán của Shor .

Tôi tự hỏi liệu có một lời giải thích như vậy cho thuật toán lượng tử nổi tiếng thứ hai: Thuật toán của Grover để tìm kiếm một cơ sở dữ liệu không có thứ tự kích thước O(n) trong thời gian .O(n)

Đặc biệt, tôi muốn thấy một số trực giác dễ hiểu cho kết quả đáng ngạc nhiên ban đầu của thời gian chạy!

Câu trả lời:


20

Có một lời giải thích tốt của Craig Gidney ở đây (anh ta cũng có nội dung tuyệt vời khác, bao gồm một trình mô phỏng mạch, trên blog của mình ).

Về cơ bản, thuật toán của Grover áp dụng khi bạn có một hàm trả về Truemột trong những đầu vào có thể của nó và Falsecho tất cả các đầu vào khác. Công việc của thuật toán là tìm ra cái trả về True.

Để làm điều này, chúng ta biểu thị các đầu vào dưới dạng các chuỗi bit và mã hóa chúng bằng cách sử dụng |0|1 trạng thái của một chuỗi các qubit. Vì vậy, chuỗi bit 0011sẽ được mã hóa ở trạng thái bốn qubit |0011 , ví dụ.

Chúng ta cũng cần có khả năng thực hiện chức năng bằng cách sử dụng cổng lượng tử. Cụ thể, chúng ta cần tìm một chuỗi các cổng sẽ thực hiện một U đơn nhất sao cho

U|a=|a,U|b=|b

trong đó a là chuỗi bit mà hàm sẽ trả về Trueb là bất kỳ chuỗi nào sẽ trả về False.

Nếu chúng ta bắt đầu với sự chồng chất của tất cả các chuỗi bit có thể, điều này khá dễ thực hiện chỉ bằng cách Hadamending mọi thứ, tất cả các đầu vào bắt đầu với cùng biên độ 12n (trong đónlà độ dài của chuỗi bit chúng ta đang tìm kiếm và do đó số lượng qubit chúng ta đang sử dụng). Nhưng nếu sau đó chúng ta áp dụng ororyU, biên độ của trạng thái mà chúng ta đang tìm kiếm sẽ thay đổi thành12n .

Đây không phải là bất kỳ sự khác biệt dễ quan sát, vì vậy chúng ta cần phải khuếch đại nó. Để làm điều này chúng ta sử dụng Grover Diffusion điều hành , D . Tác dụng của toán tử này về cơ bản là xem xét mỗi biên độ khác với biên độ trung bình như thế nào, và sau đó đảo ngược sự khác biệt này. Vì vậy, nếu một biên độ nhất định là một lượng nhất định lớn hơn biên độ trung bình, nó sẽ trở thành cùng một lượng nhỏ hơn giá trị trung bình và ngược lại.

Cụ thể, nếu bạn có sự chồng chất của các chuỗi bit bj , toán tử khuếch tán có hiệu lực

D:jαj|bjj(2μαj)|bj

nơi μ=jαj là biên độ trung bình. Vì vậy, bất kỳ biên độ μ+δ bị biến thành μδ . Để xem tại sao nó có hiệu ứng này, và làm thế nào để thực hiện nó, hãy xem các ghi chú bài giảng này .

Hầu hết các biên độ sẽ lớn hơn một chút so với giá trị trung bình (do ảnh hưởng của đơn 12n ), vì vậy chúng sẽ trở nên nhỏ hơn một chút so với giá trị trung bình thông qua thao tác này. Không phải là một sự thay đổi lớn.

Nhà nước chúng tôi đang tìm kiếm sẽ bị ảnh hưởng mạnh mẽ hơn. Biên độ của nó nhỏ hơn rất nhiều so với giá trị trung bình, và do đó sẽ trở nên trung bình lớn hơn rất nhiều sau khi toán tử khuếch tán được áp dụng. Do đó, hiệu ứng cuối của toán tử khuếch tán là gây ra hiệu ứng nhiễu đối với các trạng thái lướt qua biên độ 12n từ tất cả các câu trả lời sai và thêm nó vào câu trả lời đúng. Bằng cách lặp lại quá trình này, chúng ta có thể nhanh chóng đi đến điểm mà giải pháp của chúng ta nổi bật giữa đám đông đến mức chúng ta có thể xác định được nó.

Tất nhiên, tất cả điều này cho thấy rằng tất cả các công việc được thực hiện bởi toán tử khuếch tán. Tìm kiếm chỉ là một ứng dụng mà chúng ta có thể kết nối với nó.

Xem câu trả lời cho các câu hỏi khác để biết chi tiết về cách thức thực hiện chức năngtoán tử khuếch tán .


4

Tôi thấy một cách tiếp cận đồ họa khá tốt để đưa ra một số hiểu biết mà không cần quá kỹ thuật. Chúng tôi cần một số đầu vào:

  • |ψ with non-zero overlap with the 'marked' state |x: x|ψ0.
  • U1=(I2|ψψ|)
  • chúng ta có thể thực hiện một hoạt động U2=I2|xx|.

|ψ|x{|x,|ψ}{|x,|ψ}{|x,|ψ}, and they return a state within the span. Moreover, both are unitary, so the length of the input vector is preserved.

A vector of fixed length within a two-dimensional space can be visualised as the circumference of a circle. So, let's set up a circle with two orthogonal directions corresponding to |ψ and |x. enter image description here

Our initial state |ψ will have small overlap with |x and large overlap with |ψ. If it were the other way around, search would be easy: we'd just prepare |ψ, measure, and test the output using the marking unitary, repeating until we got the marked item. It wouldn't take long. Let's call the angle between |ψ and |ψ the angle θ. enter image description here

Now let's take a moment to think about what our two unitary actions do. Both have a -1 eigenvalue, and all other eigenvalues +1. In our two-dimensional subspace, that reduces to a +1 eigenvalue and a -1 eigenvalue. Such an operation is a reflection in the axis defined by the +1 eigenvector. So, U1 is a reflection in the |ψ axis, while U2 is a reflection in the |ψ axis. enter image description here

Now, take an arbitrary vector in this space, and apply U2 followed by U1. The net effect is that the vector is rotated by an angle 2θ towards the |x axis. enter image description here

So, if you start from |ψ, you can repeat this sufficiently many times, and get to within an angle θ of |x. Thus, when we measure that state, we get the value x with high probability.

Now we need a little care to find the speed-up. Assume that the probability of finding |x in |ψ is p1. So, classically, we'd need O(1/p) attempts to find it. In our quantum scenario, we have that p=sinθθ (since θ is small), and we want a number of runs r such that sin((2r+1)θ)1. So, rπ2θπ2p. You can see the square-root speed-up right there.


3

The simple explanation for how (and hence why) Grover's algorithm works is that a quantum gate can only reshuffle (or otherwise distribute) probability amplitudes. Using an initial state with equal probability amplitudes for all states of the computational basis, one starts with an amplitude of 1/N. This much can be "added" to the desired (solution) state in each iteration, such that after N iterations one arrives at a probability amplitude of 1 meaning the desired state has been distilled.

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.