Given any collection of data cells in a data space X, consider the problem of finding the optimal partition of the data cells into blocks which are unions of cells. The algorithms we describe can be used to find the optimal partition of a set of data cells in any dimension. These algorithms work for any objective function that is strictly convex and additive on the blocks of a partition. We describe an O(N2) dynamic programming algorithm for finding the optimal partition of N cells into arbitrary blocks (not necessarily connected) and we also give a branch and bound algorithm for finding the optimal partition of N cells into connected blocks. These results can be used to search for clusters in data, signal processing, classification of data, image processing, density estimation, pattern recognition and in a variety of other applications. Subject headings: signal processing, galaxy clusters, data analysis, algorithms, dynamic programming, branch and bound
Bradley W. Jackson, Jeffrey D. Scargle, Chris Cusa