## On Reconfiguration Problems: Structure and Tractability

dc.contributor.author | Mouawad, Amer | |

dc.date.accessioned | 2015-02-18 21:05:14 (GMT) | |

dc.date.available | 2015-02-18 21:05:14 (GMT) | |

dc.date.issued | 2015-02-18 | |

dc.date.submitted | 2015 | |

dc.identifier.uri | http://hdl.handle.net/10012/9183 | |

dc.description.abstract | Given an n-vertex graph G and two vertices s and t in G, determining whether there exists a path and computing the length of the shortest path between s and t are two of the most fundamental graph problems. In the classical battle of P versus NP or ``easy'' versus ``hard'', both of these problems are on the easy side. That is, they can be solved in poly(n) time, where poly is any polynomial function. But what if our input consisted of a 2^n-vertex graph? Of course, we can no longer assume G to be part of the input, as reading the input alone requires more than poly(n) time. Instead, we are given an oracle encoded using poly(n) bits and that can, in constant or poly(n) time, answer queries of the form ``is u a vertex in G'' or ``is there an edge between u and v?''. Given such an oracle and two vertices of the 2^n-vertex graph, can we still determine if there is a path or compute the length of the shortest path between s and t in poly(n) time? A slightly different, but equally insightful, formulation of the question above is as follows. Given a set S of n objects, consider the graph R(S) which contains one vertex for each set in the power set of S, 2^S, and two vertices are adjacent in R(S) whenever the size of their symmetric difference is equal to one. Clearly, this graph contains 2^n vertices and can be easily encoded in poly(n) bits using the oracle described above. It is not hard to see that there exists a path between any two vertices of R(S). Moreover, computing the length of a shortest path can be accomplished in constant time; it is equal to the size of the symmetric difference of the two underlying sets. If the vertex set of R(S) were instead restricted to a subset of 2^S, both of our problems can become NP-complete or even PSPACE-complete. Therefore, another interesting question is whether we can determine what types of ``restriction'' on the vertex set of R(S) induce such variations in the complexity of the two problems. These two seemingly artificial questions are in fact quite natural and appear in many practical and theoretical problems. In particular, these are exactly the types of questions asked under the reconfiguration framework, the main subject of this thesis. Under the reconfiguration framework, instead of finding a feasible solution to some instance I of a search problem Q, we are interested in structural and algorithmic questions related to the solution space of Q. Naturally, given some adjacency relation A defined over feasible solutions of Q, size of the symmetric difference being one such relation, the solution space can be represented using a graph R_Q(I). R_Q(I) contains one vertex for each feasible solution of Q on instance I and two vertices share an edge whenever their corresponding solutions are adjacent under A. An edge in R_Q(I) corresponds to a reconfiguration step, a walk in R_Q(I) is a sequence of such steps, a reconfiguration sequence, and R_Q(I) is a reconfiguration graph. Studying problems related to reconfiguration graphs has received considerable attention in recent literature, the most popular problem being to determine whether there exists a reconfiguration sequence between two given feasible solutions; for most NP-complete problems, this problem has been shown to be PSPACE-complete. The purpose of our work is to embark on a systematic investigation of the tractability and structural properties of such problems under both classical and parameterized complexity assumptions. Parameterized complexity is another framework which has become an essential tool for researchers in computational complexity during the last two decades or so and one of its main goals is to provide a better explanation of why some hard problems (in a classical sense) can be in fact much easier than others. Hence, we are interested in what separates the tractable instances from the intractable ones and the fixed-parameter tractable instances from the fixed-parameter intractable ones. It is clear from the generic definition of reconfiguration problems that several factors affect their complexity status. Our work aims at providing a finer classification of the complexity of reconfiguration problems with respect to some of these factors, including the definition of the adjacency relation A, structural properties of the input instance I, structural properties of the reconfiguration graph, and the length of a reconfiguration sequence. As most of these factors can be numerically quantified, we believe that the investigation of reconfiguration problems under both parameterized and classical complexity assumptions will help us further understand the boundaries between tractability and intractability. We consider reconfiguration problems related to Satisfiability, Coloring, Dominating Set, Vertex Cover, Independent Set, Feedback Vertex Set, and Odd Cycle Transversal, and provide lower bounds, polynomial-time algorithms, and fixed-parameter tractable algorithms. In doing so, we answer some of the questions left open in recent work and push the known boundaries between tractable and intractable even closer. As a byproduct of our initiating work on parameterized reconfiguration problems, we present a generic adaptation of parameterized complexity techniques which we believe can be used as a starting point for studying almost any such problem. | en |

dc.language.iso | en | en |

dc.publisher | University of Waterloo | en |

dc.subject | reconfiguration | en |

dc.subject | solution space | en |

dc.subject | complexity | en |

dc.subject | fixed-parameter tractability | en |

dc.subject | independent set | en |

dc.subject | vertex cover | en |

dc.subject | dominating set | en |

dc.title | On Reconfiguration Problems: Structure and Tractability | en |

dc.type | Doctoral Thesis | en |

dc.pending | false | |

dc.subject.program | Computer Science | en |

uws-etd.degree.department | School of Computer Science | en |

uws-etd.degree | Doctor of Philosophy | en |

uws.typeOfResource | Text | en |

uws.peerReviewStatus | Unreviewed | en |

uws.scholarLevel | Graduate | en |