Artificial Intelligence

Autonomous Agents Applets

I wrote a number of Java applets demonstrating some well known projects in Autonomous Systems and AI.
  • Diversity Preservation in Monte Carlo Localization is a method to estimate the robot's location in the environment based on particle filtering (Thrun et al 2001).
    The applet gives a simulation of a mobile robot. The robot drives through the environment using simple obstacle avoidance. The particles of the particle filter are shown. Initially, the particles are uniformly placed in the environment. An iterative process of mutation, selection and reproduction (similar to GA) results in a better estimation of the robot's position. The applet lets you play around with different settings of the particle filter.
    Keywords: monte carlo localization, MCL, particle filters, robot navigation

    MCL applet met JRE*

  • Swarming. This applet is roughly based on Craig Reynolds' Boids (Reynolds, 1987). The applet simulates flocking birds or schooling fishfish. Although each boid's behaviour is very simpel, the behaviour of the whole flock/school is very complex and dynamic.
    With this applet you can play around with the different parameters of the model and see how the behaviour of the swarm changes. Furthermore you can do a simpel experiment that shows you that only a small percentage of the swarm has to know the location of a goal in order for the whole swarm to arive there.
    Keywoords: boids, flocking, schooling, swarmimg, reynolds.

    Applet with JRE with 1.5*, Applet without JRE

  • Braitenberg vehicles. This applet is a simulation of the vehicles type 2 and 3 that Braitenberg describes in his book (Braitenberg, 1984). The vehicles consist of two lightsensors connected with to motors. Although the control mechanism of the vehicles is very simple, the behavior of the vehicle in its world is quite complex. This is caused by the interaction of the vehicle with the world. The behavior is a result of the control structure and the interaction with of the system with the environment.
    With this applet you can play around with the vehicle's control mechanism and the environment.
    Keywords: braitenberg, vehicle, behavior-based robotics.

    Applet with JRE* Applet without JRE

  • Genetic Algorithms. This applets allows you to play around with different types of Genentic Algorithms (GA). Among other functions, you can change the fitness landscapes, population size, coding schemes, mutation and crossover rates and selection mechanisms.
    One of the problems with the standard GA is the problem of premature convergence. Caused by variance in the reproduction scheme, the population will soon drift towards one solution, even when there are multiple evenly good solutions. Niching methods can be used to counter this problem. One of these methods, frequency dependent selection can be used in this applet.
    Keywords: genetic algorithms, optimazation, diversity preservation, niching, premature convergence

    GA applet met JRE*

* These applets require Java Runtime Environment (JRE) 1.4. J2SE v 1.4.2_08 JRE


Braitenberg, V. (1984) Vehicles. Experiments in Synthetic Psychology. (@amazon)

Reynolds, C. W. (1987) Flocks, Herds, and Schools: A Distributed Behavioral Model. In: Computer Graphics, 21(4), (Proceedings of SIGGRAPH '87) pages 25-34. (html)

Thrun, S., Fox, D., Burgard, W. and Dellaert, F. (2001) Robust Monte Carlo Localization for Mobile Robots. Artificial Intelligence 128(1-2):99-141. (citeseer)