-
Notifications
You must be signed in to change notification settings - Fork 0
ckesurf/isolation
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Chris Erlendson cke2106 5 April 2012 Project 2: Isolation COMS W4701 * Artificial Intelligence ********************************* --- Development Information --- -Programming Language: Java -Language Version: 1.6 -Development Environment: Eclipse ************************************************************************* --- Instructions to compile --- 1. From the parent directory, make the default target to compile the program. ~/.../nbh2113_assignment3_isolation$ make 2. From the parent directory, make the play target to run the program. ~/.../nbh2113_assignment3_isolation$ make play 3. While running the program, type two integers in any format to enter a move. (1 3) (1, 3) 1 3 1 asdsd 3 4. Press Ctrl + c, enter (0 0), or any other invalid move to exit the program. 1. Unzip all files from cke2106_Project3_Java.zip 2. Run "make" 3. Run "make play" 4. Enter the appropriate player symbol ('x' or 'o' without quotes) 5. If you are player x, enter the row and then the column afterwards to make a move. Example: Enter row: > 3 Enter col: > 3 6. Otherwise, wait for the computer to make a move and continue from there 7. Play until someone wins! ************************************************************************* --- Program Descripton --- This program implements the Minimax search with alpha-beta pruning. My "goodness" evaluation function searched how much empty space was immediately surrounding the given player on a given board. The program was only able to give return a move in the alloted time (one minute, in our case) if I limited the depth limit to 6 moves. Otherwise, it would take over 2 minutes at a time. I also limited the "breadth" of moves the program could investigate, or the reach; basically the computer could really only move at most 4 squares away; this improved efficiency drastically when experimenting with depth limits. Files: Makefile - make # for compiling - make play # for executing the game - clean # for removing the generated .class files Board.java - This implements the Board structure and all of the game functions. Most importantly it has BESTMOVE, which implements the Minimax and alpha-beta pruning algorithms Pair.java - This implements the Pair class which is only used for returning the evaluation (or "score") of a Board and the Board itself in BESTMOVE. TimerBoard.java - this implements timer functionality for ensuring that the program does not take more than one minute to come to a decision during BESTMOVE.
About
Implementation of the Isolation game
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published