Thursday, April 28, 2011

Humanity is executing an evolutionary algorithm

One interesting aspect of humans is that they very strongly tend to copy the behavior of famous and admired individuals, a behavior that can also be found for our close relatives, the chimpanzees.
Actually, most of our behavior is based on previous experience and 'aping' others. There are actual very few situations where we use a pure deductive approach to solve a task. Wanna kick a curve ball? You can go for the deductive approach, but you will end up in a complicated physical air flow model. Better watch the neighbor’s boy doing it, and copy the movement.
The reason for this is that we live in a complex world, where the deductive approach usually fails because we cannot build accurate models. You want to start a business on the main street of your town? You would most likely fail trying to build an accurate economic model of your customers without taking into account the experience of people who already had a similar business in a comparable situation.
This leads us to two conclusions:
(i) Looking at whole humanity, we can see that they are executing an evolutionary algorithm, where behavior is inherited from successful individuals and modified to test new hypotheses or to adapt to new situations
(ii) Our intellectual abilities are mainly used to estimate effects of some moderate parameter changes - in evolutionary algorithms, this approach is known of modeling an approximation of the fitness landscape to reduce the number of erroneous trials
So, next time you are at a zoo, don't be too proud of your intellectual abilities - the main mechanism that lets humanity survive in a complex world is copying behavior as part of a giant evolutionary algorithm!

Friday, April 8, 2011

Logo turtle graphics

Logo is a venerable functional programming language (created 1967) which gained most of its popularity from the concept of Turtle Graphics: A small triangle on the screen (the turtle) being directed by simple commands like forward, backward, left, and right, each command followed by an argument giving the distance or turning angle.
In combination with the repeat command you could create beautiful drawings with a few commands. Being that simple, the turtle graphics of Logo is a nice way to teach the concept of programming to kids, possibly even pre-school.
The following animation shows a short demonstration of a browser-based Turtle Graphics interpreter aimed at introducing kids to computer programming. I extended the original program from John Villar by a few features. Feel free to click on it and create some nice drawings!

Click on this image to start Turtle Graphics in your browser

Another interesting aspect of turtle graphics is the agent-centric view: you need to specify movements and actions from the perspective of the turtle. For example, the effect of the forward command depends on the current heading of the turtle. This is fundamental different from most other programming languages where you draw on a canvas using absolute coordinates.
That such an agent-centric view is beneficial for modeling self-organizing systems has also been shown by the agent-based simulation language StarLogo, which is a multi-agent extension of Logo. If you are interested to use turtle graphics in education on multi-agent and decentralized systems, have a look at StarLogo.

Thursday, April 7, 2011

Lakeside Research Days 2011: Applications of self-organization in technology

The concept and theory of complex systems and self-organization has been researched for several decades and yielded many publications. Scientists claim self-organization to be the new paradigm to cope with the emerging complexity of networked applications. However, the claimed paradigm change has not yet shown a very great impact so far. Typical applications which are claimed to implement and build on self-organization are often built by experts from the respective domain such as computer networks, wireless communications, sensor networks, etc. without generality that holds also for other domains. On the other hand, research and development on applications of self-organization have the potential to provide results across the particular domain borders. In order to enable this potential, there is a need to move the application area of self-organizing systems more towards the center of complex systems research. In other words, complex systems researcher need to learn how to apply their results and domain specific researchers need to learn more about the general aspects of self-organization. At the Research Days 2011, a group of internal researchers will discuss how this translation between complex systems theory, domain-specific theory, and practical application can be achieved.
The Research Days are an annual event concentrating on the core competence of Lakeside Labs - Self-organizing Networked Systems. During this workshop organized by Lakeside Labs GmbH in cooperation with the University of Klagenfurt, international experts devote themselves to a special topic in self-organization. The event is organized as a five days workshop in July. It takes place at Lakeside Labs in Klagenfurt am Wörthersee, Austria, near a beautiful lake and Alps scenery. Invited experts, local professors, and young researchers discuss and elaborate ideas in the field of Self-Organizing Systems (SOS). The main emphasis of the workshop is on soliciting discussions and creating new ideas regarding a topic related to self-organizing systems. The event greatly supports scientific exchange, networking, establishment of international collaborations, and joint research projects.
The following video gives a nice impression of the Research Days:



