|
Preface |
5 |
|
|
Contents |
8 |
|
|
List of Contributors |
10 |
|
|
Part I Virtual Living Worlds |
12 |
|
|
1 Avida: Evolution Experiments with Self- Replicating Computer Programs |
13 |
|
|
1.1 Introduction to Avida |
13 |
|
|
1.1.1 History of Digital Life |
14 |
|
|
1.1.2 The Scientific Motivation for Avida |
16 |
|
|
1.2 The Avida Software |
18 |
|
|
1.2.1 Avida Organisms |
18 |
|
|
1.2.2 The Avida World |
27 |
|
|
1.2.3 Test Environments |
31 |
|
|
1.3 Using Avida |
32 |
|
|
1.3.1 Performing Avida Experiments |
32 |
|
|
1.3.2 Analyze Mode |
35 |
|
|
1.4 A Summary of Avida Research |
38 |
|
|
1.4.1 The Evolution of Complex Features |
38 |
|
|
1.4.2 Survival of the Flattest |
39 |
|
|
1.4.3 Evolution of Digital Ecosystems |
40 |
|
|
1.5 Outlook |
42 |
|
|
References |
43 |
|
|
2 Framsticks: A Platform for Modeling, Simulating, and Evolving 3D Creatures |
46 |
|
|
2.1 Available Software and Tools |
47 |
|
|
2.2 Simulation |
48 |
|
|
2.2.1 Body |
49 |
|
|
2.2.2 Brain |
50 |
|
|
2.2.3 Receptors and E.ectors |
51 |
|
|
2.2.4 Environment |
52 |
|
|
2.3 Framework and Evolution |
52 |
|
|
2.3.1 Genetics |
52 |
|
|
2.3.2 Scripting |
56 |
|
|
2.3.3 Experiment De.nitions |
57 |
|
|
2.3.4 Illustrative Example ("Standard Experiment” Definition) |
59 |
|
|
2.4 Advanced Tools for Research and Education |
60 |
|
|
2.4.1 Brain Analysis |
61 |
|
|
2.4.2 Clustering of Similar Individuals |
62 |
|
|
2.4.3 History of Evolution |
63 |
|
|
2.4.4 Understanding Evolved Behaviors: Fuzzy Control |
63 |
|
|
2.5 Research Experiments |
65 |
|
|
2.5.1 Comparison of Genotype Encodings |
65 |
|
|
2.5.2 Automatic Optimization Versus Human Design |
66 |
|
|
2.5.3 Clustering with Similarity Measure |
67 |
|
|
2.5.4 Other Experiments |
69 |
|
|
2.6 Education with Entertainment |
71 |
|
|
2.7 Summary |
73 |
|
|
Acknowledgment |
74 |
|
|
References |
74 |
|
|
3 Nerve Garden: Germinating Biological Metaphors in Net- based Virtual Worlds |
76 |
|
|
3.1 History and Background of the Project |
76 |
|
|
3.1.1 Artificial Life Meets the World Wide Web |
76 |
|
|
3.1.2 Background: L-Systems |
77 |
|
|
3.2 Nerve Garden I: Inspiration, Architecture, and Experience |
78 |
|
|
3.2.1 Inspiration |
78 |
|
|
3.2.2 Architectural Elements |
78 |
|
|
3.2.3 Experience: What Was Learned |
81 |
|
|
3.3 A Next Evolutionary Step: Nerve Garden II |
83 |
|
|
3.4 The Role of ALife in Virtual Worlds on the Internet |
85 |
|
|
3.4.1 Multi-User Online Worlds: A Rich Space for Biological Metaphors |
85 |
|
|
3.4.2 Using ALife to Draw Attention Span |
86 |
|
|
3.4.3 Artifical Life Techniques Powering Better Virtual World Architectures |
86 |
|
|
3.5 Other Examples of L-System-based Virtual World Construction and Considerations for the Future Use of L- Systems |
87 |
|
|
References |
88 |
|
|
Online Resources |
89 |
|
|
4 GenePool: Exploring the Interaction Between Natural Selection and Sexual Selection |
90 |
|
|
4.1 History |
90 |
|
|
4.2 Background |
91 |
|
|
4.2.1 Dawkins’ Call |
91 |
|
|
4.2.2 Physics, in Various Forms |
91 |
|
|
4.2.3 Sexual Selection |
92 |
|
|
4.3 Description of the Software |
92 |
|
|
4.3.1 Initialization |
92 |
|
|
4.3.2 Food Bit Behavior |
93 |
|
|
4.3.3 Swimbots |
93 |
|
|
4.3.4 Locomotion Is Required for Mating |
95 |
|
|
4.3.5 Special Body Parts |
95 |
|
|
4.3.6 Swimbot Mental States |
96 |
|
|
4.3.7 Energy Flow |
96 |
|
|
4.3.8 Turning |
97 |
|
|
4.3.9 Perceiving and Choosing Mates |
98 |
|
|
4.3.10 Pseudo-FlatLand |
98 |
|
|
4.3.11 Mating and Birth |
99 |
|
|
4.4 Usage |
99 |
|
|
4.4.1 Pool Menu |
99 |
|
|
4.4.2 Love Menu |
99 |
|
|
4.4.3 Stats Menu |
99 |
|
|
4.4.4 Info Menu |
99 |
|
|
4.4.5 A.ecting Views |
100 |
|
|
4.4.6 Ways to Use GenePool |
100 |
|
|
4.4.7 A Sample User Session |
100 |
|
|
4.4.8 Mini-Dramas |
101 |
|
|
4.4.9 Anthropomorphizing |
101 |
|
|
4.5 Discoveries |
101 |
|
|
4.5.1 Polymorphism? |
101 |
|
|
4.5.2 Celebrating Diversity |
103 |
|
|
4.6 Future Development |
103 |
|
|
4.6.1 Recursive Embryology |
103 |
|
|
4.6.2 Parental Investment and Gender |
104 |
|
|
4.6.3 Environmental Variation |
104 |
|
|
4.7 Similar Simulations |
104 |
|
|
References |
105 |
|
|
5 Sodarace: Adventures in Artificial Life |
106 |
|
|
5.1 Introduction: The Sodarace Project |
106 |
|
|
5.2 Scientific Background |
108 |
|
|
5.2.1 Sodaconstructor: The Physics Engine of Sodarace |
108 |
|
|
5.2.2 Sodarace Environmental Variables |
110 |
|
|
5.2.3 Previous Work |
110 |
|
|
5.3 Software for Artificial Life in Sodarace |
111 |
|
|
5.3.1 Approaches to Optimization |
111 |
|
|
5.3.2 Simulated Annealing and Daintywalker |
112 |
|
|
5.3.3 Genetic Algorithms and the Amoeba |
112 |
|
|
5.3.4 Genetic Algorithms from Scratch |
112 |
|
|
5.4 Usage |
112 |
|
|
5.4.1 Interactions in Sodarace: The Evolution of the Forums |
112 |
|
|
5.4.2 Forum Involvement in Scientific Research Projects |
113 |
|
|
5.4.3 Community Development of Peer-to-Peer Learning Web Sites |
113 |
|
|
5.4.4 Programming Support Web Sites |
114 |
|
|
5.4.5 Experimental Investigation into the Physics of Sodarace |
114 |
|
|
5.4.6 The Pandora’s Box: An Example of the Spontaneous Development of Scientific Method |
115 |
|
|
5.4.7 Interdisciplinary Interaction: Art & Music Meet Science and Engineering in Sodarace |
116 |
|
|
5.4.8 Sodarace in Schools |
116 |
|
|
5.5 Experiments with Sodarace |
119 |
|
|
5.6 Summary: The Future of Sodarace |
119 |
|
|
Acknowledgments |
119 |
|
|
References |
120 |
|
|
Part II Collective Artificial Life |
121 |
|
|
6 Escaping the Accidents of History: An Overview of Artificial Life Modeling with Repast |
122 |
|
|
6.1 Introduction |
122 |
|
|
6.1.1 Artificial Life |
123 |
|
|
6.1.2 Agent-based Modeling for Artificial Life |
124 |
|
|
6.1.3 Chapter Organization |
125 |
|
|
6.2 REPAST |
125 |
|
|
6.2.1 The Repast Development Ecosystem |
126 |
|
|
6.3 RepastJ in the Eclipse Development Environment |
131 |
|
|
6.3.1 Repast Concepts |
133 |
|
|
6.3.2 Using Repast |
136 |
|
|
6.4 Repast Artificial Life Models |
137 |
|
|
6.4.1 Artificial Evolution and Ecosystems |
137 |
|
|
6.4.2 Artificial Societies |
139 |
|
|
6.4.3 Artificial Biological Systems |
141 |
|
|
6.5 Conclusions |
145 |
|
|
References |
146 |
|
|
7 EINSTein: A Multiagent-based Model of Combat |
149 |
|
|
7.1 Background |
149 |
|
|
7.2 Land Combat as a Complex Adaptive System |
151 |
|
|
7.3 Agent-based Modeling and Simulation |
151 |
|
|
7.4 EINSTein |
153 |
|
|
7.4.1 Features |
154 |
|
|
7.4.2 Source Code |
154 |
|
|
7.4.3 Design Philosophy |
156 |
|
|
7.4.4 Program Flow |
157 |
|
|
7.5 Combat Engine |
157 |
|
|
7.5.1 Agents |
157 |
|
|
7.5.2 Battlefield |
158 |
|
|
7.5.3 Agent Personalities |
158 |
|
|
7.5.4 Penalty Function |
159 |
|
|
7.5.5 Meta-Rules |
160 |
|
|
7.5.6 Combat |
161 |
|
|
7.5.7 Run Modes |
162 |
|
|
7.6 Sample Patterns and Behavior |
162 |
|
|
7.6.1 Qualitative Classes of Behavior |
164 |
|
|
7.6.2 Lanchesterian Combat |
165 |
|
|
7.6.3 A Step Away from Lanchester |
167 |
|
|
7.6.4 Swarming Forces |
169 |
|
|
7.6.5 Non-Monotonicity |
170 |
|
|
7.7 Genetic Algorithm Breeding |
174 |
|
|
7.7.1 Search Space |
174 |
|
|
7.7.2 Mission Fitness |
175 |
|
|
7.7.3 EINSTein’s GA Recipe |
176 |
|
|
7.7.4 Sample GA Breeding Experiment #1 |
177 |
|
|
7.7.5 Sample GA Breeding Experiment #2 |
180 |
|
|
7.8 Discussion |
183 |
|
|
7.8.1 Other Features and Future Enhancements |
185 |
|
|
7.8.2 Why Are Agent-based Models of Combat Useful? |
186 |
|
|
Acknowledgments |
189 |
|
|
References |
189 |
|
|
8 StarLogo: A Programmable Complex Systems Modeling Environment for Students and Teachers |
192 |
|
|
8.1 Background |
192 |
|
|
8.2 Approaches to Modeling |
194 |
|
|
8.3 Additional Design Criteria |
195 |
|
|
8.4 The StarLogo Platform |
196 |
|
|
8.4.1 Termites Example |
197 |
|
|
8.5 StarLogo Design Through the Ages |
200 |
|
|
8.5.1 The StarLogo Virtual Machine |
200 |
|
|
8.5.2 The Anatomy of a Virtual Machine |
201 |
|
|
8.5.3 The Process Scheduler and Its Processes |
202 |
|
|
8.5.4 The StarLogo Interface |
204 |
|
|
8.6 Learning to Model Through |
206 |
|
|
8.7 Lessons Learned |
207 |
|
|
8.7.1 Fire |
207 |
|
|
8.7.2 But This One Goes to 1000 |
209 |
|
|
8.7.3 The Evolution of Rabbits and Grass |
210 |
|
|
8.7.4 The Tides Are Turning |
212 |
|
|
8.8 Conclusion |
212 |
|
|
Acknowledgments |
213 |
|
|
References |
213 |
|
|
9 On the Evolution of Sonic Ecosystems |
215 |
|
|
9.1 Introduction |
215 |
|
|
9.1.1 Artificial Life Art |
216 |
|
|
9.1.2 Related Work |
217 |
|
|
9.2 Eden: An Artificial Life Artwork |
217 |
|
|
9.3 Agents and Environments |
219 |
|
|
9.3.1 The Eden World |
219 |
|
|
9.3.2 Agent Implementation |
220 |
|
|
9.3.3 Image |
225 |
|
|
9.3.4 Sound |
226 |
|
|
9.4 Interaction |
228 |
|
|
9.4.1 The Problem of Aesthetic Evolution |
229 |
|
|
9.4.2 Eden as a Reactive System |
230 |
|
|
9.5 Results |
231 |
|
|
9.6 Conclusion |
232 |
|
|
References |
233 |
|
|
Part III Magic of Discrete Worlds |
235 |
|
|
10 Exploring Cellular Automata with MCell |
236 |
|
|
10.1 What Is MCell? |
236 |
|
|
10.1.1 Program Interface |
237 |
|
|
10.1.2 Some History |
238 |
|
|
10.1.3 Other Popular CA Simulators |
238 |
|
|
10.2 Description of the Software |
239 |
|
|
10.2.1 Areas of Application |
239 |
|
|
10.2.2 Supported Cellular Automata Rules |
240 |
|
|
10.2.3 Cellular Automata Patterns |
250 |
|
|
10.2.4 Interesting Rules and Experiments |
252 |
|
|
10.3 Program Usage |
255 |
|
|
10.3.1 Browsing Cellular Automata Patterns |
255 |
|
|
10.3.2 Designing Cellular Automata Patterns |
256 |
|
|
10.3.3 Exploring Cellular Automata Rules |
256 |
|
|
10.3.4 Program Configuration |
258 |
|
|
10.3.5 Analyses |
258 |
|
|
10.4 Extending MCell |
261 |
|
|
10.4.1 Programming User Rules |
261 |
|
|
10.4.2 Extending the MCell Interface |
261 |
|
|
10.4.3 Going Java |
262 |
|
|
10.5 Summary |
263 |
|
|
References |
263 |
|
|
11 Discrete Dynamics Lab: Tools for Investigating Cellular Automata and Discrete Dynamical Networks |
265 |
|
|
11.1 Basins of Attraction |
267 |
|
|
11.2 Discrete Dynamical Networks |
267 |
|
|
11.3 Space-Time Patterns and Basins of Attraction |
270 |
|
|
11.4 DDLab User Interface |
272 |
|
|
11.5 Initial Choices |
273 |
|
|
11.6 Setting the Network Size |
274 |
|
|
11.7 The Neighborhood k or k-mix |
275 |
|
|
11.8 Wiring |
279 |
|
|
11.9 Rules |
279 |
|
|
11.10 The Initial Network State, the Seed |
282 |
|
|
11.11 Networks of Subnetworks |
283 |
|
|
11.12 Presentation Options for Space-Time Patterns |
284 |
|
|
11.13 Presentation Options for Attractor Basins |
285 |
|
|
11.14 Filing |
286 |
|
|
11.15 Mutations |
287 |
|
|
11.16 Network Architecture |
289 |
|
|
11.17 The Network Graph |
289 |
|
|
11.18 Static Parameters Measures |
290 |
|
|
11.19 Measures on Space-Time Patterns |
290 |
|
|
11.20 Measures on Attractor Basins |
294 |
|
|
11.21 Reverse Algorithms |
295 |
|
|
11.22 Chain Rules and Encryption |
296 |
|
|
11.23 Sequential Updating |
296 |
|
|
11.24 Sculpting Attractor Basins |
297 |
|
|
11.25 Acknowledgments |
298 |
|
|
References |
299 |
|
|
Part IV Artificial Life Arts |
300 |
|
|
12 Simulated Breeding - A Framework of Breeding Artifacts on the Computer |
301 |
|
|
12.1 Introduction |
301 |
|
|
12.2 Basic Framework of IEC |
303 |
|
|
12.3 SBART and SBEAT |
304 |
|
|
12.3.1 SBART |
304 |
|
|
12.3.2 SBEAT |
306 |
|
|
12.4 Breeding in a Field Window |
308 |
|
|
12.5 Multifield User Interface |
308 |
|
|
12.5.1 Migration Among Fields |
310 |
|
|
12.5.2 Protection of Individual |
310 |
|
|
12.5.3 Effects of Multi.led Interface |
311 |
|
|
12.6 Partial Breeding |
312 |
|
|
12.7 Direct Genome Operation |
314 |
|
|
12.8 Production Samples |
316 |
|
|
12.9 Future Works |
318 |
|
|
12.10 Conclusion |
320 |
|
|
Acknowledgments |
320 |
|
|
References |
321 |
|
|
13 Enriching Aesthetics with Artificial Life |
323 |
|
|
13.1 Introduction |
323 |
|
|
13.2 Wonder and the Sublime in Art and Nature |
324 |
|
|
13.3 Sublime Software |
327 |
|
|
13.4 The Betrayal of Points and Lines |
328 |
|
|
13.5 Moving Beyond Two Dimensions |
329 |
|
|
13.6 Spaces That Build Themselves |
331 |
|
|
13.7 Conclusion |
333 |
|
|
References |
334 |
|
|
A Appendix: Artificial Life Software |
336 |
|
|
Index |
341 |
|