Programming
Workshop

Spring 2007
course
navigation

feb 22

prelim

evolution of cooperative behavior project

I want us, as a class, over the next month, to do a programming project using Java as the language, that looks at "evolution" and "competition" as a search strategy to find the "best" strategy in a prisoner's dilemma-like situation.
The payoff matrix below gives an idea of what we're talking about. The deatils aren't fixed yet.

prisoner's dilemma

payoff matrix ( value to A , value to B ) higher numbers are better B cooperates B aggressive ------------------------------------- A cooperates ( 5, 5 ) ( -2, 15 ) ------------------------------------- A is aggressive ( 15, -2 ) ( 1, 1 )

what do we do next ?

thinking out load

class SimulateEvolutionOfCooperation { /* has main() method for project; manages everything else */ } interface Competitor { /* define an API for an entity that plays this game */ } class RandomCompetitor implements Competior { /* a simple stupid one : just make random choices */ } class Population { /* collection of Competitors */ } class Referee { /* manage competitions */ } /* framework and classes for doing testing */
Next steps: decide on some methods and data for these things, design tests, and start putting together the simplest version we can. Use that as a basis for thinking about the next more complicated version.

update

As of Feb 26, all this is in cooperative behavior; look there for the continuation of these notes.
http://cs.marlboro.edu/ courses/ spring2007/programming_workshop/ notes/ feb_22
last modified Monday February 26 2007 11:47 pm EST