Competitive Graph Searches
Résumé
We exemplify an optimisation criteria for divide-and-conquer algorithms with a technique called generic competitive graph search. The technique is then applied to solve two problems arising from biocomputing, so-called \emph{Common Connected Components} and \emph{Cograph Sandwich}. The first problem can be defined as follows: given two graphs on the same set of $n$ vertices, find the coarsest partition of the vertex set into subsets which induce connected subgraphs in both input graphs. The second problem is an instance of sandwich problems: given a partial subgraph $G_1$ of $G_2$, find a partial subgraph $G$ of $G_2$ that is partial supergraph of $G_1$ (sandwich), and that is a cograph. For the former problem our generic algorithm not only achieves the current best known performance on arbitrary graphs and forests, but also improves by a $\log n$ factor when the input is made of planar graphs. However, our complexity for intervals graphs is slightly lower than a recent result. For the latter problem, we first study the relationship between the common connected components problem and the cograph sandwich problem, then, using our competitive graph search paradigm, we improve the calculation of cograph sandwiches from $O(n(n+m))$ downto $O(n+m\log^2 n)$, where $n$ is the number of vertices and $m$ of total edges.