About AOC AOC Group Publications Software Resources Forum

Home >> Software
Software

Software for Autonomy Oriented Computing

MAS version 3
Multi-Agent Toolkit (MAT) 3.0
EDO
EDO (Evolutionary Diffusion Optimization)
ERA
ERA (Environment, Reactive Behaviors, and Agents)
MASSAT
MASSAT (AOC Based SAT Solver)
WRCT
Web Regularity Characterization Tool
SSALBG
SSALBG (Simulation System for AOC-Based Load Balancing on Grids)

Copyright Notices for the AOC Software

The copyright of the following software is being retained by AAMAS / AOC Research Group. The source codes and the modifications are not permitted for any other use (e.g., commercial use) other than academic research and creation of knowledge. All the publications or software that incorporate any part of, or data generated from or derived from, the software or the modified versions should give full acknowledgments.

Multi-Agent Toolkit (MAT) 3.0

MAS version 3 Download

MAT 3.0 is the companion software package covered in the following two books:

  • Multiagent Robotic Systems (in English), Jiming Liu and Jianbing Wu, CRC Press, 2001.
  • Multiagent Systems: Models and Experimentation (in Chinese), Jiming Liu, Xiaolong Jin, Shiwu Zhang, and Jianbing Wu, Tsinghua University Press, 2003.

MAT 3.0 presents a set of toolboxes, implemented with MATLAB, that we developed for conducting research studies related to multi-agent and multi-robot reinforcement learning, adaptation, self-organization, trajectory generation, and graphics. The toolboxes include: Multi-Agent Reinforcement Learning

  • Evolutionary Multi-Agent Reinforcement Learning
  • Evolutionary Collective Behavior Implementation
  • Multi-Agent Self-Organization
  • Evolutionary Multi-Agent Self-Organization

These toolboxes are useful for simulation as well as for analyzing results of experiments with simulated robots. They are based on a very general method of representing the evolutionary approaches to multi-agent robotic systems by description matrices.

Copyright Notice: Note that MAT 3.0 Copyright is fully reserved by the authors. Any using, copying, reproduction, distribution, addition, and modification are allowed provided that the authors (jiming@comp.hkbu.edu.hk) are acknowledged.

^ top

EDO (Evolutionary Diffusion Optimization)

EDO

[Papers]

Evolutionary Diffuction Optimization (EDO) is a population-based stochastic search algorithm called inspired by diffusion in nature. Each agent in EDO make the decision to diffuse based on the information shared between its parent and its siblings.

Agents in EDO explores uncharted locations in the solution space by diffusion. In the majority of time, the agents will behave rationally and choice a new location according to the probability distribution given by the probability matrix. These moves will result in a fitness higher than the parent as well as lower. This is because the probability matrix is only accumulation of experience of the agent's predecessors and is not the ground truth. As an agent becomes older and still have not located a 'better' place, it will probabilistically decides to act wild and take a random walk.

At the end of a generation, the fitness of all (active) agents are compared with that of their parents, which have temporarily become stationary (inactive). All agents with higher fitness are allowed to reproduce. Asexual reproduction is used in EDO to explore the search space.

In order to eliminate those non-productive agents, all agents are aged and will be eliminated from the agent population when an agent's agent is older than a certain value.

An important feature of EDO is explicit communication between an agent and its parent, and implicit communication being siblings via the parent. This is achieved by the parent keeping track of the best solution among the clan.

Experimental results show that EDO performs better than simulated annealing and fast evolutionary programming in some cases.

Download

^ top

ERA (Environment, Reactive Behaviors, and Agents)

ERA

[Papers]

In this tool, we implement the ERA (Environment, Reactive Rules, and Agents) approach to solve Propositional Satisfiability Problems (SATs). The ERA approach involves a multiagent system where each agent only senses its local environment and applies some self-organizing rules for governing its movements. The environment, which is a two-dimensional cellular environment, records and updates the local values that are computed and affected according to the movements of individual agents. In solving a SAT with the ERA approach, we first divide variables into several groups, and represent each variable group with an agent whose possible positions correspond to the elements in a Cartesian product of variable domains, and then randomly place each agent onto one of its possible positions. Thereafter, the ERA system will keep on dispatching agents to choose their movements until an exact or approximate solution emerges.

