Different Paradigms of Software Agents Applied to Modeling and Simulation of Complex Social Systems

Different Paradigms of Software Agents Applied to Modeling and Simulation of Complex Social Systems Marco Remondino (remond@di.unito.it) Department of Computer Science, 185 C.so Svizzera Torino, 10149 - Italy part on some environment. Each senses its environment and act autonomously upon it. No other entity is required to feed it input, or to interpret and use its output. Each acts in pursuit of it's own agenda, whether satisfying evolved drives as in humans and animals, or pursuing goals designed in by some other agent, as in software agents. (Artificial life agents may be of either variety.) Each acts so that its current actions may effect its later sensing, that is its actions effect its environment. Finally, each acts continually over some period of time. A software agent, once invoked, typically runs until it decides not to. An artificial life agent often runs until it's eaten or otherwise dies. Of course, some human can pull the plug, but not always. Mobile agents on the Internet may be beyond calling back by the user. These requirements constitute for sure the essence of being an agent, hence the definition by Franklin and Graesser (1997): “An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future”. And the very general, yet comprehensive one by Jennings (1996): “…the term is usually applied to describe self- contained programs which can control their own actions based on their perceptions of their operating environment”. Abstract The term agent, deriving from the Latin “agens”, identifies someone (or something) who acts; the same word can also be used to define a mean through which some action is made or caused. The term is used in many different fields and disciplines, such as economics, physics, natural sciences, sociology and many others. In computer science, the word is used to define very heterogeneous entities and sometimes is even abused. The main purpose of this work is to investigate various kinds of software agents that could be applied to modeling and simulation of complex social systems. Introduction The concept of software agent originates in the early fifties with J. McCarthy, while the term has been coined by O.G. Selfridge some years later, when both of them were working at the Massachusetts Institute of Technology. Their original project was to build a system which, given a goal, could be able to accomplish it, looking for human help in case of lack of necessary information. In practice, an agent was considered a software robot that lives and acts in a virtual world. In (Wooldridge and Jennings 1995): . a hardware or (more usually) software-based computer system that enjoys the following properties: • autonomy: they operate without the intervention of humans or others, and can control their actions; A Simple Taxonomy • social ability: agents interact with other agents (and possibly humans) via some kind of language; Agents themselves have traditionally been categorized into one of the following types (Woolridge and Jennings, 1995): • reactivity: agents perceive their environment and respond in a timely fashion to changes that occur in it; • Reactive • pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behavior by taking the initiative. Franklin and Graesser (1997) also try to find the typical features of agency, deriving them from the word itself: an “agent” is 1) one who acts, or who can act, and 2) one who acts in place of another with his permission. Since one who acts in place of acts, the second usage requires the first. Humans act, as do most other animals. Also, some autonomous mobile robots act, for example Brooks' Herbert (Brooks 1990; Franklin 1995). All of these are real world agents. Software agents live in computer operating systems, databases, networks, MUDs, etc. Finally, artificial life agents live in artificial environments on a computer screen or in its memory (Langton 1989, Franklin 1995). Each is situated in, and is a • Deliberative • Hybrid When designing any agent based (AB) system, it’s important to determine how sophisticated the agents' reasoning will be. Reactive agents simply retrieve pre-set behaviors similar to reflexes without maintaining any internal state. On the other hand, deliberative agents behave more like they are thinking, by searching through a space of behaviors, maintaining internal state, and predicting the effects of actions. Although the line between reactive and deliberative agents can be somewhat blurry, an agent with no internal state is certainly reactive, and one which bases its actions on the predicted actions of other agents is deliberative. In Mataric (1995) we read that reactive agents maintain no internal model of how to predict future states of the world. They choose actions by using the current world