Contents , Index

BOTSsim USER DOCUMENTATION


1. BOTSSIM SYSTEM REQUIREMENTS

The absolute minimum system requirements for running BOTSsim are:

However, for worthwhile simulations, we strongly recommend the following:

2. GETTING STARTED

2.1. Starting a Run

1. Launch the BOTSsim Application. A Default Run is created for you. This Default Run uses the default Run Information Variables and a blank Environment Template.

2. Press the Edit Template speed button (or select Edit à Template from the pull-down menus) to create an Environment Template. See section 4, starting on page 11 of this document, for full instructions about doing this. You can also load an Environment Template by selecting a file from the File à Open menu option.

3. Make any necessary changes to the Run Information Variables by selecting Edit à Run Information. While this is an optional stage better performance and faster results can often be achieved by even slightly tweaking the Run Information Variables.

4. Start the Run. The Run can be started by pressing <F9>, clicking the Start Run Speed Button or by selecting Run à Start from the Main Dialogue.

5. Let the Bots do their stuff.

2.2. Viewing a Run

Once the Run (Simulation) has started there will be a number of facilities at your disposal:-

* View any Environment from the Environment Menu.

* View any Bot from the Bot Menu.

* View the Bot Rankings on the Bot Menu

* View a Histogram of Hits, Pickups or Drops from the Histogram Window.

* Pause, Resume, or Stop a Run.

* You will also be able to Save the Run to reload it at a later date.

* Online Help will be available whenever the BOTSsim Application is running.

To get reasonable results from BOTSsim you should always allow a Run to progress until it reaches a mature stage. In order to determine if a mature stage has been reached the following facilities are available:-

* View Environment - you can see for yourself if Bots are performing the desired tasks.

* View Histogram - this will show how well the overall Bot population is performing.

* View Bot - this will show you how well individual Bots are performing.

2.3. Interpreting the Graphical User Interface (GUI).

2.3.1. The Title Bar.

The Title Bar is situated at the top of all Windows and Dialogues used throughout BOTSsim. The Title Bar consists of a System Menu in the left corner, the Window Title in the center, and a number of optional buttons on the right.

The Window Title gives you an idea of that Window's purpose. For example, the Run Information Dialogue has the Title of "Run Information" which lets you know that that Window contains the information needed for a Run.

The System Menu provides standard functionality such as Restoring, Moving, Resizing, Minimising, Maximising and Closing that Window or Dialogue.

The optional buttons are the Help, Minimise, Maximise and Close buttons. The Help button is available for use with a Context Sensitive Online Help System. The Minimise button minimises or restores the Window, depending upon the Window's current state. The Maximise button maximises the Window to take up the full screen. The Close button closes that Window.

2.3.2. Pull-Down Menus.

Within the Main Dialogue and the TED Window you will find Pull-Down Menus. Pull-Down Menus are those such as the File, Edit and Help Menus. These Menus provide access to the functionality provided by BOTSsim.

All Pull-Down Menus are logically named so that anything you want to do to a file will be listed in the File Menu, editing menu options will be listed in the Edit Menu and so on.

To select a menu option to perform in a Pull-Down Menu, click on the menu with the Left Mouse button and then click on your desired menu option in the menu with the Left Mouse button again. For example, to open a file, click on the File Menu with the Left Mouse button and then click on Open with the Left Mouse button.

2.3.3. Speed bars and Speed Buttons.

Within both the Main Dialogue and the TED Window you will find a Speed bar. The Speed Bar consists of a number of Speed Buttons. The Speed Bar provides you with single click access to the most common functions of the application.

Each Speed Button will generally provide you with a single click alternative to the most common menu options selected from the Pull-Down Menus. Each Speed Button will have some sort of picture on it, as well as a Help Hint that describes it's purpose. For example, you might have an Open File Speed Button which is represented by an open folder, whose Help Hint is "Open an existing file".

To access the functionality provided by the Speed Buttons, click on them once with the Left Mouse button. If you are unsure as to the purpose of a Speed Button, just hover the mouse pointer over it and wait for the Speed Button's Help Hint to display.

2.3.4. Command Buttons.

In most Dialogues and Windows available within BOTSsim you will find a number of Command Buttons. Command Buttons are simply buttons that are available on the Dialogue or Window itself that allow you to perform simple commands.