The Research Days 2011 will take place in the week of July 11-15, 2011. Please visit http://researchdays.lakeside-labs.com for further information.

Friday, April 1, 2011

iBraitenberg

Braitenberg robot approaching a light source
A Braitenberg vehicle is a simple robot that is able to show interesting complex behavior. The main feature of a Braitenberg vehicle is that it lacks a complex controller but instead directly connects the sensors' output to some actuators' input. That way, a two-wheeled vehicle can, e.g. be told to approach or to flee from an object detected by the sensors. Dominik Egarter has build a nice Braitenberg vehicle using Lego mindstorms. To be exact, it is a Braitenberg emulator contained in the Lego Mindtstorms controller brick. The interesting feature is that the vehicle can be configured via a nice iPhone app. The iBraitenberg app is a useful demonstrator to introduce robotics to pupils. We presented the work at an open lab day at the university, where the project attracted a lot of people, among them several kids.


Movie explaining the vehicle and demonstrating the iBraitenberg app.

Tuesday, March 29, 2011

Evolving a cellular automaton with neural controllers

Evolution of Hungarian flag
What happens if you integrate a cellular automaton with neural network controllers? In an experiment, we extended the model of CA with a neural network that controls the cell behavior according to its internal state. The model is used to evolve an Artificial Neural Network controlling the cell behavior in a way a previously defined reference pattern emerges by interaction of the cells. Each cell is controlled by an instance of the same ANN. The ANNs have connections to neighbors and one output of each ANN determines cell color.
At the beginning of each simulation, all cells had the same state and commenced their operation at the same time - this is comparable with a number of people cooperatively drawing an image in the dark.
We used our tool FREVO for evolving the neural network in a way that it reproduces the given pattern. The best results have been achieved when evolving simple structures with large areas of a single color as they are present for example in flags. For more complex images, however, the current setup causes the evolutionary algorithm to get stuck at a suboptimal stage like depicted in the approach to learn the image of Leonardo da Vinci's Mona Lisa painting. There is, however, a large space of possibilities for variations of the model which gives rise to future work.
Complex images like this painting cannot be reproduced - Mona Lisa kinda vanished huh?

Friday, March 11, 2011

Self-organized positioning of mobile relays

Quadcopter from Microdrones
The Fifth International Workshop on Self-Organizing Systems (IWSOS 2011) in Karlsruhe was a great success. Helmut Lindner won the best student poster award with his work on self-organizing mobile drones.
In catastrophic scenarios, wireless communication is an important means for coordinating rescue and saving operations. However, in such situations, the standard communication infrastructure is often not available. One possibility to solve this problem would be the usage of helicopter drones as flying relay stations. For the positioning of the drones, we would have to cope with disturbances of wireless media (interference from other nets, signal fading, etc.), an unknown landscape, as well as the need to add or remove relay nodes as they need to recharge.
Simulation of movement patterns for four drones
At IWSOS 2011, Helmut Lindner presented a evolution-based algorithm for a self-organizing positioning of the drones. The ground stations are connected by multi-hop communication over drone relays. For each possible route a “flow” value Phi is calculated, which serves as a local fitness function for each drone. The drones are moving around in order to increase their Phi value. A movement that worsened the Phi value is reversed, while for an improvement, the current direction is kept. This way, the drones execute a distributed (1+1) evolution strategy.

Friday, January 28, 2011

Mozart meets Darwin now on Android

Our experiment "Mozart meets Darwin" (see my previous blog article about it for details) is online again. You can take part in the experiment by voting using the Flash application below. We also provide a version for Android mobile phones now (the download is free). Please spread the word and tell your friends: we expect many votes in order to make this work.
I will provide an analysis of the results after a few weeks.


Get Adobe Flash player