NetLogo User Community Models
by David McAvity (Submitted: 03/20/2007)
WHAT IS IT?
Fractalmorph is a NetLogo model that illustrates the principle of evolution by artificial selection. It is inspired by the Biomorphs of Richard Dawkins', "The Blind Watchmaker".
HOW IT WORKS
After setup, you are presented with nine simple figures, based either on a branching structure, or fractal structure related to the Sierpinski gasket. These are the Fractalmorphs whose structure is determined by eight different variables or "genes". Each Fractalmorph differs from the central one by a single mutation in one of the genes. The user selects their favorite Fractalmorph and this becomes the new central morph in the next generation, with slightly mutated children surrounding it. As the user continues to select morphs, the shapes gradually change to new forms.
HOW TO USE IT
Choose a morph type (either branch or gasket), then click setup and then go. Keep selecting your favorite morph. The morphs are initially very simple, but as you continue selecting you will see that they can quickly become more complex. You have some scope to preselect the starting genes of your morphs also, although since the space of all morphs is huge, it is more satisfying exploring this space through evolution by artificial selection then by randomly picking values for genes.
THINGS TO NOTICE
After playing around for a while you should begin to notice how the different genes affect the morphs. For example, the top left morph is the one that has the "level" gene mutated. A higher value for this gene results in a more complex morph. By continuously selecting morphs in a particular location it is possible to mutate just one gene and see how it affects the form of the morphs.
THINGS TO TRY
If you don't like any of your choices select the central morph again. This has the effect of mutating the genes again. Some of the morphs will then look different. Also, try out the preselected morphs to see some interesting shapes. Try switching between the two different morph types. The gene names are the same, but they are used differently by the different procedures. What looks visually appealing for one type of morph may not look as good for the other type.
EXTENDING THE MODEL
It is possible to create more complicated morphs by adding more genes to the existing morph types. You would then need either create more seeds to show all the mutations, or keep the eight mutated morphs and randomly select which genes to morph. You might also invent a different morph type based on some other kind of fractal structure.
This model was created as a way to illustrate the use of lists in NetLogo. It also demonstrates one way to use multiple turtles to create fractals.
See other Evolution based models in this series
CREDITS AND REFERENCES
Copyright 2006 David McAvity
This model was created at the Evergreen State College, in Olympia Washington
Funding was provided by the Plato Royalty Grant.
The model may be freely used, modified and redistributed provided this copyright is included and the resulting models are not used for profit.
Contact David McAvity at firstname.lastname@example.org if you have questions about its use.
(back to the NetLogo User Community Models)