Evolving Lindenmayer Systems

Genetic Snow Flakes


Pfeiffer evolves snow flakes in your browser. You control the evolution by saving pretty flakes and deleting ugly ones. The newest saved flake is: .

Start system based in your browser

Once evolution starts, you can use flying menus by dragging your mouse across a snow flake. The menu will then appear. Use the menu to save pretty flakes. Flakes you save replace the current: newest flake and your evolved picture will be displayed instead. You can also clone snow flakes, name them, edit them or delete ugly ones. (Deleted flake will be replaced by a tombstone ). You can save pictures on your computer as a cookie and globally. Pictures you save globally can be down loaded by everyone else.

The Table button on the main screen creates a display table showing the complete contents of the local population. Data fields highlighted in blue can be edited. However only changes to genetic material (Chromosome) or tumble axis (Angle,x,y,z) can be written back into the simulator.

Click here to change defaults for local system.

Types of Graphical Image

Pfeiffer supports GIF, PNG, XBM and SVG image formats. However support is also needed in your browser. Firefox supports all of them.

By default Microsoft internet explorer IE logo will read GIF files from our server. If your PC is configured to understand XBM images as well then a six sided fractal is displayed -> XBM Koch Snowflake <-here. Even if the XBM is not displayed, IE will work with GIF images.

To use colour, your browser must support either GIF, PNG image format or Scalable Vector Graphics (this browser does not support SVG) . PNG is supported in Firefox, Get Firefox which supports fast pnglets. SVG are supported by Firefox 1.5 however CPU load is heavy (cf. 302909)

In most browsers, right clicking (local version) on a flake will give you the option to Copy Image. The .PNG can then be pasted into other applications, such as paint. SVG images might be saved by using This Frame |View frame source browser menu option and then using cut-n-paste (as for XBM).
   The evolved L-System grammar can also be developed by the command line version of pfeiffer.
   Other options such as View Image display the image as raw data, not as a picture. For .PNG this is mostly binary and hence of little use. However .XBM data is plain text which can be cut-and-pasted into a text editor or microsoft word and saved as a Plain Textfile, e.g. nicepic.xbmView Image and some other options cause the browser to move to a new window. If you return to pfeiffer, pfeiffer will be re-initialised.
   Flakes saved to the global population, can be displayed in mono-chrome (e.g. using Today's flakes). These are not dynamic images but normal .GIFs. So all the usual cut-n-paste and save options can be used on these pages.
   Alternatively you can use one shot Pfeiffer to translate a grammar into a colour picture.

In most browsers, function key F11 causes the display to occupy the full screen.

How it works

Pfeiffer uses JavaScript to load initial population of snowflakes from either cookies or, failing that from a global population of previously saved flakes at UCL. (Today's flakes, All time favourites). Each seeds contains a deterministic Lindenmayer grammar (D0L) which is develops into a fractal pattern. The initial population is preset but after a few seconds it will start to evolve).

EuroGP 2004 pp349-358 paper (at Springer-Verlag) and live demonstration from Portugal to England.

Global Usage

World map of snowflakes created by Pfeiffer up to 9 May 2006 (excluding author)
Map generated by ClustrMaps showing original location of snowflakes evolved by Pfeiffer across the globe.

Server based system

Once evolution starts, click on pretty ones to copy and save them. Then your flake will appear as the newest snowflake . After you have saved a nice snow flake its border will turn red.
   Use the right button to delete ugly ones. Immature flakes have border which they loose when they are old enough to reproduce.
   When you next run Pfeiffer the flakes you saved will be restored from cookies saved on your computer.

This version is recommended for MAC Safari and Netscape 4. Netscape 6 does not work but Netscape 7.2 is ok with both local and server versions.

A bit flakey...
If using Netscape 4 you need both Java and javascript enabled to access the global population.

Documentation for UCL server based server.

Offline working and sources

One grammar

There is cut down version Java version of Pfeiffer which simply displays a Lindenmayer grammar but does not support evolution.

Evolving offline working and sources


To run evolution off line you will need the full version of Pfeiffer and a copy of the global population seed.pop on your machine. A copy is included with the sources. For security reasons, you must run the parameters window using open file. Ensure the file name (second large box) points to the copy of the global population on your machine (seed.pop) and start.

Tested with firefox. Stand alone version not working with microsoft browser 5.00 or 6.00.

How to add snow flakes to your page


Pfeiffer -- A Distributed Open-ended Evolutionary System. In Bruce Edmonds and Nigel Gilbert and Steven Gustafson and David Hales and Natalio Krasnogor editors, AISB'05: Proceedings of the Joint Symposium on Socially Inspired Computing (METAS 2005), pages 7-13, University of Hertfordshire, Hatfield, UK, 2005. SSAISB 2005 Convention. PDF

Recently cited by:

Feedback and Bug reporting

I would like to have your comments on the system. Especially if it did not work. Or did something you were not expecting. Could you restart it (eg by pressing the pause and then the go button, or reloading the page)? Please say when you ran it, which version, which browser (including its version) you are using and what happened. Please also say what appeared on the status line and which, if any, "BUG" boxes popped up. Did the JavaScript console give any hints relating to your problem?

Also it may help me to know about your computer. Is it a PC? How much RAM does it have? What CPU and its speed? How is it connected to the Internet? Modem speed, always connected, cable modem? Etc.
Please email your comments to me

BUG list

Locations of visitors to this page

Evolving pandas
W.B.Langdon (created 28 December 2001) 19 Jan 2011