This is the study of how to create computers that will learn from experience and modify their activity based on that learning (as opposed to traditional computers whose activity will not change unless the programmer explicitly changes it). This discipline is a sub-set of Artificial Intelligence.