Extremal combinatorics studies how large or how small a collection of finite objects (numbers, graphs, vectors, sets, etc.) can be, if it has to satisfy certain restrictions.

Extremal combinatorics, and one of it's most powerful tools, the probabilistic method is used for a variety of purposes, including derandomization of algorithms.