Showing posts with label artificial life. Show all posts
Showing posts with label artificial life. Show all posts

Tuesday, January 12, 2016

Call for Papers Fifteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFEXV)

The Fifteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFEXV) will be held in Cancun, Mexico on July 4th-8th. 2016.
Paper/ abstract submission deadline: February 14th, 2016
Notification to authors: March 25th, 2016
Camera ready due: April 24th, 2016

We cordially invite you to submit your work in either full paper (8 pages) or extended abstract (2 pages) format. Accepted papers and abstracts will be published by MIT Press as open-access electronic proceedings.

Topics of interest include, but are not limited to, the following aspects of Artificial Life:

– Computational humanities/anthropology/archeology
– Evolution of language, computational linguistics
– Bio-inspired, cognitive and evolutionary robotics
– Self-replication, self-repair and morphogenesis
– Artificial chemistry, origins of life
– Cellular automata and discrete dynamical systems
– Perception, cognition and behavior
– Embodied, interactive systems
– Collective dynamics of swarms
– Complex dynamical networks
– Evolutionary dynamics
– Ecological and social dynamics
– Economy/society/social media as living systems
– Methodologies and tools for artificial life
– Living technology
– Applications to nanotechnology, biology or medicine
– Applications to business and finance
– Applications to games and entertainment
– Artificial life-based art
– Philosophical and ethical issues
– Artificial life and education
Paper/abstract formatting instructions:
To properly format their contributions, participants should download and use the following formatting instructions and template files:

Please download DOC template and LaTeX template.

Note that color figures are possible, since the proceedings will be published online in electronic format.

Papers and abstracts should be uploaded in a single file, in PDF format, to the EasyChair paper submission system. No other format is accepted.

NOTE: Even if you are submitting only an abstract, please prepare it in a formatted PDF and upload it to EasyChair just like a full paper submission. Don’t use the “Abstract Only” check box.

Workshop papers are managed separately from the main conference. To submit a paper to a workshop, go to its own website, which will be listed in the Workshops page.

Camera-ready requirements for MIT Press:

All the authors must follow the following instructions carefully:

All pages sized consistently at 8.5 x 11 inches (US letter size).
No visible crop marks.
Images at no greater than 300 dpi, scaled at 100%.
Embedded open type fonts only.
All layers flattened.
No attachments.
All desired links active in the files.

Note that individual articles (PDFs) must not exceed 5 MB if they are to be indexed by Google Scholar. Additional information about Google Scholar can be found here: http://www.google.com/intl/en/scholar/inclusion.html.

Authors of selected papers will be invited to publish an extended version of their work in a special issue of the Artificial Life journal published by MIT Press.

NOTE: At least one author of every accepted paper or poster must be registered 30 days prior to the conference, or the paper/poster will be withdrawn.

Thursday, February 5, 2015

Simulating Swarm Behavior with Scratch

My young audience
Today I was giving a lecture to kids at age 8 to 12 at our University. The lecture was part of an initiative called “Kinderuni” (Children’s University) which aims at increasing awareness of our academic business already at young age.
In my lecture I approached the general topic of computer software by the example of the programming language Scratch. Scratch is a graphical programming language designed by the Lifelong Kindergarten Group at the MIT media lab. The language aims to be simple, colorful and fun in order to enable and motivate children at a young age to create programs with their own ideas.
I explained how Scratch works and together the kids and I coded a simple computer game in 25 minutes, which was definitely a challenge to do this in this short time. Another challenge was to create the connection between making a simple game with scratch and doing research at a university. However, this might be easier than you think. While Scratch is in general a programming language for kids, it can be actually useful to explore and demonstrate multi-agent behavior with comparably little effort. Especially with the introduction of cloned objects in Scratch 2.0, the implementation of swarm behavior with a variable number of interacting agents became easy.

http://scratch.mit.edu/studios/215351/
Some projects from swarm behavior studio

The Scratch Studio Swarm Behavior gathers online simulations and games related to swarm behavior, multi-agent systems, clone interactions, self-organizing systems, and artificial life. The simulations show how Scratch can be used to demonstrate swarm behavior and how such a simulation can be implemented. Scratch is of course of low value regarding functionalty and performance - so you might have to drop the idea of having kindergarten kids coding the simulations for your next journal paper ;-).

Sunday, April 20, 2014

The Next Big Thing in Artificial Evolution

As announced in a previous blogpost, Prof. A. E. Eiben gave a very interesting talk on the next big in thing in artificial evolution during his visit at the Alpen-Adria-Universität Klagenfurt. Eiben presented a vision about having animate artefacts that are able to evolve and self-reproduce in physical spaces. To make this happen, he gives a notion of the integration of "hard" vs. "soft" evolutionary computation, the former meaning evolutionary optimiziation and design while the latter refering to artificial life, swarm robotics, and artificial societies.