To access the functionality provided by the Command Buttons all you have to do is click on them once with the Left Mouse Button. Command Buttons are generally provided when there are not enough commands available to warrant using an Pull-Down Menu or Speed Bar or when there are a small number of commands available that are not logically related.

Command Buttons are very similar to Speed Buttons except that they use text instead of graphics. In the text there will generally be one underlined letter which allows you to use a shortcut key instead of the mouse. For example, the Show Environment button might have the "E" underlined. In this case you would press the <Alt> + <E> key combination to perform the Show Environment command.

2.3.5. Edit Boxes and Drop Down List Boxes.

You will find Both Edit Boxes and Drop List Boxes in the Run Information Dialogue. The Run Information Dialogue's purpose is to allow you to configure the Run Information Variables to the values that you desire. It is the purpose of Edit Boxes and Drop Down List Boxes to provide a quick and easy way for you to do this.

To operate an Edit Box you merely have to click anywhere inside it using the Left Mouse button, you can then type in whatever value you want using the keyboard.

To operate a Drop Down List Box , click on it with the Left Mouse button and then select your desired option from the Drop Down List of options that appears once you have clicked on it. To select your desired option click on it with the Left Mouse button.

2.3.6. Shortcut Keys.

Shortcut keys, also known as speed buttons, can be found everywhere throughout BOTSsim. Shortcut keys allow you to access the functionality provided by Pull-Down Menus, Command Buttons, Edit Boxes and Drop Down List Boxes with the single press of a key.

To make things easier for the more experienced user, shortcut keys have been provided in most areas of BOTSsim. Generally, a shortcut key will be the character which is underlined in your desired menu option. Shortcut keys can also be key combinations, these are generally used for Pull-Down Menu options and will be listed to the right of the desired option.

To use shortcut keys you will usually have to press <Alt> + <X> (where X is the underlined character in your desired command). The Alt and X keys should be pressed simultaneously. For other key combinations, such as <Ctrl> + <H>, you should press the <Ctrl> and <H> keys simultaneously. For any command whose shortcut key is simply a function key (<F1> to <F12>), press that key.

2.3.7. Scroll Bars -- What they Are and How to Use them.

Scroll Bars are those bars that appear along the Bottom and right hand sides of the Window. They appear when the contents of the Window become too large to fit within the visible part of the Window.

To operate a scroll bar, either click on the Scroller with your Left Mouse button and drag it, or use the two arrowed scroll buttons, which appear on either side of the scroll bar. This will allow you to scroll to any part of the window.

3. THE MAIN DIALOGUE.

3.1. Accessing the Main Dialogue

The Main Dialogue is the first Dialogue you see once the BOTSsim Application is launched and it is available while ever BOTSsim is running.

3.2. The Functionality

The Main Dialogue is the control center the whole BOTSsim Application. The Main Dialogue consists of a Title Bar, a Menu Bar, a Speed Bar, a Progress Bar, and a Status Bar.

This Dialogue provides access to most of the facilities available from BOTSsim. Access to the File, Edit, Run, Environment, Bot, View and Help Menus is available. Also available is the BOTSsim Speed Bar which provides fast access to the most common facilities. The Progress Bar shows you the progress of the current operation (Initialisation, Simulation, etc). The Status Bar at the bottom of the Dialogue shows you which RUN, TED and RIF files are being used for the current Run.

3.3. The File Menu.

The File Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <F> key combination. The File Menu consists of the following commands:

3.3.1. New Run <Ctrl> + <N>

This command creates a New Run. All this command really does is create a blank Run.

3.3.2. Open Run <Ctrl> + <O>

This command allows you to open an existing Run. The standard Open Dialogue is used.

3.3.3. Save Run <Ctrl> + <S>

This command allows you to open an existing Run. The standard Open Dialogue is used.

3.3.4. Open Template <Ctrl> + <T>

This command allows you to open an existing Template Environment file.

3.3.5. Exit <Ctrl> + <X>

This command exits BOTSsim and returns control to Microsoft Windows NT.

3.4. The Edit Menu.

The Edit Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <E> key combination. The Edit Menu consists of the following commands:

3.4.1. Template <F2>

This command switches control to the TED Window. The Template Environment used will either be a default one (blank) or the most recently created Template Environment.

3.4.2. Run Information <F3>

This command switches control to the Run Information Dialogue. The Run Information Variables will all have either default values or the most recent values that have been entered and validated.

