Thuật toán HHL - tại sao kiến ​​thức cần thiết về eigenspectrum là một nhược điểm lớn?


9

Câu hỏi này là sự tiếp nối của ước lượng pha lượng tử và thuật toán HHL - kiến ​​thức về giá trị bản địa cần có? .


Trong câu hỏi được liên kết ở trên, tôi đã hỏi về sự cần thiết của HHL để có thông tin về eigenspectrum của ma trận được xem xét. Nó xuất hiện rằng thuật toán HHL cần một ma trận có giá trị riêng để hoạt động chính xác.Aλj[0,1)

Theo điều kiện này, được đưa ra một ma trận , để áp dụng thuật toán HHL, chúng ta cần kiểm tra một trong các điều kiện dưới đây:A

  1. Các giá trị riêng của ma trận đều nằm trong [0,1) .
  2. Một cặp (L,M)R2 mà ràng buộc (từ bên dưới cho L và từ trên cao cho M ) các giá trị riêng λj của ma trận A . Các giới hạn này sau đó có thể được sử dụng để hủy bỏ ma trận A sao cho điều kiện 1. được xác thực.

Nhóm câu hỏi đầu tiên: Tôi đã đọc rất nhiều bài viết về HHL và không ai trong số họ thậm chí đề cập đến hạn chế này. Tại sao? Là hạn chế này được biết đến nhưng được coi là yếu (tức là dễ dàng có loại thông tin này)? Hoặc hạn chế không được biết đến? Có bài nghiên cứu nào đề cập đến hạn chế này không?


Bây giờ chúng ta hãy nói về phân tích phức tạp của HHL. Từ các thuật toán hệ thống tuyến tính lượng tử: một mồi (Dervovic, Herbster, Mountney, Severini, Usher & Wossnig, 2018) , sự phức tạp của HHL (và một số cải tiến) được viết trong hình ảnh bên dưới.

độ phức tạp của HHL

Phân tích độ phức tạp không tính đến (ít nhất là tôi không tìm thấy nó) những kiến ​​thức cần thiết về eigenspectrum.

Trường hợp ma trận được xem xét có đủ các đặc tính tốt để ước tính giá trị bản địa của nó một cách phân tích là không phổ biến (ít nhất là đối với ma trận trong thế giới thực) và bị bỏ qua.

Trong câu trả lời này , @DaftWullie sử dụng định lý vòng tròn Gershgorin để ước tính giới hạn trên và dưới của eigenspectrum. Vấn đề với cách tiếp cận này là nó cần các phép toán ( nếu áp dụng khuếch đại biên độ). Số lượng hoạt động này phá hủy độ phức tạp logarit của HHL (và nó chỉ có lợi thế so với các thuật toán cổ điển cùng một lúc).O(N)O(N)

Nhóm câu hỏi thứ hai: Có thuật toán nào tốt hơn về độ phức tạp không? Nếu không, thì tại sao thuật toán HHL vẫn được trình bày như một sự cải tiến theo cấp số nhân so với các thuật toán cổ điển?


Tôi đoán cách tốt nhất để giải quyết vấn đề này là hỏi bối cảnh thuật toán HHL sẽ được áp dụng trong bối cảnh nào. Một khi bạn biết ngữ cảnh, điều đó giúp chỉ định những gì bạn biết về ma trận.
DaftWullie

3
Nhân tiện, hạn chế chắc chắn được biết đến. Trong phần giới thiệu của bài viết HHL (phiên bản arXiv hiện tại), nó nói rằng "Các thuật toán của chúng tôi thường sẽ cho rằng các giá trị số ít của A nằm giữa 1 / κ và 1"
DaftWullie

2
Bài viết của Scott Aaronson về "đọc bản in đẹp" cho thuật toán học máy lượng tử có thể đặc biệt thú vị với bất kỳ ai quan tâm đến câu hỏi này. scottaaronson.com/ con / qml.pdf
Jalex Stark

Một nguồn tài nguyên rất hữu ích! Cảm ơn liên kết @JalexStark
N Friee

Câu trả lời:


