Algorithmic Game Theory

You are here

Specialization complementary (Advanced Computing)
This subject has not requirements, but it has got previous capacities
As Computer Science struggles to understand the Internet and its capabilities, computer scientists are incorporating concepts and methodologies from Economics and Game Theory into their discipline. In the past decades, there has been a tremendous growth in research, centered around the following questions: What game-theoretic tools are applicable to computer systems? How far is the performance of a system from optimality due to the conflict of interests of its users and administrators? How can we design a system whose performance is robust with respect to the potential conflict of interests inside the system?

The course aims to tackle some of the fundamental problems at the interface of Computer Science and Game theory, with an emphasis on algorithms and computational complexity. Our main focus will be on algorithms for equilibria, the computational complexity of finding equilibria, the algorithmic tools in mechanism design for auctions, the stategic behavior models for large networks, and the price of anarchy. Incorporating also some notions from cooperative game theory.


Person in charge

  • Maria Jose Serna Iglesias ( )

Weekly hours

Guided learning
Autonomous learning


Technical Competences of each Specialization

Advanced computing

  • CEE3.1 - Capability to identify computational barriers and to analyze the complexity of computational problems in different areas of science and technology as well as to represent high complexity problems in mathematical structures which can be treated effectively with algorithmic schemes.
  • CEE3.2 - Capability to use a wide and varied spectrum of algorithmic resources to solve high difficulty algorithmic problems.
  • CEE3.3 - Capability to understand the computational requirements of problems from non-informatics disciplines and to make significant contributions in multidisciplinary teams that use computing.

Generic Technical Competences


  • CG1 - Capability to apply the scientific method to study and analyse of phenomena and systems in any area of Computer Science, and in the conception, design and implementation of innovative and original solutions.
  • CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
  • CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.

Transversal Competences


  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.


  • CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
  • CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
  • CB9 - Possession of the learning skills that enable the students to continue studying in a way that will be mainly self-directed or autonomous.


  1. Become acquainted with the main techniques and problems in the algorithmic game theory domain and identify their major properties.
    Related competences: CG1, CEE3.1, CEE3.2, CB8, CB9, CTR6,
  2. Examine conditions under which cooperation and antagonism appear. Perform an analysis and extract the fundamental properties of problems from different domains in order to assess the suitability of a game theoretical analysis and its limitations.
    Related competences: CG1, CG3, CEE3.1, CEE3.2, CEE3.3, CB6, CB9, CTR6, CG5,


  1. Introduction to Algorithmic game theory
    Centralized versus decentralized decisions. Games and Internet. Game types, strategies and equilibria.
  2. Strategic games and computational aspects of Nash equilibria
    Strategic games, pure and mixed strategies. Solution concepts. Pure Nash equilibria and the complexity of its computation. Pure Nash equilibria versus local optima: Potential games. Mixed strategies and Nash equilibria. The complexity of computing a Nash equilibria. Mechanism design and games. Auctions.
  3. Price of anarchy and price of stability
    Definitions. Best and worst Nash equilibria. Routing games and other examples.
  4. Games for network problems.
    Network Games: utility-based resource allocation. Selfish routing and Congestion games. Network formation games. Nash equilibria and prize of anarchy.
  5. Cooperative game theory
    Cooperative and simple games. Types of coalition. Power indices. Examples: voting games, combinatorial games and influence games on social networks.
  6. Computational social choice
    The problem of aggregating preferences aggregation. Voting rules. Manipulation, control and bribery in voting systems.


Activity Evaluation act

Guided learning
Autonomous learning

Final Exam

Theory questions and problem-solving exam
Objectives: 1 2
Week: 13
Type: final exam
Guided learning
Autonomous learning

Presentation of a research paper

Presentation of a scientific journal article describing a research topic in some of the topics covered in the course or in other related areas of interest to the student.
Objectives: 1 2
Week: 17
Type: assigment
Guided learning
Autonomous learning

Teaching methodology

There will be two kinds of classes: theoretical sessions and practical sessions. On average, two hours per week are dedicated to theory and one
hour per week to exercises. The teacher will allocate the hours in accordance to the subject matter.

The theory classes take the form of lectures in which the teacher sets out new concepts or techniques. Complemented with examples illustrating the introduced concepts. Sessions will consist of a presentation of the main topics of each content's item, mainly based in selected original research papers.
A high level of students' participation is expected at each session. Current lines of research in each topic will be discussed at the end of each topics' presentation.

The practical classes are used to carry out exercises in which students take an active part. Usually teachers set the exercises in advance. Students are
required to submit the exercises and then discuss the various solutions/alternatives in class.

Evaluation methodology

Grade = 30% FW + 60% FT + 10% PART

FW = Final Work (graded from 0 to 10) in which each participant is required to present a research paper (previously assigned by the lecturer).
The presentation consists of:
3-5 minutes background on the topic of the paper, and motivation.
1-3 minute overview of the key ideas of the paper.
15 minutes presentation with most important details.
2-5 minutes conclusions and review of research problems or directions left in the paper.

FT = Final test graded from (0 to 10) including all the contents of AGT.

PART = Participation. Active participation: questions and comments, presentations at practice sessions, hand-outs when required.




  • Handbook of computational social choice - Brandt, Felix; Conitzer, Vincent; Endriss, Ulle; Lang, Jérôme; Procaccia, Ariel D, Cambridge University Press , 2016. ISBN: 978-1-107-06043-2*cat

Previous capacities

Basic knowledge of algorithm analysis methods (in particular asymptotic complexity).
Basic knowledge on algorithms. Linear Programming. Maximum flow. Local search. Graph and Network algorithms.
Basic knowledge on algebraic reasoning.
Basic knowledge on computational complexity, classes and reductions.