Multi-agent system

In computer science, a multi-agent system (MAS) is a system composed of several agents, collectively capable of reaching goals that are difficult to achieve by an individual agent or monolithic system.

The exact nature of the agents is a matter of some controversy. They are sometimes claimed to be autonomous. For example a household floor cleaning robot can be autonomous in that it is dependent only on a human operator to start it up. On the other hand, in practice, all agents are under active human supervision. Furthermore, the more important the activities of the agent are to humans, the more supervision that they receive. In fact, autonomy is seldom desired. Instead interdependent systems are needed.

MAS can be claimed to include human agents as well. Human organizations and society in general can be considered an example of a multi-agent system.

Multi-agent systems can manifest self-organization and complex behaviors even when the individual strategies of all their agents are simple.

Topics of research in MAS include:
 * 1) beliefs, desires, and intentions (BDI),
 * 2) cooperation and coordination,
 * 3) organisation,
 * 4) communication,
 * 5) distributed problem solving,
 * 6) multi-agent learning.
 * 7) scientific communities
 * 8) Dependability and fault-tolerance

To share knowledge agents can use Knowledge Query Manipulation Language - KQML.

In fact, to be a bit recursive in our analysis, the wikipedia itself can be considered a multi-agent system. To further understand multiagent systems within the context of a specific example, below is an analysis of wikipedia as an MAS.

Example: Wikipedia as a Multi-Agent System
Wikipedia is a network of individuals working together. Through communication among each other, these agents are able to approach a consensus on content for each topic. The cooperation among different agents allows for far faster updates with more depth and breadth in topics than would be possible with conventional processes. The organization of Wikipedia as a Multi-Agent_System (MAS) allows for a dynamic organizational structure with low transaction cost between agents. Thus, Wikipedia is capable of quickly adapting to change. The next few sections further explore the breakdown of Wikipedia as a MAS. Specifically, the seven dimensions of MAS are explored: Tasks, Agents, Control Flow, Data Flow, Message Content, Message Timing, and Culture and Resources.

Tasks
The overall goal of Wikipedia is to become “a neutral, unbiased compilation of notable, verifiable facts.” (See Wikipedia_in_eight_words) As a result, three main tasks have developed in order to accomplish this goal. These tasks include manipulating existing pages, creating pages, and organizing pages.

Manipulating existing pages is the main task which allows Wikipedia’s content to approach its goal of being more thorough and neutral (See NPOV). This task can be performed by any human agent. Manipulating pages can take a number of forms from fixing typographical errors to elaborating or updating factual data contained in a topic. Manipulating pages can also take the form of rewording pages to better demonstrate a neutral point-of-view. While editing of pages is assumed to be constructive, it isn’t always, which is why history of each edit is recorded, allowing edits to be easily reversed. This allows destructive tasks from harmful agents to be undone quickly and easily.

Adding new topic pages is also a direct contribution to expanding the body of work that is Wikipedia. This action allows Wikipedia to cover new topics as they emerge and add to its knowledge base any content it is lacking. This is more regulated than editing existing topics. If adding new topics were too easy, topics would become repetitive, however the action cannot be too restrictive or Wikipedia would lack new content.

Due to the large numbers of topics Wikipedia has to deal with, organization of these topics becomes quite necessary. As a result, tasks have evolved to merge similar content into one page. Additional organizational functions have also come about. Wikipedia pages that encompass too much material can be split into multiple topics. Pages which do not contain much detail on a topic are marked as stubs (See Stub). Pages are also organized through links. Links between pages can be added and excessive links can be removed.

In order to restrict potential damage from harmful agents which work against the objectives of Wikipedia, an organizational structure with management tasks is present. The agents which are part of the managerial structure have additional tasks to restrict access to destructive agents by banning them from editing posts. These agents can also lock topics which are susceptible to opinion in order to help maintain neutral perspective.

Agents
The most basic agent in the Wikipedia multi-agent system is known as the Unregistered User. These users form a significant portion of the agents in Wikipedia, and are able to complete the most important and basic task of the system: editing topic pages in the encyclopedia. Since these agents are anonymous, they are just logged and identified by their IP addresses, which is the only information kept about them. According to meta.wikimedia.org, as of January 2005 18% of all edits to topic pages were made by these agents. Further studies indicate that unregistered users compose one quarter of total readership. The next agent in terms of power within the system is the Registered User. These agents form the bulk of the agents in Wikipedia, with numbers in the tens of thousands. These agents can complete the same tasks as the Unregistered User, and can also upload files (such as pictures) to most topic pages, move and rename most topic pages, and start new articles on any topic. From the inception of Wikipedia until January 2005, 36,377 registered users had made at least five edits on any number of topic pages. As of March 2005, nearly half a million registered users had been created, although many of them have not taken an active role in the multi-agent system (MAS).

