Gibt es eine allgemeine Methode, um Optimierungsprobleme als Hamiltonianer auszudrücken?


9

Nehmen wir an, wir haben ein Optimierungsproblem in der Form:

Mindestxf(x)Gich(x)0,ich=1,...,mhj(x)=0,j=1,...,p,

wobei eine Zielfunktion ist, sind Ungleichheitsbeschränkungen und Gleichheitsbeschränkungen.f(x)Gich(x)hj(x)

Kürzlich habe ich über das adiabatische Quantencomputing gelesen . Die Wikipedia sagt:

Zunächst wird ein (möglicherweise komplizierter) Hamilton-Operator gefunden, dessen Grundzustand die Lösung des interessierenden Problems beschreibt. Als nächstes wird ein System mit einem einfachen Hamilton-Operator vorbereitet und auf den Grundzustand initialisiert. Schließlich wird der einfache Hamiltonianer adiabatisch zum gewünschten komplizierten Hamiltonianer entwickelt. Nach dem adiabatischen Theorem bleibt das System im Grundzustand, so dass am Ende der Zustand des Systems die Lösung des Problems beschreibt. Es wurde gezeigt, dass adiabatisches Quantencomputing im Schaltungsmodell polynomiell äquivalent zu herkömmlichem Quantencomputing ist.

Gibt es eine allgemeine Methode, um das Optimierungsproblem (z. B. wie oben dargestellt) im Hamilton-Formalismus auszudrücken, der beim adiabatischen Quantencomputing verwendet wird ?


1
Ich bin mir nicht sicher, wie formal eine Antwort sein soll, aber Sie definieren normalerweise eine Kostenfunktion, die weit von der Lösung entfernt und bei der Lösung minimal ist. Dann übersetzen Sie diese Kostenfunktion in die Pauli-Spin-Sprache (ich nehme an, es ist dieser Schritt, den Sie klären möchten?). Sobald Ihre Kostenfunktion in der Spin-Sprache ist, ist es Ihr Hamilton-Operator. Wenn Sie beispielsweise über binäre Zeichenfolgen gesucht haben, können Sie die Tatsache verwenden, dass (I-Zi) / 2 den Wert von Bit i zurückgibt. Wenn Sie dies möchten, kann ich versuchen, es morgen aufzuschreiben, wenn ich Zeit habe
bRost03

Können Sie ein Beispiel als Antwort zeigen? Es wäre wunderbar :)
Brzepkowski

Viele Beispiele finden Sie unter arxiv.org/abs/1302.5843 (Lucas Ising 2014).
Paradox

Antworten:


6

Wie in den Kommentaren angefordert, ist hier ein Beispiel. Der Hauptteil befasst sich mit der Minimierung von f(x) für ein bestimmtes Problem. Unten folgt eine kurze Diskussion der Einschränkungen, dann eine kurze Diskussion des allgemeinen Falls.

Lösen wir seitdem das Problem des gewichteten maximalen Schnitts

  1. Ist ein relativ einfaches Beispiel
  2. Ist klassisch schwer
  3. Ist ein relativ häufiges Beispiel in der Literatur (z. B. https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.90.067903 )
  4. Hat eine klare Verbindung zu einem physischen Hamiltonianer (Ising Spin-Brille)

Um das Problem zu verstehen, beginnen wir mit einem ungerichteten Graphen von n Eckpunkten {V.}} , wobei jeder Eckpunkt vichV. das Gewicht wich0 und jede Kante, die vich und vj verbindet, ein Gewicht wichj0 . Wir schneiden dann die Grafik in zwei Teile. Der Schnitt muss nicht gerade sein, darf sich aber nicht selbst schneiden und darf keine Kante zweimal schneiden. Dann berechnen wir eine " Auszahlung " P.für unseren Schnitt. Die Auszahlung ist die Summe der Gewichte der Kanten, die wir durchschneiden, plus der Summe der Gewichte der Eckpunkte auf einer Seite des Schnitts. 11

