370 likes | 458 Vues
Learn rules and examples of induction and recursion, harmonic numbers, checkerboard tiling, Fibonacci numbers, recursive definitions, sets, strings, formulas, and trees. Dive into the world of mathematical proofs and problem-solving techniques.
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