### Practical Algorithms for Linear Boolean-width

Chiel B. Ten Brinke, Frank J. P. Van Houten, Hans L. Bodlaender, Marc Herbstritt
2015 International Symposium on Parameterized and Exact Computation
In this paper, we give a number of new exact algorithms and heuristics to compute linear boolean decompositions, and experimentally evaluate these algorithms. The experimental evaluation shows that significant improvements can be made with respect to running time without increasing the width of the generated decompositions. We also evaluated dynamic programming algorithms on linear boolean decompositions for several vertex subset problems. This evaluation shows that such algorithms are often
more » ... h faster (up to several orders of magnitude) compared to theoretical worst case bounds. We first give an exact algorithm for computing optimal linear boolean decompositions, improving upon existing algorithms, and subsequently investigate several new heuristics through experiments, improving upon the work by Sharmin [12, Chapter 8]. We then study the practical relevance of these algorithms in a set of experiments by solving an instance of a vertex subset problem, investigating the number of equivalence classes compared to the theoretical worst case bounds. Preliminaries A graph G = (V, E) of size n is a pair consisting of a set of n vertices V and a set of edges In this paper we only consider simple, undirected graphs and assume we are given a total ordering on the vertices of a graph G. For a subset called a cut of the graph. Each cut (A, A) of G induces a bipartite subgraph G[A, A]. The neighborhood across a cut (A, A) for a subset X ⊆ A is defined as N (X) ∩ A. Definition 1 (Unions of neighborhoods). Let G = (V, E) be a graph and A ⊆ V . We define the set of unions of neighborhoods across a cut (A, A) as UN (A) = N (X) ∩ A X ⊆ A . The number of unions of neighborhoods is symmetric for a cut (A, A), i.e., |UN (A)| = |UN (A)| [8, Theorem 1.2.3]. Furthermore, for any cut (A, A) of a graph G it holds that |UN (A)| = #MIS(G[A, A]), where #MIS(G) is the number of maximal independent sets in G [17, Theorem 3.5.5]. Definition 2 (Decomposition tree). A decomposition tree of a graph G = (V, E) is a pair (T, δ), where T is a full binary tree and δ is a bijection between the leaves of T and vertices of V . If a is a node and L are its leaves, we write δ(a) = l∈L δ(l). So, for the root node r of T it holds that δ(r) = V . Furthermore, if nodes a and b are children of a node w, then (δ(a), δ(b)) is a partition of δ(w). In this paper we consider a special type of decompositions, namely linear decompositions. Definition 3 (Linear decomposition). A linear decomposition, or caterpillar decomposition, is a decomposition tree (T, δ) where T is a full binary tree and for which each internal node of T has at least one leaf as a child. We can define such a linear decomposition through a linear ordering π = π 1 , . . . , π n of the vertices of G by letting δ map the i-th leaf of T to π i . Definition 4 (Boolean-width). Let G = (V, E) be a graph and A ⊆ V . The boolean dimension of A is a function bool-dim : 2 V → R. bool-dim(A) = log 2 |UN (A)|. Let (T, δ) be a decomposition of a graph G. We define the boolean-width of (T, δ) as the maximum boolean dimension over all cuts induced by nodes of (T, δ). The boolean-width of G is defined as the minimum boolean-width over all possible full decompositions of G, while the linear boolean-width of a graph G = (V (G), E(G)) of size n is defined as the the minimum boolean-width over all linear decompositions of G. boolw(G) = min (T,δ) of G boolw(T, δ)