2,137 research outputs found
Counting and Enumerating Crossing-free Geometric Graphs
We describe a framework for counting and enumerating various types of
crossing-free geometric graphs on a planar point set. The framework generalizes
ideas of Alvarez and Seidel, who used them to count triangulations in time
where is the number of points. The main idea is to reduce the
problem of counting geometric graphs to counting source-sink paths in a
directed acyclic graph.
The following new results will emerge. The number of all crossing-free
geometric graphs can be computed in time for some .
The number of crossing-free convex partitions can be computed in time
. The number of crossing-free perfect matchings can be computed in
time . The number of convex subdivisions can be computed in time
. The number of crossing-free spanning trees can be computed in time
for some . The number of crossing-free spanning cycles
can be computed in time for some .
With the same bounds on the running time we can construct data structures
which allow fast enumeration of the respective classes. For example, after
time of preprocessing we can enumerate the set of all crossing-free
perfect matchings using polynomial time per enumerated object. For
crossing-free perfect matchings and convex partitions we further obtain
enumeration algorithms where the time delay for each (in particular, the first)
output is bounded by a polynomial in .
All described algorithms are comparatively simple, both in terms of their
analysis and implementation
Asymptotic enumeration of non-crossing partitions on surfaces
We generalize the notion of non-crossing partition on a disk to general surfaces
with boundary. For this, we consider a surface S and introduce the number CS(n) of noncrossing partitions of a set of n points laying on the boundary of SPostprint (author's final draft
Dynamic programming for graphs on surfaces
We provide a framework for the design and analysis of dynamic
programming algorithms for surface-embedded graphs on n vertices
and branchwidth at most k. Our technique applies to general families
of problems where standard dynamic programming runs in 2O(k·log k).
Our approach combines tools from topological graph theory and
analytic combinatorics.Postprint (updated version
Counting Triangulations and other Crossing-Free Structures Approximately
We consider the problem of counting straight-edge triangulations of a given
set of points in the plane. Until very recently it was not known
whether the exact number of triangulations of can be computed
asymptotically faster than by enumerating all triangulations. We now know that
the number of triangulations of can be computed in time,
which is less than the lower bound of on the number of
triangulations of any point set. In this paper we address the question of
whether one can approximately count triangulations in sub-exponential time. We
present an algorithm with sub-exponential running time and sub-exponential
approximation ratio, that is, denoting by the output of our
algorithm, and by the exact number of triangulations of , for some
positive constant , we prove that . This is the first algorithm that in sub-exponential time computes a
-approximation of the base of the number of triangulations, more
precisely, . Our algorithm can be
adapted to approximately count other crossing-free structures on , keeping
the quality of approximation and running time intact. In this paper we show how
to do this for matchings and spanning trees.Comment: 19 pages, 2 figures. A preliminary version appeared at CCCG 201
All Maximal Independent Sets and Dynamic Dominance for Sparse Graphs
We describe algorithms, based on Avis and Fukuda's reverse search paradigm,
for listing all maximal independent sets in a sparse graph in polynomial time
and delay per output. For bounded degree graphs, our algorithms take constant
time per set generated; for minor-closed graph families, the time is O(n) per
set, and for more general sparse graph families we achieve subquadratic time
per set. We also describe new data structures for maintaining a dynamic vertex
set S in a sparse or minor-closed graph family, and querying the number of
vertices not dominated by S; for minor-closed graph families the time per
update is constant, while it is sublinear for any sparse graph family. We can
also maintain a dynamic vertex set in an arbitrary m-edge graph and test the
independence of the maintained set in time O(sqrt m) per update. We use the
domination data structures as part of our enumeration algorithms.Comment: 10 page
- …