3.5. The Run Menu.

The Run Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <R> key combination. The Run Menu consists of the following commands:

3.5.1. Start <F9>

Starts the Run, using the current Run Information Variables and Environment Template.

3.5.2. Pause <F10>

Pauses the Run if it is active. Resumes the Run if it is not active. This command is used when you want to view current statistics for the Run and have their values remain static.

3.5.3. Reset <F11>

This command resets the current Generation of the Run. This command should be used if you feel unhappy with the way the current Generation is progressing and want to change some Run Information Variables. Or if you want to stop the Run and save it for later reference.

3.6. The Environment Menu.

The Environment Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <N> key combination. From here you can select any environment by number and look at what is happening within it.

Environments 0 to 9 can be selected directly from the menu. To select any other environment, choose Show Another Environment and type the number of the environment you wish to see in the dialogue box. Note that there is no real reason for users to wish to see any particular environment, because at any given time the only difference is that the Bots within them have evolved slightly different rule sets.

3.7. The Bot Menu.

The Bot Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <B key combination. This will bring up a list of the ten Bots with the highest fitness, and the least fit Bot. If users wish to see a particular Bot that is not on the menu, they can select Show Another Bot to choose that Bot by their Bot ID number.

3.8. The View Menu.

The View Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <V> key combination. The View Menu consists of the following commands:

3.8.1. Histogram

Shows the Histogram Window.

3.8.2. Communications

Shows the Communications Debug Dialogue - available only to those who debug the program.

3.9. The Help Menu.

The Help Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <H> key combination. The Help Menu consists of the following commands:

3.9.1. Help Topics.

Launches the Online Help system and leaves you at the Contents page.

3.9.2. About BOTSsim.

Allows you to view the About BOTSsim Dialogue.

3.10. The Speed Bar.

The Speed Bar is directly accessible from the BOTSsim Window, if View à Speed Bar is enabled. From left to right, the Speed bar consists of the following commands:

3.10.1. New Run

This command creates a New Run. All this command really does is create a blank Run.

3.10.2. Open Run

This command allows you to open an existing Run. The standard Open Dialogue is used.

3.10.3. Save Run

This command allows you to save the current Run. The standard Save Dialogue is used.

3.10.4. Open Template

This command allows you to open an existing Template Environment.

3.10.5. Edit Template

This command switches control to the TED Window.

3.10.6. Edit Run Information

This command switches control to the Run Information Dialogue.

3.10.7. Start Run

Starts the Run, using the current Run Information Variables and Template Environment.

3.10.8. Pause Run

Pauses the Run if it is active. Resumes the Run if it is not active. This command should be used when you want to view current statistics for the Run and have their values remain static.

3.10.9. Reset Run

This command resets the current Generation of the Run.

3.10.10. View Histogram

Shows the Histogram Window.

4. THE TEMPLATE EDITOR WINDOW.

4.1. Creating Environment Templates with TED

These are steps to quickly create an environment templates:

1. Launch BOTSsim.

2. Select File à New Template to launch TED.

3. Enter the dimensions of the template. These should be large enough to accommodate the environment that it is simulating, eg: the dimensions of the factory floor. All units are expressed in metres.

4. Use the Create menu to put walls, block distribution areas (DAs), bins and Bot starting positions on the template. Use the left mouse button to select the positions of these objects. Walls require two mouse clicks -- one for each end of the wall.

5. Use the left mouse button to click on an existing object to select it, and drag it to a new position. Press <Ctrl> + <P> to change the properties for the selected object, such as its colour.

6. Use the right mouse button to quickly change the orientation of a selected Bot, ie: the angle at which it is facing when the simulation starts.

7. Select File à Save, or click on the save speed button, to save your newly created environment template to a file.

8. Select File à Exit to close the template editor and return control to the Main Dialogue.

4.2. Accessing the Template Editor Window (TED)

The TED Window is accessed by selecting the File à Open Template or Edit à Template commands in the BOTSsim Window, or by pressing their respective speed buttons on the speed bar or by using their shortcut keys.

4.3. Its Functionality

This Window provides access to the functionality provided by the TED Component of the program. TED lets you create and design Template Environments. This task is performed by allowing you to destroy, modify and move Bots, Walls, Block Receptacles and Block Distribution Areas.

Accessible from the TED Window are the Template, Edit, Create, and Help Menus as well as the TED Speed bar which allows quick access to the most common functionality in TED.

