Mastersthesis,

Using Genetic Programming to Evolve Strategies for the Iterated Prisoner's Dilemma

.
University College, London, (September 2001)

Abstract

The technique of Genetic Programming (GP) uses Darwinian principles of natural selection to evolve simple programs with the aim of finding better or fitter solutions to a problem. Based on the technique of Genetic Algorithms (GA), a population of potential solutions stored in tree form are evaluated against a fitness function. The fittest ones are then modified by a genetic operation, and used to form the next generation. This process is repeated until certain criteria have been met. This could be an ultimate solution, or a certain number of generations having been evolved. Genetic Programming is a fast developing field with potential uses in medicine, finance and artificial intelligence. This project attempts to use the technique to evolve strategies for the game of Prisoner's Dilemma. Although a simple game, the range of possible strategies when the game is iterated is vast, but what makes it particularly interesting is the absence of an ultimate strategy and the possibility of mutual benefit by cooperation. A system was created to allow strategies to be evolved by either playing against fixed opponents or against each other (coevolution). The strategies are stored as trees, with GP used to form the next generation. The main advantage of GP over GA is that the trees do not need to be of a fixed size, so strategies can be developed which use the entire game history as opposed to just the last few moves. This implementation has advantages over previous investigations, as information about which go is being played can be used, thus allowing cleverer strategies. Work has also been conducted into a hunting phase, where strategies roam a two dimensional grid to find a suitable opponent. By studying the history of potential opponents and using GA, evidence emerged of an increase in cooperative behaviour as strategies sought out suitable opponents, demonstrating parallels with biological models of population dynamics. The system has been developed to allow a user to alter important parameters, select the evolution method and seed the population with pre-defined strategies by means of a graphical user interface.

Tags

Users

  • @brazovayeye

Comments and Reviews