Logical Methods in Computer Science (May 2019)

A Strategy for Dynamic Programs: Start over and Muddle through

  • Samir Datta,
  • Anish Mukherjee,
  • Thomas Schwentick,
  • Nils Vortmeier,
  • Thomas Zeume

DOI
https://doi.org/10.23638/LMCS-15(2:12)2019
Journal volume & issue
Vol. Volume 15, Issue 2

Abstract

Read online

In the setting of DynFO, dynamic programs update the stored result of a query whenever the underlying data changes. This update is expressed in terms of first-order logic. We introduce a strategy for constructing dynamic programs that utilises periodic computation of auxiliary data from scratch and the ability to maintain a query for a limited number of change steps. We show that if some program can maintain a query for log n change steps after an AC$^1$-computable initialisation, it can be maintained by a first-order dynamic program as well, i.e., in DynFO. As an application, it is shown that decision and optimisation problems defined by monadic second-order (MSO) formulas are in DynFO, if only change sequences that produce graphs of bounded treewidth are allowed. To establish this result, a Feferman-Vaught-type composition theorem for MSO is established that might be useful in its own right.

Keywords