Many dynamical systems are decomposably aggregable in the sense that one can divide their (micro)variables x1,...,xn into several (k) non-overlapping blocks and find combinations y1,...,yk of variables from these blocks (macrovariables) whose dynamics depend only on the initial values of the macrovariables. For example, the state of a biological population can be described by listing the frequencies xi of different genotypes i; in this example, the corresponding functions fi(x1,...,xn) describe the effects of mutation, recombination, and natural selection in each generation.
Another example of a system where detecting aggregability is important is a one that describes the dynamics of an evolutionary algorithm - which is formally equivalent to models from population genetics.
For very large systems, finding such an aggregation is often the only way to perform a meaningful analysis of such systems. Since aggregation is important, researchers have been trying to find a general efficient algorithm for detecting aggregability.
In this paper, we show that in general, detecting aggregability is NP-hard even for linear systems, and thus (unless P=NP), we can only hope to find efficient detection algorithms for specific classes of systems. Moreover, even detecting approximate aggregability is NP-hard.
We also show that in the linear case, once the groups are known, it is possible to efficiently find appropriate linear combinations ya.