Topological Sorting under Regular Constraints
Abstract
We introduce the constrained topological sorting problem (CTS): given a regular language K and a directed acyclic graph G with labeled vertices, determine if G has a topological sort that forms a word in K. This natural problem applies to several settings, e.g., scheduling with costs or verifying concurrent programs. We consider the problem CTS[K] where the target language K is fixed, and study its complexity depending on K. We show that CTS[K] is tractable when K falls in several language families, e.g., unions of monomials, which can be used for pattern matching. However, we show that CTS[K] is NP-hard for K = (ab)^* and introduce a shuffle reduction technique to show hardness for more languages. We also study the special case of the constrained shuffle problem (CSh), where the input graph is a disjoint union of strings, and show that CSh[K] is additionally tractable when K is a group language or a union of district group monomials. We conjecture that a dichotomy should hold on the complexity of CTS[K] or CSh[K] depending on K, and substantiate this by proving a coarser dichotomy under a different problem phrasing which ensures that tractable languages are closed under common operators.
Cite
@article{arxiv.1707.04310,
title = {Topological Sorting under Regular Constraints},
author = {Antoine Amarilli and Charles Paperman},
journal= {arXiv preprint arXiv:1707.04310},
year = {2019}
}
Comments
45 pages, 31 references in the main text. This is the full version with proofs of the ICALP'18 paper, and is the same as the ICALP proceedings version up to minor publisher-dependent changes. Several important changes with respect to version 1, including fixing some errors. Title changed with respect to version 2