Presentation is loading. Please wait.

Presentation is loading. Please wait.

Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen Induction.

Similar presentations


Presentation on theme: "Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen Induction."— Presentation transcript:

1 Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen Induction and Recursion

2 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 2 Topics Mathematical induction Well ordered property Second principle of induction Recursive definition Recursive algorithms

3 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 3 Mathematical Induction A powerful, rigorous technique for proving that a predicate P(n) is true for every natural number n, no matter how large. Essentially a “domino effect” principle. Based on a predicate-logic inference rule: P(0)  n  0 (P(n)  P(n+1))  n  0 P(n)

4 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 4 Validity of Induction Proof that  k  0 P(k) is a valid consequent: Given any k  0,  n  0 (P(n)  P(n+1)) (antecedent 2) trivially implies  n  0 (n<k)  (P(n)  P(n+1)), or (P(0)  P(1))  (P(1)  P(2))  …  (P(k  1)  P(k)). Repeatedly applying the hypothetical syllogism rule to adjacent implications k-1 times then gives P(0)  P(k); which with P(0) (antecedent #1) and modus ponens gives P(k). Thus  k  0 P(k).

5 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 5 The Well-Ordering Property The validity of the inductive inference rule can also be proved using the well-ordering property, which says: Every non-empty set of non-negative integers has a minimum (smallest) element.   S  N :  m  S :  n  S : m  n Assume that there exists at least one positive integer n: {n|  P(n)}. This non-empty set has a minimum element m. So m-1 is not in this set and thus P(m-1) is true, but then P(m-1)  P((m-1)+1) contradicted with  P(m).

6 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 6 Outline of an Inductive Proof Want to prove  n P(n)… Base case (or basis step): Prove P(0). Inductive step: Prove  n P(n)  P(n+1). E.g. use a direct proof: Let n  N, assume P(n). (inductive hypothesis) Under this assumption, prove P(n+1). Inductive inference rule then gives  n P(n).

7 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 7 Generalizing Induction Can also be used to prove  n  c P(n) for a given constant c  Z, where maybe c  0. In this circumstance, the base case is to prove P(c) rather than P(0), and the inductive step is to prove  n  c (P(n)  P(n+1)).

8 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 8 Second Principle of Induction Characterized by another inference rule: P(0)  n  0: (  0  k  n P(k))  P(n+1)  n  0: P(n) Difference with 1st principle is that the inductive step uses the fact that P(k) is true for all smaller k<n+1, not just for k=n.

9 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 9 Induction Example (1st princ.) Prove that the sum of the first n odd positive integers is n 2. That is, prove: Proof by induction. Base case: Let n=1. The sum of the first 1 odd positive integer is 1 which equals 1 2. Inductive step: Prove  n  1: P(n)  P(n+1). Let n  1, assume P(n), and prove P(n+1).

10 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 10 Another Induction Example Prove that  n>0, n<2 n. Let P(n)=(n<2 n ) Base case: P(1)=(1<2 1 )=(1<2)=T. Inductive step: For n>0, prove P(n)  P(n+1). Assuming n<2 n, prove n+1 < 2 n+1. Note n + 1 < 2 n + 1 (by inductive hypothesis) < 2 n + 2 n = 2 n+1 So n + 1 < 2 n+1, and we’re done.

11 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 11 Example of Second Principle Show that every n>1 can be written as a product p 1 p 2 …p s of some series of s prime numbers. Let P(n)=“n has that property” Base case: n=2, let s=1, p 1 =2. Inductive step: Let n  2. Assume  2  k  n: P(k). Consider n+1. If prime, let s=1, p 1 =n+1. Else n+1=ab, where 2  a  n and 2  b  n. Since a=p 1 p 2 …p t and b=q 1 q 2 …q u, then n+1= p 1 p 2 …p t q 1 q 2 …q u, a product of s=t+u primes.

12 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 12 Another 2nd Principle Example Prove that every amount of postage of 12 cents or more can be formed using just 4- cent and 5-cent stamps. Base case: 12=3  4), 13=2  4)+1(5), 14=1(4)+2(5), 15=3(5), so  12  n  15, P(n). Inductive step: Let n  15, assume  12  k  n P(k). Note 12  n  3  n, so P(n  3), so add a 4-cent stamp to get postage for n+1.

13 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 13 Recursive Definitions In induction, we prove all members of an infinite set have some property P by proving the truth for larger members in terms of that of smaller members. In recursive definitions, we similarly define a function, a predicate or a set over an infinite number of elements by defining the function or predicate value or set-membership of larger elements in terms of that of smaller ones.

