Evaluation of an MSO-Solver
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
Dept. of Computer Science, RWTH Aachen University, Germany
Abstract. A fundamental theorem of Courcelle states that every problem definable in Monadic Second-Order Logic (MSO) is solvable in linear
time on graphs of bounded treewidth. In this paper, we report on our
ongoing effort to develop a general purpose software tool designed to
solve MSO-definable optimization and decision problems on graphs of
small treewidth. We discuss the theoretical underpinnings of our tool
and present experimental results, which indicate that for some natural
optimization problems MSO based approaches might be a suitable alternative to ILP solvers.
1
Introduction
Several real-world optimization problems can be modeled by graphs with small
treewidth. Interesting examples include optimization problems for train and road
networks when the underlying network has low treewidth. For instance, many
local railway networks have a generic star-like structure connecting a central
station with nearby suburban stations.
A well-known example is the Station Location problem [23, 26, 35]. Here
we are given a railway network together with information on the population and
their use of the railway infrastructure. The problem is to add new stops in the
existing railway network so as to maximize accessibility of the railway infrastructure by the population. A variation is the Bus Stop Location problem [17],
where one has to locate the minimum number of bus stops required to ensure
that no passenger need walk more than a specified distance from his normal
boarding point to reach an express bus stop.
In practice, one strategy to tackle such problems is to artificially transform
the problem into easier subproblems on path-like graphs. For instance, one of
the approaches Wagner lists in her survey [35] is to decompose the original NPcomplete set-cover-type problem into subproblems that are modeled by only a
few line segments. For such subproblems, the underlying set covering problem
has the “consecutive ones property” which ensures that it can be solved in polynomial time by an LP-relaxation [16, 35]. Unfortunately, there might be cases
where the consecutive ones property does not hold, or when the given input instance is not splittable into appropriate subproblems. For example, if the task is
to find good locations for transmitters to cover an existing railway network with
mobile Internet access, interference and obstacles can easily destroy the consecutive ones property. Similarly, such problems often become much harder once we
add additional constraints. For example, connectivity is an important aspect for
2
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
mesh-like wireless networks such as IEEE 802.11s. Finally, we could have multiple optimization criteria like using the minimum number of frequencies to reach
the maximum number of customers, or add a minimum amount of new bus stops
to benefit a maximum number of customers [29]. Of course, LP or ILP solvers
can be used when the problems admit an ILP formulation. A large number of
problems of practical interest fall under this category. Another option is to develop tailor-made algorithms that exploit the underlying tree-like structure. It
is, however, not clear whether these algorithms will be faster than general ILP
solvers. Moreover, they take considerable time and energy to develop. Generic
solvers are hence a very useful tool to have, because they alleviate the need to
develop customized algorithms, and usually it takes a lot less effort to implement
the problem specification than to come up with good algorithms.
In this paper, we report on our generic software tool that solves MSO definable optimization and decision problems for graphs of small treewidth. MSO is a
powerful language that has a very rich expressive power and allows to express optimization problems in a natural manner. For example, connectivity constraints
can easily be modeled. Many people, however, consider the theorems [1, 5, 10]
underlying our approach as purely theoretical. For instance, Niedermeier writes
in his well-known textbook on parameterized algorithms: It must be emphasized, however, that the now described methodology is of purely theoretical interest because the associated running times suffer from huge constant factors and
combinatorial explosions with respect to the parameter treewidth. [. . . ] After establishing fixed-parameter tractability in this way, as a second step one should
then head for a concrete, problem-specific algorithm with improved efficiency [28,
p. 170f].
Overview. The paper is organized as follows. Firstly, we briefly recap treewidth,
MSO and how MSO-definable optimization problems can be solved in theory.
We then highlight the technical difficulties in implementing the theoretical algorithms, and how we try to circumvent the problems. We then provide experimental results for four important, natural graph problems, namely Minimum
Vertex Cover, Minimum Dominating Set, 3-Colorability, and Minimum Connected Dominating Set. The majority of the instances that we
deal with are grids and subgraphs of grids. On these instances, Minimum Vertex Cover and 3-Colorability are solvable in polynomial time (because the
graphs are bipartite) and the LP-relaxations of the respective ILP formulations
already yield optimal results. Hence, our tool has limited practical utility for
such problems. However, for the two domination problems, our tool outperforms
CPLEX on large instances, even if we allow CPLEX to return non-optimal solutions. Finally, we provide experimental results for a graph obtained from a real
world railway network.
2
MSO-definable Optimization Problems
In graph theory, treewidth and pathwidth are two important parameters that
describe how close a given graph is to a tree or a path, respectively. Measur-
Evaluation of an MSO-Solver
3
ing the tree-likeness of a graph is helpful as it not only gives structural insight,
but because many NP-complete problems are easy to solve on graphs of small
treewidth. Indeed Courcelle’s celebrated result states that any problem expressible in Monadic Second Order Logic (MSO) is linear time solvable on graphs
of bounded treewidth [5]. As mentioned above, instances of real-world problems often have low treewidth. This fact coupled with Courcelle’s Theorem gives
hope that there exist algorithms for many NP-complete problems that compute
optimal solutions on real-world instances in a reasonable time. However, one
cannot blindly implement the approach in [5] as this requires the construction
of a tree automaton, for which the power set construction easily consumes too
much memory. Hence, it is of interest to develop a generic software tool that can
tackle such problems and produce optimal solutions in a reasonable time.
Monadic Second-Order Logic (MSO) extends First-Order Logic by quantification over sets of objects, see, e.g., [13]. MSO is a convenient logic to express
properties since it resembles the way we specify properties in a natural language.
Therefore, MSO typically allows for a natural expression of constraints. In the
LinMSO framework, such MSO-definable constraints can be used to express linear optimization problems: Let ϕ(U1 , . . . , Ul ) be an MSO-formula with free set
variables U1 , . . . , Ul , and let α1 , . . . , αl ∈ Z be integers. For a graph G = (V, E)
the problem of computing
l
nX
o
min
αk |Uk | U1 , . . . , Ul ⊆ V and G |= ϕ(U1 , . . . , Ul )
k=1
is called a LinMSO-definable optimization problem. For example, the following
well-known graph problems Minimum Vertex Cover and Minimum Dominating Set or the decision problem 3-Colorability can be written as:
– min |C| C ⊆ V and G |= vc(C) ,
– min |D| D ⊆ V and G |= ds(D) , and
– min 0 G |= 3col ,
where
vc(C) = ∀x∀y(¬adj (x, y) ∨ x ∈ C ∨ y ∈ C)
ds(D) = ∀x(x ∈ D ∨ ∃y(y ∈ D ∧ adj (x, y)))
3
h _
^
(x ∈ Ri ) ∧ (¬x ∈ Ri ∨ ¬x ∈ Rj ) ∧
3col = ∃R1 ∃R2 ∃R3 ∀x
i=1
∀x∀y ¬adj (x, y) ∨
3
^
i6=j
i
(¬x ∈ Ri ∨ ¬y ∈ Ri )
i=1
Furthermore, MSO allows to take the transitive closure of the edge relation [4]. For example, connectivity constraints can easily be added by expressing
that a set U is connected iff for all non-empty, proper subsets R of U there is an
4
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
edge from R into U \ R. In MSO, this translates into
connected (U ) := ∀R (∀x(x ∈ R ∧ x ∈ U )) ∧
∃x (x ∈ R) ∧
∃x (x ∈
/ R ∧ x ∈ U)
→ ∃x∃y(adj(x, y) ∧ x ∈ R ∧ y ∈
/ R ∧ y ∈ U)
If R is a subset of U ,
R is not empty, and
R is a proper subset of U ,
then we have an edge.
The Minimum Connected
Dominating Set problem can then conveniently
be written as min |D| D ⊆ V and G |= ds(D) ∧ connected (D) .
The MSO model checking problem is defined as follows: given an MSOformula ϕ and a graph G, decide whether G is a model for ϕ. While this problem
is PSPACE-complete [34] for general graphs, it is significantly easier on graphs
of bounded treewidth. Treewidth is a graph parameter that essentially measures
how similar a graph is to a tree. If a graph has small treewidth, it allows for a
tree or path decomposition of small width, which in essence exposes the underlying tree structure of the graph. The definition of treewidth and the details of
constructing a tree-decomposition are not required for following this paper and
hence are omitted. We refer the reader to surveys such as [2, 3].
Courcelle’s Theorem [5] states that any problem definable in MSO can be
solved in linear time on graphs of bounded treewidth. This can be generalized
to a rich class of counting and optimization problems including the LinMSOframework [1, 10]. It is well-known [12, 32] that the model checking problem for
MSO can be solved by constructing a finite-state bottom-up tree automaton.
These methods can be extended to tree automata that recognize a tree decomposition of the input graph if and only if the graph is a model for the MSO
formula, see, e.g. [1, 14].
However, it turns out that even for trivial problems like testing connectivity,
the straightforward approach of constructing the tree automaton is infeasible
in practice [6, 9, 18, 19, 30]. For most formulas, the problem lies in the state explosion in the required power-set construction. This is even the case [30] when
optimized software like MONA [20] is used, which has been designed to overcome
some of these difficulties [21].
Recently, there have been a couple of approaches to avoid the state explosion problems. In [18, 19], the authors consider Monadic Datalog. In [8, 9], the
automata are constructed on-the-fly and the power-set construction is avoided
by considering only existential formulas without universal quantifiers. To ease
the specification of such fly-automata, “special treewidth” is introduced in [7].
Here we use a new approach that essentially works as follows (the details are
in [22]). Our starting point is a simple algorithm that evaluates the formula ϕ
on the input graph G = (V, E) in a recursive manner. If, for example, the
formula is ∃Rψ(R) for a set variable R, the algorithm checks whether G |= ψ(U )
holds for all sets U ⊆ V . On a structure with n elements, this straight-forward
recursive model-checking algorithm takes time O((2n + n)q ) for a formula that
has q nested quantifiers, but only requires polynomial space. In particular, one
does not need to use the expensive power-set construction which turned out to
Evaluation of an MSO-Solver
Minimum Dominating Set
5
Minimum Vertex Cover
graph
memory usage running time graph
memory usage running time
path 1 × 200 ≈ 483 MB
≈ 3′ 59′′
path 1 × 200 ≈ 439 MB
≈ 3′ 25′′
′
′′
grid 2 × 100 ≈ 1354 MB
≈ 24 42
grid 2 × 100 ≈ 1107 MB
≈ 17′ 28′′
Table 1. Running times and memory usage of the first prototype implementation
developed in 2008 for two standard graph optimization problems.
cause problems in the practical application of the automata theoretic approach.
We then modified this simple algorithm to use dynamic programming on the
tree decomposition. The extra information we need to save in the tables for the
dynamic programming can be shown to be bounded in terms of the length kϕk
of the input formula and the treewidth w only. Therefore, for bounded treewidth
and constant ϕ, the total running time is O(n). In general the constant factors
in the O(n) cannot be bounded by an elementary function [15]. For concrete
problems we can sometimes give rather precise upper bounds on the size of these
tables. For instance, for the Minimum Dominating Set problem, we can show
that each table contains at most O(3w ) entries, and each such entry has size at
most a polynomial in w. The running time of our generic approach can then be
bounded by O(5w poly(w)n) [22]. We remark that the currently best specialized
algorithm for this problem [33] requires subset convolution techniques to process
the O(3w ) entries in time O(3w poly(w)).
3
Implementation
Our implementation is written in C++. Its development started in 2008, and
the first prototype was able to solve Minimum Vertex Cover and Minimum
Dominating Set on small grids only. This took a large amount of time and
memory on standard computer hardware, as indicated in Table 1. Since then we
have introduced several improvements in the algorithm and the implementation.
The current version consists of roughly 14,000 lines of code. We use the Google
sparse table library1 for efficient hash sets and hash maps, which are significantly
faster than the STL versions provided by gcc 2 . The implementation does not
utilize multiple threads to benefit from today’s multi-core architectures, but
in principle the approach is well-suited for parallelization due to the way the
dynamic programming works. We plan to add multi-threading support in the
future. We note that we are also able to solve problems beyond the LinMSO
framework: Courcelle’s Theorem has been extended to a much richer class of
problems. In particular, using appropriate semiring homomorphisms one can, for
example, also enumerate all solutions or count their number [10]. Therefore, even
more complicated optimization criteria can be specified. Consider, for example,
1
2
http://code.google.com/p/google-sparsehash/
http://google-sparsehash.googlecode.com/svn/trunk/doc/performance.html
6
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
the case that one wants to find pareto solutions under two optimization goals,
such as minimizing the number of new bus stops to benefit a maximum number
of customers. For, one only needs to provide an appropriate homomorphism or
“evaluation function.” The standard homomorphism for decision and optimizing
solutions (find the minimum or maximum size solution or output such a solution)
are already available. In the future, we plan to implement a plugin system such
that arbitrary homomorphisms can easily be used.
In what follows, we shall briefly describe those improvements to the implementation and the underlying algorithms that had the largest impact on the
running times and memory usage.
Implementation Improvements. In the dynamic programming framework, objects are stored in tables and looked up multiple times. As usual we have a table
for each node of the tree decomposition, which contains a set of objects that describe partial solutions. By the pigeon-hole principle, we know that many of these
objects are contained in many different places at the same time, which wastes a
lot of memory. Additionally, full comparisons to store or retrieve these objects
are very expensive. We now guarantee that each complex object is stored only
once. This is possible because they are usually not modified. We implemented a
pooling mechanism that, given a complex object, returns a pointer to an equal,
existing object, or stores this object for future use. This approach considerably
decreased the total memory consumption and allows us to replace deep equality
tests by cheap pointer comparisons.
Caching the result of complex operations
graph
no caching caching
had another large impact on the running grid 3x1000
8” 350ms
time. Again, the pigeon-hole principle (the grid 4x1000
33”
1”
number of vertices is assumed to be much grid 5x1000
2’14”
4”
larger than the treewidth) tells us that most
computations are applied for a large num- Table 2. The effect of caching
ber of times, for instance when we discover complex operations on the runa new vertex of the input graph. We now ning time for the Minimum Domcache the results of these expensive opera- inating Set problem.
tions: Before we apply an expensive operation, we check in a hash map whether we have computed this operation before,
which is much faster than doing the computation itself. In practice we noticed
massive speedups. Table 2 compares running times for a few small grid graphs
with and without caching. Here we notice a particularly large effect due to the
many “self-similarities” in grids.
Algorithmic Improvements. Besides improving the implementation itself, we also
revisited the dynamic programming algorithm. We found that frequently we can
decide rather early whether we have a no- or yes-instance. For example, if the
subgraph seen so for is not three-colorable, then it is clear that the graph itself
is a no-instance and we can immediately discard such colorings. We were able
to generalize this concept to arbitrary MSO formulas [22]. We distinguish three
cases: “yes”, the formula holds on the graph, “no,” the formula does not hold, or
Evaluation of an MSO-Solver
7
“unknown,” i.e., we have to continue with the dynamic programming approach
to find the answer. In general the state is “unknown.” However, since we can
recursively apply this concept to subformulas, the resulting simplifications let
many entries become identical. This saves a lot of time and space, and we consider
this the major reason for the large improvements in the running time relative to
the first prototype implementation in 2008.
4
Experiments
In this section, we provide experimental results for several graph problems. We
selected three standard graph problems that cover the range of packing, covering
and coloring problems, namely Minimum Vertex Cover, Minimum Dominating Set and 3-Colorability. Additionally, we consider Minimum Connected Dominating Set, which has applications in (wireless) network design
(cf., [11, 24, 31]) and adds a connectivity constraint.
The problem instances we consider are subgraphs of grids, obtained by using
a fixed probability to either include an edge or exclude it. Let p denote the
probability that an edge is kept in the graph, implying that for p = 1 the grid
remains unchanged. We created grids of small width k, ranging from 1 to 13 in
our experiments, whereas the height m of the grid was kept fixed at 1000. Such
grids have treewidth k. The edge-probability p was set to values in [0.05, 1.00]
with an increment of 0.05 and we run ten tests for each p (but only one for
p = 1). In total, we therefore created 191 graphs for each 1 ≤ k ≤ 13. Out
of these, grids of width 1 ≤ k ≤ 13 were considered for Minimum Vertex
Cover, of width 1 ≤ k ≤ 8 for Minimum Dominating Set, of width 1 ≤
k ≤ 7 for 3-Colorability, and of width 1 ≤ k ≤ 5 for Minimum Connected
Dominating Set.
The choice of grids (and subgraphs of grids) stems from two considerations:
on the one hand, many optimization problems related to traffic do exhibit a
path- or grid-like structure (the latter would be a case where the width of, say,
a road cannot be neglected). On the other hand grids offer a readily available
bound on the treewidth, namely the width or height (whichever is smaller).
For a second series of tests on the Minimum Connected Dominating
Set problem, we created grids with a total number of only about 200 vertices
(depending on the width, the height is adjusted accordingly to match the size),
and an edge probability between 0.90 and 1.0. We only consider grids with a
width between 1 and 6 as this problem is much harder to solve. The best known
deterministic algorithm [25] needs time Ω(ww n) for treewidth w. For each k, five
graphs were considered.
Finally, for a somewhat more realistic scenario we used the data available
from OpenStreetMap and created a graph of the Hannover urban railway3 . The
graph obtained after cleaning the raw data from OpenStreetMap had treewidth 2.
To this graph, we added possible locations for wireless base stations. For the
3
http://www.openstreetmap.org/browse/relation/54023
8
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
Fig. 1. To cover the Hannover urban rail network with wireless access generates a Minimum Connected Dominating Set problem. On the left side is the whole resulting
graph and on the right side you can find some of its parts in detail.
edges, we used a disc graph model, since each base station is assumed to have
a bounded maximum range. However, we assume that obstacles might hinder
transmission to nearby vertices, so we only include edges between nearby nodes
with a probability of 0.9. The resulting graph, depicted in Figure 1, has 673
vertices, 1445 edges, and treewidth bounded by 8. The task now is to select a
minimum size connected set of base station locations, i.e., we are to solve an
instance of the Minimum Connected Dominating Set problem.
For all the instances mentioned above, we created suitable ILPs that describe these instances. For Minimum Vertex Cover, Minimum Dominating
Set, and 3-Colorability, we used the standard formulations. For Minimum
Connected Dominating Set, we used the formulation of [27], where the connectivity is guaranteed by requiring a flow between the nodes of the solution.
The test setup is as follows. We focus on multi-purpose frameworks capable
of solving a wide range of problems, and therefore did not include any specialized
algorithms, which might have advantages in running time but usually take a long
time to develop. Naturally, we measured the running time of our tool when asked
to solve the problems. For, it was given an MSO specification of the problem and
was told to minimize the solution size. Furthermore, we solved these instances
by letting CPLEX find optimal or nearly optimal solutions to the ILPs. Since we
consider (I)LP solvers the “state of the art” in optimization, we did not include
any further frameworks such as SAT-solvers.
For our tool we used a 32bit Linux machine with an Intel Core 2 Quad CPU
running at 2.40 GHz and 4 GB RAM. As this solver can only run single-threaded,
we let up to four individual test instances be run in parallel and measured the
CPU time used. Our tool was compiled with gcc version 4.4.5 with the -O3flag. CPLEX Academic Research Edition 12.2.0.0 was used to solve the ILP
instances. We let it run on dedicated 32 bit Linux machines all equipped with
the Intel Core 2 Duo CPU running at 2.93 GHz (meaning that CPLEX was able
to use two dedicated threads) and 4 GB RAM. We let CPLEX stop once an
integrality gap of 5% was reached (set mip tolerances mipgap 0.05), i.e.,
Evaluation of an MSO-Solver
running time
error condition
best solution found
9
optimal solution
7545’
out of memory
89
77
13622’
time limit
83
79
15054’
time limit
82
82
6505’
time limit
77
75
6624’
time limit
73
72
Table 3. CPLEX running times for the Minimum Connected Dominating Set
problem on subgraphs of a 6 × 33 grid with an edge probability of 0.95. The time limit
was hit after ten times of the CPU usage required by the MSO solver to compute the
optimal solution.
we did not insist on optimal solutions. CPLEX was given a time limit of 10
times the CPU time our tool required to solve these instances to optimality.
Results. CPLEX performs very well for Minimum Vertex Cover and 3Colorability. Since the graphs are bipartite, the LP relaxation already provides the optimal solution. Our tool is oblivious to this fact and proceeds as
it would on any other graph. As the running time of CPLEX is less than one
second for these problems we only include the results for the MSO-approach.
The running times for Minimum Dominating Set and Minimum Connected
Dominating Set, however, show that for certain instances of low treewidth our
tool can compete and even outperform CPLEX on the denser graphs. On sparser
graphs the LP relaxations again turn out to be optimal or close to optimal.
We present the runtime results on the grids of size k × 1000 in the following
figures which summarize the running times for each problem by presenting the
minimum, median and maximum of the running times for each grid size. In 834
of the runs for Minimum Dominating Set, CPLEX found the optimal solution.
In 45 cases, CPLEX hit the time limit. In the remaining cases, it was able to
shrink the integrality gap to 5% within the given time limit, but the solution
found was not optimal.
When solving Minimum Connected Dominating Set on grids of size
k × m, such that km ≈ 200 and k > 1, with one exception CPLEX always hit
the time limit, i.e., within 10 times of CPU time of the MSO solver CPLEX
was not able to shrink the integrality gap to 5%. The one exception is a case
that CPLEX ran out of memory. In a few cases, CPLEX did find the optimal
solution, but could not guarantee optimality since the integrality gap was still
too large. For the hardest graphs, those of dimension 6 × 33, the results depicted
in Table 3 were obtained.
On the large railway network graph depicted in Figure 1, the optimal solution
of 130 was found by our MSO solver in about 3761 seconds and with 299 MB
of memory usage. On the same instance, we stopped CPLEX after 20945s real
time computation. At that point, the best integer feasible solution found so far
was 358, with an remaining integrality gap of 52.99%.
10
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
100000
10000
Time in Seconds
Time in Seconds
10000
100000
Min/Max
Median
1000
100
10
1000
100
10
1
1
0.1
0.1
2
4
6
8 10
Grid width
12
14
2
(a) Minimum Vertex Cover
4
6
8 10
Grid width
12
14
12
14
(b) 3-Colorability
10000
100000
Min/Max
Median
Min/Max
Median
10000
Time in Seconds
1000
Time in Seconds
Min/Max
Median
100
10
1
1000
100
10
1
0.1
0.1
2
4
6
8
10
Grid width
12
14
(c) Minimum Dominating Set
2
4
6
8 10
Grid width
(d) Minimum Connected Dominating
Set
Fig. 2. Running times of the MSO-solver for computing optimal solutions
10000
10000
Min/Max
Median
1000
Time in Seconds
Time in Seconds
1000
100
10
1
100
10
1
Min/Max
Median
0.1
0.1
2
4
6
8
10
Grid width
(a) sparse
12
14
2
4
6
8
10
Grid width
12
14
(b) dense
Fig. 3. Running time of CPLEX for Minimum Dominating Set on dense subgraphs
of grids (edge probability p < 0.9 and p ≥ 0.9, respectively). On the majority of
the sparse instances the LP relaxation is optimal or close to optimal. The problem
becomes significantly harder on denser instances: Even although we allowed to return
non-optimal solutions within an integrality gap of 5%, CPLEX took considerably more
time on the dense instances than our exact MSO solver.
Evaluation of an MSO-Solver
5
11
Discussion and Conclusion
As the previous results show, our tool surprisingly performs much better than
CPLEX on some instances of small treewidth. Of course, CPLEX does much
better on other instances which is to be expected from a highly optimized commercial ILP-solver. The main advantage that our tool possesses is that we allow
problems to be specified in a natural logic-based language that is very appropriate for many problems and that for graphs of small enough treewidth, certain
problems can be solved much faster than with any other tool. With time, we
plan to add in more functionality to make our software a practical tool. The
next big challenge will probably be to include some kind of lazy evaluation for
set variables.
References
1. S. Arnborg, J. Lagergren, and D. Seese. Easy problems for tree-decomposable
graphs. J. Algorithms, 12(2):308–340, 1991.
2. H. L. Bodlaender. A tourist guide through treewidth. Acta Cybernetica, 11:1–21,
1993.
3. H. L. Bodlaender. A partial k-arboretum of graphs with bounded treewidth. Theoretical Comput. Sci., 209:1–45, 1998.
4. B. Courcelle. Graph rewriting: An algebraic and logic approach. In Handbook of
Theoretical Computer Science, Volume B: Formal Models and Sematics (B), pages
193–242. Elsevier, 1990.
5. B. Courcelle. The monadic second order theory of Graphs I: Recognisable sets of
finite graphs. Information and Computation, 85:12–75, 1990.
6. B. Courcelle. Graph Structure and Monadic Second-Order Logic, a Language Theoretic Approach. Cambridge University Press, 2011. Book in preparation.
7. B. Courcelle. On the model-checking of monadic second-order formulas with edge
set quantifications. Discrete Applied Mathematics, 2011. To appear.
8. B. Courcelle and I. A. Durand. Tractable constructions of finite automata from
monadic second-order formulas, 2010. Presented at Logical Approaches to Barriers
in Computing and Complexity, Greifswald, Germany.
9. B. Courcelle and I. A. Durand. Verifying monadic second-order graph properties
with tree automata. In 3rd European Lisp Symposium, pages 7–21, 2010. Informal
proceedings edited by C. Rhodes.
10. B. Courcelle and M. Mosbah.
Monadic second-order evaluations on treedecomposable graphs. Theor. Comput. Sci., 109(1-2):49–82, 1993.
11. F. Dai and J. Wu. An extended localized algorithm for connected dominating
set formation in ad hoc wireless networks. IEEE Transactions on Parallel and
Distributed Systems, 15(10):908–920, 2004.
12. J. Doner. Tree acceptors and some of their applications. J. Comput. Syst. Sci.,
4:406–451, October 1970.
13. H.-D. Ebbinghaus and J. Flum. Finite Model Theory. Springer, 1999.
14. J. Flum and M. Grohe. Parameterized Complexity Theory. Springer-Verlag, 2006.
15. M. Frick and M. Grohe. The complexity of first-order and monadic second-order
logic revisited. Ann. Pure Appl. Logic, 130(1–3):3–31, 2004.
16. M. Garey and D. Johnson. Computers and Intractability: A Guide to the Theory
of NP-completeness. Freeman, San Francisco, 1979.
12
Alexander Langer, Felix Reidl, Peter Rossmanith, Somnath Sikdar
17. J. Gleason. A set covering approach to bus stop location. International Journal
of Management Science, 3(5), 1975.
18. G. Gottlob, R. Pichler, and F. Wei. Abduction with bounded treewidth: From
theoretical tractability to practically efficient computation. In Proc. of 23rd AAAI,
pages 1541–1546. AAAI Press, 2008.
19. G. Gottlob, R. Pichler, and F. Wei. Monadic datalog over finite structures of
bounded treewidth. ACM Trans. Comput. Logic, 12(1):3:1–3:48, 2010.
20. N. Klarlund and A. Møller.
MONA Version 1.4 User Manual.
BRICS,
Dept. of Comp. Sc., University of Aarhus, January 2001. Available from
http://www.brics.dk/mona/.
21. N. Klarlund, A. Møller, and M. I. Schwartzbach. MONA Implementation Secrets.
In Proc. of CIAA00, pages 182–194. Springer-Verlag, 2001.
22. J. Kneis, A. Langer, and P. Rossmanith. Courcelle’s Theorem – a game-theoretic
approach, 2011. Submitted to Discrete Optimization.
23. E. Kranakis, P. Penna, K. Schlude, D. Taylor, and P. Widmayer. Improving customer proximity to railway stations. In Proceedings of the 5th Italian Conference
on Algorithms and Complexity, volume 2653 of Lecture Notes in Computer Science,
pages 264–276. Springer-Verlag, 2003.
24. W. Liang. Constructing minimum-energy broadcast trees in wireless ad hoc networks. In Proceedings of the 3rd ACM International Symposium on Mobile Ad Hoc
Networking and Computing (MOBIHOC), pages 112–122, New York, NY, USA,
2002. ACM.
25. D. Lokshtanov, D. Marx, and S. Saurabh. Slightly superexponential parameterized
problems. In Proc. of 22th SODA, 2011.
26. M. Mammana, S. Mecke, and D. Wagner. The station location problem on two
intersecting lines. Electronic Notes in Theoretical Computer Science, 92(17):52–64,
2004.
27. M. Morgan and V. Grout. Finding optimal solutions to backbone minimisation
problems using mixed integer programming. In Proceedings of the 7th International
Network Conference (INC 2008), pages 53–64. University of Plymouth, 2008.
28. R. Niedermeier. Invitation to Fixed-Parameter Algorithms. Oxford University
Press, 2006.
29. A. Schöbel. Locating stops along bus or railway linesa bicriteria problem. Annals
of Operations Research, 136(1):211–227, 2005.
30. D. Soguet. Génération automatique d’algorithmes linéaires. Doctoral dissertation,
University Paris-Sud, 2008.
31. M. Thai, F. Wang, D. Liu, S. Zhu, and D. Du. Connected dominating sets in
wireless networks with different transmission ranges. IEEE Transactions on Mobile
Computing, 6(7):721–730, 2007.
32. J. W. Thatcher and J. B. Wright. Generalized finite automata theory with an
application to a decision problem of second-order logic. Mathematical Systems
Theory, 2(1):57–81, 1968.
33. J. M. M. van Rooij, H. L. Bodlaender, and P. Rossmanith. Dynamic programming
on tree decompositions using generalised fast subset convolution. In ESA, volume
5757 of LNCS, pages 566–577. Springer, 2009.
34. M. Vardi. The complexity of relational query languages (extended abstract). In
Proceedings of the 14th annual ACM Symposium on Theory of Computing, STOC
’82, pages 137–146. ACM, 1982.
35. D. Wagner. Algorithms and models for railway optimization. In Proceedings of
Workshop on Algorithms and Data Structures, volume 2748 of Lecture Notes in
Computer Science, pages 198–206. Springer, 2003.