Bots are users that have been created by any Registered or Administrative User in Wikipedia. These agents run both autonomously and manually at the direction of its creator, after being approved, verified, and deemed acceptable by Stewards (the upper echelon of Administrative Users, described below). These users primarily perform maintenance and iterative functions within the Wikipedia, such as updating and improving many of the topic pages by reducing link redundancy, creating new pages based on composite information, and spell checking entries.

Administrators administrators are the first tier of Administrative Users in the Wikipedia MAS, and have minimal control over both Unregistered and Registered Users. Since they are a more select community than Registered Users, the number of active Administrators is limited to a few thousand across the various language Wikipedias. These agents are capable of deleting and undeleting topic pages, protecting or quickly fixing topic pages that have violated one or more of the standards of the Wikipedia system, and basic design and format coding edits to the Wikipedia interface. These agents are directly capable of removing an Unregistered or Registered User’s editing and posting rights, as well as enforcing different rulings that are passed down by Bureaucrats and Stewards. They are also capable of interacting with topic pages in the same manner as Registered Users.

The second layer of Administrative Users is the Bureaucrat agent. These agents have the same responsibilities and capabilities as Administrators, with the additional ability to promote any Registered User to an Administrator, and any Administrator to a Bureaucrat (but not down the control hierarchy). Although still active in the overall Wikipedia goal of editing and creating topic pages, Bureaucrats are more responsible with managing various subprojects within Wikipedia. There are on the order of a hundred Bureaucrat agents, with 20 Bureaucrats specifically for the English Wikipedia.

The final component of the Administrative Users is the Steward agent. These agents possess the same responsibilities as Bureaucrat agents, and are additionally capable of changing any given agent’s designator, such as punishing an Administrator by making him a Registered User. With the exception of Jimmy Wales, these agents are the ultimate arbiters on the content side of the Wikipedia MAS. As of March 26, there were 22 Stewards over the entire Wikipedia, composed of the various language Wikipedias. On the programming side of the MAS, Developer agents run the technical specifics of Wikipedia. Most of their changes do not have any administrative affects on the MAS, and they very rarely interact with the content side of Wikipedia. According to Wikipedia, there are 56 developers that exist in a subhierarchy of responsibilities and duties.

Jimmy Wales is the final decision maker on all matters administrative and programming, and thus can control the actions of any User or Developer. He is listed as one of the 22 Stewards and one of the top level developers, providing him control on both sides of the MAS.

Control Flow


As described above, Jimmy Wales has authority over all agents within Wikipedia. The developer agents have their own subhierarchy that is related to their functional responsibilities managing the Wikipedia website, which largely has no effect on the content-based goals of the MAS. The Administrative Users (composed of Stewards, Bureaucrats, and Administrators) all possess authority over the agents below them, but do not provide direct orders for these agents to follow. Rather, these Administrative Users allow the agents below them a large degree of autonomy within the Wikipedia MAS, provided that these agents follow the rules and standards of the community, which will be elaborated on later. As described above, Stewards can change an agent’s type if a specific situation demands their attention (such as demotion or promotion in the hierarchy). Bureaucrats are capable of promoting lower agents to higher roles if an agent exhibits good performance and knowledge. Administrators are capable of banning or restricting Registered or Unregistered Users that violate the rules of Wikipedia. Additionally, Registered Users have control over the Bots agents that they create, provided that the users are held accountable for their bots and they are approved by the Administrators. This hierarchy is shown below.

Data Flow


