37
CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

  • View
    223

  • Download
    2

Embed Size (px)

Citation preview

Page 1: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

CSE 321 Discrete Structures

Winter 2008

Lecture 12

Induction

Page 2: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Announcements

• Readings – Monday, Wednesday

• Induction and recursion– 4.1-4.3 (5th Edition: 3.3-3.4)

– Midterm: • Friday, February 8• In class, closed book• Estimated grading weight:

– MT 12.5%, HW 50%, Final 37.5%

Page 3: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Induction Example

• Prove 3 | 22n -1 for n 0

Page 4: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Induction as a rule of Inference

P(0) k (P(k) P(k+1)) n P(n)

Page 5: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

1 + 2 + 4 + … + 2n = 2n+1 - 1

Page 6: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Harmonic Numbers

Page 7: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Cute Application: Checkerboard Tiling with Trinominos

Prove that a 2k 2k checkerboard with one square removed can be tiled with:

Page 8: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Strong Induction

P(0) k ((P(0) P(1) P(2) … P(k)) P(k+1)) n P(n)

Page 9: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Player 1 wins n 2 Chomp!

Winning strategy: chose the lower corner square

Theorem: Player 2 loses when faced with an n 2board missing the lower corner square

Page 10: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Induction Example

• A set of S integers is non-divisible if there is no pair of integers a, b in S where a divides b. If there is a pair of integers a, b in S, where a divides b, then S is divisible.

• Given a set S of n+1 positive integers, none exceeding 2n, show that S is divisible.

• What is the largest subset non-divisible subset of {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }.

Page 11: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

If S is a set of n+1 positive integers, none exceeding 2n, then S is divisible

• Base case: n =1

• Suppose the result holds for n– If S is a set of n+1 positive integers, none

exceeding 2n, then S is divisible – Let T be a set of n+2 positive integers, none

exceeding 2n+2. Suppose T is non-divisible.

Page 12: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Proof by contradiction

• Claim: 2n+1 T and 2n + 2 T

• Claim: n+1 T

• Let T* = T – {2n+1, 2n+2} {n+1}

• If T is non-divisible, T* is also non-divisible

/

Page 13: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Recursive Definitions

• F(0) = 0; F(n + 1) = F(n) + 1;

• F(0) = 1; F(n + 1) = 2 F(n);

• F(0) = 1; F(n + 1) = 2F(n)

Page 14: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Fibonacci Numbers

• f0 = 0; f1 = 1; fn = fn-1 + fn-2

Page 15: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Bounding the Fibonacci Numbers

• Theorem: 2n/2 fn 2n for n 6

Page 16: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Recursive Definitions of Sets

• Recursive definition– Basis step: 0 S– Recursive step: if x S, then x + 2 S– Exclusion rule: Every element in S follows

from basis steps and a finite number of recursive steps

Page 17: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Recursive definitions of sets

Basis: 6 S; 15 S;Recursive: if x, y S, then x + y S;

Basis: [1, 1, 0] S, [0, 1, 1] S;Recursive: if [x, y, z] S, in R, then [ x, y, z] S if [x1, y1, z1], [x2, y2, z2] S then [x1 + x2, y1 + y2, z1 + z2]

Powers of 3

Page 18: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Strings

• The set * of strings over the alphabet is defined– Basis: * ( is the empty string)– Recursive: if w *, x , then wx *

Page 19: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Families of strings over = {a, b}

• L1

– L1

– w L1 then awb L1

• L2

– L2

– w L2 then aw L2

– w L2 then wb L2

Page 20: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Function definitions

Len() = 0;Len(wx) = 1 + Len(w); for w *, x

Concat(w, ) = w for w *Concat(w1,w2x) = Concat(w1,w2)x for w1, w2 in *, x

Page 21: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Well Formed Fomulae

• Basis Step– T, F, and s, where is a propositional variable

are in WFF

