Thuật toán của Grover được sử dụng như thế nào để ước tính giá trị trung bình và trung bình của một tập hợp số?


10

Trên trang Wikipedia cho thuật toán của Grover , có đề cập rằng:

"Thuật toán của Grover cũng có thể được sử dụng để ước tính giá trị trung bình và trung bình của một tập hợp số"

Cho đến nay tôi chỉ biết làm thế nào nó có thể được sử dụng để tìm kiếm một cơ sở dữ liệu. Nhưng không chắc chắn làm thế nào để thực hiện kỹ thuật đó để ước tính giá trị trung bình và trung bình của một tập hợp số. Hơn nữa, không có trích dẫn (theo như tôi nhận thấy) trên trang đó giải thích kỹ thuật này.


Nếu bạn chọn trả lời câu hỏi của riêng mình hoặc cho bất kỳ ai chọn tự mình thực hiện nhiệm vụ, liên kết này trông giống như một nơi tuyệt vời để bắt đầu Cách sử dụng Thuật toán của Grover để Tìm Trung bình (còn gọi là Tích phân) của Hàm Weirdo
agaitaarino

@agaitaarino Cảm ơn. Tôi sẽ xem qua nó. Nhân tiện, bình luận của bạn không hiển thị đúng như một liên kết vì bạn để lại một khoảng trống sau dấu ngoặc đơn mở. :)
Sanchaya Dutta

Câu trả lời:


9

Ý tưởng để ước tính giá trị trung bình đại khái như sau:

  • Đối với bất kỳ nào cung cấp đầu ra trong thực tế, hãy xác định F ( x ) được định cỡ lại cho đầu ra trong phạm vi 0 đến 1. Chúng tôi nhắm đến ước tính giá trị trung bình của F ( x ) .f(x)F(x)F(x)

  • Xác định một đơn vị có hoạt động là U a : | 0 | 0 1BạnmộtĐiều quan trọng cần lưu ý là sự thống nhất này được thực hiện dễ dàng. Bạn bắt đầu với một biến đổi Hadamard trên thanh ghi đầu tiên, thực hiện tính toánf(x)trên thanh ghi ancilla, sử dụng phép này để thực hiện xoay vòng có kiểm soát của thanh ghi thứ hai, sau đó giải nén thanh ghi ancilla.

    Bạnmột:|0|012n/2Σx|x(1-F(x)|0+F(x)|1).
    f(x)
  • Xác định đơn nhất .G= =Bạnmột(Tôi-2|00||00|)BạnmộtTôiZ

  • Bắt đầu từ một tiểu bang , sử dụng G giống như bạn sẽ sử dụng Grover iterator để ước tính số lượng các giải pháp cho một vấn đề tìm kiếm.Bạnmột|0|0G

Phần lớn chính của thuật toán này là khuếch đại biên độ, như được mô tả ở đây . Ý tưởng chính là bạn có thể định nghĩa hai trạng thái và điều này định nghĩa một không gian con cho sự phát triển. Trạng thái ban đầu làUa| 0| 0=(

|ψ= =1ΣxF(x)ΣxF(x)|x|1|ψ= =1Σx1-F(x)Σx1-F(x)|x|0,
. Biên độ của| ψhạn rõ ràng chứa các thông tin về giá trị trung bình củaF(x), nếu chúng ta chỉ có thể ước tính nó. Bạn chỉ có thể liên tục chuẩn bị trạng thái này và đo lường xác suất nhận được| 1trên sổ đăng ký thứ hai, nhưng tìm kiếm Grover của mang đến cho bạn một sự cải thiện bậc hai. Nếu bạn so sánh với cách Grover thường được thiết lập, biên độ của điều này| ψBạnmột|0|0= =(ΣxF(x)|ψ+Σx1-F(x)|ψ)2-n/2|ψF(x)|1|ψmà bạn có thể 'đánh dấu' (trong trường hợp này bằng cách áp dụng ) sẽ TôiZ trong đómlà số lượng nghiệm.m2nm

Ngẫu nhiên, điều này thật thú vị khi so sánh với "sức mạnh của một qubit sạch", còn được gọi là DQC1. Ở đó, nếu bạn áp dụng cho tôiBạnmột, xác suất nhận được câu trả lời 1 giống như phiên bản không tăng tốc và đưa ra ước tính về giá trị trung bình.Tôi2n|00|


z

Σx|f(x)-f(z)|.
Txf(x)TT

Tất nhiên, tôi đang bỏ qua một số chi tiết về thời gian chạy chính xác, ước tính lỗi, v.v.


Trước tiên, bạn có cần chạy thuật toán của Grover một số lần logarit để tính giá trị tối thiểu và tối đa của hàm trước khi bạn có thể thực hiện thay đổi tỷ lệ trong bước 1 không?
tparker

@tparker Điều đó có lẽ phụ thuộc. Thông thường, bạn sẽ biết rằng bạn biết đủ về hàm F để có thể ràng buộc các giá trị có thể của nó.
DaftWullie
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.