combinatorial enumeration: theory and practice · combinatorial enumeration: theory and practice...

46
Subsets Permutations Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

Upload: others

Post on 23-Jul-2020

65 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

Combinatorial Enumeration: Theory and Practice

Gordon Royle

Semester 1, 2004

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 2: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

k-subsets

For many applications we wish to only consider subsets of a fixedsize — the k-subsets of an n-set.

There are two common orderings used to list k-subsets, shown herefor 2-subsets of a 5-set.

I Lexicographic

12, 13, 14, 15, 23, 24, 25, 34, 35, 45

I Co-lexicographic

12, 13, 23, 14, 24, 34, 15, 25, 35, 45

Note: Here we are using 12 as shorthand for {1, 2}.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 3: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Enumeration

TheoremThe number of k-subsets of an n-set is given by the binomialcoefficient (

n

k

)=

n!k!(n− k)!

.

Proof.The number of sequences of k distinct elements from an n-set is

n(n− 1)(n− 2) · · · (n− k + 1).

Every k-subset will occur in k! different orders in this list ofsequences, and so the total number of k-subsets is

n(n− 1)(n− 2) · · · (n− k + 1)k!

.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 4: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Binomial Identities

A significant area of “classical” combinatorics is the discovery andproof of the many binomial identities relating appropriate binomialcoefficients.

For example, (n

k − 1

)+

(n

k

)=

(n + 1

k

)

Many of these identities can be proved in two ways - an algebraicproof or a combinatorial proof.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 5: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Algebraic Proofs

Algebraic proofs simply involve manipulation of the formulas to getthe stated identity. (

n

k − 1

)+

(n

k

)=

n!(n− (k − 1))!(k − 1)!

+n!

(n− k)!k!

=kn! + (n + 1− k)n!

(n + 1− k)!k!

=(

n + 1k

)

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 6: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Combinatorial Proofs

A combinatorial proof aims to explain the identity, rather thansimply verify it.

Suppose there are n + 1 objects, one of which is “distinguished”from the others. Any k-subset of this set either

I contains the distinguished object, or

I doesn’t contain the distinguished object.

There are(

nk−1

)sets in the first category and

(nk

)in the second

category and so the stated identity holds.

A combinatorial proof is usually viewed as conveying moreinformation than an algebraic proof, but there are many situationswhere only an algebraic proof is known.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 7: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Exercise

Find a combinatorial proof of the following identity:

n∑k=0

(n

k

)2

=(

2n

n

)Hint: Consider the 2n objects as consisting of two groups of nobjects.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 8: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

The odometer principle

Lexicographic order is related to the “odometer” principle used in acar odometer: increase the least significant digit if possible, andotherwise roll that digit over to 0 and increase the next leastsignificant digit.

1 4 3 2 21 4 3 2 3

2 3 7 9 92 3 8 0 0

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 9: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Representing a k-set

We will represent a k-set T by a sequence (or array) listing itselements in increasing order

t1 < t2 < . . . < tk,

which we can view as a sort of k-digit odometer

t1 t2 · · · tk

with strange properties.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 10: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Example: 3-subsets of a 7-set

This “odometer” starts at the smallest possible value

1 2 3

because no digits can be repeated.

Using the odometer principle is easy for the first few successors:

1 2 41 2 51 2 61 2 7

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 11: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Successor of {1, 2, 7}

We cannot increase the last position any more, so we

I propagate the increase one position to the left, and

I put the lowest possible value in the last position.

1 2 71 3 4

If the next position over is already in its highest possible position,then the increase must be propagated further to the left:

1 6 72 3 4

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 12: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

In GAP

nextLex := function(T,n,k) local S,pos,i;pos := k;while (pos > 0) and (T[pos] = n+pos-k) dopos := pos-1;

od;if (pos = 0) thenS := [1..k];

elseS := T;S[pos] := S[pos]+1;for i in [pos+1..k] doS[i] := S[i-1]+1;

od;fi;return S;

end;

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 13: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

