Article Preview
Top1. Introduction
An agent is an encapsulated computer program that possesses some properties, most importantly, communication for the purpose of co-operation and negotiation, learning to improve performance over time, and autonomy (Jennings & Wooldridge, 1999). Agents are software programs which carry out tasks such as scheduling, routing, inventory planning etc. An agent-based system, according to Jennings et al. (1998), is a system which consists of situated, autonomous, flexible agents, interacting together to achieve some intended action. Situated-ness refers to the agent exchanging sensory inputs/outputs with the environment, while flexibility in this context refers to the agent’s ability to adapt to its environment. Autonomy refers to the system having control over its actions and also implies capability to learn (Jennings et al. 1998). Agent architectures are characterized by the agent type, control structures, and the degree of intelligence provided. Agent types can be single or multiple; homogenous or heterogenous. Single agents such as the Help agent (used in the Microsoft environment) or web search agents are usually situated within a limited context and lack the flexibility and richness of behavior that is usually a hallmark of the agent paradigm.
Multi-agent architectures are often utilized in complex domains where there are a number of sub-tasks or multiple approaches to a problem. Recent applications of the agent paradigm have included, among others, scheduling of cranes used to handle containers in a port (Thurston & Hu, 2002), network traffic signal control (Arel et al., 2010), simulating spatio-temporal dynamics of coupled human–landscape system (Le et al., 2010), and smart grid management and forecasting of energy demand in virtual power plants (Hernandez et al., 2013). Agent multiplicity implies that some form of control mechanism has to be used to co-ordinate the actions of agents. Control mechanisms range from hierarchical to blackboard to negotiation. In hierarchical control, one agent co-ordinates the actions of other agents; in blackboard control structures, an agent posts a problem which other agents attempt to solve; in the negotiation metaphor, often applied to auctions, agents compete with other agents to perform a task (buying of an item in this case) (Hayes-Roth, 1985; Hewitt, 1986). More recently, Zhang & Yao, (2015) assess the strengths and weaknesses of the three types of organizational control methods: incentives, monitoring, and social control, and conclude that organizations need to combine the three control mechanisms to motivate their employees to achieve the cooperative behaviors and to fulfill the goals of the organizations.
Intelligence in an agent, as manifested in the literature, is a function of the agent’s ability to adapt and exhibit problem-solving behavior, in a pre-defined context. In a port situation, it is the ability to recognize, for instance, when planning a route for a crane, that a particular crane along the route has become inoperative and to plan an alternative route (Thurston & Hu, 2002). Smart grids are an application that introduces intelligence in the power grid to optimize resource usage (Hernandez et al., 2013). In order for this intelligence to be effective, it is necessary to retrieve enough information about the grid operation with some context data such as environmental variables, and modify the behavior of the network components dynamically. In these cases, intelligence has been defined in a limited context. One component of intelligence that has not been addressed in the literature is the agent’s ability to evolve. There are two arguments for including such a capability. Given the longevity of information systems and the dynamism of business, all information systems should be viewed as living entities and should be endowed with the capability to evolve. Secondly, trends such as the Internet, e-commerce, on-line auctions and distributed manufacturing have accelerated the need for dynamic multi-agent systems.