masterarbeit bioinformatik - ... fileprof. michael kaufmann (informatik) wilhelm-schickard-institut...

119
Eberhard Karls Universit¨ at T¨ ubingen Fakult¨ at f¨ ur Informations- und Kognitionswissenschaften Wilhelm-Schickard-Institut f¨ ur Informatik Masterarbeit Bioinformatik Effizientes Preprocessing von Erf¨ ullbarkeitsinstanzen mit Anwendung auf phylogenetische Probleme Christian Zielke 31. Mai 2010 Betreuer Dipl.-Inform. Stephan Kottler Wilhelm-Schickard-Institut f¨ ur Informatik Universit¨ at T¨ ubingen Gutachter Prof. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f¨ ur Informatik Universit¨ at T¨ ubingen Dr. Kay Nieselt (Bioinformatik) Wilhelm-Schickard-Institut f¨ ur Informatik Universit¨ at T¨ ubingen

Upload: phamkhanh

Post on 19-May-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Eberhard Karls Universitat TubingenFakultat fur Informations- und Kognitionswissenschaften

Wilhelm-Schickard-Institut fur Informatik

Masterarbeit Bioinformatik

Effizientes Preprocessing von

Erfullbarkeitsinstanzen mit Anwendung auf

phylogenetische Probleme

Christian Zielke

31. Mai 2010

Betreuer

Dipl.-Inform. Stephan KottlerWilhelm-Schickard-Institut fur Informatik

Universitat Tubingen

Gutachter

Prof. Michael Kaufmann(Informatik)

Wilhelm-Schickard-Institut fur InformatikUniversitat Tubingen

Dr. Kay Nieselt(Bioinformatik)

Wilhelm-Schickard-Institut fur InformatikUniversitat Tubingen

Page 2: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Zielke, Christian:Effizientes Preprocessing von Erfullbarkeitsinstanzen mitAnwendung auf phylogenetische ProblemeMasterarbeit BioinformatikEberhard Karls Universitat TubingenBearbeitungszeitraum: Dezember 2009 - Mai 2010

Page 3: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

i

Zusammenfassung

Diese Masterarbeit prasentiert neben der Entwicklung einer SAT-Kodierungfur das aus der Bioinformatik bekannte Problem der Superbaum-Kompatibilitat auch die Implementierung eines Preprocessors fur anwendungs-basierte SAT-Instanzen.Verschiedene Techniken zum Simplifizieren von Erfullbarkeitsproblemen wer-den vorgestellt, implementiert und anhand von zahlreichen Tests bewertet.Durch den Einsatz des von uns entwickelten Preprocessors ist es moglich zahl-reiche neue Instanzen zu losen und somit die Performance von aktuellen SAT-Solvern maßgeblich zu verbessern.Gleichzeitig werden die Ergebnisse fur verschiedene Bioinformatik-Instanzenzeigen, dass sowohl bei der Kodierung dieser Probleme als auch bei den Pre-processortechniken noch viel Potential fur Verbesserungen besteht.

Page 4: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

ii

Danksagung

Zu erst mochte ich mich bei meinem Betreuer Stephan dafur bedanken, dasser mich so intensiv unterstutzt hat und seine Tur fur mich immer offen stand.Ohne seinen standigen Input an neuen Ideen ware die Arbeit in ihrer jetzigenForm nicht moglich gewesen.In den letzten Monaten durfte ich das angenehme Klima am Arbeitsbereich“Paralleles Rechnen” genießen und mochte mich deswegen vor allem bei Prof.Michael Kaufmann bedanken, der es mir ermoglicht hat, mich als ein Teildes “Teams” zu fuhlen. Aber auch die restlichen Mitarbeiter mochte ich hiererwahnen. Ich hoffe mit Andi, Markus, Philip, Robert und Stephan auch inZukunft noch den einen oder anderen Kuchen verspeisen zu konnen. ;-)Einen herzlichen Dank gilt es auch an Dr. Kay Nieselt zu richten, die es durchIhre Unterstutzung erst ermoglicht hat, dass die Arbeit so angefertigt werdenkonnte.

Wie schnell doch die letzten Jahre vergangen sind. . . Das lag vor allemauch an der kurzweiligen Zeit mit meinen Kommilitonen, bei denen ichmich hiermit auch recht herzlich bedanken mochte. Erstaunlich, wie sicherwir die Untiefen des Bachelorstudiums umschifft haben, um uns auch imMaster trotz der unterschiedlichen Planungen nicht aus den Augen zu verlieren.

Zu guter Letzt mochte ich mich hier von ganzem Herzen bei meiner Familieund Freunden bedanken, die mich bei allem stets voll unterstutzt haben.

Danke!

Page 5: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Inhaltsverzeichnis

Abbildungsverzeichnis vii

Tabellenverzeichnis ix

Abkurzungsverzeichnis xi

1 Einleitung 1

2 Grundlagen 3

2.1 Graphentheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.2 Zusammenhangskomponente . . . . . . . . . . . . . . . . 4

2.1.3 Baum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Das Erfullbarkeitsproblem . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.2 Konjunktive Normalform . . . . . . . . . . . . . . . . . . 6

2.2.3 DIMACS-Format . . . . . . . . . . . . . . . . . . . . . . 7

2.3 SAT-Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1 Davis-Putnam-Verfahren . . . . . . . . . . . . . . . . . . 9

2.3.2 Aus Konflikten lernen . . . . . . . . . . . . . . . . . . . 12

2.3.3 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Preprocessing 17

3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

iii

Page 6: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

iv INHALTSVERZEICHNIS

3.2 SatELite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2 Unit Propagation . . . . . . . . . . . . . . . . . . . . . . 21

3.2.3 Subsumierung . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2.4 Selbst-Subsumierung . . . . . . . . . . . . . . . . . . . . 22

3.2.5 Variableneliminierung . . . . . . . . . . . . . . . . . . . . 23

3.2.6 top-level Simplifizierungsmethode . . . . . . . . . . . . . 24

3.2.7 Veranderungen in der SatELite-Version von 2007 . . . . 26

3.3 Selbst-Subsumierung mit Binarresolution . . . . . . . . . . . . . 26

3.4 Eliminierung geblockter Klauseln . . . . . . . . . . . . . . . . . 28

3.5 Literals Blocks Distance . . . . . . . . . . . . . . . . . . . . . . 30

4 Ergebnisse 33

4.1 Industrielle Instanzen . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.1 SatELite - Techniken . . . . . . . . . . . . . . . . . . . . 35

4.1.2 Resolutionskriterium . . . . . . . . . . . . . . . . . . . . 36

4.1.3 Entfernung geblockter Klauseln . . . . . . . . . . . . . . 36

4.2 Bioinformatik Instanzen . . . . . . . . . . . . . . . . . . . . . . 46

5 Das Superbaum-Kompatibilitatsproblem 49

5.1 Allgemeines zur SAT-Kodierung . . . . . . . . . . . . . . . . . . 49

5.2 Problemdefinition . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3 Gewurzelte Baume . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.3.1 BUILD-Algorithmus . . . . . . . . . . . . . . . . . . . . 53

5.3.2 SAT-Kodierung fur gewurzelte Baume . . . . . . . . . . 56

5.4 Ungewurzelte Baume . . . . . . . . . . . . . . . . . . . . . . . . 60

5.4.1 NP-Vollstandigkeit . . . . . . . . . . . . . . . . . . . . . 61

5.4.2 SAT-Kodierung fur ungewurzelte Baume . . . . . . . . . 62

5.5 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.5.1 Instanzgroßen . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 7: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

INHALTSVERZEICHNIS v

5.5.2 Biologische Testdatensatze . . . . . . . . . . . . . . . . . 78

5.5.3 Zufallsbaume als Testdatensatze . . . . . . . . . . . . . . 81

5.5.4 Vergleich mit vorhandenen Implementationen . . . . . . 83

5.5.5 Laufzeit und Preprocessoreffektivitat . . . . . . . . . . . 84

6 Diskussion und Ausblick 95

6.1 Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.2 Superbaum-Kompatibilitatsproblem . . . . . . . . . . . . . . . . 97

Literaturverzeichnis 99

Page 8: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

vi INHALTSVERZEICHNIS

Page 9: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Abbildungsverzeichnis

2.1 DIMACS Format Beispiel . . . . . . . . . . . . . . . . . . . . . 8

2.2 Entscheidungsbaum . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Implikationsgraph . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1 cactus plot verschiedener Implementierungen mit maximaler

Berechnungszeit 1200 Sekunden . . . . . . . . . . . . . . . . . . 44

4.2 cactus plot verschiedener Implementierungen mit maximaler

Berechnungszeit 10000 Sekunden . . . . . . . . . . . . . . . . . 45

5.1 restringierter ungewurzelter Baum . . . . . . . . . . . . . . . . . 52

5.2 restringierter gewurzelter Baum . . . . . . . . . . . . . . . . . . 52

5.3 Das gewurzelte Tripel ab|c . . . . . . . . . . . . . . . . . . . . . 54

5.4 Beispiel clustering Graph . . . . . . . . . . . . . . . . . . . . . . 55

5.5 Der von BUILD berechnete Baum T . . . . . . . . . . . . . . . 55

5.6 Beispiel Abdeckungsbereiche von Knoten . . . . . . . . . . . . . 66

5.7 DepictEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

vii

Page 10: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

viii ABBILDUNGSVERZEICHNIS

Page 11: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Tabellenverzeichnis

4.1 Anteil an geblockten Klauseln fur jede Instanzklasse, aufstei-

gend sortiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2 Ergebnisse Anwendungs-Instanzen . . . . . . . . . . . . . . . . . 39

4.3 Ergebnisse Anwendungs-Instanzen mit SatELite Preprocessor-

techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.4 Ergebnisse Anwendungs-Instanzen ohne Variableneliminierung . 40

4.5 Ergebnisse Anwendungs-Instanzen ohne Definitionsresolution . . 40

4.6 Ergebnisse Anwendungs-Instanzen mit anderem Resolutionskri-

terium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.7 Ergebnisse Anwendungs-Instanzen mit Eliminierung geblockter

Klauseln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.8 Ergebnisse Anwendungs-Instanzen nach langer Berechnungszeit 42

4.9 Ergebnisse Anwendungs-Instanzen nach langer Berechnungszeit

mit SatELite Preprocessortechniken . . . . . . . . . . . . . . . . 42

4.10 Ergebnisse Anwendungs-Instanzen nach langer Berechnungszeit

mit Eliminierung geblockter Klauseln . . . . . . . . . . . . . . . 43

4.11 Ergebnisse Anwendungs-Instanzen nach langer Berechnungszeit

ohne Definitionsresolution . . . . . . . . . . . . . . . . . . . . . 43

4.12 Ergebnisse Bioinformatik-Instanzen . . . . . . . . . . . . . . . . 47

4.13 Ergebnisse Bioinformatik-Instanzen nach langer Berechnungszeit 48

5.1 Test des Abdeckungsbereichs . . . . . . . . . . . . . . . . . . . . 73

5.2 Instanzgroßen fur gewurzelte Baume . . . . . . . . . . . . . . . 77

ix

Page 12: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

x TABELLENVERZEICHNIS

5.3 Speicherplatzbedarf fur gewurzelte Baume . . . . . . . . . . . . 77

5.4 Instanzgroßen fur ungewurzelte Baume . . . . . . . . . . . . . . 79

5.5 Speicherplatzbedarf fur ungewurzelte Baume . . . . . . . . . . . 79

5.6 Ergebnisse gewurzelte Baume . . . . . . . . . . . . . . . . . . . 85

5.7 Laufzeiten gewurzelte Baume . . . . . . . . . . . . . . . . . . . 85

5.8 Ergebnisse Verteilung gewurzelte Baume . . . . . . . . . . . . . 87

5.9 Ergebnisse Verteilung ungewurzelte Baume . . . . . . . . . . . . 87

5.10 Ergebnisse ungewurzelte Baume . . . . . . . . . . . . . . . . . . 89

5.11 Laufzeiten ungewurzelte Baume . . . . . . . . . . . . . . . . . . 89

5.12 Preprocessor Ergebnisse gewurzelte Baume . . . . . . . . . . . . 92

5.13 Preprocessor Effektivitat gewurzelte Baume . . . . . . . . . . . 92

5.14 Preprocessor Ergebnisse ungewurzelte Baume . . . . . . . . . . 93

5.15 Preprocessor Effektivitat ungewurzelte Baume . . . . . . . . . . 93

Page 13: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Abkurzungsverzeichnis

bzw. beziehungsweiseca. circaCDCL Conflict Driven Clause LearningDIMACS Center for Discrete Mathematics and Theoretical

Computer Science, Rutgers, New JerseyDPLL Davis-Putnam-Logemann-Loveland-Verfahrenengl. englischet al. lateinisch fur: und andereLBD Literals Blocks DistanceLCA lowest common ancestorMAX SAT maximum satisfiabiltyo.B.d.A. ohne Beschrankung der AllgemeinheitSAT satisfiabilty (engl. fur Erfullbarkeit)vgl. vergleichez.B. zum Beispiel

xi

Page 14: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

xii ABKURZUNGSVERZEICHNIS

Page 15: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 1

Einleitung

In Zeiten von Mobiltelefonen, die neben dem fast schon zu vernachlassigen-dem Telefonieren auch Fotografieren, Videos aufnehmen und abspielen konnen,entwickelte sich in den letzten Jahren der Trend moglichst komplexe Berech-nungen auf moglichst kleinen und mobilen Geraten durchfuhren zu lassen. Soentstand ein Markt fur Anwendungen, die uber das Internet verbreitet werdenund zum Beispiel aufwandige Routenberechnungen uber mehrere Staatsgren-zen hinweg in wenigen Sekunden durchfuhren.Dadurch kann der Eindruck entstehen, dass heutzutage jedes beliebige Pro-blem grundsatzlich in kurzer Zeit zu losen ist. In der Informatik gibt es jedochFragestellungen, fur die es im Moment weder effiziente Losungmoglichkeitengibt, noch bekannt ist, ob es uberhaupt moglich sein wird diese Probleme durcheffiziente Verfahren zu losen.

Zu dieser Gruppe von Problemen gehort auch das Erfullbarkeits-, bzw. aus demEnglischen von satisfiability abgeleitete SAT-Problem. Es beschreibt die Fra-ge, ob eine boolsche Formel durch die Wahl von Variablenwerten wahr wird. FurFormeln geringer Große ist die (Un-)Erfullbarkeit noch per Hand berechenbar.So ist zum Beispiel die UND-Verknupfung der Aussagen “Deutschland stehtim WM-Finale 2010 ”, “Spanien steht im WM-Finale 2010 ” und “Deutschlandwird Weltmeister” durchaus erfullbar, wenn auch aus Sicht der Fußballfanseher Wunschdenken.Eine Formel, die eine Aussage und ihre Verneinung durch ein UND verknupft,wie z.B. “Michael Ballack fahrt zur Fußball-WM ” und “Michael Ballack fahrtnicht zur Fußball-WM ” ist jedoch nicht erfullbar.Im schlechtesten Fall muss man alle Variablenbelegungen testen, um eine Aus-sage uber die Erfullbarkeit der Formel treffen zu konnen. Bei n Variablen,die jeweils nur die Werte wahr oder falsch annehmen konnen, und somit 2n

moglichen Variablenbelegungen fuhrt dies schnell zu einer unpraktikablen Be-rechnungszeit.

Nachdem mit Hilfe des SAT-Problems erstmals die Menge der NP-vollstandi-

1

Page 16: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2 KAPITEL 1. EINLEITUNG

gen Probleme begrundet wurde, galt es lange Zeit ausschließlich als theoreti-sches Problem.In den letzten Jahren wurden jedoch mehr und mehr Fragestellungen aus derPraxis, deren enorme Komplexitat von einem Menschen nicht mehr uberschau-bar sind, als SAT-Problem dargestellt. Ein Beispiel hierfur ist unter Anderemdas Testen von moglichen Automobilkonfigurationen [SKK00].Im Gegensatz zu zufallig oder von Hand erstellten Probleminstanzen, weisenSAT-Probleme, die reale Anwendungen darstellen eine Struktur [Leh06] auf,die es ermoglicht eine Losung in einer relativ kurzen Zeit zu finden.

Diese Arbeit beschaftigt sich zum Einen mit der Frage, inwiefern diese Struk-turen ausgenutzt werden konnen um die Probleminstanzen bereits vor demeigentlichen Losungsprozess in ihrer Große und ihrem Aufbau zu verandern.Gelingt es eine Vielzahl an redundanten Informationen in der SAT-Instanz zuidentifizieren, so kann die Problemgroße und damit auch die Berechnungszeiterheblich verringert werden.

Der zweite Schwerpunkt dieser Arbeit liegt in der Entwicklung einer SAT-Kodierung, und damit einer neuen Herangehensweise, fur das Superbaum-Kompatibilitatsproblem aus der Bioinformatik.Seit dem Charles Darwin seine Evolutionstheorie im Jahr 1859 veroffentlichthat beschaftigen sich Wissenschaftler auf der ganzen Welt mit dem Baum desLebens, der alle evolutionaren Verwandtschaftsbeziehungen von den (ehemals)existierenden Arten darstellt.Das Superbaum-Kompatibilitatsproblem hilft bei der Erstellung diesesBaumes, da es fur eine Menge an Teilbaumen uberpruft, ob die Gesamtheitder in diesen Baumen vorhandenen Verwandtschaftsbeziehungen alle in einemgroßen Superbaum dargestellt werden konnen.

An Hand der SAT-Instanzen des Superbaum-Kompatibilitatsproblemsund anderer bereits in SAT kodierter Probleme aus der Bioinformatik sollschließlich getestet werden, ob die Techniken zum Vereinfachen von SAT-Problemen auch in gleichem Maß auf Bioinformatik-Instanzen anwendbar sind,oder ob sie uber andere Strukturen verfugen, und somit andere Techniken derSimplifizierung erfordern.

Die Arbeit gliedert sich dazu wie folgt: Die zum Verstandnis des behandel-ten Themas benotigten Grundlagen werden in Kapitel 2 erarbeitet. Anschlie-ßend werden in Kapitel 3 die einzelnen Techniken zum Simplifizieren der SAT-Instanzen vorgestellt und die erzielten Ergebnisse in Kapitel 4 besprochen,bevor die SAT-Kodierung des Superbaum-Kompatibilitatsproblems inKapitel 5 vorgestellt und an Hand von Datensatzen bewertet wird. Eine Dis-kussion und ein kurzer Ausblick im Kapitel 6 beschließen die Arbeit.

Page 17: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 2

Grundlagen

Das folgende Kapitel soll die theoretischen Grundlagen der Masterarbeit kurzvorstellen und einen Uberblick uber die zu behandelnden Themen geben. ZuBeginn des Kapitels werden allgemeine Definitionen der Graphentheorie wie-derholt, um eine Grundlage fur spatere Anwendungen und verwendete Tech-niken beim SAT-Solving und Preprocessing zu schaffen.Danach wird das Erfullbarkeitsproblem definiert und mit Hilfe des DIMACS-Formates eine Grundlage zur Verarbeitung der Daten geschaffen, bevor Tech-niken der aktuellen SAT-Solver vorgestellt werden. In diesem Zusammenhangwird am Ende des Kapitels auch kurz auf die Moglichkeit eingegangen, dieSAT-Instanzen durch einen sogenannten Preprocessor zu bearbeiten, um dieLaufzeit, die fur das Losen der Erfullbarkeitsprobleme benotigt wird, zu redu-zieren und somit eine Motivation fur die vorliegende Arbeit zu geben.

2.1 Graphentheorie

Wie wir im weiteren Verlauf der Arbeit sehen werden, stellen graphentheoreti-sche Probleme nicht nur mogliche Anwendungsgebiete fur Erfullbarkeitsproble-me dar. Sie spielen auch in der Technik der SAT-Solver und des Preprocessorseine wichtige Rolle. Deshalb werden in diesem Abschnitt einige grundlegen-de Dinge definiert. Die Definitionen sind auch in verschiedenen theoretischenWerken, z.B. [Bol98], nachzulesen.

2.1.1 Graph

Als Graph G = (V,E) wird ein Tupel aus einer Menge von Knoten V (furengl. vertices) und einer Menge Kanten E (fur engl. edges) bezeichnet. Dabeibeschreibt die Kantenmenge E ⊆ V × V eine Relation zwischen Knoten. Manunterscheidet allgemein zwischen gerichteten und ungerichteten Graphen.Wahrend im Falle eines ungerichteten Graphen die Kante e1 = (u, v) ∈ E von

3

Page 18: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4 KAPITEL 2. GRUNDLAGEN

der Kante e2 = (v, u) ∈ E nicht zu unterscheiden ist, spielt die Ordnung desKnotentupels im gerichteten Graphen eine wichtige Rolle. Man bezeichnetdann z.B. fur e1 u als Quelle oder Startknoten und v als Ziel oder Endknotender Kante.In der gesamten Arbeit werden wir nur einfache Kanten betrachten. ZweiKanten aus dem Graphen G durfen somit nicht sowohl die identische Quelleals auch das identische Ziel besitzen. Außerdem sind die in der vorliegendenArbeit verwendeten Kanten stets ungewichtet.

Die Adjazenz zweier Knoten u und v ist dann gegeben, wenn es eine Kantee = (u, v) ∈ E gibt. Diese Kante e ist daruber hinaus inzident zu den Knotenu und v.

Als Pfad p =−−−→(u, v), der von Knoten u ∈ V ausgeht und bei dem Knoten v ∈ V

endet, wird die Menge von Kanten {(u, x1), (x1, x2), . . . , (xi−1, xi), (xi, v)} ∈ Emit xi 6= xj ∀i 6= j bezeichnet. Die Lange eines Pfades ist die Anzahl anKanten, die dieser Pfad abdeckt. Existiert in einem Graphen fur jeden Knoten

u ∈ V kein Pfad p =−−−→(u, u) der Lange > 0, so ist dieser Graph azyklisch.

2.1.2 Zusammenhangskomponente

Eine Zusammenhangskomponente Z = {vi, . . . , vj} ist definiert als eine

Menge von Knoten fur die gilt: ∀vi, vj ∈ Z : ∃p1 =−−−−→(vi, vj) ∨ ∃p2 =

−−−−→(vj, vi).

Diese Menge muss maximal sein, also es darf kein Knoten v ∈ V \Z existieren,fur den Z ′ = Z ∪ v ebenfalls eine Zusammenhangskomponente darstellt. JederGraph kann in seine disjunkten Zusammenhangskomponenten ZSK = Z1 . . . Zkzerlegt werden. Die Komponenten bilden dann eine Partition von Knoten, dasheißt: ∀Zi, Zj ∈ ZSK : Zi ∩ Zj = ∅ und

⋃1≤i≤k Zi = V . Ist |ZSK| = 1, so ist

der Graph zusammenhangend.Ein gerichteter Graph ist schwach zusammenhangend, falls der dazugehori-ge ungerichtete Graph (jede gerichtete Kante wird durch eine ungerichteteersetzt) zusammenhangend ist.

2.1.3 Baum

Ist ein Graph (schwach) zusammenhangend und daruberhinaus noch azyklisch,so ist es ein Baum.

In den meisten Fallen handelt es sich bei Baumen um gerichtete Graphen.In diesem Fall nimmt der sogenannte Wurzelknoten r (fur engl. root) einebesondere Rolle ein. Er ist der einzige Knoten ohne eingehende Kanten:

Page 19: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.2. DAS ERFULLBARKEITSPROBLEM 5

@e = (vi, r) ∈ E ∀vi ∈ V . Alle anderen Knoten des Graphen konnen aber von

diesem Knoten aus erreicht werden: ∃p =−−−→(r, vi) ∀vi ∈ V \ r. Die Lange des

Pfades p =−−−→(r, vi) wird gleichzeitig auch als Tiefe des Knotens vi bezeichnet.

Die Tiefe des Baumes definiert man infolgedessen als die Lange des langstenmoglichen Pfades von der Wurzel zu einem beliebigen anderen Knoten imBaum.Die Knoten, die keine ausgehenden Kanten besitzen, nennt man Blatter.Knoten, die weder Blatt noch Wurzel sind, bezeichnet man als innereKnoten.

In Kapitel 5 gehen wir auf phylogenetische Baume genauer ein. DieseBaume sind Anwendungen aus der Bioinformatik, mit denen Verwandtschafts-beziehungen z.B. zwischen einzelnen Spezien, Individuen oder auch Genen dar-gestellt werden.Es ist also nicht verwunderlich, dass fur ein Knotenpaar (u, v) ∈ E des Bau-mes folgende Bezeichnungen ublich sind: Knoten u ist Vorganger, oder Vatervon v und v ist Nachfolger, bzw. Kind von u. Im Spezialfall des binarenBaumes besitzt jeder Knoten maximal zwei Kinder.

2.2 Das Erfullbarkeitsproblem

Das Erfullbarkeitsproblem der Aussagenlogik (SAT, von engl. satisfiability)ist eine wichtige Problemstellung der Theoretischen Informatik, hat aber auchviele praktische Anwendungen, wie z.B. die Ablaufplanung (engl. scheduling)[Sch88], Testen von Software [KM04], kunstliche Intelligenz [SK92] und vieleweitere [MS08]. Im Folgenden werden einige grundlegende Begriffe definiert.

2.2.1 Aussagenlogik

Im menschlichen Sprachgebrauch sind Aussagen Satze, bei denen entschiedenwerden kann, ob sie wahr oder falsch sind. Ahnlich funktioniert das auch inder Aussagenlogik. Das Alphabet der Sprache der Aussagenlogik besteht ausfolgenden Elementen:

• Menge der Variablen V

• die Konstanten true (1) und false (0)

• die Junktoren Negation (¬), Konjunktion (∧) und Disjunktion (∨)

• Hilfssymbole, z.B. Klammern

Page 20: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

6 KAPITEL 2. GRUNDLAGEN

Wir betrachten nur die Junktoren ¬, ∧ und ∨, da Implikation (→), Aquivalenz(↔), Antivalenz (⊕) usw. mit Hilfe der drei erstgenannten ausgedruckt werdenkonnen.Eine Formel ϕ der Aussagenlogik kann mit Hilfe des Alphabets und folgen-den Regeln gebildet werden:

1. Jede Variable v der gegebenen Menge V und jede Konstante ist eineFormel.

2. Wenn α eine Formel ist, so ist auch ¬(α) eine Formel.

3. Wenn α und β jeweils Formeln sind, so sind auch (α ∧ β) und (α ∨ β)jeweils Formeln.

Die eindeutige Zuordnung ψ : v → {0, 1},∀v ∈ V von Variablen zu Wahrheits-werten wird Variablenbelegung genannt.Sei Φ die Menge aller moglichen Formeln. Dann kann mit einer gegebenen Va-riablenbelegung ψ und der Funktion interψ : ϕ → {0, 1},∀ϕ ∈ Φ jede Formelinterpretiert (ausgewertet) werden. Die Funktion interψ definieren wir rekursivdurch folgende Regeln:

interψ(v) = ψ(v) , falls v ∈ Vinterψ(c) = c , falls c Konstante

interψ(¬ϕ) = 1− interψ(ϕ) , falls ϕ ∈ Φ

interψ(ϕ1 ∧ ϕ2) = min(interψ(ϕ1), interψ(ϕ2)) , falls ϕ1, ϕ2 ∈ Φ

interψ(ϕ1 ∨ ϕ2) = max(interψ(ϕ1), interψ(ϕ2)) , falls ϕ1, ϕ2 ∈ Φ

Eine Variablenbelegung ψx fur eine Formel φ, fur die interψx(φ) = 1 gilt, heißtModell.Das Erfullbarkeitsproblem entscheidet somit fur eine gegebene Formel φ,ob sie ein Modell besitzt - also ob sie erfullbar ist.

2.2.2 Konjunktive Normalform

Jede geschlossene Klammerung stellt eine sogenannte Klausel dar. Die einzel-nen aussagenlogischen Formeln, die innerhalb einer Klausel durch Disjunk-tionen oder Konjunktionen miteinander verbunden sind, bezeichnen wir alsTerme. Sind alle Terme einer Klausel mittels Disjunktionen verbunden, so istdie Klausel disjunktiv. Dementsprechend ist die Klausel konjunktiv, sofernalle enthaltenen Terme durch Konjunktionen miteinander verbunden sind.

Page 21: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.2. DAS ERFULLBARKEITSPROBLEM 7

Mittels folgender Regeln zur Klammerersparnis lassen sich Formeln verein-fachen:

1. ((α ∧ β) ∧ γ) = (α ∧ β ∧ γ)

2. ((α ∨ β) ∨ γ) = (α ∨ β ∨ γ)

3. Durch die hohere Prioritat der Konjunktion (∧) gegenuber der Disjunk-tion (∨) ergibt sich ebenfalls:((α ∧ β) ∨ γ) = (α ∧ β ∨ γ)

Eine Formel φ ist in konjunktiver Normalform (CNF) genau dann, wennalle ihre Klauseln Ci disjunktiv sind, das heißt Ci = (li1 ∨ li2 ∨ · · · ∨ lik)und die einzelnen Klauseln der Formel konjunktiv miteinander verbundensind, also φ = C1 ∧ C2 ∧ · · · ∧ Cn. Literale werden hier durch lij bezeichnet,wobei ein Literal mit positiver Polaritat eine Variable (lpos = var(l) = x)darstellt, und ein Literal mit negativer Polaritat die Negation einer Variable(lneg = ¬var(l) = x) symbolisiert. Jede Formel der Aussagenlogik kann indiese Normalform uberfuhrt werden [DP60].Im weiteren Verlauf der Arbeit werden ausschließlich Formeln in konjunktiverNormalform betrachtet.Eine Formel in CNF ist erfullbar, wenn es eine Variablenbelegung gibt, sodass in jeder Klausel mindestens ein Literal zu true ausgewertet werden kann.Werden mit einer Variablenbelegung ψpartiell nur eine Teilmenge S ⊂ V Wahr-heitswerte zugewiesen, so spricht man von einer partiellen Belegung. Durchdiese partielle Belegung entsteht eine Instanz φ〈ψpartiell〉 des ursprunglichenProblems φ mit V 〈ψpartiell〉 = V \ S und den durch die partielle Belegungnicht erfullten Klauseln:

C〈ψpartiell〉i = {lij|var(lij) ∈ V 〈ψpartiell〉} : @lij ∈ Ci mit ψpartiell(lij) = 1

Als Unit Klauseln bezuglich einer Variablenzuweisung bezeichnet man Klau-seln, fur die gilt:

|C〈ψpartiell〉i| = 1

2.2.3 DIMACS-Format

Die meisten verfugbaren Benchmarks liegen in einem Dateiformat vor, das spe-ziell zur Speicherung von SAT-Instanzen in konjunktiver Normalform furdie DIMACS Challenge entwickelt wurde [DIM93].Die Formatdefinition sieht vor, dass am Anfang der Datei beliebig viele Kom-mentarzeilen auftreten konnen. Diese Zeilen mussen mit dem Buchstaben c

beginnen. Nach den Kommentarzeilen folgt die Problemzeile. Ihr Format ist

Page 22: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

8 KAPITEL 2. GRUNDLAGEN

