Sauer–Shelah lemma

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Sauer–Shelah lemma.svg
Pajor's formulation of the Sauer–Shelah lemma: for every finite family of sets (green) there is another family of equally many sets (blue outlines) such that each set in the second family is shattered by the first family

In combinatorial mathematics and extremal set theory, the Sauer–Shelah lemma states that every family of sets with small VC dimension consists of a small number of sets. It is named after Norbert Sauer and Saharon Shelah, who published it independently of each other in 1972.[1][2] The same result was also published slightly earlier and again independently, by Vladimir Vapnik and Alexey Chervonenkis, after whom the VC dimension is named.[3] In his paper containing the lemma, Shelah gives credit also to Micha Perles, and for this reason the lemma has also been called the Perles–Sauer–Shelah lemma.[4]

Buzaglo et al. call this lemma "one of the most fundamental results on VC-dimension",[4] and it has applications in many areas. Sauer's motivation was in the combinatorics of set systems, while Shelah's was in model theory and that of Vapnik and Chervonenkis was in statistics. It has also been applied in discrete geometry[5] and graph theory.[6]

Definitions and statement

If \mathcal{F}=\{S_1,S_2,\dots\} is a family of sets, and T is another set, then T is said to be shattered by \mathcal{F} if every subset of T (including the empty set and T itself) can be obtained as an intersection T\cap S_i between T and a set in the family. The VC dimension of \mathcal{F} is the largest cardinality of a set shattered by \mathcal{F}.

In terms of these definitions, the Sauer–Shelah lemma states that if \mathcal{F} is a family of sets with n distinct elements such that  |\mathcal{F}| > \sum_{i=0}^{k-1} {\binom{n}{i}} , then \mathcal{F} shatters a set of size k. Equivalently, if the VC dimension of \mathcal{F} is k, then \mathcal{F} can consist of at most \sum_{i=0}^{k} {\binom{n}{i}} =O(n^k) sets.

The bound of the lemma is tight: there exists a family \mathcal{F} with  |\mathcal{F}| = \sum_{i=0}^{k-1} {\binom{n}{i}} that does not shatter any set of size k. Namely, let \mathcal{F} be the family of all subsets of \{1,2,\dots n\} that have cardinality less than k.[7]

The number of shattered sets

A strengthening of the Sauer–Shelah lemma, due to Pajor (1985), states that every finite set family \mathcal{F}shatters at least |\mathcal{F}| sets.[8] This immediately implies the Sauer–Shelah lemma, because only \sum_{i=0}^{k-1} {\tbinom{n}{i}} of the subsets of an n-item universe have cardinality less than k. Thus, when |\mathcal{F}|>\sum_{i=0}^{k-1} {\tbinom{n}{i}}, there are not enough small sets to be shattered, so one of the shattered sets must have cardinality at least k.

For a restricted type of shattered set, called an order-shattered set, the number of shattered sets always equals the cardinality of the set family.[9]

Proof

Pajor's variant of the Sauer–Shelah lemma may be proved by mathematical induction; the proof has variously been credited to Noga Alon[10] or to Ron Aharoni and Ron Holzman.[9]

Base: every family of only one set shatters the empty set.

Step: Assume the lemma is true for all families of size less than |\mathcal{F}| and let \mathcal{F} be a family of two or more sets. Let x be an element that belongs to some but not all of the sets in \mathcal{F}. Split \mathcal{F} into two subfamilies, of the sets that contain x and the sets that do not contain x.

By the induction assumption, these two subfamilies shatter two collections of sets whose sizes add to at least |\mathcal{F}|.

None of these shattered sets contain x, since a set that contains x cannot be shattered by a family in which all sets contain x or all sets do not contain x.

