190 likes | 1.34k Views
Strong Induction. “Normal” Induction : If we prove that 1) P( n 0 ) is true for some n 0 (typically 0 or 1), and 2) If P(k) is true for any k ≥n 0 , then P(k+1) is also true . Then P(n) is true for all n ≥n 0 .
E N D
Strong Induction • “Normal” Induction: If we prove that 1) P(n0) is true for some n0 (typically 0 or 1), and 2) If P(k) is true for any k≥n0, thenP(k+1) is also true.Then P(n) is true for all n≥n0. • “Strong” Induction: If we prove that 1) Q(n0) is true for some n0 (typically 0 or 1), and 2) If Q(j) is true for all j from n0 to k(for any k≥n0),then Q(k+1) is also true.Then Q(k) is true for all k≥n0. • These 2 forms are equivalent: Let P(n) = “n0≤j≤nQ(j)” • Ref: http://en.wikipedia.org/wiki/Strong_induction UCI ICS/Math 6A, Summer 2007
Proof by Strong Induction: Jigsaw Puzzle • Each “step” in assembling a jigsaw puzzle consists of putting together 2 already assembled blocks of pieces where each single piece is considered a block itself. • P(n) = “It takes exactly n-1 steps to assemble a jigsaw puzzle of n pieces.” • Basis Step: P(1) is (trivially) true. • Inductive Step: We assume P(k) true for k≤n and we’ll argue P(n+1): The last step in assembling a puzzle with n+1 steps is to put together 2 blocks: one of size j>0 and one of size n+1-j. By since 0<j,n+1-j≤n, P(j) and P(n+1-j) are both assumed true. And so, the total number of steps to assemble a puzzle with n+1 pieces is 1 + (j-1) + ((n+1-j)-1) = n = (n+1)-1. (this implies P(n+1), and hence ends the inductive part, and thus also the whole proof) UCI ICS/Math 6A, Summer 2007
More Examples of Theorems with easy Proofs using Strong Induction • Thm1: The second player always wins the following game: • Starting with 2 piles each containing the same number of matches, players alternately remove any non-zero number of matches from one of the piles. • The winner is the person who removes the last match. • Thm2: Every n>1 can be written as the product of primes. • Thm3: Every postage amount of at least 18 cents can be formed using just 4-cent and 7-cent stamps. UCI ICS/Math 6A, Summer 2007
Basis for Induction: Integers are well ordered • Induction is based on the fact that the integers are “well ordered” in the following sense: • Any non-empty set of integerswhich is bounded belowi.e. there exists b (not necessarily in S) s.t. b ≤ x for all x in Scontains a least elementi.e. element e in S s.t. for all x in S we have e ≤ x. • Fact: The integers are well ordered. • Why does well-ordering imply induction? • Assume P(0) and P(k)→P(k+1) for all k≥0. • We’ll show that P(n) is true for all n≥0 (thus showing that induction works): • Define S = {n>0 | P(n) is not true}. Assume S non-empty. • By well-ordering of N, there is a least element e of S. • Let k=e-1≥0. If (not P(e)) then (not P(e-1)). • We conclude that (not P(e-1)). • e-1 cannot be equal to 0 because P(0) is true. • But then e-1 must be in S, and so e is not the least element of S! • => Contradiction => Therefore S must b empty. • Therefore P(n) is true for all n>0. Since P(0) is also true, P(n) is true for all n≥0. UCI ICS/Math 6A, Summer 2007
Well Ordering can be used directly to prove things (i.e. not necessarily via induction) • Thrm: If a and b are integers, not both 0, then s,tZ (sa + tb = gcd(a,b)). • Proof: For any a,b define S = {n>0 | s,tZ n= sa + tb}. • By the well-ordering of Z, S has a smallest element, call it d. • Choose s and t so that d = sa + tb. • Claim: d is a common divisor of a and b. • Proof that d|a: Writing d=qa+r where 0≤r<d. If r=0 then d|a. If r>0 then since r=d-qa=(sa+tb)-qa=(s-q)a+tb we would have rS. But since r<d it would mean that d is not the smallest element of S => contradiction => and therefore r=0 (and hence d|a). Similarly, d|b. • d is the greatest common divisor since any common divisor of a and b must also divide sa+tb=d. UCI ICS/Math 6A, Summer 2007
Recursive (Inductive) Definitions • A function f:N→R is defined “recursively” by specifying(1) f(0), its value at 0, and(2) f(n), for n>0, in terms of f(1),….,f(n-1), i.e. in terms of f(k)’s for k<n. • Examples: • f(n)=n! can be specified as f(0)=1 and, for n>0, f(n)=n*f(n-1). • For any a, fa(n)=an, can be specified as fa(0)=1 and,for n>0, fa(n)=a*fa(n-1) • Note: In many cases, we specify f(k) explicitly not only for f(0) but also for f(1), f(2), …, f(m) for some m>0, and then use a recursive formula to define f(n) for all n>m. UCI ICS/Math 6A, Summer 2007
Fibonacci Numbers are Recursively Defined • The Fibonacci numbers f0,f1,f2,…,fn,…, are defined by • (1) f0=0, f1=1 • (2)fn=fn-1+fn-2, for n≥2 • Subscripts can be a real pain and can interfere with understanding.It is often convenient to use F(n) instead of fn • The Fibonacci numbers are • f0=0, f1=1, f2=1, f3=2, f4=3, f5=5, f6=8, • f7=13, f8=21, f9=34, f10=55,f10=89, • f11=144, f12=233, f13=377, f14=610, • f15=987, f11=1597, f12=2584, • f13=4181, f14=6765, f15=10946, • f16=17711, f17=28657, f18=46368,...Ref: http://en.wikipedia.org/wiki/Fibonacci_number UCI ICS/Math 6A, Summer 2007
x y Fibonacci numbers are related to a Golden Section Ref: http://en.wikipedia.org/wiki/Golden_ratio UCI ICS/Math 6A, Summer 2007
Fibonacci Growth • Theorem: Let φ=(1+5)/2and n≥3 then fn > φn-2 • Proof by Strong Induction: • Basis Step (for n=3 and 4): • f3 = 2 > φ=1.618… • f4 = 3 > φ2 = (1+25+5)/4 = (3+5)/2 = φ+1 = 2.168…(Note: Along the way, we showed that φ2 = φ+1) • Inductive Step: Assume fk>φk-2 for all k s.t. 3≤k≤n. fn+1 = fn+fn-1 > φn-2+φn-3 = φn-3(φ+1) = φn-3φ2 = φ(n+1)-2 UCI ICS/Math 6A, Summer 2007
Recursively Defined Sets • Always (1) “Basis Step” and (2) “Recursive Step” • Multiples of 3(1) 3S. (2) If xS and yS, then x+y S . • StringsΣ* over an alphabetΣ. Let λ be the empty string.(1) λ Σ*. (2) If wΣ* and xΣ, then wxΣ* . • Examples: Σ={0,1}; Σ={0,1,2,3,4,5,6,7,8,9}; Σ={a,b,c,d,e,…,x,y,z} • Now recursively define (“length”) L: Σ*→Nby (1) L(λ)=0; (2)L(wx)=L(x)+1 • String Catenation (“•”)(1) If wΣ*, then w•λ=w(2) If u,wΣ* and xΣ, then u•(wx)=(u•w)x UCI ICS/Math 6A, Summer 2007
Recursively Defined Sets • Always (1) “Basis Step” and (2) “Recursive Step” • Well-Formed Boolean Formulae • T, F, and s, where s is a propositional variable are all well-formed Boolean formulae (WFBF). • If E and F are WFBF’s, then (¬E), (EF), (EF), (EF), and (E↔F) are all WFBF’s. • Well-Formed Arithmetic Expressions • x is a well-formed arithmetic expression (WFAE) if x is a numeral or a variable. • If F and G are WFAE’s, then (F+G), (F-G), (F*G), (F/G), and (EF) are all WFAE’s. UCI ICS/Math 6A, Summer 2007
... ... Recursively Defined StructuresExample 1: Rooted Trees • Rooted Trees(1) A single vertex, r, is a rooted tree with root r.(2) Suppose that T1,T2,…,Tn are rooted trees with roots r1,r2,…,rnrespectively. Then the following graph is a rooted tree with root r: Take a free node r and add an edge from r to each of root r1,…,rn. • Basis Step 1 Step 2 UCI ICS/Math 6A, Summer 2007
Recursively Defined StructuresExample 2: Extended Binary Trees • Extended Binary Trees(1) The empty set is an Extended Binary Tree (EBT)(2) If T1and T2 are EBT’s, then the following tree, denoted T1•T2 , is also an EBT: Pick a new root, r, and attach T1 as r’s left subtree and attach T2 as r’s right subtree. • - “Extended” means that even an empty set is considered a tree. • - “Binary” means that every node has at most 2 children. • Basis Step 1 Step 2 Step 3 • One element: • An Empty Set! ... UCI ICS/Math 6A, Summer 2007
Recursively Defined StructuresExample 3: Full Binary Trees • Full Binary Trees(1) A single vertex is an Full Binary Tree (FBT)(2) If T1and T2 are FBT’s, then the following tree, denoted T1•T2 , is also an FBT: Pick a new root, r, and attach T1 as r’s left subtree and attach T2 as r’s right subtree. • - Unlike “Extended” BT’s we don’t count an empty set in. • - In “Full” BTs each node has exactly 0 or 2 children • Base Step 1 Step 2 Step 3 ... UCI ICS/Math 6A, Summer 2007
Recursive Definitions of Functions on recursively defined objects (e.g. Full Binary Trees) • Trees were defined recursively. Natural definition of a function on trees will be recursive as well! • Examples: • The Height function, h(T):(1) If T has a single (root) node/vertex, h(T)=0.(2) o/w, i.e. if T=T1•T2,, then h(T) = h(T1•T2 ) = 1+max(h(T1),h(T2 )) • The Number of vertices (function), n(T):(1) If T has a single (root) node/vertex, n(T)=1.(2) o/w, i.e. if T=T1•T2,, then n(T) = n(T1•T2 ) = 1+n(T1)+n(T2 ) UCI ICS/Math 6A, Summer 2007
Structural Induction • If a set is recursively defined, to show a result true for all elements in the set: (1) Show the result is true for all elements the basis step includes.(2) Show that if the result is true for each of the elements used to construct a new element, it is also true for that new element. • Thrm: If T is a full binary tree, then n(T)≤2h(T)+1-1(proof on next slide) • Ref: http://en.wikipedia.org/wiki/Structural_induction UCI ICS/Math 6A, Summer 2007
Structural Induction Example • Thrm: If T is a full binary tree, then n(T)≤2h(T)+1-1 • Proof: • Basis Step: If T is just the root vertex, n(T)=1, h(T)=0 and n(T)=1≤1=20+1-1 • Inductive Step: When T= T1•T2 , we compute • n(T)=1+n(T1)+n(T2) Definition of n(T) ≤ 1+(2h(T1)+1-1)+(2h(T2)+1-1) Induction hypothesis ≤ 2·max(2h(T1)+1,2h(T2)+1)-1 Arithmetic • = 2·21+max(h(T1),h(T2)) -1 Arithmetic • = 2·2h(T)-1 Definition of h(T) UCI ICS/Math 6A, Summer 2007
Recursive Algorithms • An algorithm is “recursive” if it solves a problem by reducing it to an instance of the same problem with smaller input. • Examples: • procedure factorial (n: nonnegative integer)if n=0 then factorial(n) := 1else factorial(n) := n ·factorial(n-1) • procedure power(a: nonzero real, n: nonnegative integer)if n=0 then power(a,n) := 1else power(a,n) := a·power(a,n-1) • procedure gcd(a,b: nonnegative integers with a<b)if a=0 then gcd(a,b) := belse gcd(a,b) := gcd(b mod a, a) • procedure fibonacci (n: nonnegative integer)if n≤1 then fibonacci(n) := 1else fibonacci(n) := fibonacci(n-1) + fibonacci(n-2) UCI ICS/Math 6A, Summer 2007