Giải thích thuật toán tối ưu hóa gần đúng lượng tử

Aug 14 2021
Tính toán lượng tử đoạn nhiệt (AQC) được thiết kế để phát triển trạng thái cơ bản của một hamiltonian đơn giản để tìm ra trạng thái cơ bản của một hamiltonian phức tạp. AQC dựa trên định lý đoạn nhiệt, phát biểu rằng: Một hệ vật lý vẫn ở trong trạng thái riêng đo được của nó nếu một hệ thống tương tự nhất định đang tác động lên nó đủ chậm và nếu có một khoảng cách giữa giá trị riêng và phần còn lại của phổ của hamiltonian.

Tính toán lượng tử đoạn nhiệt (AQC) được thiết kế để phát triển trạng thái cơ bản của một hamiltonian đơn giản để tìm ra trạng thái cơ bản của một hamiltonian phức tạp. AQC dựa trên định lý đoạn nhiệt, phát biểu:

Một hệ thống vật lý vẫn ở trong trạng thái riêng đo được của nó nếu một hệ thống tương tự nhất định đang tác động lên nó đủ chậm và nếu có khoảng cách giữa giá trị eigen và phần còn lại của phổ của hamiltonian.

Vì vậy, sử dụng định lý đoạn nhiệt, AQC nhận một trạng thái cơ bản của hamiltonian đơn giản và từ từ phát triển nó trở thành trạng thái cơ bản của hamiltonian phức tạp, đó là lời giải của bài toán.

Điều này có thể được hiển thị bởi toán tử này:

Nhưng đáng buồn thay, sức mạnh của một máy tính lượng tử đoạn nhiệt vẫn chưa thể trở thành hiện thực. Vì vậy, những điều tốt nhất tiếp theo là thuật toán tối ưu hóa gần đúng lượng tử (QAOA) và ủ lượng tử. Vì máy tính dựa trên cổng lượng tử linh hoạt hơn nhiều so với ủ lượng tử. Hãy nhìn vào điều đó. Chúng tôi sẽ xem xét QAOA.

Vậy QAOA là gì?

Hãy chia nhỏ:

  • Lượng tử - Bởi vì nó là một thuật toán lượng tử.
  • Gần đúng - Thuật toán không tìm ra câu trả lời chính xác. Nó tìm thấy câu trả lời đủ gần.
  • Tối ưu hóa - Đó là một thuật toán tối ưu hóa.
  • Thuật toán - Bởi vì nó là một thuật toán.

Từ quan điểm vật lý, hai nguyên tắc vật lý lượng tử quan trọng làm cho QAOA hoạt động:

  1. Sự phát triển theo thời gian của một hệ thống lượng tử
  2. Trotterization

Tiến hóa thời gian

Cũng giống như trong thế giới thực, thời gian trôi qua trong các hệ lượng tử. Nhưng đôi khi thời gian không quan trọng trong một hệ lượng tử nên chúng ta không mô hình hóa nó. Nó thực sự quan trọng đối với một QAOA. Có một hoạt động mà chúng tôi có thể thực hiện:

Điều này xuất phát trực tiếp từ phương trình của Schrödinger. Phương trình này có nghĩa là một Hamilton không phụ thuộc vào thời gian có thể mô tả sự thay đổi của một trạng thái do thời gian trong một hệ lượng tử.

Nếu phương trình này được giải, chúng ta nhận được phụ thuộc của nó là:

