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.