RankingA ranking function is much less pleasant to calculate for thisordering — for example, consider finding the rank of {2, 5, 7} inthe ordering of 3-subsets of a 7-set.This equivalent to finding the number of sets that occur before{2, 5, 7} in the ordering, which are the sets of the form:

1 ? ?

2 3 ?

2 4 ?

2 5 6

The key to counting these is to observe that the number of eachtype is just a binomial coefficient, and in fact we have(

62

)+

(41

)+

(31

)+ 1 = 23.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 14: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Ranking (cont.)

The number of subsets before

t1 t2 · · · tk

is the sum of the numbers of subsets that

I Start with u1, where u1 < t1, or

I Start with t1u2 where u2 < t2, or

I Start with t1t2u3 where u3 < t3, or

I · · ·I Start with t1t2 · · · tk−1uk where uk < tk.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 15: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Ranking (cont.)

The number of subsets whose i lowest values are

t1 t2 . . . ti

is (n− tik − i

)because the remaining positions determine a k − i subset chosenfrom a set of size n− ti.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 16: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Ranking (cont.)

So, the number of subsets that start with u1, where u1 < t1 is

t1−1∑j=1

(n− j

k − 1

)with the index j running over all the feasible values for u1.Similarly the number of subsets that start with t1u2 is

t2−1∑j=t1+1

(n− j

k − 2

)again with the index j running over all possible values for u2

(notice that the lowest possible value for u2 is t1 + 1).

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 17: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

The final expression

The rank of the subset {t1, t2, . . . , tk} is

k∑i=1

ti−1∑j=ti−1+1

(n− j

k − i

)where t0 = 0.

(This is the kind of equation that you derive once, then program ina reusable manner and hope you never have to derive again!)

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 18: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Colexicographic order

The other ordering on k-sets that is common is calledcolexicographic order. To determine this order, we represent ak-set by a sequence t1, t2, . . ., tk with the property that

t1 > t2 > · · · > tk.

Set Representative Set Representative

{1, 2, 3} 321 {1, 2, 4} 421{1, 2, 5} 521 {1, 3, 4} 431{1, 3, 5} 531 {1, 4, 5} 541{2, 3, 4} 432 {2, 3, 5} 532{2, 4, 5} 542 {3, 4, 5} 543

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 19: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Colexicographic order (cont)

Colexicographic (colex) order is then defined by listing theserepresentatives in normal lexicographic order:

321, 421, 431, 432, 521, 531, 532, 541, 542, 543

One of the important properties of colex order is that the orderingdoes not depend on n. More precisely, the colex ordering for thek-subsets of an n-set is the leading portion of the colex orderingfor the k-subsets of an (n + 1)-set.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 20: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Colex successors

It is quite easy to find a successor function for colex order.

To find the successor of

T = {t1, t2, . . . , tk}

do the following steps:

I Find the largest index i such that ti−1 6= ti + 1.

I Increase ti by 1.

I Replace ti+1, . . . , tk by k − i, . . . , 2, 1

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 21: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Example successor

To find the successor of [8, 5, 4, 3, 2] in colex order.

I The specified index is i = 2

[8, 5, 4, 3, 2]

I Increase ti by 1[8, 6, 4, 3, 2]

I Replace t3 . . . t5 with 3, 2, 1

[8, 6, 3, 2, 1]

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 22: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Colex rank

How many k-sets occur before T = {t1, t2, . . . , tk} in the colexorder? Once again we can divide them into k groups:

I Those starting u1 where u1 < t1, or

I Those starting t1 u2 where u2 < t2, or

I Those starting t1 t2 u3 where u3 < t3, or

I · · ·I Those starting t1 t2 · · · tk−1 uk where uk < tk.

This sum is much easier to calculate than the corresponding sumfor lexicographic order.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 23: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

Colex rank (cont.)

The number of subsets whose largest element is less than t1 issimply the number of k subsets of the set {1, 2, . . . , t1 − 1}, whichis (

t1 − 1k

).

Similarly, those starting with t1 but then having no other elementlarger than t2 is (

t2 − 1k − 1

).

Continuing in this fashion we get

r({t1, t1, . . . , tk}) =k∑

i=1

(ti − 1

k − (i− 1)

).

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 24: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