Gusz Eiben's talk was attracting many people and lead to a vivid discussion afterwards about technology, possibilities, societal implications and parallels to existing sci-fi stories from Philip K. Dick or movies such as Terminator. So I think it is appropriate to say this talk was truly presenting science beyond fiction.

Thursday, October 10, 2013

Interactive web resources on Self-Organizing Systems

WATOR Predator-Prey Simulation

WATOR is a simulation of the interaction over time of predator and prey in a small rectangular area
Language: Java (runs in Browser)
http://www.leinweb.com/snackbar/wator/

Fish School and Predator

This is a simulation of a fish school, where each fish tries to align to its comrades, forming a fish swarm after some time.

Language: Scratch (runs in Browser via Adobe Flash)
http://scratch.mit.edu/projects/10734382

Ant Simulator

Simulation of virtual ants looking for food.
Language: Java (runs in Browser)
http://newton-nes.uni-klu.ac.at/~wilfried/ants/


Conway's Game of Life

Interactive cellular automata simulation.
 Language: Java (runs in Browser)
http://www.bitstorm.org/gameoflife/

Foxes and Rabbits Predator-Prey System

Simulation of a small ecosystem involving a fast-breedin prey (rabbits) and predators (foxes) feeding on them.
Language: Scratch (runs in Browser via Adobe Flash)
http://scratch.mit.edu/projects/10699259/

Slime Mold Simulation

Explanation: http://ccl.northwestern.edu/netlogo/models/Slime

Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Slime.651.477

Fireflies

Explanation: http://ccl.northwestern.edu/netlogo/models/Fireflies
Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Fireflies.763.498

Segregation

Explanation: http://ccl.northwestern.edu/netlogo/models/Segregation
Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Segregation.734.460

Twitter Network Analysis

Interactiv webpage for analyzing trends on Twitter. 
 
Language: Javascript
http://truthy.indiana.edu/politics

Wednesday, July 3, 2013

POEtic-Cubes: Self-organizing Art

POEtic-Cubes is a physical installation consisting of 9 autonomous robots which are able to react to stimuli coming from its direct environment. Stimuli are either induced from other robots or come from people interacting with the robots. Although every robot has the same program, different stimuli and interaction with each other leads to an emergent process where the robots self-organize into an overall organism consisting of 9 cells. A similar effect of differentiation of behavior despite of identical programming can be found in the robot soccer example.

Nice art, nice robots, although a bit loud :-)

Wednesday, October 31, 2012

Vampires vs. Werewolves

Tonight is Halloween! Typical Halloween activities include telling scary stories, so I am going to tell you a story about vampires and werewolves.
Once upon a time in a valley in Complexania, there were Werewolves and Vampires. They could live from the magic field in the valley, as long as they did not grow too large. The valley is also magically rolled up to a torus surface, so have no fear kids, the creatures cannot escape. Their size is genetically given, but when they reproduce, the target size might mutate by plus/minus 10 percent. If one of this creatures could gather enough magic (which is easier when they are small), an offspring was created in a free field beside it. So far it is clear that being smaller is advantageous because you can save more energy and reproduce faster. However, a werewolf is also able to kill a smaller vampire and steal its energy. Vice versa, large vampires are able to kill and consume werewolves which are smaller than them. This triggered an arms race of larger and larger creatures in the valley. At one time they grew so large that they had to constantly feed on their foes, since the magic field alone was not able to support their hunger for energy any more. So they grew and fought each other, numbers went up and down on both sides, until one species was left. Or both died.

Do you want to know who won the battle? Find out for yourself and use the simulation below:

In case you cannot see the simulation, your browser does not support applets. I made a video of the simulation for this case:


Small vampires and werewolves, which can feed sufficiently from the magic field, are characterized by light red and gray color, respectively. The red and black squares indicate larger vampires and werewolves.

Have fun and happy Halloween!

Monday, October 22, 2012

Sixth IEEE Xtreme Programming Contest: Bunnies in the Forest

At the annual IEEE Xtreme Programming Contest teams of three programmers are given a set approximately 20 problems, for which they have to write a program that solves the task. Choice of programming language is mostly free; the contest system supports Java, C, C++, C#, PHP, Python, Ruby. The contest goes on for exactly 24 hours, therefore the "Xtreme" in its name. In the 2012 issue, there had been 1900 teams worldwide. To be successful, it is necessary to work concentrated under pressure for hours and have excellent programming skills. In fact it is rather software engineering skills, since a sloppy or ad-hoc programming style does not lead to successful solutions. Watching a good team one can observe the classic stages of software engineering like specification of operational and performance qualification, design specification, implementation, black box/white box testing, and validation in a fast-forward manner within a few hours.