14 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 14 Recursion Recursion is a general term for the practice of defining an object in terms of itself (or of part of itself). An inductive proof establishes the truth of P(n+1) recursively in terms of P(n). There are also recursive algorithms, definitions, functions, sequences, and sets.

15 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 15 Recursively Defined Functions Simplest case: One way to define a function f:N  S (for any set S) or series a n =f(n) is to: Define f(0). For n>0, define f(n) in terms of f(0),…,f(n−1). E.g.: Define the series a n :  2 n recursively: Let a 0 :  1. For n>0, let a n :  2a n-1.

16 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 16 Another Example Suppose we define f(n) for all n  N recursively by: Let f(0)=3 For all n  N, let f(n+1)=2f(n)+3 What are the values of the following? f(1)= f(2)= f(3)= f(4)=

17 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 17 Recursive definition of Factorial Give a recursive definition of the factorial function F(n) :  n! :  2  3  …  n. Base case: F(0) :  1 Recursive part: F(n) :  n  F(n-1). F(1)=1 F(2)=2 F(3)=6

18 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 18 The Fibonacci Series The Fibonacci series f n  0 is a famous series defined by: f 0 :  0, f 1 :  1, f n  2 :  f n−1 + f n−2 0 11 23 58 13

19 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 19 Inductive Proof about Fib. series Theorem: f n < 2 n. Proof: By induction. Base cases:f 0 = 0 < 2 0 = 1 f 1 = 1 < 2 1 = 2 Inductive step: Use 2 nd principle of induction (strong induction). Assume  k<n, f k < 2 k. Then f n = f n−1 + f n−2 is < 2 n−1 + 2 n−2 < 2 n−1 + 2 n−1 = 2 n.

20 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 20 Recursively Defined Sets An infinite set S may be defined recursively, by giving: A small finite set of base elements of S. A rule for constructing new elements of S from previously-established elements. Implicitly, S has no other elements but these. Example: Let 3  S, and let x+y  S if x,y  S. What is S?

21 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 21 The Set of All Strings Given an alphabet , the set  * of all strings over  can be recursively defined as:   * ( :  “”, the empty string) w   *  x    wx   *

22 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 22 Recursive Algorithms Recursive definitions can be used to describe algorithms as well as functions and sets. Example: A procedure to compute a n. procedure power(a  0: real, n  N) if n = 0 then return 1 else return a · power(a, n−1)

23 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 23 Efficiency of Recursive Algorithms The time complexity of a recursive algorithm may depend critically on the number of recursive calls it makes. Example: Modular exponentiation to a power n can take log(n) time if done right, but linear time if done differently. Task: Compute b n mod m, where m  2, n  0, and 1  b<m.

24 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 24 Modular Exponentiation Alg. #1 Uses the fact that b n = b·b n−1 and that x·y mod m = x·(y mod m) mod m. procedure mpower(b  1,n  0,m>b  N) {Returns b n mod m.} if n=0 then return 1 else return (b·mpower(b,n−1,m)) mod m Note this algorithm takes  (n) steps!

25 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 25 Modular Exponentiation Alg. #2 Uses the fact that b 2k = b k·2 = (b k ) 2. procedure mpower(b,n,m) {same signature} if n=0 then return 1 else if 2|n then return mpower(b,n/2,m) 2 mod m else return (mpower(b,n−1,m)·b) mod m What is its time complexity?

26 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 26 Recursive Euclid’s Algorithm procedure gcd(a,b  N) if a = 0 then return b else return gcd(b mod a, a) Note recursive algorithms are often simpler to code than iterative ones… However, they can consume more stack space, if your compiler is not smart enough.

27 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 27 Merge Sort procedure sort(L = 1,…, n ) if n>1 then m :=  n/2  {this is rough ½-way point} L := merge(sort( 1,…, m ), sort( m+1,…, n )) return L The merge takes  (n) steps, and merge- sort takes  (n log n).

28 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen 28 Merge Routine procedure merge(A, B: sorted lists) L = empty list i:=0, j:=0, k:=0 while i<|A|  j<|B| {|A| is length of A} if i=|A| then L k := B j ; j := j + 1 else if j=|B| then L k := A i ; i := i + 1 else if A i < B j then L k := A i ; i := i + 1 else L k := B j ; j := j + 1 k := k+1 return L Takes  (|A|+|B|) time


Download ppt "Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank. Modified By Mingwu Chen Induction."

Similar presentations


Ads by Google