Requirements for a General Agent Architecture for Agent-Based Simulation Environments Paul Scerri and Nancy Reed Department of Computer and Information Science Linköpings Universitet, S-581 83, Linköping, Sweden pausc,nanre@ida.liu.se
Outline Domain of interest is simulation environments We argue that agent architectures need to be evaluated by a range of engineering criteria Discuss some suggested criteria
Simulation Environments Highly complex, real-time training and testing simulation environments Agents used in place of humans Examples Air-combat simulation Disaster management RoboCup simulated soccer
Agent Architectures Define an agent architecture as a framework for developing agents e.g. PRS, Subsumption, Soar Wide range of fundamentally different architectures used in the domain Agents built using many different architectures capable performing most of the tasks required of agents in the domain
Criticism of Current Architecture Descriptions Literature focuses evaluation on capabilities of agents From the perspective of someone wanting to use agents rather than just build them it is equally important to know how difficult it was to build the agents Evaluation needs to be done as to how difficult it is to build agents with the required behavior
Engineering Considerations for Architecture Selection Accessibility Conciseness Reuse Generality Software Engineering Hardware Usage Learning
Accessibility How easy is it for non-agent experts to create agents with the architecture? How much does a designer need to understand about the architecture in order to create useful agents? Agent “gurus” only Any Tom, Dick or Mary
Conciseness How much programming is required to create agents capable of performing different tasks? Verbose Succinct
Reuse How easy is it to reuse parts of one specification in another specification All similar behavior None
Generality For what range of applications is the architecture useful? One specific application only General intelligence
Software Engineering Does the architecture support a software engineering methodology? How modular is the agent specification? Built in development methodology Ad hoc hacking
Debugging How difficult is it to trace from inappropriate agent behavior to incorrect specification elements? Is there any system support for debugging? Errors simple to locate and fix Impossible to locate errors
Hardware Usage What are the computational requirements for the agents? Requires Mainframe 1000s of agents on a PC
Learning Does the architecture provide support for machine learning? Abstract unsupervised learning Does not learn
Summary Most capabilities required of agents can be achieved Little emphasis is placed on how difficult it is for a programmer, or user, to develop agents to perform certain tasks We have proposed criteria by which we believe agent architectures should be evaluated in order for non-agent experts to find the architecture they need