The experimental results on some benchmark SAT test-sets have shown that the ERA approach can obtain comparable results as well as stable performances for SAT problems. In particular, it can find approximate solutions for SAT problems in only a few steps. The real value of this approach is that it is a distributed asynchronous approach without any centralized control or evaluation, where the agents can cooperate to solve problems without explicit communication.

Download

^ top

MASSAT (AOC Based SAT Solver)

MASSAT

[Papers]

MASSAT is an AOC-based SAT solver. When using MASSAT to solve a SAT problem, each agent represents one or several variables. It resides in a local environment corresponding to the domain Cartesian product of its variables. By staying at a certain position in its local environment, an agent assigns values to its variables. Accordingly, if collecting the positions of all agents, MASSAT can get a possible solution, where some clauses are possibly not satisfied, to the SAT problem at hand. If a clause is not satisfied, it will be called that the agents, that represent the variables contained in the clause, are conflicts to each other. An agent tries to find a certain position, where it does not conflict with all other agents. In MASSAT, each agent is equipped with three primitive behaviors (i.e., least-move, better-move, and random-move) and one probability-based behavioral rule. If an agent finds that at its current position, it conflicts with some others, it will fire its behavioral rule to select a certain primitive behavior to perform in order to move to a new position, where the number of conflicts will be reduced. On the other hand, the movement of this agent will cause other agents' movement also to reduce their conflicts. Through this positive feedback mechanism, an AOC-based MASSAT system as a whole will evolve to a better state, where the total number of conflicts is reduced. This nonlinear process will continue until the whole AOC system achieves a special state where all conflicts among agents are resolved.

MASSAT was developed with Microsoft C++ 6.0 and DAO 3.5 .

Download

^ top

Web Regularity Characterization Tool

WRCT

[Papers]

Researchers have recently discovered several interesting, self-organized regularities from the World Wide Web, ranging from the structure and growth of the Web to the access patterns in Web surfing. What remains to be a great challenge in Web log mining is how to explain user behavior underlying observed Web usage regularities. In this experiment, we address the issue of how to characterize the strong regularities in Web surfing in terms of user navigation strategies, and present an information foraging agent (IFA) based approach to describing user behavior. By experimenting with the agent-based decision models of Web surfing, we aim to explain how some Web design factors as well as user cognitive factors may affect the overall behavioral patterns in Web usage.

Download

^ top

SSALBG (Simulation System for AOC-Based Load Balancing on Grids)

SSALBG

[Papers]

SSALBG (i.e., the Simulation System for AOC-based Load Balancing on Grids) is a Java-based system for simulating an autonomy oriented computing (AOC) based load balancing mechanism on grids. In SSALBG, agents are employed to carry tasks. Immediately after a task is submitted to a grid node, an agent will be automatically dispatched to the task. The agent will carry the task to search for an appropriate agent team at a certain grid node to queue. In principle, the agent accompanies its task until it is served by a certain grid node.

SSALBG provides three behaviors, i.e., least-loaded move, less-loaded move, and random move for agents. With a least-loaded move, an agent is tended to move to a grid node, which can provide the service required by the agent and has the least (absolute or relative) task load, in its neighboring region. With a less-loaded move, an agent tries to move to a grid node with (absolute or relative) task load less than that of its current grid node. Definitely, the new grid node is also required to be able to provide the service required by the agent. With a random move, an agent randomly moves to a new grid node. Note that when performing a random move, the selected grid node is not necessarily required to be able to provide the required service. In this case, the selected grid node acts as a `springboard' that enables the agent to escape from the current region and explore other regions. In SSALBG, each behavior is assigned a probability. Every time, an agent probabilistically chooses a behavior to perform.

In order to have its task handled, an agent must be served by a certain grid node. An agent has only local information, regarding to its current grid node and those in its neighboring region. An agent does not have global knowledge of the whole grid. After an agent becomes the first agents at an agent team, it will be provided with the service required. The size of the task as well as the processing speed, corresponding to the service required, of the grid node determines the service time required by the agent. After its task has been served by a grid node, the agent will automatically die and vanish from the grid.

Download

^ top