partitioning pattern recognition