Aalto University, 2019. — 193 p.
This book is an introduction to the theory of
distributed algorithms. The topics covered include:
Models of computing: precisely what is a distributed algorithm, and what do we mean when we say that a distributed algorithm solves a certain computational problem?
Algorithm design and analysis: which computational problems can be solved with distributed algorithms, which problems can be solved efficiently, and how to do it?
Computability and computational complexity: which computational problems cannot be solved at all with distributed algorithms, which problems cannot be solved efficiently, and why is this the case?
No prior knowledge of distributed systems is needed.
A basic knowledge of discrete mathematics and graph theory is assumed, as well as familiarity with the basic concepts from undergraduate-level courses on models on computation, computational complexity, and algorithms and data structures.
Foreword.
Mathematical Preliminaries.
Informal Introduction.
Graphs.
Models of Computing.
Proving Impossibility Results.
Conclusions.
Hints.
A5 format