Có một phương pháp chung để thể hiện vấn đề tối ưu hóa như một người Hamilton?


9

Giả sử, chúng ta có một vấn đề tối ưu hóa ở dạng:

minxf(x)gi(x)0,i=1,...,mhj(x)=0,j=1,...,p,

Trong đó là hàm mục tiêu, là các ràng buộc bất đẳng thức và là các ràng buộc đẳng thức.f(x)gi(x)hj(x)

Gần đây tôi đang đọc về điện toán lượng tử đáng tin cậy . Wikipedia nói:

Đầu tiên, một Hamilton (có khả năng phức tạp) được tìm thấy có trạng thái cơ bản mô tả giải pháp cho vấn đề quan tâm. Tiếp theo, một hệ thống với Hamiltonian đơn giản được chuẩn bị và khởi tạo ở trạng thái cơ bản. Cuối cùng, Hamiltonian đơn giản được phát triển một cách đáng tin cậy đến Hamiltonian phức tạp mong muốn. Theo định lý tính toán, hệ thống vẫn ở trạng thái cơ bản, vì vậy ở cuối trạng thái của hệ thống mô tả giải pháp cho vấn đề. Điện toán lượng tử đáng tin cậy đã được chứng minh là tương đương đa thức với điện toán lượng tử thông thường trong mô hình mạch.

Có một số phương pháp chung để diễn đạt vấn đề tối ưu hóa (ví dụ như đã trình bày ở trên) trong chủ nghĩa hình thức Hamilton được sử dụng trong điện toán lượng tử đáng tin cậy ?


1
Tôi không chắc mức độ chính xác của câu trả lời bạn muốn, nhưng bạn thường xác định hàm chi phí nằm cách xa giải pháp và tối thiểu tại giải pháp. Sau đó, bạn dịch hàm chi phí này sang ngôn ngữ quay Pauli (Tôi cho rằng đây là bước bạn muốn làm rõ?). Khi chức năng chi phí của bạn là ngôn ngữ quay vòng, đó là Hamilton của bạn. Ví dụ, nếu bạn đang tìm kiếm trên các chuỗi nhị phân, bạn có thể sử dụng thực tế là (I-Zi) / 2 sẽ trả về giá trị của bit i. Nếu đây là những gì bạn muốn, tôi có thể cố gắng viết nó vào ngày mai nếu tôi có thời gian
bRost03

Bạn có thể đưa ra một số ví dụ như một câu trả lời? Thật tuyệt vời :)
brzepkowski

Xem arxiv.org/abs/1302.5843 (Lucas Ising 2014) để biết nhiều ví dụ.
Nghịch lý

Câu trả lời:


6

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

  1. Là một ví dụ tương đối đơn giản
  2. Là khó kinh điển
  3. 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 )
  4. 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}viVwi0vivjwij0P1

Nguồnnhập mô tả hình ảnh ở đây

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 đó si=0vi không được tính trong tổng và si=1vi đượ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 wij=0 cho bất kỳ cặp không kết nối nào vi,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=1v1,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)=isiwi+i,jsi(1sj)wij

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 si=1,sj=0 chứ không phải khi si=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à |s0P(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}

IZ2|s=s|s define s^i=IZi2

Trong đó Zi là Pauli Z hoạt động trên qubit 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^IP

H=is^iwi+i,js^i(Is^j)wi,j=iIZi2wi+i,jIZi2(IIZj2)wi,j

Điều này có thể được làm sạch bằng cách mở rộng và thấy i,j(ZiZj)=0

H=iwi2(IZi)+i,jwij4(IZiZj)=iwi2(IZi)+i<jwij2(IZiZj)

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 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=iwiZii<jwijZiZj

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

  1. Chúng ta có thể dễ dàng tìm và chuẩn bị trạng thái (chống)
  2. 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 Hn cho |0n . 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ôijZTôiZj]

Bắt đầu ở bang |ψ0= =Hn|0n , 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-5Tôi)2α

5kÔi(N2k) 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)|xx|
f^(x)f(x)


Vấn đề maxcut được giải thích tốt trong câu trả lời này. Tuy nhiên, vấn đề tối ưu hóa của ông được nêu theo cách nó đi lệch một chút so với vấn đề tối đa liên quan đến các ràng buộc bình đẳng và bất bình đẳng.
Bram

Tôi không làm quá nhiều với tối ưu hóa trong công việc của tôi. Bạn có thể đưa ra một ví dụ cụ thể phù hợp với mẫu đã cho không? Tôi có thể có một cú đâm khi đến với Hamiltonian cho nó
bRost03

Tôi đã chỉnh sửa câu trả lời để bao gồm một ràng buộc bình đẳng và thảo luận về khó khăn trong việc thực hiện ràng buộc bất bình đẳng
bRost03

Đã chỉnh sửa thêm để thêm phần giới thiệu về trường hợp chung
bRost03

SS^
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.