Multi-agent systems have been a core research topic in artificial intelligence for several decades. A multi-agent system consists of multiple decision-making agents – which may be software-based AI systems, physically-embodied robots, or humans – which must interact in a shared environment in pursuit of their goals. Multi-agent systems research spans a range of technical problems, such as how to design planning and learning algorithms which enable agents to achieve their goals; how to design multi-agent systems to incentivise certain behaviours in agents; how information is communicated and propagated among agents; and how norms, conventions, and roles may emerge in multi-agent systems. A vast array of applications have been addressed using multi-agent methodologies, including autonomous driving, multi-robot factories, automated trading, commercial games, automated tutoring, and robotic rescue teams.