This looks cool; a machine learning algorithm for learning to cluster, based on training data. You specify a set of attributes which can be computed on any given local neighborhood (nearby subset of points), and then the algorithm learns how to use these “features” to cluster.
For more info, search http://www.psi.toronto.edu/ml.html for “learning to cluster”.
Clustering produced by the algorithm:
The correct answer: