Project SAT-Solving + CSP
Voraussetzungen
- Gute Programmierkenntnisse
- Interesse an Algorithmen für NP-harte Probleme
- Vordiplom
Ziele
- Implementierung von SAT-Algorithmen oder CSP-Algorithmen
- Erstellung von effizienten Datenstrukturen
- Experimenteller Vergleich der eigenen Implementierung mit bestehenden Solvern auf einem der TOP500 Supercomputer (bwGrid)
- kurze Dokumentation der Herangehensweise und der Ergebnisse in einem Praktikumsbericht.
Themen
Die Themen sollen - je nach Umfang - alleine oder in Gruppen bis drei Studenten bearbeitet werden. Zu den von uns vorbereiteten Themen können Sie im Einzelfall selber vorgeschlagene Themen bearbeiten, wenn diese von uns für interessant und umfangreich genug bewertet werden.
Folgende Themen liegen schon vor:
- Vollständiger SAT-Solver (DPLL like)
- Stochastischer SAT-Solver, der die Suche nur auf bestimmten Variablen durchführt
- Änderung eines bestehenden SAT-Solvers (MiniSAT) für bestimmte Aufgaben
- Implementierung eines Branch and Bound Algorithmus für das Low Autocorrelation binary sequence Problem
Details zu den Themen:
- Es soll ein SAT-Solver implementiert werde oder ein bestehender so abgeändert werden, dass es möglich ist, um eine Belegung im Hammingabstand d herum alle Lösungen zu finden.
- Um stochastische SAT-Solver auf industrielle Probleme anzuwenden, sollte der Solver die Suche nur auf bestimmten Variablen (z.B: Eingangsvariablen von digitalen Schaltungen) durchführen und die restlichen Variablen (die nur Bedingungen darstellen) ableiten können. Dabei muss der stochastische Solver in der Lage sein, diese Variablen zu identifizieren.
- MiniSAT gilt als einer der am einfachsten zu verstehenden DPLL Solver. Dieser soll nun so umprogrammiert werden, dass die Aufgaben aus 1 und 2 mit ihm gelöst werden können.
- Für das Low Autocorrelation Binary Sequence Problem soll ein effizienter Branch and Bound Algorithmus implementiert werden. Der Algorithmus soll in der Lage sein, auf einem Supercomputer zu laufen, sprich das Problem zu parallelisieren. Es wird die Möglichkeit angeboten, auf einem Grid mit über 200 CPUs dieses Program zu testen.
Interessante Links
SAT Live! - Meldungen rundum das SAT- Problem
SAT for JAVA - SAT Bibliothek für Java
SAT Library - Solver und Benchamrks rundum SAT
SAT Competition - Wettbewerbe der SAT-Solver
SAT in Ulm - lokale Seite der Mitarbeiter die sich mit dem SAT-Problem beschäftigen
CSP Library - Solver und Benchmarks rundum das CSP - Problem
Literatur
- Stochastic Local Search Foundations and Applications - Hoos, Holger H.; Stützle, Thomas
- Handbook of Satisfiability - Biere, A.; Heule, M.; Van Maaren, H.; Walsh, T.;
Die Bücher stehen in der Abteilung zur Verfügung.
Verantwortlich
Weiter Informationen
Termine & Raum
Di 10:00 - 12:00
O27 - 122