Models of Cognitive & Autonomous Agents
Software agents is a computing paradigm that emerged in the late 80s within Artificial Intelligence (AI) as well as other disciplines, such as software engineering. The idea of software acting as an agent serves as a metaphor for autonomous, intelligent and interactive entities deployed in distributed and dynamically changing environments. They are an evolution of earlier AI systems, which were assumed to be operating in isolation and in a “sealed” fashion in environments hardly changing over time or whose changes were ignored. In order to be intelligent, software agents need to be proactive towards the achievement of their goals. In order to take into account their evolving environment, they need to be reactive. In order to take into account and benefit of other agents and entities populating their environment, they need to be social and interactive. In order to be fully autonomous, they need to be able to generate their own goals, plan for them, and learn from the experience of trying to achieve them.
Our work in this theme is trying to answer the following questions:
- What should an agent do in the environment in which it is situated based on its knowledge, abilities and goals?
- How can an agent best acquire and efficiently use information in the environment in which it is situated to make better decisions?
- How do we provide executable specifications for the behaviour of an agent?
- How do we incorporate a learning capability in the behaviour of an agent?
- How do we specialise or adapt general models of intelligent agents to support specific application domains?
This research theme is concerned with developing models of interactions to support the dynamic deployment of intelligent agents in distributed environments. The notion of the agent environment is proposed as a first-class abstraction that provides the surrounding conditions for agents to exist and mediates both the interaction among agents and the access to resources. In particular, the environment encapsulates its own clear-cut responsibilities, irrespective of the agents that populate it and it is the part of the world with which the agents interact, and in which the effects of the agents will be observed and evaluated. On their own, agents are just individual loci of control. The environment is the glue that connects agents into a working system by providing a medium for sharing information and mediating coordination among agents. As a result, the environment enables interaction and constrains it in ways that are meaningful for a practical application.
Our work in this theme is trying to address the following issues:
- What entities do they exist in an agent environment and how do we model them?
- How does an agent access and/or affect the environment in which it is situated?
- How do we model interaction between an agent and other entities populating an environment?
- How do we model environments that are distributed over a network?
- How do we deploy a distributed environment to support specific application domains?
Models of Social & Economic Interaction
This is a body of recent work in the multi-agent systems community attempting to analyse the interplay between the actions decided by individual agents (whether human or artificial) and the social processes that may govern these actions. An important design concept here is the notion of a protocol that allows a multi-agent system developer to limit the complexity between individual agent interactions in specific contexts so that agents interact by following well-defined rules. The link between protocols and the role(s) an agent is asked to play within a particular application is also an important issue, because it divides the responsibility agents can have in interactions with other agents within an application. An application in other words provides the social processes and positions which an agent must consider before it acts in order to fulfill the responsibilities of a role that has acquired by being participant in an application.
Work in the lab is particularly focusing on addressing the following questions:
- Which metaphors are useful for modelling social and economic interaction?
- How do we model, specify and implement social and economic action in multi-agent system applications?
- What monitoring and management mechanisms do we need to check whether an agent fulfills the roles it has been asked to play?
- How do we change the behaviour of agents by changing the social and economic norms?
- How do we develop infrastructures that support multi-agent applications that are self-governed?
- How do we deploy large simulation experiments to demonstrate properties of complex social and economic systems?
Work in this theme involves the development of games as a metaphor for social interaction and the idea of self-managment and the concept of super-agent as concepts to manage social and economic applications of multi-agent systems.