4.4. The Template Menu.

The Template Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <T> key combination. This menu consists of the following commands:

4.4.1. New <Ctrl> + <N>

This command creates a new Template Environment. Before control is passed back to the TED Window you must specify the Height and Width of the Template Environment that you want created in the Template Dimensions Dialogue.

4.4.2. Open <Ctrl> + <O>

This command allows you to open an existing Template Environment file.

4.4.3. Save <Ctrl> + <S>

This command allows you to save the current Template Environment file.

4.4.4. Save As <Ctrl> + <A>

This command allows you to save the current Template Environment file. This file differs from the Save command in that it brings up the File Save Dialogue whether the Template Environment has been saved before or not. This allows you to save the template under a different name.

4.4.5. Close <Ctrl> + <F2>

This command Closes the TED Window and returns control to BOTSsim Window.

4.5. The Edit Menu.

The Edit Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <E key combination. The Edit Menu consists of the following commands:

4.5.1. Change Properties <Ctrl> + <P>

This command launches the appropriate properties Dialogue for the currently selected object. For any object other than a Bot you can only change the object's colour. For a Bot you can change it's colour and initial direction that it faces.

4.5.2. Destroy <Delete>

This command destroys the currently selected object. Pressing the Delete button on the keyboard performs the same function.

4.6. The Create Menu.

The Create Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <C> key combination. The Create Menu consists of the following commands:

4.6.1. Wall <Ctrl> + <W>

This command changes the type of the next creation object to Wall. To actually create the Wall, click in the Template Environment area and drag the Left Mouse button to create whatever kind of wall you desire.

4.6.2. Bin <Ctrl> + <I>

This command changes the type of the next creation object to Block Receptacle. To actually create the Block Receptacle you have to click in the Template Environment area with the Left Mouse button.

4.6.3. DA <Ctrl> + <D>

This command changes the type of the next creation object to Block Distribution Area. To actually create the Block Distribution Area you have to click in the Template Environment area with the Left Mouse button.

4.6.4. Bot <Ctrl> + <B>

This command changes the type of the next creation object to Bot Start Position. To actually create the Bot Start Position you have to click in the Template Environment area with the Left Mouse button.

4.7. The Help Menu.

The Help Menu is accessible either by clicking on it with the Left Mouse button or by pressing the <Alt> + <H> key combination. The Help Menu consists of the following commands:

4.7.1. Help Topics.

Launches the Online Help system and leaves you at the Contents page.

4.7.2. About BOTSsim.

Allows you to view the About BOTSsim Dialogue.

4.8. The TED Speed Bar.

The Speed bar is directly accessible from the TED Window. From left to right the TED Speed bar consists of the following elements:

4.8.1. New Template

This command creates a new Environment Template. Before control is passed back to the TED Window you must specify the Height and Width of the Environment Template that you want created in the Template Dimensions Dialogue.

4.8.2. Open Template

This command allows you to open an existing Environment Template file.

4.8.3. Save Template

This command allows you to save the current Environment Template file.

4.8.4. Create Wall

This command changes the type of the next creation object to Wall. To create the Wall you have to click on the Template and drag the Left Mouse Button to create whatever kind of wall you desire.

4.8.5. Create Bin (Block Receptacle)

This command changes the type of the next creation object to Bin. To create the Bin you have to click on the Template with the Left Mouse Button in the desired position.

4.8.6. Create DA (Block Distribution Area)

This command changes the type of the next creation object to DA. To create the DA you have to click on the Template with the Left Mouse Button in the desired position.

4.8.7. Create Bot

This command changes the type of the next creation object to Bot. To create the Bot you have to click on the Template with the Left Mouse Button in the desired position.

4.8.8. Zoom In, Zoom Out and Zoom Display

These commands increase, decrease and display the Camera Zoom Factor.

4.9. The Bot Properties Dialogue.

This dialogue is accessed by performing the Change Properties command on a Bot Start Position. This Dialogue allows you to change the direction that the Bot is initially facing or the Bot's colour

To change the Bot Start Direction click on the Spin Buttons. To change the Bot Colour click on the "Change Bot Colour..." Command Button and then select the desired colour from the Colour Dialogue.

4.10. The Template Dimensions Dialogue.

This dialogue is accessed by performing the New Template command. This dialogue allows you to specify the Height and Width of the new Template Environment in metres.

