Maleki, H. (2019). Practical algorithms for Deletion to Small Components : With applications to planning and ILP [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/79312
-
Number of Pages:
94
-
Abstract:
This thesis considers the Deletion Into Small Components problem, which given an undirected graph G and an integer c, asks for a set D of vertices of G having minimum size such that every component of G\D has size at most c. The problem has long been known to have applications for measuring the vulnerability of computer networks and has recently found applications in AI Planning and Integer Linear Programming. Since the problem is NP-complete it is a challenging problem to design algorithms that are efficient on real-world instances. In this thesis the development and implementation of efficient algorithms, such as exact and heuristic algorithms, for this problem are presented. Our main contributions are the development and implementation of three exact algorithms and four heuristic algorithms for the problem. In particular, w.r.t. exact algorithms, we implement and improve upon a known fixed-parameter algorithm and develop and implement a SAT-encoding and an ILP-encoding for the problem. Concerning heuristic algorithms, we introduce two novel heuristics for the computation of lower bounds and one greedy algorithm for the computation of upper bounds. Finally, we implement a novel heuristic algorithm that allows the computation of lower bounds and upper bounds and is based on splitting the instance, using so-called balanced separators, into smaller sub-instances that are admissible for an exact method. Our experiments show that our exact algorithms are able to solve graphs with medium size (up to 200 vertices), the proposed separator based algorithm can solve the graphs with large size(up to 2000 vertices) and other heuristics performs well on very large graphs (up to 10000 vertices). Finally, it can be clearly observed that the relative performance of the various algorithms depends strongly on the respective structural properties of instances, which means that for almost every algorithm there are instances on which the algorithm performs best.
Diese These behandelt das "Deletion Into Small Components"Problem, welches für einen gegebenen ungerichteten Graphen G und einer natürlichen Zahl c, nach einer kleinstmöglichen Knotenmenge D fragt, so dass jede Komponente des Graphen G-D höchstens c Konten beinhaltet. Neben lange bekannten Anwendungen für das Problem für das Messen der Verwundbarkeit von Computer Netzwerken, sind vor kurzem auch wichtige Anwendungen des Problems für AI Planning sowie Integer Linear Programming hinzugekommen. Da das Problem NP-vollständig ist, ist das Design von effizienten Algorithmen für das Problem eine interessante Herausforderung. In dieser These entwickeln und implementieren wir effiziente Algorithmen, wie z.B. exakten aber auch heuristischen Algorithmen, für dieses Problem. Die Hauptbestandteile dieser These sind die Entwicklung und Implementierung von drei exakten sowie vier heuristischen Algorithmen für dieses Problem. Bei den drei exakten Algorithmen handelt es sich um eine stark verbesserte Version eines existierenden exakten Algorithmus sowie jeweils eine neu entwickelte Codierung des Problems nach SAT (propositional satisfiability) und ILP (Integer Linear Programming). Die heuristischen Algorithmen beinhalten zwei neue Ansätze zur Bestimmung von unteren Schranken sowie einen Greedy-Ansatz zur Bestimmung von oberen Schranken für das Problem. Der wohl interessanteste heuristische Ansatz erlaubt die gleichzeitige Bestimmung von unteren und oberen Schranken und basiert auf einer rekursiven Methode welche die Instanz mit Hilfe von sogenannten balancierten Separatoren in immer kleinere Teile aufspaltet, welche dann exakt gelöst werden können. Unsere Experimente zeigen, dass unsere exakten Methoden für Graphen bis zu einer Grösse von ca. 200 Knoten anwendbar sind, unsere auf balancierten Separatoren basierende Heuristik auf Graphen bis zu einer Grösse von ca. 2000 Knoten anwendbar ist, und alle weiteren heuristischen Ansätze sehr gut für Graphen bis zu einer Grösse von ca. 10000 Knoten funktionieren. Weiterhin ist deutlich erkennbar, dass die relative Performance der verschiedenen Algorithmen sehr stark von den jeweiligen strukturellen Eigenschaften der Instanzen abhängt und es somit beinahe für jeden Algorithmus Instanzen gibt für die der Algorithmus am besten geeignet ist.
de
Keywords:
Deletion into Small Components; Vertex Integrity; Component Order Connectivity; Exakte Algorithmen; Heuristiken; Implementation
de
Deletion into Small Components; Vertex Integrity; Component Order Connectivity; Exact Algorithms; Heuristics; Implementation