Introduction

Game theory works well with a handful of players or collaborators making choices from within a predefined set or range of options. If we were to venture into a planning problem but with multiple decision makers and changing conditions of which the entities would have partial or imprecise knowledge, it would quickly get a bit too complex to sort out whether there is an equilibrium of sorts. Sorting out a consensus in more complex and dynamic settings calls for another approach that has already been hinted at in CCCS 610, 620 and 630: multi-agent systems. Think of an "agent" as a software and/or hardware entity that has some internal state (memory), some way of observing the state of the world (sensors, inputs, or the like) and some way of effecting change the state of the world and/or its own internal state. Examples include the fireflies or the contagious individuals of CCCS 610 and the barbers of CCCC 620 — if we traded stocks for real (and not in a isolated emulation like in CCCS 620), that would also count as a multi-agent system that would be a mixture of individuals, organizations, and bots.

The way in which the agents adjust their individual responses (think for example of a large space with multiple air conditioners, each with its own thermostat) to their observations of the current state of things (too hot) in order to reach a desired state of things (a goal temperature) is the object of study of yet another field of math: control theory. This module brings these new concepts to the table for you to gain an awareness of how they may contribute to computationally intelligent(-seeming) systems and identify when they might be employed.

Learning outcomes

This module will help you do the following:

Warm-up

The easiest thing to think of when first wrapping one's head around what multi-agent coordination means are cute (or creepy) robots going about something complex in formation. Let's start with that as a pre-class activity:

Warm-up assessment

Faithful to the style established in former warm-up assessments, first you watch the video and then you think of (original) answers to the following without consulting sources or recurring to tools of any kind: if you had in your disposition a team that can design, assemble, and program a swarm of robots, what pressing real-world problem would you be keen to address if your robots could (a) crawl, dig, and climb; (b) fly and hover; (c) swim and dive?

Concepts

After this module, you should be familiar with the following concepts: