Birkhoff algorithm
Birkhoff's algorithm is an algorithm for decomposing a bistochastic matrix into a convex combination of permutation matrices. It was developed by Garret Birkhoff.[1].[2]: 36 It has many applications. One such application is for the problem of fair random assignment: given a randomized allocation of items, Birkhoff's algorithm can decompose it into a lottery on deterministic allocations.
Terminology
A bistochastic matrix (also called: doubly-stochastic) is a matrix in which all elements are weakly-positive, and the sum of each row and column equals 1. An example is the following 3-by-3 matrix:
A permutation matrix is a special case of a bistochastic matrix, in which each element is either 0 or 1 (so there is exactly one "1" in each row and each column). An example is the following 3-by-3 matrix:
A Birkhoff decomposition (also called: Birkhoff-von-Neumann decomposition) of a bistochastic matrix is a presentation of it as a sum of permutation matrices with non-negative weights. For example, the above matrix can be presented as the following sum:
Birkhoff's algorithm receives as input a bistochastic matrix and returns as output a Birkhoff decomposition.
Tools
A permutation set of an n-by-n matrix X is a set of n entries of X containing exactly one entry from each row and from each column. A theorem by Dénes Kőnig says that:[3][2]: 35
Every bistochastic matrix has a permutation-set in which all entries are positive.
The positivity graph of an n-by-n matrix X is a bipartite graph with 2n vertices, in which the vertices on one side are n rows and the vertices on the other side are the n columns, and there is an edge between a row and a column iff the entry at that row and column is positive. A permutation set with positive entries is equivalent to a perfect matching in the positivity graph. Kőnig's theorem is equivalent to the following:
The positivity graph of any bistochastic matrix admits a perfect matching.
A matrix is called scaled-bistochastic if all elements are weakly-positive, and the sum of each row and column equals c, where c is some positive constant. In other words, it is c times a bistochastic matrix. Since the positivity graph is not affected by scaling:
The positivity graph of any scaled-bistochastic matrix admits a perfect matching.
Algorithm
Using the tools above, Birkhoff's algorithm works as follows.[4]: app.B
- Let i = 1.
- Construct the positivity graph GX of X.
- Find a perfect matching in GX, corresponding to a positive permutation set in X.
- Let z[i] > 0 be the smallest element in the permutation set.
- Let P[i] be a permutation matrix whose nonzero entries correspond to the positive permutation X.
- Let X := X - z[i] P[i].
- If X contains nonzero elements, Let i = i+1 and go back to step 2.
- Otherwise, return the sum: z[1] P[1] + ... + z[2] P[2] + ... + z[i] P[i].
The algorithm is correct because, after step 5, the sum in each row and each column drops by z. Therefore, the matrix X remains scaled-bistochastic. Therefore, in step 2, a perfect matching always exists.
Run-time complexity
See also
- Birkhoff polytope
- Probabilistic-serial procedure
- The term "Birkhoff decomposition" is also used for a different concept called Birkhoff factorization.
References
- ^ Birkhoff, Garrett (1946), "Tres observaciones sobre el algebra lineal [Three observations on linear algebra]", Univ. Nac. Tucumán. Revista A., 5: 147–151, MR 0020547.
- ^ a b Lovász, László; Plummer, M. D. (1986), Matching Theory, Annals of Discrete Mathematics, vol. 29, North-Holland, ISBN 0-444-87916-1, MR 0859549
- ^ Kőnig, Dénes (1916), "Gráfok és alkalmazásuk a determinánsok és a halmazok elméletére", Matematikai és Természettudományi Értesítő, 34: 104–119.
- ^ Aziz, Haris (2020). "Simultaneously Achieving Ex-ante and Ex-post Fairness". arxiv. arXiv:2004.02554.