Computational Complexity of Arranging Music
Music has long been a subject of analysis for mathematicians and has led to interesting questions in music theory and other fields. For the most part, computer scientists have looked into applying artificial intelligence to music and finding algorithms and data structures to solve various musical problems. These problems tend to be solvable in polynomial time using dynamic programming and have various applications. This chapter takes an additional step in this direction, asking what sorts of problems in music cannot be efficiently computed. Specifically, it asks how various constraints affect the computational complexity of arranging music originally written for one set of instruments for a single instrument instead. It then applies these results to other domains, including musical choreography (such as ice skating and ballet) as well as to creating levels for rhythm games (such as Rock Band). It proves that all of the problems are NP-complete.