aus vier Elementen aufgebaut: p <Problemfall> <Anzahl an Variablen>

<Anzahl an Klauseln>. In unserem Fall ist <Problemfall> immer CNF, diebeiden anderen Elemente geben die Anzahl an Variablen bzw. Klauseln der zubearbeitenden Instanz an.Nach dieser Problemzeile schließen sich die Beschreibungen der einzelnen Klau-seln an. Jede Klausel wird durch eine mittels beliebiger whitespaces (Leerzei-chen, Tabulator, line feed, etc.) getrennte Liste von Ganzen Zahlen zuzuglichabschließender 0 dargestellt. Jede Ganze Zahl x 6= 0 gibt dabei ein Literal xan, fur das gilt: var(x) = |x|. Ist das Vorzeichen der Zahl x negativ, so hat dasLiteral negative Polaritat, andernfalls positive Polaritat. Die Nummerierungder Variablen muss dabei weder bei eins beginnen, noch fortlaufend sein.Ein Beispiel fur die Kodierung der Formel φ = (x1 ∨ x3)∧ (x2 ∨¬x3)∧ (x4) istin Abbildung 2.1 dargestellt.

c ein kleines Beispiel fur eine Kodierung

c einer SAT-Instanz im DIMACS-Format

p cnf 4 3

1 3 0

2 -3 0

4 0

Abbildung 2.1: DIMACS Format Beispiel

Die abschließende 0 der letzten aufgefuhrten Klausel kann laut Definition desFormats auch weggelassen werden. Das EOF terminiert somit sowohl die Datei,als auch die letzte Klausel.

2.3 SAT-Solving

Stephen Cook definierte 1971 die Klasse der NP-vollstandigen Problemeanhand des satisfiability Problems [Coo71]. Ein Jahr darauf veroffentlichteRichard Karp insgesamt 21 Probleme, z.B. KNAPSACK und CLIQUE,die ebenfalls in dieser Klasse liegen [Kar72] und begrundete damit eine Mengevon Problemen, uber die man bis heute nicht sagen kann, ob es effizienteVerfahren gibt, mit deren Hilfe sich diese “schwierigen” Probleme losen lassen.

Page 23: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.3. SAT-SOLVING 9

2.3.1 Davis-Putnam-Verfahren

Bereits uber 10 Jahre bevor Stephen Cook die NP-vollstandigen Problemezum ersten Mal beschrieb, wurde von Martin Davis und Hilary Putnam 1960ein Verfahren entwickelt, mit dem man erstmals die Erfullbarkeit von SAT-Instanzen in konjunktiver Normalform uberprufen konnte [DP60].Das Verfahren basiert auf den folgenden drei grundlegenden Regeln:

Unit PropagationSeien F, A, B, C Formeln in CNF und a, b, c, p Literale.So gelten folgende Regeln:

F = A ∧ p ∧ B ∧ p ∧ C ⇒ F = 0 (2.1)

F = p ∧ (p ∨ a) ∧ (p ∨ b ∨ c) ⇒ F = (b ∨ c) (2.2)

F = p ∧ (p ∨ a) ∧ (p ∨ b ∨ c) ⇒ F = a (2.3)

falls F = 〈〉 ⇒ F = 1 (2.4)

Enthalt eine Formel F eine Unit Klausel C = (p), so ist F nur erfullbar,wenn p wahr ist. Aus diesem Grund konnen alle Klauseln, die p enthal-ten, aus der Formel entfernt werden. Außerdem konnen alle Vorkommendes Literals p aus den entsprechenden Klauseln gestrichen werden. Da-durch konnen neue Unit Klauseln entstehen.

Positiv-Negativ-Regel (pure literal rule)Kommt ein Literal p in einer CNF F nur in einer Polaritat vor, so bezeich-net man dieses Literal als pure. Der Wahrheitswert der dazugehorgienVariable kann in der entstehenden partiellen Variablenbelegung ψpartielldann entsprechend der Polaritat gesetzt werden. Alle Klauseln, die penthalten, werden aus der Instanz entfernt (subsumiert). Fur die ent-standene Instanz F〈ψpartiell〉 gilt:

F〈ψpartiell〉 = 0 ⇔ F = 0 (2.5)

F〈ψpartiell〉 = 〈〉 ⇒ F = 1 (2.6)

Regel zum Eliminieren von Literalen (Resolution)Seien F, A, B, C Formeln in CNF und p Literal /∈ A,B,C.So gilt folgende Regel:

F = (A ∨ p) ∧ (B ∨ p) ∧ C⇒ F = 0⇔ ((A ∨ B) ∧ C) = 0 (2.7)

Diese Regel beschreibt die Eliminierung einer Variable p mitsamt allervorkommenden Literale. Sei α die Menge aller Klauseln der Formel, inder das Literal p vorkommt, β die Menge der Klauseln, in der das Literalp vorkommt und γ die restlichen Klauseln: γ = F \ (α + β).

Page 24: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

10 KAPITEL 2. GRUNDLAGEN

α⇔ p ∨∧Ci∈αCi〈ψp→1〉

β ⇔ p ∨∧Ci∈β Ci〈ψp→1〉

Aus der Beobachtung heraus, dass die Klauselmenge α nur erfullt ist,wenn entweder p = true ist, oder aber die Konjunktion aller Klauselnin α nach Entfernung des Literals p zu true ausgewertet werden kannund analoger Betrachtung fur β ergibt sich dann mit der Umbennungder Konjunktionen zu A, bzw. B die Regel 2.7.

Die Regeln der Unit Propagation sowie die pure literal rule werden in dieserForm auch heute noch als Propagieren bezeichnet und so lange ausgefuhrt, bisbeide Regeln nicht mehr anwendbar sind. Die benotigte Laufzeit fur diese Ope-rationen ist linear abhangig von der Große der Formel: O(|F|) (vgl. [Val00])mit |F| =

∑C∈F |C|.

Die hier beschriebene Resolution kann zu einer exponentiell anwachsendenAnzahl an neuen Klauseln fuhren, da die durch Regel 2.7 entstandene For-mel, um wieder in CNF vorzuliegen, noch “ausmultipliziert” werden muss.Dieses Speicherplatz- und Laufzeitproblem wurde zwei Jahre spater durch denAlgorithmus von Davis, Logemann und Loveland [DLL62] verbessert. In derLiteratur wird dieses Verfahren daher oftmals als Davis-Putman-Logemann-Loveland-Verfahren, oder kurz DPLL, betitelt. Andere ubliche Bezeichnungensind DLL und Davis-Putnam-Verfahren.Die ursprungliche dritte Regel wurde durch folgende logisch aquivalente, aberbesser zu implementierende ersetzt:

Branching (splitting rule)Seien F, A, B, C Formeln in CNF und p Literal /∈ A,B,C.So gilt folgende Regel:

F = (A∨p)∧(B∨p)∧C⇒ F = 0⇔ (A∧C) = 0 und (B∧C) = 0 (2.8)

Mit anderen Worten: Ist p = true, so muss B ∧ C gelten, ist p = false,so muss A ∧ C erfullt sein.

Mit Hilfe der neuen Regel 2.8 lasst sich nun uber einen sogenannten binarenEntscheidungsbaum der gesamte Suchraum an Variablenzuweisungen tra-versieren.Die Kanten des Baumes werden dabei ublicherweise mit der hinzugefugten Va-riablenbelegung markiert, die Knoten beinhalten die durch Resolution entstan-dene Formel. Es kann vorkommen, dass mehrere Knoten die gleiche Klausel-menge darstellen. Jeder Knoten reprasentiert dabei aber eine andere partielleVariablenbelegung, die durch Ablaufen des Pfades ausgehend von der Wur-zel des Baumes bis zu dem entsprechenden Knoten uber die Benennung derKanten abgelesen werden kann.

Page 25: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.3. SAT-SOLVING 11

{(a ∨ b) ∧ (a ∨ b) ∧ (a ∨ b)}

a = true

{(b)}

b = true

{}

b = false

{()}

a = false

{(b) ∧ (b)}

b = true

{()}

b = false

{()}

Abbildung 2.2: Entscheidungsbaum

Ein Modell ist gefunden, wenn in einem Blatt des Entscheidungsbaumes eineleere Formelmenge dargestellt wird. Fur das in Abbildung 2.2 angegebeneBeispiel F = {(a ∨ b) ∧ (a ∨ b) ∧ (a ∨ b)} ergibt also die Variablenbelegung, inder jeweils a und b true zugewiesen wird, dass die Formel erfullbar ist.

Eine mogliche Implementierung des DPLL-Algorithmus ist in Algorithmus 1geschildert. In der dort gezeigten rekursiven Ausfuhrung werden in Zeile 1 dieRegeln der Unit Propagation, bzw. pure literal rule, auf die Formel so oft wiemoglich angewendet. Wenn dadurch alle Klauseln der Formel entfernt wurden,so ist die Klausel nach Regel 2.6 erfullbar (SAT). Die Variablenbelegung Vbildet dann das Modell. Ist allerdings durch die Propagation eine leere Klauselin der Formel entstanden, so ist die Formel nicht erfullbar (UNSAT).Tritt keiner der beiden genannten Falle ein, so wird das Branching angewendet.Es wird eine in der aktuellen Formel ungebundene Variable “var” gewahlt (Al-gorithmus 1, Zeile 7), auf true gesetzt und die Funktion rekursiv gestartet. Istdie Formel mit dieser und in eventuell weiteren Rekursionsstufen getroffenenVariablenbelegungen erfullbar, so wird dieses an die nachst hohere Rekursi-onsstufe weitergegeben. Fuhrt die auf true gesetzte Variable “var” allerdingszu einem Konflikt, der sich als Ruckgabewert UNSAT außert, so wird “var”auf false gesetzt und die Funktion rekursiv gestartet. Das Ergebnis dieser Re-kursion wird direkt in die nachst hohere Rekursionsstufe zuruckgegeben, daalle moglichen Variablenbelegungen fur “var” nun durchgetestet wurden. Derbinare Entscheidungsbaum wird also, sollte vorher kein Modell gefunden wer-den, vollstandig durchlaufen.

Fur die Wahl einer geeigneten ungebundenen Variable “var” der Formel gibtes verschiedene Heuristiken, die hier aber nicht vollstandig besprochen werden,da sie nicht das zentrale Thema der Arbeit bedienen. Lediglich die HeuristikVSIDS wird in Abschnitt 2.3.2 kurz erlautert.

Page 26: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

12 KAPITEL 2. GRUNDLAGEN

Algorithmus 1 DPLL(F, V )

Eingabe: Eine Formel F in CNF.Eingabe: Eine (partielle) Variablenbelegung V fur vi ∈ C ∈ F.Ausgabe: SAT oder UNSAT.

1: var belegung = propagiere(F,V)2: if F = ∅ then3: return SAT4: else5: if F enthalt Ci = ∅ then6: return UNSAT7: var = wahle ungebundene variable(F,V)8: V = V ∪ (var→ true)9: if DPLL(F, V ) == SAT then

10: return SAT11: else12: V = V \ (var→ true)13: V = V ∪ (var→ false)14: return DPLL(F, V )

2.3.2 Aus Konflikten lernen

Mit der Entwicklung des SAT-Solvers Chaff wurde im Jahr 2000 eine neuartigeVariablenheuristik vorgestellt [MMZ+01]. Die Technik des VSIDS (VariableState Independent Decaying Sum) bewertet die einzelnen Literale dabei anhandihrer Haufigkeit in Konflikten. Auch in aktuellen SAT-Solvern wie MiniSAT

[ES03] wird die im folgenden kurz vorgestellte Idee noch verfolgt:

• Jedes Literal verfugt uber einen Aktivitatszahler. Dieser ist zu Beginndes SAT-Solvings auf 0 initialisiert.

• Fuhrt eine partielle Variablenbelegung zu einem Konflikt, so wird derZahler fur alle Literale, die an dieser Belegung teilhaben, um 1 erhoht.Nahere Erlauterungen zum Entstehen und Entdecken von Konflikten fol-gen im Anschluss.

• Die Variable des Literals mit der hochsten Aktivitat wird als Entschei-dungsvariable gewahlt.

• Nach einer festen Anzahl an Iterationen werden alle Aktivitaten miteiner Konstanten c < 1 multipliziert, um spateren Konflikten eine hohereGewichtung bei Berechnung der Aktivitat zu gewahren.

Durch diese Wahl der Entscheidungsvariable konnte vor allem fur nichterfullbare Instanzen ein großer Laufzeitgewinn erzielt werden. (vgl. [MFM04])

Page 27: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.3. SAT-SOLVING 13

Die Idee, aus auftretenden Konflikten wahrend des SAT-Solvings zu lernen,wurde schon durch die Entwicklung von CDCL (conflict driven clauselearning) bekraftigt.Der SAT-Solver GRASP[MSS99], entwickelt von Marques-Silva und Sakallah,setzte als einer der ersten das Generieren von Konfliktklauseln ein, um diewahrend des Losungsprozesses gewonnenen Informationen wiederverwendenzu konnen. Die dieser Technik zugrundeliegende Idee soll im Folgenden kurzerlautert werden.

Um aus Konflikten lernen zu konnen mussen diese, das liegt in der Naturder Sache, zunachst entdeckt werden. Eine typische Strategie zur Erkennungdieser durch partielle Variablenbelegungen auftretenden Konflikte verwendeteinen Implikationsgraphen. Mit Hilfe des Beispiels aus Abbildung 2.3 solldie Idee kurz vorgestellt werden.

x1 → 0@1 x3 → 0@2

x5 → 0@1x2 → 1@2

x6 → 0@2 x4 → 0@2

x4 → 1@2

C5

C2

C4

C3

C2

C4 C1

Abbildung 2.3: Implikationsgraph

Betrachten wir die Formel F, welche unter anderem folgende Klauseln enthalt:

C1 = (x3 x4) C2 = (x2 x3 x5)

C3 = (x4 x6) C4 = (x2 x3 x6)

C5 = (x1 x5)

Im bisherigen Losungsprozess wurde auf der ersten Entscheidungsebene x1

false zugewiesen. Diese Zuweisung in Verbindung mit der Klausel C5 = (x1 x5)ergibt, dass x5 somit ebenfalls auf false gesetzt werden muss, damit dieKlausel C5 erfullt wird. Es entsteht eine direkte Implikation auf der erstenEntscheidungsebene, die auch im Graphen aus Abbildung 2.3 zu sehen ist.Jeder Knoten stellt eine Variablenzuweisung dar. Wahrend die Ziffer nachdem @ in der Bezeichnung des Knotens der Entscheidungsebene entspricht,geben die eingehenden Kanten des Knotens die Ursache fur die Belegung an:

Page 28: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

14 KAPITEL 2. GRUNDLAGEN

Variablenzuweisungen, die Quellknoten der Kanten, und daraus resultierendeUnit Klausel als Beschriftung der eingehenden Kanten.Eventuelle weitere Variablenzuweisungen der ersten Entscheidungsebene sindin diesem Teilgraph nicht dargestellt. Mit der Zuweisung x3 = false aufEntscheidungsebene 2 folgt dann direkt mit Klausel C1, dass x4 = false, mitKlausel C2 und der Variablenbelegung aus Entscheidungsebene 1 ergibt sichx2 = true. Uber eine direkte Implikation, begrundet durch Klausel C4, ergibtsich x6 = false, womit sich wiederum mit Klausel C3 ergibt, dass x4 = true.Da x4 aber bereits false sein soll, ist an dieser Stelle ein Konflikt aufgetreten.Aus dieser Beobachtung heraus wissen wir nun, dass die Variablenbelegungx1 = false und x3 = false nie in einem Modell auftreten kann, und fugendeshalb die Klausel Cneu = (x1 x3) in die Formel ein. Dadurch wird gefordert,dass mindestens eine der beiden Variablen mit true belegt werden muss, undhaben die Information des Konfliktes “gelernt”. In einem anderen Teil desSuchbaumes wird diese partielle Variablenbelegung, da sie zu keinem Modellfuhren kann, fruhzeitig verhindert.

An welcher Stelle des Entscheidungsbaums nach Auftreten des Konfliktsdie Berechnung weitergefuhrt werden soll, wird mittels Backtracking, bzw.Backjumping entschieden. Da diese Techniken allerdings im weiteren Verlaufder Arbeit keine Rolle spielen, gehen wir hier nicht weiter darauf ein.

2.3.3 Preprocessing

Wie wir im weiteren Verlauf der Arbeit sehen werden, kann man nur durchBetrachten der Instanzgroße keine Aussage daruber treffen, wie lange der SAT-Solver benotigen wird, um eine Losung zu finden. Wir werden Instanzen ken-nenlernen, die mit wenigen 10.000 Klauseln auch nach uber zweieinhalb Stun-den nicht gelost werden konnen. Andere Instanzen wiederum, die mehrere Mil-lionen Klauseln umfassen, konnen in weniger als 1 Minute gelost werden.Nimmt man allerdings die Instanzgroße als Maßstab innerhalb einer festenProblemklasse, so kann man auf Grund der gleichen Kodierung davon ausge-hen, dass Instanzen mit einer hoheren Klauselanzahl eine langere Laufzeit zurBerechnung der Erfullbarkeit in Anspruch nehmen werden.SAT-Instanzen, die Anwendungsprobleme aus der realen Welt darstellen, ent-halten oftmals redundante Informationen, wodurch die Formelgroße anwachst,ohne dass zusatzliche Information in den zusatzlichen Klauseln kodiert ist. MitHilfe von so genannten Preprocessors, die vor dem eigentlichen SAT-Solvingausgefuhrt werden, wird versucht, die Formelgroße durch verschiedene Techni-ken zu reduzieren und somit die Laufzeit des SAT-Solvers zu verkurzen.Grundlegende Techniken, auf die wir in Kapitel 3 noch genauer eingehen, sindneben dem schon erwahnten Propagieren das von Subbarayan und Pradhan

Page 29: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

2.3. SAT-SOLVING 15

entwickelte NiVER [SP04] (non increasing variable elimination resolution)aber auch samtliche Techniken des in MiniSAT integrierten PraprozessorsSatELite [EB05].Beim Entwickeln neuer Techniken muss dabei immer auf eine Ausgewogenheitvon Aufwand und Nutzen geachtet werden. Die cleverste Idee nutzt nichts,wenn der Mehraufwand des Praprozessors die wahrend des SAT-solvens ge-sparte Zeit (um ein vielfaches) ubersteigt. Im Optimalfall benotigt der Prapro-zessor nur wenige Sekunden, verringert die Anzahl in der Formel enthaltenerKlauseln um einen erheblichen Anteil von 25 % oder mehr, damit am Endeeine signifikante Verbesserung der Gesamtlaufzeit erreicht werden kann.

Page 30: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

16 KAPITEL 2. GRUNDLAGEN

Page 31: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 3

Preprocessing

Ein typischer Losungsansatz eines Erfullbarkeitsproblems besteht aus folgen-den drei Schritten:

1. SAT-KodierungDas Problem muss in eine bestimmte Form der Aussagenlogik gebrachtwerden. Diese Form ist oft die konjunktive Normalform. Erfullt eine Va-riablenbelegung eine Formel in CNF, so muss mindestens ein Literal jederKlausel zu true ausgewertet werden.

2. PreprocessingDurch die Anwendung bestimmter Techniken soll die zu bearbeitendeFormel vereinfacht werden, damit der anschließende Schritt zur Losungs-findung eine geringere Zeit in Anspruch nimmt.

3. SAT-SolvingMittels CDCL, lokaler Suche oder look ahead -Techniken wird fur diegegebene Formel der Aussagenlogik eine erfullende Belegung gefunden.CDCL und die look ahead Techniken konnen auch beweisen, dass einesolche Belegung nicht existiert.

Wir beschranken uns in dieser Arbeit darauf, die ersten beiden Schritte desLosungsansatzes zu behandeln. Bevor eine von uns neu entwickelte SAT-Kodierung in Kapitel 5 vorgestellt wird, thematisieren wir zunachst einigeTechniken des Preprocessing.Als Grundlage fur unsere Arbeit verwenden wir den in dem SAT-Solver Mini-SAT [ES03] integrierten Preprocessor SatELite [EB05]. Nachdem die von ihmimplementierten Techniken erlautert wurden, erweitern wir den Preprocessorund analysieren die Effektivitat der einzelnen Techniken in verschiedenen Kom-binationen.

17

Page 32: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

18 KAPITEL 3. PREPROCESSING

3.1 Motivation

SAT-Instanzen, die Probleme aus der realen Welt kodieren weisen oftmalsandere Strukturen als zufallig oder von Hand erstellte Instanzen auf. SolcheStrukturen konnen unter Anderem Backbones [DD01], Backdoors [WGS03],Aquivalenzen [Lib02] oder funktionale Abhangigkeiten [LJHM07] sein.Im Allgemeinen scheinen viele SAT-Instanzen redundante Informationenzu besitzen. Diese Klauseln konnen ohne Einfluss auf die Erfullbarkeit derInstanz entfernt werden. Es entstehen erfullbarkeitsaquivalente Probleme,die aber moglicherweise einfacher zu losen sind. Da der Test auf Vorhanden-sein redundanter Information ebenfalls NP-vollstandig ist [Lib02], konnenentsprechende Techniken nur unvollstandig sein, wenn sie in Polynomzeitberechenbar sind.Obwohl man davon ausgeht, dass das Entfernen redundanter Informa-tion zu einer Verbesserung der Laufzeit fuhrt, gibt es Falle (vergleiche[WS02][KRA+01]), bei denen solche Informationen dem SAT-Solver bei derlokalen Suche helfen aus lokalen Minima zu entkommen.

Die Erstellung von SAT-Instanzen in konjunktiver Normalform erfolgt oftdurch Umwandlung von aussagenlogischen Formeln, die in einer anderen Formvorliegen. Um dabei das mogliche exponentielle Wachstum der Formel durchAnwenden des Distributivgesetzes zu vermeiden, entwickelte Tseitin 1968[Tse68] die nach ihm benannte Transformation einer beliebigen Formel derAussagenlogik in konjunktive Normalform.Die Idee der Tseitin-Transformation ist, fur jede Subformel eine neue Va-riable einzufugen, die den Wahrheitswert dieser Subformel darstellt. MittelsAxiomen wird die korrekte Variablenbelegung der neuen Variable sichergestellt.Beispiele fur neu eingefugte Variablen x und assoziierte Subformeln sind:

Negation

x↔ y ⇔ (x→ y) ∧ (y → x)

⇔ (x ∨ y) ∧ (x ∨ y)

Disjunktion

x↔ (y ∨ z) ⇔ (y → x) ∧ (z → x) ∧ (x→ (y ∨ z))

⇔ (y ∨ x) ∧ (z ∨ x) ∧ (x ∨ y ∨ z)

Konjunktion

x↔ (y ∧ z) ⇔ (x→ y) ∧ (x→ z) ∧ ((y ∧ z)→ x)

⇔ (x ∨ y) ∧ (x ∨ z) ∧ ((y ∧ z) ∨ x)

⇔ (x ∨ y) ∧ (x ∨ z) ∧ (y ∨ z ∨ x)

Page 33: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.2. SATELITE 19

Durch Anwenden der Transformation wird das moglicherweise exponentielleWachstum der Formel auf Kosten neuer Variablen vermieden. Das Ergebnisder Transformation, eine Formel in CNF, ist erfullbarkeitsaquivalent zurAusgangsformel. Durch die zusatzlichen Variablen ist die neue Formel abernicht aquivalent zur Ausgangsformel.Die hinzugefugten Variablen vergroßern den von dem SAT-Solver zu testendenSuchraum und beeinflussen damit auch die Laufzeit.

3.2 SatELite

Der Preprocessor SatELite wurde 2005 von Niklas Een und Armin Biere ent-wickelt [EB05]. Neben der Verwendung bereits bestehender Techniken, z.B.von NiVER [SP04] und [Bie04], entwickelten die Autoren neue Moglichkeitenzur Simplifizierung von SAT-Instanzen.Im Folgenden sollen nun die umgesetzten Ideen und Implementierungen vonSatELite vorgestellt und erlautert werden. Als Grundlage wahlen wir hier dieImplementierung aus dem Jahr 2005, da dort die in [EB05] veroffentlichtenTechniken komplett vorhanden sind. Die Veranderungen in spateren Versionendes Preprocessors werden am Ende des Abschnitts behandelt.

3.2.1 Datenstrukturen

Auf eine genaue Beschreibung der zugrundeliegenden Klassenstruktur soll hierverzichtet und lediglich die fur die folgenden Betrachtungen benutzten Eigen-schaften vorgestellt werden:

• Jede Variable und die dazugehorigen Literale bekommen eine eindeutigeID > 0. Die ID eines Literals l berechnet sich als ID der dazugehori-gen Variable * 2. Sollte das Literal negativer Polaritat sein, wird die IDzusatzlich noch um 1 inkrementiert.

• Wir fuhren außerdem noch fur jede Klausel der Formel eine eindeutige ID> 0 ein. Wird eine Klausel wahrend der Berechnung des Preprocessorsaus der Formel entfernt, wird die ID auf 0 gesetzt. Inaktive Klauselnkonnen so anhand ihrer ID identifiziert werden.

Weitere Strukturen, die von SatELite verwendet werden und die effiziente Im-plementierung der Simplifizierungsmethoden ermoglichen, sind:

SignaturDie Signatur abstrahiert die in einer Klausel vorkommenden Literale ubereine Hash-Funktion h, die jedem Literal eine naturliche Zahl zuweist.

Page 34: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

20 KAPITEL 3. PREPROCESSING

Der Bereich der Zielwerte der Hash-Funktion hangt von der verwendetenArchitektur ab. Da wir eine 32 Bit-Signatur benutzen, werden die Literaleauf die Zahlen [0 . . . 31] abgebildet.Die Signatur einer Klausel Ci = (lj, . . . , lk) wird dann als bitweises ORvon 2h(lx)∀lx ∈ Ci berechnet. Da jedes Literal uber eine eindeutige IDverfugt, benutzen wir als Hash-Funktion h(l) = l.ID% 32.

Occurrence-ListenFur jedes Literal l speichern wir Referenzen auf Klauseln Ci der zu be-arbeitenden Formel F fur die gilt: l ∈ Ci ∀Ci ∈ F .

Listen, die auf veranderte Elemente der Formel verweisenDie einzelnen Simplifizierungsmethoden, die miteinander interagieren,sollen solange ausgefuhrt werden, bis keine weiteren Veranderungen derFormel auftreten. Die Interaktion der Simplifizierungsmethoden fuhrt da-zu, dass nachdem eine Klausel aus der Formel geloscht wurde, nun even-tuell die Variableneliminierung oder andere Simplifizierungen anwendbarsind. Aus diesem Grund werden in verschiedenen Listen die in der For-mel veranderten Klauseln und Variablen gespeichert, um den Suchraumin der nachsten Iteration an Simplifizierungen nur auf die verandertenBereiche der Formel einzuschranken.Unveranderte Bereiche der Formel konnen, da sie zuvor schon gete-stet wurden, nicht weiter vereinfacht werden und mussen daher in dernachsten Iteration der Simplifizierungen nicht betrachtet werden.

Touched-Menge (Menge von Variablen)Eine Variable wird zu dieser Menge hinzugefugt, wenn sie sich ineiner Klausel befindet, die durch den Preprocessor geloscht, hinzu-gefugt oder gestarkt wurde. Zu Beginn der Simplifizierung sind alleVariablen der Formel in dieser Menge vorhanden.

Added-Menge (Menge von Klauseln)Wenn eine Klausel durch Eliminierung einer Variablen in die Formeleingefugt wurde, so wird sie zu dieser Menge hinzugefugt. Zu Beginnder Simplifizierung werden alle Klauseln als added aufgefasst.

Strengthened-Menge (Menge von Klauseln)Wird ein Literal aus einer Klausel entfernt (z.B. durch Unit Pro-pagation), so wird die Klausel in die Menge eingefugt. Zu Beginnder ersten Iteration ist diese Menge leer.

Sind alle diese Mengen leer, so sind in der vergangenen Iteration keineweiteren Veranderungen an der Formel vorgenommen worden. Die Sim-plifizierung wird abgebrochen.

Page 35: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.2. SATELITE 21

3.2.2 Unit Propagation

Wahrend des Preprocessing wird nur die sogenannte top-level Unit Propa-gation durchgefuhrt. Das heißt, sollte im Verlauf der Vereinfacherungen eineKlausel Ci der Formel nur noch ein Literal l aufweisen, so wird dieses auf denWahrheitswert gesetzt, der die Klausel Ci erfullt. Die Formel wird dann wie inAbschnitt 2.3.1 vorgestellt entsprechend bearbeitet.

3.2.3 Subsumierung

Durch Anwendung der noch einzufuhrenden Clause Distribution wahrendder Variableneliminierung entstehen viele subsumierte Klauseln [Bie04]. EineKlausel C1 subsumiert eine Klausel C2 falls C1 ⊆ C2. Die subsumierte KlauselC2 ist redundant und kann aus der SAT-Instanz entfernt werden.Die in Algorithmus 2 dargestellte Methode identifiziert die von C subsumiertenKlauseln.

Algorithmus 2 Bestimmung der von C subsumierten Klauseln

Eingabe: C - eine Klausel ∈ F .Ausgabe: result - Menge der von C subsumierten Klauseln.

1: Literal l = Literal aus C mit kurzester Occurrence-Liste2: for all C’ ∈ occur(l) do3: if C.id 6= C’.id then4: if |C| <= |C’| then5: if (C.signature & ∼ C’.signature) = 0 then6: if C ⊆ C’ then7: result += C’;8: return result

Die verschiedenen IF-Abfragen filtern nach und nach Klauseln heraus, die nichtsubsumiert werden konnen. In Zeile 4 werden die Klauseln C ′ herausgefiltert,die kleiner sind als C. Da C aber eine Teilmenge von C ′ sein muss, gilt auch|C| ≤ |C ′|.In Zeile 5 benutzen wir das bitweise UND, dargestellt durch &, sowie die bit-weise Negation, dargestellt durch ∼. Anhand der Signaturen werden hier dieKlauseln C ′ herausgefiltert, die nicht von C subsumiert sein konnen. Ange-nommen, die in der Klausel C enthaltenen Literale besitzen die IDs {1, 6, 10}und seien {3, 6, 10} die IDs der Literale ∈ C ′. Sei ferner die Signatur eine 8 Bit-Zahl fur die in einer Klausel C enthaltenen Literale, gebildet durch bitweisesOR von 2l.ID%8∀l ∈ C. Dann ergibt sich:

C.signature: 01000110

C’.signature: 01001100

Page 36: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

22 KAPITEL 3. PREPROCESSING

Der Test aus Zeile 5 liefert somit false, wenn es ein Bit in der Signatur von Cgibt, dass nicht in der Signatur von C ′ gesetzt ist. Die Klausel C besitzt dannein Literal, dessen Hash-Wert mit keinem Literal aus der Klausel C ′ uberein-stimmt. Somit kann C keine Teilmenge von C ′ sein, und wir konnen uns denin Zeile 6 angewandten Test auf Teilmengeneigenschaft sparen.Dieser Test auf Teilmengeneigenschaft uberpruft, ob jedes Literal l ∈ C auchin C’ vorkommt. Sollte dies fur ein Literal li nicht eintreten, so kann zu die-sem Zeitpunkt false zuruckgegeben werden. Um diesen aufwendigen Test inmoglichst kurzer Zeit durchfuhren zu konnen, haben wir uns dazu entschlos-sen alle Literale einer Klausel gemaß ihrer ID aufsteigend zu sortieren. DerTest benotigt so die Laufzeit O(n+m) mit n = |C ′| und m = |C|.

