Clustering, Pattern Recognition, and Synthesizing