5

Các hạn chế về giá trị riêng thường được đưa ra dưới dạng một số điều kiện . Đây là mà bạn thấy trong tất cả thời gian chạy trong bảng của mình. trong đó và lần lượt là các giá trị riêng tối đa và tối thiểu .κκ=|λmax/λmin|λmaxλmin

Trong tất cả các thời gian chạy được liệt kê trong bảng của bạn, người ta cho rằng số điều kiện đã biết. Người ta thường không nghĩ đến việc "tính số điều kiện" như là một phần của thuật toán để giải chẳng hạn. Nếu số điều kiện lớn hơn, hệ thống khó giải quyết hơn và nếu nhỏ hơn, hệ thống sẽ dễ giải quyết hơn (giả sử tất cả các tham số khác, bao gồm cả lỗi mong muốn tối đa được giữ cố định). Ax=bϵ

Về mặt cần phải biết rằng và , có rất nhiều ví dụ mà chúng ta có thể biết các giới hạn về giá trị bản địa mà không thực sự đi qua nỗ lực tính toán giá trị bản địa. Theo cách này, HHL có thể là một cách tuyệt vời để tìm trạng thái bạn đang tìm kiếm mà không phải trả chi phí tính số điều kiện hoặc bất kỳ giá trị riêng nào.λmax<Mλmin>L

Hãy để tôi chỉ đưa ra một ví dụ thực tế. Giả sử tôi muốn tìm trạng thái dao động phân tử sao cho sau khi ps tiến hóa dưới Hamilton của nó , phân tử kết thúc ở trạng thái . Điều này có thể được mô tả bởi phương trình:|ψt=10H|b

eiHt|ψ=|b

trong đó thỏa mãn phương trình này là những gì bạn muốn biết. Bạn có thể tìm thấy mong muốn của mình bằng cách sử dụng thuật toán HHL với và .|ψ|ψA=eiHt|ψ=|x

Có được giá trị riêng nhỏ nhất và lớn nhất của Hamiltonian phân tử đến độ chính xác tùy ý là cực kỳ tốn kém trên một máy tính cổ điển, nhưng biết rằng chúng nằm trong phạm vi có thể được xác định miễn phí. Ví dụ: nếu phân tử là dimer nitơ, chúng ta biết trạng thái dao động thấp nhất và cao nhất có năng lượng (giá trị riêng) trong khoảng từ 0 đến 10 eV và vì chúng ta có và . Bạn có thể chuyển đổi eV thành Hz và ps thành giây để đánh giá(L,M)e0=1L= =1M= =e-Tôi10eV10pSMbằng số, và sau đó bạn có thể có được các giới hạn dưới và trên mà bạn cần sử dụng khi nhân rộng ma trận theo cách bạn đã mô tả trong câu hỏi trước đó. Tôi không cần phải tính toán giá trị riêng của phân tử Hamilton 14 electron (sẽ cực kỳ khó khăn và sẽ đánh bại mục đích sử dụng HHL, bởi vì nếu tôi có thể tính được giá trị riêng tôi có thể tính và đảo ngược để có được ). Tôi chỉ sử dụng năng lượng phân ly của phân tử để đưa ra các giới hạn về năng lượng rung động của nó. Tôi có thể đã đưa ra các giới hạn thậm chí tốt hơn bằng cách sử dụng xấp xỉ WKB bán cổ điển , với chi phí thấp hơn nhiều so với việc tính toán giá trị bản địa, nhưng ví dụ đầu tiên là đủ.Một|ψ

Vì vậy, bây giờ hãy giải quyết tất cả các câu hỏi cá nhân của bạn:

Nhóm câu hỏi đầu tiên: Tôi đã đọc rất nhiều bài viết về HHL và không ai trong số họ thậm chí đề cập đến hạn chế này. Tại sao? Là hạn chế này được biết đến nhưng được coi là yếu (tức là dễ dàng có loại thông tin này)? Hoặc hạn chế không được biết đến? Có bài nghiên cứu nào đề cập đến hạn chế này không?

Trong số 539 bài báo (hiện tại) đã trích dẫn bài báo HHL gốc, nhiều người trong số họ sẽ không biết các chi tiết tốt hơn như sự phụ thuộc của hiệu suất của nó vào số điều kiện hoặc giá trị bản địa. Một số bài báo chắc chắn sẽ biết rằng hiệu suất của thuật toán sẽ phụ thuộc vào số điều kiện hoặc giá trị riêng của ma trận, cụ thể là các bài viết được liệt kê trong bảng của bạn về các cải tiến cho thuật toán HHL. Robin Kothari cũng đã đề cập đến nó, ví dụ, vào lúc bắt đầu bài nói chuyện năm 2016 về thuật toán CKS (được đề cập trong bảng của bạn).

Nhóm câu hỏi thứ hai: Có thuật toán nào tốt hơn về độ phức tạp không? Nếu không, thì tại sao thuật toán HHL vẫn được trình bày như một sự cải tiến theo cấp số nhân so với các thuật toán cổ điển?

Thuật toán mà bạn đề cập, được đề xuất bởi DaftWulie, để ước tính giới hạn về giá trị bản địa, sẽ không được cải thiện so với vì chi phí vượt trội trong thuật toán đó là tìm kiếm qua tất cả hàng cho các giá trị tối đa và tối thiểu. Chi phí của tất cả mọi thứ khác chỉ là nhỏ vì ma trận được giả định có một thưa thớt của . Không có cách nào để thực hiện tìm kiếm này nhanh hơn thời gian (trừ khi bạn có một số kiến ​​thức bổ sung khác về hệ thống) vì thuật toán của Grover đã được chứng minh là tối ưu.Ôi(N)NSNÔi(N)

Bạn đã đúng, mọi người nên đề cập đến sự cẩn thận của các thuật toán thường xuyên hơn trong các bài báo của họ. Về câu hỏi cụ thể của bạn "tại sao thuật toán HHL vẫn được trình bày như là một cải tiến theo cấp số nhân so với thuật toán cổ điển", tôi nghĩ rằng các tác giả ban đầu HHL đã làm hết sức mình trong việc giải thích thuật toán và cảnh báo của nó, trong đó họ nói rằng có một hàm mũ nhân rộng nhưng chi phí tăng theo phương trình bậc hai với số điều kiện và độ thưa thớt và nghịch đảo với kích thước của lỗi bạn sẵn sàng chịu đựng. Tại sao hầu hết những người khác sau HHL không đề cập đến tất cả các cảnh báo? Chà, nhiều người trong số họ không biết những lời cảnh báo và những người có thể cảm thấy không cần thiết vì tính toán số điều kiện không phải là một phần của thuật toán. Biết số điều kiện sẽ cho bạn biết thuật toán sẽ hoạt động tốt như thế nào,


1
+1, địa chỉ tốt.
Niel de Beaudrap

2
Kết luận là "Trường hợp ma trận được xem xét có đủ các đặc tính tốt để ước tính giá trị riêng (hoặc giới hạn trên / dưới) về mặt phân tích là không phổ biến (ít nhất là đối với ma trận trong thế giới thực) nhưng là trường hợp duy nhất chúng ta có thể xử lý vào lúc này nếu chúng tôi muốn áp dụng HHL. ". Câu hỏi của tôi có lẽ quá hẹp để trả lời với giới hạn về các trường hợp phân tích "đơn giản". Cảm ơn bạn! Trường hợp sử dụng cụ thể của bạn rất thú vị và cũng sẽ ổn ở đây: quantumcomputing.stackexchange.com/questions/2697/iêu
Nensonee

@NieldeBeaudrap: Thật vinh dự khi nhận được nhận xét đó từ bạn, vì bạn là một chàng trai được biết là thích những thứ chính xác và nghiêm ngặt. Tôi biết rất nhiều câu trả lời khác của tôi đã có sơ hở, mà bạn là người đầu tiên chỉ ra, chẳng hạn như trường hợp câu trả lời của tôi chỉ có tác dụng đối với các trạng thái trực giao.
1271772
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.