QuelleGeben Sie hier die Bildbeschreibung ein

In diesem Bild wäre die Auszahlung 1+4+3+3+2=13 für die Kanten plus 5+6+1=12 für die Eckpunkte P.=25 (vorausgesetzt, die Zahl in jedem Eckpunkt ist sein Gewicht). Das Optimierungsproblem besteht darin, P. für einen gegebenen Graphen zu maximieren . 22

Um dies mathematisch zu schreiben, können wir in Bitfolgen denken. Wir definieren einen Schnitt durch ein String s{0,1}}n wobei sich=0vich ist nicht in der Summe gezählt und si=1vi wird in der Summe gezählt. Um die Mathematik ein wenig sauberer zu machen, wenn der Graph nicht vollständig verbunden ist, machen Sie den Graph vollständig verbunden und setzen Sie wij=0 für alle nicht verbundenen Paare vi,vj .

Wenn wir beispielsweise das obige Bild noch einmal betrachten, interpretieren wir die Zahlen innerhalb der Scheitelpunkte als Scheitelpunktindex anstelle des oben angenommenen Gewichts. Dann entspricht der gezeichnete Schnitt s=100011 . s1=s5=s6=1v1,v5,v6 sind auf der "guten" Seite des Schnitts und werden gezählt, während s2=s3=s4=0 auf der "schlechten" Seite sind. Seite des Schnitts und werden nicht gezählt.

Dies ermöglicht es uns dann, P ( s ) = i s i w i + i , j s i ( 1 - s j ) w i j zu schreiben

P(s)=isiwi+i,jsi(1sj)wij

Der erste Term zählt nur die Gewichte aller Eckpunkte auf der "guten" Seite des Schnitts. Der zweite Term zählt das Gewicht einer Kante, wenn sich die Eckpunkte, die sie verbindet, auf gegenüberliegenden Seiten des Schnitts befinden. Beachten Sie, dass dies nicht doppelt zählt, da es nur die Kante zählt, wenn si=1,sj=0 und nicht, wenn si=0,sj=1 .

Unser Optimierungsproblem besteht nun darin, die Zeichenfolge s , die P(s) maximiert . Die Idee hier ist, P(s) als ein Maß für die Energie eines Systems und s als den Zustand des Systems zu betrachten. Dies bedeutet, dass wir P(s) mit unserem Hamilton-Operator in Beziehung setzen können . Es gibt hier eine leichte Subtilität, dass wir versuchen, P(s) zu maximieren, aber wir sprechen normalerweise darüber, den Grundzustand eines Hamiltonianers zu finden. Dies ist kein Problem, aber ich wollte darauf hinweisen - wir können stattdessen den angeregten Zustand mit der höchsten Energie (Anti-Boden-Zustand, wenn Sie so wollen) betrachten oder P(s) als unsere Energiefunktion arbeiten dann wie gewohnt mit dem Grundzustand. Lassen Sie uns mit dem höchsten angeregten Zustand arbeiten undP maximieren.

Wir möchten einen Hamilton-Operator so erstellen, dass sein höchster Energiezustand |s0 , so daß P(s0) , maximal ist. Im Wesentlichen wollen wir drehen P(s) , eine Energiefunktion, in H , einen Energiebetreiber. Wir tun dies, indem wir feststellen, dass für | s ⟩ & egr ; { | 0 , | 1 } wir haben I - ZH^|s{|0,|1}

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

Wobei Zi das Pauli Z , das auf Qubit i wirkt . Jetzt bekommen wir unsere Hamilton - durch Ersetzen s mit s (und 1 mit I ) in Ps^IP

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

Dies kann durch Erweitern und Anzeigen von i , j ( Z i - Z j ) = 0 bereinigt werdeni,j(ZiZj)=0

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

Wir können dies noch weiter bereinigen, indem wir mit 2 multiplizieren und eine konstante Energieverschiebung entfernen (die I Terme löschen ). Neuer Hamilton-Operator mit denselben Eigenzuständen mit skalierten und verschobenen Eigenwerten (die maximale Energie wird von diesen Transformationen eindeutig nicht beeinflusst)

H=iwiZii<jwijZiZj

Wenn Sie ein Physiker der kondensierten Materie sind, werden Sie diesen Hamiltonianer wahrscheinlich als Ising-Spinglas erkennen. Nicht wirklich relevant für das Problem, aber ich finde es cool.

Jetzt haben wir also einen Hamilton-Operator, dessen (Anti-) Grundzustand die Bitfolge s0 codiert, die P(s) maximiert und das Problem löst.

Das Letzte, was wir brauchen, ist ein anfänglicher Hamilton- H0 , den wir langsam (adiabatisch) in unseren endgültigen Hamilton- H umwandeln, damit wir den vollständigen Hamilton-

HT(t)=(1f(t))H0+f(t)H:f(0)=0,f(tf)=1

Als Ausgangspunkt wird f(t)t der Einfachheit halber häufig verwendet. Das Minimum tf wird durch die gewünschte Genauigkeit und die Spektrallücke 3 bestimmt . Die spektrale Lücke ist die minimale Energiedifferenz über alle t zwischen dem (Anti) Grundzustand und dem nächsten Energiezustand. Die Analyse der Lücke ist höchst nicht trivial (siehe https://arxiv.org/abs/quant-ph/0509162 ) und bestimmt die Komplexität / Effizienz des Algorithmus. Es ist nicht garantiert, dass ein Algorithmus mit einer Lücke von 0 überhaupt funktioniert.3t

Wir wollen also ein H0 so dass

  1. Wir können seinen (Anti) Grundzustand leicht finden und vorbereiten
  2. Die spektrale Lücke von H ist in der Größe des Problems nicht exponentiell klein

Für dieses Problem ist ein guter anfänglicher Hamilton-Operator H0=iXi weil sein höchster Energiezustand leicht zu finden ist, es ist |+n . Es ist einfach vorzubereiten, wenden Sie einfach Hn auf |0n . Ich habe keine Zeit, mich mit der Analyse der spektralen Lücke zu befassen, aber dieser Hamilton-Operator ist in dieser Hinsicht wahrscheinlich nicht ideal (siehe https://arxiv.org/abs/1701.05584 ).

H0f(t)=t/tf

H(t)=(1f(t))iXif(t)[iwiZi+i<jwijZiZj]

|ψ0=Hn|0ntftfs=s0P(s)

1

2=

3H

Einschränkungen

5isi5=0Hc=α(is^i5I)2α

5kO(N2k) kkthOrdnungspolynom. Dies scheint ein schrecklicher Weg zu sein - aber ich kann mir keinen besseren Weg vorstellen. Dies kommt von Troyer im Jahr 2017, so dass es relativ unwahrscheinlich, aber durchaus möglich ist, dass derzeit ein besserer Weg bekannt ist.

Der allgemeine Fall

f(x)f(x)f(x)f^(x)f^(x)|x=f(x)|x

H=xf^(x)|xx|
f^(x)f(x)


Das Maxcut-Problem wird in dieser Antwort gut erklärt. Das Optimierungsproblem wird jedoch so angegeben, dass es in Bezug auf die Gleichheits- und Ungleichheitsbeschränkungen ein wenig vom Max-Cut-Problem abweicht.
Bram

Ich mache in meiner Arbeit nicht zu viel mit Optimierung. Können Sie ein konkretes Beispiel nennen, das der angegebenen Form entspricht? Ich kann
versuchen,

Ich habe die Antwort so bearbeitet, dass sie eine Gleichheitsbeschränkung enthält, und die Schwierigkeit der Implementierung einer Ungleichheitsbeschränkung
erörtert

Weiter bearbeitet, um einen Klappentext über den allgemeinen Fall
hinzuzufügen

ss^
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.