As software becomes ever more complex and computing power becomes more distributed in autonomous components, components which are becoming ubiquitous, a key challenge in computer science is to understand the behaviour of these autonomous components and the interactions between them. One promising approach is to treat the components as independent agents, and my research centres around exactly this.
The main topics that I work on are:
There is a need to develop mechanisms by which autonomous agents can communicate and organise themselves to solve problems. The state of the art in the coordination of such multi-agent systems is through game theoretic and market-based mechanisms and formal models of dialogue. I have worked extensively in this area.
In recent years a lot of this work has leant towards:
Automated mechanism design
If we have a good idea of the properties of a coordination mechanism, why can't we use machine learning to create them automatically? have been exploring whether the extent to which this is possible when the family of mechanisms we are interested in are relatively simple, such as the auction mechanisms used in commodity and stock exchanges.
Rational decision making within intelligent systems.
As agents and the environments in which they are deployed become more complex, we need to develop more powerful techniques to enable them to make good decisions about what to do in uncertain conditions. In this area I work on logic based models of intelligent agency and on techniques which use classical decision theory..
Learning and adaptation
in intelligent agents.
In complex environments it is not always possible to directly program agents so that they are sufficiently well-behaved---we just do not have enough information about the environment. In such cases it is possible to instead have systems adapt to their environments using techniques such as evolutionary computing and reinforcement learning.
|
|