0% found this document useful (0 votes)
58 views49 pages

More Counting

This lecture discusses counting mappings and bijections. It provides examples of defining bijections between configurations and sequences to count the number of possibilities. Specifically, it shows bijections for: counting subsets using binary strings; placing chess pieces without row/column overlap; selecting doughnuts of different types; and choosing non-adjacent books. It also discusses the division rule for counting when a mapping is k-to-1 instead of a bijection.

Uploaded by

Surayya Jabeen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views49 pages

More Counting

This lecture discusses counting mappings and bijections. It provides examples of defining bijections between configurations and sequences to count the number of possibilities. Specifically, it shows bijections for: counting subsets using binary strings; placing chess pieces without row/column overlap; selecting doughnuts of different types; and choosing non-adjacent books. It also discusses the division rule for counting when a mapping is k-to-1 instead of a bijection.

Uploaded by

Surayya Jabeen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

More Counting

A B

… f …

Lecture 16: Nov 9


This Lecture

We will study how to define mappings to count.

There will be many examples shown.

• Bijection rule

• Division rule

• More mapping
Counting Rule: Bijection

If f is a bijection from A to B,
then |A| = |B|

A B

… f …
Power Set

How many subsets of a set S?

P(S) = the power set of S


= the set of all subsets of S

for S = {a, b, c},


P(S) = {, {a}, {b}, {c}, {a,b}, {a,c}, {b,c}, {a,b,c} }

Suppose S has n elements.

How large is the power set of S?


Bijection: Power Set and Binary Strings

S: {s1, s2, s3, s4, s5, … , sn}

We define a bijection between subsets and binary strings

A: the set of all subsets of S


A B
… …
f B: the set of all binary strings of length n

The mapping is defined in the following way:

subset: {s1, s3, s4, … , s n}

string: 1 0 1 1 0 … 1
Bijection: Power Set and Binary Strings

The mapping is defined in the following way:

subset: {s1, s3, s4, … , s n} A B


… …
string: 1 0 1 1 0 … 1 f

This mapping is a bijection, because


 each subset is mapped to a unique binary string, and
 each binary string represents a unique subset.

Therefore, |A| = |B|, and |B| can be computed directly.

So, |n-bit binary strings| = |P(S)|


A Chess Problem

In how many different ways can we place a pawn (p),


a knight (k), and a bishop (b) on a chessboard so that
no two pieces share a row or a column?
A Chess Problem

We define a mapping between configurations to


sequences (r(p), c(p), r(k), c(k), r(b), c(b)),
where r(p), r(k), and r(b) are distinct rows,
and c(p), c(k), and c(b) are distinct columns.

A: the set of the configurations of the 3 pieces


A B
… …
f B: the set of the such sequences of 6 numbers

If we can define a bijection between A and B,


and also calculate |B|, then we can determine |A|.
A Chess Problem

We define a mapping between configurations to


sequences (r(p), c(p), r(k), c(k), r(b), c(b)),
where r(p), r(k), and r(b) are distinct rows,
and c(p), c(k), and c(b) are distinct columns.

(7,6,2,5,5,2)

(2,5) This is a bijection, because:


 each configuration is mapped to a unique sequence

(5,2)  each sequence represents a unique configuration.

So, to count the number of chess configurations,


(7,6)
it is enough to count the number of such sequences.
A Chess Problem

We define a mapping between configurations to


sequences (r(p), c(p), r(k), c(k), r(b), c(b)),
where r(p), r(k), and r(b) are distinct rows,
and c(p), c(k), and c(b) are distinct columns.

Using the generalized product rule,


there are 8 choices of r(p) and c(p),
there are 7 choices of r(k) and c(k),
there are 6 choices of r(b) and c(b).

Thus, total number of configurations


= (8x7x6)2 = 112896.
(7,6,2,5,5,2)
Counting Doughnut Selections

There are five kinds of doughnuts.

How many different ways to select a dozen doughnuts?

