One important feature that distinguishes humans from other animals is our social ability. To be sure, many other creatures have social abilities of one kind or another – some insects, such as ants and termites, are capable of seemingly impressive feats of collective action, for example. But our ability to communicate, cooperate, coordinate, and negotiate with each other surely makes us unique. Human social skills start with language. We make use of rich and intricate natural languages to communicate with one-another, and language is, in itself, one of humankind’s greatest achievements. But language is only the start of our social skills. In our everyday lives, we all of us use language as part of much richer social interactions, in which we coordinate our activities with others (“I’ll see you in the Kings Arms at seven”), cooperate with one another to solve problems (“I’ll pick up the children, you can stay at home to meet the plumber”), and negotiate with one-another to reach agreements on matters of common interest (“I can take the kids to school today if you can do it tomorrow”).
In short, my research is ultimately about building computers that have the same kinds of social abilities that humans have. That is, I want to build computers that can cooperate, coordinate, and negotiate with each other. My research forms part of a research area called multi-agent systems. The term “agent” refers to a computer than can autonomously act on behalf of a user or owner, and it is these agents that we aim to endow with social abilities. If multi-agent systems research is successful, then the benefits will be enormous. Some example applications, currently being studied, include:
- Cooperative disaster management, in which teams of search-and-rescue robots autonomously cooperate with each other to search for and assist survivors in situations that would be too dangerous or difficult for human rescue teams (the March 2011 Japanese tsunami and Fukushima disaster are an obvious example where robotic search-and-rescue was sorely needed).
- Electronic commerce, in which agents automatically engage in transactions on our behalf. Imagine the possible savings, for example, if all NHS contracts were automatically negotiated by computer programs that could be proved to get the best deal possible for the tax payer.
My research at present is focussed around the use of game theory to inform the design of social software agents. Game theory is the mathematical theory of interaction between self-interested agents: it provides a mathematical toolkit that we can use to understand the situations that social software agents find themselves in. However, there are many challenges that arise if we want to use game theory in the design of social software agents. Chief among these is that the solutions proposed by game theorists are often simply too complex for computers to be able to work with, and so we have to adapt them or simplify them somehow, before they are usable in practice.
We have a long road ahead before the vision of computerised agents autonomously working with each other on our behalf can be realised. There are many fundamental challenges that need to be addressed, and for many of these, we have only the vaguest ideas about how to make progress. But for me, this is actually very good news: the road ahead is open and uncluttered, with much interesting landscape to explore. I don’t know exactly where the road will take me, but I am certain the journey will be fascinating.