• Recursive Step– If E and F are in WFF then ( E), (E F), (E

F), (E F) and (E F) are in WFF

Page 22: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Tree definitions

• A single vertex r is a tree with root r.

• Let t1, t2, …, tn be trees with roots r1, r2, …, rn respectively, and let r be a vertex. A new tree with root r is formed by adding edges from r to r1,…, rn.

Page 23: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Extended Binary Trees

• The empty tree is a binary tree.

• Let r be a node, and T1 and T2 binary trees. A binary tree can be formed with T1 as the left subtree and T2 as the right subtree. If T1 is non-empty, there is an edge from the root of T1 to r. Similarly, if T2 is non-empty, there is an edge from the root of T2 to r.

Page 24: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Full binary trees

• The vertex r is a FBT.

• If r is a vertex, T1 a FBT with root r1 and T2 a FBT with root r2 then a FBT can be formed with root r and left subtree T1 and right subtree T2 with edges r r1 and r r2.

Page 25: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Simplifying notation

• (, T1, T2), tree with left subtree T1 and right subtree T2

• is the empty tree• Extended Binary Trees (EBT)

– EBT– if T1, T2 EBT, then (, T1, T2) EBT

• Full Binary Trees (FBT)– FBT– if T1, T2 FBT, then (, T1, T2) FBT

Page 26: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Recursive Functions on Trees

• N(T) - number of vertices of T

• N() = 0; N() = 1

• N(, T1, T2) = 1 + N(T1) + N(T2)

• Ht(T) – height of T

• Ht() = 0; Ht() = 1

• Ht(, T1, T2) = 1 + max(Ht(T1), Ht(T2))

NOTE: Height definition differs from the textBase case H() = 0 used in text

Page 27: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

More tree definitions: Fully balanced binary trees

• is a FBBT.

• if T1 and T2 are FBBTs, with Ht(T1) = Ht(T2), then (, T1, T2) is a FBBT.

Page 28: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

And more trees: Almost balanced trees

• is a ABT.

• if T1 and T2 are ABTs with Ht(T1) -1 Ht(T2) Ht(T1)+1 then (, T1, T2) is a ABT.

Page 29: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Is this Tree Almost Balanced?

Page 30: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Structural Induction

• Show P holds for all basis elements of S.

• Show that if P holds for elements used to construct a new element of S, then P holds for the new element.

Page 31: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Prove all elements of S are divisible by 3

• Basis: 21 S; 24 S;

• Recursive: if x, y S, then x + y S;

Page 32: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Prove that WFFs have the same number of left parentheses as right parentheses

Page 33: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Well Formed Fomulae

• Basis Step– T, F, and s, where is a propositional variable

are in WFF

• Recursive Step– If E and F are in WFF then ( E), (E F), (E

F), (E F) and (E F) are in WFF

Page 34: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Fully Balanced Binary Tree

• If T is a FBBT, then N(T) = 2Ht(T) - 1

Page 35: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Binary Trees

• If T is a binary tree, then N(T) 2Ht(T) - 1

If T = :

If T = (, T1, T2) Ht(T1) = x, Ht(T2) = yN(T1) 2x, N(T2) 2y

N(T) = N(T1) + N(T2) + 1 2x – 1 + 2y – 1 + 1 2Ht(T) -1 + 2Ht(T) – 1 – 1 2Ht(T) - 1

Page 36: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Almost Balanced Binary Trees

Let = (1 + sqrt(5))/2

Prove N(T) Ht(T) – 1

Base case:

Recursive Case: T = (, T1, T2)

Let Ht(T) = k + 1

Suppose Ht(T1) Ht(T2)

Ht(T1) = k, Ht(T2) = k or k-1

Page 37: CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction

Almost Balanced Binary Trees

N(T) = N(T1) + N(T2) + 1

k – 1 + k-1 – 1 + 1

k + k-1 – 1 [ = + 1]

k+1 – 1