One important aspect of software engineering is also the proper specification of the intended project by the customer. A mistake in the initial specification is crucial, so it is important to state a task in a clear unambiguous manner. In practice, unfortunately, a software engineering team often has to guess what the customer really wants. This was the case for problem AA at IEEE Xtreme 2012:

In a forest, there were 'x' bunnies, 50% male, and 50% female, all adults. Bunnies doubles every 15 days, 10% of the baby rabbits dies at birth. They mature after 30 days, 30% leave the forest, and rest becomes rabbits. In every 30 days , 25% dies off due to flu. If every bunny dies off, the bunny world ends. Calculate the final number of bunnies alive after 1 year for any number of initial bunnies, x.

The problem is very interesting since it defines a simulation of an ecologic system. See for comparison the description of the Lotka Volterra system featuring rabbits and foxes. However, the problem specification is unclear in many aspects. What is the essential difference between an "adult bunny", a bunny, a "baby bunny" and a rabbit? It is not mentioned how to handle rounding, if the leaving of the forest happens once for a group that just matured or if an adult rabbit is tempted to leave the forest every time.

The problem had been complemented by these two test cases:
Test Case 1
444 (input)
0 (output)
Test Case 2
30000 (input)
56854 (output)
So a group of 444 dies out after one year, while a group of 30000 almost doubles. Given that the described effects are all linearly superimposable (except for possible rounding errors), it seems odd how the two groups yield so different results. 30000 is around 68 times as much as 444, so the results just also differ by that factor. The following python program implements one possible interpretation of this problem:
b0=0            #newborn bunnies  
b15=0           #15 day old bunnies 
b30=input()     #30 day old, read from stdin
for i in range(25): #one year
    print "t:",(i*15)," bunnies:",(b0+b15+b30)
    oldb0=b0
    b0=int(b30*0.9) # babies, 10% die
    b30=int(b30+b15*0.7) # maturing, 30% leave forest
    b15=int(oldb0)
    b0=int(b0*0.75)      # 25% die off by the flue
    b15=int(b15*0.75)    # 25% die off by the flue
    b30=int(b30*0.75)    # 25% die off by the flue

Running the program gives us 772 bunnies after one year with a starting population of 444 and 54816 for a starting population of 30000, both in contradiction to the test cases. Obviously the specification is unclear or wrong. Among all 1900 participating teams, not a single one was able to find the correct solution. Poor bunnies :-)

On rabbits and foxes, see also section 2 of

Thursday, April 12, 2012

Symposium on Self-* Systems – Biological Foundations and Technological Applications

The Symposium on Self-* Systems – Biological Foundations and Technological Applications was part of the European Meeting on Cybernetics and Systems Research (EMCSR 2012) taking place from April 10-13 in Vienna, Austria. It was organized by Vesna Sesum-Cavic, Carlos Gershenson and Wilfried Elmenreich.

Tomonori Hasegawa presented insights on the self-referential logic of self-reproduction originally formulated by John von Neumann and introduced an implementation of this abstract architecture embedded within the Avida world [1]. In the experiments, a sophisticated von Neumann Self-Referential Machine, which was introduced as seeding mechanism, can degrade to a mere copy machine that has dropped the self-referential part. Thus, with this particular implementation, in this particular world, the von Neumann architecture proves to be evolutionarily unstable and degenerates, surprisingly easily, to a primitive, non-self-referential, “copying” or “template replication”, mode of reproduction
Questions arose if a von Neumann Self-Referential Machine could evolve from a simple self-copy machine in a different set-up. The von Neumann model has the advantage of enabling new and more ways to change the system upon mutation - but what could be the evolutionary pressure to have a von Neumann architecture evolved in the first place?
Current experiments did not include sexual reproduction - could that facilitate the evolution of more complex architectures?
More from the group can be found at http://evosym.rince.ie/

Modern software systems suffer from increased complexity. Large software systems are composed of many components that are interlinked. The internal states of these systems contain a huge amount of information. The main obstacles lie in the lack of the reliability and robustness which lead to poor performance. For complex intractable problems, a random search (Monte-Carlo method) does not perform well. New and advanced approaches are necessary to deal with complexity.
Milan Tuba proposed a guided Monte-Carlo search method based on a hybrid of reinforcement learning and a genetic algorithm[2]. As a proof-of-concept the approach is applied to the problem of information retrieval in the internet.
In the discussion, the performance of the algorithm in comparison to commercial search providers, like Google, was discussed.

