November 11

Lecture Overview

Introduction to Combinatorics, specifically today I talk about enumerative combinatorics. This is MCS 421.

Combinatorics is the study of the existence and enumeration of finite structures.

Historically, combinatorial problems were studied purely for amusement or for their aesthetic appeal. Since the sixties, there has been a tremendous growth in combinatorics because of its application to computer science. Combinatorics is concerned with arrangements of the objects of a set into patterns satisfying specified rules. There are two major focuses:

In combinatorics, we build up tools to help answer questions of this type. Here are a few of the most basic.

Here are a few examples

Sometimes it is not clear how these problems actually have applications. For example, the 36-officers problem (and its extensions where \(6\) is replaced by higher numbers called block designs) has important applications in designing statistical experiments. Other applications come from analysis of algorithms. For example, you want to determine the probability that an input to an algorithm will cause some specific if branch to be taken (e.g. because the if branch is really long and will impact the runtime). Probability (of finite things) is just counting, so we want to count how many of the inputs to the algorithm cause the if branch to be taken. This is exactly counting things under some restriction, and the tools developed for e.g. the rook problem also apply to analyzing the algorithm. (Both are counting some stuff under some given restrictions.)

Exercises