Self-learning system (SLS)