Data flow in the Wikipedia system is characterized by many methods of interaction between the different agents, including both methods of message passing and message posting, though posting is predominant in the system. All of the agents in the system are connected, however, the weight of their connections in each direction may differ greatly. For example, in the linkage between Jimmy Wales and an average unregistered user, data flow is mostly one directional. Wales's influence will more drastically shape an unregistered user than would an unregistered user's posting have a chance of being read by Wales. Also, even between agents of the same type, like registered users, some are regarded as having more authority than others and are thus more influential within the system. Some avenues of that transmission of information for all agents within the system include, the wiki page itself, the discussion boards attached to each wiki, the mailing list, personal email, IM, Wikipedia IRC channel (for both open board discussions and general conversation), and finally voice communication. A metagrouping would have the management of all of this data flow fall under the heading of language. Dataflow on each wiki article page is done through posting of messages to the centralized page. That page is subsequently accessed or updated when the agent desires either the information for their own purpose, or desires to check the state of the information for the purpose of controlling content. A history of all changes is kept and made available. Data flow also takes place outside the page itself, on accompanying discussion boards, mailing lists and IRC channels, especially for issues of conflict requiring a more immediate form of dialog. Some additional forms of the data being passed include administrators banning individuals, IP’s, or certain content and it’s history; Jimmy Wales giving the final vote on policies; and administrators with developer rights passing data to the rest of the agents via the code they implement that changes how the site functions. Finally, personal pages, agent history information, and communication through websites to establish authority and community between agents also play a crucial role in the Wikipedia organization. The discussion boards, IRC channels, and mailing list are used to aid this process of forming community within the system.

Message Content
Most obviously text, images, and links to other web content pertinent to the topic on a given page is the most common message content. However, there are also suggestions posted from any agent on the discussion boards or mailing list. These suggestions are generally pertinent to problems like a hot topic, flame war, or if a user should be banned for repeated posting of unsuitable information. Additionally, there is code that changes how the site functions which is done by the administrators with coding rights. That code contains information about how the site functions, as well as looks (i.e. backgrounds, fonts, process for membership, etc.) Another content form is in personal information about individual contributors. Users discuss who they are, their background, degrees, resume, etc. to establish authority between agents. This is usually on personal webpages, and contains history of articles, and user supportive backgrounds. A final form of message content is in the rules and guidelines for the site, this is passed down from board members with Jimmy Wales having the final say in those decisions. It is important to note that the message content is not always directly pertinent to a certain idea or point, on personal pages, IRC, IM, email, etc. information unrelated to credentials and rules is often passed which helps to enforce the sense of community within the system and between agents.

Message timing
Some synchronous messages are passed by Wikipedia. These messages are all products of automated processes. Site statistics are compiled at uniform intervals, with different statistics being kept on daily, monthly and yearly basis. Some of these statistics are used to assist in generating other synchronous communications. For example, lists of pages potentially in need of maintenance are derived from synchronous usage data and synchronous content. The content used for automated maintenance evaluations is synchronous as it is offline archives rather than online pages which are processed. Online pages are always changing, so the automated processes could run into issues working with live content which is changing as evaluations are being made.

Ultimately, Wikipedia is about human content management though. Only suggestions are made with machines, all the actual decisions are made by people. All the messages from different types of human agents are asynchronous. Each human agent submits and receives messages independent of time. There are no timing windows or deadlines in Wikipedia. It is designed such that agents can all pass messages as frequently or infrequently as necessary. Despite Wikipedia’s nature of building consensus, it is not a requirement for any agent’s messaging that the agent receives data from another agent before acting.

Culture and Standards
The culture of Wikipedia is very distinct from other social organizations, particularly other internet-based community websites. No other web-based organization has as many guidelines and self-generated standards as Wikipedia, nor does any such organization pursue the same goals as the Wikipedia MAS. Since Wikipedia is tasked with developing an encyclopedia, the culture must be especially resilient against vandalism, inconsistency, uneven quality, unsubstantiated opinions, systemic bias, and preference of consensus or popularity to credentials. These criticisms are often used to discredit Wikipedia’s reliability and authority, making it even more important for the agents within Wikipedia to combat these vices and work within the guidelines established by the community. It is important to note that because of the low transaction cost and ease of editing, persistent vandalism is in fact rare in the system. It becomes uneconomical for someone to try and graffiti a page if you are working against thousands of others who can remove all your work with a push of a button. Regardless, the guidelines -- often called the Five Pillars of Wikipedia (Five_pillars) -- still have an important role in the functioning of the community and are discussed below.

