www.wikidata.de-de.nina.az
Das Erfullbarkeitsproblem der Aussagenlogik SAT von englisch satisfiability ist eines der grundlegendsten schweren Probleme der Informatik 1 Obwohl die Problemdefinition denkbar einfach und abstrakt ist finden sich unzahlige Anwendungsgebiete in Industrie und Forschung weshalb effiziente Losungsansatze schon lange Gegenstand der Forschung sind Die Anwendungsbereiche des Erfullbarkeitsproblems erstrecken sich von simplen Konfigurationsaufgaben bis hin zu Losungsansatzen von schwierigen Problemen der Naturwissenschaften Weil viele der Anwendungen fur das Erfullbarkeitsproblem riesige Problemstellungen losen mussen und Prozessoren inzwischen an physikalische Grenzen stossen was Geschwindigkeit und Grosse betrifft schwenken Prozessorhersteller und in Folge auch die Algorithmentechnik seit Jahren auf Mehrprozessorsysteme um Dies erfordert allerdings spezielle Algorithmen fur das Erfullbarkeitsproblem welche die zusatzliche Hardware auch effizient nutzen konnen Inhaltsverzeichnis 1 Anwendungsgebiete 2 Ansatze 2 1 Portfolioansatze 2 1 1 Kooperation durch Clause Sharing 2 2 Parallele Lokale Suche 2 2 1 Portfolioansatz 2 2 2 Bucket Flips 2 2 3 Kooperation 2 2 4 Evolutionare Algorithmen 2 3 Teile und Herrsche 2 3 1 Cube And Conquer Algorithmus 3 Diversifikation 4 Massively Parallel Processing 4 1 Cloud Algorithmen 4 2 Grafikkarten 5 Lastverteilung 6 Speicherverwaltung 7 Deterministische Losungen 8 SAT Competition 9 Literatur und Weblinks 10 EinzelnachweiseAnwendungsgebiete BearbeitenDie Anwendungsgebiete fur das Erfullbarkeitsproblem reichen von einfacheren technische Anwendungen wie Produktkonfiguratoren 2 bis hin zu Medizin und Biologie Wichtige Probleme wie die Analyse von Genregulationsnetzwerken 3 sowie das Problem der Proteinfaltung 4 lassen sich durch SAT losen Gerade letztere gelten wegen der extrem grossen Suchraume als schwierig bis unlosbar Auch ausserhalb der Biologie bildet das Erfullbarkeitsproblem die Grundlage fur viele schwierige Probleme wie der automatisierten Beweisfuhrung in der Mathematik 5 der formalen Verifikation in der Informatik sowie der Uberprufung von Prozessordesigns wahrend der Entwicklung 6 Das Problem hat auch schon lange Einsatzgebiete in Robotik und kunstlicher Intelligenz 7 Da SAT ein NP vollstandiges Problem ist lasst sich auch jedes andere NP vollstandige Problem durch eine SAT Instanz darstellen und mit den entsprechenden Algorithmen losen Dies bietet sich vor allem fur NP vollstandige Probleme an die weniger gut erforscht sind Die Erfahrung zeigt dass die meisten dieser Problemstellungen nicht in sinnvoller Zeit von einem einzelnen Prozessor und einem sequentiellen Algorithmus losen lassen und parallele Algorithmen signifikanten Speedup erreichen konnen Ansatze BearbeitenGrundsatzlich unterscheidet man zwischen drei verschiedenen Ansatzen zur parallelen Losung des Erfullbarkeitsproblems Parallele lokale Suche Teile und herrsche Verfahren und Portfolio Ansatze 8 Alle drei basieren dabei auf sequentiellen Ansatzen verfolgen jedoch unterschiedliche Strategien um von der Parallelitat zu profitieren Portfolioansatze Bearbeiten Naiv betrachtet ist dies ein sehr einfacher Ansatz fur die parallele Berechnung Man fuhrt verschiedene SAT Solver unabhangig voneinander auf jeweils einem Prozessor aus Sobald ein Algorithmus eine Losung gefunden hat bricht man die Ausfuhrung aller anderen ab Dass dieser Ansatz uberhaupt zu einer Verbesserung der Performance fuhrt liegt an einer simplen Beobachtung Verschiedene Algorithmen fur das Erfullbarkeitsproblem sind in der Regel fur verschiedene Problemstellungen geeignet Es gibt jedoch keine verlassliche Vorhersage welcher Algorithmus fur welche Problemstellung geeignet ist 8 daher fuhrt man mehrere aus und lasst sie gegeneinander antreten Der Erfolg dieses Ansatzes wurde von Olivier Roussel wahrend der SAT Competition 2011 prasentiert 9 Er kombinierte die Gewinner verschiedener Kategorien und fuhrte sie parallel aus womit er in mehreren Kategorien die jeweils besten Algorithmen schlug 8 Kooperation durch Clause Sharing Bearbeiten Die meisten modernen Solver basieren auf dem CDCL Algorithmus 10 Dieser erlernt wahrend der Ausfuhrung neue Klauseln die sich durch Implikationen bei Konflikten ergeben und im weiteren Verlauf des Algorithmus benutzt werden um ungultige Variablenbelegungen schneller auszuschliessen Diese Klauseln sind unter einer gegebenen Probleminstanz immer gultig das heisst dass eine Probleminstanz mit einer gultigen Losung durch das Hinzufugen der erlernten Klausel nicht unlosbar wird und umgekehrt Daraus folgt dass parallel ausgefuhrte Algorithmen vom Erlernen der Klauseln der jeweils anderen Algorithmen profitieren konnen Dieser Ansatz wurde von Youssef Hamadi vorgeschlagen 10 und ist seitdem fester Bestandteil aller kompetitiver CDCL basierten Portfolio Algorithmen 8 Die Menge der erlernten Klauseln ist im Allgemeinen sehr hoch die Nutzlichkeit hingegen nur dann gegeben wenn die Klausel einen Teil des Suchraums betrifft in dem eine Instanz gerade nach Losungen sucht 11 Das heisst einfach alle Klauseln zu importieren ist durch Speicherlimitierungen nicht moglich und auch nicht sinnvoll da viele Klauseln keinen Mehrwert fur eine spezifische Instanz bieten Dieser Effekt wird durch starke Diversifikation weiter verstarkt Stattdessen sind Heuristiken die Entscheidungen bezuglich der Nutzlichkeit einer Klausel fur eine gegebene Instanz treffen ein wichtiger Teil jedes Portfolio Algorithmus und Gegenstand aktueller Forschung 8 Zwar ist der Portfolioansatz durch simple Verwendung bestehender Algorithmen entstanden doch lohnt es sich die Algorithmen speziell fur diesen Zweck zu modifizieren So ist das Exportieren und Importieren von erlernten Klauseln mit zusatzlichem Synchronisationsaufwand verbunden 10 doch dieser kann durch spezielle Datenstrukturen und Anpassen der sequentiellen Algorithmen mitigiert werden 12 Parallele Lokale Suche Bearbeiten Lokale Suche ist der denkbar einfachste Ansatz zur Losung des Erfullbarkeitsproblems Man rat eine Belegung aller booleschen Variablen und modifiziert diese Belegung bis man eine erfullende Belegung gefunden hat Verschiedene Heuristiken geben vor welche Variablenbelegungen modifiziert werden und ab wann eine vollstandig neue Belegung gewahlt wird um einem lokalen Suchraum zu entkommen Dieser Ansatz wird auch unvollstandige Suche genannt da der Algorithmus sich nicht merkt welche Teile des Suchraums schon durchsucht wurden und deshalb zum Beispiel nicht feststellen kann ob eine Eingabe unlosbar ist Portfolioansatz Bearbeiten Die einfachste Methode dieses Vorgehen zu parallelisieren ist wie bei Portfolio Solvern die Problemstellung auf jeden weiteren Prozessor zu kopieren und dort eine neue Variablenbelegung zu raten Dann fuhren alle Prozessoren den Algorithmus unabhangig voneinander parallel aus 8 Sobald ein Prozessor eine Losung findet werden alle anderen Instanzen abgebrochen Bucket Flips Bearbeiten Ein weiterer Ansatz die Arbeit einer lokalen Suche zu parallelisieren ist das Teilen der Variablen in mehrere Teilmengen engl buckets woraufhin je einer Menge ein Prozessor zugeteilt wird Dann modifizieren alle Prozessoren die Losung nur anhand der ihnen zugeteilten Variablen Es hat sich allerdings gezeigt dass dieser Ansatz nur bis zu einer bestimmten Anzahl von Prozessoren bessere Ergebnisse liefert als ein sequentieller Algorithmus 13 Kooperation Bearbeiten Lokale Suche generiert keine neuen Klauseln wahrend der Ausfuhrung daher ist es nicht offensichtlich wie die parallelen Instanzen eines Portfolios kooperieren sollten Da die Einfuhrung von Clause Sharing jedoch extreme Vorteile fur CDCL basierte Portfolios erbracht hat ist es wunschenswert dass auch fur parallele lokale Suchen Ansatze fur kooperative Losungsfindung gefunden werden Eine Moglichkeit ist die besten bisherigen Variablenbelegungen zwischen den Instanzen zu teilen Wenn eine Instanz einen Neustart plant wird aus den geteilten partiellen Losungen eine neue Startkonfiguration generiert 14 Fur die Generierung gibt es verschiedene Verfahren die von einer Mehrheitsentscheidung uber Rekombination bis hin zu einer probabilistischen Auswahl pro Variable reichen 15 Diese Verfahren fuhren zwar zu einer Leistungsverbesserung gegenuber einfacheren Portfolio Ansatzen lokaler Suche schlagen jedoch bisher nicht die auf CDCL basierenden Algorithmen Evolutionare Algorithmen Bearbeiten Die Rekombination bisheriger Losungen lasst sich auf evolutionare Algorithmen verallgemeinern Anstatt einzelne lokale Suchen auszufuhren und gegebenenfalls neu zu starten werden viele zufallige Variablenbelegungen nach einer beliebigen Strategie z B Random Walk 16 oder im Hybridverfahren mit lokaler Suche 17 modifiziert regelmassig nach einer Bewertungsfunktion sortiert und gute Losungen untereinander rekombiniert wahrend schlechte Losungen verworfen werden 16 Dieses Verfahren lauft wie alle evolutionaren Algorithmen Gefahr gegen lokale Optima zu konvergieren Aus diesem Grund ist besondere Vorsicht bei der Rekombination anzuwenden um die auch von anderen Algorithmen angestrebte Diversifikation zu gewahrleisten 16 Teile und Herrsche Bearbeiten Die alteste Methode das Erfullbarkeitsproblem auf mehreren Prozessoren zu bearbeiten ist den Suchraum zwischen den Prozessoren aufzuteilen Das ist anhand der Variablenbelegung sehr einfach Wahlt man fur Prozessor A eine Variable aus und belegt sie mit dem Wahrheitswert wahr und fur Prozessor B mit falsch dann bearbeiten beide Prozessoren disjunkte Teile des Suchraums die jedoch den gesamten Suchraum abdecken Durch die Belegung weiterer Variablen lassen sich die Teilraume erneut aufteilen Obwohl es viel Forschung bezuglich einer gleichmassigen Aufteilung gegeben hat ist bis heute keine Methode bekannt wie die Last der Berechnung dabei statisch gleichmassig verteilt werden kann 8 Fuhrt namlich eine der gewahlten Belegungen sofort zu einem Konflikt hat einer der Prozessoren keine Arbeit mehr und die Effizienz des Algorithmus sinkt Moderne Algorithmen dieser Art spalten den Suchraum daher nicht statisch sondern bei Bedarf wahrend der Ausfuhrung wann immer ein Prozessor seine Teilaufgabe beendet 8 Dieser Ansatz fuhrt zwar zu effizienterer Nutzung der Prozessoren allerdings auch zu starken Schwankungen in der Laufzeit selbst bei gleichbleibenden Problemstellungen 8 Cube And Conquer Algorithmus Bearbeiten Das Problem der ungleichmassigen Aufteilung des Suchraums durch eine ungunstige Variablenbelegung lasst sich auch anders umgehen Sogenannte Look Ahead Solver sind gut geeignet um kleine schwierige SAT Probleme durch aufwandige Look Ahead Heuristiken zu losen 18 Diese Heuristiken sind im Gegensatz zu den Heuristiken gangiger CDCL Algorithmen zu teuer fur grosse Probleme aber dafur geeignet gunstige Variablen fur eine Aufteilung des Suchraums zu wahlen Der Cube And Conquer Algorithmus fuhrt daher zunachst einen Look Ahead Solver aus der nach und nach Variablenbelegungen in einem Suchbaum auswahlt Dabei wird der Suchraum nicht notwendigerweise anhand einer Variable in zwei Teilraume gespalten wie herkommliche Teile und herrsche Algorithmen es tun Stattdessen wird eine gewahlte partielle Variablenbelegung sogenannte Cubes vom Suchbaum des Look Ahead Solvers abgeschnitten englisch cutoff und an einen CDCL Algorithmus ubergeben Die komplementare Belegung wird jedoch nicht unbedingt auch abgeschnitten sofern die Heuristik dies nicht fur sinnvoll erachtet sondern bleibt zunachst Teil des Look Ahead Algorithmus Auf diese Weise generiert der Algorithmus hunderte Teilraume von etwa gleicher Grosse die von verfugbaren Prozessoren mit herkommlichen CDCL Algorithmen nacheinander abgearbeitet werden 18 Diversifikation BearbeitenEs sind keine Algorithmen fur SAT bekannt die fur alle Probleminstanzen schnell oder uberhaupt eine Losung finden 8 So sind beispielsweise Algorithmen die sich der lokalen Suche bedienen viel besser fur zufallig generierte Probleminstanzen geeignet 14 wahrend CDCL basierte Algorithmen in der Regel besser fur industrielle Probleminstanzen geeignet sind 10 Aber auch Algorithmen derselben Klasse verhalten sich sehr unterschiedlich bei Anderungen in den Parametern ihrer Heuristiken 19 Um also von einem Portfolio an Algorithmen moglichst stark zu profitieren sollten moglichst viele verschiedene Algorithmen oder Algorithmen mit moglichst verschiedenen oder gegensatzlichen Einstellungen fur ihre Heuristiken verwendet werden Dadurch durchsuchen die Algorithmen mit hoherer Wahrscheinlichkeit unterschiedliche Teile des Suchraums gleichzeitig Die Heuristiken die unterschiedliche Einstellungen erlauben ergeben sich in der Regel aus den sequentiellen Versionen der verwendeten Algorithmen und sind nicht explizit Teil des parallelen Algorithmus Die parallele Ausfuhrung erlaubt lediglich das Problem zu umgehen sich fur eine feste Konfiguration der Heuristiken entscheiden zu mussen Eine weitere Moglichkeit der Diversifikation in Portfolio Ansatzen ist die Aufteilung des Suchraums analog zum Teile und herrsche Verfahren Dabei konnen den parallelen Instanzen Variablenbelegungen vorgegeben oder empfohlen werden um sie moglichst in einen separaten Teilbereich des Suchraums zu dirigieren 19 Anstatt eine Diversifikation durch manuelle Konfiguration vieler Instanzen zu erreichen was Vertrautheit mit der Probleminstanz und den Algorithmen erfordert ist es auch moglich ein Portfolio online zu generieren das aus automatisch konfigurierten Instanzen desselben Algorithmus besteht Dieser Ansatz erzielt kompetitive Ergebnisse wenn man ihn mit manuell erzeugten Portfolios vergleicht 20 Massively Parallel Processing BearbeitenWahrend der Ubergang von sequentiellen zu parallelen Algorithmen in der Regel symmetrische Mehrprozessorsysteme betrachtet finden sich mit Supercomputern und Grafikkarten auch Beispiele fur parallele Architekturen mit asymmetrischer Parallelitat 11 Diese lassen sich in der Regel nicht effizient durch allgemeine parallele Algorithmen des Erfullbarkeitsproblems ausnutzen da es wegen unzureichenden Speicherressourcen oder zu hohem Grad der Parallelitat zu Engpassen bei Speicherzugriffen oder Kommunikation kommt Cloud Algorithmen Bearbeiten Auf Rechnernetzen skalierbare Algorithmen gibt es sowohl fur den auf CDCL basierenden Portfolio Ansatz 12 19 als auch eine fur Divide And Conquer 21 Hierbei tun sich jedoch neue Probleme bezuglich der Skalierbarkeit auf Je nach Netzwerktopologie konnen die einzelnen Rechner nur mit Aufwand untereinander kommunizieren Zudem ist die Ubertragungsrate begrenzt und die gleichzeitige Kommunikation mehrerer Teilnehmer kann zur Uberlastung des Netzwerks und damit einhergehenden Verzogerungen fuhren Einzelne Prozesse die den Suchraum aufteilen oder den Austausch erlernter Klauseln regulieren fuhren daher zu Verlangsamungen und es mussen dezentrale Losungen gefunden werden 19 Das heisst dass Cloud Algorithmen in der Regel nicht uber zentrale Verwaltungsstrukturen verfugen sondern sich Prozesse einzeln miteinander abstimmen 21 Portfolio Algorithmen verlassen sich weiterhin auf bekannte sequentielle Algorithmen aber verhindern Leistungseinbussen beim Clause Sharing durch weitere Innovation Da die hohe Diversifikation sequentieller Algorithmen und ihrer Konfiguration zu einer breiten Abdeckung des Suchraums fuhrt sind nicht alle erlernten Klauseln von Nutzen fur alle Instanzen 19 Und weil die Verteilung von Klauseln zwischen hunderten Rechnern erhebliche Netzwerklast verursacht ist es daher wichtig durch Heuristiken und Filter das mehrfache Senden gleicher Klauseln sowie den Import von wahrscheinlich uninteressanten Klauseln zu verhindern und die Datenmenge moglichst kompakt zu halten 12 Die Verteilung der Clauses geschieht ublicherweise uber eine Middleware wie MPI sodass eine moglichst effiziente All to all Kommunikation moglich ist Da ein sehr hoher Grad an Parallelitat besteht und die einzelnen Rechner in der Regel auch uber Hardware Threads verfugen werden Kommunikation und damit verbundene Heuristiken parallel zum sequentiellen Algorithmus in separaten Threads ausgefuhrt Der Import erlernter Klauseln geschieht ebenfalls parallel sodass die Arbeit der Solver moglichst nie unterbrochen wird 19 Die Algorithmen konnen selbst unter hoher Skalierung signifikanten bis hin zu superlinearem Speedup messen 19 Fur industrielle Probleme ist es haufig nicht wunschenswert einen ganzen Superrechner fur ein einzelnes Problem zu verwenden Der in mehreren SAT Competitions dominante Cloud Algorithmus HordeSAT wurde aus diesem Grund um einen Lastverteilungsalgorithmus erweitert der Job Parallelismus erlaubt Mit diesem kann die Anzahl an Prozessoren die fur eine einzelne Instanz dezentral und dynamisch wahrend der Ausfuhrung angepasst werden 12 So kann Problemen die sich wahrend der Losung als schwierig erweisen mehr Rechenleistung zugewiesen werden und Rechenleistung fur neue Jobs im Netzwerk dynamisch freigegeben werden Der Cube And Conquer Ansatz hat weiterhin einen zentralen Algorithmus um die Cubes zu wahlen Abgeschnittene Cubes werden einem Slave Rechner im Netzwerk ubergeben Ein Kommunikationsprotokoll zwischen allen Rechnern tauscht Informationen uber Auslastung aus und ermoglicht den einzelnen Algorithmen so ihren Suchraum weiter zu spalten wenn andere Rechner keine Arbeit mehr haben 21 Grafikkarten Bearbeiten Grafikkarten sind nicht geeignet um die gangigen parallelen Algorithmen fur das Erfullbarkeitsproblem auszufuhren Diese Algorithmen brauchen viel Speicher um die notwendigen Datenstrukturen zu speichern Wahrend Grafikkarten zwar viele Rechenkerne haben teilen sich alle diese Kerne vergleichsweise wenig Speicher sodass nur wenige Instanzen der Algorithmen gleichzeitig ausgefuhrt werden konnen 11 Allerdings gibt es durchaus Ansatze Grafikkarten fur die Berechnung auszunutzen Beispielsweise lassen sich einfachere Algorithmen die nicht mit modernen Solvern mithalten konnen zu Hybridalgorithmen kombinieren Die Grafikkarte fuhrt einen einfachen leicht parallelisierbaren Algorithmus basierend auf lokaler Suche aus und ein CDCL Algorithmus auf der CPU nutzt dessen Teilergebnisse fur seine Heuristiken 22 Anstatt einen kompletten Algorithmus auszufuhren lassen sich auch die Heuristiken direkt auf die GPU auslagern Diese kann von schnellen Vektoroperationen profitieren um viele Entscheidungen wichtiger Heuristiken gleichzeitig zu treffen 11 Noch einen Schritt weiter geht die Ersetzung gangiger Heuristiken durch kunstliche neuronale Netzwerke die ohnehin in der Regel auf Grafikkarten berechnet werden 23 Lastverteilung BearbeitenDas grosste Problem mit dem alle parallelen Ansatze zu kampfen haben ist die gleichmassige Verteilung der Rechenlast auf alle verfugbaren Prozessoren Der alteste Ansatz der Parallelisierung das Teile und herrsche Verfahren veranschaulicht diese Problematik am besten Das im zugehorigen Abschnitt beschriebene Verfahren fuhrt aber zu einer ungleichmassigen Aufteilung auf Prozessoren 8 Cube And Conquer ist ein Ansatz um dieses Problem dynamisch zu losen Anstatt die Arbeit am Anfang der Berechnung auf die Prozessoren zu verteilen generiert ein Prozess laufend kleine Teilprobleme von denen sich Prozessoren ohne Arbeit jeweils eines auswahlen und abarbeiten Dadurch kann die Berechnung mit verhaltnismassig wenig zusatzlichem Aufwand auf alle Kerne verteilt werden Die Arbeit des Prozesses der das Problem in Cubes aufteilt ist hierbei grosstenteils kein Overhead sondern ist ebenfalls ein Suchalgorithmus Die abgespaltenen Subprobleme sind Teil seines eigenen Suchraums Dadurch sind alle Prozessoren die meiste Zeit mit der Losung des eigentlichen Problems beschaftigt und nicht etwa mit der Verwaltung der Lastverteilung Algorithmen in grossen Rechnernetzwerken setzen hingegen auf eine selbststandige Lastverteilung auszufuhrender Jobs zwischen den Nodes durch lokale Kommunikation um Probleme mit Skalierbarkeit zu vermeiden Auch das dynamische Neuzuweisen von Rechenresourcen an schwierige Jobs sei hier zu erwahnen welches HordeSAT unterstutzt 12 Speicherverwaltung BearbeitenPortfolio Solver haben hohe Speicheranforderungen da die einzelnen Instanzen jeweils die Problemstellung und eine eigene Datenbank an erlernten Klauseln im Speicher halten 12 Das Teilen erlernter Klauseln verstarkt dieses Problem da die Instanzen zusatzlich zu den eigens erlernten Klauseln auch die ihrer konkurrierenden Instanzen importieren Diese Herangehensweise ist historisch durch die Weiterverwendung sequentieller Algorithmen in den Portfolios bedingt die moglichst wenig modifiziert wurden 24 Da dies jedoch mit erheblichen Speicheranforderungen verbunden ist gibt es auch Algorithmen die mit neuen sequentiellen Algorithmen das Teilen von erlernten Klauseln durch Referenzierung erlauben Dabei entstehen neue Probleme fur die Implementierung des CDCL Algorithmus So konnen beispielsweise falsifizierte Literale nicht einfach aus Klauseln entfernt werden da andere Instanzen parallel darauf zugreifen Da die zentrale Datenbank der Klauseln nicht modifiziert werden darf muss ein anderes Verfahren benutzt werden um das Aussieben von falsifizierten Literalen aus Klauseln zu ermoglichen 25 Auch konnen zentrale Datenstrukturen nicht parallel verkleinert werden Stattdessen werden Anderungen an den Klauseln zunachst lokal behandelt und der CDCL Algorithmus regelmassig unterbrochen um mit einer Master Instanz zu kommunizieren die solche Anderungen exklusiv vornimmt falls eine Klausel von keiner Instanz mehr referenziert wird 24 Dies senkt zwar die Effizienz einzelner Instanzen doch ist dafur eine wesentlich bessere Skalierung der Speicheranforderungen sichtbar Deterministische Losungen BearbeitenNicht alle parallelen Algorithmen fur das Erfullbarkeitsproblem verwenden randomisierte Techniken Dennoch liefern die meisten Algorithmen keine deterministischen Ergebnisse Das heisst dass trotz gleicher Eingabe verschiedene Ausgaben moglich sind Dieses Verhalten liegt hauptsachlich an der Kooperation der Instanzen und damit verbundenen zufalligen Verzogerungen durch unterschiedliche Systemlast Cache Effekte oder Netzwerk Congestion 26 Viele Anwendungen benotigen jedoch reproduzierbare Ergebnisse was die Verwendung paralleler Algorithmen erschwert 2 26 Aus diesem Grund existieren verschiedene Ansatze die Algorithmen so zu synchronisieren dass es keine Anderungen der Reihenfolge bestimmter Ereignisse wie zum Beispiel Clause Exchange gibt die zufalliges Verhalten nach sich ziehen Den ersten Ansatz hierzu lieferte bereits ManySAT einer der ersten Portfolio Solver 10 Alle Instanzen fuhren ihre lokalen Algorithmen aus bis eine Heuristik entscheidet dass eine Runde Clause Exchange stattfinden soll Dann warten alle Instanzen an einer Barriere bis alle anderen Instanzen bereit sind Dadurch findet der Klauselaustausch in fester Reihenfolge statt und es kann nicht zu Nicht Determinismus kommen 10 Nach dem Austausch fahren alle Algorithmen mit einer weiteren Runde der normalen Berechnung fort Dieses Verfahren hat den Nachteil dass die Instanzen Zeit mit Warten verbringen was die Effizienz des Algorithmus senkt Stattdessen lasst sich der Clause Exchange auch um einige wenige Runden verzogern Wenn die Instanzen ihre Klauseln fur Runde 1 displaystyle 1 nbsp erst in Runde 1 m displaystyle 1 m nbsp austauschen ist die Wahrscheinlichkeit dass alle Instanzen die erste Runde bereits abgeschlossen haben hoher 26 SAT Competition BearbeitenSeit 2002 gibt es einen Wettbewerb zwischen verschiedenen SAT Solvern welcher jahrlich in unterschiedlichen Ausfuhrungen stattfindet Der Wettbewerb soll die Entwicklung neuer und besserer Algorithmen fur das SAT Problem fordern 27 Die Veranstalter fordern Industriezweige auf die auf SAT Solver angewiesen sind industrielle Benchmarks fur ihre Anwendungsbereiche zur Verfugung zu stellen Weiterhin gibt es unerfullbare und zufallig generierte Problemstellungen zu losen Die Algorithmen treten meist in unterschiedlichen Kategorien gegeneinander an Dazu zahlen ublicherweise eine sequentielle eine parallele eine hoch parallele genannt Cloud sowie einige spezielle Kategorien die sich teilweise von Jahr zu Jahr unterscheiden 28 Die Algorithmen versuchen moglichst viele Probleminstanzen jeweils innerhalb eines Zeitlimits zu losen Der Algorithmus der die meisten Instanzen lost gewinnt 8 Wahrend der SAT Competition 2011 wurde das Konzept der Portfolioalgorithmen fur SAT Solving eingefuhrt indem einfach alle Gewinner der verschiedenen Kategorien uber ein Script parallel ausgefuhrt wurden Um ein solches Vorgehen zu unterbinden da es fur Teilnehmer sehr demotivierend sein kann wenn ein Teilnehmer mit Algorithmen anderer Einreichungen gewinnt sind Portfolio Algorithmen nur noch durch Diversifikation einzelner Algorithmen aber nicht mehr durch die Kombination unterschiedlicher Algorithmen zugelassen 8 Dies widersprache auch dem erklarten Ziel des Wettbewerbs die Entwicklung neuer Algorithmen zu fordern da ausschliesslich vorhandene Algorithmen verwendet wurden Seit 2022 werden diese Regeln fur die Cloud Kategorie gelockert 29 weil hier der Fokus der Entwicklung nicht mehr auf den einzelnen Algorithmen liegt sondern auf effizienter Kommunikation und Lastverteilung Literatur und Weblinks BearbeitenYoussef Hamadi Lakhdar Sais Handbook of Parallel Constraint Reasoning Springer 2018 ISBN 978 3 319 63515 6 Ruben Martins Vasco Manquinho Ines Lynce An overview of parallel SAT solving In Constraints Band 17 Nr 3 1 Juli 2012 ISSN 1572 9354 Satisfiability Application and Theory SAT e V The International SAT Competition Web Page Abgerufen am 23 Januar 2023 Einzelnachweise Bearbeiten Youssef Hamadi Lakhdar Sais Hrsg Handbook of Parallel Constraint Reasoning Springer 2018 ISBN 978 3 319 63516 3 S 3 doi 10 1007 978 3 319 63516 3 a b Nils Merlin Ullman Tomas Baylo Michael Klein Parallelizing a SAT Based Product Configurator In CP Dagstuhl Publishing 2021 doi 10 4230 LIPIcs CP 2021 55 dagstuhl de PDF Fabien Corblin Y Hamadi E Fanchon Laurent Trilling A SAT based approach to decipher Gene Regulatory Networks 2007 abgerufen am 10 Januar 2023 englisch Hannah Brown Lei Zuo Dan Gusfield Comparing Integer Linear Programming to SAT Solving for Hard Problems in Computational and Systems Biology In Algorithms for Computational Biology Springer 1 Februar 2020 doi 10 1007 978 3 030 42266 0 6 PMC 7197060 freier Volltext 63 76 S Holger Dambeck Der langste Mathe Beweis der Welt umfasst 200 Terabyte In Der Spiegel 30 Mai 2016 ISSN 2195 1349 spiegel de abgerufen am 10 Januar 2023 Carsten Sinz Tomas Balyo Practical SAT Solving In Institute for Theoretical Computer Science Karlsruhe Institute of Technology Karlsruhe Institute of Technology 23 April 2019 abgerufen am 10 Januar 2023 englisch Henry Kautz Bart Selman Planning as Satisfiability In Bernd Neumann European Committee for Artificial Intelligence ECAI Hrsg Proceedings of the 10th European Conference on Artificial Intelligence ECAI Wiley Wien 1992 ISBN 0 471 93608 1 359 363 S psu edu PDF a b c d e f g h i j k l m Tomas Balyo Carsten Sinz Parallel Satisfiability In Youssef Hamadi Lakhdar Sais Hrsg Handbook of Parallel Constraint Reasoning Springer 2018 ISBN 978 3 319 63516 3 doi 10 1007 978 3 319 63516 3 Matti Jarvisalo Daniel Le Berre Olivier Roussel The SAT 2011 competition Results of phase 1 In Centre de Recherche en Informatique de Lens 18 Juni 2011 abgerufen am 10 Januar 2023 englisch a b c d e f Youssef Hamadi Said Jabbour Lakhdar Sais ManySAT a Parallel SAT Solver In Journal on Satisfiability Boolean Modeling and Computation Band 6 Nr 4 1 Januar 2010 S 245 262 doi 10 3233 SAT190070 iospress com abgerufen am 10 Januar 2023 a b c d Nicolas Prevot Mate Soos Kuldeep S Meel Leveraging GPUs for Effective Clause Sharing in Parallel SAT Solving In Theory and Applications of Satisfiability Testing SAT 2021 Springer International Publishing Cham 2021 ISBN 978 3 03080223 3 S 471 487 doi 10 1007 978 3 030 80223 3 32 springer com abgerufen am 10 Januar 2023 a b c d e f Dominik Schreiber Peter Sanders Scalable SAT Solving in the Cloud In Theory and Applications of Satisfiability Testing SAT 2021 Springer International Publishing Cham 2021 ISBN 978 3 03080223 3 S 518 534 doi 10 1007 978 3 030 80223 3 35 springer com abgerufen am 10 Januar 2023 B Selman H Levesque D Mitchell A New Method for Solving Hard Satisfiability Problems 1992 abgerufen am 10 Januar 2023 englisch a b Alejandro Arbelaez Youssef Hamadi Improving Parallel Local Search for SAT In Learning and Intelligent Optimization Springer Berlin Heidelberg 2011 ISBN 978 3 642 25566 3 S 46 60 doi 10 1007 978 3 642 25566 3 4 springer com abgerufen am 10 Januar 2023 Padraigh Jarvis Alejandro Arbelaez Cooperative Parallel SAT Local Search with Path Relinking In Evolutionary Computation in Combinatorial Optimization Springer International Publishing Cham 2020 ISBN 978 3 03043680 3 S 83 98 doi 10 1007 978 3 030 43680 3 6 springer com abgerufen am 10 Januar 2023 a b c G Folino C Pizzuti G Spezzano Parallel hybrid method for SAT that couples genetic algorithms and local search In IEEE Trans Evol Comput 2001 semanticscholar org abgerufen am 10 Januar 2023 I Borgulya An evolutionary framework for 3 SAT problems In Proceedings of the 25th International Conference on Information Technology Interfaces 2003 ITI 2003 2003 semanticscholar org abgerufen am 10 Januar 2023 a b Marijn J H Heule Oliver Kullmann Siert Wieringa Armin Biere Cube and Conquer Guiding CDCL SAT Solvers by Lookaheads In Hardware and Software Verification and Testing Springer Berlin Heidelberg 2012 ISBN 978 3 642 34188 5 S 50 65 doi 10 1007 978 3 642 34188 5 8 springer com abgerufen am 11 Januar 2023 a b c d e f g Tomas Balyo P Sanders C Sinz HordeSat A Massively Parallel Portfolio SAT Solver In ArXiv 2015 arxiv 1505 03340 abs semanticscholar org abgerufen am 10 Januar 2023 Lin Xu H Hoos Kevin Leyton Brown Hydra Automatically Configuring Algorithms for Portfolio Based Selection In Proceedings of the AAAI Conference on Artificial Intelligence 2010 semanticscholar org abgerufen am 10 Januar 2023 a b c Maximilian Levi Heisinger Paracooba Enters SAT Competition 2022 In Toma s Balyo Marijn J H Heule Markus Iser Matti Jarvisalo and Martin Suda Hrsg Proceedings of SAT Competition 2022 Solver and Benchmark Descriptions University of Helsinki Helsinki 2022 Sander Beckers Gorik De Samblanx Floris De Smedt Toon Goedeme Lars Struyf Joost Vennekens Jos WHM Uiterwijk Nico Roos Mark HM Winands Parallel hybrid SAT solving using OpenCL In Proceedings BNAIC 2012 Maastricht University Maastricht 1 Oktober 2012 kuleuven be abgerufen am 12 Januar 2023 Wenxi Wang Yang Hu Mohit Tiwari S Khurshid K McMillan R Miikkulainen NeuroComb Improving SAT Solving with Graph Neural Networks In ArXiv 2021 semanticscholar org abgerufen am 12 Januar 2023 a b Mathias Fleury Armin Biere Scalable Proof Producing Multi Threaded SAT Solving with Gimsatul through Sharing instead of Copying Clauses In arXiv 2207 13577 cs 29 Juli 2022 arxiv 2207 13577 abs arxiv org PDF abgerufen am 13 Januar 2023 Ruben Martins Vasco Manquinho Ines Lynce An overview of parallel SAT solving In Constraints Band 17 Nr 3 1 Juli 2012 ISSN 1572 9354 S 304 347 doi 10 1007 s10601 012 9121 3 a b c Hidetomo Nabeshima Katsumi Inoue Reproducible Efficient Parallel SAT Solving In Theory and Applications of Satisfiability Testing SAT 2020 Springer International Publishing Cham 2020 ISBN 978 3 03051825 7 S 123 138 doi 10 1007 978 3 030 51825 7 10 PMC 7326539 freier Volltext springer com abgerufen am 15 Januar 2023 Satisfiability Application and Theory SAT e V The International SAT Competition Web Page Abgerufen am 23 Januar 2023 englisch Marijn Heule Matti Jarvisalo Martin Suda Markus Iser Tomas Balyo SAT Competition 2022 In github io Abgerufen am 23 Januar 2023 englisch Marijn Heule Markus Iser Matti Jarvisalo Martin Suda Tomas Balyo SAT Competition 2022 Rules Abgerufen am 16 Februar 2023 englisch Abgerufen von https de wikipedia org w index php title Parallele Algorithmen fur das Erfullbarkeitsproblem amp oldid 231045444