How to decide consensus? A combinatorial necessary and sufficient condition and a proof that consensus is decidable but NP-hard

Vincent D. Blondel, Alex Olshevsky

Research output: Contribution to journalArticle


A set of stochastic matrices P is a consensus set if for every sequence of matrices P(1), P(2), . . . whose elements belong to P and every initial state x(0), the sequence of states defined by x(t) = P(t)P(t-1) . . . P(1)x(0) converges to a vector whose entries are all identical. In this paper, we introduce an "avoiding set condition" for compact sets of matrices and prove in our main theorem that this explicit combinatorial condition is both necessary and sufficient for consensus. We show that several of the conditions for consensus proposed in the literature can be directly derived from the avoiding set condition. The avoiding set condition is easy to check with an elementary algorithm, and so our result also establishes that consensus is algorithmically decidable. Direct verification of the avoiding set condition may require more than a polynomial time number of operations. This is, however, likely to be the case for any consensus checking algorithm since we also prove in this paper that unless P = NP, consensus cannot be decided in polynomial time.

Original languageEnglish (US)
Pages (from-to)2707-2726
Number of pages20
JournalSIAM Journal on Control and Optimization
Issue number5
StatePublished - Jan 1 2014



  • Computational complexity
  • Consensus
  • Switched systems

ASJC Scopus subject areas

  • Control and Optimization
  • Applied Mathematics

Cite this