Artificial Learning Algorithms