00 (none) 000000 00 00
Chocolate Lemon Sugar Glazed Plain

A ::= all selections of a dozen doughnuts

Hint: define a bijection! A B


… …
f
Counting Doughnut Selections

A ::= all selections of a dozen doughnuts

B::= all 16-bit binary strings with exactly four 1’s.

Define a bijection between A and B.

0011000000100100
00 1 1 000000 1 00 1 00
00 (none) 000000 00 00
Chocolate Lemon Sugar Glazed Plain

Each doughnut is represented by a 0,


and four 1’s are used to separate five types of doughnuts.
Counting Doughnut Selections

c chocolate, l lemon, s sugar, g glazed, p plain


maps to
a bijection

0c10l10s10g10p
A ::= all selections of a dozen doughnuts

B::= all 16-bit binary strings with exactly four 1’s.

A B
Choosing Non-Adjacent Books

There are 20 books arranged in a row on a shelf.

How many ways to choose 6 of these books so that


no two adjacent books are selected?

A ::= all selections of 6 non-adjacent books from 20 books

Hint: define a bijection! A B


… …
f
Choosing Non-Adjacent Books

A ::= all selections of 6 non-adjacent books from 20 books

B::= all 15-bit binary strings with exactly six 1’s.

Map each zero to a non-chosen book, each of the first five 1’s to a chosen
book followed by a non-chosen book, and the last 1 to a chosen book.

This is a bijection, because:


 each selection maps to a unique binary string.
 each binary string is mapped by a unique selection.
Choosing Non-Adjacent Books

A ::= all selections of 6 non-adjacent books from 20 books

B::= all 15-bit binary strings with exactly six 1’s.

A B
In-Class Exercise

for i=1 to n do
for j=1 to i do
for k=1 to j do
printf(“hello world\n”);

How many “hello world” will this program print?


In-Class Exercise

for i=1 to n do
for j=1 to i do
for k=1 to j do
printf(“hello world\n”);

There are n possible positions for the i,j,k.

1 2 3 4 5 … n

Imagine there are n-1 separators for the n numbers.

If i=4, j=2, k=2, then there are two balls in 2 and one ball in 4.
In-Class Exercise

for i=1 to n do
for j=1 to i do
for k=1 to j do
printf(“hello world\n”);

There are n possible positions for the i,j,k.

1 2 3 4 5 … n

There is a bijection between the positions for i,j,k


and the set of strings with n-1 ones and 3 zeros.

So, the program prints “hello world” exactly times.


In-Class Exercises

How many solutions are there to the equation x1+x2+x3+x4=10,


where x1,x2,x3,x4 are nonnegative integers?

Think of this as distributing 10 points amongst 4 variables.

x1 x2 x3 x4

0 0 0 0 0 0 0 0 0 0

Suppose x1=3, x2=5, x3=2, x4=0,

it corresponds to inserting 3 separations as above.


In-Class Exercises

How many solutions are there to the equation x1+x2+x3+x4=10,


where x1,x2,x3,x4 are nonnegative integers?

Think of this as distributing 10 points amongst 4 variables.

x1 x2 x3 x4

0 0 0 0 0 0 0 0 0 0

So there is a bijection between the integer solutions and


the set of binary strings with 10 zeros and 3 ones.

So, the are exactly integer solutions.


In-Class Exercises

How many integer solutions to x1+x2+x3+x4=10 if each xi>=1?

Method 1: Define a mapping directly,


using the idea of “non-adjacent” books.

Method 2: Set xi=yi+1.


So the equation becomes y1+y2+y3+y4=6,
where each yi is a non-negative integer.
Therefore we can apply the previous result,
and conclude that the answer is
This Lecture

• Bijection rule

• Division rule

• More mapping
Division Rule

if function from A to B is k-to-1,


then A k B
(generalizes the Bijection Rule)
Example 3: Two Pairs

This is something we have encountered before when we counted poker hands.

Double
Count!