You can accept the settings and have the Template created or you can cancel the settings and control will be returned to the TED Window. The OK Command Button will accept the settings, the Cancel Command Button will cancel the settings.

5. THE RUN INFORMATION DIALOGUE.

5.1. How to access the Run Information Dialogue Box.

The Run Information Dialogue is accessed by selecting the Edit à Run Information menu option in the BOTSsim Window. This Dialogue allows you to configure the Run Information Variables.

5.2. Its Functionality

The Run Information Dialogue allows you to configure the variables used during the actual simulation. Both the Genetic Programming Variables and Environment variables are configurable from here.

The Run Information Dialogue will initially start up with a default set of values for all variables. You can use the default values or you can enter your own.

The Run Information Dialogue contains configuration tabs for Both the GP Variables and the Environment Variables. The GP Variables configuration tab allows you to configure those variables that are used within the GP or Brain Component. The Environment Variables configuration tab allows you to configure those variables that are used within the Environment Component.

To save any changes made to the Run Information Variables you should click on the Save button, to cancel any changes made you should click on the Cancel button. To get Context Sensitive Help on any item press <F1> when that item has the keyboard focus.

5.3. The Genetic Programming Variables Configuration Tab.

The GP Variables Configuration Tab contains a number of controls that allow you to configure each of the GP Variables. Note that if you enter values into the Dialogue that do not lie within the specified ranges then those values will be automatically converted so that they do lie within those specified ranges.

5.3.1. Max depth for new individuals

This is an integer that can vary between the values of 3 and 999 inclusive. This variable defines the maximum depth allowable for individuals that are created from scratch and are not a product of the exchange of genetic material between 2 or more individuals. As each Individual may be seen as a parse tree, the Max depth for new individuals is the maximum depth that this parse tree is allowed to reach.

5.3.2. Max depth for individuals after crossover

This is an integer that can vary between the values of 6 and 999 inclusive. This variable defines the maximum depth allowable for individuals that are the product of an exchange of genetic material between 2 or more individuals. As each Individual may be seen as a parse tree the Max depth for individuals after crossover is the maximum depth that this parse tree is allowed to reach.

5.3.3. Max depth for new subtrees in mutants

This is an integer that can vary between the values of 3 and 999 inclusive. This variable defines the maximum depth allowable for any new subtrees that get generated during the mutation of an individual. Individuals get mutated when the algorithm feels that evolution is too slow. Each Individual may be seen as a parse tree the Max depth for new subtrees in mutants is the maximum depth that this additional subtree is allowed to reach.

5.3.4. Fitness proportionate reproduction fraction

This is a real number that can vary between the values of 0.1 and 1.0 inclusive. This variable defines the probability of individuals being reproduced based on their proportional fitness. The suggested range for this variable is 0.1 to 0.2.

5.3.5. Crossover at any point fraction

This is a real number that can vary between the values of 0.1 and 1.0 inclusive. This variable defines the probability of whether crossover will occur at any point in the parse tree during evaluation of the population of individuals. The suggested value for this variable is 0.9.

5.3.6. Crossover at function point fraction

This is a real number that can vary between the values of 0.1 and 1.0 inclusive. This variable defines the probability of whether crossover will occur at a function point in the parse tree during evaluation of the population of individuals. The suggested value for this variable is 0.9.

5.3.7. Number of factories

This is an integer that can vary between the values of 1 and 200 inclusive. This variable defines the number of factories that will be created for Bots to run around in. Each factory is created as a separate instance of the Template upon which it is based.

5.3.8. Population size

This is an integer that can vary between the values of 1 and 2000 inclusive. This variable defines the number of individuals that will be involved in the simulation.

5.3.9. Random Number Seed

This is an integer variable that can vary between the values of 0 and 32,767 inclusive. This variable defines the value of the seed used to generate random numbers within The Brain.

5.3.10. Method of selection

This is a variable which is limited to the following values only:-

* Fitness proportionate

* Fitness proportionate with over selection

* Tournament

This variable defines the way in which individuals are selected.

* Selection via the Fitness proportionate method involves selection based on their fitness.

* Selection via the Fitness proportionate with over selection method involves selection based on their fitness with additional selection as well.

* Selection via the Tournament method is an unbiased selection process that takes into account all of the individuals in the population.

5.3.11. Method of generation

