Finding Optimal Solutions for Covering and Matching Problems
Total Page:16
File Type:pdf, Size:1020Kb
Finding Optimal Solutions for Covering and Matching Problems Dissertation zur Erlangung des akademischen Grades doctor rerum naturalium (Dr. rer. nat.) vorgelegt dem Rat der Fakult¨at fur¨ Mathematik und Informatik der Friedrich-Schiller-Universit¨at Jena von Dipl.-Inform. Hannes Moser geboren am 18.11.1978 in Munchen¨ Gutachter Prof. Dr. Rolf Niedermeier (Friedrich-Schiller-Universit¨at Jena) • Prof. Dr. Iyad Kanj (DePaul University, Chicago, U.S.A.) • Prof. Dr. Dimitrios Thilikos (National and Kapodistrian University of Athens, • Griechenland) Tag der ¨offentlichen Verteidigung: 17. November 2009 Zusammenfassung Diese Arbeit besch¨aftigt sich mit kombinatorischen Problemen, welche als Verall- gemeinerungen der beiden klassischen Graphprobleme Vertex Cover und Ma- ximum Matching aufgefasst werden k¨onnen. Das Vertex Cover-Problem ist wie folgt definiert. Gegeben ein ungerichteter Graph, finde eine kleinstm¨ogliche Knotenteilmenge, die jede Kante abdeckt“, d.h. dass einer der beiden Endpunkte ” jeder Kante in der Knotenteilmenge liegt. Dieses Problem wird auch oft Kno- ” tenuberdeckungsproblem“¨ genannt. Das Maximum Matching-Problem fragt nach einer gr¨oßtm¨oglichen Kantenteilmenge in einem ungerichteten Graphen, so dass sich die gew¨ahlten Kanten keinen Endpunkt teilen. Dieses Problem sucht also nach einer m¨oglichst großen Anzahl von Knotenpaaren, die durch eine Kante verbunden sind. In bipartiten Graphen wird dieses Problem auch oft Heirats- ” problem“ genannt. Sowohl Vertex Cover als auch Maximum Matching haben eine lange Geschichte; diese Probleme wurden schon in den Anfangsjahren der Informa- tik untersucht und sind immer noch Gegenstand der aktuellen Forschung. Es gibt fur¨ beide Probleme viele Anwendungen, beispielsweise in der Bioinformatik, der Computer-Chemie oder auch in der Verkehrsplanung. Maximum Matching wird in unz¨ahligen Anwendungen als Hilfsroutine zur L¨osung anderer Aufgaben eingesetzt. Ein fundamentaler Unterschied von Vertex Cover und Maximum Mat- ching ist ihre algorithmische Komplexit¨at: w¨ahrend Maximum Matching in Polynomzeit l¨osbar ist, was ublicherweise¨ als effizient angesehen wird, ist Ver- tex Cover NP-schwer. Das bedeutet, dass es vermutlich keinen Polynomzeital- gorithmus fur¨ Vertex Cover gibt. Beide Probleme haben aber auch Gemein- samkeiten, die sich in der beiden Problemen zugrundeliegenden Struktur Kante“ ” widerspiegeln. Tats¨achlich liegt diesen Gemeinsamkeiten auch ein beruhmtes¨ Er- gebnis von K¨onig zugrunde, welches besagt, dass Vertex Cover und Maximum Matching in bipartiten Graphen ¨aquivalent sind und damit Vertex Cover in bipartiten Graphen ebenfalls in Polynomzeit l¨osbar ist. Die Probleme, die in dieser Arbeit untersucht werden, lassen sich grob in Kno- tenuberdeckungsprobleme¨ und generalisierte Matching-Probleme unterteilen. Die Knotenuberdeckungsprobleme¨ k¨onnen wie folgt beschrieben werden. Fur¨ eine be- stimmte Grapheigenschaft und gegebenem Graph, l¨osche m¨oglichst wenige Kno- ten, so dass der resultierende Graph die besagte Grapheigenschaft besitzt. Ver- tex Cover entspricht diesem Problem mit Grapheigenschaft kantenfrei“. Wir ” formulieren also die Knotenuberdeckungsprobleme¨ als Knotenl¨oschungsprobleme, d.h. statt eine gewisse Struktur (wie z.B. Kanten) zu uberdecken,¨ sprechen wir von der Zerst¨orung der Struktur mit Hilfe von Knotenl¨oschungen. Die Matching- iii iv Zusammenfassung Probleme k¨onnen wie folgt beschrieben werden. Gegeben sei ein ungerichteter Graph. Finde eine gr¨oßtm¨ogliche Anzahl von Kopien eines fest vorgegebenen zu- • sammenh¨angenden Graphen mit mindestens drei Knoten, die paarweise knotendisjunkt sind. Finde eine gr¨oßtm¨ogliche Anzahl von Kanten, die paarweise einen gewissen • Mindestabstand haben mussen.¨ Diese Probleme sind alle NP-schwer, d.h. es kann vermutlich keine Polynomzeital- gorithmen zum Finden einer optimalen L¨osung geben. Doch auch fur¨ NP-schwere Probleme k¨onnen oft positive Resultate erzielt werden. Eine M¨oglichkeit sind Heuristiken, die oft bei bestimmten Instanzen in der Praxis sehr gute L¨osungen liefern, deren Laufzeiten und/oder L¨osungsguten¨ aber nicht bewiesen werden k¨onnen. Eine weitere Herangehensweise sind Approximationsalgorithmen, wel- che in Polynomzeit eine L¨osung finden, die nur um einen beweisbaren Faktor von einer optimalen L¨osung abweicht. Die Probleme, die in dieser Arbeit behandelt werden, sind jedoch alle im besten Fall nur mit einem konstanten Faktor appro- ximierbar, was in der Praxis oftmals nicht ausreichend ist. Eine weiterer Ansatz sind parametrisierte Algorithmen. Die Grundidee hierbei ist, die kombinatorische Komplexit¨at eines NP-schweren Problems nicht nur bezuglich¨ der Eingabegr¨oße zu analysieren, sondern auch einen geschickt gew¨ahlten Parameter mit in die Analyse einfließen zu lassen. Ein Problem ist festparameter-handhabbar bezuglich¨ eines Parameters k, wenn eine optimale L¨osung einer Instanz der Gr¨oße n in Zeit f(k) poly(n) gefunden werden kann. Die Idee dahinter ist, dass man fur¨ · Instanzen mit kleinem Parameter gute Laufzeiten erh¨alt, unabh¨angig von der Gesamtgr¨oße der Eingabeinstanz. Diese Arbeit besch¨aftigt sich im Wesentlichen mit diesem parametrisierten Ansatz. Ein wichtiges Konzept, um zu zeigen, dass ein parametrisiertes Problem festparameter-handhabbar ist, sind Problemkerne. Ein Problemkern ist grob gesagt eine in Polynomzeit konstruierbare Instanz, die zur Eingabeinstanz ¨aquivalent ist, aber deren Gr¨oße nur von dem Parameter (und nicht mehr von der Eingabegr¨oße) abh¨angig ist. Aus einer optimalen L¨osung fur¨ den Problemkern kann man dann eine optimale L¨osung fur¨ die Eingabeinstanz berechnen. Im Folgenden werden die Ergebnisse dieser Arbeit im Uberblick¨ be- schrieben. Bounded-Degree Vertex Deletion. Hierbei handelt es sich um das Problem, einen gegebenen Graph durch L¨oschen von maximal k Knoten in einen Graph mit konstantem Maximalgrad zu uberf¨ uhren.¨ Das wichtigste Ergebnis dazu ist ein Al- gorithmus, der in polynomieller Zeit zwei Knotenteilmengen berechnet, so dass man davon ausgehen kann, dass eine Knotenteilmenge immer in einer optimalen L¨osung ist, dass die andere von der Suche nach einer optimalen L¨osung ausge- schlossen werden kann, und dass eine optimale L¨osung fur¨ den Rest des Graphen Zusammenfassung v eine bestimmte Mindestgr¨oße besitzt. Dieses Ergebnis liefert einen Problemkern mit O(k1+ǫ) Knoten fur¨ ein beliebiges konstantes ǫ> 0. Weitere Ergebnisse sind ein parametrisierter Algorithmus mit der Laufzeit O((d +2)k + kn) und ein paar schnellere Algorithmen fur¨ einen Spezialfall des Problems. Weiterhin wird gezeigt, dass das Problem vermutlich nicht mehr festparameter-handhabbar bezuglich¨ Pa- rameter k ist, wenn der Maximalgrad des Zielgraphen Teil der Eingabe ist. Regular-Degree Vertex Deletion. Hierbei handelt es sich um das Problem, einen Graph durch L¨oschen von maximal k Knoten in einen regul¨aren Graph zu uberf¨ uhren.¨ Dieses Problem hat eine offensichtliche Ahnlichkeit¨ zu Bounded- Degree Vertex Deletion, verh¨alt sich aber aufgrund von hier nicht n¨aher erl¨auterten Eigenschaften in wesentlichen Aspekten deutlich anders. Fur¨ dieses Problem wird gezeigt, dass es NP-schwer und festparameter-handhabbar bezuglich¨ Parameter k ist. Das Hauptergebnis ist ein Problemkern mit O(k3) Knoten. Knotenl¨oschungsprobleme und iterative Kompression. Iterative Kompression ist eine im Jahr 2004 entwickelte Technik, die auf struktureller In- duktion und Kompression von Zwischenl¨osungen basiert. Diese Technik wurde in den letzten Jahren erfolgreich zur L¨osung von einigen jahrelang offenen Problemen eingesetzt. Fast alle diese Probleme sind Knotenl¨oschungsprobleme. In beinahe allen Anwendungen dieser Technik wird eine Kompressionsaufgabe gel¨ost, wel- che bei einer gegebenen Zwischenl¨osung nach einer davon disjunkten kleineren L¨osung fragt. Fur¨ eine große Klasse von Knotenl¨oschungsproblemen wird gezeigt, fur¨ welche F¨alle die Kompressionsaufgabe NP-schwer ist und fur¨ welche F¨alle sie in Polynomzeit gel¨ost werden kann. Fur¨ die in Polynomzeit l¨osbaren F¨alle ergibt sich daraus auch direkt ein effizienter Festparameter-Algorithmus fur¨ das entsprechende Knotenl¨oschungsproblem, unter anderem fur¨ einen Spezialfall des oben beschriebenen Bounded-Degree Vertex Deletion. Graph Packing. Bei diesem Problem geht es darum, in einem gegebenen Graph mindestens k knotendisjunkte Kopien eines festen Graphen H zu finden. Es wird zuerst ein Problemkern mit O(k2) Knoten fur¨ das Problem, mindestens k knotendisjunkte Dreiecke zu finden, gezeigt. Dieses Ergebnis verbessert ein be- kanntes Resultat und hat den Vorteil, dass es auf beliebige zusammenh¨angende h 1 Graphen H erweitert werden kann, was zu einem Problemkern mit O(k − ) Kno- ten fuhrt,¨ wobei h die Anzahl der Knoten in H ist. Induced Matching. Hier geht es darum, mindestens k Kanten zu finden, so dass sie paarweisen Abstand mindestens zwei haben. Bezuglich¨ des Para- meters k ist dieses Problem vermutlich nicht festparameter-handhabbar, daher wird die parametrisierte Komplexit¨at dieses Problems auf speziellen Graphklas- sen untersucht. Untersucht werden unter anderem planare Graphen, Graphen mit beschr¨anktem Knotengrad, bipartite Graphen und Graphen mit beschr¨ankter vi Zusammenfassung Baumweite. Das Hauptergebnis ist ein Problemkern der Gr¨oße O(k) in planaren Graphen. Maximum s-Plex. Bei diesem Problem geht es darum, in einem gegebenen Graph einen induzierten Teilgraph zu finden, in dem jeder Knoten zu maxi- mal s 1 anderen nicht benachbart ist. Dabei soll die Anzahl der Knoten in dem − Teilgraph