MSO Queries on Trees: Enumerating Answers under Updates Using Forest Algebras

by   Sarah Kleest-Meißner, et al.

We describe a framework for maintaining forest algebra representations of trees of logarithmic height. Such a representations can be computed in O(n) time and updated in O(log(n)) time. The framework is of potential interest for data structures and algorithms for trees whose complexity depend on the depth of the tree (representation). We provide an exemplary application of the framework to the problem of efficiently enumerating answers to MSO-definable queries over trees which are subject to local updates. We exhibit an algorithm that uses an O(n) preprocessing phase and enumerates answers with O(log(n)) delay between them. When the tree is updated, the algorithm can avoid repeating expensive preprocessing and restart the enumeration phase within O(log(n)) time. Our algorithms and complexity results in the paper are presented in terms of node-selecting tree automata representing the MSO queries.


page 1

page 2

page 3

page 4


Enumeration on Trees with Tractable Combined Complexity and Efficient Updates

We give an algorithm to enumerate the results on trees of monadic second...

Enumeration on Trees under Relabelings

We study how to evaluate MSO queries with free variables on trees, withi...

Logarithmic-Time Updates and Queries in Probabilistic Networks

In this paper we propose a dynamic data structure that supports efficien...

Compact Euler Tours of Trees with Small Maximum Degree

We show how an Euler tour for a tree on n vertices with maximum degree d...

Parallel Batch-Dynamic kd-Trees

kd-trees are widely used in parallel databases to support efficient neig...

B-slack trees: Highly Space Efficient B-trees

B-slack trees, a subclass of B-trees that have substantially better wors...

Preventing Unnecessary Groundings in the Lifted Dynamic Junction Tree Algorithm

The lifted dynamic junction tree algorithm (LDJT) efficiently answers fi...

Please sign up or login with your details

Forgot password? Click here to reset