This is a variable which is limited to the following values only:-

* Grow

* Full

* Ramped half and half.

This variable defines the way in which generation of individuals occurs.

* Generation via the Grow method involves growing the individuals from scratch.

* Generation via the Full method involves generating the individuals instantly.

* Generation via the Ramped half and half method uses a 50:50 combination of the Grow and Full methods of generation.

5.4. The Environment Variables Configuration Tab.

The Environment Variables Configuration Tab contains a number of controls that allow you to configure each of the Environment Variables. Note that if you enter values into the Dialogue that do not lie within the specified ranges then those values will be automatically converted so that they do lie within those specified ranges.

5.4.1. Bot Turn Speed

This is a real number that can vary between the values of 10.0 and 360.0 degrees inclusive. This variable defines the number of degrees rotated per time frame by any individual Bot when they are performing a change of direction either to the left or the right.

5.4.2. Bot Move Speed

This is a real number that can vary between the values of 0.01 and 10.0 metres inclusive. This variable defines the number of metres traveled per time frame by any individual Bot when they are traveling in any continuous direction.

5.4.3. Start Fitness

This is a real number that can vary between the values of 10 and 1000 energy units inclusive. This variable defines amount of energy units that an individual Bot starts each new generation with, that is, the level of fitness that a Bot starts each generation with.

5.4.4. Block Pickup Gain

This is a real number that can vary between the values of 10 and 1000 energy units inclusive. This variable defines amount of energy units that an individual Bot gains when it picks up a block from either a Distribution Area or the factory floor.

5.4.5. Right Drop Gain

This is a real number that can vary between the values of 10 and 1000 energy units inclusive. This variable defines amount of energy units that an individual Bot gains when it drops a block into a Block Receptacle that has been designated for that kind of block.

5.4.6. Wrong Drop Loss

This is a real number that can vary between the values of 10 and 1000 energy units inclusive. This variable defines amount of energy units that an individual Bot loses when it drops a block into a Block Receptacle that has not been designated for that kind of block.

5.4.7. Death Fitness Level

This is a real number that can vary between the values of 10 and 1000 energy units inclusive. This variable defines amount of energy units that an individual Bot can be reduced to before it is deemed dead and subsequently removed from the simulation. This value only takes effect if Allow Death is set to "Yes".

5.4.8. Allow Death

This is a Boolean variable that can be TRUE ("Yes") or FALSE ("No"). This variable defines whether or not Bots should be allowed to die once they reach a certain level of fitness -- their Death Fitness Level.

5.4.9. Generation Length

This is an integer that can vary between 10 and 4000. This variable defines the number of time steps that will occur in each generation.

6. THE ENVIRONMENT DISPLAY WINDOW.

6.1. How to access the Environment Display Window

The Environment Display Window is accessed by selecting any of the Show Environment menu options available from the Environment Menu in the BOTSsim Window. This Window can also be accessed by clicking on the Show Environment button on the Bot Display Window.

6.2. Its Functionality

The purpose of this Window is to allow you to see the animation of the simulation. The animation you see in this Window accurately reflects what the Bots are actually doing. The number in the Title Bar is the Environment Number for the displayed Environment.

6.3. The Environment Display.

The Environment Display is that section of the Window that the animation occurs in. This area displays the simulation that is occurring in this Environment. To view the statistics of a particular Bot click on it with the right mouse button.

To increase the Camera Zoom click on a vacant space in the window, hold down the left mouse button and drag it towards the top left corner of the screen. To decrease the Camera Zoom click on a vacant space in the window, hold down the left mouse button and drag it towards the Bottom right corner of the screen.

7. THE BOT DISPLAY WINDOW.

7.1. How to access the Bot Display window

The Bot Display Window is accessed by selecting any of the Show Bot menu options available from the Bot Menu in the BOTSsim Window. It can also be accessed by clicking on a Bot in the environment window with the left mouse button.

7.2. Its Functionality

The purpose of this Window is to allow you to see the statistics of the selected Bot. The number in the Title Bar is the Bot ID for the displayed Bot.

The Bot Display Window contains a Rule Set Display, the Bot Statistics Panel, the Bot Sensor Display and Show/Hide Ruleset, Show Environment and Close buttons.

7.3. The Bot Statistics Panel.

The Bot Statistics Panel shows you a number of statistics for the selected Bot, they are:

7.3.1. Hits.