Some of the shattered sets may be shattered by both subfamilies. When a set S is shattered by only one of the two subfamilies, it contributes one unit both to the number of shattered sets of the subfamily and to the number of shattered sets of \mathcal{F}. When a set S is shattered by both subfamilies, both S and S\cup\{x\} are shattered by \mathcal{F}, so S contributes two units to the number of shattered sets of the subfamilies and of \mathcal{F}. Therefore, the number of shattered sets of \mathcal{F} is at least equal to the number shattered by the two subfamilies of \mathcal{F}, which is at least |\mathcal{F}|.

A different proof of the Sauer–Shelah lemma in its original form, by Péter Frankl and János Pach, is based on linear algebra and the inclusion–exclusion principle.[5][7]

Applications

The original application of the lemma, by Vapnik and Chervonenkis, was in showing that every probability distribution can be approximated (with respect to a family of events of a given VC dimension) by a finite set of sample points whose cardinality depends only on the VC dimension of the family of events. In this context, there are two important notions of approximation, both parameterized by a number ε: a set S of samples, and a probability distribution on S, is said to be an ε-approximation of the original distribution if the probability of each event with respect to S differs from its original probability by at most ε. A set S of (unweighted) samples is said to be an ε-net if every event with probability at least ε includes at least one point of S. An ε-approximation must also be an ε-net but not necessarily vice versa.

Vapnik and Chervonenkis used the lemma to show that set systems of VC dimension d always have ε-approximations of cardinality O(\tfrac{d}{\epsilon^2}\log\tfrac{d}{\epsilon}). Later authors including Haussler & Welzl (1987)[11] and Komlós, Pach & Woeginger (1992)[12] similarly showed that there always exist ε-nets of cardinality O(\tfrac{d}{\epsilon}\log\tfrac{1}{\epsilon}), and more precisely of cardinality at most \tfrac{d}{\epsilon}\ln\tfrac{1}{\epsilon}+\tfrac{2d}{\epsilon}\ln\ln\tfrac{1}{\epsilon}+\tfrac{6d}{\epsilon}.[5] The main idea of the proof of the existence of small ε-nets is to choose a random sample x of cardinality O(\tfrac{d}{\epsilon}\log\tfrac{1}{\epsilon}) and a second independent random sample y of cardinality O(\tfrac{d}{\epsilon}\log^2\tfrac{1}{\epsilon}), and to bound the probability that x is missed by some large event E by the probability that x is missed and simultaneously the intersection of y with E is larger than its median value. For any particular E, the probability that x is missed while y is larger than its median is very small, and the Sauer–Shelah lemma (applied to x\cup y) shows that only a small number of distinct events E need to be considered, so by the union bound, with nonzero probability, x is an ε-net.[5]

In turn, ε-nets and ε-approximations, and the likelihood that a random sample of large enough cardinality has these properties, have important applications in machine learning, in the area of probably approximately correct learning.[13] In computational geometry, they have been applied to range searching,[11] derandomization,[14] and approximation algorithms.[15][16]

Kozma & Moran (2013) use generalizations of the Sauer–Shelah lemma to prove results in graph theory such as that the number of strong orientations of a given graph is sandwiched between its numbers of connected and 2-edge-connected subgraphs.[6]

References

  1. Lua error in package.lua at line 80: module 'strict' not found..
  2. Lua error in package.lua at line 80: module 'strict' not found..
  3. Lua error in package.lua at line 80: module 'strict' not found..
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found..
  5. 5.0 5.1 5.2 5.3 Lua error in package.lua at line 80: module 'strict' not found..
  6. 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found..
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found..
  8. Lua error in package.lua at line 80: module 'strict' not found.. As cited by Anstee, Rónyai & Sali (2002).
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found..
  10. Lua error in package.lua at line 80: module 'strict' not found..
  11. 11.0 11.1 Lua error in package.lua at line 80: module 'strict' not found..
  12. Lua error in package.lua at line 80: module 'strict' not found..
  13. Lua error in package.lua at line 80: module 'strict' not found..
  14. Lua error in package.lua at line 80: module 'strict' not found..
  15. Lua error in package.lua at line 80: module 'strict' not found..
  16. Lua error in package.lua at line 80: module 'strict' not found..