Theo yêu cầu trong các ý kiến, đây là một ví dụ làm việc. Phần chính xử lý tối thiểu hóa cho một vấn đề cụ thể. Ở phía dưới sau một cuộc thảo luận ngắn gọn về các ràng buộc sau đó một cuộc thảo luận ngắn gọn về trường hợp chung.f( x )
Hãy giải quyết vấn đề Cắt tối đa có trọng số vì điều này
- Là một ví dụ tương đối đơn giản
- Là khó kinh điển
- Là một ví dụ tương đối phổ biến trong tài liệu (ví dụ: https://journals.aps.org/prl/abauge/10.1103/PhysRevLett.90.067903 )
- Có một kết nối rõ ràng với một Hamiltonian vật lý (Ising kính xoay)
Để hiểu vấn đề, chúng ta bắt đầu với một đồ thị vô hướng gồm đỉnh , trong đó mỗi đỉnh có trọng số và mỗi cạnh nối và có trọng số . Sau đó chúng tôi cắt đồ thị thành hai mảnh. Vết cắt không cần thẳng nhưng không được tự cắt nhau và không thể cắt bất kỳ cạnh nào hai lần. Sau đó, chúng tôi tính P "xuất chi " cho khoản cắt giảm của chúng tôi. Khoản thanh toán là tổng trọng số của các cạnh mà chúng ta cắt qua, cộng với tổng trọng số của các đỉnh ở một bên của vết cắt. 1n{ V}vTôi∈ VwTôi≥ 0vTôivjwtôi j≥ 0P1
Nguồn
Trong hình ảnh này, khoản thanh toán sẽ là, 1 + 4 + 3 + 3 + 2 = 13 cho các cạnh cộng 5 + 6 + 1 = 12 cho các đỉnh → P= 25 (giả sử số bên trong mỗi đỉnh là trọng lượng của nó). Vấn đề tối ưu hóa là tối đa hóa P cho một đồ thị nhất định . 22
Để viết điều này một cách toán học, chúng ta có thể nghĩ về các chuỗi bit. Chúng tôi xác định một cắt bởi một chuỗi s ∈ { 0 , 1 }n trong đó STôi= 0 → vTôi không được tính trong tổng và STôi= 1 → vTôi được tính trong tổng. Để làm cho toán học sạch hơn một chút, nếu biểu đồ không được kết nối đầy đủ, hãy làm cho biểu đồ được kết nối đầy đủ và đặt wtôi j= 0 cho bất kỳ cặp không kết nối nào vTôi, vj .
Ví dụ, nhìn vào hình ảnh một lần nữa, hãy giải thích các số bên trong các đỉnh là chỉ số đỉnh thay vì trọng số như chúng ta giả định ở trên. Khi đó, đường cắt tương ứng với s = 100011 . S1= s5= s6= 1 → v1, v5, v6 nằm ở phía "tốt" của vết cắt và được tính, trong khi S2= s3= s4= 0 nằm ở phía "xấu" bên cắt và không được tính.
Điều này sau đó cho phép chúng ta viết P( S ) = ΣTôiSTôiwTôi+ Σtôi , jSTôi( 1 - sj) wtôi j
Thuật ngữ đầu tiên chỉ tính trọng số của tất cả các đỉnh ở phía "tốt" của vết cắt. Thuật ngữ thứ hai tính trọng lượng của một cạnh nếu các đỉnh mà nó kết nối nằm ở hai phía đối diện của vết cắt. Lưu ý điều này không tính gấp đôi vì nó chỉ đếm cạnh khi STôi= 1 , sj= 0 chứ không phải khi STôi= 0 , sj= 1 .
Vì vậy, bây giờ vấn đề tối ưu hóa của chúng tôi là tìm chuỗi S tối đa hóa P( s ) . Ý tưởng ở đây là nghĩ về P( s ) như một thước đo năng lượng của một hệ thống và S là trạng thái của hệ thống. Điều này có nghĩa là chúng ta có thể liên hệ P( s ) với Hamilton của chúng ta. Có một chút tinh tế ở đây rằng chúng tôi đang cố gắng tối đa hóa P( s ) nhưng chúng tôi thường nói về việc tìm trạng thái cơ bản của người Hamilton. Đây không phải là vấn đề nhưng tôi muốn chỉ ra - thay vào đó chúng ta có thể nhìn vào trạng thái kích thích năng lượng cao nhất (trạng thái chống đất nếu bạn muốn) hoặc sử dụng - P( s ) là hàm năng lượng của chúng ta sau đó hoạt động với trạng thái cơ bản như bình thường. Hãy làm việc với nhà nước và tối đa hóa kích thích cao nhấtP .
Chúng tôi muốn tạo ra một Hamilton sao cho trạng thái năng lượng cao nhất của nó là | S0⟩ mà P( s0) là tối đa. Về cơ bản chúng tôi muốn biến P( s ) , một chức năng năng lượng, vào H , một nhà điều hành năng lượng. Chúng tôi làm điều này bằng cách lưu ý rằng cho | s ⟩ ∈ { | 0 ⟩ , | 1 ⟩ } chúng tôi có tôi - ZH^| s⟩∈{ | 0⟩, | 1⟩}Tôi- Z2| s⟩=s | s⟩→ xác định s^Tôi= Tôi- ZTôi2
Trong đó ZTôi là Pauli Z hoạt động trên qubit Tôi . Bây giờ chúng ta có được Hamiltonian của chúng tôi bằng cách thay thế S với s (và 1 với tôi ) ở PS^TôiP
H= ∑TôiS^TôiwTôi+ Σtôi , jS^Tôi( Tôi- s^j) wtôi , j= ∑TôiTôi- ZTôi2wTôi+ Σtôi , jTôi- ZTôi2( Tôi- tôi- Zj2) wtôi , j
Điều này có thể được làm sạch bằng cách mở rộng và thấy Σtôi , j( ZTôi- Zj) = 0 →
H= ∑TôiwTôi2( Tôi- ZTôi) + Σtôi , jwtôi j4( Tôi- ZTôiZj) = ∑TôiwTôi2( Tôi- ZTôi) + Σtôi < jwtôi j2( Tôi- ZTôiZj)
Chúng ta có thể làm sạch điều này hơn nữa bằng cách nhân 2 và loại bỏ sự thay đổi năng lượng liên tục (xóa các điều khoản Tôi ). Hamiltonian mới có cùng các trạng thái riêng với các giá trị riêng được thu nhỏ và dịch chuyển (rõ ràng năng lượng tối đa không bị ảnh hưởng bởi các biến đổi này)
H= - ΣTôiwTôiZTôi- Σtôi < jwtôi jZTôiZj
Nếu bạn là một nhà vật lý vật chất cô đọng, bạn có thể sẽ nhận ra Hamilton này là một chiếc kính xoay Ising. Không thực sự liên quan đến vấn đề, nhưng tôi nghĩ nó thật tuyệt.
Vì vậy, bây giờ chúng ta có một Hamilton có trạng thái cơ bản (chống) mã hóa chuỗi bit S0 để tối đa hóa P( s ) và giải quyết vấn đề.
Điều cuối cùng chúng ta cần là một Hamiltonian H0 ban đầu , chúng ta biến đổi dần dần (đáng tin cậy) thành Hamiltonian H cuối cùng của chúng ta để chúng ta có thể định nghĩa đầy đủ Hamiltonian HT( t ) = ( 1 - f( t ) ) H0+ f( t ) H: f( 0 ) = 0 , f( tf) = 1
Là một điểm bắt đầu f( t ) ∝ t thường được sử dụng cho đơn giản. Tối thiểu tf xác định bởi độ chính xác mong muốn và khoảng cách quang phổ 3 . Khoảng cách quang phổ là chênh lệch năng lượng tối thiểu, trên tất cả t , giữa trạng thái (chống) và trạng thái năng lượng tiếp theo. Việc phân tích khoảng cách rất không tầm thường (xem https://arxiv.org/abs/quant-ph/0509162 ) và xác định độ phức tạp / hiệu quả của thuật toán. Một thuật toán có khoảng cách 0 không được đảm bảo để hoạt động.3t
Vì vậy, chúng tôi muốn có H0 sao cho
- Chúng ta có thể dễ dàng tìm và chuẩn bị trạng thái (chống)
- Khoảng cách quang phổ của H không phải là nhỏ theo cấp số nhân của vấn đề
Đối với vấn đề này, một Hamiltonian ban đầu tốt là H0= ∑TôiXTôi vì nó dễ tìm thấy trạng thái năng lượng cao nhất, đó là | + ⟩⊗ n . Thật dễ dàng để chuẩn bị, chỉ cần áp dụng H⊗ n cho | 0 ⟩⊗ n . Tôi không có thời gian để phân tích khoảng cách quang phổ nhưng Hamiltonian này dường như không lý tưởng về vấn đề đó (xem https://arxiv.org/abs/1701.05584 ).
Với lựa chọn H0 và lấy f( t ) = t / tf chúng ta đã hoàn thành. Hamilton của chúng tôi là
H( t ) = ( 1 - f( T ) ) ΣTôiXTôi- f( t ) [ ∑TôiwTôiZTôi+ Σtôi < jwtôi jZTôiZj]
Bắt đầu ở bang | ψ0⟩ = H⊗ n| 0 ⟩⊗ n , phát triển theo trên Hamiltonian cho thời gian tf (chọn phù hợp tf là, một lần nữa, nói chung là rất không tầm thường) sau đó đo trong cơ sở tính toán phải trả lại (với xác suất cao) chuỗi s = s0 mà tối đa hóa P( s ) .
1 Điều này là mơ hồ vì đối xứng hai bên sẽ làm. Chúng ta có thể làm cho điều này trở nên nghiêm ngặt bằng cách, ví dụ, thực hiện cắt theo hướng sau đó lấy các đỉnh ở bên trái của vết cắt khi đi dọc theo hướng của vết cắt.
2 Tôi đã nói trong nhận xét, chúng tôi giảm thiểu hàm chi phí, nếu bạn thích điều này tốt hơn chỉ cần lấy chi phí= - chi và giảm thiểu chi phí.
3 Tôi đang quét một số chi tiết về ý nghĩa của "chậm" trong tấm thảm nhưng có thể liên quan đến thang đo năng lượng của vấn đề (tức là nhânH với hằng số sẽ thay đổi tốc độ).
Những ràng buộc
5ΣTôiSTôi- 5 = 0Hc= - α ( ∑TôiS^Tôi- 5 tôi)2α
5kÔ ( N2 k) kkthứ tựđa thức. Đây có vẻ là một cách khủng khiếp để nói về nó - nhưng tôi không thể nghĩ ra cách nào tốt hơn. Điều này đến từ Troyer vào năm 2017 vì vậy nó tương đối khó xảy ra, mặc dù chắc chắn là có thể, rằng một cách tốt hơn hiện đang được biết đến.
Trường hợp chung
f( x )f( x )f( x )f^( x )f^( x ) | x ⟩ = f( x ) | x ⟩H= ∑xf^( x ) | x ⟩ ⟨ x |
f^( x )f( x )