“Wikipedia is an encyclopedia.” This is an important standard of the Wikipedia MAS because it reinforces the fact that the one and only goal of Wikipedia is “to create and distribute a multilingual free encyclopedia of the highest possible quality to every single person on the planet in their own language.” There are many things that have been published in the culture that speak to what Wikipedia is not: a newspaper, an experiment in anarchy or democracy, or a grouping of links, to name a few. Another standard of the system is that agents must not insert their own opinions, experiences, or arguments, which is vigorously enforced by a no original research policy. Finally, all agents must strive for accuracy to successfully attain the goals of the Wikipedia MAS.

“Wikipedia uses the neutral-point-of-view.” This is a central tenant to Wikipedia’s open-source, collaborative, information gathering system. Since Wikipedia desires to be an impartial, judgment-free source of knowledge, it cannot advocate or dictate a correct interpretation of facts. Ultimately this requires content-based agents to use verifiable, authoritative sources whenever possible, especially on controversial topics. When a conflict arises as to which version is the most neutral, the community has a process to isolate and resolve the dispute in a civil manner, using the communication forums described previously.

“Wikipedia is free content.” This is an important standard within Wikipedia, because it enables the free distribution of knowledge, which is the specific goal of the MAS. It also means that that, ideally, bad information will not be maintained on any topic pages, since it will be quickly edited or removed by other agents acting autonomously.

“Wikipedia follows the writers’ rules of engagement.” This code of conduct is used to guide the content of messages left by agents in all communication forums. This is enforced through a variety of content-based rules, such as the three-revert rule, which limits the rate at which topic pages can be edited by a single individual. These rules are enforced by the Administrative Users in order to keep discussions civil and productive, which indirectly guides all agents to the overall goal of the MAS.

“Wikipedia doesn’t have firm rules.” This final standard is important, since it provides the motivation for every agent to work autonomously within the framework of these pillars. The overall task of the Wikipedia MAS demands that its agents take risks and be aggressive when pursuing information, since there is so much knowledge to document. When all of its agents work independently, following certain loose constructions of intentionality outlined by these five pillars, the accuracy and breadth of the information has shown to be capable of innovative and unprecedented results.

Multi-agent system development tools

 * Aglets - A lightweight system for mobile agents originally developed by IBM
 * BRAHMS - software tools to develop and simulate multi-agent models of human and machine behavior
 * Cougaar - DARPA-funded system for developing agents and multiagent systems
 * Jack - Commercial agent system development kit
 * JADE - Java Agent DEvelopment Framework
 * A Methodology for the Development of Multi-Agent Systems using JADE
 * JavAct LGPL a java middleware for mobile adaptive agents with an Eclipse plugin.
 * JAS, LGPL JAS is a java library for creating agent based simulations.
 * Jason, LGPL Framework for BDI multi-agent simulation using AgentSpeak(L).
 * LS/TS, Living Systems&reg; Technology Suite - a commercial Eclipse based multi-agent development suite and runtime environment.
 * Repast - Recursive Porous Agent Simulation Toolkit extended from Swarm
 * SeSAm - SeSAm (Shell for Simulated Agent Systems) provides a generic environment for modelling and experimenting with reactive agent-based simulation.
 * Spyse, LGPL environment for agent-based simulations with BDI support (3APL).
 * Swarm, GPL'd software package for multi-agent simulation of complex systems
 * TuCSoN, (Tuple Centres Spread over the Network) is a model and an infrastructure enabling and governing agent communication and coordination in Internet-based multiagent systems.
 * VisualBots - Freeware multi-agent simulator in Microsoft Excel - Visual Basic syntax
 * SPADES -System for Parallel Agent Discrete Event Simulation) is a middleware system for the creation of artificial intelligence agent-based simulations.
 * Agent Factory Framework for constructing and deploying multi-agent systems that includes support for the deployment of mobile BDI agents on all Java-compatible devices including mobile phones and PDAs.
 * FreeWalk/Q - FreeWalk is a platform where human participants and autonomous characters can socially interact with one another in a virtual city space.
 * System Effectiveness Analysis Simulation (SEAS) - The US Air Force's Multi-Agent Theater Operations Simulation

Suggested reading

 * Michael Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons Ltd, 2002, paperback, 366 pages, ISBN 0-471-49691-X.
 * Carl Hewitt and Jeff Inman. DAI Betwixt and Between:  From "Intelligent Agents" to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics.  Nov./Dec. 1991.
 * The Journal of Autonomous Agents and Multiagent Systems, Publisher: Springer Science+Business Media B.V., Formerly Kluwer Academic Publishers B.V.