180 likes | 3.54k Views
Strong Induction. “Normal” Induction : If we prove that 1) P( n 0 ) 2) If P(k) for any k ≥n 0 then P(k+1) Then P(n) is true for all n ≥n 0 .
E N D
Strong Induction • “Normal” Induction: If we prove that 1) P(n0) 2) If P(k) for any k≥n0thenP(k+1) • Then P(n) is true for all n≥n0. • “Strong” Induction: If we prove that 1) Q(n0) 2) If Q(j) for all j from n0 to k(for any k≥n0), then Q(k+1) Then Q(k) is true for all k≥n0. • These two are equivalent! • Why? Set P(n) ≡ ( j in [n0,n] Q(j) ) • P(n0) ≡ Q(n0) • P(k) ≡ Q(j) holds for all j between n0 and k UCI ICS/Math 6D
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(j) true for all j≤k and we’ll argue P(k+1): The last step in assembling a puzzle with k+1 steps is to put together 2 blocks: one of size j>0 and one of size k+1-j. Since 0<j,k+1-j≤k, P(j) and P(k+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) + ((k+1-j)-1) = k = (k+1)-1. (this implies P(k+1), and hence ends the inductive part, and thus also the whole proof) UCI ICS/Math 6D
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: • - First 4 cases: 18=2*7+4, 19=7+3*4, 20=5*4, 21=3*7 • - Afterwards, using strong induction: Take any k≥21. By (strong) inductive assumption, and by the 4 cases above, k-3=i*7+j*4 for some i,j. Therefore k+1=i*7+(j+1)*4, which ends the inductive step. • (Btw, starting from 18 may seem weird, but you just can’t do it for 17...) UCI ICS/Math 6D
Basis for Induction: Integers are well ordered • Induction is based on the fact that the integers are “well ordered”, i.e. • 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 smallest elementi.e. e in S s.t. for all x in S we have e ≤ x. • 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)=T for all n≥0 (thus showing that induction works): • Define (***) S = {n>0 | P(n)=F}. Assume S non-empty. • By well-ordering of N, there is a least element e of S. • Consider element e–1: Since P(e) = F then by (**) also P(e–1) = F. • Note that e–1 cannot be equal to 0 because P(0) = T by (*). • But then by (***), e–1 is in S, so e is not the least element of S… • Contradiction! Therefore S must be empty. Therefore P(n)=T for all n ≥ 0. UCI ICS/Math 6D
Well Ordering can be used directly to prove things (i.e. not necessarily via induction) • Theorem: If a and b are integers, not both 0, then s,tZ (s*a + t*b = gcd( a,b )). • Proof: For any a,b define S = {n>0 | s,tZ n= s*a + t*b}. • By the well-ordering of Z, S has a smallest element, call it d. • Choose s and t so that d = s*a + t*b. • Claim: d is a common divisor of a and b. • Proof that d | a: Writing d = q*a + r where 0≤r<d. If r=0 then d | a. If r>0 then since r = d – q*a = (s*a + t*b) – q*a = (s - q)*a + t*b 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 s*a + t*b = d. UCI ICS/Math 6D
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 6D
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 • (Btw, we can also use F(n) instead of fnto designate n-th Fibonacci number.) • The first 18 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 • Question: Are they growing exponentially, i.e. like fn≈ an for some a? UCI ICS/Math 6D
x y Fibonacci numbers are related to a Golden Sectioni.e. the splitting of an interval so that (larger part) / whole = (smaller p. / larger p.) Ref: http://en.wikipedia.org/wiki/Golden_ratio UCI ICS/Math 6D
Fibonacci Growth • Theorem: If n≥3 then fn > φn-2 • where φ is the solution to golden ratio, i.e. φ = (1+5) / 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… • Fact you can check : φ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 6D
Recursively Defined Sets • Always (1) Basis Step and (2) Recursive Step • Set S of 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 of a string, L: Σ*→Nwhere(1) L(λ)=0 ; (2) L(wx)=L(w)+1 • String Catenation (“•”)(1) If uΣ*, then u•λ=u(2) If u,wΣ* and xΣ, then u•(wx)=(u•w)x UCI ICS/Math 6D
Recursively Defined Sets • Always (1) Basis Step and (2) Recursive Step • Well-Formed Boolean Formula • T, F, and s, where s is a propositional variable are all well-formed formula (WFF). • If E and F are WFF’s, then (¬E), (EF), (EF), (EF), and (E↔F) are all WFF’s. • Well-Formed Arithmetic Expression • x is a well-formed arithmetic expression (WFA) if x is either a numeral or a variable. • If F and G are WFA’s, then (F+G), (F-G), (F*G), (F/G), and (EF) are all WFA’s. UCI ICS/Math 6D
... ... Recursively Defined Structures: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 graph formed by starting with a root,r, which is not in any of these trees and adding an edge fromr to each of these roots is also a rooted tree, whose root is r. • Basis Step 1 Step 2 UCI ICS/Math 6D
... Recursively Defined Structures:Extended Binary Trees • Extended Binary Trees(1) The empty set is an Extended Binary Tree(2) If T1and T2 are extended binary trees, then the following tree, denoted T1•T2 , is also an extended binary tree: pick a new root • r, and attach T1 as the left subtree and T2 as the right subtree. • Step 1 Step 2 Step 3 UCI ICS/Math 6D
Full Binary Trees • Full Binary Trees(1) A single vertex is a Full Binary Tree(2) If T1and T2 are full binary trees, then the following tree, denotedT1•T2 , is also a full binary tree: pick a new root, r, and attach T1 as the left subtree and attach T2 as the right subtree. • (Definition change only in the base case, but unlike Extended Binary • Trees, Full Binary Tree has exactly 0 or 2 child-nodes) • Base Step 1 Step 2 UCI ICS/Math 6D
(Recursive) Definitions of Functions on Full Binary Trees • Definition of Height, h(T), of a Full Binary Tree T:(1) If T has a single (root) node/vertex then h(T)=0.(2) O/w h(T1•T2 )=1+max(h(T1),h(T2 )) • The Number of vertices, n(T), of a Full Binary Tree, T, is given by(1) If T has a single (root) node/vertex, n(T)=1.(2) n(T1•T2 )=1+n(T1)+n(T2 ) UCI ICS/Math 6D
Structural Induction • If a set is recursively defined, to show a predicate true for all elements in the set one needs to: • (1) Show the predicate true on all base cases; • (2) Show that if the predicate is true for each of the elements used to construct a new element, then the same predicate is also true for that new element. • E.g. to prove P(T) holds for all T∈FBT, these steps are: • (1) showing P(vertex) holds, because base case of FBT definition is just a vertex • (2) Showing that if P(T1) and P(T2) then P(T1•T2 ), because the recursive clause of FBT definition defines a new FBT as T1•T2 . • Example: We’ll show that if T is a full binary tree, then n(T) ≤ 2h(T)+1-1 • (proof on next slide) UCI ICS/Math 6D
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 therefore n(T)=1 ≤ 20+1-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) Inductive 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 6D
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 6D