Creative Commons Attribution 3.0 Unported license
We formalize and analyze a new automata-theoretic problem termed control improvisation. Given an automaton, the problem is to produce an improviser, a probabilistic algorithm that randomly generates words in its language, subject to two additional constraints: the satisfaction of an admissibility predicate, and the exhibition of a specified amount of randomness. Control improvisation has multiple applications, including, for example, generating musical improvisations that satisfy rhythmic and melodic constraints, where admissibility is determined by some bounded divergence from a reference melody. We analyze the complexity of the control improvisation problem, giving cases where it is efficiently solvable and cases where it is #P-hard or undecidable. We also show how symbolic techniques based on Boolean satisfiability (SAT) solvers can be used to approximately solve some of the intractable cases.
@InProceedings{fremont_et_al:LIPIcs.FSTTCS.2015.463,
author = {Fremont, Daniel J. and Donz\'{e}, Alexandre and Seshia, Sanjit A. and Wessel, David},
title = {{Control Improvisation}},
booktitle = {35th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2015)},
pages = {463--474},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-97-2},
ISSN = {1868-8969},
year = {2015},
volume = {45},
editor = {Harsha, Prahladh and Ramalingam, G.},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.FSTTCS.2015.463},
URN = {urn:nbn:de:0030-drops-56596},
doi = {10.4230/LIPIcs.FSTTCS.2015.463},
annote = {Keywords: finite automata, random sampling, Boolean satisfiability, testing, computational music, control theory}
}