Gazelle, NRA member
Due: Friday, April 29, 2003, 5PM
Last modified: "February 16, 2004 14:59:37 by matt"
You should download the newest version of Gazelle.jar,
as it now displays the position of the gazelle when shots were fired. (Think
of them as puffs of smoke resulting from the firing of the weapon.) [For those
of you who indicate a "shot" by setting the gazelle's heading to be >360 or
<-360, use this version of Gazelle.jar.]
Use the lil'GP package
or ECJ to evolve a self-defense strategy for a gun-toting gazelle in our game
of "hunt the gazelle".
The same rules apply as in the first assignment
with a few modifications:
- Always start with 6 lions
- The lions should use one or more of the hunting strategy that you evolved in the second assignment.
- The gazelle is armed with antler-launched missiles. The gazelle may
either fire or move during each turn, but not both. The gazelle has an
infinite supply of missiles, but the time between launchings must be at
least .5 seconds (5 time-steps of your simulation).
- The missiles are "smart" in the sense that they don't have to be
aimed--they always fly to the lion nearest the gazelle. The probability
of actually "pacifying" the lion is inversely proportional to the
distance; the probability is (100 - min(distanceInMeters,90))/100. Where
distanceInMeters is the distance between the gazelle and the targetted lion.
- The gazelle wins if it pacifies all the lions by the end of the game,
else it loses. The game also ends with a loss if any lion gets close
enough to pacify the gazelle.
Points to consider
- Most of the modifications are in the simulation and the fitness function.
Your simulation needs to enforce the ".5 second rule", and deal with the removal
of pacified lions from the game. This may require the use of a new element
in your terminal set: something to keep track of how many lions remain.
- How will you represent the gazelle's choice to move, or to shoot? Perhaps
you can just change your wrapper?
The applet has been slightly modified. All headings should be postive values
from 0 to 360. If heading the gazelle is negative, that will indicate that a
missile is fired that round. (The actual heading of the gazelle should be the
absolute value.)
Submit your source code, and a sample output file (for use with the java applet)
to the usual place.