This is the number of Hits achieved by that Bot. A Hit is defined as being an instance of a Bot dropping a Block into its correct Block Receptacle.

7.3.2. Pickups.

This is the number of Pickups achieved by that Bot. A Pickup is defined as being an instance of a Bot picking up a Block from either a Block Distribution Area or the floor.

7.3.3. Drops.

This is the number of Drops achieved by that Bot. A Drop is defined as being an instance of a Bot dropping a Block anywhere including it's correct Block Receptacle.

7.3.4. Environment Number.

This is the Bot's Environment that they are contained in.

7.3.5. Raw Fitness.

This is the Bot's Raw Fitness in energy units -- this a measure of the Bot's ability to do usefule work. A higher fitness level means the Bot has worked out how to move more blocks from DAs to bins, or to do so more efficiently.

7.4. The Show/Hide Ruleset button.

The Show Ruleset button shows you the Ruleset that that Bot is using as it's Brain. The Ruleset is displayed as a parse tree in if ... then ... else ... format. When the Ruleset is visible this button becomes the Hide Ruleset button which serves the purpose of hiding this Bot's Ruleset.

7.5. The Show Environment button.

The Show Environment button shows you the Bot's Environment that they are evaluated in.

7.6. The Close button.

The Close button closes the Bot Window and switches control to the previous window.

8. THE HISTOGRAM WINDOW

8.1. How to access the Histogram window

The Histogram Window is accessed by selecting the View à Histogram menu option available from the Main Dialogue. Or by pressing the View Histogram Speed Button.

8.2. Its Functionality

The purpose of the Histogram Window is to give you an idea on how well the simulation is running. This done by presenting you with a Bar Graph that shows the number of Bots that have achieved a certain number of Hits, Pickups or Drops.

The Hits Histogram Window contains the Histogram Bar Graph and a Close button. As well as these things it also contains a Tab Control which allows you to select between viewing a Hits Histogram, a Pickups Histogram and a Drops Histogram. It also contains an Update Histogram button which provides you with the most current representation of the Run.

8.3. Explanation of the Histogram

8.3.1. A Hit.

A Hit is defined as being an instance of a Bot dropping a Block into it's correct Block Receptacle.

8.3.2. A Pickup.

A Pickup is defined as being an instance of a Bot picking up a Block from either a Block Distribution Area or the Factory Floor.

8.3.3. A Drop.

A Drop is defined as being an instance of a Bot dropping a Block anywhere except into it's correct Block Receptacle.

8.3.4. The X Axis.

The X axis is the Number Of Bots that have achieved that particular total.

8.3.5. The Y Axis.

The Y axis is the Number Of Blocks that have been dropped in Block Receptacles.

8.3.6. The Colour Of The Bars

The colours used in the Hits Histogram alternate every second column. The colours selected were selected on the basis that they are easy on the eyes, visually distinct from each other, and the two colours contrast well with each other and the rest of the Hits Histogram Window.

8.3.7. Interpreting the Histogram

Generally the simulation is progressing well if there are a lot of high Bars on the right of the graph and not so many on the left of the graph (for the Hits Histogram).

The progress must also be put into perspective of how many generations have been simulated so far and what the values are along the Bar Graph.

9. THE ABOUT BOTSSIM DIALOGUE.

9.1. How to access the About BOTSsim Dialogue.

The About BOTSsim Dialogue is accessible via the Help à About BOTSsim menu option available in either the BOTSsim or TED Windows' Help Menus.

9.2. Its Functionality

This Dialogue displays a small amount of technical information accompanied by an image of the group. If you click on a group member's head their own personal about Dialogue will be displayed. These dialogues include a mugshot of the programmer, as well as their name and alias. Additionally, information about the parts of the program the group member is responsible for is included, and some notable comments made during the course of the project.

10. THE BOTSSIM ONLINE HELP SYSTEM.

10.1. How to access the BOTSsim Online Help System.

The Online Help System is accessed by pressing <F1> in any Window or by selecting the Help Topics menu option in any of BOTSsim's Help Menus. The Online Help System is Context Sensitive -- meaning that wherever you press <F1> the most appropriate Help Topics will be displayed for the context that you are in. The Online Help System's structure is similar to that of this documents apart from the fact that it does not include this section.

10.2. How To Use The Online Help -- Brief description of functionality.