3.2.4 Selbst-Subsumierung

Eine weitere Beobachtung der Autoren von SatELite war, dass folgender Falloft eintrat:Eine Klausel C1 subsumiert beinahe die Klausel C2, mit der Ausnahme, dassein Literal aus C1 in der anderen Polaritat in C2 vorkommt.Sei zum Beispiel C1 = (x, a, b) und C2 = (x, a), so wurde die Resolution vonx die Klausel C ′1 = (a, b) ergeben. Diese Klausel subsumiert C1. Man konntealso nachdem man C ′1 zur Formel hinzugefugt hat C1 loschen, bzw. das Literalx aus C1 entfernen. Wir sagen C1 wird gestarkt durch Selbst-Subsumierungunter Verwendung von C2.Der Algorithmus 3 setzt diese Idee um.

Algorithmus 3 Identifikation der von C mittels Selbst-Subsumierung zustarkenden Klauseln

Eingabe: C - eine Klausel ∈ F .

1: for all Literal l ∈ C do2: C.flipLiteral(l);3: sub = findSubsumed(C);4: for all C ′ ∈ sub do5: C ′ = C ′ \ l;6: C.flipLiteralBack(l);

In Zeile 2 wird die Klausel einschließlich ihrer Signatur so verandert, dass an-statt dem Literal l nun l in der Klausel C vorkommt. Dieser Schritt wird inZeile 6 wieder ruckgangig gemacht, um die Ausgangssituation wiederherzustel-len.Die durch die veranderte Klausel C subsumierten Klauseln sub werden in Zeile5 gestarkt. Das geflippte Literal l wird aus allen in der Menge sub enthaltenenKlauseln C ′ entfernt.

Page 37: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.2. SATELITE 23

3.2.5 Variableneliminierung

Die Variableneliminierung erfolgt in SatELite entweder durch Resolution,wie in NiVER [SP04] beschrieben, oder mit Hilfe einer Methode, die soge-nannte Definitionen von Variablen entdeckt.

ResolutionSeien C1 = {x, a1, a2, . . . , an} und C2 = {x, b1, b2, . . . , bm} zwei Klauseln.Die implizierte Klausel C = {a1, a2, . . . , an, b1, b2, . . . b,} ist das Ergebnisder Resolution der Klauseln C1 und C2 mit Hilfe der Variable x.Wir schreiben C = C1 ⊗ C2.Diese Definition kann auch auf eine Menge von Klauseln erweitert wer-den:Sei Sx die Menge an Klauseln, die das Literal x enthalten und Sx ent-sprechend die Klauseln, die das Literal x enthalten. Dann ist Sx ⊗ Sxdefiniert als

Sx ⊗ Sx = {C1 ⊗ C2|∀C1 ∈ Sx, C2 ∈ Sx}

Das Anwenden der Resolution auf alle Klauseln von Sx und Sx ermoglicht esuns, die Variable x fur den weiteren Verlauf der Berechnung zu eliminieren.So werden |Sx| + |Sx| Klauseln aus der Formel entfernt, gleichzeitig aberauch |Sx| ∗ |Sx| neue Klauseln erstellt. In vielen Fallen ist ein Großteil derneuen Klauseln redundant. Diese Klauseln konnen dann aus der Menge derhinzuzufugenden Klauseln entfernt werden.NiVER fuhrt die Resolution einer bestimmten Variable dann durch, wenndie entstehende Formel in der Summe kleiner ist als vorher. Die Anzahl anLiteralen in den neuen Klauseln muss also ≤ der Anzahl an Literalen inSx ∪ Sx sein.In dem Preprocessor SatELite wird dieses Kriterium ein wenig abgeandert.Sollte die Anzahl an erstellten Klauseln geringer sein als |Sx| + |Sx|, so wirddie Resolution der Variablen x durchgefuhrt.In unserer Implementierung testen wir daruberhinaus welche Ergebnisseerzielt werden, falls die Resolution der Variable x dann durchgefuhrt wird,wenn die durschnittliche Klauselgroße von Sx ⊗ Sx nicht großer ist als inSx ∪ Sx. Die Gesamtanzahl an Klauseln kann in der Formel zunehmen,aber es werden nur kleine Klauseln hinzugefugt. Mit dem Wissen, dass dasErfullbarkeitsproblem in polynomieller Zeit losbar ist, wenn alle Klauselnder Formel maximal zwei Literale besitzen, erhoffen wir uns durch diesesKriterium eine verkurzte Laufzeit des Losungsprozesses.

Eine weitere Moglichkeit der Variableneliminierung wurde von SatELite aufGrund des Wissens entwickelt, dass durch die Verwendung der Tseitin-

Page 38: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

24 KAPITEL 3. PREPROCESSING

Transformation zur Generierung einer CNF funktionale Abhangigkeiten zwi-schen einzelnen Variablen bestehen. Wenn zum Beispiel die folgenden dreiKlauseln

(x, a, b) , (x, a) , (x, b)

Bestandteil einer Formel sind, dann lasst sich dort die folgende funktionaleAbhangigkeit von x ableiten:

x = (a ∧ b)

Diese funktionale Abhangigkeit spiegelt die in Abschnitt 3.1 dargestellteTseitin-Transformation wieder. Aus diesem Grund wird sie im Folgenden alsDefinition von x bezeichnet. Besitzt die Variable x eine Definition und wirduber Resolution eliminiert, so entstehen viele redundante Klauseln, die mitHilfe der Definition entfernt werden konnen. Fur den ausfuhrlichen Beweis desfolgenden Theorems verweisen wir auf [EB05].

Definitions-ResolutionSei G die Menge an Klauseln, die zur Ableitung der Definition der Varia-blen x benotigt wurden. Weiterhin sei Sx eine Teilmenge von S, die alleKlauseln umfasst, in denen x in positiver Polaritat vorkommt. Gx undGx werden analog definiert. Dann kann die Menge S aller Klauseln mitx bzw x partitioniert werden in S ≡ G ∪ R. R sind somit die Klauseln,die nicht zur Ableitung der Definition benutzt wurden.Durch S = (Rx ∪ Gx) ∪ (Rx ∪ Gx) folgt, dass die Menge S ′ aller durchResolution entstehender Klauseln wiederum partitioniert werden kann inS ′ = S ′′ ∪G′ ∪R′ mit

S ′′ = (Rx ⊗Gx) ∪ (Gx ⊗Rx)

G′ = (Gx ⊗Gx)

R′ = (Rx ⊗Rx)

S ′′ impliziert G′ und R′. Somit kann S ′ durch S ′′ ersetzt werden.

3.2.6 top-level Simplifizierungsmethode

Alle vorgestellten Techniken werden in der in Algorithmus 4 dargestellten Me-thode nacheinander aufgerufen, bis keine Veranderung an der Formel mehrvorgenommen werden kann.

Falls in selfSubsume(C) Klauseln entstehen, die nur noch ein Literal besitzen,wird Unit Propagation ausgefuhrt. Die Menge Strengthened wird eventuellerweitert. Die Methode subsume(C) identifiziert die von der Klausel Csubsumierten Klauseln und entfernt sie aus der Formel.

Page 39: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.2. SATELITE 25

Algorithmus 4 top-level Simplifizierungsmethode

Eingabe: F - eine aussagenlogische Formel in CNF.Ausgabe: F ′ - die Simplifizierung der Formel F

1: repeat2: S0 = {Menge an Klauseln, die mind. ein Literal mit Klauseln aus

Added gemeinsam haben}3: repeat4: S1 = {Menge an Klauseln, die mind. ein Literal, das in den Klau-

seln Added in anderer Polaritat vorkommt, besitzen}5: S1 = S1∪ Added ∪ Strengthened6: S0 = S0∪ Added ∪ Strengthened7: Added = ∅ , Strengthened = ∅8: for all C ∈ S1 do9: selfSubsume(C)

10: until Strengthened == ∅11: for all C ∈ S0 do12: subsume(C)13: repeat14: S = Touched15: for all x ∈ S do16: maybeEliminate(x)17: until Touched == ∅18: until Added == ∅

Die in Zeile 16 verwendete Methode mayEliminate(x) uberpruft, ob die Varia-ble x eine Definition besitzt und versucht diese mittels (Definitions-)Resolutionzu entfernen.In der Hauptschleife werden zwei verschiedene Mengen berechnet: S0 enthalteine Menge von Klauseln, die Kandidaten fur den Subsumierungs-Test sind,S1 enthalt die Kandidaten fur die Selbst-Subsumierung. Letzteres wirdzuerst ausgefuhrt, da durch Starkung von Klauseln neue Moglichkeiten derSubsumierung entstehen konnen. Die durch Selbst-Subsumierung gestarktenKlauseln werden zu der Menge Added hinzugefugt.

Alle zu der Formel hinzugefugten Klauseln mussen getestet werden, ob sieeventuell subsumiert werden. Da fur die Teilmengeneigenschaft C ⊆ C ′ aberzwingend erforderlich ist, dass C und C ′ mindestens ein gemeinsames Literalbesitzen, wird die Menge S0 wie in Zeile 2 angegeben erstellt. Zusatzlich werdenin Zeile 6 die Klauseln zu S0 hinzugefugt, die durch Selbst-Subsumierung oderUnit Propagation Literale verloren haben. Diese veranderten Klauseln konnennun weitere Klauseln subsumieren, da sie in ihrer Große abgenommen haben.

Page 40: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

26 KAPITEL 3. PREPROCESSING

Das Erstellen der Menge S1 erfolgt in Zeile 4 aus ahnlichem Grund. Damit diehinzugefugten Klauseln durch Selbst-Subsumierung gestarkt werden konnen,muss mindestens ein Literal in anderer Polaritat in den subsumierenden Klau-seln auftreten. Die Klauseln, die durch Selbst-Subsumierung oder Unit Propa-gation Literale verloren haben, werden in Zeile 5 zu S1 hinzugefugt. Durch dieverringerte Große konnen sie ihrerseits eventuell weitere Klauseln starken.

3.2.7 Veranderungen in der SatELite-Version von 2007

Neben einigen strukturellen Veranderungen, so halten die Occurrence-Listenz.B. nun fur jede Variable anstatt fur jedes Literal eine Liste von Klauseln,liegt die großte Veranderung darin, dass die Moglichkeit Variablen uber dieDefinitions-Resolution zu eliminieren nicht mehr vorhanden ist.Wir werden in Kapitel 4 sehen, dass diese Technik keinen Einfluss auf dieGroße der Instanz und somit auch keinen Einfluss auf die zur Berechnungeiner Losung benotigte Laufzeit des SAT-Solvers hat.

3.3 Selbst-Subsumierung mit Binarresolution

Jede Binarklausel (x, y) enthalt die Information zweier Implikationen. Um dieFormel zu erfullen, wissen wir, dass x → y und y → x gilt. Wenn also eineder beiden Literale zu false ausgewertet wird, muss das andere Literal zu trueausgewertet werden, damit die Formel erfullbar sein kann.Aus dieser Beobachtung heraus ergibt sich, dass in der Klausel C1 = (x, a, b)das Literal x ausgetauscht werden kann durch das Literal y, sollte dieBinarklausel B1 = (x, y) ebenfalls in der Formel enthalten sein. Die entste-hende Klausel C ′1 = (y, a, b) ware dann das Resultat der Resolution C1 ⊗ B1.Da B1 in diesem Fall eine Binarklausel ist, bezeichnen wir diesen Schritt auchals Binarresolution.Unsere Idee besteht darin, die Selbst-Subsumierung um die Binarresolution zuerweitern. Sei z.B. C1 = (x, a, b) und C2 = (x, c), so ware fur dieses Beispiel dieStarkung der Klausel C1 durch Selbst-Subsumierung unter Verwendung derKlausel C2 nicht moglich. Befindet sich neben den bereits erwahnten KlauselnC1 und C2 auch noch die Klausel C3 = (c, a) in der Formel F , so ergabeC2⊗C3 die Klausel C4 = (x, a). Mit dieser Klausel ist die Selbst-Subsumierungvon C1 nun moglich geworden. Um die Starkung der Klausel C1 unabhangigvon der vorher ausgefuhren Resolution ausfuhren zu konnen entwickelten wirdie Selbst-Subsumierung mit Binarresolution.

Folgende Veranderungen im Vergleich zur bestehenden Methode aus Algorith-mus 3 mussen vorgenommen werden:Die Signaturen der Klauseln C und C1 konnen nicht mehr verwendet werden

Page 41: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.3. SELBST-SUBSUMIERUNG MIT BINARRESOLUTION 27

um festzustellen, dass C1 nicht gestarkt werden kann. Eine Klausel C darfnun Literale li besitzen, die nicht in C1 vorkommen, wenn diese li mittelsBinarresolution ersetzt werden konnen. Aus diesem Grund muss der Teil-mengentest auch dahingehend verandert werden, dass sobald ein Literal inC gefunden wurde, welches /∈ C1, nicht sofort abgebrochen wird. Nun mussuberpruft werden, ob dieses Literal gegen ein Literal aus C1 getauscht werdenkann. Ist dies moglich, so wird der Teilmengentest fortgefuhrt. Andernfallskann C1 nicht gestarkt werden, der Teilmengentest bricht ab.

Maßgeblich fur die Anzahl der zusatzlich gestarkten Klauseln durch dieBinarresolution ist die Anzahl an Implikationen bzw. moglichen Austausch-kandidaten fur ein Literal.Die oben beschriebene Moglichkeit, uber die Binarklauseln diese Kandidatenzu identifizieren, liefert durch den hohen Anteil an Binarklauseln in einer SAT-Instanz schon gute Ergebnisse. Eine weitere Moglichkeit besteht darin, durchein Verfahren, das Probing genannt wird, weitere Implikationen zu identifie-zieren.Als Probing bezeichnet man das Propagieren einzelner Variablenbelegungender Große 1 bis keine neuen Unit-Klauseln auftreten. Fur die Klauselmenge

(a, b, c) , (b, d) , (c, d)

wurde die Variablenbelegung d = true in der ersten Propagation ergeben, dassb = true und c = true sein mussen. Diese Implikationen d → b und d → classen sich noch aus den Binarklauseln ableiten. Durch das Propagieren derbeiden neuen Variablenbelegungen wird zusatzlich festgestellt, dass a = falsegilt. Die Implikation d → a wurde gefolgert. Diese zusatzliche Implikationermoglicht eine hohere Anzahl an durch Binarresolution gestarkten Klauseln,erfordert aber einen hohen Berechnungsaufwand. Jede mogliche Belegung ei-ner Variable muss solange propagiert werden, bis keine neuen Unit-Klauselnentstehen.Wir werden in Kapitel 4 sehen, dass die Verwendung der Binarresolution beider Selbst-Subsumierung zu keiner Verbesserung der Effektivitat des Prepro-cessors fuhrt. Verwendet man nur die Binarklauseln zur Identifikation der Im-plikationen, verringert sich die Instanzgroße nur gering. Will man alle mogli-chen Implikationen uber das Probing identifizieren, so bedeutet dies zwar einehohere Anzahl an gestarkten Klauseln, aber auch einen erhohten Laufzeit-aufwand beim Preprocessing, der in keinem Verhaltnis zu der zusatzlichenSimplifizierung der Instanz steht.

Page 42: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

28 KAPITEL 3. PREPROCESSING

3.4 Eliminierung geblockter Klauseln

Das im Folgenden vorgestellte Konzept der Entfernung von geblockten Klauselnwurde bereits 2002 von Ostrowski et al. [OGS02] veroffentlich. Armin Biereet al. entwickelten diese Idee 2010 weiter und stellten erstmals die Beziehungzwischen geblockten Klauseln, anderen Simplifikationen und CNF-Kodierungen[JBH10] dar. Wir definieren

Blockierendes LiteralSei x ein Literal in der Klausel C. Sei ferner C eine Klausel der Aussa-genlogischen Formel F in konjunktiver Normalform und Fx die Mengean Klauseln aus F , die das Literal x enthalten. Dann blockt x die Klau-sel C, wenn ∀C ′ ∈ Fx gilt: das Resultat der Resolution C ⊗ C ′ ist eineTautologie.

und

Geblockte KlauselC ist eine geblockte Klausel, wenn es ein Literal x besitzt, das die KlauselC blockt.

entsprechend [JBH10].Geblockte Klauseln konnen aus der Formel entfernt werden, die (Un-)Erfull-barkeit bleibt dadurch erhalten. Fur den Beweis dieser Aussage verweisen wirauf [Kul99].Sei zum Beispiel

Fblock = (a, b) ∧ (a, b, c) ∧ (a, c)

eine Formel in CNF. Nur die erste Klausel in der Formel Fblock ist nichtgeblockt. In der zweiten Klausel sind die Literale a und c blockierend, diedritte Klausel wird durch das Literal c geblockt.

Die Idee der Eliminierung von geblockten Klauseln setzten wir wie in Algo-rithmus 5 um.

Die in dem Algorithmus 5 verwendeten Methoden sind:

• MAX.Lit gibt das Literal mit der maximalen ID ∈ F zuruck, MIN.Litentsprechend das Literal mit der kleinsten ID eines Literals ∈ F .

• Die Methode flip() gibt das Literal in der anderen Polaritat zuruck.

• occur(x) liefert die Occurrence-Liste fur das Literal x.

• isTautology(Clause C) uberpruft, ob die Klausel C eine Tautologie ist.

Page 43: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.4. ELIMINIERUNG GEBLOCKTER KLAUSELN 29

Algorithmus 5 Eliminierung geblockter Klauseln

Eingabe: F - eine aussagenlogische Formel in CNF.Ausgabe: F ′ - die Formel F ohne geblockte Klauseln

1: lastLit = MAX.Lit;2: currentLit = MIN.Lit;3: repeat4: for all Clause C ∈ occur(currentLit) do5: blocked = true;6: for all Clause C ′ ∈ occur(currentLit.flip()) do7: if isTautology(C ⊗ C ′) == false then8: blocked = false;9: break;

10: if blocked then11: lastLit = currentLit;12: F = F \ C13: if currentLit == MAX.Lit then14: currentLit = MIN.Lit15: else16: currentLit++;17: until currentLit == lastLit

Wir uberprufen in dieser Methode fur jede Klausel C, in der das currentLitvorkommt, ob sie geblockt wird. Ist dies der Fall, so entfernen wir die Klauselaus der Formel F und speichern uns, dass bei der Uberprufung von currentLitdie letzte geblockte Klausel gefunden wurde.Wurden fur currentLit alle Klauseln C getestet, fahren wir mit dem nachstenmoglichen Literal fort. Die Methode bricht ab, sobald fur kein Literal neuegeblockte Klauseln gefunden werden konnen.

Biere et al. entfernen alle geblockten Klauseln aus der Formel und begrundendies mit der Menge an eingesparten Klauseln und kurzerer Berechnungszeit.Gleichzeitig haben sie in [JBH10] geschildert, dass fur einige unerfullbareSAT-Instanzen die geblockten Klauseln zum Beweis der Unerfullbarkeit durchResolution und Clause Learning des SAT-Solvers beitragen. Es sei in diesenInstanzen sogar hilfreich, neue geblockte Klauseln zur Instanz hinzuzufugen.

Dies motiviert uns zu folgenden Analysen:Welchen Unterschied beobachten wir, wenn die entfernten geblockten Klauselnnach der Simplifizierung wieder eingefugt werden? In diesem Schritt werdennur die Klauseln wieder eingefugt, die keine durch Resolution entferntenVariablen besitzen.

Page 44: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

30 KAPITEL 3. PREPROCESSING

Zusatzlich werden wir untersuchen, welche Auswirkungen das Hinzufugen vongeblockten Klauseln auf die Laufzeit des SAT-Solvers hat. Nach der in [Kul99]geschilderten Theorie soll sich die Laufzeit fur bestimmte unerfullbare Instan-zen verbessern.

3.5 Literals Blocks Distance

Durch die im SAT-Solving verbreitete Technik des CDCL werden neue Klau-seln, die sich aus entdeckten Konflikten generieren, zu der Formel hinzugefugt,um so wahrend des Losungsprozesses gewonnene Informationen weiterverwen-den zu konnen. Da der fur den Losungsprozess zur Verfugung stehende Spei-cherplatz begrenzt ist, der SAT-Solver aber standig neue Informationen ge-winnt und diese in Form von Klauseln der Formel hinzufugen mochte, gelangtman schnell an einen Punkt, wo bereits gelernte Klauseln wieder aus der For-mel geloscht werden mussen.Verschiedene Heuristiken, z.B. anhand der Aktivitatswerte der in einer Klauselvorhandenen Literale zu entscheiden, welche Klausel geloscht werden konnen,sind in der Literatur bekannt. Audemard und Simon entwickelten 2009 dieunter Literals Blocks Distance [AS09] bekannte Heuristik, die eine Klausel fol-gendermaßen bewertet:

Literals Blocks Distance (LBD)Gegeben eine Klausel C. Dann kann die Menge der in C vorkommendenLiterale entsprechend ihrem Entscheidungslevel in verschiedene Teilmen-gen SC = {S1, S2, . . . , Sn} partitioniert werden. Die Anzahl dieser Mengewird als Literals Blocks Distance bezeichnet: LBD(C) = |SC | = n.

Die Autoren zeigten an Hand verschiedener Untersuchungen, dass die Bewer-tung einer gelernten Klausel mit Hilfe des LBD-Wertes zu signifikant besserenErgebnissen im Vergleich zu den Bewertungen durch den Aktivitatswert fuhrt[AS09].In Verbindung mit der Information, dass zusatzlich erstellte geblockte Klauselnzumindest fur unerfullbare Instanzen einen Zuwachs der Instanzgroße durch ei-ne verkurzte Laufzeit rechtfertigen sollen, ergibt sich die folgende Frage:Haben zusatzlich erstellte geblockte Klauseln mit einem geringen LBD, diewahrend des Preprocessings zu der Formel hinzugefugt werden, auch einen po-sitiven Einfluss auf den Losungsprozess?Da wahrend des Preprocessings keine Entscheidungen uber Variablenbelegun-gen getroffen werden, musste das Konzept des LBD-Wertes angepasst werden.Die bereits bei der Binarresolution vorgestellte Methode des Probing fand auchhier ihre Anwendung, um die Zahl der identifizierten Implikationen zu erhohen.

Page 45: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

3.5. LITERALS BLOCKS DISTANCE 31

Seien a =false , b =true , c =true, die Variablenbelegungen, die durch das Pro-bing von x = true auftreten. Wir schreiben x → {a, b, c}. Sei daruberhinausy → {b, c, d} gegeben. Dann ergeben sich folgende Literals Blocks Distances :

C1 = (a, c) ⇒ LBD(C1) = 1

C2 = (b, c) ⇒ LBD(C2) = 1

C3 = (a, c, d) ⇒ LBD(C3) = 2

Wahrend C1 und C2 jeweils aus einer Entscheidung heraus resultieren, kannC3 bezuglich des Entscheidungslevels nur in mindestens zwei Partitionenzerteilt werden, da a nur aus x folgt und d aus y.Bei großen Instanzen mit einer hohen Anzahl Variablen fuhrt das Probingschnell zu einer sehr langen Berechnungszeit und hohem Speicherverbrauch.Um den benutzten Speicher zu reduzieren, entschieden wir uns den LBD-Werteiner Klausel abzuschatzen. Die durch das Propagieren entdeckten Implikatio-nen werden dazu in einer Datenstruktur, die Zusammenhangskomponenten desImplikationsgraphen darstellen, gespeichert. Die Anzahl an unterschiedlichenZusammenhangskomponenten, in denen die Literale einer Klausel vorkommen,wird nun verwendet, um den LBD-Wert nach unten abzuschatzen. Das obengenannte Beispiel wurde eine einzige Zusammenhangskomponente liefern,in der alle Literale vorkommen. Somit ist fur jede der drei Klauseln dieAbschatzung des LBD-Wertes jeweils eins.

Die eigentliche Erstellung von geblockten Klauseln erfolgt uber einen Greedy-Algorithmus. Fur jedes Literal als mogliches blockierendes Literal x fugen wirwie in Algorithmus 6 dargestellt ist, das Literal y zu der zu bildenden geblock-ten Klausel hinzu, das in den meisten bisher nicht abgedeckten Klauseln derOccurrence-Liste von x vorkommt (Zeile 6). Dies wird solange fortgefuhrt, bisalle Klauseln abgedeckt sind (Zeile 11), keine weiteren Literale hinzugefugtwerden konnen (Zeile 7) oder die erstellte Klausel uber einen bestimmten ab-geschatzten LBD-Wert kommt (Zeile 5).Die Anzahl der maximal erstellten Klauseln ist hier beschrankt durch die An-zahl an unterschiedlichen Variablen in der Formel F , da fur jedes Literal ma-ximal eine geblockte Klausel hinzugefugt wird.

Page 46: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

32 KAPITEL 3. PREPROCESSING

Algorithmus 6 Erstellung geblockter Klauseln

Eingabe: F - eine aussagenlogische Formel in CNF.Eingabe: x - maximaler LBD-Wert einer hinzugefugten KlauselAusgabe: F ′ - die Formel F mit zusatzlichen geblockten Klauseln

1: F ′ = F ;2: for all Literal l ∈ F do3: Clause C = {l};4: blocked = false;5: while LBD(C) ≤ x do6: Literal y = inMostUncoveredClausesOfOccur(C, l)7: if y ==NULL then8: break;9: else

10: C = C + y;11: if C.isBlocked() then12: blocked = true;13: break;14: if blocked && LBD(C) ≤ x then15: F ′ = F ′ + C;

Eine bestehende geblockte Klausel kann durch das Hinzufugen weiterer Lite-rale beliebig vergroßert werden. Da die Klausel bereits blockiert ist verandertsich diese Eigenschaft nicht. In dieser Arbeit wird die Moglichkeit zur Vergroße-rung einer bereits geblockten Klausel nicht weiter untersucht und ist somit einemogliche Forschungsrichtung in der Zukunft.Eine weitere mogliche Anwendung ist die Verwendung des LBD-Wertes zurBewertung der Klauseln, die wahrend der Resolution einer Variablen hinzu-gefugt werden. So kann zum Beispiel, obwohl das eigentliche Kriterium nichterfullt ist, die Resolution durchgefuhrt werden, da die entstehenden Klauselndurch den LBD-Wert besonders gut bewertet werden.

Page 47: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 4

Ergebnisse

Die in diesem Kapitel beschriebenen Ergebnisse untersuchen die Effektivitatdes von uns entwickelten Preprocessors in Verbindung mit dem von StephanKottler entwickelten SAT-Solver SApperloT [Kot09].Maßgebende Werte fur die Leistung eines Preprocessors sind:

• Wie viele Klauseln / Literale werden durch den Preprocessor aus derFormel entfernt?

• Wird durch den Einsatz des Preprocessors eine vorher unlosbare Instanzgelost?

• Wird durch die zusatzliche Berechnungszeit des Preprocessors diebenotigte Gesamtlaufzeit zum Losen einer Instanz verringert?

Der Testdatensatz an SAT-Problemen umfasst vor allem Instanzen, die in denJahren 2006 bis 2009 als Bewertungsmaßstab im SATRace [sat08] bzw. auf derSATCompetition [sat09] dienten.Wir beschranken uns im Folgenden auf die Instanzen, die industrielle An-wendungen beschreiben. Weitere Moglichkeiten waren zufallig erstellte odervon Hand generierte Instanzen. Diese Klassen weisen eine vollkommen andereStruktur auf und begunstigen somit andere Losungsstrategien, die von unse-rem Preprocessor und dem verwendeten SAT-Solver nicht benutzt werden.2008 wurden erstmals auch Instanzen aus der Bioinformatik im Rahmen desSATRaces als Benchmarks benutzt. Sie gehoren ebenfalls zu den anwendungs-basierten Instanzen, werden von uns im Folgenden aber separat betrachtet. Wirwerden zeigen, dass die von uns erzielten Ergebnisse auf den Bioinformatik-Instanzen andere Eigenschaften aufweisen als die restlichen Anwendungsbei-spiele und motivieren dadurch eventuelle neue Forschungsrichtungen im SAT-Solving.

33

Page 48: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

34 KAPITEL 4. ERGEBNISSE

4.1 Industrielle Instanzen

