Beck–Fiala theorem

In mathematics, the Beck–Fiala theorem is a major theorem in discrepancy theory due to József Beck and Tibor Fiala. Discrepancy is concerned with coloring elements of a ground set such that each set in a certain set system is as balanced as possible, i.e., has approximately the same number of elements of each color. The Beck–Fiala theorem is concerned with the case where each element doesn't appear many times across all sets. The theorem guarantees that if each element appears at most $t$ times, then the elements can be colored so that the imbalance is at most $2t &minus; 1$. Beck and Fiala conjectured that the imbalance can be even bounded by $$O(\sqrt t)$$.

Statement
Formally, given a universe


 * $$[n] = \{1, \ldots, n\}$$

and a collection of subsets


 * $$ S_1, S_2, \ldots, S_m \subseteq [n]$$

such that for each $$ i \in [n]$$,


 * $$ \vert \{j: i \in S_j \} \vert \leq t,$$

then one can find an assignment
 * $$x : [n] \rightarrow \{-1,+1\}$$

such that


 * $$|x(S_j)| \leq 2t-1, \forall j \text{ where }x(S_j) := \sum_{i \in S_j} x_i.$$

Proof sketch
The proof is based on a simple linear-algebraic argument. Start with $$ x_i = 0$$ for all elements and call all variables active in the beginning.

Consider only sets with $$\vert S_j \vert > t$$. Since each element appears at most $$t$$ times in a set, there are less than $$n$$ such sets. Now, enforce linear constraints $$\sum_{i \in S_j} x_i = 0$$ for them. Since it is a non-trivial linear subspace of $$\mathbf{R}^n$$ with fewer constraints than variables, there is a non-zero solution. Normalize this solution, and at least one of the values is either $$+1,-1$$. Set this value and inactivate this variable. Now, ignore the sets with less than $$t$$ active variables. And repeat the same procedure enforcing the linear constraints that the sum of active variables of each remaining set is still the same. By the same counting argument, there is a non-trivial solution, so one can take linear combinations of this with the original one until some element becomes $$+1,-1$$. Repeat until all variables are set.

Once a set is ignored, the sum of the values of its variables is zero and there are at most $$t$$ unset variables. The change in those can increase $$|x(S_j)|$$ to at most $$2t-1$$.