Clarifications to the project will be posted here.
Genetic algorithms are useful for searching in a large search space. They have successfully been used to evolve constant values for character related variables in games. This homework assignment takes the basic rock paper scissors game where truly random games allow each player to win 33.3% of the time and puts a GA to work to find strategies for real human players. Real humans DO NOT play randomly and as a matter of fact, strategies have been devised for this game. Please see The Official Rock Paper Scissors Strategy Guide for more information. This is your chance to learn more about the RPS game, have fun creating tests for the GA, and to learn about the coding for a GA.
The goals of this homework are the following:
Some basic Java code for your assignment is included in a jar file. A random version of the RPS game has been written up and put in the Game.java, RockPaperScissors.java, and PlayRockPaperScissors.java files. The GA.java and FitnessTests.java exist mostly as stubs and need to be filled in by you. There are read/write routines to enable you to save games to files.
Each game will consist of 21 trials/plays and your GA can assume that this part of the game will not change.
The code for viewing the game is simple. If you want to write something better, feel free. What exists is for your convenience.
For this assignment you should:
NOTE: TRY IS NOW UP For this particular homework there are 2-3 submissions:
try jdb-grd hmwk2-1 *.java
You should also submit any training files that you may have used in training your GA.
try jdb-grd hmwk2-2 writeup.* *.*
try jdb-grd hmwk2-3 problems.txt
You can resubmit
as often as you like before the deadline. try will be open for the
grace period after the deadline.
If you work as a pair, you should submit all work from one account and
both partner's names should appear on all submitted files.