Virtual Plant Contest

Return to CEC2004 main page

Introduction

Grid plants are simple virtual plants that live on a toroidal square grid. They start occupying a single square of the grid and then grow to occupy other squares. This growth proceeds from the last cell that was formed, so these grid plants are vine-like. They have no branching structure. Grid plant growth in the virtual world is specified by a sequence of letters (genes). These letters are drawn from the alphabet Up, Down, Left, Right, Sseed. These letters form a specification for what the grid plant is going to try to do, if the rules of the simulated world and the other grid plants don't stop it. Grid plants are annuals, they die off and their seeds sprout the next year. The dead plants are cleared from the grid before the next growing season. This contest will use genes of length 20 and run for 200 simulated years. A year is a growing season in which seeds sprout and grow followed by a period in which the dead plants are cleared. A world of full-grown grid plants is shown below, at the end of its 10,000th simulated growing season.

Grid Plants

The grid plant you submit will grow, make seeds and die. Those seeds will sprout the next year and repeat the process. After 200 growing seasons, the number of squares occupied by living descendants of your grid plant in the last year will be your score in the contest. In evolutionary computation, a good deal of effort is spent finding fitness functions. For grid plants, fitness is a strange mixture of how many seeds the plant makes, the way its dynamic shape as it grows interacts with other grid plants, and its management of its energy resources during the growing season.

How do I enter the contest?

Send Dan Ashlock danwell@iastate.edu your name, e-mail address, affiliation, and a 20 character string over the alphabet {U, D, R, L, S} that specifies your entry. Also declare that your grid plant gene was either evolved or designed. In order to win you must register for the CEC2004 conference. You may submit new entries that replace your old entry up to three times (four total submissions).

How does the grid plant contest work?

To score the contest we will place three virtual seeds for each grid plant submitted at random onto a large square world. The size of the grid will be at least 100x100 and will contain at least 100 squares per contestant. The grid plants will be allowed to sprout, grow and die for 200 simulated years. The grid plant with the most world area covered at the end of the last growing season, averaged over 100 different trials, wins. Area covered during the first 199 years does not count toward a win. There will be three contests if there are enough entries: evolved genes, designed genes, and all genes. There must be five eligible genes submitted for a contest in order for that contest to take place.

Example Gene:

DSUDSUSUSLRSLDSDUSRS

Let's trace the development of the grid plant. The notation (not!) means the action was impossible. The last picture in the example has two actions together to make a nice grid.

Start

Down

Seed

Up(not!)

Down

Seed

Up(not!)

Seed(not!)

Up(not!)

Seed(not!)

Left

Right(not!)

Seed

Left

Down

Seed

Down

Up(not!)

Seed

Right+Seed

Rules(Clarified 2/17/03)

Comments on Strategy

You plant must do three things. It has to grow enough to get its energy production up. It must make seeds, which also takes energy. It must grow so as to block its opponents and work with other plants of its own species.

Simulation Software

The scoring software is now available. You will need the files Contest.cpp and Example.gdp. The c++ file contains the scoring software, while the Example file gives names and grid plant genes in the format used by the scoring software. The compile line on Linux is:
 g++ -lm -O3 Contest.cpp -o Contest.exe 
Place the genes (and names) in Example.gdp and you can test your grid plants. If you are having trouble with the random number generators, srand48, lrand48, and drand48 should be replaced with you seed, random long int, and 0-1 real generators respectively. Software for evolving or effectively designing grid plant genes is the responsibility of the contestant.

Acknowledgments

Gary Fogel's questions and suggestions were most helpful in cleaning up this site. Thank you, Gary.