Java代写 | COSC 3P71 Introduction to Artificial Intelligence: Project


Fall 2019 COSC 3P71 Introduction to Artificial Intelligence: Project
Instructor: B. Ombuki-Berman
Teaching Assistants: Cody Dennis, Mitchell Clark, Tyler Crane
Term Project: Implementing a Chess program, with a game tree-based AI
Last Due Date: Thursday NOON, December 19, 2019
Working alone or in a group of two implement a chess-playing program whose system
requirements are as follows:
§ The program should respect the rules of chess, for example,
§ the movement of pieces (including castling and en passant),
§ piece promotion, check
§ checkmate
§ stalemate
Please obtain a book on chess to verify your understanding of the game!
§ You can implement your system on any platform and language you want as long as
it is available in our labs. You may have to show me/TA it works in some cases.
§ The program must use a game tree search scheme with alpha-beta pruning.
Furthermore, the program should permit user-supplied control parameters, for
example, the depth of search.
§ Put effort towards designing an effective board evaluation function. You should
research the literature on computer chess to find strategies used by other systems.
You can borrow ideas from the literature (properly acknowledged in your report).
I also encourage you to try your own ideas!
§ The program should interact with a human player. Moves should be given via board
coordinates. At the minimum, the program should dump out the current board as an
ASCII table (e.g., upper case = black, lower case = white, space = “-“,). Although
a graphical user interface is not required, an effective GUI will be positively
considered during evaluation.
§ Your program should permit any board setup to be used initially. (This is good for
testing purposes)
§ An option is that your program should dump out the game in terms of a standard
chess output text file.
Hand in printouts of all your code, an executable version of the program, and a 6-8 page
clearly typed document describing the use and design of your system. Also make an
electronic submission for MOSS purpose. Include any references you used during your
Note: If there is interest, we could set up a 3P71 Chess Tournament for all the
programs implemented. Prizes for the winner!