Perception Learning algorithm