  Many signal processing problems can be solved by maximizing the fitness of a
segmented model over all possible partitions of the data interval. This letter
describes a simple but powerful algorithm that searches the exponentially large
space of partitions of $N$ data points in time $O(N^2)$. The algorithm is
guaranteed to find the exact global optimum, automatically determines the model
order (the number of segments), has a convenient real-time mode, can be
extended to higher dimensional data spaces, and solves a surprising variety of
problems in signal detection and characterization, density estimation, cluster
analysis and classification.
