DE102020206127A1 - System zur evolutionären Optimierung pseudoboolescher Polynome - Google Patents

System zur evolutionären Optimierung pseudoboolescher Polynome Download PDF

Info

Publication number
DE102020206127A1
DE102020206127A1 DE102020206127.0A DE102020206127A DE102020206127A1 DE 102020206127 A1 DE102020206127 A1 DE 102020206127A1 DE 102020206127 A DE102020206127 A DE 102020206127A DE 102020206127 A1 DE102020206127 A1 DE 102020206127A1
Authority
DE
Germany
Prior art keywords
interface
optimization
polynomials
objective function
pseudoboolean
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020206127.0A
Other languages
English (en)
Other versions
DE102020206127A8 (de
Inventor
Nico Piatkowski
Sascha Mücke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE102020206127.0A priority Critical patent/DE102020206127A1/de
Priority to PCT/EP2021/062679 priority patent/WO2021228970A1/de
Publication of DE102020206127A1 publication Critical patent/DE102020206127A1/de
Publication of DE102020206127A8 publication Critical patent/DE102020206127A8/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Genetics & Genomics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Die Erfindung betrifft ein System zur evolutionären Optimierung pseudoboolescher Polynome, aufweisend eine konfigurierbare Hardwarekomponente, wobei die Hardware zur Minimierung quadratischer pseudoboolescher Polynome ausgestaltet ist, wobei die Hardwarekomponente durch eine Softwarekomponente dazu eingerichtet ist mittels eines evolutionären Algorithmus zu minimieren.

Description

  • Das Konzept des Quantencomputers, dessen Qubits sich mithilfe des quantenmechanischen Effekts der Superposition in mehreren Zuständen zugleich befinden können, hat in den letzten Jahrzehnten die effiziente Lösung NP-schwieriger Probleme in greifbare Nähe gerückt und das weite Feld der Forschung an Quanten-Algorithmen eröffnet.
  • Ein Optimierungsproblem, das sich besonders für die Lösung mithilfe von Quanten-Algorithmen eignet, ist die Quadratic Unconstrained Binary Optimization (QUBO), die auf einer Menge von binärwertigen Variablen eine polynomielle Zielfunktion zweiten Grades zu minimieren sucht; die Zielfunktion wird dabei so interpretiert, dass das globale Optimum dem angestrebten Quantenzustand minimaler Energie entspricht. Ein eng Verwandtes Optimierungsproblem ist das Ising-Modell (auch Ising-Spin-Glas), dessen Variablen die Werte +1 und -1 annehmen können.
  • Zahlreiche Probleme aus verschiedenen Bereichen des Maschinellen Lernens wie der Klassifikation und der Bilderkennung lassen sich mithilfe von QUBO formulieren und folglich mit einem entsprechenden Quanten-Optimierer effizient lösen. Da die Optimierung des Ising-Modells weiterhin NP-vollständig ist, lassen sich sämtliche NP-schweren Probleme darauf reduzieren.
  • Während es an Anwendungen für Quanten-Algorithmen also nicht mangelt, steckt die physische Umsetzung von Quantenrechnern noch immer weitgehend in den Kinderschuhen.
  • Mittlerweile gibt es frei käufliche Quantencomputer. Der enthaltene QPU-Kern besitzt rund zweitausend Qubits auf einem Chip von der Größe eines Daumennagels und ist von einem drei Meter langen, zwei Meter breiten und drei Meter hohen Gehäuse umgeben, das u.a. ein Kühlsystem beherbergt, welches den Kern auf die notwendige Betriebstemperatur von 15 Millikelvin über dem absoluten Nullpunkt bringt, und das außerdem das Erdmagnetfeld abschirmt und so einen feldfreien Raum mit einer magnetischen Flussdichte von unter einem Nano-tesla erzeugt.
  • Allerdings ist sowohl der Kaufpreis mit mehreren Million USD hoch als auch der Betrieb teuer.
  • Zudem kann nicht nachgewiesen werden, dass der bekannte Quantenrechner die Lösung NP-schwieriger Probleme substantiell beschleunigt.
  • Ausgehend hiervon ist es eine Aufgabe der Erfindung ein kostengünstiges einfaches System zur Verfügung zu stellen.
  • Die Aufgabe wird gelöst durch ein System zur evolutionären Optimierung pseudoboolescher Polynome, aufweisend eine konfigurierbare Hardwarekomponente, wobei die Hardware zur Minimierung quadratischer pseudoboolescher Polynome ausgestaltet ist, wobei die Hardwarekomponente durch eine Softwarekomponente dazu eingerichtet ist mittels eines evolutionären Algorithmus zu minimieren.
  • Weitere vorteilhafte Ausgestaltungen sind Gegenstand der jeweils abhängigen Ansprüche, der Figuren und der Beschreibung.
  • Im Folgenden wird die Erfindung anhand einer Zeichnung und Ausführungsbeispielen näher erläutert. Die Zeichnung ist eine schematische Darstellung und nicht maßstabsgetreu. Die Zeichnung schränkt die Erfindung in keiner Weise ein.
  • Es zeigen:
    • 1 eine schematische Funktionsweise eines evolutionären Algorithmus gemäß Ausführungsformen der Erfindung,
    • 2 eine schematische Darstellung einer Evaluatorkomponente gemäß Ausführungsformen der Erfindung, und
    • 3 eine schematische Darstellung einer beispielhaften Architektur einer Suchheuristik gemäß einer Ausführungsform der Erfindung.
  • Nachfolgend wird die Erfindung eingehender unter Bezugnahme auf die Figuren dargestellt werden. Dabei ist anzumerken, dass unterschiedliche Aspekte beschrieben werden, die jeweils einzeln oder in Kombination zum Einsatz kommen können. D.h. jeglicher Aspekt kann mit unterschiedlichen Ausführungsformen der Erfindung verwendet werden soweit nicht explizit als reine Alternative dargestellt.
  • Weiterhin wird nachfolgend der Einfachheit halber in aller Regel immer nur auf eine Entität Bezug genommen. Soweit nicht explizit vermerkt, kann die Erfindung aber auch jeweils mehrere der betroffenen Entitäten aufweisen. Insofern ist die Verwendung der Wörter „ein“, „eine“ und „eines“ nur als Hinweis darauf zu verstehen, dass in einer einfachen Ausführungsform zumindest eine Entität verwendet wird.
  • Soweit nachfolgend Verfahren beschrieben werden, sind die einzelnen Schritte eines Verfahrens in beliebiger Reihenfolge anordbar und/oder kombinierbar, soweit sich durch den Zusammenhang nicht explizit etwas Abweichendes ergibt. Weiterhin sind die Verfahren - soweit nicht ausdrücklich anderweitig gekennzeichnet - untereinander kombinierbar.
  • Angaben mit Zahlenwerten sind in aller Regel nicht als exakte Werte zu verstehen, sondern beinhalten auch eine Toleranz von +/- 1 % bis zu +/- 10 %.
  • Soweit in dieser Anmeldung Normen, Spezifikationen oder dergleichen benannt werden, werden zumindest immer die am Anmeldetag anwendbaren Normen, Spezifikationen oder dergleichen in Bezug genommen. D.h. wird eine Norm / Spezifikation etc. aktualisiert oder durch einen Nachfolger ersetzt, so ist die Erfindung auch hierauf anwendbar.
  • In den Figuren sind verschiedene Ausführungsformen dargestellt.
  • Ein erfindungsgemäßes System zur evolutionären Optimierung pseudoboolescher Polynome weist dabei im Wesentlichen zwei Komponenten auf. Zum einen weist das System eine konfigurierbare Hardwarekomponente auf, zum anderen weist das System eine Softwarekomponente auf.
  • Die Hardwarekomponente ist zur Minimierung quadratischer pseudoboolescher Polynome ausgestaltet.
  • Funktionen der Form f:Bn → R heißen pseudoboolesche Funktionen (kurz PBF). Da ihre Urbildmenge mit |Bn| = 2n endlich ist, kann auch die Bildmenge nur aus höchstens 2n verschiedenen Werten bestehen. Somit lässt sich jede solche Funktion theoretisch als Liste von Paaren (x, f(x)) für alle x E Bn darstellen. Da diese Darstellung für große n äußerst ineffizient ist, bietet sich die Repräsentation in Form von Polynomen an: ƒ ( x ) = α 0 + i = 1 n α i x i + i = 1 n j = 1 i β i j x i x j + i = 1 n j = 1 i k = 1 j γ i j k x i x j x k +  
    Figure DE102020206127A1_0001
  • Dabei sind αi, βij, γijk, .... ∈ R. Die Multiplikation von Binärwerten entspricht einer Verrundung, d.h. das Produkt nur gleich 1 ist, wenn alle xi gleich 1 sind. Die Definition des Polynoms ist demnach äquivalent zu einer Zuordnung von Koeffizienten zu allen möglichen Untermengen von Bits, die in x enthalten sind. Die Koeffizienten, deren zugehörige Untermenge von Bits verrundet gleich 1 ist, werden aufsummiert.
  • Dadurch ergibt sich folgende alternative, kompaktere Darstellung des Polynoms: ƒ ( x ) = I { 1, , n } β I I I x i
    Figure DE102020206127A1_0002
  • Die Größe der größten Untermenge, deren zugehöriger Koeffizient nicht 0 ist, bezeichnet man als Grad k des Polynoms: k = m a x { | I | | I { 1, , n } , β 1 0 }
    Figure DE102020206127A1_0003
  • Es lässt sich jedoch zeigen, dass jede beliebige pseudoboolesche Funktion f durch ein Polynom mit eindeutigen Koeffizienten ßI dargestellt werden kann.
  • Eine wichtige Unterklasse der pseudobooleschen Funktionen (abgek. PBF) bilden die quadratischen Polynome, also solche mit Grad k = 2 der Form ƒ ( x ) = α 0 + i = 1 n α i x i + i = 1 n j = 1 i β i j x i x j
    Figure DE102020206127A1_0004
    Sie eignen sich gut als Zielfunktionen für Optimierungsprobleme, da einerseits die Anzahl der Koeffizienten im Vergleich zu allgemeinen Polynomen nicht |Bn| = 2n, sondern nur ( n 2 + n ) 2 + n + 1 O ( n 2 )
    Figure DE102020206127A1_0005
    beträgt. Andererseits besitzen quadratische PBF die herausragende Eigenschaft, dass jede PBF f höheren Grades auf eine PBF f̃ zweiten Grades reduziert werden kann, die ein äquivalentes globales Minimum besitzen.
  • Ein entsprechender Algorithmus zur Reduktion einer PBF in Polynomdarstellung wird z.B. in BOROS, ENDRE und PETER L HAMMER: Pseudo-boolean optimization. Discrete applied mathematics, 123(1-3):155-225, 2002. beschrieben.
  • Aufgrund dieser nützlichen Eigenschaften bilden quadratische PBF die Grundlage einer Klasse von Optimierungsproblemen, die als Quadratic Unconstrained Binary Optimization (kurz QUBO) bezeichnet wird und die Form L ( x ) = i = 1 N α i x i + i = 1 N j = 1 i β i j x i x j m i n
    Figure DE102020206127A1_0006
    besitzt. Im Gegensatz zur allgemeinen Definition der quadratischen Polynome entfällt hier α0, da es die Lage des Optimums nicht beeinflusst. Als weitere Vereinfachung zur Reduktion der Parameterzahl können die Parameter αi und β i j
    Figure DE102020206127A1_0007
    für alle i E {1, ...,N} zusammengefasst werden, da sie offenbar immer gleichzeitig in die Gesamtsumme einfließen.
  • Dadurch ergibt sich nachfolgend eine Definition der Zielfunktion mit genau N 2 + N 2
    Figure DE102020206127A1_0008
    Koeffizienten. L ( x ) = i = 1 N j = 1 i β i j x i x j m i n  mit  β i j = { α i + β i j ƒ a l l s i = j β i j s o n s t
    Figure DE102020206127A1_0009
  • QUBO gehört zu den NP-schweren Problemen, und viele bekannte NP-schwere Probleme wie das Teilsummenproblem und 2-Means-Clustering lassen sich darauf und auf das äquivalente Ising-Modell reduzieren. Als Konsequenz ist ein Optimierer für QUBO vielseitig einsetzbar für andere schwierige Probleme, wodurch der Bedarf nach spezialisierten Algorithmen für solche Probleme potenziell gesenkt wird.
  • Das Ising-Modell ist ein besonderes graphisches Modell aus dem Bereich der theoretischen Physik. welches aufgrund seiner Allgemeinheit jedoch Anwendungen zur Modellierung vielfältiger Optimierungsprobleme gefunden hat. In seiner ursprünglichen Form besteht es aus einer gitterförmigen Anordnung von Knoten, die mit ihren jeweiligen vier Nachbarn über eine Kante verbunden sind. Die von der Knotenmenge indizierten Zufallsvariablen können die Werte +1 und -1 annehmen, was als Ausrichtung eines Magneten in einem Feld oder als An- bzw. Abwesenheit von Teilchen interpretiert werden kann. Im verallgemeinerten Ising-Modell kann jede Variable mit jeder anderen interagieren. unabhängig von einer Nachbarschaftsbeziehung.
  • Die Zielfunktion des Ising-Modells ist sehr ähnlich zu QUBO und unterscheidet sich ausschließlich in der Interpretation der Variablenausprägungen: Während QUBO Binärvektoren x E {0,1}N minimiert, ist die Lösungsmenge eines Ising-Modells {-1, +1}N. L ( s ) = i = 1 N α i s i + i = 1 N j = 1 i β i j s i s j m i n
    Figure DE102020206127A1_0010
  • Im Gegensatz zur QUBO-Zielfunktion lässt sich diese Zielfunktion nicht vereinfachen, indem die linearen Terme in die quadratischen integriert werden, denn je nach Vorzeichen von Si geht der Parameter αi positiv oder negativ in die Gesamtsumme ein, während die quadratischen Parameter βij immer addiert werden, da si · si = +1 für alle si ∈ {-1, +1}. Dies hat allerdings auch zur Folge, dass βij unabhängig von der Belegung von si und dadurch eine Konstante bezüglich der Minimierung ist:   a r g m i n s i = 1 N α i s i + i = 1 N j = 1 i β i j s i s j = a r g m i n s i = 1 N α i s i + i = 1 N j = 1 i 1 β i j s i s j
    Figure DE102020206127A1_0011
  • Dies lässt sich dazu ausnutzen, um mit der Architektur eines QUBO-Optimierers einen Optimierer für das Ising-Modell zu implementieren.
  • Mittels der Softwarekomponente wird die Hardwarekomponente dazu eingerichtet mittels eines evolutionären Algorithmus zu minimieren. D.h. die Optimierung wird durch die Hardwarekomponente durchgeführt. Die Softwarekomponente stellt eine Umwandlung eines verschiedenen Optimierungsproblems und/oder eines Problems des Maschinenlernens in QUBO-Form zur Verfügung und richtet dementsprechend die Hardware zur Optimierung ein. Die Einrichtung der Hardwarekomponenten ist z.B. eine Hardwarebeschreibungssprache, z.B. VHDL.
  • Der Softwarekomponente können auch weitere Aufgaben zukommen, wie z.B. die Unterstützung von Kommunikation mit der Hardwarekomponente.
  • Evolutionäre Algorithmen nehmen sich die natürliche Selektion zum Vorbild und können auf Populationen von Lösungen Mutation und Rekombination anwenden, um zu fortschreitend besseren Lösungen zu gelangen.
  • Eine Methode, um solche Verfahren möglichst effizient und schnell auszuführen besteht in einer hardwarenahen Implementierung anstelle einer üblichen Implementierung in einer Hochsprache.
  • In einer Ausführungsform der Erfindung ist die konfigurierbare Hardwarekomponente ein Field Programmable Gate Array (FPGA) oder ein Application-Specific Integrated Circuit (ASIC).
  • Diese lassen sich besonders einfach durch eine Hochsprache beschreiben. Alternativ können auch Complex Programmable Logic Devices (CPLD) zur Verwendung kommen.
  • Besonders Field Programmable Gate Arrays (FPGAS), die zum einfachen und schnellen Prototyping von Mikrochips entwickelt wurden, sind vorteilhaft, da diese es ermöglichen die positiven Effekte von Mikroparallelisierung auf die Geschwindigkeit von Algorithmen auszunutzen.
  • Durch ihre hohe Taktrate und die fehlenden Abstraktionsebenen, die die meisten Hochsprachen auszeichnen und zu einer hohen Zahl von CPU-Operationen führen, erreichen sie Geschwindigkeiten, die herkömmliche Software-Implementierungen häufig um das Tausendfache übertreffen.
  • Zudem sind FPGAs verglichen mit einem kommerziell erhältlichen Quantencomputer mit einer Preisspanne von unter 100 € bis einigen Tausend € erheblich preisgünstiger in der Anschaffung als auch an die Anforderungen an den Betrieb und die damit verbundenen Betriebskosten.
  • Die Implementierung auf einem FPGA bringt große Geschwindigkeitsvorteile: Ein FPGA funktioniert als rein logische Schaltung; er besitzt kein fest eingebautes Betriebssystem mit Hintergrunddiensten und langsamen Peripheriegeräten und lässt sich dadurch weitaus schneller takten als herkömmliche Computer (bis zu einigen hundert MHz). Die direkte Implementierung von Algorithmen auf Registerebene ist weitaus effizienter, da einerseits Software-Abstraktionen wie Funktionsaufrufe und andererseits Betriebssystemfunktionalität wie Scheduling entfallen und die Anzahl Rechenoperationen pro Taktzyklus so drastisch erhöht wird. Gerade für gut parallelisierbare Algorithmen sind FPGAs daher ein besonders effektives Medium.
  • Die Erfindung löst das Problem mittels einer QUBO-Optimierung mithilfe eines evolutionären Algorithmus auf einer programmierbaren Hardwarekomponente.
  • Die im Rahmen dieser Erfindung vorgestellte Implementierung ist sowohl hinsichtlich der Populationsgröße, der Anzahl Variablen sowie der Größe der Zielfunktionsparameter voll anpassbar.
  • Weiterhin ist sie ohne Neuprogrammierung der Hardwarekomponente dazu imstande, den initialen Seed für die Zufallszahlengenerierung zu ändern und zwischen der Optimierung eines QUBO-Problems und eines Ising-Modells zu wechseln, und arbeitet mit einer hohen Taktfrequenz von 100 MHz oder mehr.
  • Trotz zahlreicher Weiterentwicklungen und Verbesserungen stechen (µ+λ)-Evolutionäre Algorithmen und (µ, λ)-Evolutionäre Algorithmen als solide Vertreter der Evolutionsstrategien hervor. Vor allem der (µ+λ)-Evolutionäre Algorithmus ist hinsichtlich seiner Konvergenzeigenschaften gut untersucht und erreicht auf lange Sicht garantiert ein globales Optimum. Daher wird nachfolgend von einem solchen (µ+λ)-Evolutionären Algorithmus ausgegangen.
  • Die Erfindung erlaubt einen Optimierer bereitzustellen, der parametrisierbar ist, d. h. insbesondere die Dimension N, die (µ+λ)-Evolutionärer Algorithmus- Parameter µ und λ und auch die Bit-Breite bß der Zielfunktionsparameter sind parametrisierbar. Andere Parameter zur Steuerung der Mutationsrate können ebenfalls in Ausführungsformen entsprechend geändert werden. Beispielsweise kann vorgesehen sein, dass nach einer vorbestimmbaren Anzahl von Generationen ohne Verbesserung die Mutationsrate, d.h. die erwartbare Anzahl invertierter bits pro Mutation, um eine vorbestimmbare Schrittweite geändert, insbesondere erhöht wird. Weiterhin kann der Optimierer verschiedene initiale Seeds erhalten, um so die Mutation mit verschiedenen Zufallszahlen durchführen und gegebenenfalls zu anderen Optima konvergieren zu können. Als Abbruchkriterium kann ein Budget dienen, das ebenfalls mit einem beliebigen Wert initialisiert werden kann und nach jeder Iteration des evolutionären Algorithmus um einen bestimmten Wert geändert, z.B. um 1 verringert, werden kann. Der Optimierer kann auch in einer Endlosschleife betrieben werden. Ebenso kann das gegenwärtige Optimum zu vorbestimmten Zeitpunkten, beispielsweise periodisch, abgefragt werden.
  • Eine weitere wichtige Funktionalität ist der Ising-Modus, mit dem die Zielfunktionskoefizienten als Interaktionen zwischen den Variablen eines Ising-Modells interpretiert werden - durch diese Erweiterung können sowohl QUBO als auch das Ising-Modell effizient auf Hardware-Ebene gelöst werden. Da QOBO und das Ising-Modell zueinander vollständig äquivalent sind, kann ein Ising-Modell alternativ auch software-seitig in ein QUBO-Problem umgewandelt und als solches gelöst werden.
  • zeigt den schematischen Aufbau des EA-Optimierers. Die gesamte Population, bestehend aus Eltern und Nachkommen, kann als Array vorliegen. Damit die Zielfunktionswerte nicht in jeder Iteration neu berechnet werden müssen, können zusammen mit den Individuen auch ihre jeweiligen Zielfunktionswerte gespeichert werden. In Schritt 1 werden zufällige Eltern aus der Elternpopulation ausgewählt und mutiert. Die so entstandenen Nachkommen werden in die Nachkommenpopulation geschrieben. In Schritt 2 wird die Zielfunktion auf den soeben generierten Nachkommen ausgewertet und das Ergebnis in das Array mit Zielfunktionswerten geschrieben. Als nächstes kann die gesamte Population (bevorzugt) aufsteigend nach Zielfunktionswert sortiert werden, sodass die Individuen mit minimalen Werten ganz links im Array stehen. Die Sortierung kann in zwei Schritten erfolgen: Zunächst wird in Schritt 3 eine Index-Sortierung auf den Zielfunktionswerten durchgeführt, d. h. das Ergebnis sind nicht die Werte selbst, sondern eine Permutation der Indizes. Basierend auf dieser Sortierung können die µ Indizes mit kleinstem Zielfunktionswert in Schritt 4 sowohl auf die Population selbst als auch auf die Zielfunktionswerte der Population angewandt und die entsprechenden Individuen und Werte in die Elternpopulation geschrieben werden. Nach diesem letzten Schritt liegen also die besten Individuen der gesamten Population in der Elternpopulation: Falls durch die Mutation keine Verbesserung stattgefunden hat, sind folglich auch die vorherigen Elternindividuen wieder in die Elternpopulation sortiert. Wurde durch Mutation hingegen ein Nachkomme mit kleinerem Zielfunktionswert gefunden, verdrängt dieser ein Elternindividuum wie in einer Rangliste aus der Elternpopulation. Durch die Sortierung der gesamten Population statt nur der Nachkommen kann die elitistische Plus-Selektion umgesetzt werden.
  • Bei diesem Schema fehlt eine Rekombination, deren Notwendigkeit in der Literatur umstritten ist.
  • Der Mutationsoperator auf Bitvektoren wird wie folgt umgesetzt: Für jedes zu mutierende Bit wird eine Bernoulli-verteilte Zufallsvariable zi erzeugt, die anzeigt, ob das Bit invertiert wird. Die Erfolgswahrscheinlichkeit wird auf p = 1 /N gesetzt, dadurch beträgt die erwartete Anzahl invertierter Bits unabhängig von der Dimension des Optimierungsproblems E [ i = 1 N z i ] = i = 1 N E [ z i ] = i = 1 N 1 N = 1
    Figure DE102020206127A1_0012
  • Die Zufallszahlen können simuliert werden, indem eine zufällige ganze Zahl erzeugt und Modulo N gerechnet wird; Ist die resultierende Zahl durch N teilbar, wird das Bit invertiert, andernfalls unverändert belassen. Da der verwendete Pseudozufallszahlengenerator genau eine (64-Bit-) Zufallszahl pro Taktzyklus erzeugt, benötigt die Mutation daher O(N)) Taktzyklen oder weniger, insbesondere O(Ak) Taktzyklen, wobei k die erwartete Anzahl mutierter Bits ist.
  • Bei der Implementierung in einer höheren Programmiersprache würde die Mutation sämtlicher Individuen sequenziell erfolgen, sodass die Laufzeit insgesamt O(λN) betragen würde. D.h. obwohl in einer Software-Implementierung scheinbar alle Nachkommen gleichzeitig mithilfe der Listenkomprehension erzeugt werden könnten, ist dies doch nur eine syntaktische Umschreibung einer ansonsten sequenziellen Verarbeitung.
  • Der große Vorteil der Hardware-Implementierung (z.B. entsprechend 2) liegt in der Verwendung von Mikroparallelisierung: Anstatt die Mutation nacheinander auszuführen kann für jeden Nachkommen ein eigenes Mutationsmodul erstell werden, welches genau ein Elternindividuum bearbeitet. Diese λ Module können alle Nachkommen gleichzeitig erzeugen. Dadurch wird die Zeit für die Mutation der gesamten Population auf 0(N) verringert. Um in jedem Zyklus die notwendige Zufallsvariable berechnen zu können, kann jedes solche Modul eine eigene Instanz des Pseudozufallszahlengenerators erhalten, die jeweils einen eigenen Seed bekommt, welcher wiederum vom ursprünglichen Seed abgeleitet ist. Dadurch ist der gesamte Optimierungsverlauf durch einen einzigen Seed determiniert. Dabei sollen alle Generatoren (Instanzen des Pseudozufallszahlengenerators) mit verschiedenen Seeds initialisiert werden, um so zu vermeiden, dass der evolutionäre Algorithmus zu einem (1 + 1)-evolutionären Algorithmus wird, bei dem sämtliche Mutationsmodule die gleichen Bits invertieren würden.
  • In 2 sind auch Evaluatoren E für die Zielfunktionsauswertung gezeigt. Hier sind ebenfalls λ Module vorsehbar, welche parallel auf je einem Individuum arbeiten.
  • Nachfolgend wird eine weitere Ausführungsform des Optimierers skizziert, die eine geringere asymptotische Laufzeit aufweist als der zuvor beschriebene Grundaufbau.
  • Die Mutations- und Evaluationsstrategie hat hier eine erwartete Laufzeit von O(K̂), wobei K̂ = E[K] die erwartete Anzahl invertierter Bits pro Individuum ist. Diese kann man durch den Parameter ρ einstellen; näherungsweise ist K ^ = 1 1 ρ .
    Figure DE102020206127A1_0013
  • Durch die gewichtete Summierung der k-ten Spalte der Parametermatrix ((βi,k)i∈{1,...,n}) kann die Änderung des Zielfunktionswerts berechnet werden, die durch Invertierung von Bit k erzeugt wird. Die Summe kann auf einem FPGA durch einen sog. Adder-Tree in logarithmischer Laufzeit berechnet werden, d.h. für die Summierung von n Werten benötigt das System logn Taktzyklen. Da der Adder-Tree als Pipeline konzipiert werden kann, werden dann die vollen logn Taktzyklen nur einmal pro Mutation benötigt, nicht für jedes Einzelne Nachkommensindividuum, wodurch die Laufzeit um den Faktor λ verringert werden kann.
  • Für die Selektion benötigt das System log(λ) Taktzyklen, da das Minimum einer Liste von λ Elementen bestimmt werden muss. Da die Mutationsstrategie auf jedem der λ Individuen sequentiell wie in einer Pipeline ausgeführt wird, beträgt die erwartete Gesamtlaufzeit pro Generation in etwa O ( λ K ^ l o g n ) O ( λ l o g n 1 ρ )
    Figure DE102020206127A1_0014
  • In 3 ist ein Beispiel für die Ausführung eines Optimierungszykluses (Generation) auf einem konkreten Layout der zuvor beschriebenen Komponenten dargestellt. Dabei sind unter β = (βij)1≤i,j≤n eine Parametermatrix und unterx0 eine Startlösung zu verstehen. Aus der Mutationsstrategie folgen die Nachkommen x̃1... x̃λ und ihre jeweiligen Zielfunktionsdifferenzen. Der Nachkomme x̃*t, für den diese Differenz minimal ist, kann als Elternindividuum der nachfolgenden Genration ausgewählt werden. Implizit kann immer das Elternindividuum xt mit der Zielfunktionsdifferenz 0 an der Selektion teilnehmen, sodass nur Nachkommen mit einer Differenz von 0 oder weniger (d.h. solche, die mindestens so gut wie xt oder besser sind) zu neuen Elternindividuen werden können. Dadurch wird diese Selektionsstrategie wiederum zu einer elitistischen Plus-Selektion (wie zuvor beschreiben - Seite 9).
  • Die zur Optimierung verwendete Such-Heuristik basiert auf einem evolutionären Algorithmus (1+λ-EA ohne Rekombination). Die Optimierung weist dabei beispielsweise den nachfolgend skizzierten Ablauf auf. Man startet mit einer Anfangslösung xt = x0. Diese Anfangslösung kann auch zufällig ausgewählt sein. Nunmehr können z.B. λ Kopien von xt erstellt werden. Auf jede dieser Kopien kann nun (parallel oder sequentiell, je nach konkreter Architektur) die Mutations- und Evaluationsstrategie ausgeführt werden. Hierdurch werden die Nachkommen x̃1 ...x̃λ erzeugt. Aus den Nachkommen kann jeweils, wiederum je nach konkreter Architektur, eine Änderungsrate der Zielfunktion oder der tatsächliche Zielfunktionswert bestimmt werden. Das Nachkommensindividuum, das sie geringste zugehörige Zielfunktionsänderungsrate bzw. den geringsten Zielfunktionswert aufweist, wird für das weitere Vorgehen ausgewählt. Falls die Änderungsrate der Zielfunktion kleiner oder gleich 0 ist, d.h., wenn eine echte Verbesserung oder aber zumindest eine gleich gute Lösung gefunden wurde, wird der entsprechende Nachkomme als neue Elterngeneration verwendet. Andernfalls wird die Suchheuristik mit der vorherigen Lösung fortgesetzt. Ein solcher Durchlauf wird als Generation bezeichnet. Eine solche Optimierungsstrategie kann beliebig lange laufen. Sie kann auch nach einer vorbestimmten Anzahl von Generationen ohne Verbesserung enden. Ebenso kann alternativ oder zusätzlich vorgesehen sein, dass die Optimierung durch einen Benutzer oder kommunizierende Hardware- oder Software-Komponenten unterbrochen wird.
  • Die in der zuvor beschriebenen Suchheuristik verwendete Mutations- und Evaluierungsstrategie kann aus einer Ausgangslösung x ein Nachkommen x̃ und eine zugehörige Änderungsrate der Zielfunktion ΔL erzeugen. Sie hat einen freien Parameter ρ mit 0 ≤ ρ < 1, der als Mutationsrate bezeichnet wird. Die Strategie weist dabei beispielsweise den nachfolgend skizzierten Ablauf auf: Man setze x̃ ← x und die Änderungsrate der Zielfunktion auf 0. Ein zufälliger Index k E {1, ..., n} wird ausgewählt. Dabei wird angenommen, dass dies bevorzugt gleichverteilt geschieht. Anschließend wird ΔL ← ΔL + (1 - 2x̃k) . j = 1 n β j k x ˜ j
    Figure DE102020206127A1_0015
    gesetzt. Nunmehr kann x̃ an der Stelle k invertiert werden (Mutation). Wiederum wird eine Zufallszahl z E {0,1} Bernoulli-verteilt mit Erfolgswahrscheinlichkeit ρ ausgewählt. Falls z = 1, d.h. im Erfolgsfall, kehrt man zurück zur Auswahl eines zufälligen Indexes k und wiederholt den Ablauf ab dort. Andernfalls werden x̃ und ΔL als Ergebnis bereitgestellt.
  • Die Parameter n (Länge der Bitvektoren) und λ (Anzahl der Nachkommen pro Generation) sind für eine eingestellte Konfiguration des FPGAs fest und können durch erneutes Programmieren des Chips (Flashen) geändert werden.
  • Mögliche Werte für n beschränken sich auf ganzzahlige Zweierpotenzen (2, 4, 8, 16, 32 etc.), für λ auf ganze Zahlen größer als 1.
  • Die Parameter βij können auf einem FPGA als ganze Zahlen dargestellt werden. Die Anzahl Bits b, mit der jeder Parameter kodiert werden kann, ist ebenfalls (durch erneutes Flashen des FPGA) konfigurierbar. Die Parameter haben somit einen möglichen Wertebereich von {-2b-1, ..., 2b-1 - 1}.
  • Die Anpassung der Mutationsrate kann geeignet erfolgen. Beispielsweise kann der Parameter ρ zu Anfang auf einen vorbestimmten Wert, z.B. 0, gesetzt werden. Wurde innerhalb der letzten T Generationen (Anzahl einstellbar) keine Verbesserung gefunden, kann ρ um einen bestimmten (kleinen) Wert δ>0 erhöht werden. Wird weiterhin keine Verbesserung gefunden, kann sich die Erhöhung wiederholen. Dabei kann die Anzahl T gleichbleiben oder (einstellbar) geändert sein.
  • Hat ρ einen (einstellbaren) Maximalwert, z.B. nahe 1, erreicht, kann von einer weiteren Erhöhung abgesehen werden (Abbruchkriterium der Erhöhung der Mutationsrate).
  • Wird zu irgendeinem Zeitpunkt während der Optimierung eine Verbesserung gefunden, wird ρ wieder auf einen vorbestimmten (kleinen) Wert, z.B. seinen Startwert, z.B. 0, (zurück-)gesetzt.
  • Der Wert T kann insbesondere ohne Flashen des FPGAs vom Benutzer eingestellt werden.
  • Neben der Optimierung der QUBO-Zielfunktion kann der EA-Optimierer auch das eng verwandte Ising-Model minimieren. Da der Unterschied zwischen diesen beiden Modellen lediglich in der Interpretation der binären Variablen bei der Zielfunktionsauswertung besteht, kann mit der gleichen Architektur wie für den QUBO-Optimierer ein Optimierer für das Ising-Modell gebaut werden, der sich nur in der unterschiedlichen Interpretation der Binär-Variablen innerhalb des Evaluator-Moduls unterscheidet: Sind xi und xj des aktuellen Individuums gleich, so gilt xi · xj = +1 und βij fließt positiv in die Summe der Koeffizienten ein. Andernfalls gilt xi · xj = -1 und βij wird abgezogen. Ist i = j, wird der Parameter βij als linearer Term interpretiert und entsprechend dem Vorzeichen von xi entweder addiert oder subtrahiert.
  • Dadurch wird es ermöglicht, dass zwischen der QUBO-Optimierung und dem „Ising-Modus“ gewechselt werden kann ohne die Hardwarekomponente neu zu programmieren.
  • In einer Ausführungsform der Erfindung weist das System weiterhin eine Schnittstelle auf, wobei die Schnittstelle dazu eingerichtet ist, Signale und Informationen mit einer Softwarekomponente auszutauschen, insbesondere zu empfangen.
  • Die Schnittstelle kann auch durch andere Hardwarekomponenten verwendet werden; es ist ein allgemeines Protokoll, das man sowohl per Hardware als auch per Software ansprechen kann, um die Hardwarekomponente zu steuern.
  • In einer Ausführungsform der Erfindung ist die Schnittstelle eine drahtgebundene Schnittstelle, wie z.B. UART oder POI.
  • Diese erlaubt die einfache Kommunikation mit dem FPGA. Über diese Schnittstelle können beispielsweise die Koeffizienten übertragen werden und/oder das aktuelle Optimum abgefragt werden.
  • Mögliche Schnittstellen können aber auch ein Display und/oder LEDs an der Hardwarekomponente sein. Beispielsweise könnte das aktuelle Optimum und/oder ein zugehöriger Zielfunktionswert als Bitstring auf dem Display angezeigt und/oder der Status des Optimierers über die LEDs kodiert sein.
  • Häufig sind in Hardwarekomponenten, wie z.B. FPGAs, solche Schnittstellen bereits integriert. Eine Übertragung von Daten über eine POI- oder UART-Verbindung kann von einem lokalen Rechner, an den die Hardwarekomponente angeschlossen ist, an einen beliebigen entfernten Rechner mit entsprechender Client-Software weitergeleitet werden.
  • Andere Schnittstellen sind hierdurch jedoch nicht ausgeschlossen. Vielmehr kann die Schnittstelle auch eine Schnittstelle zur Verbindung mit einer Peripherieeinrichtung eines Computers sein, z.B. eine USB-Schnittstelle, eine drahtlose oder drahtgebundene Netzwerkschnittstelle. Drahtgebunden schließt auch eine optische Schnittstelle mit ein.
  • Ohne Beschränkung der Allgemeinheit kann natürlich auch vorgesehen sein, dass das System innerhalb eines Rechners, z.B. als eine Erweiterungskarte, vorgesehen ist. Hierzu kann die Schnittstelle eine Schnittstelle zur Verbindung innerhalb eines Computers, z.B. eine PCI-Schnittstelle sein.
  • Weiterhin ohne Beschränkung der Allgemeinheit kann in Ausführungsformen der Erfindung vorgesehen sein, dass das System eine Schnittstelle zur Ausgabe eines zuletzt festgestellten (lokalen) Minimums aufweist. In Ausführungsformen kann zudem vorgesehen sein alternativ oder zusätzlich weitere Informationen bereitzustellen. Solche Informationen können z.B. eine Verbesserung (Differenz zum Startwert) seit Beginn der Optimierung, eine aktuelle Generationszahl, die Generation bzw. der Taktzyklus der letzten gefundenen Verbesserung, eine aktuelle Mutationsrate, etc. einzeln oder in beliebiger Kombination betreffen.
  • Insbesondere kann die Schnittstelle eine lokale Anzeige wie zuvor beschrieben aufweisen.
  • Ohne Beschränkung der Allgemeinheit kann die Softwarekomponente ein Lernproblem der künstlichen Intelligenz betreffen. Ebenso kann die Softwarekomponente probabilistische (graphische) Modelle‟ oder „generative Wahrscheinlichkeitsmodelle“ betreffen.

Claims (9)

  1. System zur evolutionären Optimierung pseudoboolescher Polynome, aufweisend eine konfigurierbare Hardwarekomponente, wobei die Hardware zur Minimierung quadratischer pseudoboolescher Polynome ausgestaltet ist, wobei die Hardwarekomponente durch eine Softwarekomponente dazu eingerichtet ist mittels eines evolutionären Algorithmus zu minimieren.
  2. System nach Anspruch 1, dadurch gekennzeichnet, dass die konfigurierbare Hardwarekomponente ein Field Programmable Gate Array (FPGA) oder ein Application-Specific Integrated Circuit (ASIC) ist.
  3. System nach Anspruch 1 oder 2, weiterhin aufweisend eine Schnittstelle, wobei die Schnittstelle dazu eingerichtet ist, eine Softwarekomponente zu empfangen.
  4. System nach Anspruch 3, dadurch gekennzeichnet, dass die Schnittstelle eine drahtgebundene Schnittstelle ist.
  5. System nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Schnittstelle eine Schnittstelle zur Verbindung mit einer Peripherieeinrichtung (USB) eines Computers ist.
  6. System nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Schnittstelle eine Schnittstelle zur Verbindung innerhalb eines Computers ist.
  7. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das System eine Schnittstelle zur Ausgabe eines zuletzt festgestellten (lokalen) Minimums aufweist.
  8. System nach Anspruch 7, dadurch gekennzeichnet, dass die Schnittstelle eine lokale Anzeige aufweist.
  9. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Softwarekomponente ein Lernproblem der künstlichen Intelligenz betrifft.
DE102020206127.0A 2020-05-14 2020-05-14 System zur evolutionären Optimierung pseudoboolescher Polynome Pending DE102020206127A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102020206127.0A DE102020206127A1 (de) 2020-05-14 2020-05-14 System zur evolutionären Optimierung pseudoboolescher Polynome
PCT/EP2021/062679 WO2021228970A1 (de) 2020-05-14 2021-05-12 System und verfahren zur evolutionären optimierung pseudoboolescher polynome

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020206127.0A DE102020206127A1 (de) 2020-05-14 2020-05-14 System zur evolutionären Optimierung pseudoboolescher Polynome

Publications (2)

Publication Number Publication Date
DE102020206127A1 true DE102020206127A1 (de) 2021-11-18
DE102020206127A8 DE102020206127A8 (de) 2022-03-10

Family

ID=76197409

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020206127.0A Pending DE102020206127A1 (de) 2020-05-14 2020-05-14 System zur evolutionären Optimierung pseudoboolescher Polynome

Country Status (2)

Country Link
DE (1) DE102020206127A1 (de)
WO (1) WO2021228970A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218567B2 (en) * 2011-07-06 2015-12-22 D-Wave Systems Inc. Quantum processor based systems and methods that minimize an objective function

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MÜCKE, Sascha: Evolutionäre Optimierung pseudoboolescher Funktionen auf FPGAs. 2019. URL: https://www-ai.cs.tu-dortmund.de/PublicPublicationFiles/muecke_2019a.pdf [abgerufen am 11.01.2020]

Also Published As

Publication number Publication date
WO2021228970A1 (de) 2021-11-18
DE102020206127A8 (de) 2022-03-10

Similar Documents

Publication Publication Date Title
DE112017000670T5 (de) Beschleunigen eines Trainierens eines tiefen neuronalen Netzes mit einem inkonsistenten stochastischen Gradientenabfall
DE112015003406B4 (de) Datenherkunftssummierung
DE4309314C2 (de) Feldzusammenstellungseinrichtung zum Vereinigen von Daten
DE102020210965B4 (de) Neuronales graph-transformer-netz-kraftfeld für die vorhersage atomarer kräfte und energien bei moleküldynamiksimulationen
DE112018006189T5 (de) Robuste gradienten-gewichtskomprimierungsschemata für deep-learning-anwendungen
DE112017002971T5 (de) Effiziente Reduzierung von Ressourcen für die Simulation fermionischer Hamilton-Operatoren aufQuantenhardware
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112016001796T5 (de) Feinkörnige bildklassifizierung durch erforschen von etiketten von einem bipartiten graphen
DE102018100239A1 (de) Schleifen- und Bibliotheksfusion
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE202020101664U1 (de) Rechnergestützte Graphenoptimierung
DE102019109631A1 (de) Tiefes komprimiertes netzwerk
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE112021005910T5 (de) Schnellere abdeckungskonvergenz mit automatischer testparameterabstimmung bei eingeschränkter zufallsverifikation
DE202018100066U1 (de) Schleifen- und Bibliotheksfusion
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
DE102020206127A1 (de) System zur evolutionären Optimierung pseudoboolescher Polynome
DE102022131760A1 (de) Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung
DE102019104571A1 (de) Künstliches neuronales netz
DE102021210803A1 (de) Effizientes skalieren der prädiktion des interatomaren potenzials neuronaler netzwerke auf cpu-cluster
DE102019113874A1 (de) Hochpräzises niedrigbit-convolutional-neural-network
DE112022002790T5 (de) Verbesserungen in Bezug auf die Kodierung und Verarbeitung von Datenverteilungen
DE102021100404A1 (de) Verfahren zum Bestimmen einer optimierten komprimierten Netzkonfiguration, Assistenzeinrichtung und Kraftfahrzeug
DE68927143T2 (de) Verfahren und Vorrichtung zum automatischen Beweisen von Theoremen für Informationsverarbeitung
Hemkemeier Algorithmische Konstruktionen von Gittern

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: PATENTANWAELTE BRESSEL UND PARTNER MBB, DE

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANG, DE

Free format text: FORMER OWNER: TECHNISCHE UNIVERSITAET DORTMUND, 44227 DORTMUND, DE

R082 Change of representative

Representative=s name: PATENTANWAELTE BRESSEL UND PARTNER MBB, DE