Sander van Splunter presented ideas on the coordination and self-organization in crisis management[3]. The main idea is to move from a task-oriented top down approach towards an emergence-oriented bottom-up approach, while keeping, a hierarchical structure. However, higher level entities control lower levels by policy, not directly. Policy defines interaction, prioritization and coordination of entities.
An entity works as an independent agent following the given policies. An important feature could be the ability to predict the failure in a given subsystem.
According to EMCSR'12 keynote lecture of Peter Csermely we have to watch signs like slower recovery, increased self-similarity, and increased variance of fluctuation patterns in order to predict a system change into a state where it cannot handle the its environment with its current policies.
In the proposed crisis management of van Splunter and van Veelen a subsystem is supposed to emerge a warning when local adaption fails to handle the problem, e.g. if a small team of firefighters cannot confine a fire in their assigned area.

Carlos Gershenson told us about "Living in living cities"[4]. One of the challenges of 21st century is preventing the problems in the ultra-fast growing cities all over the world.
These are non-stationary (changing problems), traditional algorithms do not work well. Such challenges are for example urban mobility, logistics, telecommunications, governance, safety, sustainability, society and culture. A solution is to exploit properties of living systems, which are adaptive, learning, evolving, robust, autonomous, self-repairing, and self-reproducing, and to understand cities metaphorically as organisms.
Engineering methods cannot find a single solution to these changing problems. Instead it is necessary to constantly adapt the solution, thus have a self-organizing solution to a complex problem. Will cities become the "killer app" of cybernetics and systems research?
Discussion arose around the following issues:
But how do you get the officers and responsibles of a city to cooperate? There is a need for a strong motivation to overcome the inertia of the system.
Could cities instead built from scratch? No, because of the legacy issues - it is not possible to just tear down a large city and build it anew every few decades.
Can we prove that the system is robust against malicious behavior? Difficult since such a complex system cannot be easily predicted for all sets of possible inputs.
Are explicit measures necessary or would people themselves care for the necessary adaptations? This would not increase living standard for the people.

Anita Sobe presented ideas on self-organizing content sharing at social events by such interesting examples as the marriage of Kate and William of Windsor or Barack Obama's inauguration[5].
The presented approach allows people to share their self-generated content like photos or short videos instantly at such events. Existing platforms like flickr or youtube do not provide this liveness since most content is uploaded with a few days delay. The proposed approach organizes the content using an artificial hormone system. The hormone distribution is sensitive to the quality of a network connection and therefore, reflects a quality-of-service for a network path. The system is solely based on local decisions for forwarding, replicating and moving content. Over time, the content distribution in the network gets optimized in order to support short response times for requesters. Simulations show that the system competes well to other epidemic information dissemination methods such as Gossip.
The follow-up discussion brought up interesting questions:
How is overhead reflected in the simulation? Currently overhead is implicitly modeled into the transmission cost, which is valid for a constant packet handling overhead.
Furthermore the relation of the hormone-based approach to an ant colony optimization (ACO) algorithm was discussed. We identified a major difference to ACO, since there typically either the network or the content is assumed to be static. However ACO could be extended to handle the described scenario, which might inspire future work.
What is the effect, if tags are (more) complex? The system was started with a predefined tag hierarchy which can be extended to a more complex tag hierarchy. However, with more complex tags there is no guarantee for finding content.

In the last talk, Wilfried Elmenreich gave a talk on evolving a distributed control algorithm for flying UAV drones for a coverage problem[6]. The problem of having multiple mobile agents covering (or as we say in robotics, "sweeping") an area is relevant for many applications like lawn mowing, snow removal, floor cleaning,  environmental monitoring, communication assistance and several military and security applications.
The work by Istvan Fehervari, Wilfried Elmenreich and Evsen Yanmaz described a simple grid-based abstraction of the problem which was used to test two evolved and one handcrafted control algorithm which were compared to  reference algorithms like random walk and random direction.
A short summary of Wilfried's talk and the slides are available here.
The talk triggered interesting discussion involving the comparison with the “belief-based” algorithm. A further question triggering future work is on the influence on the layout and number of sensors. What will happen if the environment changes? Since the algorithm has no memory of a map, a changing environment does not affect the result.

References
  1. B. McMullin, T. Hasegawa. Von Neumann Redux: Revisiting the Self-referential Logic of Machine Reproduction Using the Avida World. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  2. V. Sesum-Cavic, M. Tuba, and S. Rankow. The Influence of Self-Organization on Reducing Complexity in Information Retrieval. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  3. S. van Splunter, B. van Veelen. Coordination and Self-Organisation in Crisis Management. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  4. C. Gershenson. Living in Living Cities. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  5. A. Sobe, W. Elmenreich, and M. del Fabro. Self-organizing content sharing at social events. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  6. I. Fehérvári, W. Elmenreich, and E. Yanmaz. Evolving a team of self-organizing UAVs to address spatial coverage problems. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.