www.wikidata.de-de.nina.az
Geneva Akronym fur Grid enabled evolutionary algorithms ist eine in C implementierte Programmbibliothek die miteinander kombinierbare Algorithmen zur naherungsweisen computergestutzten Losung von Optimierungsproblemen bereitstellt Jenseits der namensgebenden evolutionaren Algorithmen werden weitere Optimierungsalgorithmen unterstutzt Ein fur Geneva aufbereitetes Optimierungsproblem umfasst die Definition der n displaystyle n Eingabeparameter einschliesslich ihrer Typen sowie eine Abbildungsvorschrift P n R m displaystyle mathbb P n rightarrow mathbb R m mit der diesen Parametern ein oder mehrere numerische Qualitatsmassstabe eindeutig zugeordnet werden Parametersatze konnen dabei neben Gleitkommazahl auch Boolean und Integer Werte umfassen wobei Parametertypen in der Problembeschreibung auch gemischt werden durfen Optimierung bedeutet dann die Suche nach Maxima oder Minima einer als Programmcode oder externes Programm vorgegebenen Bewertungsfunktion Einkriterienoptimierung m 1 displaystyle m 1 als Funktion der Eingabeparameter oder die Suche nach einer Gruppe an zufriedenstellenden Losungen im Falle der Mehrkriterienoptimierung m gt 1 displaystyle m gt 1 Die Geneva Bibliothek ist unter der Apache Lizenz v2 0 als Open Source Software verfugbar 1 GenevaBasisdatenMaintainer Rudiger Berlich Ariel GarciaEntwickler Gemfony scientific UG haftungsbeschrankt und weitere KontributorenAktuelle Version Geneva 1 10 0 20 Marz 2020 Betriebssystem LinuxProgrammiersprache C Kategorie Cloud Computing OptimierungLizenz Apache License v2 0Repository Inhaltsverzeichnis 1 Einsatzfelder 2 Funktionalitat 2 1 Implementierte Algorithmen 2 2 Kopplung von Algorithmen 2 3 Behandlung von Randbedingungen 2 4 Monitoring 2 5 Parallelisierung und Grosse der unterstutzten Problemstellungen 2 6 Metaoptimierung 3 Architektur und Design 3 1 Brokering und Netzwerkkommunikation 3 2 Erzeugung von Zufallszahlen 4 Beispiele 5 Historie 6 EinzelnachweiseEinsatzfelder BearbeitenGeneva ist besonders fur Optimierungsprobleme ausgelegt die von einer Ausfuhrung in verteilten und parallelen Rechnerumgebungen profitieren Herausforderungen fur den Rechenaufwand sind einerseits eine besonders verrauschte Qualitatsoberflache Haufigkeit lokaler Maxima und lokaler Minima und andererseits der Rechenaufwand um einzelne Kandidatenlosungen zu bewerten Eine Kandidatenlosung ist ein vom Optimierungsalgorithmus an die Bewertungsfunktion ubergebener Parametersatz Inhaltliche Einschrankungen bzgl der von der Bewertungsfunktion modellierten Problemstellung existieren nicht jedoch muss sie sich auf die von Geneva unterstutzten Datentypen beschranken und die eingangs geforderte eindeutige Abbildung implementieren Ein im Design von Geneva vorgesehenes Einsatzszenario ist die Bewertung von Kandidatenlosungen durch auch rechenintensive Simulationen In C implementierte einfache mathematische Funktionen sind jedoch genauso moglich und werden fur das Benchmarking von Geneva verwendet Einschrankungen hinsichtlich der Implementierung der Bewertungsfunktion konnen sich jedoch aus der parallelen Ausfuhrung im Geneva Kontext ergeben Funktionalitat BearbeitenImplementierte Algorithmen Bearbeiten nbsp Abbildung 1 Parameterscan und Optimierung der Noisy Parabola mit Geneva in zwei DimensionenGeneva unterstutzt neben Evolutionaren Algorithmen ohne ausschliessliche Festlegung auf Floating Point oder Boolean Parameter verschiedene andere metaheuristische Optimierungsverfahren 2 3 Dies sind aktuell Schwarmalgorithmen Simulated Annealing erweitert um die Moglichkeit mehrerer gleichzeitiger Bewertungen Einfache Gradientenabstiege nicht Conjugate Gradient Hierbei wird in jedem Schritt der Gradient auf der Basis des Differenzenquotienten ermittelt und so naherungsweise die Richtung des steilsten Abfalls der Qualitatsoberflache bestimmtZusatzlich werden Parameter Scans unterstutzt entweder auf einem regelmassigen Gitter oder mit Hilfe von uber den gesamten Parameterraum gleichverteilten zufalligen Kandidatenlosungen Ein Scan der Noisy Parabola f x 1 x 2 x n c o s i 1 n x i 2 2 i 1 n x i 2 displaystyle f left x 1 x 2 ldots x n right left cos left sum i 1 n x i 2 right 2 right sum i 1 n x i 2 nbsp einer in Geneva fur Testzwecke verwendeten Funktion mit einer sehr hohen Zahl lokaler Optima auf einem Gitter ist beispielhaft auf der rechten Seite zu sehen Dem Scan in Rot uberlagert ist eine Optimierung mit Hilfe einer Evolutionsstrategie unter Verwendung von Geneva Nur einen Teil des Parameterraums unterzieht der evolutionare Algorithmus der Bewertungsfunktion Da die Menge zu scannender Raumpunkte exponentiell mit der Zahl der Parameter steigt stellt die parametrische Optimierung fur viele hochdimensionale Problemstellungen den einzig gangbaren Weg zur Losung dar Die Geneva Bibliothek kann hierbei auch mit Problemen mit sehr hohen Zahlen an Parametern 4 umgehen vgl hierzu auch Film 1 Kopplung von Algorithmen Bearbeiten Optimierungsalgorithmen konnen miteinander gekoppelt werden 2 wobei die besten Losungen des Vorgangeralgorithmus zum Startwert des folgenden Algorithmus werden Ein Nutzungsbeispiel ist die Suche nach geeigneten Startpunkten der Optimierung mit Hilfe eines groben Parameterscans gefolgt von einer Evolutionsstrategie Der Austausch der besten Kandidatenlosungen zwischen verschiedenen Algorithmen erlaubt grundsatzlich auch die Unterteilung des Optimierungslaufs in Grob und Fein Optimierung mit unterschiedlichen Algorithmen Behandlung von Randbedingungen Bearbeiten Randbedingungen konnen den gultigen Teil des Parameterraums stark einschranken Optimierungsalgorithmen mussen solche Bereiche so weit wie moglich vermeiden einerseits um schneller ein gultiges Optimum zu erreichen und andererseits um potentiell fehlerhafte Ruckgabewerte der Bewertungsfunktion fur ungultige Parameterwerte zu umgehen Die Geneva Bibliothek unterstutzt einerseits die Beschrankung des Wertebereichs einzelner Parameter Ferner besteht die Moglichkeit Abhangigkeiten der Randbedingungen einzelner Parameter von den Werten anderer Variablen durch eine Ruckfuhrung auf eine gemeinsame Qualitatsoberflache fur ungultige und gultige Losungen zu behandeln Ein Beispiel fur eine solche Problemstellung waren zwei Parameter x und y deren Summe einen gegebenen konstanten Bereich nicht uberschreiten darf Zwar kann in diesem Beispiel grundsatzlich jede Variable variiert werden Gultige Parameterwerte hangen aber vom aktuellen Wert der jeweils anderen Variable ab Das hierbei von Geneva eingesetzte Verfahren 2 bewertet zunachst die Gultigkeit eines Parametersatzes Gultige Losungen werden mit Hilfe einer Sigmoid Funktion transformiert so dass die Bewertung gultiger Parametersatze eine obere und untere Grenze nicht uber respektive unterschreiten kann Kann der Nutzer nun fur jede verletzte Randbedingung numerisch angeben wie schwerwiegend deren Verletzung ist so berechnet Geneva eine Ersatzbewertung Invalidity die an die Stelle des Aufrufs der Bewertungsfunktion tritt Dies geschieht z B in dem das Produkt aller Invalidities mit der oberen bei Minimierung oder unteren bei Maximierung Grenze der Sigmoidfunktion multipliziert wird Die so entstehende Ersatz Qualitatsoberflache fallt in Richtung gultiger Wertebereiche ab Die durch den Optimierungsalgorithmus gefundenen Losungen werden so in die Richtung gultiger Werte gezogen Monitoring Bearbeiten Aktuelle Parameter der Optimierungsalgorithmen sowie der Kandidatenlosungen konnen wahrend der laufenden Optimierung extrahiert und in Form eines Eingabescripts fur das Datenanalysepaket ROOT ausgegeben werden 2 ROOT sorgt dann fur die Konvertierung in gewunschte Bildformate etwa PNG oder PDF Ferner ist mit diesem Werkzeug eine Nachbearbeitung z B durch Anmerkungen ausserhalb von Geneva moglich Daten konnen entweder mit Algorithmen spezifischen vordefinierten Optimierungsmonitoren gesammelt werden oder mit Hilfe von leichtgewichtigeren meist Benutzer definierten Pluggable Optimization Monitors Abbildung 1 wurde auf diese Weise erzeugt wobei eine Nachbearbeitung stattgefunden hat Parallelisierung und Grosse der unterstutzten Problemstellungen Bearbeiten source source source source Film 1 150 einander uberlagerte semi transparente Dreiecke werden durch eine Evolutionsstrategie mit Geneva so modifiziert dass sie gemeinsam dem Wikipedia W gleichen Hierfur mussen durch den Algorithmus passende Werte fur 1500 Parameter im Bereich 0 1 gefunden werden Metaheuristische Optimierungsalgorithmen verlaufen in Zyklen wobei aufeinanderfolgende Iterationen auf den Ergebnissen der Vorgangeriteration aufbauen Meist erfolgen pro Iteration mehrere Bewertungen und viele Optimierungsalgorithmen benotigen bei einer Erhohung der Zahl an Kandidatenlosungen bei gleicher Problemgrosse weniger Iterationen bis zu einer zufriedenstellenden Losung Die Optimierung von Problemstellungen mit komplexen Qualitatsoberflachen profitiert umgekehrt von zusatzlichen Optimierungszyklen und insofern vom gewahlten Optimierungsalgorithmus unterstutzt pro Iteration der Bewertung einer moglichst grossen Anzahl an Kandidatenlosungen Die sinnvolle Menge an Iterationen und an Kandidatenlosungen pro Iteration wird insbesondere durch die verfugbare Rechenzeit beschrankt Durch eine Parallelisierung auf der Ebene der Bewertung von Kandidatenlosungen kann eine Beschleunigung der Optimierungsrechnung erreicht werden Hierbei ist hilfreich dass die Einzelbewertungen unterschiedlicher Kandidatenlosungen im Regelfall unabhangig voneinander sind Fur grosse Populationen an Kandidatenlosungen nahert sich die parametrische Optimierung hinsichtlich der Parallelisiertbarkeit insofern trivial parallelen Problemstellungen an Der fur die Optimierung benotigte Bewertungsschritt kann in Geneva parallel in mehreren Threads oder verteilt in Clustern Grid oder Cloud erfolgen 5 Hierbei wird ausser der lokalen Berechenbarkeit fur gegebene Parametersatze keine inhaltliche Voraussetzung uber die verwendeten Bewertungsfunktionen gemacht Jedoch entstehen durch die gewahlte Art der Parallelisierung Anforderungen an die Implementation der Bewertungsfunktion Bei der Ausfuhrung im Netzwerk ist zudem zu beachten dass auf Grund der durch das Amdahl sche Gesetz beschriebenen Einschrankungen sehr kurze Bewertungsfunktionen zu einer schlechten Skalierbarkeit fuhren Metaoptimierung Bearbeiten Es existiert die Moglichkeit Konfigurationsparameter von Optimierungsalgorithmen aktuell in Geneva implementiert nur fur Evolutionaren Algorithmen direkt zu optimieren nach Nutzerwahl entweder zwecks Minimierung der Zahl der Aufrufe der Bewertungsfunktion bis zum Erreichen einer vorgegebenen Qualitat oder zur effizienteren Suche nach moglichst guten Optima Das Verfahren ist durch die Notwendigkeit vieler Optimierungslaufe sehr rechenintensiv und eignet sich nicht fur rechenaufwandige Bewertungsfunktionen 2 Es kann jedoch dazu genutzt werden anhand schnell zu berechnender mathematischer Funktionen geeignete Konfigurationsparameter auch fur sehr verrauschte Qualitatsoberflachen zu bestimmen Ferner werden durch die Moglichkeit Optimierungsalgorithmen in Individuen zu kapseln Multipopulationen unterstutzt sie erlauben es Optimierungsalgorithmen zum Gegenstand der Optimierung zu machen Architektur und Design BearbeitenGeneva ist ein im C 14 Standard implementiertes Toolkit Unterstutzt werden in der Produktionsversion aktuell nur die gcc und Clang Compiler Geneva verwendet an vielen Stellen Komponenten der Boost Bibliothekssammlung Andere externe Bibliotheken werden nur fur konkrete Einsatzzwecke verwendet so etwa passende OpenCL Implementierungen fur ein optionals GPGPU Backend Neben der eigentlichen in der namensgebenden libgeneva Bibliothek implementierten Optimierungsfunktionalitat existieren zwei weitere zentrale Komponenten in Geneva Brokering und Netzwerkkommunikation Bearbeiten Alle fur die Netzwerkkommunikation und allgemeiner die Verteilung von Rechenauftragen benotigte Funktionalitat ist in der libcourtier implementiert Die aktuell auf der Boost ASIO Bibliothek sowie der Boost Beast Bibliothek basierende Netzwerkkommunikation implementiert eine einfache Client Server Architektur Sie setzt auf Seiten der Clients lediglich die Erreichbarkeit des Servers voraus Netzwerkverbindungen werden im Fall von ASIO fur jeden Transfer von Parametersatzen oder Bewertungsergebnissen neu geoffnet und nach dem erfolgreichen Transfer der Daten wieder geschlossen Durch dieses Design muss auf Bibliotheksseite keine Information uber die Dauer der Bewertungsfunktion existieren diese konnen ggf auch uber viele Stunden aktiv sein Die Ausfuhrung im Netzwerk stellt je nach Bewertungsfunktion auf Grund einer hohen Frequenz an Client Server Verbindungen jedoch ahnliche Anforderungen an den Server wie ein Webserver erfordert also ggf eine auf Geneva angepasste Konfiguration Die auf Boost Beast basierende Implementierung verwendet im Vergleich Websockets so dass Verbindungen uber langere Zeit aufrechterhalten werden Die fur die Netzwerkkommunikation notwendige Serialisierung von Objekten ist uber die Boost Serialization Bibliothek implementiert Rechenauftrage konnen durch mehrere Erzeuger an einen Broker ubergeben werden der uber Plugins fur die Verteilung an Interessenten sowie die Ruckubergabe fertiger Rechenauftrage an die Erzeuger sorgt Neben der Netzwerkkommunikation sind andere Konsumenten moglich So wurden die Einzelschritte hinter Film 1 etwa mit einem GPGPU Backend auf Basis von OpenCL erzeugt Erzeugung von Zufallszahlen Bearbeiten Viele stochastische Optimierungsverfahren wie etwa Evolutionare Algorithmen benotigen fur eine erfolgreiche Optimierung grosse Mengen an Zufallszahlen im Fall Evolutionarer Algorithmen meist mit einer Normalverteilung Da die Optimierung jedoch in Zyklen verlauft unterliegt die uber die Zeit benotigte Rechenleistung periodischen Schwankungen Entsprechend gibt es Zeiten niedriger Auslastung die fur die Erzeugung von Zufallszahlen verwendet werden konnen Die Geneva Bibliothek nutzt dies im Rahmen einer Zufallszahlenfabrik aus die im Hintergrund in mehreren Threads Puffer mit im Intervall 0 1 displaystyle 0 1 nbsp gleichverteilten Zufallszahlen fullt bis zu einer vorgegebenen Grenze Proxy Objekte in den Konsumenten konnen einer Queue der Zufallszahlenfabrik Pakete von Zufallszahlen entnehmen Diese werden den Konsumenten bei Bedarf einzeln transparent zur Verfugung gestellt die Proxy Objekte sehen fur diese wie Zufallszahlengeneratoren aus Hierbei kann bei Bedarf auch die Umrechnung in vom Konsument benotigte Zufallsverteilungen erfolgen Durch das kontinuierliche Fullen von Puffern mit Zufallszahlen konnen insbesondere Zeiten niedriger Aktivitat besser genutzt werden Ferner entfallen Probleme mit dem Setzen der Seeds der Generatoren die dann auftreten wurden wenn jeder der moglicherweise tausenden von Konsumenten einen eigenen Generator verwenden wurde Diese Funktionalitat ist in der libhap implementiert Beispiele Bearbeiten nbsp Abbildung 2 Ein Dalitz Plot aus Monte Carlo generierten J ps g p p displaystyle J psi rightarrow gamma pi pi nbsp Zerfallen unter Verwendung eines ComPWA 4 Modells Optimierte Parameter fur verschiedene Resonanzen wurden mit Geneva bestimmt Film 1 zeigt eine mit der Geneva Bibliothek durchgefuhrte Optimierung bei der 150 zufallige semi transparente Dreiecke hinsichtlich ihrer Koordinaten Farbwerte und Durchsichtigkeit so arrangiert werden mussten dass sie dem Wikipedia W moglichst ahnlich sahen Gezeigt sind jeweils nur die besten Losungen jeder Iteration Insgesamt bedeutet dies eine Anpassung von 1500 Parametern im Wertebereich 0 1 Das Bewertungskriterium umfasste dabei die quadratische Summe der numerischen Abweichungen der Farbkanale aller Pixel zwischen einem aus den fur einen gegebenen Parametersatz aus den 150 Dreiecken zusammengesetzten Kandidatenbild und dem Zielbild Da die Bewertung unterschiedlicher Zielbilder voneinander unabhangig ist profitiert die Optimierung solcher Problemstellungen stark von der gleichzeitigen Nutzung vieler Prozessoren etwa in einem Mehrkernprozessor Das Beispiel ist auch insofern interessant als man bei metaheuristischen Optimierungsverfahren im Regelfall bei vielen Parametern keine Aussage daruber machen kann wie nahe man am globalen Optimum ist Im vorliegenden Fall reicht hierfur jedoch trotz der sehr hohen Zahl an Parametern die visuelle Begutachtung Das Beispiel orientiert sich an einer Idee von Roger Alsing 6 dort mit der Mona Lisa als Zielbild Geneva kommt aktuell u a in der Teilchenphysik 4 7 vgl auch Abbildung 2 sowie in der Automobilindustrie zur Optimierung der Akustik von Abgasanlagen 8 zum Einsatz Historie BearbeitenVorlaufer von Geneva wurden 1994 im Rahmen einer Diplomarbeit am Institut fur Experimentalphysik I der Ruhr Universitat Bochum 9 entwickelt und dort fur das Training von Feedforward Neuronalen Netzwerken zur Erkennung hadronischer Splitoffs am Crystal Barrel Experiment des CERN Genf eingesetzt Der Code wurde von 2001 bis 2004 im Rahmen einer Doktorarbeit am selben Institut im Hinblick auf die verteilte Optimierung von Analysen der Elementarteilchenphysik weiterentwickelt 10 11 12 Im Rahmen einer Ausgrundungsforderung am Steinbuch Centre for Computing des Karlsruhe Institute of Technology wurde Geneva komplett uberarbeitet und an die KIT Ausgrundung Gemfony scientific UG haftungsbeschrankt ubergeben 13 Geneva wurde in diesem Zusammenhang als Open Source freigegeben Die Geneva Bibliothek umfasst in der Version 1 10 rund 130 000 Zeilen Code und befindet sich in aktiver Entwicklung 14 Geneva wurde in der im Marz 2020 veroffentlichten Version 1 10 unter die Apache Lizenz in der Version 2 0 gestellt Bis zu diesem Zeitpunkt stand sie unter der GNU Affero General Public License in der Version 3 0 Einzelnachweise Bearbeiten Repository der Geneva Bibliothek a b c d e Manual der Geneva Bibliothek Version 1 6 R Berlich S Gabriel A Garcia Parametric Optimization with the Geneva Library Collection engl HadoOptimizer Losung komplexer Optimierungsprobleme von Christian Kumpe et al in SCC News Publikation des Steinbuch Centre for Computing am Karlsruhe Institute of Technology Ausgabe 2011 3 S 24 ff a b c ComPWA A common amplitude analysis framework for PANDA M Michel et al 2014 J Phys Conf Ser 513 022025 Distributed Parametric Optimization with the Geneva Library Rudiger Berlich et al in Data Driven e Science Conference proceedings of ISGC 2010 Springer Simon C Lin and Eric Yen editors ISBN 978 1 4419 8013 7 S 303 ff Modellierung der Mona Lisa mit Dreiecken durch Roger Alsing Model independent determination of the CKM phase g displaystyle gamma nbsp using input from D 0 D 0 displaystyle D 0 bar D 0 nbsp mixing Sam Harnew und Jonas Rademacker Journal of High Energy Physics March 2015 2015 169 Parametrische Optimierung der Akustik von Abgasanlagen Memento vom 4 Marz 2016 im Internet Archive Dominik Rodel und Rudiger Berlich 2 Internationaler Motorenkongress 2015 Februar 2015 Baden Baden R Berlich Visualisierung hadronischer Splitoffs und ihre Erkennung mit neuronalen Netzen Diplom Arbeit Institut fur Experimentalphysik I der Ruhr Universitat Bochum 1995 R Berlich Application of Evolutionary Strategies to Automated Parametric Optimization Studies in Physics Research Doktorarbeit Institut fur Experimentalphysik I der Ruhr Universitat Bochum 2004 R Berlich M Kunze Parametric optimization with evolutionary strategies in particle physics Nuclear Instruments and Methods in Physics Research A 534 2004 147 151 Das Beste zum Schluss Optimierungsalgorithmen auf verteilten Systemen Rudiger Berlich iX Heise Zeitschriftenverlag Ausgabe 12 2010 S 110 115 Geneva von der Forschung zur wirtschaftlichen Anwendung Rudiger Berlich in SCC News Publikation des Steinbuch Centre for Computing am Karlsruhe Institute of Technology Ausgabe 2009 2 S 8 ff Analyse des Geneva Codes durch BLACKDUCK Open Hub Abgerufen von https de wikipedia org w index php title Geneva Software amp oldid 233408564