Điều này nói rằng nếu chúng ta có một trạng thái (| Ψ (0) ⟩ và phát triển nó với một Hamilton (H) trong một khoảng thời gian (t), chúng ta sẽ nhận được trạng thái:

Vậy phương trình này có nghĩa là gì? Hãy phá vỡ nó.

  • Ψ - đại diện cho hàm sóng của qubit
  • T - đại diện cho tổng lượng thời gian
  • e⁻ᶦᴴᵀ - Là một toán tử là sự tiến hóa của một hệ lượng tử được mô tả bởi một Hamilton

Trotterization

Mục đích của Trotterization là giúp tính gần đúng Hamilton phức tạp để làm cho nó khả thi khi sử dụng. Điều này có thể được biểu diễn bằng một Hamilton độc lập về thời gian. Để kiểm tra trực quan Trotterization, chúng ta có thể ước lượng một vòng tròn tại một số điểm khác nhau.

Chúng ta có thể thấy rằng càng có nhiều điểm thì giá trị gần đúng của chúng ta càng tốt. Chúng ta có thể thực hiện phép tính gần đúng này dựa trên sự phát triển thời gian của toán tử hệ thống lượng tử của chúng ta, có thể được biểu diễn bằng:

Điều này có nghĩa là một toán tử U hoạt động từ t_0 đến t. Chúng ta có thể ước lượng sự tiến hóa theo thời gian của một toán tử hệ lượng tử như sau:

trong đó n là số "điểm". Vì vậy n càng lớn thì xấp xỉ càng chính xác.

Vì vậy, bằng cách sử dụng các nguyên tắc tiến hóa thời gian và trotte hóa, chúng ta có thể tạo ra một QAOA. Nói từ một ý nghĩa trực quan hơn về QAOA, QAOA dần dần phát triển từ hamiltonian đơn giản H_ B thành hamiltonian H_C phức tạp cho thời gian β và γ xấp xỉ với n .

Để hiểu rõ hơn về QAOA, đây là một ví dụ hay và sáng kiến ​​hơn:

Một nhà điêu khắc đang làm một chiếc cốc phức tạp từ đất sét nhưng anh ta bắt đầu với một chiếc bát đất sét đơn giản. Anh ta từ từ cho bát của mình vào một cái cốc. Bây giờ, hãy tưởng tượng anh ta thêm một đồng xu vào đáy bát và biến chiếc bát thành một chiếc cốc. Đồng xu sẽ ở dưới đáy cốc khi thợ điêu khắc hoàn thành. Bây giờ hãy tưởng tượng anh ấy dùng một miếng gỗ để làm khuôn chiếc cốc này. Nhà điêu khắc sẽ không bao giờ có thể tạo ra chiếc cốc phức tạp sam bằng gỗ vì anh ta có thể làm nhiều sợi chỉ nhưng nó sẽ gần hết. Miếng gỗ càng nhỏ thì sự gần đúng càng tốt vì anh ta có thể thêm nhiều deatils.

  • Đồng tiền đại diện cho trạng thái cơ bản vẫn được giữ nguyên
  • Cái bát đại diện cho một con chuột cống đơn giản
  • Chiếc cốc đại diện cho một hamiltonian phức tạp
  • Mảnh gỗ đại diện cho n thay đổi giá trị xấp xỉ tốt như thế nào. Mặc dù trong ví dụ này càng nhỏ càng tốt, n càng tốt thì nó càng lớn.

Vậy chúng ta thực hiện QAOA như thế nào?

Hoạt động bên trong của QAOA hoạt động theo các bước sau:

  1. Đặt tất cả các qubit thành chồng chất với các cổng Hamarrad.
  2. Dịch chuyển pha của các qubit có cổng Điều khiển P được tham số hóa bằng -2γ và cổng P được tham số hóa bằng γ.
  3. Một lớp cổng Rx được tham số hóa 2β làm dịch chuyển pha của các qubit.
  4. Đo các qubit khiến chúng sụp đổ để có kết quả cuối cùng.

Sự cố với QAOA

Giải pháp gần đúng

Như tên cho thấy nó tìm thấy giải pháp gần đúng không phải là giải pháp thực, vì vậy các ứng dụng của nó trong tình huống thực tế mà giải pháp cuối cùng cần phải cực kỳ chính xác như trong các ứng dụng y tế là không khả thi đối với QAOA.

Tham số hóa

Circut cần được tham số hóa với β & γ cần được giải bằng toán học với các phương trình rất phức tạp hoặc được tìm thấy bằng cách sử dụng trình tối ưu hóa.

Cả hai phương pháp này càng khó thì vấn đề càng phức tạp. Cả hai cũng trình bày những vấn đề độc đáo của riêng họ. Phép toán cần thiết để giải quyết vấn đề yêu cầu thông tin từ bài toán không khả thi trong nhiều bài toán. Trình tối ưu hóa cổ điển không thể mở rộng và có thể mất nhiều thời gian hơn so với mạch thực tế và vẫn yêu cầu cùng một thông tin khiến nó không khả thi trong nhiều vấn đề.

Sao tôi phải quan tâm

Hiện tại, QAOA chủ yếu được sử dụng để giải quyết các vấn đề tối ưu hóa tổ hợp như:

  • Vấn đề nhân viên bán hàng đi du lịch
  • Knapsack vấn đề
  • Maxcut có trọng số và không có trọng số

Có rất nhiều vấn đề tối ưu hóa tổ hợp khác, nhưng điều đó có thể mở rộng thành những vấn đề lớn đối với thế giới thực. Nó đang được sử dụng để giải quyết các vấn đề nhỏ hơn vì trạng thái của phần cứng máy tính lượng tử. Trong tương lai (hy vọng là gần), chúng tôi sẽ có thể áp dụng QAOA hoặc có thể là AQC để giải quyết các vấn đề tối ưu hóa tổ hợp như:

  • Các vấn đề về định tuyến phương tiện hoặc giao thông vận tải (GPS, vận chuyển gói hàng, luồng giao thông)
  • Hậu cần phân phối Ressource (phân phối thực phẩm và nước, năng lượng)
  • Tìm kiếm cấu hình sable của một phân tử (tăng tốc quá trình khám phá thuốc)
  • Một số giải pháp hữu hạn
  • giá trị rời rạc

Kết quả

Vì vậy, bằng cách sử dụng các nguyên tắc và quy trình cơ học lượng tử mà chúng ta đã học, tôi đã sử dụng Qiskit để triển khai QAOA nhằm giải quyết các vấn đề MAX CUT. Một vấn đề tối ưu hóa tổ hợp np-khó. MAX CUT là một bài toán cho một đồ thị với các nút được nối với nhau bằng các cạnh như thế này:

Cắt biểu đồ thành hai nhóm bằng nhau trong khi cắt càng nhiều cạnh càng tốt. Vì vậy, đối với vấn đề này, một giải pháp có thể chấp nhận được sẽ là:

Vì vậy, khi sử dụng QAOA để giải quyết vấn đề này, khi đưa ra một vấn đề 5 nút MAX CUT được sắp xếp như thế này:

Giải pháp là:

hoặc

cả hai đều là câu trả lời đã được xác thực là câu trả lời tốt nhất cho vấn đề MAX-CUT cụ thể này.

Để kết thúc, chúng ta có thể xem QAOA hoạt động như thế nào từ quan điểm vật lý, toán học và khoa học máy tính và để kết thúc một loạt các kết quả khác: