07: the pigeonhole principle
TRANSCRIPT
![Page 1: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/1.jpg)
The Pigeonhole Principle
![Page 2: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/2.jpg)
The pigeonhole principle is the following:
If m objects are placed into n bins, where m > n, then some bin contains at least two objects.
(We proved this in Lecture #02)
![Page 3: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/3.jpg)
Why This Matters
● The pigeonhole principle can be used to show a surprising number of results must be true because they are “too big to fail.”
● Given a large enough number of objects with a bounded number of properties, eventually at least two of them will share a property.
● The applications are extremely deep and thought-provoking.
![Page 4: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/4.jpg)
Using the Pigeonhole Principle
● To use the pigeonhole principle:● Find the m objects to distribute.● Find the n < m buckets into which to distribute
them.● Conclude by the pigeonhole principle that there
must be two objects in some bucket.
● The details of how to proceeds from there are specific to the particular proof you're doing.
![Page 5: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/5.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
![Page 6: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/6.jpg)
111
1111111
11111111111
111111111111111
1111111111111111111
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
There are 10 objects here.
![Page 7: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/7.jpg)
111
1111111
11111111111
111111111111111
1111111111111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
![Page 8: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/8.jpg)
111111
111111111
1111111111111
11111111111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
![Page 9: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/9.jpg)
1
1111111
11111111111
111111111111111
1111111111111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 10: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/10.jpg)
1
1111111
11111111111
111111111111111
1111111111111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 11: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/11.jpg)
1
111
111111111
1111111111111
11111111111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 12: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/12.jpg)
1
111
1111
11111
1111111111111
11111111111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 13: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/13.jpg)
1
111
1111
11111
111111
111111111111111
1111111111111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 14: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/14.jpg)
1
111
1111
11111
111111
1111111
11111111111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 15: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/15.jpg)
1
111
1111
11111
111111
1111111
11111111
1111111111111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 16: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/16.jpg)
1
111
1111
11111
111111
1111111
11111111
111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 17: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/17.jpg)
1
111
1111
11111
111111
1111111
11111111
111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 18: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/18.jpg)
1
111
1111
11111
111111
1111111
11111111
111111111
1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
![Page 19: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/19.jpg)
1
111
1111
11111
111111
1111111
11111111
111111111
1111111111-1111111111
012345678
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
11
1111111111
1111111110
![Page 20: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/20.jpg)
Proof Idea
● For any natural number n ≥ 2 generate the numbers 1, 11, 111, … until n + 1 numbers are generated.
● There are n possible remainders modulo n, so two of these numbers have the same remainder.
● Their difference is a multiple of n.● Their difference consists of just 1s and 0s.
![Page 21: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/21.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
![Page 22: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/22.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 23: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/23.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 24: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/24.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 25: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/25.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 26: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/26.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 27: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/27.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 28: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/28.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 29: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/29.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 30: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/30.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 31: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/31.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
![Page 32: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/32.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 33: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/33.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 34: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/34.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 35: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/35.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 36: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/36.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 37: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/37.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 38: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/38.jpg)
Theorem: For any natural number n, there is a nonzero multiple of n whose digits are all 0s and 1s.
Proof: For any k in the range 0 ≤ ∈ℕ k ≤ n, consider Sk defined as
Now, consider the remainders of the Sk's modulo n. Since there are
n + 1 Sk's and n remainders modulo n, by the pigeonhole principle there
must be at least two Sk's that leave the same remainder modulo n. Let
two of these Sk's be S
x and S
y, with x > y, and let the remainder be r.
Since Sx ≡
n r, there exists q
x such that ∈ℤ S
x = nq
x + r. Similarly,
since Sy ≡
n r, there exists q
y such that ∈ℤ S
y = nq
y + r. Then
Sx – S
y = (nq
x + r) – (nq
y + r) = nq
x – nq
y = n(q
x – q
y). Thus S
x – S
y is a
multiple of n. Moreover, we have that
So Sx – S
y is a sum of distinct powers of ten, so its digits are zeros and
ones. Since x > y, we know that x ≥ y + 1 and so the sum is nonzero. Therefore S
x – S
y is a nonzero multiple of n consisting of 0s and 1s. ■
S k=∑i=0
k
10i
n(qx−q y)=S x−S y=∑i=0
x
10i−∑i=0
y
10i= ∑i= y+1
x
10i
![Page 39: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/39.jpg)
Theorem: In any set A of n ≥ 2 integers,there is nonempty subset of A whose sum
is a multiple of n.
![Page 40: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/40.jpg)
3 5 9 11 3 4
0 3 8 17 28 31 35
Theorem: In any set A of n ≥ 2 integers,there is nonempty subset of A whose sum
is a multiple of n.
![Page 41: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/41.jpg)
3 5 9 11 3 4
0 3 8 17 28 31 35
0 1 2 3 4 5
0 38 172831
35
Theorem: In any set A of n ≥ 2 integers,there is nonempty subset of A whose sum
is a multiple of n.
![Page 42: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/42.jpg)
3 5 9 11 3 4
0 3 8 17 28 31 35
0 1 2 3 4 5
0 38 172831
35
Theorem: In any set A of n ≥ 2 integers,there is nonempty subset of A whose sum
is a multiple of n.
![Page 43: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/43.jpg)
3 5 9 11 3 4
0 3 8 17 28 31 35
0 1 2 3 4 5
0 38 172831
35
Theorem: In any set A of n ≥ 2 integers,there is nonempty subset of A whose sum
is a multiple of n.
![Page 44: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/44.jpg)
The Formalization
● Compute the sum of the first 0, first 1, first 2, …, first n elements.● This is a set of n + 1 integers.
● Consider the numbers of remainders modulo n.● There are n of them.
● Therefore, two partial sums must have the same remainder modulo n.
● Their difference is therefore 0 modulo n.● The sum of the elements between these two points
therefore is a multiple of n.
![Page 45: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/45.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
![Page 46: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/46.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
![Page 47: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/47.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
![Page 48: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/48.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 49: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/49.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 50: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/50.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 51: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/51.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 52: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/52.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . ∈ℤ Thus S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 53: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/53.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 54: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/54.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 55: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/55.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 56: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/56.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
![Page 57: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/57.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 58: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/58.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 59: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/59.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 60: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/60.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 61: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/61.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 62: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/62.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 63: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/63.jpg)
Theorem: In any set A of n ≥ 2 integers, there is a nonempty subset of A whose sum is a multiple of n.
Proof: Consider any set A of n ≥ 2 integers. Number those integersa
1, a
2, …, a
n. Now, for each k in the range 0 ≤ k ≤ n, define
Now consider the remainders of the Sk's modulo n. There are n + 1
different Sk's and n different remainders modulo n, so by the pigeonhole
principle, at least two of the Sk's have the same remainder. Choose two
of these terms with the same remainder and label them Sx and S
y, with
x > y, and call the remainder r. Since Sx ≡
n r, there exists some q
y ∈ℤ
such that Sx = r + nq
0, and since S
y ≡
n r, we know that S
y = r + nq
1 for
some q1 . Thus ∈ℤ S
x – S
y = (r + nq
x) – (r + nq
y) = nq
x – nq
y = n(q
x – q
y),
so Sx – S
y is a multiple of n. Moreover, we know that
Since x > y, we know x ≥ y + 1. Consequently, this sum is nonempty. Thus the set R = { a
i | y + 1 ≤ i ≤ x } is a nonempty set whose sum is a
multiple of n, as required. ■
S k=∑i=1
k
ai
n(qx−q y)=S x−S y=∑i=1
x
ai−∑i=1
y
ai= ∑i= y+1
x
ai
![Page 64: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/64.jpg)
The Limits of Data Compression
![Page 65: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/65.jpg)
The Pigeonhole Principle and Functions
● Consider a function f : A → B for finite sets A and B.
● If |A| > |B|, then by the pigeonhole principle some element of B has at least two elements of A that map to it.
● Thus f cannot be injective.
![Page 66: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/66.jpg)
Bitstrings
● A bitstring is a finite sequence of 0s and 1s.● Examples:
● 11011100● 010101010101● 0000● ε (the empty string)
● There are 2n bitstrings of length exactly n.● There are 20 + 21 + … + 2n-1 = 2n – 1 bitstrings of
length less than n.● We proved this by induction earlier in the quarter.
![Page 67: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/67.jpg)
Data Compression
● Inside a computer, all data are represented as sequences of 0s and 1s (bitstrings)
● To transfer data (across a network, on DVDs, on a flash drive, etc.), it is advantageous to try to reduce the number of 0s and 1s before transferring it.
● Most real-world data can be compressed by exploiting redundancies.● Text repeats common patterns (“the”, “and”, etc.)● Bitmap images use similar colors throughout the image.
● Idea: Replace each bitstring with a shorter bitstring that contains all the original information.● This is called lossless data compression.
![Page 68: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/68.jpg)
101010101010101010101010101010
![Page 69: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/69.jpg)
101010101010101010101010101010
1111010
Compress
![Page 70: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/70.jpg)
101010101010101010101010101010
1111010
1111010
Compress
Transmit
![Page 71: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/71.jpg)
101010101010101010101010101010
1111010
1111010
101010101010101010101010101010
Compress
Decompress
Transmit
![Page 72: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/72.jpg)
Lossless Data Compression
● In order to losslessly compress data, we need two functions:● A compression function C, and● A decompression function D.
● These functions must be inverses of one another: D = C-1.● Otherwise, we can't uniquely encode or decode
some bitstring.
● Since C is invertible, C must be a bijection.
![Page 73: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/73.jpg)
A Perfect Compression Function
● Ideally, the compressed version of a bitstring would always be shorter than the original bitstring.
● Question: Can we find a lossless compression algorithm that always compresses a string into a shorter string?
● To handle the issue of the empty string (which can't get any shorter), let's assume we only care about strings of length at least 10.
![Page 74: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/74.jpg)
A Counting Argument
● Let �n be the set of bitstrings of length n, and �<n be the set of bitstrings of length less than n.
● How many bitstrings of length n are there?● Answer: 2n
● How many bitstrings of length less than n are there?● Answer: 20 + 21 + … + 2n – 1 = 2n – 1
● Using our earlier result, by the pigeonhole principle, there cannot be an injective function from �n to �<n.
● Since every bijection is an injection, there is no bijection between �n and �<n.
● There is no perfect compression function!
![Page 75: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/75.jpg)
Why this Result is Interesting
● Our result says that no matter how hard we try, it is impossible to compress every string into a shorter string.
● No matter how clever you are, you cannot write a lossless compression algorithm that always makes strings shorter.
● In practice, only highly redundant data can be compressed.
● The fields of information theory and Kolmogorov complexity explore the limits of compression; if you're interested, go explore!
![Page 76: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/76.jpg)
The Limits of Counterfeit Detection
![Page 77: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/77.jpg)
The Counterfeit Coin Problem
● Given 3n coins, one of which weighs more than the rest, find that coin with at most n weighings on a balance.
11 44
77
22 55
88
33 66
99
![Page 78: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/78.jpg)
The Counterfeit Coin Problem
● Given 3n coins, one of which weighs more than the rest, find that coin with at most n weighings on a balance.
11
44
22
55
33
66
77 88 99
![Page 79: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/79.jpg)
The Counterfeit Coin Problem
● Given 3n coins, one of which weighs more than the rest, find that coin with at most n weighings on a balance.
11
44
22
55
33
66
77 88 99
![Page 80: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/80.jpg)
The Counterfeit Coin Problem
● Given 3n coins, one of which weighs more than the rest, find that coin with at most n weighings on a balance.
11 22
33
![Page 81: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/81.jpg)
The Counterfeit Coin Problem
● Given 3n coins, one of which weighs more than the rest, find that coin with at most n weighings on a balance.
● Question: Can we find the counterfeit coin out of more than 3n coins using just n weighings?
![Page 82: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/82.jpg)
Modeling an Algorithm
● In order to reason about the maximum number of coins, we need to find some way to reason about all possible algorithms for finding the coin.
● Main assumption: The only operation we can perform on the coins is weighing them on the scale.● We can't test their density, give them to the Secret
Service, etc.
● We'll call such an algorithm a comparison-based algorithm, since the only way of distinguishing coins is through comparisons.
![Page 83: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/83.jpg)
D vs E
D F E
D < E
D = E
D > E
G vs H
H I G
G < H
G = H
G > H
A vs B
B C A
A < B
A = B
A > B
ABC vs DEF
ABC < DEF ABC = DEF
ABC > DEFEach internal node is a comparison
node.
Each internal node is a comparison
node.
Each leaf node is an answer node.
Each leaf node is an answer node.
![Page 84: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/84.jpg)
An Algorithm for Six Coins
A vs B
B A
A < B
A = B
A > B
C vs D
D C
C < D C > D
E vs F
F E
E < F E > F
![Page 85: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/85.jpg)
An Algorithm for One Coin
A
![Page 86: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/86.jpg)
Reasoning about Algorithms
● In this setup, every algorithm corresponds to a tree structure consisting of comparisons and answers.
● Each comparison node produces one of three outputs.
● Each answer node immediately ends the algorithm with the answer.
● Reasoning about these structures will tell us about the counterfeit coin problem.
![Page 87: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/87.jpg)
Reasoning about Inputs
● To be precise, we need to reason about the inputs to our algorithm.
● An input is a collection of k coins, exactly one of which is heavier than the rest.● It doesn't matter how much heavier it is; just that it
weighs more than the rest.
● This means that there are exactly k possible inputs to the algorithm – one in which the first coin is counterfeit, one in which the second coin is counterfeit, etc.
![Page 88: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/88.jpg)
A Critical Observation
● Suppose that we have an algorithm for finding which of k coins is counterfeit.
● There must be at least k answer nodes in the tree.● Reasoning from the pigeonhole principle:
● Run the algorithm on all k possible inputs.● Consider the set of counterfeit coins that arrive at each
answer node in the tree.● If there are more coins than answer nodes, there must be
two different coins that arrive at the same answer node.● The algorithm has to be wrong at least one of the two inputs.
![Page 89: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/89.jpg)
How many answer nodescan there be in the tree?
![Page 90: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/90.jpg)
D vs E
D F E
D < E
D = E
D > E
G vs H
H I G
G < H
G = H
G > H
A vs B
B C A
A < B
A = B
A > B
ABC vs DEF
ABC < DEF ABC = DEF
ABC > DEF
![Page 91: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/91.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 92: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/92.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 93: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/93.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 94: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/94.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 95: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/95.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 96: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/96.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 97: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/97.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 98: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/98.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 99: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/99.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 100: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/100.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 101: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/101.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 102: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/102.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 103: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/103.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 104: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/104.jpg)
Theorem: In a comparison-based algorithm that makes at most n weighings on any input, there are at most 3n answer nodes.
Proof: By induction on n. As our base case, consider an algorithm that makes zero comparisons. Then the algorithm is a single answer node. Since 1 = 30, the claim holds for n = 0.
For the inductive hypothesis, assume that for any algorithm that makes at most n weighings, there are at most 3n decision nodes. Consider any algorithm that makes at most n + 1 weighings. If the first step of the algorithm is an answer, then the algorithm is just a single answer node. In this case, it has 1 ≤ 3n+1 decision nodes, so the claim holds.
Otherwise, the first step of the algorithm is a comparison. For each of the three outcomes, the algorithm can then make up to n more comparisons. By the inductive hypothesis, this means that in each of the subtrees corresponding to these outcomes, there can be up to 3n answer nodes. Consequently, the overall algorithm can have at most 3(3n) = 3n+1 answer nodes, completing the induction. ■
![Page 105: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/105.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
![Page 106: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/106.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
![Page 107: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/107.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 108: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/108.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 109: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/109.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 110: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/110.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 111: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/111.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 112: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/112.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 113: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/113.jpg)
Theorem: Any comparison-based algorithm for finding which of k coins is heavier must perform at least log
3 k weighings on some
input.
Proof: By contradiction; assume there is a comparison-based algorithm for this problem that makes strictly fewer than log
3 k
comparisons on all inputs. By our previous result, this means that the algorithm must have strictly fewer than 3log3 = k answer nodes.
Now, consider the answer nodes arrived in when we run the algorithm on all k possible inputs. By the pigeonhole principle, since there are k inputs and fewer than k answer nodes, at least two inputs must arrive in the same answer node. Since these two inputs have different answers, this means that the algorithm must be incorrect on at least one of these two inputs, contradicting the fact that the algorithm finds which of the coins is heavier.
We have reached a contradiction, so our assumption must have been wrong. Thus any comparison-based algorithm for finding the heavier coin out of k coins must make at least log
3 k weighings. ■
3log3k
![Page 114: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/114.jpg)
Corollary 1: There is no comparison-based algorithm for finding which of 3n + k coins is counterfeit in n weighings for any k > 0.
Proof: By our previous result, we need at least log3 (3n + k)
comparisons to determine which of 3n + k coins isheaviest. If k > 0, then log
3 (3n + k) > log
3 3n = n.
Thus we need strictly more than n weighings to findwhich of the coins is counterfeit. ■
Corollary 2: The comparison-based algorithm we developed in class is optimal.
![Page 115: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/115.jpg)
Corollary 1: There is no comparison-based algorithm for finding which of 3n + k coins is counterfeit in n weighings for any k > 0.
Proof: By our previous result, we need at least log3 (3n + k)
comparisons to determine which of 3n + k coins isheaviest. If k > 0, then log
3 (3n + k) > log
3 3n = n.
Thus we need strictly more than n weighings to findwhich of the coins is counterfeit. ■
Corollary 2: The comparison-based algorithm we developed in class is optimal.
![Page 116: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/116.jpg)
What Just Happened?
● This is our first theorem about the difficulty of a specific problem!
● Our procedure was as follows:● Build a mathematical model of computation for finding the
counterfeit coin.● Given the model, reason about the behavior of that model
on various inputs.● Write a proof that formalizes our reasoning about that
behavior.
● We will build many more models like this one later in the quarter.
![Page 117: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/117.jpg)
Suppose you have a set of coins. There isa counterfeit coin among them that weighs more
than the rest of the coins.
If you have n weighings, what is the largest number of coins for which you can solve this
problem?
![Page 118: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/118.jpg)
Suppose you have a set of coins. Theremay be a counterfeit coin among them
(though there doesn't have to be). If there isa counterfeit, it will weigh more than the rest
of the coins.
If you have n weighings, what is the largest number of coins for which you can solve this
problem?
![Page 119: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/119.jpg)
The Possibly Counterfeit Coin Problem
![Page 120: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/120.jpg)
The Possibly Counterfeit Coin Problem
11
22
![Page 121: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/121.jpg)
The Possibly Counterfeit Coin Problem
11 22
![Page 122: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/122.jpg)
The Possibly Counterfeit Coin Problem
11
22
![Page 123: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/123.jpg)
The Possibly Counterfeit Coin Problem
11
22
![Page 124: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/124.jpg)
The Possibly Counterfeit Coin Problem
11
22
![Page 125: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/125.jpg)
The Possibly Counterfeit Coin Problem
11
22
![Page 126: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/126.jpg)
The Possibly Counterfeit Coin Problem
11 22
![Page 127: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/127.jpg)
The Possibly Counterfeit Coin Problem
11 22
Both coins are real
Both coins are real
![Page 128: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/128.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
55
88
33
66
![Page 129: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/129.jpg)
The Possibly Counterfeit Coin Problem
11 44
77
22 55
88
33 66
![Page 130: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/130.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
55
88
33
66
![Page 131: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/131.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
55
88
33
66
![Page 132: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/132.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
55
88
33
66
We know for a fact that one of these is heavier than the rest, so we can use our old algorithm!
![Page 133: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/133.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
5588
33
66
![Page 134: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/134.jpg)
The Possibly Counterfeit Coin Problem
11
44
77
22
5588
33
66
![Page 135: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/135.jpg)
88
The Possibly Counterfeit Coin Problem
11
44
77
22
55
33
66
We know for a fact that one of these is heavier than the rest, so we can use our old algorithm!
![Page 136: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/136.jpg)
The Possibly Counterfeit Coin Problem
11 44
77
22 55
88
33 66
![Page 137: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/137.jpg)
The Possibly Counterfeit Coin Problem
11 44
77
22 5533 66
88
![Page 138: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/138.jpg)
The Possibly Counterfeit Coin Problem
11 44
77
22 55
88
33 66
One of these two may be counterfeit, so we can use the case for just one
weighing to check.
![Page 139: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/139.jpg)
The Possibly Counterfeit Coin Problem
● With n weighings, we have a strategy for finding which of 3n – 1 coins, if any, is heavier.
● If n = 0, then we can check 30 – 1 = 0 coins and determine they are all real.
● Otherwise:● Split the coins into groups of size 3n – 1, 3n – 1, and 3n – 1 – 1. Call
them A, B, and C.● Weigh A vs. B.● If A or B is heavier than the other, one of the 3n – 1 coins in it is
counterfeit. We can find it in n – 1 weighings.● Otherwise, nothing in A or B is counterfeit. Recursively check
the 3n-1 – 1 coins using n – 1 weighings.
![Page 140: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/140.jpg)
Is this solution optimal?
![Page 141: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/141.jpg)
Using Our Model
● Let's use the same reasoning as before.● How many different inputs are there if there are k
coins?● Answer: k + 1: one for each coin, plus one for “no coin is
counterfeit.”
● How many answer nodes are in an algorithm that makes n comparisons?● Answer: 3n
● Solving k + 1 = 3n, we get k = 3n – 1.● Our algorithm has to be optimal!
![Page 142: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/142.jpg)
Suppose you have a set of coins. There maybe a counterfeit coin among them (though there doesn't have to be). If there is a counterfeit, it is
heaver than the rest of the coins.
If you have n weighings, what is the largest number of coins for which you can solve this
problem?
![Page 143: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/143.jpg)
Suppose you have a set of coins. There maybe a counterfeit coin among them (though there doesn't have to be). If there is a counterfeit, itcan be either heavier or lighter than the rest
of the coins.
Find the counterfeit coin, if any, and tellwhether it is heavier or lighter than the rest.
If you have n weighings, what is the largest number of coins for which you can solve this
problem?
![Page 144: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/144.jpg)
Decision Tree Reasoning
● Before we even try thinking up a solution, let's see if we can figure out a best-case scenario.
● How many different inputs are there with k coins?● Answer: 2k + 1: Each of the k coins can be heavier or
lighter, or they might all be the same.
● How many answer nodes are there in an algorithm that makes n comparisons?● Answer: 3n, as before.
● Solving, we get that 2k + 1 = 3n, so k = (3n – 1) / 2.
![Page 145: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/145.jpg)
Complicated Counterfeit Coin Problem
● We haven't even thought up a way to solve this problem yet, but we already have an upper bound on how many coins we can differentiate.
● It turns out that there is an algorithm that can achieve this upper bound, but it's fairly difficult to come up with.
● Fun puzzle: Given (3n – 1) / 2 coins, determine which (if any) is different, and whether it's heavier or lighter than the rest, in n weighings.
![Page 146: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/146.jpg)
More Advanced Applications
![Page 147: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/147.jpg)
The Complexity of Searching
1 3 7 9 13 21 24
![Page 148: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/148.jpg)
How efficiently can we searcha sorted array for a single value?
![Page 149: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/149.jpg)
Check 1
1
=
3 Check 5
4
=
Check 3< >
=
Check 6
6
=
Check 4
3
=
NO
Check 5
2
=
Check 0
0
=
< >
< > < > <
> > <
< >
![Page 150: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/150.jpg)
A Lower Bound on Searching
● Any comparison-based searching algorithm on a sorted array must make at most log
3 (n + 1)
comparisons.● Why?
● We need there to be n + 1 answer nodes, one for each of the n positions in the array, and one to signal “not found.”
● By our previous result, the tree must have depth log3 (n + 1) to
achieve this result.
● This does not mean that it's possible to build an algorithm that makes this many comparisons; instead, it shows that no algorithm can do any better.
![Page 151: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/151.jpg)
A Lower Bound on Sorting
![Page 152: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/152.jpg)
Sorting
1 37 9 1321 24
![Page 153: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/153.jpg)
Sorting
1 3 7 9 13 21 24
![Page 154: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/154.jpg)
Sorting Algorithms
● Suppose S is a totally-ordered set.
● Let x1, x
2, …, x
n be n distinct elements drawn
from S, ordered arbitrarily.● Goal: Reorder the elements to put the
sequence into sorted order.● Perhaps the single most-studied problem in all
computer science.
![Page 155: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/155.jpg)
Comparison Sorting
● A comparison-based sorting algorithm is a sorting algorithm in which the only way to gain information about the elements being sorted is to compare them.
● Similar to the counterfeit coin problem – we can get the relative weights of the elements, but not their absolute weights.● The relative ordering of the inputs can be known, not
the absolute values.
● Question: How many comparisons are required in order to sort n values?
![Page 156: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/156.jpg)
Defining Our Inputs
x1
x2
x3
x4
x1
x2
x4
x3
x1
x2
x3
x4
x1
x2
x3
x4
x1
x2
x3
x4
x1
x4
x3
x2
x1
x2
x3
x4
x1
x2
x4
x3
x1
x2
x3
x4
x1
x2
x3
x4
x1
x2
x3
x4
x1
x4
x3
x2
x2
x2
x2
x2
x2
x2
x1
x1
x1
x1
x1
x1
x3
x1
x2
x4
x1
x2
x4
x3
x1
x2
x3
x4
x1
x2
x3
x4
x1
x2
x3
x4
x1
x4
x3
x2
x3
x3
x3
x3
x3
x1
x1
x1
x1
x1
x2
x2
x2
x2
x2
x4
x1
x2
x3
x1
x2
x4
x3
x1
x2
x3
x4
x1
x2
x3
x4
x1
x2
x3
x4
x1
x4
x3
x2
x4
x4
x4
x4
x4
x1
x1
x1
x1
x1
x2
x2
x2
x2
x2
x3
x3
x3
x3
x3
![Page 157: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/157.jpg)
Defining Our Inputs
● Suppose we are sorting n distinct values.● There are n! different permutations of those
values.● Consequently, there are n! different inputs, one
for each permutation.
![Page 158: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/158.jpg)
Defining Our Algorithmic Model
B vs C
B < C
A vs B
A < B
B > C
A vs C(1, 2, 3)
(1, 3, 2) (2, 3, 1)
A < C A > C
B vs C
A > B
B < C
(3, 2, 1)
B > C
A vs C
(2, 1, 3) (3, 1, 2)
A < C A > C
![Page 159: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/159.jpg)
Defining Our Algorithmic Model
● Represent as a tree.● Internal nodes encode the comparisons being made.● Leaf nodes have to say which input permutation we
received.
● Why does this work?● If we are just counting comparisons, it doesn't matter
what the code looks like to do the comparison; it just matters what comparisons are made.
● We don't need to see what rearrangements the algorithm actually does. If the algorithm can't identify what the input permutation is, then it can't be guaranteed that it it's correct.
![Page 160: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/160.jpg)
The Analysis
● Using a similar proof to before, we can show that in a tree with k comparisons, there are at most 2k answer nodes.
● There are n! different inputs of length n, each of which must have a unique answer.
● Combined, we must have 2k ≥ n!, or otherwise two different input permutations would reach the same answer (one gets sorted incorrectly).
● Thus k ≥ log2 n!. We have to do at least log
2 n!
comparisons in the worst-case.
![Page 161: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/161.jpg)
Stirling's Approximation
● A result called Stirling's approximation says that as n grows large, log
2 n! ≈ n log
2 n
● Consequently, any comparison-based sorting algorithm must make (approximately) n log
2 n comparisons.
● Thus there cannot be a comparison-based sorting algorithm that does less than Θ(n log
2 n) work making
comparisons.● Since some comparison-based sorting algorithms have
this runtime (mergesort, heapsort, etc.), these algorithms are asymptotically optimal.
![Page 162: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/162.jpg)
Why All This Matters
● We've spent the last few weeks exploring proof techniques and defining mathematical structures.
● These techniques make it possible to reason about fundamental questions in computing.
● In about a week, we'll begin exploring more elaborate models of computation using similar techniques.
![Page 163: 07: The Pigeonhole Principle](https://reader036.vdocument.in/reader036/viewer/2022081800/58a2fa351a28ab37018babfb/html5/thumbnails/163.jpg)
Next Time
● Propostional Logic● How do we start formalizing our intuitions about
mathematical truth?● How do we justify proofs by contradiction and
contrapositive?