Matthias Bentert

Elements of Dynamic and 2-SAT Programming: Paths, Trees, and Cuts

Reihe:

Elements of Dynamic and 2-SAT Programming: Paths, Trees, and Cuts
DOWNLOAD COVER

In dieser Arbeit entwickeln wir schnellere exakte Algorithmen (schneller bezüglich der Worst-Case-Laufzeit) für Spezialfälle von Graphproblemen. Diese Algorithmen beruhen größtenteils auf dynamischem Programmieren und auf 2-SAT-Programmierung. Dynamisches Programmieren beschreibt den Vorgang, ein Problem rekursiv in Unterprobleme zu zerteilen, sodass diese Unterprobleme gemeinsame Unterunterprobleme haben. Wenn diese Unterprobleme optimal gelöst wurden, dann kombiniert das dynamische Programm diese Lösungen zu einer optimalen Lösung des Ursprungsproblems. 2-SAT-Programmierung bezeichnet den Prozess, ein Problem durch eine Menge von 2-SAT-Formeln (aussagenlogische Formeln in konjunktiver Normalform, wobei jede Klausel aus maximal zwei Literalen besteht) auszudrücken. Dabei müssen erfüllende Wahrheitswertbelegungen für eine Teilmenge der 2-SAT-Formeln zu einer Lösung des Ursprungsproblems korrespondieren. Wenn eine 2-SAT-Formel erfüllbar ist, dann kann eine erfüllende Wahrheitswertbelegung in Linearzeit in der Länge der Formel berechnet werden. Wenn entsprechende 2-SAT-Formeln also in polynomieller Zeit in der Eingabegröße des Ursprungsproblems erstellt werden können, dann kann das Ursprungsproblem in polynomieller Zeit gelöst werden. Im folgenden beschreiben wir die Hauptresultate der Arbeit.Bei dem Diameter-Problem wird die größte Distanz zwischen zwei beliebigen Knoten in einem gegebenen ungerichteten Graphen gesucht. Das Ergebnis (der Durchmesser des Eingabegraphen) gehört zu den wichtigsten Parametern der Graphanalyse. In dieser Arbeit erzielen wir sowohl positive als auch negative Ergebnisse für Diameter. Wir konzentrieren uns dabei auf parametrisierte Algorithmen für Parameterkombinationen, die in vielen praktischen Anwendungen klein sind, und auf Parameter, die eine Distanz zur Trivialität messen.Bei dem Problem Length-Bounded Cut geht es darum, ob es eine Kantenmenge begrenzter Größe in einem Eingabegraphen gibt, sodass das Entfernen dieser Kanten die Distanz zwischen zwei gegebenen Knoten auf ein gegebenes Minimum erhöht. Wir bestätigen in dieser Arbeit eine Vermutung aus der wissenschaftlichen Literatur, dass Length-Bounded Cut in polynomieller Zeit in der Eingabegröße auf Einheitsintervallgraphen (Intervallgraphen, in denen jedes Intervall die gleiche Länge hat) gelöst werden kann. Der Algorithmus basiert auf dynamischem Programmieren.k-Disjoint Shortest Paths beschreibt das Problem, knotendisjunkte Pfade zwischen k gegebenen Knotenpaaren zu suchen, sodass jeder der k Pfade ein kürzester Pfad zwischen den jeweiligen Endknoten ist. Wir beschreiben ein dynamisches Programm mit einer Laufzeit n^O((k+1)!) für dieses Problem, wobei n die Anzahl der Knoten im Eingabegraphen ist. Dies zeigt, dass k-Disjoint Shortest Paths in polynomieller Zeit für jedes konstante k gelöst werden kann, was für über 20 Jahre ein ungelöstes Problem der algorithmischen Graphentheorie war.Das Problem Tree Containment fragt, ob ein gegebener phylogenetischer Baum T in einem gegebenen phylogenetischen Netzwerk N enthalten ist. Ein phylogenetisches Netzwerk (bzw. ein phylogenetischer Baum) ist ein gerichteter azyklischer Graph (bzw. ein gerichteter Baum) mit genau einer Quelle, in dem jeder Knoten höchstens eine ausgehende oder höchstens eine eingehende Kante hat und jedes Blatt eine Beschriftung trägt. Das Problem stammt aus der Bioinformatik aus dem Bereich der Suche nach dem Baums des Lebens (der Geschichte der Artenbildung). Wir führen eine neue Variante des Problems ein, die wir Soft Tree Containment nennen und die bestimmte Unsicherheitsfaktoren berücksichtigt. Wir zeigen mit Hilfe von 2-SAT-Programmierung, dass Soft Tree Containment in polynomieller Zeit gelöst werden kann, wenn N ein phylogenetischer Baum ist, in dem jeweils maximal zwei Blätter die gleiche Beschriftung tragen. Wir ergänzen dieses Ergebnis mit dem Beweis, dass Soft Tree Containment NP-schwer ist, selbst wenn N auf phylogenetische Bäume beschränkt ist, in denen jeweils maximal drei Blätter die gleiche Beschriftung tragen.Abschließend betrachten wir das Problem Reachable Object. Hierbei wird nach einer Sequenz von rationalen Tauschoperationen zwischen Agentinnen gesucht, sodass eine bestimmte Agentin ein bestimmtes Objekt erhält. Eine Tauschoperation ist rational, wenn beide an dem Tausch beteiligten Agentinnen ihr neues Objekt gegenüber dem jeweiligen alten Objekt bevorzugen. Reachable Object ist eine Verallgemeinerung des bekannten und viel untersuchten Problems Housing Market. Hierbei sind die Agentinnen in einem Graphen angeordnet und nur benachbarte Agentinnen können Objekte miteinander tauschen. Wir zeigen, dass Reachable Object NP-schwer ist, selbst wenn jede Agentin maximal drei Objekte gegenüber ihrem Startobjekt bevorzugt und dass Reachable Object polynomzeitlösbar ist, wenn jede Agentin maximal zwei Objekte gegenüber ihrem Startobjekt bevorzugt. Wir geben außerdem einen Polynomzeitalgorithmus für den Spezialfall an, in dem der Graph der Agentinnen ein Kreis ist. Dieser Polynomzeitalgorithmus basiert auf 2-SAT-Programmierung.