Memory and Learning are the most difficult AI techniques in the programmer's arsenal. Memory, by far the easier of the two, is not all that complex. Memory merely requires that a program store date for reference in the future. Learning is the process of knowing when, where, and how to effectively access that information in the future. For instance, it is one thing for a baseball program to simply remember that a certain pitcher struck it out with a curve-ball last time at bat, and quite another for that program to figure out how to hit that same pitch in the next situation. By creating programs that can learn on their own, researchers hope to construct the first fully functional AI engines. Computers that, but for their physical appearance, could honestly be mistaken for human beings.