Reza Ferrydiansyah
Home
About Reza
Curicullum Vitae
Projects/Research
Publications
Album

Project


Home >> Project page >> autrobb

AutROBB (Automatic Robot Behaviour Builder)

Genetic Programming is the main topic of my undergraduate theses. The theses described an environment for solving agent-based problems using genetic programming. The program creates a 'behavior' or a program to be used by simulated robots. The robots are given an environment and some task to do, but they are not given the program or the steps to do it by.

A technique known as genetic programming combines various programming construct (operators and values) to automatically create a behavior/program that best solves the problem. The program created by this tool allows the agent to move around in the environment, change enviromental conditions, as well as working with internal states.

Genetic Programming

Genetic programming is a programming algorithm that uses evolutionary method to solve a problem. A population of programs is randomly generated. Each individual program consists of chromosomes (which are basically programming constructs such as operators and values). For each program the fitness of the program is calculated based on how well they solve the problem.

The next generation is calculated by combining chromosomes from the current generation. The higher the fitness of an individual, the higher the probability that the individual can reproduce.

Autrobb

The program I create allows a user to create a 2-d environment consisting of an agent and several objects. The user can determine the reward for an agent performing a particular object. The agent is allowed to manipulate the objects to achieve the goals.

Some of the task that the agent is able to do using the created environment:

  1. An ant agent that eats all food in an environment (a basic problem in GP).
  2. An agent that turns off all the lights
  3. An agent that must exit a maze

A particular interesting aspect of this research was the use of states, whether agent's internal states or object states (such as lights off or on). One of the operator in the chromosome allows the checking and changing of states. However, results show that the ending program mostly ignored these explicit states, instead choosing to do things reactively.

Project Details

  • Timeframe: January 2000 - February 2001
  • Programming Environment: Java, Swing
23-11-2009 :: Number of visitors to this site : 363287 :: Give or take 350000

To Top | Contact Me | About The Page | FAQ

(C) Reza Ferrydiansyah 2002
You should not reproduce anything here and say that it is yours... bad boy