probability clustering