Chúng ta có thể sử dụng song song lượng tử để tính toán nhiều hàm cùng một lúc không?


9

Điều nổi tiếng là bằng cách sử dụng song song lượng tử, chúng ta có thể tính toán một hàm cho nhiều giá trị khác nhau của x cùng một lúc. Tuy nhiên, một số thao tác thông minh là cần thiết để trích xuất thông tin của từng giá trị, tức là với thuật toán của tiếng Đức.f(x)x

Hãy xem xét những trường hợp ngược lại: chúng ta có thể sử dụng song song lượng tử để tính toán nhiều chức năng (nói ) đồng thời cho một giá trị duy nhất x 0 ?f(x),g(x),x0


Để đánh giá g ( x 0 ), bạn cần tạo một bản sao x 0 cho mỗi thao tác nói chung không thể thực hiện được bằng định lý không nhân bản. Mặt khác, nếu bạn chỉ cần chuẩn bị trạng thái hai lần x 0 , bạn chỉ cần khôi phục song song cổ điển. f(x0)g(x0)x0x0

@HenriMenke Làm thế nào về nhân bản không hoàn hảo?
donnydm

@HenriMenke: khái niệm của bạn về "nhân bản" dường như rất rộng, đến mức đặt ra một số trở ngại cho khả năng tiếp cận vấn đề của bạn một cách hiệu quả.
Niel de Beaudrap

Câu trả lời:


5

Câu trả lời chính xác phụ thuộc vào loại chồng chất chính xác mà bạn muốn. Các câu trả lời của kim tự tháp và Niel đều cung cấp cho bạn một cái gì đó như

At=1n|ft(x)|Ft

Ở đây tôi đã theo dõi Niel trong việc dán nhãn cho các hàm khác nhau , f 2 , v.v., với n là tổng số hàm bạn muốn chồng lên. Ngoài ra, tôi đã sử dụng F t để biểu thị một số mô tả về chức năng f t như một chương trình được lưu trữ. Chữ A chỉ là bất cứ số nào cần có để trạng thái được chuẩn hóa.f1f2nFtftA

Lưu ý rằng đây không chỉ đơn giản là sự chồng chất của . Nó bị vướng vào chương trình được lưu trữ. Nếu bạn đã theo dõi chương trình được lưu trữ, bạn sẽ chỉ có một hỗn hợp của f t ( x ) . Điều này có nghĩa là chương trình được lưu trữ có thể tạo thành 'rác', ngăn chặn các hiệu ứng nhiễu mà bạn có thể đang tính đến. Hoặc nó có thể không. Nó phụ thuộc vào cách chồng chất này sẽ được sử dụng trong tính toán của bạn.ft(x)ft(x)

Nếu bạn muốn loại bỏ rác, mọi thứ trở nên khó khăn hơn. Ví dụ: giả sử những gì bạn muốn là một đơn nhất có tác dụngU

U:|x|0NAt=1n|ft(x)

cho tất cả các đầu vào có thể (mà tôi giả sử là các chuỗi bit được viết trong cơ sở tính toán). Lưu ý rằng tôi cũng đã bao gồm một số qubit trống ở phía đầu vào, trong trường hợp các hàm có đầu ra dài hơn đầu vào.x

Từ đó, chúng ta có thể nhanh chóng tìm thấy một điều kiện mà các hàm phải thỏa mãn: vì các trạng thái đầu vào tạo thành một tập trực giao, do đó phải xuất ra các đầu ra. Điều này sẽ đặt ra một hạn chế đáng kể đối với các loại chức năng có thể được kết hợp theo cách này.


Cảm ơn bạn, tôi nghĩ bằng cách này, người ta có thể tăng tốc sth như tính toán mở rộng Taylor. Dù sao, chương trình được lưu trữ có thể được truy cập / đo lường để có được một số thông tin, hay nó chỉ là một công cụ?
donnydm

Chương trình được lưu trữ sẽ chỉ được viết trong một thanh ghi các qubit, vì vậy nó chắc chắn có thể bị thao túng.
James Wootton

5

f,g, {f1,f2,}tftftf1,f2,x0

Khi bạn có cách chỉ định các chức năng như các chương trình được lưu trữ, về cơ bản bạn đã hoàn thành: chương trình về cơ bản là một loại đầu vào khác, bạn có thể chuẩn bị chồng chất, và ví dụ đánh giá đầu vào cố định hoặc chồng chất đầu vào, bằng máy tính các chức năng từ thông số kỹ thuật của họ trong mỗi chi nhánh.

ft


3

Có (tùy thuộc vào việc "tính toán nhiều hàm cùng một lúc" nghĩa là gì)

fUfgUg

  1. |00xα|01+β|10α|0+β|1IXCUfCUg

    (αUf+βUg)|xIXαUf+βUgfgf+g

    fg

  2. |xxUfUg|x

  3. |0xα|0+β|1IF RESULT = 0 U_f ELSE U_gE(ρ)=|α|2UfρUf+|β|2UgρUg


(αββα)


Điều này là thú vị, một phần vì không cần chương trình lưu trữ. Là CNOT trong số 1 cần thiết?
donnydm

2

fall(y,x)f(x)y=0g(x)y=1yxx0

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.