Each Help Topic has a Button Bar at the top of the page. This Button Bar includes a Contents button, an Index button, a Back button, a Print button and two Browse buttons << and >>.

* The Contents button takes you to the BOTSsim Contents page.

* The Index button allows you to make a Help Topic selection from the BOTSsim Index of available Help Topics.

* The Back button takes you back to the previously displayed Help Topic.

* The Print button prints the current Help Topic.

* The << Browse button takes you back to the previous Help Topic.

* The >> Browse button takes you forward to the next Help Topic.

Throughout the Online Help System you will find links to other pages, these links are in underlined green font. Every page apart from the Contents page has a link to the Contents page. Generally most pages have links to their parent page and links to related Help Topics.

10.3. The User Information Pages.

The User Information Pages are available under the following sections:

* Getting Started...

* The BOTSsim Main Window

* The Template EDitor Window (TED)

* The Run Information Dialogue

* The Environment Display Window

* The Bot Display Window

* The Hits Histogram Window

* The About BOTSsim Dialogue

These pages contain information on how to use the program. The pages have been logically sequenced so that you can browse them using the Browse buttons.

10.4. Group Members Section.

This section contains a small amount of technical information for each of the Group Members. Information contained includes their name, alias, email address, and roles and responsibilities within the BOTS Project.

10.5. The Glossary Section.

This section contains definitions for each of the terms used within the Online Help System that might have proved difficult to understand, ambiguous, or look like jargon. Each term is listed along with it's definition.

10.6. The Technical Information Section.

Contains Technical Information about the BOTSsim Application and the BOTS Project. The information included here consists of what language each component was developed in, what language the application was developed in, when it was developed, and a reference to the Client that the project was developed for.

There is also important information here on the minimal and recommended system requirements for running BOTSsim. These requirements are :-

11. GLOSSARY.

Action In genetic programming, anything that an individual (ie: Bot) does that changes the environment (including movement).
Application A computer program that allows a user to achieve useful work.
Block DA see Distribution Area
Block Receptacle see Receptacle
Block An object that Bots are supposed to move around.
Bot The machines simulated by BOTSsim that are designed to pick up and move blocks from DAs to receptacles.
Bot Start Position The positions within the Template Environment where Bots are at the beginning of a Run.
BOTSsim Block Organisation Transport System simulator.
Camera Zoom Factor see Zoom Factor
Component One of the four parts of the overall project: the Bots' Brain, the Environment, TED, and the GUI.
Context Sensitive Help A system of user help where the help window that appears depends on the program's current state, ie: what window or component of a window is selected.
Crossover A Genetic Programming operation that represents the exchange of genetic material between two individuals to produce two new individuals.
DA See Distribution Area.
Distribution Area Where Bots get blocks from.
Drop When a Bot releases a block, it is said to drop it.
Environment 1. One of the three components of the project, which simulates the environment which the Bots work in, including the location of walls, delivery area, etc.
2. an instance of a template -- at any given time the program is keeping track of many virtual environments.
Environment Variables The way the environment behaves depends on environment variables.
Evaluation Measuring a Bot's ability to perform its set task.
Fitness see Raw Fitness
Generation One step in the GP process, consisting of Evaluation, followed by GP operations.
GP Genetic Programming. Also used to refer to the "Brain" Component of the project.
GUI Graphical User Interface -- one of the four components of the project.
Hit An instance of a Bot dropping a Block into it's correct Block Receptacle.
Mutation The "shuffling" of parts of the Ruleset as part of its evolution.
Population The individuals of a generation.
Radius (of an object) The radius of the smallest circle that can contain an object. This value is used by the environment component to facilitate collision detection.
Raw Fitness A GP measurement of how successful an individual (ie: Bot) has been in accomplishing its task.
Receptacle Where Bots leave blocks to improve their fitness.
Rule Sequence An ordered group of rules.
Ruleset see Rule Sequence.
Rule In GP, a rule is statement that maps a condition to an action or a rule sequence.
Run An indefinite series of generations within the same template.
Speed Bar An array of speed buttons.
Speed Button A button that enables users to select menu items by simply clicking it once.
TED Template EDitor the component that creates and edits templates.
Template A representation of the space which the simulation takes place in, eg: the factory floor.
Speed Bar An array of speed buttons.
Zoom Factor A ratio between a distance on the screen and the corresponding simulated distance within the environment.


Contents , Index