MACS Documentation
This file is the entry point to all MACS documentation.
Installing MACS
If you can read this file, you have already extracted MACS from
the tar file.
MACS is written in Java. It requires a java 1.2 or later java virtual machine.
During the installation, the only thing you need to do is:
-
open the
Makefile
,
and modify the value of the variable LOCALPATH
so as
to point to where you installed MACS (including the directory /MACS itself),
-
open the file
Source/Experiments/ExperimentsParameters.java
,
and modify the value of the static attribute localPath
so as
to point to where you installed MACS (including the directory /MACS itself),
Warning: in ExperimentsParameters.java
, it is important that your path finishes with a "/",
otherwise MACS will not work.
Running MACS
You will find a Makefile at the root directory where you installed MACS.
There are commands to compile MACS, and commands to run it.
If you want to run one of the examples, you will have to
change the path to point to the configuration file that you will use.
Configuration files
Experiment files
The Experiment file contains the
description of an experimental set-up. It can be used as such if you are
using a Woods experiment. Otherwise, you will have to define another
way to use MACS (see below).
MACS configuration files
The MACS configuration file contains all the parameters
necessary to tune the behavior of MACS.
Environment files
All the experiments made with MACS so far are taking place in Woods environments.
These environments are small mazes where each cell can either be empty, contain
food or contain a wall. You can write your own mazes taking example from
files in Config/EnvironmentsConfig/
. See for instance
Config/EnvironmentsConfig/suttonmaze.cfg
.
Troubleshooting
Encountering trouble using MACS is not politically correct.
But, if this statement proves overconfident,
please contact Olivier Sigaud.
Using MACS for your own purposes
In order to demonstrate the capabilities of MACS,
the current version is delivered with everything necessary
to test it and evaluate its performance on Woods environments.
The corresponding code can be found in the package
Environments and
the package Experiments.
In order to design your own experimental set-up, we strongly suggest
you to draw inspiration from these packages.
In particular, an example of the way to connect MACS itself to your environment
can be found in the Sequencer class.
Read the takeStep()
method.
In the main loop, you have to perform the following instructions:
- call
environment.getReward()
- call
environment.getOutput()
- call
environment.isGoalReached()
- then call
system.run()
with the three results of these calls.
- and call
environment.setInput()
with the return of system.run()
.
Programming your own version of MACS
A lot can still be done to improve MACS.
All informations about how MACS itself is coded are presented in
the programmer manual.
We hope you will find here enough information to understand the code
and modify it, but it is not the case, please
contact Olivier Sigaud.