110 likes | 125 Views
This research explores the implementation of artificial intelligence and machine learning in a computerized chess program, focusing on searching through large sets of data, heuristic searches, and evaluation functions. The study examines the efficiency of brute force methods and discusses the possibility of learning evaluation functions. The development of a text-based chess game using Python is also presented.
E N D
By James Mannion Computer Systems Lab 08-09 Period 3 The Implementation of Artificial Intelligence and Machine Learning in a Computerized Chess Program
Abstract • Searching through large sets of data • Complex, vast domains • Heuristic searches • Chess • Evaluation Function • Machine Learning
Introduction • Simple domains, simple heuristics • The domain of chess • Deep Blue – brute force • Looking at 30100 moves before making the first • Supercomputer • Too many calculations • Not efficient
Introduction (cont’d) • Only look 2-3 moves into the future • Estimate strength of position • Evaluation function • Seems simple, but can be quite complex • Chess masters spend careers learning how to “evaluate” moves • Purpose: can a computer learn a good evaluation function?
Background • Claude Shannon, 1950 • Brute force would take too long • Discusses evaluation function • 2-ply algorithm, but looks further into the future for moves that could lead to checkmate • Possibility of learning in distant future
Background (cont’d) • D.F. Beal, M.C. Smith, 1999 • Temporal Difference learning • Program spends 20,000 games learning the evaluation function • Beats program that did not learn a function • Shows that programs can make their evaluation functions better
Development • Python • Stage 1: Text based chess game • Two humans input their moves • Illegal moves not allowed
References • Shannon, Claude. “Programming a Computer for Playing Chess.” 1950 • Beal, D.F., Smith, M.C. “Temporal Difference Learning for Heuristic Search and Game Playing.” 1999