A: the set of two pairs

B: the set of sequences which satisfy (1)-(6).

What we did was to show that the mapping from A to B is 1-to-2,

and thus conclude that 2|A| = |B|. Then we compute |B| and then |A|. 25
Another Chess Problem

In how many different ways can you place


two identical rooks on a chessboard so that
they do not share a row or column?
Another Chess Problem

We define a mapping between configurations


to sequences (r(1), c(1), r(2), c(2)),
where r(1) and r(2) are distinct rows,
and c(1) and c(2) are distinct columns.

A ::= all sequences (r(1),c(1),r(2),c(2)) with r(1) ≠ r(2) and c(1) ≠ c(2)

B::= all valid rook configurations

(1,1,8,8) and (8,8,1,1) maps


to the same configuration.

The mapping is a 2-to-1 mapping.


Another Chess Problem

A ::= all sequences (r(1),c(1),r(2),c(2)) with r(1) ≠ r(2) and c(1) ≠ c(2)

B::= all valid rook configurations

The mapping is a 2-to-1 mapping.

Using the generalized product rule to count |A|,


there are 8 choices of r(1) and c(1),
there are 7 choices of r(2) and c(2),
and so |A| = 8x8x7x7 = 3136.

Thus, total number of configurations


|B| = |A|/2 = 3136/2 = 1568.
Round Table

How many ways can we seat n different people at a round table?

Two seatings are considered equivalent if one


can be obtained from the other by rotation.

equivalent
Round Table

A ::= all the permutations of the people

B::= all possible seating arrangements at the round table

Map each permutation in set A to a circular seating arrangement


in set B by following the natural order in the permutation.
Round Table

A ::= all the permutations of the people

B::= all possible seating arrangements at the round table

This mapping is an n-to-1 mapping.

Thus, total number of seating arrangements


|B| = |A|/n = n!/n = (n-1)!
Counting Subsets

Now we can use the division rule to compute more formally.

How many size 4 subsets of {1,2,…,13}?

Let A::= permutations of {1,2,…,13}


B::= size 4 subsets

map a1 a2 a3 a4 a5… a12 a13 to {a1,a2 ,a3, a4}

(that is, take the first k elements from the permutation)

How many permutations are mapped to the same subset??


32
Counting Subsets

map a1 a2 a3 a4 a5… a12 a13 to {a1,a2 ,a3 , a4}

a2 a4 a3 a1 a5 … a12 a13 also maps to {a1,a2 ,a3, a4}

as does a2 a4 a3 a1 a13 a12 … a5

4! 9!

Any ordering of the first four elements (4! of them),


and also any ordering of the last nine elements (9! of them)
will give the same subset.

So this mapping 4!9!-to-1


is
33
Counting Subsets

Let A::= permutations of {1,2,…,13}


B::= size 4 subsets

13!  A  4 !9! B
13  13!
So number of 4 element subsets is
  ::
4 4!9!

Number of m element subsets of an n element set is

n  n!
  ::
m m !(n  m)!
MISSISSIPPI

How many ways to rearrange the letters in the word “MISSISSIPPI”?

Let A be the set of all permutations of n letters.


B be the set of all different words by rearranging “MISSISSIPPI”.

How many permutations are mapped to the same word?

4! possible ways to rearrange the S giving the same word

MISSISSIPPI 4! possible ways to rearrange the I giving the same word

2! possible ways to rearrange the P giving the same word

The mapping is 4!4!2!-to-1, and so there are 13!/4!4!2! different words.


Example: 20 Mile Walk

I’m planning a 20-mile walk, which should include 5 northward miles, 5


eastward miles, 5 southward miles, and 5 westward miles.

How many different walks are possible?

There is a bijection between such walks and sequences with 5 N’s, 5 E’s, 5
S’s, and 5 W’s.

The number of such sequences is equal to the number of rearrangements:


20!
5!5!5!5!
Exercises

What is the coefficient of x7y9z5 in (x+y+z)21?