Der Testdatensatz der industriellen Instanzen umfasst 514 Probleme, die in17 verschiedene Klassen bzw. Familien eingeordnet wurden, um Problemegleichen Ursprungs zusammenzufassen.Die Ergebnisse, die SApperloT ohne vorherige Berechnung des Preprocessorserzielen konnte sind in der Tabelle 4.2 dargestellt. Fur jede Klasse und diein der Klasse enthaltenen n Instanzen sind dort die Anzahl an erfullbaren(#SAT), unerfullbaren (#UNS) und die innerhalb der vorgegebenen Berech-nungszeit von 1200 Sekunden nicht gelosten Instanzen (#UNK) aufgefuhrt.Die durchschnittliche Anzahl an Variablen (average #vars), Klauseln (average#cls) sowie Literalen (average #lits) in den jeweiligen Klassen ist sehrunterschiedlich. Mit durchschnittlich uber 5,2 Millionen Klauseln pro Instanzstellen die Probleme der post-Klasse die großten Instanzen. Der SAT-Solverlost 53 % dieser Instanzen (8 / 15). Die Problemklasse, die von SApperloTam schlechtesten gelost werden kann ist diagnosis. Innerhalb von 1200Sekunden werden fur lediglich 9 der 29 Instanzen Losungen ermittelt. Diedurchschnittliche Instanzgroße dieser Familie betragt mit etwas uber 1Million Klauseln nur ein Bruchteil der durchschnittlichen Instanzgroße derpost-Instanzen.An diesem Beispiel erkennt man, dass die Große von Instanzen unterschied-licher Problemfamilien keinen direkten Einfluss auf die Berechnungszeit bzw.Losbarkeit einer Instanz hat.

Die Tabellen 4.3 bis 4.7 stellen die Ergebnisse verschiedener Testlaufe des SAT-Solvers mit vorheriger Ausfuhrung des Preprocessors dar. Fur jede Klasse anProblemen ist die Anzahl an Instanzen angegeben, fur die eine Simplifizie-rung durchgefuhrt werden konnte (#simp). Instanzen mit mehr als 3 MillionenKlauseln konnen in der verwendeten Version des Preprocessors nicht bearbei-tet werden. Die Zahl in Klammern hinter der Anzahl an erfullbaren (#SAT),unerfullbaren (#UNS) sowie in 20 Minuten nicht gelosten Instanzen (#UNK)gibt die Veranderung in Bezug auf die Ergebnisse, die der SAT-Solver ohnePreprocessor erzielen konnte, an.Abschließend sind in der Tabelle die maßgeblichen Veranderungen in der In-stanzgroße angegeben. Innerhalb der angegeben durchschnittlichen Berech-nungszeit (average RT) konnte der Preprocessor den prozentualen Anteil von

((1− wertneuwertalt

) ∗ 100)

Klauseln (average ∆cls) bzw. Literalen (average ∆lits) aus der Klauselentfernen. Sollten die dort angegebenen Werte negativ sein, so enthalt dieInstanz nach dem Preprocessor-Schritt mehr Klauseln bzw. Literale.

Page 49: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 35

Im Folgenden sollen jeweils die Ergebnisse fur die in Kapitel 3 vorgestelltenSimplifizierungstechniken kurz besprochen werden:

4.1.1 SatELite - Techniken

Mit Hilfe der Subsumierung, Selbst-Subsumierung und Variableneliminierungdurch (Definitions-)Resolution werden insgesamt 27 Instanzen mehr gelost(366 im Vergleich zu vorher 339, vgl. Tabelle 4.3). Die Instanzklassen, dieam meisten von diesen Preprocessing-Techniken profitieren sind crypto,ibm und manol mit 7, 6 und 5 zusatzlich gelosten Instanzen. Die Familiegrieu ist die einzige Klasse, die in der Summe nicht profitiert, durch dasPreprocessing werden 2 Instanzen weniger gelost. Eine ahnliche Beobachtungkonnen wir fur die Klasse anbulagan fuhren. Dort werden zwar 2 Instanzen,die vorher UNSAT waren nicht mehr gelost, dafur im Gegenzug allerdings2 neue Instanen als SAT erkannt. Im Durchschnitt entfernen wir durchdie angesprochenen Techniken nahezu 30 % der Klauseln und 16 % derLiterale. Die einzelnen Problemklassen unterscheiden sich auch in diesenZahlen. Wahrend der Einfluss des Preprocessors bei den Klassen goldb undvelev-vliw sehr gering ist, und sogar mehr Literale nach dem Preprocessingin der Instanz vorkommen, werden 64 % der Klauseln bei manol und bis zu43 % der Literale bei der Problemklasse een entfernt.Die durchschnittliche Laufzeit des Preprocessors liegt mit 11 Sekunden unter1% der maximalen Berechnungszeit aus Preprocessor und SAT-Solver, und istdamit wie erhofft sehr gering.

Wird die Variableneliminierung als mogliche Technik zur Simplifzierung derInstanz ausgeschaltet, so entstehen die in Tabelle 4.4 dargestellten Ergeb-nisse. Nur noch durchschnittlich 4,7 % der Klauseln und 5,1 % der Literalewerden aus der Instanz entfernt. Die besten Ergebnisse liefern dabei dieKlassen anbulagan, diagnosis und simon. Der Großteil der Problemklassenverliert jedoch durch die Durchfuhrung der Subsumierungs- und Selbst-Subsumierungstests nur einen geringen Anteil an Klauseln und Literalen.Daraus begrundet sich auch die verringerte Anzahl an gelosten Instanzen imVergleich zu der Implementierung, in der die Variableneliminierung erlaubtwurde (352 im Vergleich zu 366 gelosten Instanzen).

Die besten Ergebnisse aller Testlaufe mit einem Timeout von 1200 Sekundenlieferte die Option mit nicht erlaubter Variableneliminierung durch Definitions-resolution (Tabelle 4.5). Die Variableneliminierung uber die normale Resoluti-on ist weiterhin erlaubt. Mit Hilfe dieser Implementierung konnten insgesamt379 Instanzen innerhalb der vorgegebenen Zeit gelost werden. Auffallig isthier die Beobachtung, dass durch Verhindern der Definitionsresolution durch-

Page 50: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

36 KAPITEL 4. ERGEBNISSE

schnittlich weniger Klauseln (27,72 % im Vergleich zu 29,23 %) und Literale(15,72 % im Vergleich zu 16,3 %) aus der Instanz entfernt werden, aber dennoch13 zusatzliche Instanzen gelost werden konnen (379 zu 366). Die Laufzeit desPreprocessors betragt im Mittel nur 5 Sekunden weniger (6,37 sec im Vergleichzu 11,49 sec), hat also auf die Gesamtlaufzeit keinen großen Einfluss. Dahervermuten wir, dass die durch Definitionsresolution entfernten Variablen fur denLosungsprozess wichtige Informationen beinhalten. Werden diese Informatio-nen in der Formel aufrecht erhalten, so begunstigt dies den Losungsprozess.Zusatzliches Wissen uber funktionale Abhangigkeiten, die vor allem mit Hilfeder Tseitin-Transformation [Tse68] in die Instanz gelangen, scheinen fur dieBerechnung einer Losung von enormen Wert zu sein.

4.1.2 Resolutionskriterium

Durch Verwenden des Resolutionskriteriums, das durchaus mehr Klauseln er-laubt, solang die durchschnittliche Klauselgroße in der Instanz abnimmt konn-ten 346 Instanzen gelost werden (siehe Tabelle 4.6). Das sind 21 weniger alsmit dem normalen Resolutionskriterium. Unsere Hoffnung, dass durch dasneue Kriterium eher kleinere Klauseln in die Formel eingefugt werden und da-durch die Laufzeit zur Berechnung einer Losung abnimmt, wurde nicht erfullt.Auffallig an diesen Ergebnissen ist vor allem der große Anstieg an Klauselndurch Ausfuhren des Preprocessors bei der Problemklasse anbulagan. Die An-zahl an Klauseln wachst dort im Durchschnitt um das 15-fache der Ausgangs-menge. Der Vorteil, der durch die kurzeren Klauseln erzielt wird, wird durchdie hohe Laufzeit des Preprocessors von mehr als 5 Minuten wieder ausge-glichen. Der eigentliche SAT-Solvingprozess hat nur noch ca. 900 Sekundenzur Losungsgenerierung und kann dadurch 1 Instanz weniger losen als ohneVerwendung des Preprocessors.

4.1.3 Entfernung geblockter Klauseln

Der durchschnittliche Anteil an geblockten Klauseln in % fur jede der 17 Pro-blemklassen ist in der Tabelle 4.1 dargestellt.Er unterscheidet sich zwischen den einzelnen Klassen erheblich.

In den Problemklassen crypto und goldb ist der Anteil an geblocktenKlauseln unter 1 %. Gleichzeitig gibt es Familien von SAT-Problemen, wojede vierte oder sogar jede dritte Klausel geblockt ist. Beispiele fur solcheGruppen sind die post, schup und palacios-Instanzen.Im Vergleich zu der Version des Preprocessors, der die Techniken von SatELite2005 implementiert, sind die Verbesserungen in den Problemklassen mit vielengeblockten Klauseln jedoch nur gering. Jeweils eine Instanz der schup undpalacios-Probleme wurde durch die Eliminierung der geblockten Klauseln

Page 51: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 37

crypto 0,07 goldb 0,47manol 2,32 simon 2,44

anbulagan 3,16 diagnosis 3,19bitverif 3,45 dspam 3,66

ibm 3,86 grieu 3,87een 8,21 aprove 8,47

velev-vliw 15,47 misc 15,62post 25,55 schup 30,22

palacios 33,16

Tabelle 4.1: Anteil an geblockten Klauseln fur jede Instanzklasse, aufsteigendsortiert

zusatzlich gelost. Die Anzahl an gelosten post-Instanzen blieb sogar konstant.Insgesamt konnten durch die Eliminierung geblockter Klauseln in 20 Minuten373 Instanzen gelost werden (vgl. Tabelle 4.7), das zweitbeste Ergebnisaller getesteten Implementationen. Auffallig ist, dass im Vergleich zu derPreprocessor-Version, die SatELite 2005 implementiert, trotz der Eliminierungder geblockten Klauseln die gleiche Anzahl an unerfullbaren Instanzen gelostwerden. Nach der Theorie von Kullmann [Kul99], die besagt, dass geblockteKlauseln in unerfullbaren Instanzen die Losungsfindung begunstigen, hattenwir andere Ergebnisse erwartet.

Werden die geblockten Klauseln, die keine eliminierte Variable beinhalten,nach Durchfuhrung der Simplifizierung wieder zu der Formel hinzugefugt,konnen insgesamt 363 der 514 Instanzen gelost werden. Das sind 3 Instanzenweniger als die ursprungliche Simplifizierung.Das Einfugen zusatzlicher geblockter Klauseln stellte sich auch als nicht sehrerfolgreich heraus. Nur fur 281 der 514 Instanzen konnten neue geblockteKlauseln erstellt werden. Die Problemklasse crypto, die die wenigstengeblockten Klauseln besitzt (vgl. Tabelle 4.1), umfasst 49 Instanzen. Mit Hilfeunserer Methode konnten aber nur fur 3 der 49 Instanzen neue geblockteKlauseln hinzugefugt werden. Zusammenfassend lasst sich sagen, dass auchwenn neue geblockte Klauseln erstellt werden, die Anzahl im Vergleichzur Gesamtzahl an Klauseln so gering ist, dass es keinen Einfluss auf dieBerechnungszeit hat. So wurden z.B. fur die Instanz gss-20-s100 der Klassecrypto, die nach der Simplifizierung 59645 Klauseln besitzt, 286 zusatzlichegeblockte Klauseln erstellt.

Diese Ergebnisse lassen vermuten, dass die geblockten Klauseln nicht hilfreichfur die Losungsfindung sind, und deshalb, wie von Biere et al. [JBH10] vor-geschlagen, entfernt werden sollen. Dieses generelle Entfernen von geblocktenKlauseln mochten wir anhand der in den Abbildungen 4.1 und 4.2 dargestelltenErgebnisse dennoch in Frage stellen. In den angesprochenen cactus plots wer-

Page 52: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

38 KAPITEL 4. ERGEBNISSE

den die Anzahl an gelosten Klauseln in Abhangigkeit von der zur Verfugunggestellten Zeit dargestellt. In dem cactus plot aus Abbildung 4.1 erkennt man,dass die Implementierung, die die geblockten Klauseln aus der Formel entfernt(blaue Linie) bis zu einer Berechnungszeit von ca. 980 Sekunden mehr Instan-zen lost als alle anderen Implementierungen. Danach stellt sich, mit SAT-SolverTimeout von 20 Minuten, die Implementierung ohne Definitionsresolution alsdie bessere heraus.Wird der SAT-Solver mit einem Timeout von 10000 Sekunden gestartet, so istvon Anfang an unsere Implementierung von SatELite 2005 die effektivste (vgl.Abbildung 4.2). In den cactus plots ist der horizontale Abstand zweier Kurvenein Maß fur die Vorteile einer Implementierung. Je großer der Abstand, destogroßer ist auch die Differenz an gelosten Instanzen bis zu diesem Zeitpunkt.Auffallig ist, dass unsere Implementierung von SatELite 2005 bis zu einer Lauf-zeit von ca. 5000 Sekunden einen konstanten Vorsprung vor den anderen Im-plementierungen hat. Dieser Vorsprung wird mit zunehmender Laufzeit immergeringer.Die einzelnen Ergebnisse fur die Testlaufe mit 10000 Sekunden Timeout sind inden Tabellen 4.8 bis 4.11 dargestellt. Wir verzichten hier auf nahere Beschrei-bungen der Ergebnisse und nennen nur die wichtigsten Zahlen: Ohne jeglicheSimplifizierung werden innerhalb von 10000 Sekunden 430 Instanzen gelost.Die Simplifizierung ohne Definitionsresolution in Verbindung mit SApperloTlost 433 Instanzen, eine weniger als die Implementierung von SatELite 2005zuzuglich der Entfernung von geblockten Klauseln. Wird nur unsere Implemen-tierung von SatELite 2005 verwendet, so kann der SAT-Solver 436 Instanzeninnerhalb der 10000 Sekunden losen. Diese Variante ist die beste aller gete-steten. Man erkennt, dass die Vorteile durch Anwenden des Preprocessors mitzunehmender Laufzeit immer geringer werden. Konnen innerhalb von 1200 Se-kunden mit Hilfe des effektivsten Preprocessors noch 40 Instanzen (379 zu 339,vgl. Tabelle 4.5) mehr gelost werden, so betragt der Zuwachs an gelosten In-stanzen nach 10000 Sekunden durch Verwendung des Preprocessors nur noch6 Instanzen (436 zu 430, vgl. Tabelle 4.9).

Page 53: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 39

no simplification results averagefamily n #SAT #UNS #UNK #vars #cls #lits

anbulagan 63 18 8 8 58482,53 217052,76 597411,15aprove 34 0 13 17 75718,87 226273,9 527972,43bitverif 30 23 8 32 219655,21 999527,17 2324151,86crypto 43 2 7 20 213809,79 1041982,79 2496329,1

diagnosis 29 0 13 0 175885,69 568615,46 1519786,92dspam 13 4 8 0 61646,33 180574,58 440343,67

een 12 0 7 4 10369,73 64586,45 217918,55goldb 11 14 3 3 3053,05 105793,85 275135,85grieu 20 13 4 26 48586,6 160571,86 425940,42ibm 40 21 11 8 127110,43 532107,73 1355810,58

manol 59 0 51 8 132674,49 393975,71 919276,66misc 38 12 14 12 362063,54 1375313,1 3496669,44

palacios 25 4 10 11 179351,92 720297,88 1807279,32post 15 3 4 8 1714573,33 5213181,53 12430649,73

schup 6 1 3 2 363654,67 1134116,5 2895193,17simon 12 6 3 3 66688,92 216992,92 505677,17

velev-vliw 64 30 21 13 170450,44 4673934,3 13734986,16sum/average 514 151 188 175 234339,74 1048523,44 2704148,95

Tabelle 4.2: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT

SatELite 2005 Technics results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (1) 8 (0) 7 (-1) 11,42 12,29 4,53aprove 34 30 0 (0) 13 (0) 17 (0) 17,16 43,07 17,19bitverif 30 63 25 (2) 6 (-2) 32 (0) 7,67 41,92 30,6crypto 43 29 4 (2) 8 (1) 17 (-3) 8,49 30,23 19,91

diagnosis 29 13 0 (0) 13 (0) 0 (0) 5,25 23,39 12,57dspam 13 12 4 (0) 8 (0) 0 (0) 3,37 61,62 43,09

een 12 11 0 (0) 7 (0) 4 (0) 0,28 0,56 -0,16goldb 11 20 12 (-2) 3 (0) 5 (2) 0,97 3,85 6,17grieu 20 43 20 (7) 4 (0) 19 (-7) 1,56 29,45 11,33ibm 40 40 24 (3) 14 (3) 2 (-6) 6,9 40,72 23,24

manol 59 59 0 (0) 56 (5) 3 (-5) 3,82 64,18 31,73misc 38 33 13 (1) 14 (0) 11 (-1) 21,2 16,78 11,06

palacios 25 25 5 (1) 12 (2) 8 (-3) 46,23 37,69 7,41post 15 13 3 (0) 5 (1) 7 (-1) 36,22 9,8 -1,95

schup 6 5 1 (0) 3 (0) 2 (0) 11,37 27,98 21,09simon 12 12 6 (0) 4 (1) 2 (-1) 3,51 53,04 39,4

velev-vliw 64 31 30 (0) 22 (1) 12 (-1) 9,86 0,31 -0,09sum/average 514 472 166 (15) 200 (12) 148 (-27) 11,49 29,23 16,3

Tabelle 4.3: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert

Page 54: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

40 KAPITEL 4. ERGEBNISSE

SatELite -var elimination results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (1) 8 (0) 7 (-1) 0,25 0,45 0,48aprove 34 30 0 (0) 13 (0) 17 (0) 0,49 0,01 0,01bitverif 30 63 27 (4) 7 (-1) 29 (-3) 2,4 22,35 23,05crypto 43 29 5 (3) 9 (2) 15 (-5) 3,02 22,76 23,13

diagnosis 29 13 0 (0) 13 (0) 0 (0) 1,26 0,19 0,34dspam 13 12 4 (0) 8 (0) 0 (0) 0,42 5,75 5,81

een 12 11 0 (0) 7 (0) 4 (0) 0,13 0,15 0,29goldb 11 20 12 (-2) 3 (0) 5 (2) 0,79 0,11 4,49grieu 20 43 12 (-1) 5 (1) 26 (0) 0,38 0,48 0,57ibm 40 40 22 (1) 12 (1) 6 (-2) 1,24 7,19 8,09

manol 59 59 0 (0) 51 (0) 8 (0) 0,97 0,01 0,02misc 38 33 12 (0) 14 (0) 12 (0) 1,28 2,3 3,22

palacios 25 25 7 (3) 11 (1) 7 (-4) 21,27 0 0post 15 13 3 (0) 3 (-1) 9 (1) 1,93 1,62 1,71

schup 6 5 1 (0) 3 (0) 2 (0) 1,83 0,69 0,61simon 12 12 6 (0) 4 (1) 2 (-1) 1,4 15,83 16,04

velev-vliw 64 31 30 (0) 21 (0) 13 (0) 2,1 0,01 0,17sum/average 514 472 160 (9) 192 (4) 162 (-13) 2,42 4,7 5,18

Tabelle 4.4: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert; ohne Variableneliminierung

SatELite var elim definition results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (1) 9 (1) 6 (-2) 0,96 10,63 3,24aprove 34 30 0 (0) 13 (0) 17 (0) 1,76 41,69 18,21bitverif 30 63 28 (5) 8 (0) 27 (-5) 6,74 40,26 28,55crypto 43 29 5 (3) 9 (2) 15 (-5) 6,11 29,49 19,06

diagnosis 29 13 0 (0) 13 (0) 0 (0) 4,38 23,45 14,01dspam 13 12 4 (0) 8 (0) 0 (0) 1,46 57,1 37,3

een 12 11 0 (0) 7 (0) 4 (0) 0,27 0,55 -0,17goldb 11 20 12 (-2) 3 (0) 5 (2) 0,97 3,77 6,27grieu 20 43 16 (3) 5 (1) 22 (-4) 1,09 27,37 11,27ibm 40 40 24 (3) 15 (4) 1 (-7) 4,87 39,22 21,96

manol 59 59 0 (0) 57 (6) 2 (-6) 2,9 57,2 28,25misc 38 33 14 (2) 15 (1) 9 (-3) 3,57 15,97 10,87

palacios 25 25 7 (3) 12 (2) 6 (-5) 38,18 37,71 13,79post 15 13 3 (0) 5 (1) 7 (-1) 21,64 9,25 -2,89

schup 6 5 1 (0) 3 (0) 2 (0) 5,71 25,66 18,66simon 12 12 6 (0) 5 (2) 1 (-2) 2,21 51,73 38,9

velev-vliw 64 31 30 (0) 23 (2) 11 (-2) 5,42 0,23 -0,05sum/average 514 472 169 (18) 210 (22) 135 (-40) 6,37 27,72 15,72

Tabelle 4.5: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert; ohne Variableneliminierung durch Definitionsresolution

Page 55: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 41

SatELite Kriterium results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 18 (0) 8 (0) 8 (0) 0,44 1,51 1,58aprove 34 30 0 (0) 13 (0) 17 (0) 0,82 0,01 0,01bitverif 30 63 23 (0) 7 (-1) 33 (1) 312,57 -1509,81 -1300,39crypto 43 29 4 (2) 8 (1) 17 (-3) 5,95 -8,45 -5,48

diagnosis 29 13 0 (0) 13 (0) 0 (0) 1,97 0,21 0,35dspam 13 12 4 (0) 8 (0) 0 (0) 0,67 7 7,22

een 12 11 0 (0) 7 (0) 4 (0) 0,27 0,15 0,29goldb 11 20 12 (-2) 3 (0) 5 (2) 0,83 0,13 4,5grieu 20 43 12 (-1) 4 (0) 27 (1) 0,66 0,92 1,01ibm 40 40 22 (1) 11 (0) 7 (-1) 1,9 7,19 8,08

manol 59 59 0 (0) 52 (1) 7 (-1) 1,51 0,01 0,04misc 38 33 13 (1) 14 (0) 11 (-1) 1,76 2,38 3,34

palacios 25 25 5 (1) 11 (1) 9 (-2) 40,64 -0,74 -0,71post 15 13 3 (0) 5 (1) 7 (-1) 4,04 1,12 3,12

schup 6 5 1 (0) 3 (0) 2 (0) 2,75 5,59 5,65simon 12 12 6 (0) 2 (-1) 4 (1) 1,53 15,17 15,41

velev-vliw 64 31 30 (0) 23 (2) 11 (-2) 4,4 -0,65 -0,47sum/average 514 472 153 (2) 192 (4) 169 (-6) 22,51 -86,96 -73,91

Tabelle 4.6: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert; Resolutionskriterium: Durchschnittsgroße

Blocked Clauses Elimination results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 18 (0) 8 (0) 8 (0) 3,47 12,87 5,54aprove 34 30 0 (0) 14 (1) 16 (-1) 22,23 43,48 18,34bitverif 30 63 25 (2) 7 (-1) 31 (-1) 25,69 43,05 31,59crypto 43 29 5 (3) 8 (1) 16 (-4) 21,64 32,13 21,58

diagnosis 29 13 0 (0) 13 (0) 0 (0) 51,07 22,15 11,49dspam 13 12 4 (0) 8 (0) 0 (0) 10,18 60,76 42,05

een 12 11 0 (0) 7 (0) 4 (0) 0,41 1,58 0,97goldb 11 20 12 (-2) 3 (0) 5 (2) 1,17 4,65 7,21grieu 20 43 19 (6) 5 (1) 19 (-7) 1,78 29,45 11,32ibm 40 40 24 (3) 15 (4) 1 (-7) 17,56 40,42 23,04

manol 59 59 0 (0) 56 (5) 3 (-5) 18,58 64,6 32,38misc 38 33 13 (1) 16 (2) 9 (-3) 17,15 19,22 16,7

palacios 25 25 7 (3) 11 (1) 7 (-4) 33,67 50,55 45,87post 15 13 3 (0) 5 (1) 7 (-1) 56,63 9,47 -2,25

schup 6 5 1 (0) 4 (1) 1 (-1) 35,35 35,78 31,06simon 12 12 6 (0) 4 (1) 2 (-1) 4,72 51,62 38,17

velev-vliw 64 31 30 (0) 22 (1) 12 (-1) 20,62 1,3 -1,62sum/average 514 472 167 (16) 206 (18) 141 (-34) 20,11 30,77 19,61

Tabelle 4.7: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert, zuzuglich Eliminierung der geblockten Klauseln

Page 56: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

42 KAPITEL 4. ERGEBNISSE

no simplif. 10000 sec results averagefamily n #SAT #UNS #UNK #vars #cls #lits

anbulagan 63 19 11 4 58482,53 217052,76 597411,15aprove 34 0 14 16 75718,87 226273,9 527972,43bitverif 30 29 11 23 219655,21 999527,17 2324151,86crypto 43 11 15 3 213809,79 1041982,79 2496329,1

diagnosis 29 0 13 0 175885,69 568615,46 1519786,92dspam 13 4 8 0 61646,33 180574,58 440343,67

een 12 0 11 0 10369,73 64586,45 217918,55goldb 11 17 3 0 3053,05 105793,85 275135,85grieu 20 21 6 16 48586,6 160571,86 425940,42ibm 40 25 15 0 127110,43 532107,73 1355810,58

manol 59 0 56 3 132674,49 393975,71 919276,66misc 38 16 16 6 362063,54 1375313,1 3496669,44

palacios 25 7 14 4 179351,92 720297,88 1807279,32post 15 3 9 3 1714573,33 5213181,53 12430649,73

schup 6 1 4 1 363654,67 1134116,5 2895193,17simon 12 6 5 1 66688,92 216992,92 505677,17

velev-vliw 64 30 30 4 170450,44 4673934,3 13734986,16sum/average 514 189 241 84 234339,74 1048523,44 2704148,95

Tabelle 4.8: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT; 10000Sekunden Timeout

SatELite Technics 10000 sec results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (0) 11 (0) 4 (0) 7,45 12,29 4,53aprove 34 30 0 (0) 15 (1) 15 (-1) 11,38 43,07 17,19bitverif 30 63 29 (0) 11 (0) 23 (0) 6,44 41,92 30,6crypto 43 29 13 (2) 15 (0) 1 (-2) 6,99 30,23 19,91

diagnosis 29 13 0 (0) 13 (0) 0 (0) 4,51 23,39 12,57dspam 13 12 4 (0) 8 (0) 0 (0) 2,5 61,62 43,09

een 12 11 0 (0) 10 (-1) 1 (1) 0,25 0,56 -0,16goldb 11 20 15 (-2) 3 (0) 2 (2) 0,85 3,85 6,17grieu 20 43 23 (2) 6 (0) 14 (-2) 1,24 29,45 11,33ibm 40 40 25 (0) 15 (0) 0 (0) 5,86 40,72 23,24

manol 59 59 0 (0) 59 (3) 0 (-3) 3,11 64,18 31,73misc 38 33 15 (-1) 17 (1) 6 (0) 19,35 16,78 11,06

palacios 25 25 7 (0) 14 (0) 4 (0) 43,29 37,69 7,41post 15 13 3 (0) 10 (1) 2 (-1) 28,86 9,8 -1,95

schup 6 5 1 (0) 4 (0) 1 (0) 9 27,98 21,09simon 12 12 6 (0) 6 (1) 0 (-1) 3,54 53,04 39,4

velev-vliw 64 31 30 (0) 29 (-1) 5 (1) 8,2 0,31 -0,09sum/average 514 472 190 (1) 246 (5) 78 (-6) 9,58 29,23 16,3

Tabelle 4.9: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert; 10000 Sekunden Timeout

Page 57: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 43

10000 bce results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (0) 11 (0) 4 (0) 3,57 12,87 5,54aprove 34 30 0 (0) 14 (0) 16 (0) 22,97 43,47 18,32bitverif 30 63 28 (-1) 11 (0) 24 (1) 27,21 43,05 31,59crypto 43 29 13 (2) 15 (0) 1 (-2) 24,5 32,13 21,58

diagnosis 29 13 0 (0) 13 (0) 0 (0) 49,33 22,15 11,49dspam 13 12 4 (0) 8 (0) 0 (0) 10,5 60,76 42,05

een 12 11 0 (0) 10 (-1) 1 (1) 0,41 1,58 0,97goldb 11 20 15 (-2) 3 (0) 2 (2) 1,28 4,65 7,21grieu 20 43 24 (3) 6 (0) 13 (-3) 1,88 29,45 11,32ibm 40 40 25 (0) 15 (0) 0 (0) 17,85 40,42 23,04

manol 59 59 0 (0) 59 (3) 0 (-3) 17,33 64,6 32,38misc 38 33 15 (-1) 17 (1) 6 (0) 18,15 18,95 14

palacios 25 25 7 (0) 13 (-1) 5 (1) 40,63 50,55 45,87post 15 13 3 (0) 10 (1) 2 (-1) 58,73 9,47 -2,25

schup 6 5 1 (0) 4 (0) 1 (0) 35,83 35,78 31,08simon 12 12 6 (0) 5 (0) 1 (0) 6,78 51,62 38,17

velev-vliw 64 31 30 (0) 30 (0) 4 (0) 21,43 1,23 -0,32sum/average 514 472 190 (1) 244 (3) 80 (-4) 21,08 30,75 19,53

Tabelle 4.10: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert, zuzuglich BCE; 10000 Sekunden Timeout

10000 var elim def results averagefamily n #simp #SAT #UNS #UNK RT ∆cls ∆lits

anbulagan 63 33 19 (0) 12 (1) 3 (-1) 1,03 10,63 3,24aprove 34 30 0 (0) 15 (1) 15 (-1) 2 41,69 18,21bitverif 30 63 31 (2) 11 (0) 21 (-2) 7,24 40,26 28,55crypto 43 29 12 (1) 15 (0) 2 (-1) 6,71 29,49 19,06

diagnosis 29 13 0 (0) 13 (0) 0 (0) 4,53 23,45 14,01dspam 13 12 4 (0) 8 (0) 0 (0) 1,68 57,1 37,3

een 12 11 0 (0) 10 (-1) 1 (1) 0,29 0,55 -0,17goldb 11 20 15 (-2) 3 (0) 2 (2) 1,02 3,77 6,27grieu 20 43 20 (-1) 6 (0) 17 (1) 1,12 27,37 11,27ibm 40 40 25 (0) 15 (0) 0 (0) 4,83 39,22 21,96

manol 59 59 0 (0) 59 (3) 0 (-3) 3,03 57,2 28,25misc 38 33 15 (-1) 16 (0) 7 (1) 3,75 15,97 10,87

palacios 25 25 7 (0) 14 (0) 4 (0) 38,86 37,71 13,79post 15 13 3 (0) 9 (0) 3 (0) 24,69 9,25 -2,89

schup 6 5 1 (0) 4 (0) 1 (0) 4,77 25,66 18,66simon 12 12 6 (0) 6 (1) 0 (-1) 3,05 51,73 38,9

velev-vliw 64 31 30 (0) 29 (-1) 5 (1) 7,37 0,23 -0,05sum/average 514 472 188 (-1) 245 (4) 81 (-3) 6,82 27,72 15,72

Tabelle 4.11: Nach Problemklassen aufgeteilte Ergebnisse von SApperloT inVerbindung mit dem Preprocessor, der die Techniken von SatELite (Version2005) implementiert, ohne Definitionsresolution; 10000 Sekunden Timeout

Page 58: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

44 KAPITEL 4. ERGEBNISSE

Abbild

ung

4.1:Cactus

plotder

Anw

endungs-Instanzenbeieiner

maxim

alenB

erechnungszeitaus

Preprocessor

undSA

T-Solver

von1200

Sekunden

Page 59: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.1. INDUSTRIELLE INSTANZEN 45

Abbildung

4.2:

Cac

tus

plot

der

Anw

endu

ngs-

Inst

anze

nbe

iein

erm

axim

alen

Ber

echn

ungs

zeit

aus

Pre

proc

esso

run

dSA

T-S

olve

rvo

n10

000

Seku

nden

Page 60: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

46 KAPITEL 4. ERGEBNISSE

4.2 Bioinformatik Instanzen

Der Testdatensatz, der aus Problemen der Bioinformatik gebildet wurde, um-fasst insgesamt 540 SAT-Instanzen aus 3 Klassen: 30 Instanzen, die Genre-gulationsnetzwerke analysieren [CTF+09], 20 Instanzen, die phylogenetischeBaume anhand von bestimmten Eigenschaften vergleichen [BJ09] und 490 In-stanzen zu haplotype inference [LGMSO08].Die Implementationen, die sich in den Testlaufen mit den Anwendungsinstan-zen als die Effektivsten herausgestellt haben, bilden bei den Bioinformatik-Instanzen nun die Bewertungsgrundlage.Auffallig dabei ist, dass sich die Ergebnisse der einzelnen Tests kaum vonein-ander unterscheiden. So liegt die Anzahl an nicht gelosten Instanzen bei allen4 getesteten Implementationen jeweils zwischen 175 und 180 Instanzen (vgl.Tabelle 4.12). Der Preprocessor, der die Eliminierung von geblockten Klau-seln durchfuhrt, liefert bei den Testlaufen mit 20 Minuten Berechnungszeit diebesten Ergebnisse. Die Implementierung, die die SatELite Techniken umsetzt,und auf den Anwendungsinstanzen noch eine gute Grundlage fur weitere Sim-plifizierungen stellt verschlechtert die Performance des SAT-Solvers sogar (180zu 179 ungelosten Instanzen).Ahnliches Beobachtungen lassen sich auch bei den Testlaufen mit 10000 Sekun-den Timeout vornehmen (vgl. Tabelle 4.13). Die Anzahl an gelosten Instanzenunterscheiden sich kaum voneinander (zwischen 157 und 163 ungelosten Instan-zen). Bei diesen Tests konnte die Implementierung ohne Definitionsresolutiondie besten Ergebnisse erzielen. Als zweitbeste Variante, mit nur einer Instanzweniger gelost, liegt der SAT-Solver ohne Preprocessor noch vor den anderenbeiden getesteten Varianten.Ganz offensichtlich verfugen, zumindest die von uns getesteten, Problemklas-sen der Bioinformatik uber vollig andere Strukturen als die restlichen An-wendungsinstanzen. Durch Verwenden eines Preprocessors auf SatELite-Basiskonnen bei diesen Klassen signifikant weniger zusatzliche Instanzen gelost wer-den. Die Zuwachse an gelosten Instanzen liegen, wenn uberhaupt, im niedrigeneinstelligen Prozentbereich und sind damit nicht mit den Ergebnissen der An-wendungsinstanzen vergleichbar.

Page 61: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

4.2. BIOINFORMATIK INSTANZEN 47

no simplificationfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 3 22evolutionary trees 20 9 9 2

haplotype 490 160 175 155sum 540 174 187 179

SatELite Technicsfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 3 22evolutionary trees 20 9 10 1

haplotype 490 158 175 157sum 540 172 188 180

Blocked Clause Eliminationfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 3 22evolutionary trees 20 9 11 0

haplotype 490 161 176 153sum 540 175 190 175

no definition resolutionfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 3 22evolutionary trees 20 9 10 1

haplotype 490 160 177 153sum 540 174 190 176

Tabelle 4.12: Ergebnisse verschiedener Preprocessor-Implementierungen inVerbindung mit SApperloT auf Bioinformatik-Instanzen mit 1200 Sekunden Ti-meout

Page 62: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

48 KAPITEL 4. ERGEBNISSE

no simplificationfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 5 20evolutionary trees 20 9 11 0

haplotype 490 164 188 138sum 540 178 204 158

SatELite Technicsfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 5 20evolutionary trees 20 9 11 0

haplotype 490 162 185 143sum 540 176 201 163

Blocked Clause Eliminationfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 4 21evolutionary trees 20 9 11 0

haplotype 490 163 187 140sum 540 177 202 161

no definition resolutionfamily n #SAT #UNSAT #UNKNOWN

gene regulatory 30 5 4 21evolutionary trees 20 9 11 0

haplotype 490 166 188 136sum 540 180 203 157

Tabelle 4.13: Ergebnisse verschiedener Preprocessor-Implementierungen inVerbindung mit SApperloT auf Bioinformatik-Instanzen mit 10000 SekundenTimeout

Page 63: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 5

Das Superbaum-Kompatibilitatsproblem

Eine zentrale Fragestellung in der Phylogenetik ist es, ob mehrere phylogene-tische Baume mit sich uberschneidenden Mengen von reprasentierten Artenvon Lebewesen in einem einzigen phylogenetischen Baum dargestellt werdenkonnen. Dieser sogenannte Superbaum muss alle beinhaltenden Arten undVerwandtschaftsbeziehungen der kleineren phylogenetischen Baume aufrechterhalten. Gibt es mindestens einen solchen Baum, so ist das Kompatibilitats-problem fur die gegebene Menge an phylogenetischen Baumen erfullbar.In dem nun folgenden Kapitel werden wir zunachst das Kompatibilitatspro-blem definieren. Anschließend werden die Komplexitat des Problems kurz ana-lysiert und erstmals zwei mogliche SAT-Kodierungen des Problems vorgestellt.Verschiedene Auswertungen bilden dann den Abschluss dieses Kapitels. So sollder neue Losungsansatz auf seine Effektivitat im Vergleich zu bestehenden Ver-fahren getestet werden. Außerdem werden wir untersuchen, wie der von unsentwickelte Preprocessor die zum Losen des Kompatibilitatsproblems benotig-te Laufzeit beeinflusst.

5.1 Allgemeines zur SAT-Kodierung

Ein SAT-Solver sucht fur eine gegebene Instanz nach einer Variablenbelegung,sodass jede Klausel der in CNF dargestellten Formel mindestens ein Literalbesitzt, dass zu dem Wahrheitswert true ausgewertet wird. Dieses nutzt manin der Kodierung eines bestimmten Problems aus, um Implikationen von Va-riablen sicherzustellen.Angenommen wir wollen erreichen, dass sobald die Variable x = true undy = false ist, die Variable z auf false gesetzt wird. Dann mussen wir in die

49

Page 64: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

50 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

SAT-Instanz die Klausel

C = (x ∨ y ∨ z)

einfugen. Tritt jetzt der oben beschriebene Fall auf, so wird x und y jeweilszu false ausgewertet. Um die Klausel dann noch erfullen zu konnen, muss derSAT-Solver die Variable z wie gewunscht auf false setzen.Soll z zusatzlich zu der oben beschriebenen Abhangigkeit auch immer danntrue sein, wenn die Vorraussetzungen von x = true und y = false nicht erfulltsind, dann mussen folgende Klauseln ebenfalls in die Instanz eingefugt werden:

C1 = (x ∨ y ∨ z)

C2 = (x ∨ y ∨ z)

C3 = (x ∨ y ∨ z)

Tritt eine der 3 Moglichkeiten ein, dass x = true und y = false nichtgleichzeitig der Fall ist, so wird eine der Klauseln C1, C2, C3 nur dadurcherfullt werden konnen, wenn die Variable z auf true gesetzt wird. Die KlauselC ist ebenfalls erfullt, da mindestens eins der beiden Literale x, y zu trueausgewertet wird.

Alle Abhangigkeiten, die bei der Losung bzw. der Kodierung eines Problemsin SAT verwendet werden, mussen in der erstellten Instanz zu finden sein. Imweiteren Verlauf des Losungsprozesses ist es nicht moglich, Implikationen zuder Instanz hinzuzufugen, die nicht durch CDCL, Resolution oder ahnlichenTechniken gewonnen werden konnen.Dies fuhrt dazu, dass SAT-Instanzen, je nachdem wie komplex das zugrun-deliegende Problem ist, sehr groß werden konnen. Die großte Instanz, diebei der SATCompetition 2009 [sat09] als Benchmark benutzt wurde, enthieltmehr als 32 Millionen Klauseln und insgesamt mehr als 76 Millionen Literale.Zur Bestimmung der Erfullbarkeit der Instanz benotigte der SAT-SolverSApperloT [Kot09] weniger als eine Minute.

Da im weiteren Verlauf der Arbeit die SAT-Instanzen jeweils in konjunktiverNormalform vorliegen, werden die Symbole fur die einzelnen Konjunktionenzwischen den Klauseln, bzw. Disjunktionen innerhalb einer Klausel wegge-lassen und durch Leerzeichen oder Kommata ersetzt.

5.2 Problemdefinition

Im Unterschied zu Charles Semple und Mike Steele [SS03] unterscheidenwir nicht zwischen semi-labeled und phylogenetischen Baumen. Außerdem

Page 65: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.2. PROBLEMDEFINITION 51

betrachten wir ausschließlich binare phylogenetische Baume. Dies andert abernichts an der Komplexitat des Problems.

Bevor wir zur endgultigen Problemdefinition gelangen, werden vorher einigegrundlegende Dinge definiert:

P-BaumEin P -Baum T ist ein geordnetes Paar (T, φ) mit P einer Menge vonLabeln (bzw. Taxa), einem binaren Baum T mit der Knotenmenge Vund φ : P → V eine Abbildung, die fur alle Knoten v aus V mit Grad 1definiert ist.

∀ v ∈ V, deg(v) = 1 ⇔ v ∈ φ(P )

Es werden somit ausschließlich die Blatter des Baumes mit Taxa assoziiert.Die inneren Knoten des phylogenetischen Baumes stellen anonyme Vorgangerdar, die sich durch ein nicht naher beschriebenes Ereignis in zwei verschiedeneArten entwickelt haben.

P-SplitEin P -Split ist eine Partition von P in zwei nicht leere disjunkte Mengen.Wir bezeichen den P -Split der Mengen X ⊂ P und Y ⊂ P mit X∩Y = ∅und X ∪ Y = P mit X|Y .

Fur einen solchen P -Split ist die Positionierung von X bzw. Y beliebig. Deshalbwird nicht zwischen X|Y und Y |X unterschieden.Mit jedem P -Baum ist eine bestimmte Menge von P -Splits assoziiert, die wirim Folgenden kurz definieren.

P -Splits von TSei T = (T, φ) ein P -Baum und e eine Kante ∈ T . Dann besteht T \e ausden Komponenten V1 und V2 und φ−1(V1)|φ−1(V2) ist ein P -Split. DieserP -Split p wird genau von der Kante e ∈ T gebildet. ∀ei ∈ T , ei 6= e gilt:die durch Loschen der Kante ei entstehenden P -Splits pi sind 6= p. Wirbezeichnen Σ(T ) als die P -Splits von T , bzw. induziert durch T .

Um die Eigenschaft eines Teilbaumes beschreiben zu konnen definieren wir dieRestriktion:

RestriktionSei T ein P -Baum und angenommen, dass P ′ ⊂ P, P ′ 6= ∅ eine nicht-leere Teilmenge von P ist. Die Restriktion von T auf P ′, bezeichnetdurch T |P ′, ist der P ′-Baum, fur den gilt:

Σ(T |P ′) = {A ∩ P ′|B ∩ P ′ : A|B ∈ Σ(T ) ∧ A ∩ P ′, B ∩ P ′ 6= ∅}

Page 66: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

52 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Der P ′-Baum T |P ′ wird dann als restringierter Teilbaum von T bezeich-net.

Graphisch lasst sich die Restriktion eines P -Baumes T = (T, φ) auf eine nicht-leere Teilmenge P ′ von P folgendermaßen beschreiben:Sei T (P ′) der durch die Elemente der Menge φ(P ′) minimale induzierte Teil-baum von T . Dann ist T |P ′ der Baum, der von T (P ′) erhalten wird, wenn manalle Knoten mit Grad 2 unterdruckt. Fur gewurzelte P -Baume wird ahnlichvorgegangen. In dem erhaltenen induzierten gewurzelten Teilbaum werden alleKnoten, mit Ausnahme der Wurzel, mit Grad 2 unterdruckt um den restrin-gierten gewurzelten Teilbaum zu erhalten.Beispiele fur restringierte (un-)gewurzelte Baume sind in den Abbildungen 5.1und 5.2 zu sehen.

(a) (b)

Abbildung 5.1: (a) Ein ungewurzelter P -Baum T1. (b) T1|{1, 2, 5, 6}

(a) (b)

Abbildung 5.2: (a) Ein gewurzelter P -Baum T2. (b) T2|{2, 3, 6, 7}

Durch Anwenden der Restriktion werden die im phylogenetischen Baumdargestellten biologischen Verwandtschaften beibehalten.Seien P2 eine Teilmenge von P1 und Ti∈{1,2} gewurzelte phylogenetische Baumeauf den Taxa Pi∈{1,2}, dann ist T2 eine Restriktion von T1 genau dann, wennalle verwandtschaftlichen Beziehungen, die in T2 dargestellt sind, ebenfalls in

Page 67: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.3. GEWURZELTE BAUME 53

T1 entdeckt werden konnen.Fur unser Beispiel aus Abbildung 5.2 bedeutet das unter Anderem, da2, 3 und 6 Taxa des Baumes T2|{2, 3, 6, 7} sind, und der jungste gemeinsameVorfahre von 3 und 6 ein Nachfahre von dem jungsten gemeinsamen Vorfahrenvon 2 und 3 ist, dass diese verwandschaftliche Beziehung ebenfalls in T2

dargestellt wird.

Aus dieser Beobachtung heraus definieren wir:

DarstellungSei P ′ eine Teilmenge von P . Ein P -Baum T stellt einen P ′-BaumT ′ dar (beziehungsweise: stellt seine verwandtschaftlichen Beziehungendar), wenn T ′ = T |P ′. Wir schreiben T 7→ T ′.

Man nennt nun eine Menge P von (un)gewurzelten phylogenetischen Baumenkompatibel, falls ein (un)gewurzelter phylogenetischer Baum T existiert, furden gilt:

T 7→ Pi , ∀Pi ∈ P

5.3 Gewurzelte Baume

Wie wir spater sehen werden, ist die Bestimmung der Kompatibilitat fur einegegebene Menge ungewurzelter Baume ein NP-vollstandiges Problem.Fur gewurzelte Baume allerdings konnte Alfred V. Aho 1981 [ASSU81] denAlgorithmus BUILD entwickeln, der dieses Problem in Polynomzeit lost. ImFolgenden wird der Algorithmus kurz erlautert, bevor die von uns entwickelteSAT-Kodierung fur gewurzelte Baume vorgestellt wird.

5.3.1 BUILD-Algorithmus

Zum Verstandnis des Algorithmus mussen zuvor noch zwei Dinge definiertwerden, die die Grundlage von BUILD darstellen:

gewurzeltes TripelEin gewurzeltes Tripel ist ein gewurzelter binarer phylogenetischer Baummit drei Taxa. Das gewurzelte Tripel mit der Labelmenge a, b und c ist

angegeben durch ab|c, falls die Pfade p1 =−−−→(a, b) und p2 =

−−−−−→(c, root) keine

gemeinsamen Knoten haben.

Die biologische Interpretation eines solchen Tripels, dargestellt in Abbildung5.3, ware dann, dass der jungste gemeinsame Vorfahre von a und b ein (direk-ter) Nachfahre von dem jungsten gemeinsamen Vorfahren von a und c (bzw. bund c) ist.

Page 68: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

54 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Abbildung 5.3: Das gewurzelte Tripel ab|c

Anzumerken ist noch, dass keine Unterscheidung zwischen ab|c und ba|c ge-macht wird, da es keinen weiteren biologischen Wert hat, ob eine Spezies linkesoder rechtes Kind des letzten gemeinsamen Vorgangers ist.Jeder gewurzelte Baum mit n Taxa kann in

(n3

)paarweise verschiedene ge-

wurzelte Tripel zerlegt werden. Man bezeichnet deswegen die Tripel auch alsBausteine der gewurzelten phylogenetischen Baume.

Clustering-GraphSei P eine Menge von gewurzelten phylogenetischen Baumen, und Seine Teilmenge der von P aufgestellten Taxamenge. Dann wird [P , S]der Clustering-Graph auf S induziert durch P genannt.[P , S] besitzt die Knotenmenge S, und es existiert zwischen zwei Knotenu und v eine Kante, falls ein w ∈ S und ein T ∈ P existiert, so dass:

T |{u, v, w} = uv|w

Ein Beispiel fur einen Clustering-Graph ist in Abbildung 5.4 zu sehen.

Fur den in Algorithmus 7 dargestellten Ansatz von Alfred V. Aho kann dieLaufzeit O(nk) mit n = |

⋃S| ∀S und k = |P | erreicht werden.

Henzinger et al. konnten 1999 [HTW99] eine Verbesserung der Laufzeitauf min(O(n

√k), O(n + k log k)) erreichen, in dem sie einen effizienten

Algorithmus entwickelt haben, der fur einen gegebenen Graph und eineMenge an Kantenloschungen nach Durchfuhrung der Loschungen eine neuentstandene Komponente des Graphen findet, oder entscheidet, dass keineneue Komponente gebildet wurde. Fur weitergehende Informationen bezuglichder Verbesserung verweisen wir hier auf die zitierte wissenschaftliche Arbeit.

Der von dem BUILD-Algorithmus berechnete Baum T , im Folgenden Super-baum genannt, ist in den meisten Fallen kein Binarbaum. So auch in unseremBeispiel aus Abbildung 5.4. Der in Abbildung 5.5 dargestellte Baum, der das

Page 69: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.3. GEWURZELTE BAUME 55

(a) T1 (b) T2 (c) T3

(d) clustering Graph auf S = {1, 2, 3, 4, 5, 6} induziert durch P ={T1, T2, T3}

Abbildung 5.4: Beispiel fur einen Clustering-Graph. (a)-(c) P = {T1, T2, T3}(d) [P, S] mit S = {1, 2, 3, 4, 5, 6}

Resultat der dazugehorigen BUILD-Berechnung ist, lasst sich durch Aufsplit-tung des linken Kindes der Wurzel in 2 Knoten in einen binaren phylogene-tischen Baum umwandeln. Der entstandene Baum stellt weiterhin alle Baumeder Eingabe dar, sodass die Aussage zur Erfullbarkeit des Kompatibilitatspro-blems nicht verandert wird.

Abbildung 5.5: Der von BUILD berechnete Baum T fur die TeilbaumeT1, T2, T3 aus Abbildung 5.4

Page 70: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

56 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Algorithmus 7 BUILD(P , root, T )

Eingabe: Eine Menge gewurzelter Baume P .Eingabe: Ein Knoten root, der die Wurzel von T bildet.Ausgabe: Ein gewurzelter Baum T , der P darstellt. Oder: Aussage, dass P

nicht kompatibel ist.

1: S = {x1, x2, . . . , xn} = Taxamenge von P2: if |S| = 1 then3: T = x1 //root gelabelt mit x1

4: return T5: if |S| = 2 then6: T = {(root, x1), (root, x2)} //Baum enthalt 2 Kanten7: return T8: konstruiere [P , S]9: V = S1, S2, . . . , Sk //= Komponenten von [P , S]

10: if |V | = 1 then11: return NICHT KOMPATIBEL12: else13: for all i ∈ {1, 2, . . . , k} do14: Ri = {Pj|Si ∀Pj ∈ P}15: BUILD(Ri, vi, Ti)16: if Ti 6= ∅ then17: T = T ∪ (root, vi) //fuge Ti zu T hinzu18: else19: return NICHT KOMPATIBEL

5.3.2 SAT-Kodierung fur gewurzelte Baume

Wir entschieden uns zunachst, eine Kodierung des gewurzelten Kompatibi-litatsproblems als Erfullbarkeitsinstanz zu entwickeln. Diese SAT-Kodierungsollte dann, sofern die Moglichkeit bestand, eine Grundlage fur die Kodierungdes Kompatibilitatsproblems ungewurzelter Baume bilden.

Die von uns entwickelte Kodierung lasst sich in drei Bereiche unterteilen, dieim Folgenden vorgestellt werden.

Aufbau des Superbaums

Zusatzlich zu den bekannten Eigenschaften eines Binarbaumes benotigen wirnoch:

Eigenschaft der Knoten eines SuperbaumsSei T ein binarer Baum mit n Blattern und I = T \{Blatter von T } die

Page 71: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.3. GEWURZELTE BAUME 57

Menge an inneren Knoten von T . Dann erhalt jeder der 2n− 1 Knotenin T einen Index

ind(vi) → {1, 2, . . . , n} ∀vi ∈ T \ Iind(vj) → {n+ 1, n+ 2, . . . , 2n− 1} ∀vj ∈ I

so dassind(vi) 6= ind(vj) ∀vi, vj ∈ T , vi 6= vj

undElter(vi) = (vj)⇒ ind(vi) < ind(vj) ∀vi, vj ∈ I

gilt.Der Index ind ist somit eine bijektive Abbildung von Knoten auf{1, 2, . . . , 2n− 1} , n ∈ N.

Diese zusatzliche Eigenschaft verandert die Machtigkeit eines binaren Baumesnicht. Sie stellt sicher, dass es eine topologische Sortierung innerhalb desBaumes gibt. Diese Sortierung wird dann in der SAT-Kodierung benutzt, umdie Darstellungseigenschaft des binaren Superbaums zu uberprufen.

Wir fuhren die Variablen xi,j ein, die angeben, ob ein Knoten vi : ind(vi) = iKind des Knotens vj : ind(vj) = j ist. Da ein gewurzelter Baum mit n Blatterngenau 2n − 1 Knoten besitzt, unter denen aber nur n − 1 Knoten Elter einesanderen Knoten sein konnen (da dies die inneren Knoten sind), fuhrt dies zuO(n2) neuen Variablen.Um sicherzustellen, dass jeder Knoten mindestens einen Elter besitzt, werdenO(n) Klauseln der Form

(xi,n+1, xi,n+2, . . . , xi,2n−1)

∀i ∈ N : 1 ≤ i ≤ 2n− 2

in die CNF-Formel eingefugt. Durch die vorher definierte Eigenschaft der Kno-ten eines Superbaums konnen folgende Variablen schon beim Erstellen derKlausel auf einen Wahrheitswert gesetzt werden:

xi,j = 0 ∀i, j ∈ N : i ≥ j

x2n−2,2n−1 = 1

Mit Hilfe von insgesamt O(n3) Binarklauseln

(xi,j, xi,k)

∀i, j, k ∈ N : 1 ≤ i ≤ 2n− 2 , n+ 1 ≤ j < k ≤ 2n− 1

wird verhindert, dass ein Knoten des Superbaums mehr als 1 Elter besitzt.Zur Sicherstellung der Eigenschaft, dass jeder Knoten ∈ I genau 2 Kinder hat,

Page 72: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

58 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

fuhren wir die O(n2) Variablen sibi,j ein. Sie geben an, ob die Knoten vi undvj den gemeinsamen Elter besitzen.Zunachst wird dafur die Implikation, dass zwei verschiedene Knoten, die dengleichen Elter besitzen, als siblings bezeichnet werden, umgesetzt. Dies wirddurch die Klauseln

(xi,k, xj,k, sibi,j)

∀i, j, k ∈ N : 1 ≤ i < j ≤ 2n− 2 , n+ 1 ≤ k ≤ 2n− 1

erreicht. Als zweiter Schritt muss gefordert werden, dass maximal eine diesersibling-Variablen fur jeden Knoten true ist. Dies wird analog zu den Elternva-riablen mit Hilfe von O(n3) Binarklauseln umgesetzt.

Berechnung der lowest common ancestors

Zur Bestimmung der jungsten gemeinsamen Vorfahren zweier Knoten in demdurch die vorher beschriebenen Klauseln aufgebauten Binarbaum fuhren wir

zunachst die Variablen pathi,j ein. Sie zeigen an, ob auf dem Pfad p =−−−−−→(root, vi)

von der Wurzel des Superbaums zu dem Knoten vi der Knoten vj liegt.Diese O(n2) neuen Variablen konnen durch drei verschiedene Implikationenauf true gesetzt werden:

1. Wenn der Knoten vj Elter des Knotens vi ist, so muss pathi,j = 1 sein.Die Aquivalenz fur diese Beziehung gilt dabei nur fur j = n+ 1, also deninneren Knoten mit der kleinsten ID. Dies wird durch die Klauseln

(xi,j, pathi,j)

∀i, j ∈ N : 1 ≤ i ≤ n, n+ 1 ≤ j ≤ 2n− 1

sowie

(xi,n+1, pathi,n+1)

∀i ∈ N : 1 ≤ i ≤ n

gewahrleistet. Alle anderen inneren Knoten konnen auf dem Pfad p =−−−−−→(root, vi) liegen, weil sie entweder der Elter von vi sind, oder aber Eltervon einem inneren Knoten, der seinerseits auf dem Pfad p liegt.

2. Falls der Knoten vj auf dem Pfad p =−−−−−→(root, vi) liegt, so muss auch der

Elter von vj auf dem Pfad p vorhanden sein. Dies wird durch

(pathi,j, xj,k, pathi,k)

∀i, j, k ∈ N : 1 ≤ i ≤ n, n+ 2 ≤ j < k ≤ 2n− 1

erreicht.

Page 73: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.3. GEWURZELTE BAUME 59

3. Falls keines der beiden Kinder des Knoten vl auf dem Pfad p =−−−−−→(root, vi)

liegt, so kann auch der Knoten vl nicht auf dem Pfad liegen. Dies wirddurch

(xj,l, xk,l, pathi,j, pathi,k, pathi,l)

∀i, j, k, l ∈ N : 1 ≤ i ≤ n, n+ 3 ≤ j < k < l ≤ 2n− 1

erreicht.Wenn vj und vk jeweils Kind von vl sind, dann sind die beiden erstenLiterale der Klausel false. Gilt ferner, dass beide Knoten vj und vl nichtauf dem Pfad p liegen, dann sind auch die Literale drei und vier derKlausel false. Um die Klausel dann noch erfullen zu konnen, muss derSAT-Solver das letzte Literal (pathi,l) zu true auswerten, also die Variablepathi,l auf false setzen.Aus der Eigenschaft der Knoten eines Superbaums kann man ableiten,

dass sobald vj auf dem Pfad p =−−−−−→(root, vi) liegt, und vl der Elter von

vj ist, alle Knoten vk mit j < k < l nicht auf dem Pfad liegen konnen.Diese Information wird durch die Klauseln

(xj,l, pathi,j, pathi,k)

∀i, j, k, l ∈ N : 1 ≤ i ≤ n, n+ 1 ≤ j < k < l ≤ 2n− 1

umgesetzt.

Insgesamt werden somit O(n4) neue Klauseln zu der Instanz hinzugefugt.

Die Berechnung der jungsten gemeinsamen Vorfahren zweier Knoten kann nunmit Hilfe der zuvor eingefugten Variablen durchgefuhrt werden. Wir fuhrenO(n3) neue Variablen lcai,j,k∀i, j, k ∈ N : 1 ≤ i < j ≤ n, n+1 ≤ k ≤ 2n−1 ein,die angeben, ob fur die Knoten vi und vj der Knoten vk der jungste gemeinsameVorfahr ist.Da fur ein festes Paar an Knoten nur jeweils ein innerer Knoten der jungstegemeinsame Vorfahr sein kann, verbieten wir durch die O(n4) Binarklauseln

(lcai,j,k, lcai,j,l)

∀i, j, k, l ∈ N : 1 ≤ i < j ≤ n, n+ 1 ≤ k < l ≤ 2n− 1

den Fall, dass fur ein Paar von Knoten mehrere dieser Variablen true ist.Die eigentliche Variablenbelegung der lcai,j,k basiert dann auf einer Aquivalenz.

Falls ein innerer Knoten vk mit ind(vk) = k auf den Pfaden p1 =−−−−−→(root, vi)

und p2 =−−−−−−→(root, vj) liegt, so soll lcai,j,k auf true gesetzt werden, wenn kein

innerer Knoten vl mit ind(vl) = l < k bereits als jungster gemeinsame Vorfahr

Page 74: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

60 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

bestimmt worden ist. Dies wird durch folgende O(n3) Klauseln ermoglicht:

(pathi,k, pathj,k, lcai,j,n+1, . . . , lcai,j,k)

(pathi,k, lcai,j,k)

(pathj,k, lcai,j,k)

∀i, j, k ∈ N : 1 ≤ i < j ≤ n, n+ 1 ≤ k ≤ 2n− 1

Die zweite und dritte Klausel stellen sicher, dass der Knoten vk nicht als jung-ster gemeinsame Vorfahr von vi und vj gesetzt wird, wenn er nicht auf denPfaden p1 und p2 liegt.Fur die erste Klausel gilt: Ist der Knoten vk auf dem Pfad p1, so ist das ersteLiteral false. Das zweite Literal ist false, sollte der Knoten vk auch auf demPfad p2 liegen. Nun muss der SAT-Solver, um die Klausel zu erfullen, eines deranderen lca-Literale auf true setzen. Das letzte Literal lcai,j,k der ersten Klau-sel wird nur dann gesetzt, wenn alle anderen lca-Literale false sind. Sollte auchnur eins von ihnen (z.B. lcai,j,v) true sein, so ware die Klausel schon erfullt,und das Setzen des letzten Literals wurde die oben beschriebenen Binarklausel(lcai,j,v, lcai,j,k) nicht erfullt machen.

Test auf Teilbaumeigenschaft der Eingabebaume

Nach dem Aufbau des Superbaums und der Bestimmung der jungsten gemein-samen Vorfahren fur jedes Blatterpaar des Baumes muss nun noch verhindertwerden, dass ein Superbaum aufgebaut wird, der nicht alle Eingabebaume dar-stellt.Zu diesem Zweck bedienen wir uns der Variablen fur die jungsten gemeinsamenVorfahren. Fur jeden der Eingabebaume, die als gewurzelte Tripel ab|c vorlie-gen, wird verhindert, dass der Index des jungsten gemeinsamen Vorfahren derBlatter, die a und b reprasentieren, großer ist als der Index des jungsten ge-meinsamen Vorfahren der Blatter, die a und c, bzw. b und c, reprasentieren.Dies wird mit Hilfe der folgenden O(k ∗ n2) Klauseln erreicht, wobei k dieAnzahl der Eingabebaume ist:

(lcaa,b,j, lcaa,c,i)

(lcaa,b,j, lcab,c,i)

∀i, j ∈ N : n+ 1 ≤ i < j ≤ 2n− 1

∀(ab|c) ∈ Eingabebaume

5.4 Ungewurzelte Baume

Bei der spateren Vorstellung der von uns entwickelten SAT-Kodierung desKompatibilitatsproblems fur ungewurzelte Baume benutzen wir, ahnlich wie

Page 75: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 61

fur gewurzelte Baume, die kleinste Einheit, aus der die Baume aufgebaut wer-den konnen. Zu diesem Zweck definieren wir nun den

Quartett BaumEin Quartett Baum ist ein ungewurzelter binarer phylogenetischer Baummit vier Taxa. Der Quartett Baum mit der Labelmenge a, b, c und d ist

angegeben durch ab|cd, falls die Pfade p1 =−−−→(a, b) und p2 =

−−−→(c, d) keine

gemeinsamen Knoten haben.

Ein Beispiel fur einen Quartett Baum ist in Abbildung 5.1(b) zu sehen.

Obwohl der BUILD-Algorithmus im Allgemeinen lediglich fur das Kompatibi-litatsproblem gewurzelter Baume verwendet werden kann, gibt es einige Spe-zialfalle ungewurzelter Baume, auf denen der Algorithmus ebenfalls validiertist. Einer dieser Spezialfalle ist gegeben, falls ein bestimmtes Element x derTaxa-Menge in jedem ungewurzelten Baum der Eingabe auftritt.In diesem Fall wird in jedem der ungewurzelten Baume der Knoten x samtseiner inzidenten Kante e = (y, x) geloscht. Der resultierende Baum wird dannan dem Knoten y gewurzelt. Es kann gezeigt werden [SS03], dass die resultie-rende Menge von gewurzelten Baumen genau dann kompatibel ist, wenn dieAusgangsmenge an ungewurzelten Baumen kompatibel ist.

5.4.1 NP-Vollstandigkeit

Das allgemeine Kompatibilitatsproblem fur ungewurzelte Baume ist ∈ NP-vollstandig, wie von Steel [Ste92] bewiesen wurde. Es kann gezeigt werden,dass das Problem sogar dann schwer ist, wenn alle Eingabebaume Quartettesind [SS03].Wahrend das Problem fur eine große Anzahl an kleinen Baumen schwer ist,hat Steel ebenfalls gezeigt, dass fur eine begrenzte Anzahl an großen Baumeneine Losung in Polynomzeit gefunden werden kann. Seine Strategie beruhteauf der Idee, alle O(nk) Moglichkeiten die Baume zu wurzeln, mit Hilfe desbereits beschriebenen Algorithmus von Aho et al. zu testen. Dieser Ansatzist nur praktikabel, wenn sowohl n (Anzahl der Blatter des Superbaums) alsauch k (Anzahl an Eingabebaumen) klein sind.

Im Folgenden soll kurz die Idee des Beweises auf NP-Vollstandigkeit skizziertwerden. Fur den ausfuhrlichen Beweis verweisen wir auf die angegebene Lite-ratur [Ste92].Ausgehend von der Beobachtung, dass sobald in jedem Eingabebaum das Taxax vorhanden ist, das Kompatibilitatsproblem in Polynomzeit losbar ist [Ste92],wird folgendes Problem definiert, welches laut einem Theorem von Ng et al.[NSW00] NP-vollstandig ist:

Page 76: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

62 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Doppelt-gewurzelte Quartett-KompatibilitatGegeben sei eine Menge Q von Quartetten mit der Eigenschaft, dass je-de Taxamenge jedes Baumes qi ∈ Q entweder x oder y enthalt. x undy seien dabei von einander verschiedene Elemente der von Q abgebilde-ten Taxamenge. Das doppelt-gewurzelte Quartett-Kompatibilitatsproblembeschreibt die Frage, ob Q kompatibel ist.

Die Zugehorigkeit dieses Problems zur Klasse NP ist offensichtlich, da in Po-lynomzeit uberpruft werden kann, ob ein ungewurzelter binarer Baum T alleQuartette qi ∈ Q darstellt, oder nicht.Zur Durchfuhrung des Beweises auf NP-Vollstandigkeit wird noch folgendesEntscheidungsproblem benotigt:

BetweennessGegeben sei eine endliche Menge A und eine Sammlung T von geordnetenTripeln der Form (a, b, c) mit a, b, c ∈ A, a 6= b 6= c.Gibt es eine eindeutige Ordnung

f : A→ {1, 2, . . . , |A|}

fur die gilt:

∀x, y ∈ A, x 6= y : f(x) 6= f(y)

∀(a, b, c) ∈ T :

f(a) < f(b) < f(c)

∨f(c) < f(b) < f(a)

Ohne Beschrankung der Allgemeinheit wird angenommen, dass jedes Elementvon A in mindestens einem Tripel ti ∈ T vorhanden ist.Garey und Johnson bewiesen 1979 [GJ79] die NP-Vollstandigkeit von Between-ness.Durch die Reduktion auf Betweenness erfolgt der Beweis, dass das doppelt-gewurzelte Quartett-Kompatibilitatsproblem, und somit auch das allgemeineKompatibilitatsproblem fur ungewurzelte Baume NP-vollstandig ist.

5.4.2 SAT-Kodierung fur ungewurzelte Baume

Auch wenn die in Abschnitt 5.3.2 vorgestellte SAT-Kodierung des Kompatibi-litatsproblems auf gewurzelten Baumen ubersichtlich und prazise ist, so ist siefur das ungewurzelte Kompatibilitatsproblem nicht 1:1 anwendbar.Die grobe Struktur der Kodierung ist allerdings wiederzuerkennen. So lasstsich die von uns entwickelte Kodierung grob in drei Bereiche unterteilen:

Page 77: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 63

Aufbau des Superbaums

Um auch bei diesem Superbaum die in Abschnitt 5.3.2 definierte Eigenschaftder Knoten eines Superbaums verwenden zu konnen, ist es notwendig,die Elter-Beziehung in einem ungewurzelten Baum herstellen zu konnen.Daher entschieden wir uns, den inneren Knoten, der uber eine Kante direktmit dem Blatt, das den hochsten Index hat, verbunden ist, als Fixknoten zuwahlen. Der Superbaum wird an diesem Knoten gewurzelt, die Elterbeziehungkann somit erneut verwendet werden. Im Folgenden wird dieser Fixknotenauch als Pseudo-root bezeichnet.Dadurch ist es moglich, den Aufbau des Superbaums, der alle Taxa derEingabebaume enthalt, ahnlich der Kodierung des gewurzelten Kompatibi-litatsproblems durchzufuhren.

Aus diesem Grund fuhren wir wie in Abschnitt 5.3.2 die Variablen xi,j ein, dieangeben, ob ein Knoten vi : ind(vi) = i Kind des Knotens vj : ind(vj) = jist. Da ein ungewurzelter Baum mit n Blattern genau 2n− 2 Knoten besitzt,unter denen aber nur n − 2 Knoten Elter eines anderen Knoten sein konnen(da sie die inneren Knoten sind), fuhrt dies zu O(n2) neuen Variablen.Um sicherzustellen, dass jeder Knoten mindestens einen Elter besitzt, werdenO(n) Klauseln der Form

(xi,n+1, xi,n+2, . . . , xi,2n−2)

∀i ∈ N : 1 ≤ i ≤ 2n− 3

in die CNF-Formel eingefugt. Durch die schon zuvor definierte Eigenschaft derKnoten eines Superbaums konnen folgende Literale schon beim Erstellen derKlausel auf einen Wahrheitswert gesetzt werden:

xi,j = 0 ∀i, j ∈ N : i ≥ j

x2n−3,2n−2 = 1

Mit Hilfe von insgesamt O(n3) Binarklauseln

(xi,j, xi,k)

∀i, j, k ∈ N : 1 ≤ i ≤ 2n− 3 , n+ 1 ≤ j < k ≤ 2n− 2

wird verhindert, dass ein Knoten des Superbaums mehr als einen Elter besitzt.

Durch die Verwendung einer Pseudo-root und die damit verbundene Elter-Kind-Beziehung mussen wir auch fur den ungewurzelten Superbaum O(n2)Variablen sibi,j einfuhren. Wie schon bei der Kodierung des gewurzelten Su-perbaums geben die Variablen an, ob die Knoten vi und vj den gemeinsamenElter besitzen.

Page 78: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

64 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Hier muss allerdings ein Sonderfall betrachtet werden: die Pseudo-root ist dereinzige Knoten im gesamten Baum, der 3 Kinder besitzt. Aus diesem Grundwerden O(n3) Variablen

triplei,j,k

∀i, j, k ∈ N : 1 ≤ i < j < k ≤ 2n− 3

eingefuhrt. Diese Variablen geben an, ob die Knoten vi, vj und vk alle als Elterdie Pseudo-root besitzen. Durch die folgenden Implikationen stellen wir diedieser Definition entsprechenden Variablenbelegungen sicher:

(xi,2n−2, xj,2n−2, xk,2n−2, triplei,j,k)

∀i, j, k ∈ N : 1 ≤ i < j < k ≤ 2n− 3

Besitzen die Knoten vi, vj und vk die Pseudo-root, den Knoten mit derhochsten ID 2n − 2, als Elter sind die ersten 3 Literale der Klausel false.Um die Klausel zu erfullen, muss der SAT-Solver das letzte Literal zu trueauswerten, also die Variable auf true setzen.Außerdem darf nur maximal eine dieser triple-Variablen true sein, was durchinsgesamt O(n4) Binarklauseln erreicht wird.Die Belegung der sib-Variablen erfolgt wie schon beim gewurzelten Superbaumdurch die Klauseln:

(xi,k, xj,k, sibi,j)

∀i, j, k ∈ N : 1 ≤ i < j ≤ 2n− 4 , n+ 1 ≤ k ≤ 2n− 3

Auch hier muss gefordert werden, dass fur jeden Knoten vx maximal eine derdazugehorigen sib-Variablen true ist:

(sibi,j, sibk,l)

∀i, j, k, l ∈ N : 1 ≤ i < j ≤ 2n− 4 , 1 ≤ k < l ≤ 2n− 4 ,

(i = k = x ∧ j < l) ∨ (j = k = x) ∨ (j = l = x ∧ i < k)

Bestimmung des Abdeckungsbereiches von Knoten

Zuzuglich zu der bisher bekannten Eigenschaft der Knoten eines Super-baums definieren wir noch:

Abdeckungsbereich der Knoten eines ungewurzelten Super-baumsSei T ein ungewurzelter Superbaum mit der Knotenmenge V , Pseudo-root r ∈ V , lChild(vi) das linke Kind von vi und rChild(vi) das rechteKind von vi. Da die Pseudo-root der einzige Knoten mit 3 Kindernist, ist fur sie auch mChild(r) definiert als das Kind von r, fur das

Page 79: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 65

gilt: mChild(r) 6= lChild(r) und mChild(r) 6= rChild(r). Sei weiterhinI = T \{Blatter von T } die Menge an inneren Knoten des Superbaums.Dann ist der Abdeckungsbereich rng(vi) fur einen Knoten vi ∈ V defi-niert als Tupel (low rng(vi), upp rng(vi)) ∈ (N,N) durch:

(I)

low rng(vi) = upp rng(vi) = ind(vi)

∀vi ∈ T \ I

(II)

low rng(r) = low rng(lChild(r)) = 1

upp rng(r) = upp rng(rChild(r)) = n

low rng(mChild(r)) = upp rng(lChild(r)) + 1

low rng(rChild(r)) = upp rng(mChild(r)) + 1

(III)

low rng(vi) = low rng(lChild(vi))

upp rng(vi) = upp rng(rChild(vi))

upp rng(lChild(vi)) = low rng(rChild(vi)) + 1

∀vi ∈ I \ r

ind(vi) bezeichnet hier den Index eines Knotens gemaß der Eigenschaftder Knoten eines Superbaums aus Abschnitt 5.3.2.

Der Abdeckungsbereich gibt an, welcher zusammenhangende Bereich anBlattern (identifiziert durch ihren Index) in dem von dem Knoten aufgespann-ten gewurzelten Teilbaum hangt. Diese Eigenschaft wird im weiteren Verlaufder Kodierung benutzt um festzustellen, ob der Superbaum die einzelnenEingabebaume darstellt.In Abbildung 5.6 ist ein Beispiel fur einen Superbaum mit den darin vorhan-denen Abdeckungsbereichen gezeigt.

Page 80: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

66 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Abbildung 5.6: Ein ungewurzelter Superbaum mit den darin enthaltenen Ab-deckungsbereichen (low rng(vi), upp rng(vi)) der einzelnen Knoten vi

Um den Abdeckungsbereich der Knoten darstellen zu konnen fuhren wirO(n log n) Variablen

lowi,k bzw. uppi,k

∀i, k ∈ N : 1 ≤ i ≤ 2n− 2, 0 ≤ k < dlog2 ne

ein, die die untere, bzw. obere Grenze des Abdeckungsbereiches des Knotensvi ∈ T in Binardarstellung darstellen, so dass

low rng(vi) =

dlog2 ne−1∑k=0

2dlog2 ne−k ∗ lowi,k

upp rng(vi) =

dlog2 ne−1∑k=0

2dlog2 ne−k ∗ uppi,k

∀i ∈ N : 1 ≤ 1 ≤ 2n− 2

Gemaß der Definition des Abdeckungsbereiches werden schon beim Erstel-len der CNF-Instanz die Variablen, die die Grenzen des Abdeckungsbereichesfur Blatter und fur die Pseudo-root des Superbaums darstellen, auf den ent-sprechenden Wahrheitswert gesetzt.Da bei der Kodierung nicht vorgesehen ist, dass zwischen linken und rechtenKindern eines Knotens unterschieden werden kann, mussen wir zur spater fol-genden Bestimmung der Abdeckungsbereiche Information daruber haben,welcher Abdeckungsbereich der Kinder eines Knotens die kleineren Indizes um-fasst.Aus diesem Grund werden O(n2) Variablen

isgrti,j

∀i, j ∈ N : 1 ≤ i < j ≤ 2n− 2

Page 81: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 67

sowie O(n2 log n) Hilfs-Variablen fur die isgrt-Variablen

firstDiffi,j,k

∀ isgrti,j,∀k ∈ N : 0 ≤ k < dlog2 neeingefuhrt.Die Variable firstDiffi,j,k gibt an, dass das k-te Bit das Bit mit der hochstenWertigkeit ist, das sich zwischen den Binardarstellungen der unteren Gren-zen der Abdeckungsbereiche der Knoten vi und vj unterscheidet. Nur eineder firstDiffi,j,k-Variablen fur feste i und j darf true sein. Dies wird durchinsgesamt O(n2(log n)2) Binarklauseln der Form

(firstDiffi,j,k, f irstDiffi,j,l)

∀i, j, k, l ∈ N : 1 ≤ i < j ≤ 2n− 2, 0 ≤ k < l < dlog2 neerreicht. Ahnlich zu den LCA-Variablen aus der SAT-Kodierung fur gewurzel-te Superbaume werden den firstDiff -Variablen Wahrheitswerte zugewiesen.Falls das k-te Bit der Binardarstellungen von low rng(vi) und low rng(vj)unterschiedlich ist, so soll firstDiffi,j,k auf true gesetzt werden, falls keinhoherwertigeres Bit bereits als antivalent bestimmt worden ist. Dies wird durchfolgende O(n3) Klauseln ermoglicht:

(lowi,k, lowj,k, firstDiffi,j,0, . . . , f irstDiffi,j,k)

(lowi,k, lowj,k, firstDiffi,j,0, . . . , f irstDiffi,j,k)

(lowi,k, lowj,k, f irstDiffi,j,k)

(lowi,k, lowj,k, f irstDiffi,j,k)

∀i, j, k ∈ N : 1 ≤ i < j ≤ n, 0 ≤ k < dlog2 neMit Hilfe der firstDiff -Variablen und der O(n2 log n) Klauseln

(firstDiffi,j,k, lowi,k, lowj,k, isgrti,j)

(firstDiffi,j,k, lowi,k, lowj,k, isgrti,j)

∀i, j, k ∈ N : 1 ≤ i < j ≤ 2n− 2, 0 ≤ k < dlog2 newerden die isgrt-Variablen vom SAT-Solver wahrend der Berechnung gesetzt.Fur jedes mogliche Paar von Knoten des Superbaums brauchen wir nun nochdie Variablen

isSucci,j

∀i, j ∈ N : 1 ≤ i, j ≤ 2n− 2

deren Information darin besteht, ob upp rng(vi) + 1 = low rng(vj) ist. DieseO(n2) neuen Variablen werden mit Hilfe der O(n2(log n)2) Klauseln der Form

(isSucci,j, f irstDiffi,j,k, uppi,l, lowj,l)

(isSucci,j, f irstDiffi,j,k, uppi,l, lowj,l)

(isSucci,j, f irstDiffi,j,k, uppi,l, lowj,l)

∀i, j, k, l ∈ N : 1 ≤ i, j ≤ 2n− 2, 0 ≤ k < l < dlog2 ne

Page 82: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

68 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

sowie

(isSucci,j, isgrti,j)

(isSuccj,i, isgrti,j)

∀i, j ∈ N : 1 ≤ i < j ≤ 2n− 2

gesetzt.Wenn zwei Knoten den selben Elter haben, mussen die dazugehorigen Ab-deckungsbereiche aufeinanderfolgend sein. Dies wird durch die O(n2) Klau-seln

(sibi,j, isSucci,j, isSuccj,i)

∀i, j ∈ N : 1 ≤ i < j ≤ 2n− 3

gefordert. Sind die Knoten vi und vj Kinder desselben Knotens, so ist sibi,jtrue. Das erste Literal der Klausel ist somit false. Um die Klausel dann zuerfullen, muss das zweite oder dritte Literal zu true ausgewertet werden.Ahliches gilt auch fur die Knoten, die als gemeinsamen Elter die Pseudo-roothaben. Die O(n3) Klauseln

(isSucci,j, isSuccj,i)

∀i, j ∈ N : 1 ≤ i < j ≤ 2n− 3

zusammen mit

(triplei,j,k, isSucci,j, isSuccj,i, isSucci,k, isSucck,i, isSuccj,k, isSucck,j)

(triplei,j,k, isSucci,j, isSucck,i, isSuccj,k)

(triplei,j,k, isSuccj,i, isSucck,j, isSucci,k)

(triplei,j,k, isSucci,k, isSuccj,i, isSucck,j)

(triplei,j,k, isSucck,i, isSuccj,k, isSucci,j)

(triplei,j,k, isSuccj,k, isSucck,i, isSucci,j)

(triplei,j,k, isSucck,j, isSuccj,i, isSucci,k)

∀i, j, k ∈ N : 1 ≤ i < j < k ≤ 2n− 3

stellen sicher, dass genau zwei der sechs moglichen isSucc-Variablen true sind.

Mit Hilfe all dieser Variablen haben wir nun die Vorraussetzungen geschaffen,um die Abdeckungsbereiche der inneren Knoten des Superbaums mit Hilfe

Page 83: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 69

der folgenden O(n3 log n) Klauseln zu bestimmen:

(sibi,j, isgrti,j, xi,k, lowi,l, lowk,l)

(sibi,j, isgrti,j, xi,k, lowi,l, lowk,l)

(sibi,j, isgrti,j, xi,k, lowj,l, lowk,l)

(sibi,j, isgrti,j, xi,k, lowj,l, lowk,l)

(sibi,j, isgrti,j, xi,k, uppj,l, uppk,l)

(sibi,j, isgrti,j, xi,k, uppj,l, uppk,l)

(sibi,j, isgrti,j, xi,k, uppi,l, uppk,l)

(sibi,j, isgrti,j, xi,k, uppi,l, uppk,l)

∀i, j, k, l ∈ N : 1 ≤ i < j ≤ 2n− 2 , n+ 1 ≤ k ≤ 2n− 3 , 0 ≤ l < dlog2 ne

Besitzen die Knoten vi und vj den gleichen Elter, so ist das erste Literal derKlauseln jeweils false. Das dritte Literal der Klauseln ist false, wenn vk der El-ter der Knoten ist. Mit Hilfe der restlichen Literale der Klauseln werden danndie Abdeckungsbereiche entsprechend der Definition gesetzt. Die zweiten Li-terale unterscheiden die Falle i > j und i < j. Ist z.B. i < j so ist isgrti,jebenfalls false. Dann stellen die letzten beiden Literale der Klauseln sicher,dass das l-te Bit der Binarkodierung fur low rng(vi) und low rng(vk) (Klau-sel 1 und 2) sowie upp rng(vj) und upp rng(vk) (Klausel 5 und 6) identischsind. Die ungeraden Klauseln setzen das l-te Bit dabei jeweils auf false, wenndas entsprechende Bit der Binarkodierung des Kindes false ist. Die geradenKlauseln setzen analog das Bit auf true.

Durch die Verwendung der Pseudo-root und der Abdeckungsbereiche ha-ben wir den Aufbau des ungewurzelten Superbaums dermaßen restringiert,dass wir eine weitere Ebene Wahlmoglichkeiten fur den Aufbau des Super-baums hinzufugen mussen.Dies erfolgt uber ein gefordertes perfektes Matching von Wurzelknoten desSuperbaums zu Labeln aus den Eingabebaumen. Wir benotigen die folgendenO(n2) Variablen:

labeli,j und leafi,j

∀i, j ∈ N : 1 ≤ i, j ≤ n

labeli,j gibt dabei an, ob das i-te eingelesene Label der Eingabebaume zu demBlatt vj : ind(vj) = j gematcht ist, und leafi,j das entsprechende Matchingder Blattknoten zu Labeln der Eingabebaume.Daraus ergibt sich die Aquivalenzbeziehung

labeli,j ⇔ leafj,i

∀i, j ∈ N : 1 ≤ i, j ≤ n

Page 84: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

70 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

die in CNF dargestellt wird durch:

(labeli,j, leafj,i)

(labeli,j, leafj,i)

∀i, j ∈ N : 1 ≤ i, j ≤ n

Mit den O(n) Klauseln

(labeli,1, . . . , labeli,n)

(leafi,1, . . . , leafi,n)

∀i ∈ N : 1 ≤ i ≤ n

und den O(n3) Binarklauseln

(labeli,j, labeli,k)

(leafi,j, leafi,k)

∀i, j, k ∈ N : 1 ≤ i, j, k ≤ n , j < k

wird gefordert, dass zu jedem Blatt genau ein Label und zu jedem Label genauein Blatt gematcht wird. Ein perfektes Matching entsteht.

Test auf Teilbaumeigenschaft der Eingabebaume

Angenommen, ein gegebener ungewurzelter Superbaum T stellt alle Einga-bebaume ∈ P dar. So muss es fur jeden Baum Pi ∈ P eine Kante e ∈ Tgeben, fur die gilt: durch Loschen der Kante e zerfallt der Superbaum in zweiZusammenhangskomponenten Z1 und Z2, so dass fur den Baum Pi : ab|cd diefolgende Eigenschaft gilt [SS03]:

(a ∈ Z1 ∧ b ∈ Z1 ∧ c ∈ Z2 ∧ d ∈ Z2) ∨(a ∈ Z2 ∧ b ∈ Z2 ∧ c ∈ Z1 ∧ d ∈ Z1)

Wir bezeichnen die Eigenschaft im Folgenden als Depict-Eigenschaft.Durch die Verwendung der Abdeckungsbereiche haben wir eine Vorraus-setzung geschaffen, die durch Loschen einer Kante entstehenden Zusammen-hangskomponenten zu identifizieren. Im Folgenden werden wir die zu loschendeKante als DepictEdge bezeichnen.Bisher haben wir uber die isgrt-Variablen die Moglichkeit zu uberprufen, obder Index eines Blattes echt großer als die untere Grenze eines anderen Ab-deckungsbereiches ist. Um zu entscheiden, ob der Index eines Blattes vi echtkleiner als die obere Grenze eines Abdeckungsbereiches des inneren Knoten vjist, fuhren wir die O(n2) Variablen

issmli,j

∀i, j ∈ N : 1 ≤ i ≤ n , n+ 1 ≤ j ≤ 2n− 3

Page 85: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 71

ein. Mit Hilfe weiterer O(n2 log n) firstDiff -Variablen, die die ersteantivalente Position in der Bitkodierung der oberen Grenzen der Abdeckungs-bereiche zweier Knoten angeben, werden den issml-Variablen Wahrheitswertezugewiesen. Da diese Idee schon bei der Bestimmung der isgrt-Variablenverwendet wurde, werden die einzelnen Klauseln an dieser Stelle nicht nahererlautert.

Bevor wir den Test auf Zugehorigkeit eines Blattes zu einer Zusammenhangs-komponente durchfuhren konnen benotigen wir noch folgende O(n2) Variablen:

isEqlLowi,j und isEqlUppi,j

∀i, j ∈ N : 1 ≤ i ≤ n, n+ 1 ≤ j ≤ 2n− 3

Diese Variablen geben an, ob der Index des Blattes vi mit der unteren, bzw.oberen Grenze des Abdeckungsbereiches des Knoten vj ubereinstimmt.Im Folgenden werden nur die Klauseln zur Bestimmung der isEqlLow-Variablen naher erlautert. Die Zuweisung von isEqlUpp-Variablen zu Wahr-heitswerten erfolgt durch Klauseln, die dieselbe Idee umsetzen. Aus diesemGrund werden diese Klauseln nicht naher veranschaulicht.

(firstDiffi,j,1, . . . , f irstDiffi,j,dlog2 ne, isEqlLowi,j)

∀i, j ∈ N : 1 ≤ i ≤ n , n+ 1 ≤ j ≤ 2n− 3

stellen sicher, dass die dazugehorige isEqlLow-Variable auf true gesetzt wird,sollten alle Bits der Binarkodierungen aquivalent sein. Gleichzeitig wird durchinsgesamt O(n2 log n) Binarklauseln der Form

(firstDiffi,j,k, isEqlLowi,j)

∀i, j, k ∈ N : 1 ≤ i ≤ n , n+ 1 ≤ j ≤ 2n− 3 , 0 ≤ k < dlog2 ne

verhindert, dass die isEqlLow-Variable auf true gesetzt wird, obwohl dieBinarkodierungen unterschiedlich sind. Ist mindestens eine der firstDiff -Variablen true, so ist das erste Literal der Klausel false. Um die Klauselzu erfullen, muss der SAT-Solver das letzte Literal zu true auswerten, dieentsprechende isEqlLow-Variable muss somit false sein.

Durch die isgrt, issml, isEqlLow und isEqlUpp-Variablen konnen nun dieO(n2) Variablen

isInRangei,j

∀i, j ∈ N : 1 ≤ i ≤ n , n+ 1 ≤ j ≤ 2n− 3

Page 86: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

72 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

gesetzt werden. Sie geben an, ob der Index des Blattes vi in dem Abdeckungs-bereich des Knoten vj liegt:

(isInRangei,j, isgrti,j, isEqlLowi,j)

(isInRangei,j, issmli,j, isEqlUppi,j)

(isInRangei,j, issmli,j, isgrti,j)

(isInRangei,j, issmli,j, isEqlLowi,j)

(isInRangei,j, isEqlUppi,j, isgrti,j)

(isInRangei,j, isEqlUppi,j, isEqlLowi,j)

∀i, j ∈ N : 1 ≤ i ≤ n , n+ 1 ≤ j ≤ 2n− 3

Die Vorraussetzungen fur den Test, ob der Superbaum die Teilbaume darstellt,sind nun erfullt.

Wir wissen, dass DepictEdges nur solche Kanten sein konnen, die zwei innereKnoten des Superbaums miteinander verbinden, da sonst eine der entstehendenZusammenhangskomponenten nur einen Knoten umfasst. Die n− 3 moglichenDepictEdges identifizieren wir uber die Indizierung

ind : e→ Nind(ei) = min(ind(vj), ind(vk))

∀ei = (vj, vk)

Wir fuhren O(nk), mit k = |P| der Anzahl an Eingeabebaumen, Variablen

depicti,j

∀i, j ∈ N : 1 ≤ i ≤ k , n+ 1 ≤ j ≤ 2n− 3

ein. Diese Variablen geben an, ob fur den i. Eingabebaum die Kante ej mitind(ej) = j die Depict-Eigenschaft erfullt.Fur jeden Eingabebaum muss mindestens eine dieser Variablen true sein, damitdieser Baum von dem Superbaum dargestellt wird:

(depicti,n+1, . . . , depicti,2n−3)

∀i ∈ N : 1 ≤ i ≤ k

Gleichzeitig mussen insgesamt 12 Falle, dargestellt in Tabelle 5.1, verhindertwerden:

Page 87: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.4. UNGEWURZELTE BAUME 73

# a b c d

1 1 02 1 13 1 14 0 15 1 16 1 17 1 08 0 19 0 0

10 0 011 0 012 0 0

Tabelle 5.1: Die zu verhindernden Falle: Sei ab|cd der i. Eingabebaum unddepicti,j = true. Eine 1 gibt an, dass das Blatt, welches mit dem entsprechendenBuchstaben gematcht worden ist, im Abdeckungsbereich des Knoten vj liegt,ansonsten 0. Leere Zellen der Tabelle geben an, dass die Betrachtung dieserTaxa fur die Entdeckung des Konfliktes keine Rolle spielen.

Die 12 Falle ergeben sich aus der Depict-Eigenschaft, die erfullt sein muss.Fur das in Abbildung 5.7 dargestellte Beispiel ergibt sich, dass entweder a undb in der durch Loschen der DepictEdge entstehenden Zusammenhangskom-ponente ZSK1 liegen, und c und d liegen in ZSK2, oder c und d liegen in ZSK1und a und b nicht.Fall 1 aus der Tabelle 5.1 beschreibt somit den Fall, dass a zwar in einer derbeiden nach dem Loschen der DepictEdge entstehenden Zusammenhangs-komponenten liegt, jedoch b nicht. Die anderen Falle ergeben sich analog.

Mit Hilfe der folgenden Klauseln werden die in Tabelle 5.1 beschriebenen Falleverhindert. O.B.d.A. sei dabei ab|cd der i. Eingabebaum und

〈x〉 = y ⇔ x wurde als y. Label der Eingabebaume eingelesen

Page 88: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

74 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Abbildung 5.7: Wahl einer Depict-Kante - ist die rote Kante des Superbaumseine DepictEdge fur den Baum ab|cd, so muss die Depict-Eigenschaft erfulltsein

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈b〉,p, isInRangep,j)

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈c〉,p, isInRangep,j)

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈b〉,p, isInRangep,j)