CountingGeneratingRanking

In GAP

coLexRank := function(T,k) local rk,i;

rk := 0;for i in [1..k] do

rk := rk + Binomial(T[i]-1,k-(i-1));od;

return rk;

end;

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 25: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Permutations

A permutation is defined to be a one-to-one mapping

π : {1, . . . , n} → {1, . . . , n}.

We can express a permutation by listing the images of eachelement of the domain under this mapping:(

1 2 · · · nπ(1) π(2) · · · π(n)

)It should be clear that the number of permutations of degree n is

n(n− 1)(n− 2) · · · 1 = n!.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 26: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Permutations of degree 4

(1 2 3 41 2 3 4

) (1 2 3 41 2 4 3

) (1 2 3 41 3 2 4

) (1 2 3 41 3 4 2

)(

1 2 3 41 4 2 3

) (1 2 3 41 4 3 2

) (1 2 3 42 1 3 4

) (1 2 3 42 1 4 3

)(

1 2 3 42 3 1 4

) (1 2 3 42 3 4 1

) (1 2 3 42 4 1 3

) (1 2 3 42 4 3 1

)(

1 2 3 43 1 2 4

) (1 2 3 43 1 4 2

) (1 2 3 43 2 1 4

) (1 2 3 43 2 4 1

)(

1 2 3 43 4 1 2

) (1 2 3 43 4 2 1

) (1 2 3 44 1 2 3

) (1 2 3 44 1 3 2

)(

1 2 3 44 2 1 3

) (1 2 3 44 2 3 1

) (1 2 3 44 3 1 2

) (1 2 3 44 3 2 1

)Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 27: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Image notation

This notation can be condensed a bit by dropping the top line, andsimply giving the list of images in order:

[π(1), π(2), . . . , π(n)].

So the 24 permutations of degree 4 are:

[1, 2, 3, 4] [1, 2, 4, 3] [1, 3, 2, 4] [1, 3, 4, 2] [1, 4, 2, 3] [1, 4, 3, 2]

[2, 1, 3, 4] [2, 1, 4, 3] [2, 3, 1, 4] [2, 3, 4, 1] [2, 4, 1, 3] [2, 4, 3, 1]

[3, 1, 2, 4] [3, 1, 4, 2] [3, 2, 1, 4] [3, 2, 4, 1] [3, 4, 1, 2] [3, 4, 2, 1]

[4, 1, 2, 3] [4, 1, 3, 2] [4, 2, 1, 3] [4, 2, 3, 1] [4, 3, 1, 2] [4, 3, 2, 1]

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 28: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Cycle NotationAnother notation that is frequently used is cycle notation. Given apermutation π consider the sequence of values

1, π(1), π2(1) = π(π(1)), π3(1), . . .

obtained by repeatedly applying the mapping π.

This sequence must eventually return to 1 and the sequence ofvalues obtained is called a cycle of the permutation.

For example, if π1 = [4, 3, 1, 2] then we get

1 → 4 → 2 → 3 → 1

which is expressed more succinctly as

(1, 4, 2, 3).

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 29: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Cycle Notation (cont.)

The cycle that starts with 1 may not include all the elements of{1, 2, 3, 4}, but by starting with an unused element we can obtainanother cycle. For example, if π2 = [2, 1, 4, 3], then both (1, 2) and(3, 4) are cycles of π2.We can represent a permutation completely by listing all its cycles:

π1 = (1, 4, 2, 3) π2 = (1, 2)(3, 4).

This representation is not unique, because we could equally wellsay that

π1 = (4, 2, 3, 1)

but by convention we express each cycle by putting its smallestelement first.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 30: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Permutations of degree 4

In cycle notation, the 24 permutations of degree 4 are:

(1)(2)(3)(4) (1)(2)(3, 4) (1)(2, 3)(4) (1)(2, 3, 4)(1)(2, 4, 3) (1)(2, 4)(3) (1, 2)(3)(4) (1, 2)(3, 4)(1, 2, 3)(4) (1, 2, 3, 4) (1, 2, 4, 3) (1, 2, 4)(3)(1, 3, 2)(4) (1, 3, 4, 2) (1, 3)(2)(4) (1, 3, 4)(2)(1, 3)(2, 4) (1, 3, 2, 4) (1, 4, 3, 2) (1, 4, 2)(3)(1, 4, 3)(2) (1, 4)(2)(3) (1, 4, 2, 3) (1, 4)(2, 3)

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 31: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Fixed points

Cycles of length 1 are called fixed points and are usually omittedfrom the cycle notation.

(3, 4) (2, 3) (2, 3, 4)(2, 4, 3) (2, 4) (1, 2) (1, 2)(3, 4)(1, 2, 3) (1, 2, 3, 4) (1, 2, 4, 3) (1, 2, 4)(1, 3, 2) (1, 3, 4, 2) (1, 3) (1, 3, 4)(1, 3)(2, 4) (1, 3, 2, 4) (1, 4, 3, 2) (1, 4, 2)(1, 4, 3) (1, 4) (1, 4, 2, 3) (1, 4)(2, 3)

It is not very convenient having a blank symbol for the identitymapping, so we usually use either () or a symbol such as e or id.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 32: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Lexicographic Order

The order used above for the permutations was, once again,lexicographic order on the permutations expressed in imagenotation.

It is possible to define a successor function for permutations inlexicographic order, but the details are surprisingly complicated, soinstead we will just specify a pair of ranking/unranking functions.

These hinge on the observation that the permutations with a fixedvalue of π(1), say π(1) = a, all have the form

[a, π(2), π(3), . . . , π(n)]

where [π(2), π(3), . . . , π(n)] is a permutation of {1, 2, . . . , n}\{a}.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 33: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Ranking

Therefore the rank of π is equal to the sum of the following twonumbers

I (a− 1)(n− 1)! for the permutations that have π(1) < a, and

I The rank of [π(2), π(3), . . . , π(n)] within the list ofpermutations of {1, 2, . . . , n}\{a}.

If we form π′ from [π(2), π(3), . . . , π(n)] by subtracting 1 fromevery value greater than a, then π′ is a permutation of{1, 2, . . . , n− 1} and its (normal) rank is the second value above.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 34: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Example

The rank of the permutation [3, 4, 1, 2, 5] is equal to

I 4!× 2 for the permutations with π(1) = 1, 2, plus

I The rank of [4, 1, 2, 5] within the permutations of {1, 2, 4, 5}which is equal to the rank of [4− 1, 1, 2, 5− 1] = [3, 1, 2, 4].

Proceeding recursively we see that:

