The concept of decomposition in computer science and engineering is considered a fundamental component of computational thinking and is prevalent in design of algorithms, software construction, hardware design, and more. We propose a simple and natural formalization of sequential decomposition, in which a task is decomposed into two sequential sub-tasks, with the first sub-task to be executed out before the second sub-task is executed. These tasks are specified by means of input/output relations. We define and study decomposition problems, which is to decide whether a given specification can be sequentially decomposed. Our main result is that decomposition itself is a difficult computational problem. More specifically, we study decomposition problems in three settings: where the input task is specified explicitly, by means of Boolean circuits, and by means of automatic relations. We show that in the first setting decomposition is NP-complete, in the second setting it is NEXPTIME-complete, and in the third setting there is evidence to suggest that it is undecidable. Our results indicate that the intuitive idea of decomposition as a system-design approach requires further investigation. In particular, we show that adding human to the loop by asking for a decomposition hint lowers the complexity of decomposition problems considerably.
|Title of host publication||Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018|
|Publisher||Institute of Electrical and Electronics Engineers Inc.|
|Number of pages||10|
|ISBN (Electronic)||9781450355834, 9781450355834|
|State||Published - 9 Jul 2018|
|Event||33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018 - Oxford, United Kingdom|
Duration: 9 Jul 2018 → 12 Jul 2018
|Name||Proceedings - Symposium on Logic in Computer Science|
|Conference||33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018|
|Period||9/07/18 → 12/07/18|
Bibliographical noteFunding Information:
We thank Orna Kupferman, Nir Piterman, Lucas M. Tabajara, and Jacobo Toran for useful discussions, and the anonymous reviewers for their suggestions. This work is supported in part by NSF grants CCF-1319459, and by by NSF Expeditions in Computing project ”ExCAPE: Expeditions in Computer Augmented Program Engineering". Joël Ouaknine was supported by ERC grant AVS-ISS (648701).
© 2018 ACM.