Combinatorics

Combinatorics


 * // Combinatorics //** is basically another word for "extreme counting"

Usually the secret to solving hard combinatorics problems is to frame the entire solution as the result of one big combination.

However, this is often hard to find and involves a lot of recasting (looking at the problem from a bunch of different perspectives). One thing I would not suggest is trying to get there by adding up bits and pieces - it's enormously time consuming and tends to go nowhere.

__ Classic (and classically worded) Example __ : How many ways can the list of numbers {1, 2, 3, 4, … 15} be broken up into 5 sets?* (including empty ones)

For example, one way to break up into sets would be {1 2 3 4}, {5 6 7 8 9 10}, { }, {11 12 13 14}, {15}

The trick: Dividers!

Each “}, {“ can be made into one “divider” (denoted by a “ | “) and counted as an object. For instance {1 2 3 4}, {5 6 7 8 9 10}, { }, {11 12 13 14}, {15} can be //recasted// as  {1 2 3 4 | 5 6 7 8 9 10 | | 11 12 13 14 | 15 }

Counting the 4 new dividers and each of the numbers (and not the edge curly brackets, since they don’t move), there are now 19 rearrangeable “objects” between the curly brackets.

Now, finding the number of ways to break the numbers up into sets becomes a matter of finding how many different ways you can place the dividers.

One trick here would be to make all 19 objects into blank "spots" {X X X X X X X X X X X X X X X X X X X} And then you can //__pick__// 4 out of the 19 and magically turn them into dividers. {X X X X X X | X X X X | X | | X X X X X} The rest become numbers again, and voila! Unique arrangement. {1 2 3 4 5 6 | 7 8 9 10 | | 11 12 13 14 15}

What this move does is recast the problem as a matter of //simply picking 4 objects to turn into dividers//. The beauty of this is that the number of ways you can apply this maneuver (picking 4 out of 19) and get a unique arrangement can be expressed as a single operation,

 [19 Choose 4, or 19C4]

Which comes out to **3876** ways to break up the numbers into sets.

*For mathletes unfamiliar with "set notation", don't worry about it. All you need to know here is that a "set" is a bunch of stuff/numbers between { }'s and an "empty set" has nothing inside of it, like this: "{ }".