1 / 18

Strong Induction

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 .

johana
Download Presentation

Strong Induction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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,tZ (s*a + t*b = gcd( a,b )). • Proof: For any a,b define S = {n>0 | s,tZ 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 rS. 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

  6. 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

  7. 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

  8. 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

  9. 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+25+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

  10. Recursively Defined Sets • Always (1) Basis Step and (2) Recursive Step • Set S of multiples of 3:(1) 3S ; (2) If xS and yS, 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

  11. 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), (EF), (EF), (EF), 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 (EF) are all WFA’s. UCI ICS/Math 6D

  12. ... ... 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

  13. ... 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

  14. 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

  15. (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

  16. 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

  17. 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

  18. 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

More Related