370 likes | 454 Views
CSE 321 Discrete Structures. Winter 2008 Lecture 12 Induction. Announcements. Readings Monday, Wednesday Induction and recursion 4.1-4.3 (5 th Edition: 3.3-3.4) Midterm: Friday, February 8 In class, closed book Estimated grading weight: MT 12.5%, HW 50%, Final 37.5%.
E N D
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%
Induction Example • Prove 3 | 22n -1 for n 0 Examples to show its true P(0) P(k) P(k+1)
Induction as a rule of Inference P(0) k (P(k) P(k+1)) n P(n) Formal steps Show P(0) Assume P(k), Prove P(k+1), Conclude P(k) P(k+1) Conclude k (P(k) P(k+1)) Conclude n P(n)
Cute Application: Checkerboard Tiling with Trinominos Prove that a 2k 2k checkerboard with one square removed can be tiled with:
Strong Induction P(0) k ((P(0) P(1) P(2) … P(k)) P(k+1)) n P(n)
Player 1 wins n 2 Chomp! Winning strategy: chose the lower corner square Theorem: Player 2 loses when faced with an n 2 board missing the lower corner square
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 }.
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.
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 /
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)
Fibonacci Numbers • f0 = 0; f1 = 1; fn = fn-1 + fn-2
Bounding the Fibonacci Numbers • Theorem: 2n/2 fn 2n for n 6
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
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
Strings • The set * of strings over the alphabet is defined • Basis: * ( is the empty string) • Recursive: if w *, x , then wx *
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
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
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
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.
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.
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.
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
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 text Base case H() = 0 used in text
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.
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.
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.
Prove all elements of S are divisible by 3 • Basis: 21 S; 24 S; • Recursive: if x, y S, then x + y S;
Prove that WFFs have the same number of left parentheses as right parentheses
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
Fully Balanced Binary Tree • If T is a FBBT, then N(T) = 2Ht(T) - 1
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) = y N(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
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
Almost Balanced Binary Trees N(T) = N(T1) + N(T2) + 1 k – 1 + k-1 – 1 + 1 k + k-1 – 1 [2 = + 1] k+1 – 1