(depicti,j, leaf〈b〉,o, isInRangeo,j, leaf〈c〉,p, isInRangep,j)

(depicti,j, leaf〈b〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

(depicti,j, leaf〈c〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

(depicti,j, leaf〈c〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈c〉,p, isInRangep,j)

(depicti,j, leaf〈a〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

(depicti,j, leaf〈b〉,o, isInRangeo,j, leaf〈c〉,p, isInRangep,j)

(depicti,j, leaf〈b〉,o, isInRangeo,j, leaf〈d〉,p, isInRangep,j)

∀i, j, o, p ∈ N : 1 ≤ i ≤ k , n+ 1 ≤ j ≤ 2n− 3 , 1 ≤ o, p ≤ n

Angenommen, dass das Zeichen a dem Blatt mit Index o und dass das Zeichenb dem Blatt mit Index p zugewiesen wurde. Somit sind das Literal 2 und 4 der

Page 89: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 75

Klauseln jeweils false. Tritt nun Fall 1 der Tabelle 5.1 ein, so sind das 3. und5. Literal ebenfalls false und somit muss der SAT-Solver das erste Literal zutrue auswerten, also die dazugehorige depict-Variable auf false setzen, um dieKlausel zu erfullen.

5.5 Ergebnisse

Jedes Entscheidungsproblem kann als Erfullbarkeitsproblem dargestellt wer-den. Es stellt sich dabei immer nur die Frage, wie sinnvoll eine bestimmteKodierung in SAT fur dieses Problem ist, da andere Moglichkeiten eventuellbessere Laufzeiten versprechen.Um die Praktikabilitat der von uns entwickelten SAT-Kodierung bewerten zukonnen, werden auf den folgenden Seiten dieser Arbeit einige Ergebnisse vor-gestellt. Ein weiterer Teil dieses Abschnitts wird sich mit Problemen befassen,die bei der Analyse der Kodierung und dem Vergleich mit bisher bestehendenHerangehensweisen aufgetreten sind.

5.5.1 Instanzgroßen

Innerhalb einer Klasse von Problemen ist die Große einer Instanz, gekenn-zeichnet durch die Anzahl an Variablen, Klauseln und der Gesamtheit an Li-teralen in allen Klauseln ein wichtiges Maß. Dadurch, dass allen Instanzendieser Klasse der selbe Kodierungsalgorithmus zugrunde liegt, und die Struk-tur des Problems damit großteils ubereinstimmt, kann man davon ausgehen,dass Instanzen, die eine großere Anzahl an Klauseln umfassen, eine langereBerechnungszeit verursachen.Dass diese Beobachtung keine Allgemeingultigkeit besitzt, ist leicht zu er-klaren. Sollte schon das zu kodierende Problem, in unserem Fall eine Mengevon Baumen, eine bestimmte Struktur aufweisen, so wird das Entdecken einerLosung begunstigt. Solche Strukturen konnen zum Beispiel sein:

• In jedem der k Eingabebaume befindet sich das Taxa x. Eine Instanzdes ungewurzelten Kompatibilitatsproblems wird dadurch in Polynom-zeit losbar.

• Alle Eingabebaume sind identisch. Der Superbaum, der alle Einga-bebaume darstellt, ist dann einer dieser Baume.

• Keiner der Eingabebaume hat mit einem anderen Baum der Eingabe-menge gemeinsame Taxa. Eventuelle Konflikte konnen nicht entstehen,und der Superbaum ist durch eine Konkatenierung der einzelnen Einga-bebaume konstruierbar.

Page 90: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

76 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

• Wenn bereits eine (kleine) Teilmenge der Eingabebaume inkompatibelist, so ist auch die Gesamtheit der Eingabebaume inkompatibel. Identifi-ziert der SAT-Solver diese Teilmenge schnell, so ist die Berechnungszeitkurzer als bei Instanzen geringerer Große, die nicht uber eine solche klei-ne Teilmenge an inkompatiblen Eingabebaumen verfugen.

Zunachst soll jedoch die Abhangigkeit der Instanzgroße von der Wahl der Pa-rameter untersucht werden. Wir betrachten neben der Anzahl zu erstellenderEingabebaume auch die Gesamtzahl an Taxa, die diese Baume beinhalten, alsParameter.

Instanzgroßen fur gewurzelte Baume

Gemaß der vorgestellten Kodierung des Kompatibilitatsproblems fur gewur-zelte Baume ist die Menge an eingefugten Klauseln ∈ O(max(n4, kn2)) unddie Menge an Variablen ∈ O(n3).Genaue Werte fur die Anzahl an Variablen (#Var), Klauseln (#Cl) sowie Li-teralen (#Lit) einer Instanz in Abhangigkeit von der Anzahl an verschiedenenTaxa (#Taxa = n), bzw. der Menge an Eingabebaumen (#Trees = k) sind derTabelle 5.2 zu entnehmen.Die durch die Kenntnis der SAT-Kodierung erwarteten Abhangigkeiten sinddort zu erkennen:

• Bei konstantem n bleibt die Gesamtzahl der Variablen in der Instanzmit steigender Anzahl an Eingabebaumen konstant. Die Variablenanzahlhangt nur von n ab und wachst proportional zu n3.

• Die Anzahl der Klauseln wachst mit steigendem k nur quadratisch, daO(kn2) Klauseln testen, ob die Teilbaume in dem Superbaum dargestelltsind.

• Mit steigendem n wachst die Klauselmenge schneller, da die gesamteKlauselmenge proportional zu n4 wachst.

Die Große der cnf-Datei, in der die jeweiligen Instanzen gespeichert werden,ist in Tabelle 5.3 aufgefuhrt. Die Verbindung zwischen Anzahl an Literalen inder gesamten Instanz und dem benotigten Speicherplatz ist gut zu erkennen.Im weiteren Verlauf der Arbeit beschranken wir uns darauf, maximal eine Tri-pelmenge der Große 100 mit 50 verschiedenen Taxa auf ihre Kompatibilitatzu testen. Andernfalls kann der erhohte Speicherplatzverbrauch nicht mit neu-en Erkenntnissen zur Berechnungsdauer einzelner Instanzklassen gerechtfertigtwerden, da schon bei geringerem n und k innerhalb einer festen Zeitspannekaum Ergebnisse erzielt werden.

Page 91: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 77

n k #Var #Cl #Lit10 20 810 10156 2842410 40 810 11596 3130410 60 810 13036 3418420 20 5415 129736 40984420 40 5415 136576 42352420 60 5415 143416 43720430 20 16820 596706 199207430 40 16820 612946 202455430 60 16820 629186 205703450 50 67968 4295736 1499352450 75 67968 4354536 1511112450 100 67968 4413336 1522872475 50 232730 19468932 7159442575 75 232730 20187536 7314567375 100 232730 20849761 74724799

Tabelle 5.2: Anzahl an Variablen (#Var), Klauseln (#Cl) sowie Literalen(#Lit) in Abhangigkeit von der Anzahl an verschiedenen Taxa (#Taxa = n),bzw. der Menge an gewurzelten Eingabebaumen (#Tree = k)

n k Speicherplatz in MB10 20 0,14410 40 0,16110 60 0,17720 20 2,33320 40 2,42520 60 2,51630 20 11,96030 40 12,20530 60 12,44050 50 97,37850 75 98,27150 100 99,16875 50 501,15875 75 505,27175 100 509,391

Tabelle 5.3: Speicherplatzbedarf der .cnf-Dateien in Abhangigkeit von der An-zahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge an gewurzelten Ein-gabebaumen (#Tree = k)

Page 92: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

78 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Instanzgroßen fur ungewurzelte Baume

Der SAT-Kodierung fur das Kompatibilitatsproblem ungewurzelter Baume istzu entnehmen, dass die Variablenanzahl ∈ O(max(n3, kn)) ist. Das Wachstumbefindet sich somit auf dem selben Niveau wie beim gewurzelten Kompatibi-litatsproblem, wenn man davon ausgeht, dass k < n2. Die Anzahl an Klauselnfur die jeweilige Instanz wachst proportional zu O(max(n4, kn3)) und somit,falls k > n, schneller als in den Instanzen, die gewurzelte Baume auf Kompa-tibilitat testen.Ermittelte Werte fur die Anzahl an Variablen, Klauseln, Literalen, sowie Spei-cherplatzverbrauch sind den Tabellen 5.4 und 5.5 zu entnehmen.Auch hier sind die aus der Kenntnis der SAT-Kodierung zu erwartenden Zu-sammenhange zu erkennen:

• Bei konstantem n wachst die Anzahl an Variablen mit steigendem k. ImUnterschied zur Kodierung fur gewurzelte Baume benotigen wir fur denTest, ob der Superbaum die Eingabebaume darstellt, O(kn) Variablen.

• Fur die von uns entwickelte Kodierung in SAT des Kompatibilitats-problems fur ungewurzelte Baume werden insgesamt mehr Variablenbenotigt als fur die SAT-Kodierung des gewurzelten Problems. Der Zu-wachs an Variablen mit steigendem n ist aber proportional zu dem An-stieg im gewurzelten Problem.

• Die Anzahl der Klauseln bei konstantem n wachst mit steigendem kstarker als im gewurzelten Fall, da die Anzahl der Klauseln, die testen, obdie Eingabebaume von dem Superbaum dargestellt werden, proportionalzu kn3 wachst.

• Ahnlich wie bei dem Zuwachs an Variablen wachst die gesamte Klausel-menge mit steigendem n proportional zu dem Anstieg im gewurzeltenFall, da k ∈ O(n). Durch den großeren Vorfaktor, der in der O-Notationnicht ersichtlich ist, sind aber bereits Instanzen fur kleinere n und knicht mehr praktikabel. Wir werden uns in Zukunft darauf beschranken,n ≤ 12 und k ≤ 15 zu wahlen.

5.5.2 Biologische Testdatensatze

In diesem Abschnitt betrachten wir ausschließlich ungewurzelte Baume. Dieim Folgenden beschriebenen Ergebnisse lassen sich in ahnlicher, aber leichtabgeschwachter Form auf gewurzelte Baume ubertragen.

Sanderson et al. entwickelten bereits 1994 mit TreeBASE [MJSE94] ei-ne Datenbank, in der phylogenetische Baume aus verschiedenen Studien

Page 93: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 79

n k #Var #Cl #Lit6 5 664 140513 6860446 10 679 271198 13394596 15 694 401883 19928746 20 709 532568 26462898 5 1612 734257 35311208 10 1637 1403062 68751458 15 1662 2071867 102191708 20 1687 2740672 1356319510 5 2910 2532271 1193343210 10 2945 4779276 2316846710 15 2980 7026281 3440350212 5 4696 6908077 3182788012 10 4741 12830802 6144152512 15 4786 18753527 91055170

Tabelle 5.4: Anzahl an Variablen (#Var), Klauseln (#Cl) sowie Literalen(#Lit) in Abhangigkeit von der Anzahl an verschiedenen Taxa (#Taxa = n),bzw. der Menge an ungewurzelten Eingabebaumen (#Tree = k)

n k Speicherplatz in MB6 5 3,3986 10 6,6386 15 9,8796 20 13,1198 5 19,4818 10 37,9788 15 56,4758 20 74,97210 5 67,47810 10 132,36210 15 196,30912 5 188,58512 10 363,68512 15 538,734

Tabelle 5.5: Speicherplatzbedarf der .cnf-Dateien in Abhangigkeit von der An-zahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge an ungewurzeltenEingabebaumen (#Tree = k)

Page 94: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

80 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

veroffentlicht werden konnen. Bereits die ersten Studienergebnisse, die dortder Offentlichkeit bereit gestellt wurden, umfassten Baume von 10 und mehrArten. Durch die neuen Entwicklungen von Algorithmen und Verfahrenstech-niken in den letzten Jahren ist die durchschnittliche Große der in TreeBASEzuganglichen Baume auf ca. 50 Taxa angestiegen. Dies fuhrt dazu, dass dieseDaten fur unsere Zwecke nicht verwendbar sind.Sollte z.B. ein ungewurzelter Superbaum der Große 30 in alle seine Quartettezerlegt werden, und somit erst als Eingabe fur die von uns entwickelte SAT-Kodierung des ungewurzelten Kompatibilitatsproblems in Frage kommen, sowurden dabei

(304

)= 27405 Quartette entstehen. Aus der Betrachtung aus

Abschnitt 5.5.1 wissen wir, dass diese Anzahl an Eingabebaumen zu einerSAT-Instanz fuhrt, die auf Grund ihres Speicherplatzbedarfs mit heutigerTechnik nicht handhabbar ist.Auch die Alternative, nach besonders kleinen Baumen in der Datenbank zusuchen, und alle Quartette dieser Baume zu berechnen, um diese wiederumauf Kompatibilitat zu testen, scheitert an der resultierenden Instanzgroße.Wurde man so zum Beispiel zwei Baume mit jeweils 8 Taxa in alle Quartetteaufteilen, so ware k = 2 ∗

(84

)= 2 ∗ 70 = 140.

Die in der Datenbank vorhandenen Baume mit weniger als 7 Taxa reichenletztendlich nicht aus, um einen reprasentativen Testdatensatz zu erzeugen.

Eine weitere Moglichkeit zur Generierung von Testdaten liefert die Idee nichtdie Gesamtheit an Quartetten zu erstellen, sondern lediglich eine kleine Teil-menge. Dies hat zur Folge, dass sobald die erstellten Quartette alle aus einemSuperbaum generiert werden, bekannt ist, dass die entstehende Instanz kom-patibel ist. Man kann jedoch nicht mit Sicherheit sagen, dass der Superbaum,der alle Quartette darstellt, der ursprungliche Baum ist, aus dem die Quartetteerstellt wurden. Ein Großteil der strukturgebenden Information geht durch dieRestriktion auf eine kleine Teilmenge an Quartetten verloren.Sollten die Quartette aus unterschiedlichen Baumen generiert worden sein, sokann von der Kompatibilitat der Quartette nicht auf die Kompatibilitat derEingabebaume geschlossen werden. Die folgenden Implikationen gelten:

• Sind die Eingabebaume kompatibel, so ist auch die Menge an generiertenQuartetten kompatibel. Der Superbaum, der diese Quartette darstellt,muss aber nicht die Eingabebaume darstellen.

• Sind die generierten Quartette inkompatibel, so folgt daraus, dass auchdie Menge an Eingabebaumen inkompatibel ist.

Kleinere Datenbanken als TreeBASE, die phylogenetische Daten uber be-stimmte Organismen bereitstellen, wie zum Beispiel SuperCAT [TK08] furdas Bakterium Bacillus cereus, umfassen bereits auch schon Datenmengen,

Page 95: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 81

die unseren Anforderungen nicht entsprechen.

Als weitere Quelle fur biologische Datensatze testeten wir die Verwendbarkeitvon simulierten Datensatzen. Beispielhaft sind da [CBFB07] und [SBWL10]zu nennen.Die bereits bekannten Probleme treten auch bei diesen Instanzen auf. DieGroße der einzelnen Datensatze stimmen nicht mit unseren Anforderungenuberein. Der Grund hierfur liegt in der Natur des Kompatibilitatsproblems.Sollte eine gegebene Menge von Baumen kompatibel sein, so lasst sich der Su-perbaum, der alle Baume darstellt, mit Hilfe der von uns entwickelten Kodie-rung auch bestimmen. Ist die Menge an Baumen inkompatibel, so wird dies mitHilfe der SAT-Kodierung festgestellt werden, aber eine Annaherung an einennicht perfekten, aber moglichst optimalen Superbaum kann nicht gewahrleistetwerden. Dies ist aber ein oft genutzter Ausweg und wird von vielen Program-men so durchgefuhrt. Auf dieses Problem werden wir in Abschnitt 5.5.4 nocheinmal genauer eingehen, wo wir die von uns entwickelte Kodierung mit bereitsvorhandenen Programmen vergleichen wollen.

5.5.3 Zufallsbaume als Testdatensatze

Begrundet durch die geschilderten Probleme mit vorhandenen biologischen Da-ten entschlossen wir uns Datensatze mit Hilfe von Zufallsbaumen zu generieren.Da die Kompatibilitat einer Menge von Eingabebaumen, in unserem Fall Tri-plets bzw. Quartette, fur ein festes n und k von der Zusammenstellung dieserBaume abhangt, benutzen wir zur Generierung der Menge von Zufallsbaumenverschiedene Wahrscheinlichkeitsverteilungen, die im Folgenden kurz erlautertwerden:

Gleichverteilung

Fur eine gegebene Taxamenge mit n Elementen wird jeder der k Eingabebaumewie im Algorithmus 8 beschrieben erstellt:

Die in Zeile 9 beschriebene Methode add(label) fugt das Taxa, dargestelltdurch die Zahl id in den Baum t ein. Dabei wird der zu erstellende Baum imNewick-Format [Ols90] der Reihe nach aufgebaut, so dass am Ende

((a, b), c); falls size = 3

((a, b), (c, d)); falls size = 4

entsteht.Die Haufigkeitsverteilung der Anzahl an Vorkommen eines Taxa in der Mengeder k Eingabebaume ist somit gleichverteilt.

Page 96: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

82 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Algorithmus 8 Generierung von Zufallsbaumen mittels Gleichverteilung

Eingabe: n - Anzahl verschiedener Taxa.Eingabe: k - Anzahl zu erstellender BaumeEingabe: size - Große der zu erstellenden Baume (3 oder 4)Ausgabe: T - Menge an Zufallsbaumen.

1: for i=1 to k do2: bool[] inCurrentTree;3: count = 0;4: Baum t;5: while count < size do6: int id = gleichverteilteZufallsvariableAusBereich(1,n);7: if inCurrentTree[id] == false then8: t.add(id);9: count++;

10: T += t;11: return T

Dreiecksverteilung

Die Dreiecksverteilung wurde von uns als Annaherung an die Normalverteilunggewahlt. Durch die Einschrankung auf geringe Werte von k, wie in Abschnitt5.5.1 beschrieben, ist die Gesamtanzahl an Taxa, die in den Eingabebaumenverteilt werden soll, im Vergleich zu n nur um einen geringen Faktor großer. Beieiner ungenugenden Wahl der Standardabweichung waren daruberhinaus dievom Mittelwert weit entfernten Taxa nur mit einer sehr geringen Wahrschein-lichkeit in einem der k verschiedenen Eingabebaume verteilt worden. Durchdie Verwendung einer gleichschenkligen Dreiecksverteilung haben wir versuchtdiese Probleme zu umgehen.Die Zufallsvariablenberechnung aus Zeile 7 des Algorithmus 8, die die Taxader Eingabebaume darstellen, erfolgt nun durch

int id = size ∗ (rand() + rand())/2)

mit rand() als Funktion, die eine gleichverteilte Zufallsvariable X ∈ R ausdem Bereich [0, 1] liefert.

SmallWorld-Verteilung

Der Begriff small world wurde erstmals 1967 von Stanley Milgram [Mil67]gepragt. Er schickte damals 160 Leuten, die in Omaha, Nebraska, wohnten,einen Brief. In dem Brief befand sich der Name und der Wohnort einesBorsenmaklers, der in Boston arbeitete und in Sharon, Massachusetts, lebte.Jeder Adressat in Omaha wurde aufgefordert, den Brief mit seinem Absender

Page 97: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 83

zu versehen und ihn an einen Freund oder Bekannten weiter zu schicken,von dem er glaubte, dass er dem Borsenmakler naher war. Milgram fandheraus, dass ein Großteil der Briefe bereits nach 5 oder 6 Adressaten beidem Borsenmakler ankamen, und entwickelte das small world -Paradigma,das besagt, dass jeder Mensch auf der Welt mit jedem anderen uber eineuberraschend kurze Kette von Bekanntschaftsbeziehungen verbunden ist.

Wir setzen diese Idee auf folgende Art um: die Taxa, die bereits einem zufalligerstellten Baum zugewiesen wurden, besitzen eine hohere Wahrscheinlichkeitin einen weiteren Baum verteilt zu werden. Der Algorithmus 9 beschreibt dieseVorgehensweise.

Algorithmus 9 Generierung von Zufallsbaumen nach der small world Theorie

Eingabe: n - Anzahl verschiedener Taxa.Eingabe: k - Anzahl zu erstellender BaumeEingabe: size - Große der zu erstellenden Baume (3 oder 4)Ausgabe: T - Menge an Zufallsbaumen.

1: label[] = {1, 2, . . . , n}2: for i=1 to k do3: bool[] inCurrentTree;4: count = 0;5: Baum t;6: while count < size do7: int id = gleichverteilteZufallsvariableAusBereich(1,label.size());8: if inCurrentTree[label[id]] == false then9: t.add(label[id]);

10: label.addLast(label[id]);11: count++;12: T += t;13: return T

Die Wahrscheinlichkeit p fur das Zuweisen eines bestimmten Labels x zu einemEingabebaum Ti betragt somit in unserem Fall

pTi(x) ≈ 1 + #x ∈ {T1 . . . Ti−1}

n+ size ∗ (i− 1)

mit #x ∈ {T1 . . . Ti−1} als die Anzahl an Vorkommen von x in den bereitserstellten Zufallsbaumen T1 bis Ti−1.

5.5.4 Vergleich mit vorhandenen Implementationen

Um die von uns entwickelte Kodierung als Erfullbarkeitsinstanz fur das Kom-patibilitatsproblem in der Effektivitat und Praktikabilitat untersuchen zu

Page 98: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

84 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

konnen setzten wir uns das Ziel, die Laufzeit, die benotigt wird, um bestimmteInstanzen zu losen mit der Laufzeit von bereits vorhandenen Programmen, diedieses Problem losen, zu vergleichen.In der Praxis der Bioinformatik ist es fur eine gegebene Menge an Baumen zwarinteressant zu wissen, dass es keinen Baum gibt, der alle Eingabebaume dar-stellt, oftmals ist man aber dann bemuht einen Baum zu finden, der moglichstwenig Konflikte aufweist. Aus diesem Grund und auch wegen der großen Men-ge an Taxa, die in einem gemeinsamen Superbaum in Verbindung miteinandergebracht werden sollen, entwickelten sich in den letzten Jahren verschiede-ne Heuristiken. Diese Heuristiken sollen dann, selbst wenn es eine perfekteLosung gibt, einen Baum konstruieren, der bezuglich eines gewahlten Kriteri-ums moglichst optimal ist. In den meisten Fallen wird der perfekte Baum sonicht gefunden.Auf Grund dieser Eigenschaften der untersuchten Programme, wie zum Bei-spiel SuperTree [Pag02], QuartetSuite [Pia09] oder DupTree [WBBE08], stelltesich eine weitere Analyse als unmoglich heraus, da unterschiedliche Problem-stellungen von den zu vergleichenden Programmen gelost werden sollen, undsomit die Grundlage fur einen Vergleich fehlt. Fur eine Instanz an Einga-bebaumen, die kompatibel sind, sucht der SAT-Solver den perfekten Baum,wahrend sich die anderen Programme damit begnugen, einen sehr guten Baumzu finden. Dies ist mit Hilfe der Heuristiken in einer kurzeren Zeit zu errei-chen. Im Falle einer inkompatiblen Instanz ist der Unterschied zwischen demSAT-Solver und den Heuristiken noch großer. Wahrend der SAT-Solver nacheinem Beweis fur die Inkompatibilitat sucht, bzw. im schlechtesten Fall allemoglichen Variablenbelegungen durchtesten muss, konstruieren die Heuristi-ken einen Baum, der die vorher festgelegten Kriterien erfullt.

5.5.5 Laufzeit und Preprocessoreffektivitat

Da durch die beschriebenen Probleme keine Vergleiche mit bestehenden Im-plementationen durchgefuhrt werden konnten, wird sich der kommende Ab-schnitt ausschließlich mit den Ergebnissen des SAT-Solvers, bzw. des von unsentwickelten Preprocessors, beschaftigen.Alle dargestellten Testlaufe wurden auf dem bw-GRiD des Zentrums fur Da-tenverarbeitung der Universitat Tubingen [bwg] durchgefuhrt. Sowohl der Pre-processor als auch der SAT-Solver berechneten eine gegebene Instanz auf einemCPU-Kern fur maximal 20 Minuten.

gewurzelte Baume

Mit Hilfe der in den Tabellen 5.6 und 5.7 dargestellten Zahlen kann man einigeRuckschlusse ziehen:

Page 99: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 85

n k #SAT #UNSAT #UNKNOWN gelost [%]10 20 15 0 0 10010 40 11 4 0 10010 60 8 7 0 10020 20 15 0 0 10020 40 14 0 1 9320 60 15 0 0 10030 20 15 0 0 10030 40 2 0 13 1330 60 2 0 13 1350 50 13 0 2 8750 75 0 0 15 050 100 0 0 15 0

Tabelle 5.6: Anzahl an erfullbaren (#SAT), unerfullbaren (#UNSAT) sowie in-nerhalb von 20 Minuten nicht gelosten Instanzen (#UNKNOWN) in Abhangig-keit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge angewurzelten Eingabebaumen (#Tree = k)

n k avg [s] min [s] max [s]10 20 0,22 0,01 1,0810 40 9,56 0,03 49,6810 60 20,2 0,14 54,8420 20 15,78 0,62 79,2720 40 242,32 2,20 >1200,0020 60 228,33 2,88 1199,5830 20 3,05 0,33 8,8830 40 1046,27 243,18 >1200,0030 60 1141,34 615,98 >1200,0050 50 1004,80 114,54 >1200,0050 75 >1200,00 >1200,00 >1200,0050 100 >1200,00 >1200,00 >1200,00

Tabelle 5.7: durschnittliche (avg), minimale (min) sowie maximale (max) Lauf-zeit in Sekunden, die benotigt wurde Instanzen in Abhangigkeit von der Anzahlan verschiedenen Taxa (#Taxa = n), bzw. der Menge an gewurzelten Einga-bebaumen (#Tree = k) zu losen

Page 100: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

86 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

• Die Praktikabilitatsgrenze der Kodierung fur gewurzelte Baume liegt bei30 verschiedenen Taxa. Ab einer ausreichend großen Menge an Einga-bebaumen werden in der vorgegebenen Berechnungszeit von 20 Minutennur 13 % der Instanzen gelost.

• Der Anteil an unerfullbaren Instanzen steigt bei konstantem n mit wach-sendem k. Durch die erhohte Anzahl von Eingabebaumen erhoht sichauch die durchschnittliche Anzahl an Vorkommen eines Taxa, und somitauch die Moglichkeit auf die Konstruktion eines Baumes, der die bishererstellte Menge an Eingabebaumen inkompatibel macht.

• Die Berechnungszeit hangt in erster Linie von den Paramter n und k ab.Je hoher die Parameter gewahlt werden, desto langer dauert die durch-schnittliche Berechnung einer Instanz.

• Durch die erwartete hohere Berechnungszeit fur nicht erfullbare Instan-zen, die dadurch zu erklaren ist, dass der SAT-Solver im schlechtestenFall alle Variablenbelegungen testen muss, lasst sich auch der geringereAnteil an gelosten Instanzen fur hohere k erklaren.

• Die einzige Ausnahme dieser Beobachtung ist der Fall, dass fur 20 ver-schiedene Taxa mehr Instanzen fur k = 60 gelost wurden, als fur k = 40.Wie in Tabelle 5.7 dargestellt, betragt die maximale Berechnungszeit ei-ner Instanz fur k = 60 1199,5 Sekunden. Diese Instanz wurde eine halbeSekunde vor Ablauf der 20 Minuten gelost und ware somit fast als nichtgeloste Instanz gewertet worden.

• Der große Anteil von 87% an gelosten Instanzen fur n = 50 und k = 50lasst sich durch den Quotienten k

nerklaren. Durch die geringe Anzahl

an zu erstellenden Baumen werden von einem Taxa nur wenige Vorkom-men in der Menge der Eingabebaume verteilt. Die Probleminstanz istaus diesem Grund sehr wahrscheinlich erfullbar, da weniger bzw. keineKonflikte entstehen.

ungewurzelte Baume

Die Erkenntnisse aus den in den Tabellen 5.10 und 5.11 dargestellten Ergebnis-sen der Analysen der SAT-Kodierung fur ungewurzelte Baume stimmen wei-testgehend mit den zuvor beschriebenen Beobachtungen fur gewurzelte Baumeuberein:

• Bei konstantem n steigt mit wachsendem k die Anzahl der nicht erfull-baren Instanzen und damit auch der im Durchschnitt erwarteten Berech-nungszeit.

Page 101: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 87

• Durch die hohere Wahrscheinlichkeit nicht erfullbare Instanzen zu erstel-len, steigt auch der Anteil an nicht gelosten Instanzen mit wachsendemk.

• Die Berechnungszeit hangt maßgeblich von der Wahl der Parameter ab.

• Die Praktikabilitatsgrenze der SAT-Kodierung des Kompatibilitatspro-blems fur ungewurzelte Baume liegt durch die NP-Vollstandigkeit we-sentlich niedriger als im gewurzelten Fall.

Als weiteres Ergebnis aus unseren Untersuchungen ergibt sich, dass der Anteilan erfullbaren Instanzen auch von der Wahl der Verteilung der einzelnen Taxaauf die Menge der Eingabebaume beeinflusst wird.Fur jede der in den Tabellen 5.6 und 5.10 dargestellten Parameterkombinatio-nen wurden pro Verteilung 5 Instanzen erstellt. Die Ergebnisse des SAT-Solverssind in den Tabellen 5.8 und 5.9 aufgefuhrt.

Verteilung #SAT #UNSAT #UNKNOWNGleichverteilung 29 8 23

Dreiecksverteilung 35 0 25Small World 36 3 21

Tabelle 5.8: Anzahl an erfullbaren (#SAT), unerfullbaren (#UNSAT) sowie in-nerhalb von 20 Minuten nicht gelosten Instanzen (#UNKNOWN) in Abhangig-keit von der gewahlten Verteilung der Taxa auf die gewurzelten Eingabebaume

Verteilung #SAT #UNSAT #UNKNOWNGleichverteilung 19 45 6

Dreiecksverteilung 15 55 0Small World 13 54 3

Tabelle 5.9: Anzahl an erfullbaren (#SAT), unerfullbaren (#UNSAT) so-wie innerhalb von 20 Minuten nicht gelosten Instanzen (#UNKNOWN) inAbhangigkeit von der gewahlten Verteilung der Taxa auf die ungewurzeltenEingabebaume

Page 102: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

88 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

So verursacht die Gleichverteilung bei Quartetten die meisten erfullbaren In-stanzen, vor Dreiecksverteilung und der Verteilung, die die small world Ei-genschaft herstellt. Bei dem gewurzelten Kompatibilitatsproblem dreht sichdiese Reihenfolge um. Dort entstehen die meisten erfullbaren Instanzen beider Verwendung der small world - Verteilung, gefolgt von Dreiecksverteilungund Gleichverteilung.

Preprocessoreffektivitat

Die Effektivitat des von uns entwickelten Preprocessors bewerten wir durchfolgende Merkmale:

• Das wichtigste Kriterium ist die Frage, ob durch den Einsatz des Prepro-cessors mehr Instanzen gelost werden konnen als ohne den Preprocessor.

• Wie lange benotigt der Preprocessor um die Instanzen zu bearbeiten?

• Wie verandert sich die benotigte Laufzeit des SAT-Solvers durch Ver-wendung des Preprocessors?

• Wie viele Klauseln entfernt der Preprocessor aus den einzelnen Instan-zen?

• In welchem Maß verandert sich die Gesamtanzahl der Literale in derbearbeiteten Instanz?

Die Einstellungen, die die in Kapitel 4 dargestellten besten Ergebnisse liefer-ten, wurden auch fur die Testlaufe mit den Kompatibilitatsinstanzen gewahlt.Nahere Erlautungen zu der Implementation des Preprocessors befinden sichin Kapitel 3 dieser Arbeit.

Die Ergebnisse, die auf den Instanzen des Kompatibilitatsproblems ermitteltwurden, sind in den Tabellen 5.12 bis 5.15 dargestellt.Die Berechnung der Werte aus Tabelle 5.13 und 5.15 fand mit Hilfe der Formel

x = (1− wertneu

wertalt) ∗ 100

statt. Sie geben an, um welchen Prozentsatz die Zahl an Klauseln bzw. Lite-ralen abgenommen hat. Falls x < 0 verursachte der Einsatz des Preprocessorseinen Anstieg dieser Elemente.Als wertalt wurde hier jeweils die Anzahl an Klauseln und Literalen, die nachDurchfuhren der Unit Propagation noch in der Instanz verblieben sind,gewahlt. Da die Technik der Unit Propagation auch von dem SAT-Solverdurchgefuhrt wird, werten wir die dadurch eliminierten Klauseln nicht alsErgebnis der Preprocessorberechnung.

Page 103: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 89

n k #SAT #UNSAT #UNKNOWN gelost [%]6 5 1 14 0 1006 10 0 15 0 1006 15 0 15 0 1006 20 0 15 0 1008 5 7 8 0 1008 10 1 14 0 1008 15 0 15 0 1008 20 0 15 0 10010 5 13 2 0 10010 10 6 9 0 10010 15 0 13 2 8712 5 13 2 0 10012 10 6 8 1 9312 15 0 9 6 60

Tabelle 5.10: Anzahl an erfullbaren (#SAT), unerfullbaren (#UNSAT) so-wie innerhalb von 20 Minuten nicht gelosten Instanzen (#UNKNOWN) inAbhangigkeit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. derMenge an ungewurzelten Eingabebaumen (#Tree = k)

n k avg [s] min [s] max [s]6 5 0,36 0,05 0,716 10 1,31 0,09 4,546 15 3,47 0,89 6,036 20 4,23 1,36 8,378 5 2,49 0,31 27,028 10 25,27 0,67 67,478 15 93,56 1,07 189,718 20 151,63 2,71 246,8210 5 4,35 0,77 15,7610 10 162,07 13,55 443,0610 15 739,41 103,63 >1200,0012 5 15,74 1,87 82,0912 10 294,46 4,79 >1200,0012 15 794,73 199,34 >1200,00

Tabelle 5.11: durschnittliche (avg), minimale (min) sowie maximale (max)Laufzeit in Sekunden, die benotigt wurde Instanzen in Abhangigkeit von derAnzahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge an ungewurzeltenEingabebaumen (#Tree = k) zu losen

Page 104: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

90 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Die Tabelle 5.12 listet die Anzahl an simplifizierten Instanzen (#simp),sowie minimaler (min RT), maximaler (max RT) und durchschnittlicher (avgRT) Laufzeit des Preprocessors, zusammen mit der Veranderung der Anzahlgeloster Instanzen (solved), der Anzahl an neu gelosten Instanzen (+solved),sowie der Anzahl an nicht mehr gelosten Instanzen (-solved) durch Verwen-dung des Preprocessors in Abhangigkeit von der Anzahl an verschiedenenTaxa (#Taxa = n), bzw. der Menge an gewurzelten Eingabebaumen (#Tree= k) auf.Dort ist zu erkennen, dass ab n = 50 die Instanzen zum Teil so groß werden,dass der Preprocessor in diesen Fallen nicht mehr benutzt werden kann.Die Grenze fur den Einsatz des Preprocessors wurde anhand mehrerer Testsfestgesetzt und liegt bei einer Instanzgroße von 3 ∗ 106 Klauseln.

Im Allgemeinen lasst sich sagen, dass die durchschnittliche Laufzeit desPreprocessors mit der Große der Instanz steigt. Auffallig ist, dass fur n = 30durch den Einsatz des Preprocessors Instanzen, die vorher nicht gelost wurden,nun vom SAT-Solver gelost werden konnen. Bei diesen 3 Instanzen verringertsich die Klauselanzahl durchschnittlich um 3 % und die Gesamtanzahl anLiteralen steigt um ca. 4 %. Es ist zu vermuten, dass diese Instanzen dadurchgelost werden, dass der SAT-Solver auf Grund der nur leicht verandertenInstanz Einstiegspunkte fur Entscheidungen in einem Teil des Suchbaumesfindet, der fur die Entdeckung einer Losung besser geeignet ist.Allerdings werden durch den Einsatz des Preprocessors insgesamt 6 Instanzendes gewurzelten Kompatibilitatsproblems so verandert, dass der SAT-Solverinnerhalb von 20 Minuten keine Losung mehr findet. Hier scheint der Solverdurch die geringen Veranderungen der Instanz in einen Teil des Suchbaumesgefuhrt worden zu sein, der nicht optimal ist.

Die Ergebnisse der Testlaufe auf den Instanzen des ungewurzelten Kompati-bilitatsproblems unterscheiden sich von den eben beschriebenen Ergebnissenzum Teil erheblich.Zunachst fallt auf, dass die durchschnittliche Berechnungsdauer des Prepro-cessors um ein Vielfaches großer ist. Ab n = 5 gibt es, egal wie groß k gewahltwurde, Instanzen, die innerhalb der 20 Minuten nicht vollstandig von demPreprocessor bearbeitet werden konnten. Diese Beobachtung ist sehr auffallig,da sie auf eine besondere Struktur der Instanzen hinweist. Die durch den vonuns entwickelten Preprocessor angewandten Techniken scheinen hier an ihreGrenzen zu stoßen, denn die Ersparnis von durchschnittlich 10 % der Klauselnund Literale rechtfertigt die Laufzeit des Preprocessors nicht.Als direktes Ergebnis der langen Berechnungszeiten des Preprocessors, die zum

Page 105: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 91

Teil die kompletten 20 Minuten des zur Verfugung stehenden Zeitrahmens be-anspruchen, treten dann auch die hohe Anzahl an nun nicht mehr gelostenInstanzen auf.Die Relation zwischen Aufwand und Nutzen des Preprocessors ist in diesenFallen nicht mehr gegeben. Die Laufzeit des Preprocessors ubertrifft bei allenInstanzen des ungewurzelten Kompatibilitatsproblems die Laufzeit des SAT-Solvers und verursacht somit außergewohnlich schlechte Ergebnisse bei dieserKlasse von Problemen.

Page 106: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

92 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

n k #simp min RT max RT avg RT solved +solved -solved10 20 15/15 0,03 0,06 0,05 0 0 010 40 15/15 0,03 0,07 0,06 0 0 010 60 15/15 0,05 0,07 0,06 0 0 020 20 15/15 0,17 1,1 0,59 0 0 020 40 15/15 0,41 1,36 0,86 -3 0 320 60 15/15 0,68 1,51 1,08 -1 0 130 20 15/15 0,86 7,94 3,59 0 0 030 40 15/15 2,62 13,58 7,48 0 1 130 60 15/15 3,24 10,09 7,27 1 2 150 50 10/15 46,73 146,19 92,91 0 0 050 75 6/15 64,06 162,9 113,71 0 0 050 100 5/15 128,7 158,15 147,84 0 0 0

Tabelle 5.12: Anzahl an simplifizierten Instanzen (#simp), sowie minimaler(min RT), maximaler (max RT) und durchschnittlicher (avg RT) Laufzeit desPreprocessor, zusammen mit der Veranderung der Anzahl geloster Instanzen(solved), der Anzahl an neu gelosten Instanzen (+solved), sowie der Anzahl annicht mehr gelosten Instanzen (-solved) durch Verwendung des Preprocessors inAbhangigkeit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. derMenge an gewurzelten Eingabebaumen (#Tree = k)

n k #simp min cls max cls avg cls min lits max lits avg lits10 20 15/15 10,95 13,34 12,12 -4,63 0,37 -2,0310 40 15/15 8,4 10,58 9,29 -5,81 0,51 -2,4710 60 15/15 6,65 8,06 7,33 -5,31 -0,46 -3,0920 20 15/15 7,07 16,63 9,27 1,36 8,19 2,6220 40 15/15 5,67 12,43 6,77 0,84 5,6 1,5220 60 15/15 4,78 6,16 5,62 0,44 1,3 0,9930 20 15/15 2,47 8,89 6,31 -3,59 4,46 1,5130 40 15/15 2,17 7,96 3,46 -3,86 3,81 -1,7430 60 15/15 2,01 5,64 2,72 -3,88 1,57 -2,5950 50 10/15 1,6 1,85 1,72 -4,94 -4,45 -4,750 75 6/15 1,53 1,67 1,6 -4,92 -4,63 -4,7850 100 5/15 1,47 1,5 1,48 -4,9 -4,85 -4,89

Tabelle 5.13: Anzahl an in weniger als 20 Minuten simplifizierten Instanzen(#simp), sowie minimaler (min cls), maximaler (max cls) und durchschnittli-cher (avg cls) Anteil an entfernten Klauseln, zusammen mit der minimalen (minlits), maximalen (max lits) und durchschnittlichen (avg lits) Veranderung derGesamtanzahl der Literale durch Verwendung des Preprocessors in Abhangig-keit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge angewurzelten Eingabebaumen (#Tree = k)

Page 107: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

5.5. ERGEBNISSE 93

n k #simp min RT max RT avg RT solved +solved -solved6 5 15/15 6,04 62,39 42,1 0 0 06 10 15/15 18,75 215,13 145,43 0 0 06 15 15/15 216,46 320,6 258,53 0 0 06 20 15/15 328,24 428,35 359,48 0 0 08 5 15/15 50,85 1200 721,92 -5 0 58 10 15/15 784,36 1200 1054,07 -9 0 98 15 15/15 1200 1200 1200 -8 0 88 20 15/15 1200 1200 1200 -6 0 610 5 15/15 705,42 1200 1144,86 -11 0 1110 10 4/15 1200 1200 1200 -3 0 310 15 0/15 0 0 0 0 0 012 5 12/15 1091,32 1200 1190,94 -10 0 1012 10 2/15 1200 1200 1200 -2 0 212 15 0/15 0 0 0 0 0 0

Tabelle 5.14: Anzahl an simplifizierten Instanzen (#simp), sowie minimaler(min RT), maximaler (max RT) und durchschnittlicher (avg RT) Laufzeit desPreprocessor, zusammen mit der Veranderung der Anzahl geloster Instanzen(solved), der Anzahl an neu gelosten Instanzen (+solved), sowie der Anzahl annicht mehr gelosten Instanzen (-solved) durch Verwendung des Preprocessors inAbhangigkeit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. derMenge an ungewurzelten Eingabebaumen (#Tree = k)

n k #simp min cls max cls avg cls min lits max lits avg lits6 5 15/15 11,93 15,34 12,39 9,98 12,53 10,326 10 15/15 12,06 15,1 12,46 9,99 12,39 10,316 15 15/15 12,1 12,1 12,1 9,99 9,99 9,996 20 15/15 12,12 12,12 12,12 9,99 9,99 9,998 5 10/15 8,46 11,93 9,9 7,22 9,98 8,358 10 6/15 10,13 10,13 10,13 8,41 8,41 8,418 15,20 0/15 0 0 0 0 0 010 5 2/15 8,46 8,46 8,46 7,22 7,22 7,2210 10,15 0/15 0 0 0 0 0 012 5 1/15 8,46 8,46 8,46 7,22 7,22 7,2212 10,15 0/15 0 0 0 0 0 0

Tabelle 5.15: Anzahl an in weniger als 20 Minuten simplifizierten Instanzen(#simp), sowie minimaler (min cls), maximaler (max cls) und durchschnittli-cher (avg cls) Anteil an entfernten Klauseln, zusammen mit der minimalen (minlits), maximalen (max lits) und durchschnittlichen (avg lits) Veranderung derGesamtanzahl der Literale durch Verwendung des Preprocessors in Abhangig-keit von der Anzahl an verschiedenen Taxa (#Taxa = n), bzw. der Menge anungewurzelten Eingabebaumen (#Tree = k)

Page 108: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

94 KAPITEL 5. DAS SUPERBAUM-KOMPATIBILITATSPROBLEM

Page 109: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Kapitel 6

Diskussion und Ausblick

Eine Diskussion der vorgestellten Techniken, Probleme und Ergebnisse sollnun die vorliegende Arbeit abschließen. Aus diesem Grund wird zunachst eineZusammenfassung in den beiden Hauptbereichen der Arbeit erstellt. Diese Re-kapitulierung bildet die Basis fur die darauf folgende Diskussion der aufgetre-tenen Probleme, der erzielten Ergebnisse, sowie moglicher weiterer Forschungs-ansatze in den angesprochenen Bereichen des Preprocessing von Erfullbarkeits-instanzen sowie dem Bearbeiten bioinformatischer Fragestellungen durch eineKodierung in SAT.

6.1 Preprocessor

Obwohl das Erfullbarkeitsproblem zu den NP-vollstandigen Problemengehort, und somit zu einer Gruppe von Problemen, fur die es zum heutigenZeitpunkt keine effizienten Losungsansatze gibt, wachst in den letzten Jahrendie Zahl der Anwendungen von SAT enorm. Denn zum Gluck stellt sich beiden meisten Problemen aus der realen Welt heraus, dass die Routinen undHeuristiken zur Generierung einer Losung des SAT-Solver durch die interneStruktur der Probleme erleichtert werden. Dies resultiert in vielen Fallen inim Vergleich zum worst case annehmbare Laufzeiten.Aber wie in allen Bereichen des Lebens gilt auch hier: “hoher, schneller,weiter”! Jedes Jahr messen sich die verschiedensten SAT-Solver, um denerfolgreichsten unter sich zu kuren. Standig werden neue Heuristiken undTechniken vorgestellt, die den Losungsprozess beschleunigen.Mit der Implementierung unseres Preprocessors ist es uns gelungen dieLeistung des SAT-Solvers SApperloT [Kot09] innerhalb der ublichen Be-rechnungszeit von 20 Minuten stark zu verbessern. So gelang es uns in einerMenge von 514 Probleme die Anzahl der nicht gelosten Instanzen von ehemals175 auf nun 135 zu verringern. Die durchschnittlich gesparte Berechnungszeitbetragt dabei 54 Sekunden (455,64 sec zu 549,81 sec), also mehr als 7 Stunden

95

Page 110: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

96 KAPITEL 6. DISKUSSION UND AUSBLICK

und 42 Minuten fur die Gesamtmenge an Problemen.Je langer die maximale Berechnungszeit des SAT-Solvers, desto geringerist der Vorteil der Anwendung eines Preprocessors. Bei einem Timeout von10000 Sekunden werden durch den Preprocessing-Schritt nur 6 Instanzenmehr gelost, bei 1200 Sekunden Timeout waren es noch 40. Allerdings wirddurch die Verwendung des Preprocessors immer noch wertvolle Berech-nungszeit fur die Gesamtheit an Instanzen gespart, bei einem Timeout von10000 Sekunden sparen wir fur jede der 514 Instanzen durchschnittlich 3Minuten und 16 Sekunden ein, also insgesamt uber 45 Stunden und 6 Minuten.

Leider sind die Erfolge des Preprocessors auf industriellen Instanzen nicht inder Form auf die Instanzen der Bioinformatik ubertragbar. Die Zuwachsratenan gelosten Instanzen durch Verwendung des Preprocessors liegt im bestenFall im niedrigen einstelligen Bereich. Die Implementierung der SatELiteTechniken von 2005 ist sowohl bei 1200 Sekunden, als auch bei 10000 SekundenTimeout schlechter als der SAT-Solver alleine.Diese Beobachtungen lassen erahnen, dass SAT-Instanzen aus der Bio-informatik vollkommen andere Strukturen besitzen, und somit anderePreprocessing-Techniken erfordern. Dort ist in Zukunft noch viel Potential furVerbesserungen und mogliche 2 Ansatze: zum Einen konnte man versuchendie Bioinformatik-Instanzen so anzupassen, dass sich die Strukturen denender restlichen Anwendungsinstanzen angleichen. Die aktuellen Preprocessor-techniken konnten dann auch bei diesen veranderten Problemen ihr Vorteileausspielen. Allerdings ware dazu eine Einarbeitung in das jeweilige kodierteProblem und die Kodierung an sich erforderlich, um dort die spezifischenStrukturen zu erkennen und hoffentlich beseitigen zu konnen.Eine andere Moglichkeit besteht darin, speziell auf bioinformatische Problemeabgestimmte Preprocessoren zu entwickeln. Fur den Implementierungsschrittwurde man aber zunachst auch tiefere Einsicht in die aktuellen Proble-me bekommen mussen, um die spezifischen Strukturen zu erkennen, undbasierend darauf neue Preprocessing-Techniken zu entwickeln. Der Vorteildieser zweiten Variante liegt dann in spateren Anwendungen. Da die neuenPreprocessing-Techniken auf die Bioinformatik-Probleme angepasst sind,sollten sie auch bisher unbekannte Kodierungen simplifizieren konnen, oh-ne erneut die Interna des kodierten Problems bzw. der Kodierung zu studieren.

Weiter interessante Forschungsrichtungen im allgemeinen Preprocessing wur-den auch schon wahrend der Arbeit angesprochen: wie verhalt sich z.B. dieLaufzeit des SAT-Solvers, wenn zusatzliche geblockte Klauseln eingefugt wer-den. Unsere Untersuchungen konnten bisher nur an der Oberflache dieses The-mengebiets kratzen. In Verbindung mit neuen Ideen, wie dem LBD solltendort noch viele Verbesserungsmoglichkeiten, vor allem auch fur Bioinformati-

Page 111: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

6.2. SUPERBAUM-KOMPATIBILITATSPROBLEM 97

sche Probleme, zu finden sein. Vor allem auch weil die betrachteten Klassen derBioinformatik-Instanzen alle einen sehr geringen Anteil an geblockten Klauselnbesitzen.

6.2 Superbaum-Kompatibilitatsproblem

Mit Hilfe der von uns entwickelten SAT-Kodierung fur das Superbaum-Kompatibilitatsproblem haben wir eine neue Moglichkeit geschaffendiese Aufgabenstellung zu losen. Dabei konnte die SAT-Kodierung des nichtNP-vollstandigen Kompatibilitatsproblems fur gewurzelte Baume nicht 1:1fur das NP-vollstandige Problem wiederverwendet werden, die grobe Strukturbeider Kodierungen stimmt aber uberein.Die Kodierung des ungewurzelten Kompatibilitatsproblems offenbarte schnelleine Komplexitat, die durch ihre Instanzgroße in den Anwendungen starkeingeschrankt ist. So sollten z.B. maximal 15 Eingabequartette nicht mehr als12 verschiedene Taxa beinhalten, um eine Losung innerhalb von 20 Minutenerwarten zu konnen.Aktuelle Forschungen haben diese Dimensionen bereits vor Jahren verlassenund nahern sich in beiden Werten dem dreistelligen Bereich. Man kann alsodavon ausgehen, dass die von uns entwickelte Kodierung in der Praxis keineRolle spielt, da die SAT-Instanz fur reale Daten aktueller Forschungen inihrer Dimension auf der Festplatte, bzw. im Hauptspeicher, mit der jetzigenTechnik nicht handhabbar ist. Daruberhinaus ware bei einer großen Mengevon Eingabebaumen die Wahrscheinlichkeit auf Kompatibilitat sehr gering.Der SAT-Solver wurde also, selbst wenn die Instanzgroße handhabbar wird,als Ergebnis unerfullbar liefern. Die Moglichkeit, dass mit Hilfe unsererKodierung ein nicht perfekter, dafur aber optimaler Baum konstruiert wird,ist in der aktuellen Umsetzung des Problems nicht gegeben und wurde einevollkommen neue Kodierung erfordern.Auch fur den Fall, dass die Kompatibilitat nur wegen einem der Einga-bebaume nicht moglich ist, konnen wir diesen Konflikt-Baum uber die von unsentwickelte SAT-Kodierung nicht identifizieren. Die einzige Moglichkeit mitder aktuellen Kodierung ware die Auffassung als maximum satisfiability-Problem. Bei diesem Problem wird die maximale Anzahl an Klauseln gesucht,die durch eine beliebige Variablenbelegung erfullt werden konnen. Der MAX-SAT-Solver sollte dann in der Lage sein alle Klauseln zu erfullen, die entwederden Aufbau des Superbaums, die Berechnung der Abdeckungsbereiche oderdie Depict-Eigenschaft der kompatiblen Baume gewahrleisten. Uber die nichterfullten Klauseln lassen sich dann die Eingabebaume identifizieren, die dieGesamtmenge an Eingabequartetten inkompatibel haben werden lassen.Alternativ konnte man auch, wenn man weiß, dass die Kompatibilitat nuran einem Quartett scheitert, der Reihe nach jedes Quartett aus der Menge

Page 112: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

98 KAPITEL 6. DISKUSSION UND AUSBLICK

der Eingabebaume entfernen, und mit dieser um 1 verringerten Menge dieSAT-Instanz zu erstellen und zu losen. Ist die Instanz erfullbar, so hat mandas Quartett identifiziert, welches die Inkompatibilitat der Ausgangsmengeverursacht hat.Diese angesprochenen Schwierigkeiten sind problemspezifisch und sollten nichtals allgemeines Urteil uber die Praktikabilitat von SAT in der Bioinformatikverstanden werden.

In der Arbeit konnte vor allem die Effektivitat des Preprocessings als Bestand-teil des Losungsprozesses eines Erfullbarkeitsproblems gezeigt werden. Vieleanwendungsbasierte SAT-Instanzen enthalten einen Großteil redundanter In-formationen und konnen durch den von uns implementierten Preprocessor zumTeil erheblich verkleinert werden.Gleichzeitig konnen vielversprechende Techniken des SAT-Solvings, z.B. derLBD-Wert, unter Umstanden nur schwer in die Welt des Preprocessings por-tiert werden, da die Komplexitat schnell ansteigt. Die Gefahr, dass der da-durch erhohte Aufwand im Preprocessing nicht durch einen Laufzeitgewinnbeim eigentlichen SAT-Solving ausgeglichen wird, muss beim Entwickeln neu-er Techniken immer im Hinterkopf behalten werden.

Page 113: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Literaturverzeichnis

[AS09] Gilles Audemard and Laurent Simon. Predicting learnt clausesquality in modern sat solvers. In IJCAI’09: Proceedings of the21st international jont conference on Artifical intelligence, pages399–404, San Francisco, CA, USA, 2009. Morgan Kaufmann Pu-blishers Inc.

[ASSU81] A. V. Aho, Y. Sagiv, T. G. Szymanski, and J. D. Ullman. In-ferring a tree from lowest common ancestors with an applicationto the optimization of relational expressions. SIAM Journal onComputing, 10(3):405–421, 1981.

[Bie04] Armin Biere. Resolve and expand. In In Proc. of SAT04, pages238–246. Springer, 2004.

[BJ09] Maria Luisa Bonet and Katherine St. John. Efficiently calculatingevolutionary tree measures using sat. In SAT, pages 4–17, 2009.

[Bol98] Bela Bollobas. Modern Graph Theory. Springer, corrected edition,July 1998.

[bwg] High-performance-computing bw - bwgrid. http://www.zdv.uni-tuebingen.de/dienstleistungen/computing/hardware/hpc-bw.html.

[CBFB07] Duhong Chen, Gordon J. Burleigh, and David Fernandez-Baca.Spectral partitioning of phylogenetic data sets based on compa-tibility. Systematic Biology, 56:623–632(10), August 2007.

[Coo71] Stephen A. Cook. The complexity of theorem-proving procedures.In STOC ’71: Proceedings of the third annual ACM symposiumon Theory of computing, pages 151–158, New York, NY, USA,1971. ACM.

[CTF+09] Fabien Corblin, Sebastien Tripodi, Eric Fanchon, Delphine Ro-pers, and Laurent Trilling. A declarative constraint-based methodfor analyzing discrete genetic regulatory networks. Biosystems,98(2):91–104, 2009.

99

Page 114: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

100 LITERATURVERZEICHNIS

[DD01] Olivier Dubois and Gilles Dequen. A backbone-search heuristicfor efficient solving of hard 3-sat formulae. In IJCAI’01: Pro-ceedings of the 17th international joint conference on Artificialintelligence, pages 248–253, San Francisco, CA, USA, 2001. Mor-gan Kaufmann Publishers Inc.

[DIM93] DIMACS. Satisability - suggested format.http://www.cs.ubc.ca/ hoos/SATLIB/Benchmarks/SAT/satformat.ps,May 8 1993.

[DLL62] Martin Davis, George Logemann, and Donald Loveland. A machi-ne program for theorem-proving. Commun. ACM, 5(7):394–397,1962.

[DP60] Martin Davis and Hilary Putnam. A computing procedure forquantification theory. J. ACM, 7(3):201–215, 1960.

[EB05] Niklas Een and Armin Biere. Effective preprocessing in satthrough variable and clause elimination. In In proc. SAT05, vo-lume 3569 of LNCS, pages 61–75. Springer, 2005.

[ES03] Niklas Een and Niklas Sorensson. An extensible sat-solver. InEnrico Giunchiglia and Armando Tacchella, editors, SAT, volu-me 2919 of Lecture Notes in Computer Science, pages 502–518.Springer, 2003.

[GJ79] Michael R. Garey and David S. Johnson. Computers and In-tractability: A Guide to the Theory of NP-Completeness. W. H.Freeman & Co., New York, NY, USA, 1979.

[HTW99] Monika Rauch Henzinger, Valerie King T, and Y Warnow. Con-structing a tree from homeomorphic subtrees, with applicationsto computational evolutionary biology. In Algorithmica, pages333–340, 1999.

[JBH10] Matti Jarvisalo, Armin Biere, and Marijn Heule. Blocked clauseelimination. In TACAS, pages 129–144, 2010.

[Kar72] R. M. Karp. Reducibility among combinatorial problems. InR. E. Miller and J. W. Thatcher, editors, Complexity of ComputerComputations, pages 85–103. Plenum Press, 1972.

[KM04] Sarfraz Khurshid and Darko Marinov. Testera: Specification-based testing of java programs using sat. AUTOM. SOFTW.ENG, 11:403–434, 2004.

Page 115: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

LITERATURVERZEICHNIS 101

[Kot09] Stephan Kottler. Description of the sapperlot solvers for the sat-competition, 2009. Wales.

[KRA+01] Henry Kautz, Yongshao Ruan, Dimitris Achlioptas, Carla Go-mes, Bart Selman, and Mark Stickel. Balance and filtering instructured satisfiable problems. In IJCAI’01: Proceedings of the17th international joint conference on Artificial intelligence, pa-ges 351–358, San Francisco, CA, USA, 2001. Morgan KaufmannPublishers Inc.

[Kul99] O. Kullmann. On a generalization of extended resolution. Dis-crete Appl. Math., 96-97(1):149–176, 1999.

[Leh06] Katharina Lehmann. The structure of real-world sat problems,2006. Diplomarbeit.

[LGMSO08] Ines Lynce, Ana Graca, Joao Marques-Silva, and Arlindo L.Oliveira. Haplotype inference with boolean constraint solving:An overview. In ICTAI (1), pages 92–100, 2008.

[Lib02] Paolo Liberatore. The complexity of checking redundancy of cnfpropositional formulae. In In Proc. 15th European Conference onArtificial Intelligence, pages 262–266. IEEE, IOS Press, 2002.

[LJHM07] Chih-Chun Lee, Jie-Hong R. Jiang, Chung-Yang (Ric) Huang,and Alan Mishchenko. Scalable exploration of functional depen-dency by interpolation and incremental sat solving. In ICCAD’07: Proceedings of the 2007 IEEE/ACM international conferenceon Computer-aided design, pages 227–233, Piscataway, NJ, USA,2007. IEEE Press.

[MFM04] Yogesh S. Mahajan, Zhaohui Fu, and Sharad Malik. Zchaff2004:An efficient sat solver. In IN SAT (SELECTED PAPERS, pages360–375, 2004.

[Mil67] Stanley Milgram. The small world problem. Psychology Today,1:61, 1967.

[MJSE94] W. Piel M. J. Sanderson, M. J. Donoghue and T. Eriksson. Tree-base: a prototype database of phylogenetic analyses and an inter-active tool for browsing the phylogeny of life. American Journalof Botany, 81(6):183, 1994.

[MMZ+01] Matthew W. Moskewicz, Conor F. Madigan, Ying Zhao, LintaoZhang, and Sharad Malik. Chaff: engineering an efficient sat sol-ver. In DAC ’01: Proceedings of the 38th annual Design Auto-

Page 116: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

102 LITERATURVERZEICHNIS

mation Conference, pages 530–535, New York, NY, USA, 2001.ACM.

[MS08] J. Marques-Silva. Practical applications of boolean satisfiability.pages 74–80, May 2008.

[MSS99] Joao P. Marques-Silva and Karem A. Sakallah. Grasp: A searchalgorithm for propositional satisfiability. IEEE Transactions onComputers, 48:506–521, 1999.

[NSW00] Meei Pyng Ng, Mike Steel, and Nicholas C. Wormald. The dif-ficulty of constructing a leaf-labelled tree including or avoidinggiven subtrees. Discrete Appl. Math., 98(3):227–235, 2000.

[Ols90] Gary Olson. Description of the newick tree format.http://evolution.genetics.washington.edu/phylip/newick doc.html,August 30 1990.

[OGS02] Richard Ostrowski, ric Grgoire, and Lakhdar Sas. Recovering andexploiting structural knowledge from cnf formulas. In In: Princip-les and Practice of Constraint Programming. Number 2470 in Lec-ture Notes in Computer Science, pages 185–199. Springer-Verlag,2002.

[Pag02] Rod Page. Modified mincut supertrees. In Workshop on Algo-rithms in Bioinformatics, 2002.

[Pia09] Raul Piaggio. Quartetsuite - supertrees by quartets.http://genome.cs.iastate.edu/supertree/download/QuartetSuite10.zip,June 01 2009.

[sat08] Sat race, 2006 + 2008. http://baldur.iti.uka.de/.

[sat09] Sat competition, 2007 + 2009. http://www.satcompetition.org/.

[SBWL10] M Shel Swenson, Francois Barbancon, Tandy Warnow, andC Randal Linder. A simulation study comparing supertree andcombined analysis methods using smidgen. Algorithms for Mole-cular Biology, 5(1):8, 2010.

[Sch88] M.J. Schutten. Practical job shop scheduling. Annals of Opera-tions Research, 83:161–177, 1988.

[SK92] B. Selman and H. Kautz. Planning as satisfiability. EuropeanConference on Artificial Intelligence, pages 359–363, 1992.

Page 117: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

LITERATURVERZEICHNIS 103

[SKK00] Carsten Sinz, Andreas Kaiser, and Wolfgang Kuchlin. Sat-basedconsistency checking of automotive electronic product data. InECAI Workshop, 2000.

[SP04] Sathiamoorthy Subbarayan and Dhiraj K Pradhan. Niver: Nonincreasing variable elimination resolution for preprocessing satinstances. In In Proc. 7th International Conference on Theoryand Applications of Satisfiability Testing (SAT, pages 276–291.Springer, 2004.

[SS03] Charles Semple and Mike Steel. Phylogenetics (Oxford LectureSeries in Mathematics and Its Applications, 24). Oxford Univer-sity Press, USA, March 2003.

[Ste92] Michael Steel. The complexity of reconstructing trees from quali-tative characters and subtrees. Journal of Classification, 9(1):91–116, January 1992.

[TK08] Nicolas J. Tourasse and Anne-Brit Kolst. Supercat: a supertreedatabase for combined and integrative multilocus sequence ty-ping analysis of the bacillus cereus group of bacteria (includingb. cereus, b. anthracis and b. thuringiensis). Nucleic Acids Res,36:461–468, 2008.

[Tse68] G. S. Tseitin. On the complexity of derivations in the proposi-tional calculus. Studies in Mathematics and Mathematical Logic,Part II:115–125, 1968.

[Val00] Alvaro del Val. On 2-sat and renamable horn. In Proceedingsof the Seventeenth National Conference on Artificial Intelligenceand Twelfth Conference on Innovative Applications of ArtificialIntelligence, pages 279–284. AAAI Press / The MIT Press, 2000.

[WBBE08] Andre Wehe, Mukul S. Bansal, J. Gordon Burleigh, and OliverEulenstein. Duptree: a program for large-scale phylogenetic ana-lyses using gene tree parsimony. Bioinformatics, 24(13):1540–1541, 2008.

[WGS03] Ryan Williams, Carla P. Gomes, and Bart Selman. Backdoors totypical case complexity. In IJCAI’03: Proceedings of the 18th in-ternational joint conference on Artificial intelligence, pages 1173–1178, San Francisco, CA, USA, 2003. Morgan Kaufmann Publis-hers Inc.

[WS02] Wei Wei and Bart Selman. Accelerating random walks. In InProc. 8th Intl. Conf. on the Princ. and Practice of ConstraintProgramming (CP-2002, pages 216–232. Springer, 2002.

Page 118: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

104 LITERATURVERZEICHNIS

Page 119: Masterarbeit Bioinformatik -  ... fileProf. Michael Kaufmann (Informatik) Wilhelm-Schickard-Institut f ur Informatik Universit at T ubingen Dr. Kay Nieselt (Bioinformatik)

Selbstandigkeitserklarung

Hiermit versichere ich, dass ich die vorliegende Masterarbeit selbstandig undnur mit den angegebenen Hilfsmitteln angefertigt habe und dass alle Stellen,die dem Wortlaut oder dem Sinne nach anderen Werken entnommen sind,durch Angaben von Quellen als Entlehnung kenntlich gemacht worden sind.Diese Masterarbeit wurde in gleicher oder ahnlicher Form in keinem anderenStudiengang als Prufungsleistung vorgelegt.

Ort, Datum Unterschrift