r([3, 4, 1, 2, 5] = 48 + r([3, 1, 2, 4]= 48 + 12 + r([1, 2, 3])= 60.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 35: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Factorial Notation

Unranking a permutation depends on an interesting representationof a number known as the factorial representation. A normaldecimal number, such as 5476 is a compressed positional notationfor

1000s 100s 10s 1s5 4 7 6

Rather than using the values 100, 101, 102 and so on as the valuesassociated with each position, we use 1!, 2!, 3!, . . ..

7! 6! 5! 4! 3! 2! 1!1 0 3 3 0 2 0

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 36: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Uniqueness

If each “digit” di in a factorial representation

· · · d3d2d1

satisfies the condition that di ≤ i, then every natural number has aunique factorial representation!

This is a relatively straightforward but interesting proof, in that itrequires us to show

I Every natural number has some factorial representation, and

I No natural number has more than one factorialrepresentation.

Exercise: Prove this.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 37: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Unranking

In order to unrank the integer r, we first find its factorialrepresentation. For example

60 = 0× 5! + 2× 4! + 2× 3! + 0× 2! + 0× 1! = 2200.

The first digit d4 = 2 tells us that π(1) = 3, and that thepermutation [π(2), π(3), π(4), π(5)] has rank 60− 48 = 12 amongthe permutations of {1, 2, 4, 5}.

We can (recursively) calculate the permutation with rank 12among the permutations of {1, 2, 3, 4} and then transform it to apermutation of {1, 2, 4, 5} by incrementing each value that isgreater than or equal to 3.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 38: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Fixed Points

A classic result in combinatorics is the enumeration ofderangments — permutations with no fixed points.

For n = 4 there are

I 9 derangements

I 8 permutations with 1 fixed point

I 6 permutations with 2 fixed points

I 1 permutation with 4 fixed points

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 39: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Inclusion/Exclusion

Calculating the number of derangements uses an importantcounting technique called the principle of inclusion/exclusion,which we illustrate with a simple example:

I In a high-school class of 25 children, there are 10 who playcricket, 14 who play football and 6 who play both. How manychildren play neither sport?

4 6 8

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 40: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

We can calculate the number by calculating separately the numberof cricket-but-not-football players (10− 6), football-but-not-cricketplayers (14− 6) and both-cricket-and-football players (6) andsubtracting these from the total.

7 = 25− (10− 6)− (14− 6)− 6= 25− (10 + 14) + 6

The re-arranged version on the second line shows that we couldhave obtained the same result by starting with the total number ofstudents, subtracting the football players and the cricket players,and then adding back the number who play both.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 41: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Inclusion/Exclusion for two or three sets

If A and B are subsets of X, then the number of elements that arenot in either A or B is

|X| − (|A|+ |B|) + (|A ∩B|).

If A, B and C are subsets of X, then the number of elements ofX that are not in any of A, B or C is

|X|−(|A|+|B|+|C|)+(|A∩B|+|A∩C|+|B∩C|)−(|A∩B∩C|).

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 42: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Principle of Inclusion/Exclusion

If A1, A2, . . ., An are all subsets of a set X then for any index setI ⊆ X, define

AI =⋂i∈I

Ai

(where we take A∅ = X).

Principle of Inclusion/ExclusionThe number of elements of X that do not belong to any of thesets A1, A2, . . ., An is given by∑

I⊆{1,2,...,n}

(−1)|I||AI |.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 43: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Derangements of degree 4

To count the derangements of degree 4, let X be the set of allpermutations of degree 4, and for 1 ≤ i ≤ 4, let Ai be the set ofpermutations that fix i. Then the number of permutations that fixno points is equal to:

24− (6 + 6 + 6 + 6) + (2 + 2 + 2 + 2 + 2 + 2)− (1 + 1 + 1 + 1) + 1

because

|Ai| = 6|Ai ∩Aj | = 2

|Ai ∩Aj ∩Ak| = 1

for any choices of distinct i,j and k.

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 44: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

Derangements

It is immediate that the number of derangements of degree n is

i=n∑i=0

(−1)i

(n

i

)(n− i)!

Expanding the binomial coefficient, this reduces to

i=n∑i=0

(−1)i n!i!

= n!i=n∑i=0

(−1)i

i!.

Is this a good answer?

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 45: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

An infinite seriesAs n! is the total number of permutations we see that the fractionof them that are derangements is found by summing the n + 1leading terms of the series

10!− 1

1+

12− 1

6+

124

− 1120

+1

720+ · · ·

This series converges quickly:

n Fraction

2 0.50003 0.33334 0.37505 0.36676 0.36817 0.36798 0.3679

Gordon Royle Combinatorial Enumeration: Theory and Practice

Page 46: Combinatorial Enumeration: Theory and Practice · Combinatorial Enumeration: Theory and Practice Gordon Royle Semester 1, 2004 Gordon Royle Combinatorial Enumeration: Theory and Practice

SubsetsPermutations

IntroductionGenerationDerangements

A good answer

Recall that the Taylor series of a suitably differentiable function is

f(x) ≈ f(0) + xf ′(0) +x2

2!f ′′(0) +

x3

3!f ′′′(0) + · · ·+ xn

n!f (n)(0).

If we take f(x) = e−x then the derivatives of this function are−e−x, e−x, −e−x, etc, so by putting x = 1, we get

e−1 = 1− 1 +12!− 1

3!+

14!− · · ·

With a little bit more work we get the final result:

TheoremThe number of derangements of degree n is given by the closestinteger to n!/e.

The corresponding sequence is given by OEIS A000166

Gordon Royle Combinatorial Enumeration: Theory and Practice