Shattering
Definition (Restriction of \(\mathcal{H}\) to \(S\)) Let \(\mathcal{H}\) be a class of functions from \(\mathcal{X}\) to \(\{0,1\}\) and let \(S = \{x_1, \ldots, x_n\} \subset \mathcal{X}\). The restriction of \(\mathcal{H}\) to \(S\) is the set of functions from \(S\) to \(\{0, 1\}\) that can be derived from \(\mathcal{H}\). That is, \[
\mathcal{H}_S = \{(h(x_1), \ldots, h(x_n)): h \in \mathcal{H}\}
\]
Definition (Shattering) A hypothesis class \(\mathcal{H}\) shatters a finite set \(S \subset \mathcal{X}\) if the restriction of \(\mathcal{H}\) to \(S\) is the set of all functions from \(S\) to \(\{0, 1\}\). That is, \(|\mathcal{H}_S| = 2^{|S|}\).