Polytechnic School of University of São Paulo A.L.I.V.E. Artificial Life in Virtual Environments Rogério Perino de Oliveira Neves Laboratory of Integrable Systems Artificial Life Group
Presentation Parts • Introduction (3) • ALife Concepts (14) • Project Specification (19) • Experimental Results (12) • Conclusions (6) Total (54)
Objectives • Research on ALife • Apply VR technologies to the visualization of ALife experiments • Build a customizable experimental development framework • Implement AL experiments within the developed framework
Project Parts • Theoretical part • Related studies • “State of the Art” research look up • Open problems • Practical part • Framework development • Experiment development based on it
About ALife • Combines biology and computer science to create synthetic models of living systems evolution • A tentative to elucidate the logical structure (in a most general form) of biological evolution • Originally dominated by computer scientists • Nowadays studied by researches of almost all areas
Artificial Life The expression was first introduced by Christopher Langton in 1987, when was used as a conference name held inLos Alamos, New México, about “The Synthesis and Simulation of Living Systems”. “Artificial life: The proceedings of an Interdisciplinary Workshop on the Synthesis and Simulation of Living Systems” September, 1987, Los Alamos, New Mexico, Addison-Wesley Pub. further information...
Key concepts • The initial definition considered two types: • Strong AL: re-creation of life in-silico, i.e. in the computer • Weak AL: simulation of biological phenomena • Possible attacks • Bottom-up • Top-down
Attacks • Bottom-Up • Observed in the nature • No planning • Comes from emergence/evolution • Generally associated to strong AL • Top-Down • Humanistic procedures • Comes from planning/foresight • Generally associated with weak AL
Life Simulations • Rules • Local rather than global • Simple rather than complex • Emergent rather than pre-defined (behavior)
Types of ALife research • Origins of Life, self-organization and self-replication • Development and replication • Evolutionary dynamics and adaptation • Autonomous agents and robots • Communication, cooperation and social behavior • Simulation, synthesis tools and methodologies
Open problems in Artificial Life • How does life arise from the nonliving? • Generate a molecular proto-organism in vitro • Achieve the transition to life in an artificial chemistry in silico • Determine whether fundamentally novel living organizations • Simulate a unicellular organism over its entire lifecycle. • Explain how rules and symbols are generated from physical dynamics in living systems.
Open problems in Artificial Life B. What are the potentials and limits of living systems? • Determine what is inevitable in the open-ended evolution of life. • Determine minimal conditions for evolutionary transitions from specific to generic response systems. • Create a formal framework for synthesizing dynamical hierarchies at all scales. • Determine the predictability of evolutionary consequences of manipulating organisms and ecosystems. • Develop a theory of information processing, information flow, and information generation for evolving systems.
Open problems in Artificial Life C. How is life related to mind, machines, and culture? • Demonstrate the emergence of intelligence and mind in an artificial living system • Evaluate the influence of machines on the next major evolutionary transition of life • Provide a quantitative model of the interplay between cultural and biological evolution • Establish ethical principles for artificial life further information... From Bedau et. al – “Open Problems in Artificial Life”
ALife tools Examples: • State Machines • Non-linear Systems / Chaotic Dynamics • Fuzzy Logic • Artificial Neural Networks • Evolutionary Search • Genetic Algorithms
Multi Agent Systems Autonomous agents Biological agents Robotic agents Computational Agents Electronic agents ALife agents Entertainment agents Search agents Viruses ... Intelligent agents Artificial biological agents ...
Experiments in ALife Environment Virtual scene Agent Actor Agent Actor Agent Actor Visualization device UI / Interaction
State of the Art in ALife * Neves, Rogério “Karl Sims videos”, http://www.lsi.usp.br/~rponeves/research/sims, access 18/09/2003 further information...
Project Specification • Motivation • Characteristics • Resources • Technical tools • Java, Java3D • Visualization / Interactivity • Framework proposal • Experiments
Motivation • Weak visualization and Interaction • Most of ALife programs provides a poor visual representation of the Virtual Environment • The programs allow only the change of some parameters at start-up or during the experiment • Hard code access • When available, the sources are frequently in low-level or at least not object oriented languages (ASM, C) • Support to parallel architectures • Allowing the performance improvement in concurrent execution of agents in a Multi-threaded, Multi-Agent context • A full 3D Environment simulation • Allowing the employment of vector mathematics to operate objects in the scene • Apply the “State of the Art” in visualization technologies • Employ computer graphics, accelerator boards and VR technologies to the visualization of the Virtual Environment
Project features • OOP Paradigm • Allows easy object/agent description/operation • Cross-platform execution capability • Open source philosophy • Simulation of a true 3D space with vector dynamics • Providing easy manipulation of objects into 3D space • Multiple-device 3D graphical support • Visualization in Virtual Reality and immersive environments • Concurrent execution of programs • Allow experiment speed-ups in multi-processed and distributed architectures • Browser applet / Internet execution
Techniques / tools • OOP • MAS • Vector Mathematics • Discrete Time-Dynamics • Concurrent Programming • Computer Graphics • Networking • ALife Related
Development resources • Java / Java3D API (from SUN) • Personal Computers • Graphical Workstations (Silicon Graphics) • Multi-processed systems (SPADE project) • Cluster of PCs (CAVE) • Visualization devices (from monitors to CAVES) • GB Ethernet Network
Java & Java3D Java • Cross-platform capability • Internet compliant • Built over the OOP paradigm • Concurrent programming support ( through Threads) • Extensible • Reliable Java3D • New standard in VR development • OpenGL/DirectX hi-level interface • Scene description through scene-graphs • Extend Java features
Visualization Directed, but not limited to: • Ordinary 3D boards • Professional graphical accelerators • From ordinary to stereo Monitors • Shutter Glasses • Head Mounted Displays (HMD) • CAVES • Other VR devices
Interactivity • Mouse* • Keyboard • Gloves* • Wands* • Other tracking devices* *Through Java3D picking behavior
Levels of operability User Interface Custom User Interface Runtime Interface/Interaction User Classes Hi-Level/Pseudo Code Project Scope A.L.I.V.E. Framework Super classes Java/Java3D Mid-Level/Language Code Byte code Java VM/Machine Code
Platform architecture RenderClient Subset
Render Client Server Env Scene Multicast Packages RenderClient RenderClient RenderClient
Demo code DEMO CODE
Developed Experiments • Program test • ALGA – Evolution / Adaptation • Predator-Prey system • Fish Schooling • Flocking • Biological demos • Cellular dynamics • Fungus growth • Lymphocytes & virus • Mitosis
Predator sight FILTER W1 R W2 + ACT G RADIATION B W3
Predator DNA • Reproduction condition • Death condition • Sensibility radius • Strength • Stamina • Metabolism temperature • Temperature tolerance • Toxic resistance • W1: red filter weight (R) • W2: green filter weight (G) • W3: blue filter weight (B)
Visual improvements Cellular dynamics