There are 12 people. How many ways to divide them into 3 teams, each
team with 4 people?

37
This Lecture

• Bijection rule

• Division rule

• More mapping
Parenthesis

How many valid ways to add n pairs of parentheses?

E.g. There are 5 valid ways to add 3 pairs of parentheses.

((())) (()()) (())() ()(()) ()()()

Let rn be the number of ways to add n pairs of parentheses.

A pairing is valid if and only if there are at least as many


open parentheses than close parentheses from the left.
Monotone Path

A monotone path from (0,0) to (n,n) is a path consist of “right"


moves (x-coordinate increase by 1) and “up" moves (y-coordinate
increase by 1), starting at (0,0) and ending at (n,n).

How many possible monotone paths from (0,0) to (n,n)?

We can map a “right” move to an “x” and a “up” move to a “y”.


There is a bijection between monotone paths and words with n x’s and n y’s.
And so the answer is just
40
Monotone Path

We say such a path “lower-right" monotone path if all of the


points (xi,yi) on the path has xi >= yi.

lower-right monotone NOT lower-right monotone

How many possible lower right monotone paths from (0,0) to (n,n)?

41
Monotone Path

How many possible lower right monotone paths from (0,0) to (n,n)?

We can still map a “right” move to an “x” and a “up” move to a “y”.
There is a bijection between (A) lower right monotone paths and
(B) words with n x’s and n y’s, with the additional constraint that
no initial segment of the string has more Y's than X's.
There is a bijection, but both sets look difficult to count.
42
Mountain Ranges

How many “mountain ranges” can you form with n upstrokes


and n downstrokes that all stay above the original line?

/\
/\ /\ /\/\ / \
/\/\/\, /\/ \, / \/\, / \, / \

We do not know how to solve these three problems yet, but


we can show that all these three problems have the same answer,
by showing that there are bijections between these sets.
Parenthesis and Monotone Paths

A pairing is valid if and only if there are at least as many


open parentheses than close parentheses from the left.

(()()()) ()()()()

xxyxyxyy xyxyxyxy

We can map a “(” to an “x” and a “)” move to a “y”.


There is a bijection between (A) valid pairings and
(B) words with n x’s and n y’s, with the additional constraint that
no initial segment of the string has more Y's than X's.
In slide 19, we have seen that there is a bijection between (B)
and the set of lower right monotone paths, so there is a bijection
between (A) and the set of lower right monotone paths. 44
Parenthesis and Monotone Paths

A pairing is valid if and only if there are at least as many


open parentheses than close parentheses from the left.

A monotone path is “lower-right” if and only if there are at


least as many right moves than up moves from the starting point.

(()()()) ()()()()

So there is a bijection between these two sets by each open


parenthesis with a right move and a close parenthesis by an up move. 45
Monotone Paths and Mountain Ranges

By “rotating” the images, we see that a path not crossing the diagonal
is just the same as a mountain not crossing the horizontal line.

So there is a bijection between them by mapping “right” to “up” and “up” to “down”
Parenthesis, Monotone Paths and Mountain Ranges

Now we know that these three sets are of equal size,

although we don’t know the size.

It turns out that the answer is exactly

This is called the nth Catalan number,

and has applications in many other places as well.

We will not compute it in the lecture,

but will do so in the advanced lecture about counting.


Mapping Between Infinite Sets (Optional)

How to compare the size of two infinite sets?

Cantor proposed an elegant defintion:


Two infinite sets are “equal” if there is a bijection between them.

Using this definition, it can be shown that:

• The set of positive integers = the set of integers

• The set of integers = the set of rational numbers

• The set of integers ≠ the set of real numbers


Quick Summary

Counting by mapping is a very useful technique.

It is also a powerful technique to solve more complicated problems.

The basic examples usually map a set into a properly defined binary strings.

Then we see how to generalize this approach by considering k-to-1 functions.

Finally we see the mapping between more complicated sets.

You might also like