Tại sao điều quan trọng là phải loại bỏ các qubit rác?


18

Hầu hết các thuật toán lượng tử có thể đảo ngược sử dụng các cổng tiêu chuẩn như cổng Toffoli (CCNOT) hoặc cổng Fredkin (CSWAP). Vì một số thao tác yêu cầu hằng số làm đầu vào và số lượng đầu vào và đầu ra bằng nhau, nên các qubit rác (hoặc qubit rác ) xuất hiện trong quá trình tính toán.|0

Vì vậy, một mạch chính như thực sự trở thành , trong đó là viết tắt của (các) qubit rác.| x | 0 | f ( x ) | g | g |x|f(x)|x|0|f(x)|g
|g

Mạch bảo tồn giá trị ban đầu kết thúc bằng|x|0|0|x|f(x)|g

Tôi hiểu rằng các qubit rác là không thể tránh khỏi nếu chúng ta muốn mạch có thể đảo ngược, nhưng nhiều nguồn cho rằng điều quan trọng là phải loại bỏ chúng. Tại sao nó như vậy?1


1 Do yêu cầu về nguồn, hãy xem ví dụ như bài viết arXiv này , trang 8, cho biết

Tuy nhiên, mỗi thao tác đơn giản này chứa một số qubit phụ, bổ sung, phục vụ cho việc lưu trữ các kết quả trung gian, nhưng không liên quan ở cuối. Để không lãng phí bất kỳ không gian [sic] không cần thiết nào, do đó, điều quan trọng là phải đặt lại các qubit này thành 0 để chúng tôi có thể sử dụng lại chúng

hoặc giấy arXiv này nói

Việc loại bỏ các qubit rác và qubit ancilla là rất cần thiết trong việc thiết kế một mạch lượng tử hiệu quả.

hoặc nhiều nguồn khác - một tìm kiếm google tạo ra nhiều lượt truy cập.

Câu trả lời:


15

Giao thoa lượng tử là trái tim và linh hồn của tính toán lượng tử. Bất cứ khi nào bạn có qubit rác, họ sẽ ngăn chặn sự can thiệp. Đây thực sự là một điểm rất đơn giản nhưng rất quan trọng. Giả sử chúng ta có hàm ánh xạ một bit thành một bit đơn. Nói là một hàm rất đơn giản, như . Giả sử chúng ta có một mạch đầu vào và đầu ra . Bây giờ, tất nhiên, đây là một mạch đảo ngược và có thể được thực hiện bằng cách sử dụng một phép biến đổi đơn vị . Bây giờ, chúng tôi có thể cung cấp trongf f ( x ) = x C f x f ( x ) | x |f:{0,1}{0,1}ff(x)= =xCfxf(x)1|x|x112|0+12|1và đầu ra cũng sẽ là . Bây giờ chúng ta hãy áp dụng cổng biến đổi Hadamard và đo lường những gì chúng ta nhận được. Nếu bạn áp dụng biến đổi Hadamard cho trạng thái này , bạn sẽ nhận được trạng thái, và bạn thấy với xác suất . Trong trường hợp này, không có rác được tạo ra trong các bước trung gian, trong khi chuyển đổi mạch cổ điển thành mạch lượng tử.12|0+12|1| 00112|0+12|1|001

Nhưng, giả sử chúng ta đã tạo một số rác trong bước trung gian khi sử dụng một mạch như thế này:

nhập mô tả hình ảnh ở đây.

Đối với mạch này, nếu chúng ta bắt đầu ở trạng thái , sau bước đầu tiên, chúng tôi nhận được . Nếu chúng ta áp dụng biến đổi Hadamard cho qubit đầu tiên, chúng ta sẽ có:|x|0= =(12|0+12|1)|012|00+12|11

12|00+12|01+12|10+12|11

Nếu chúng tôi thực hiện phép đo trên qubit đầu tiên, chúng tôi nhận được với xác suất , không giống như trong trường hợp trước đó, chúng tôi có thể thấy với xác suất ! Sự khác biệt duy nhất giữa hai trường hợp là việc tạo ra một bit rác trong bước trung gian, không bị loại bỏ, do đó dẫn đến sự khác biệt trong kết quả cuối cùng của tính toán (vì qubit rác đã vướng vào qubit khác) . Chúng ta sẽ thấy một kiểu nhiễu khác với trường hợp trước đó khi biến đổi Hadamard được áp dụng. Đây chính xác là lý do tại sao chúng ta không muốn giữ rác xung quanh khi chúng ta thực hiện tính toán lượng tử: nó ngăn chặn sự can thiệp.01201

Nguồn: Giáo sư Umesh Vazirani của bài giảng trên EDX.


3

Nếu bạn muốn sử dụng mạch lượng tử làm chương trình con (như một lời tiên tri) cho thuật toán lượng tử sử dụng nhiễu, bạn phải cho phép nhiễu bởi một quá trình được gọi là giải nén các qubit phụ trợ (hoặc, theo cách nói của bạn, rác). Không thể tính toán luôn luôn có thể: Vì cổng của bạn có thể đảo ngược, bạn chỉ có thể áp dụng nghịch đảo của chúng. Đó là, sau bước bạn đã đề cập, , bạn thực hiện một tính toán khác (hoặc không tính toán) dẫn đến .|x|0|0|x|f(x)|g|x|f(x)|0

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.