Top Banner
461191 Discrete Mathematics Lecture 4: Induction and Recursion San Ratanasanya CS, KMUTNB
136

461191 Discrete Mathematics Lecture 4: Induction and Recursion

Jan 04, 2016

Download

Documents

kasper-edwards

461191 Discrete Mathematics Lecture 4: Induction and Recursion. San Ratanasanya CS, KMUTNB. Today’s Topics. Last week review Administrivia Proof Review Mathematical Induction Recursive Definitions Recursive Algorithms Program Correctness. Last week review. Algorithms, - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

461191 Discrete MathematicsLecture 4: Induction and Recursion

San Ratanasanya

CS, KMUTNB

Page 2: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Today’s Topics

Last week review Administrivia Proof Review Mathematical Induction Recursive Definitions Recursive Algorithms Program Correctness

Page 3: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

3

Last week review

Algorithms,The Integers, and

Matrices

Page 4: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Algorithm

is a finite set of precise instructions for performing a computation or for solving a problem.

Page 5: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

PseudocodeAlgorithm 1 Finding the maximum element in a Finite Sequence.

procedure max (a1, a2,…, an : integers)max := a1for i := 2 to n

if max < ai then max := ai{max is the largest element}

Page 6: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Algorithm 2The Linear Search Algorithm

procedure linear search (x : integer; a1, a2,…, an

:distinct integers)i := 1while (i ≤ n and x ≠ ai)

i := i + 1if i ≤n then location := ielse location := 0{location is the subscript of term that equals x, or is 0 if not found}

Page 7: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Algorithm 3 Binary Search Algorithm

procedure binary search (x : integer; a1, a2,…, an

: increasing integers)i := 1 {i is left endpoint of search interval}j := n {j is right endpoint of search interval}while i < jbegin

m := (i + j)/2 if x > am then i := m + 1

else j := mendif x = ai then location := i

else location := 0{location is the subscript of term equal to x, or 0 if x is not found}

Page 8: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

PseudocodesProcedure bubblesort(a1,…,an: real numbers with n 2)

for i := 1 to n-1 for j := 1 to n-1 if aj > aj+1 then interchange aj and aj+1

{a1,…,an is in increasing order}

Page 9: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

The growth of functions

DEFINITION 1 : Let f and g be functions from the set of integers or the set of real numbers to the set of real numbers. We say that f(x) is O(g(x)) if there are constants C and k such that,

|f(x)| ≤ C |g(x)| when x > k

Page 10: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 1 : show that f(x) = x2+2x+1 is O(x2)

case 1 0 ≤ x2+2x+1 ≤ x2+2x2+x2 = 4x2, when x >1So f(x) = O(x2) , when C = 4 and k = 1 Ans

case 2 when x >2 , 2x < x2

0 ≤ x2+2x+1 ≤ x2+x2+x2 = 3x2,when x >2so f(x) = O(x2) when C = 3 and k = 2 Ans

In this example, g(x) = O(f(x)) since x2 ≤ x2+2x+1so, we say that f(x) and g(x) are of the same order

Page 11: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

THEOREM 1 : Let f(x) = anxn+an-1xn-1+…+a1x+a0 where a0,a1,…an are real numbers.Then f(x) is O(xn)

Proof : |f(x)| = | anxn+an-1xn-1+…+a1x+a0 |

≤ |an|xn+|an-1|xn-1+…+|a1|x+|a0|

= xn (|an|+|an-1|x-1+…+ |a1|x(n-1)+ |a0|x-n-1)

≤ xn (|an|+|an-1|+…+ |a1|+ |a0|)

This shows that |f(x)| ≤ C xn when C = (|an|+|an-1|+…+ |a1|+ |a0| and x > 1.

Page 12: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 2 : 1+2+3+…+n = O(?)≤ n +n +…+n = n × n = n2

= O(n2) , C = 1 , k = 1

Example 3 : f(n) = n! = O(?)= 1 * 2 * 3 * …* n≤ n * n * n * …* n= nn ≤ C |g(n)|= O(nn), C = k = 1

Page 13: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Since……n! ≤ nn

log n! ≤ log nn = n log nlog n! = O(n log n)

...n < 2n n = O(2n) , k = C = 1

...log n < n log n = O(n) , k = C = 1

...logbn = log n/log b < n/log b

logbn = O(n) , k = 1 , C = 1/log b

Page 14: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

THEOREM 2 : If f1(x) = O(g1(x)) and f2(x) = O(g2(x))then (f1+f2)(x) = O(max(g1(x), g2(x)))

since |f1(x)| ≤ C1 |g1(x)| , when x > k1 and |f2(x)| ≤ C2

|g2(x)| , when x > k2

|(f1+f2)(x)| = |f1(x) + f2(x)| ≤ |f1(x)| + |f2(x)|

|f1(x)| + |f2(x)| < C1|g1(x)| + C2|g2(x)|

≤ C1|g(x)| + C2|g(x)|

= (C1+C2) |g(x)| = C |g(x)|

when C = C1+C2 , and g(x) = max|(g1(x),g2(x)| ,

k = max(k1,k2)

Page 15: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

THEOREM 3 : Let f1(x) = O(g1(x)) and f2(x) = O(g2(x))(f1 f2)(x) = O( g1(x) g2(x) )

Example 4 : f(n) = 3n log (n!)+(n2+3) log n = O(?), where n = positive integer≤ O(n) O(n log n) + O(2n2) O(log n)≤ O(n2 log n) + O((2n2) log n) = O(3n2 log n)= O(n2 log n)

Example 5 : f(x) = (x+1) log (x2+1) + 3x2 = O(?)

====================================================Commonly Estimated Functions : 1, log n , n , n log n , n2 , 2n , n!

Page 16: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Complexity Analysis of Algorithms

Computational Complexity:

1) Time Complexity: An analysis of the time required to solve a problem.

Time complexity is described in terms of the number of operations required instead of actual computer time, such as comparison, addition, subtraction, multiplication, division, etc.

There are 3 possible cases in time complexitybest case, average case, and worst case

Page 17: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

2) Space Complexity: An analysis of the computer memory required to solve a problem.

space complexity are tied in with the particular data structures used to implement the algorithm.

Page 18: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 1

Describe the time complexity of Algorithm 1 of Section 2.1 for finding the maximum element in a set.

Solution: “The number of comparisons will be used as the measurement of the time complexity of the algorithm, since comparisons are the basic operation used.”

when i = n + 1, there are exactly 2(n - 1) + 1 = 2n - 1 comparisons

Page 19: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 2

Describe the time complexity of linear search algorithm.

Page 20: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

n = 2k or 2k < n < 2k+1

2k elements in the first loop2k-1 elements in the second loop

: :21 elements in the k-1th loop20 elements in the kth loop

At most 2k+2 comparisons= (2 log n ) + 2 = O(log n)

k loops

Page 21: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 3Describe the time complexity of the binary search algorithm.

Solution: For simplicity, assume there are n = 2k elements in the list a1, a2,…,an, where k is a non-negative integer. Note that k = log n

(If n, the number of elements in the list, is not a power of 2, the list can be considered as part of a larger list with 2k + 1 elements, where 2k < n <2k + 1. Here 2k + 1 is the smallest power of 2 larger than n).

Page 22: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 4Average case performance of Linear Search Algorithm

2i + 1 comparisonsi = 1 : 3i = 2 : 5

:i = n : 2n + 1

Average = (3 + 5 + 7 +n…+ 2n + 1)/2 = (2(1+2+n…+ n) + n)/n

Since 1 + 2 + 3 +…+ n = n(n + 1)/2So, the average = 2[n(n + 1)/2] + n = n + 1 + 1 = n + 2 = O(n)

Page 23: 461191 Discrete Mathematics Lecture 4: Induction and Recursion
Page 24: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Polynomial worst-case complexity = tractableO(nb), b is an integer ≥ 1

But when b is large or C is very large problem(takes too long time to solve)

“Intractable” : problem that cannot be solved within Polynomial time.

Page 25: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Big O estimates of time complexity cannot directly tell the actual amount of computer time used.

Knowing the constants C and k makes | f(n)| ≤ C |(g(n))| when n > k

The time each type of operations used is not equivalent. Type of computers can also be different in terms of

specification, and generation.

Page 26: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Asymptotic Notations Big O (Upper bound)

f(n) grow faster than g(n) |f(n)| C|g(n)| when n > k f(n) = O(g(n))

Big (Lower bound) f(n) grow slower than g(n) |f(n)| C|g(n)| when n > k f(n) = (g(n))

Big (Tight bound) f(n) and g(n) have the same rate of growth C1|g(n)| |f(n)| C2|g(n)| when n > k

f(n) = (g(n)) C and k called witness pair.

Page 27: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

The Integers & Division

Definition 1: If a and b are integers with a ≠ 0, we say that a divides b if there is an integer c such that b = ac. When a divides b we say that a is a factor of b and that b is multiple of a. The notation a | b denotes that a divides b. We write a | b when a does not divide b.

THEOREM 1: Let a, b and c be integers. Then1. if a | b and a | c, then a | (b + c);2. if a | b, then a | bc for all integers c;3. if a | b and b | c, then a | c.

Page 28: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Definition 2: A positive integer p greater than 1 is called prime if the only positive factors of p are 1 and p. A positive integer that is greater than 1 and is not prime is called composite.

THEOREM 2: THE FUNDAMENTAL THEOREM OF ARITHMETICEvery positive integer greater than 1 can be written uniquely as a primeor as the product of two or more primes where the prime factors arewritten in order of non-decreasing size.

Page 29: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 1The prime factorizations of 100, 641, 999, and 1024 are given by

100 = 2255 = 2252,641 = 641,999 = 33337 = 33 37,1024 = 2222222222 = 210

THEOREM 3: If n is a composite integer, then n has a prime divisor less than or equal to n

Page 30: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

THE DIVISION ALGORITHM

THEOREM 6: THE DIVISION ALGORITHMLet a be an integer and d a positive integer. Then there areunique integers q and r, with 0 ≤ r < d, such that

a = dq + r

Page 31: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Definition 3: In the equality given in the division algorithm, d is called the divisor, a is called the dividend, q is called the quotient, and r is called the remainder.

Definition 4: Let a and b be integers, not both zero. The largest integer d such that d|a and d|b is called the greatest common divisor of a and b. The greatest common divisor of a and b is denoted by gcd(a, b).

Page 32: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Definition 5: The integer a and b are relatively prime if their greatest common divisor is 1.

Example: gcd (17, 22) = 1 17, 22 = relatively prime

Definition 6: The integer a1, a2,…, an are pairwise relatively prime if gcd(ai, aj) = 1 whenever 1 ≤ i < j ≤ n.

Page 33: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example: 10, 17, 21 are pairwise relatively prime?10, 19, 24 are pairwise relatively prime?

Page 34: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Definition 7: The least common multiple of the positive integers a and b is the smallest positive that is divisible by both a and b. The least common multiple of a and b is denoted lcm(a, b).

Example: What is the least common multiple of 233572 and 2433?

Solution: We havelcm(233572, 2433) = 2max(3, 4)3max(5, 3)7max(2, 0) = 243572

Page 35: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

THEOREM 7: Let a and b be positive integers.Then ab = gcd(a, b) lcm(a, b)

Page 36: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

MODULAR ARITHMATICLet a be an integer and m be a positive integer. We denote “a mod m”the remainder when a is divided by m.

Definition 8: If a and b are integers and m is a positive integer, then

a is congruent to b modulo m, if m divides a - b.

The notation a ≡ b (mod m) is used to indicate that a is congruent to bmodulo m. If a and b are not congruent modulo m, a ≡ b (mod m).

Page 37: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Theorem 8: Let a and b be integers, and let m be a positive integer. Then a ≡ b (mod m) if and only if a mod m = b mod m.

Example: Determine whether 17 is congruent to 5 modulo 6 andwhether 24 and 14 are congruent modulo 6.

Solution: Since 6 divides 17 - 5 = 12, we see that 17 ≡ 5 (mod 6).However, since 24 - 14 = 10 is not divisible by 6, we see that24 ≡ 14 (mod 6).

Page 38: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Applications of Number Theory Puzzle Cryptography

Caesar’s Ciphering RSA

Computer Graphics Signal processing Thermodynamics Quantum Physics etc.

Modular Arithmetic

Chinese Remainder Theorem

Page 39: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Matrices Matrix equality

Equals in number of rows and columns, and elements

Matrix Arithmetic Addition, multiplication

Identity matrix AIn = ImA = A

Transpose and Inverse matrix Boolean product

Page 40: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Administrivia

Homework due today 1.6-1.8

Homework 3 is out today Study by yourself

Prolog and Python Programming Assignments will be

coming soon!!

Page 41: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

41

Proof Review: Basic Proof Methods

Page 42: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

42

Nature & Importance of Proofs In mathematics, a proof is:

A sequence of statements that form an argument. Must be correct (well-reasoned, logically valid) and

complete (clear, detailed) that rigorously & undeniably establishes the truth of a mathematical statement.

Why must the argument be correct & complete? Correctness prevents us from fooling ourselves. Completeness allows anyone to verify the result.

Page 43: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

43

Rules of Inference

Rules of inference are patterns of logically valid deductions from hypotheses to conclusions.

We will review “inference rules” (i.e., correct & fallacious), and “proof methods”.

Page 44: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

44

Visualization of Proofs

Various TheoremsVarious Theorems

The AxiomsThe Axiomsof the Theoryof the Theory

A Particular TheoryA Particular Theory

A proofA proof

Rules Rules Of Of InferenceInference

Page 45: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

45

Inference Rules - General Form Inference Rule –

Pattern establishing that if we know that a set of hypotheses are all true, then a certain related conclusion statement is true.

Hypothesis 1 Hypothesis 2 … conclusion “” means “therefore”

Page 46: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

46

Inference Rules & Implications

Each logical inference rule corresponds to an implication that is a tautology.

Hypothesis 1 Inference rule Hypothesis 2 … conclusion

Corresponding tautology: ((Hypoth. 1) (Hypoth. 2) …) conclusion

Page 47: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

47

Formal Proofs A formal proof of a conclusion C, given

premises p1, p2,…,pn consists of a sequence of steps, each of which applies some inference rule to premises or to previously-proven statements (as hypotheses) to yield a new true statement (the conclusion).

A proof demonstrates that if the premises are true, then the conclusion is true (i.e., valid argument).

Page 48: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

48

Common Fallacies A fallacy is an inference rule or other proof

method that is not logically valid. May yield a false conclusion!

Fallacy of affirming the conclusion: “pq is true, and q is true, so p must be true.”

(No, because FT is true.) Fallacy of denying the hypothesis:

“pq is true, and p is false, so q must be false.” (No, again because FT is true.)

Page 49: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

49

Common Fallacies - Examples “If you do every problem in this book, then you

will learn discrete mathematics. You learned discrete mathematics.”

p: “You did every problem in this book”q: “You learned discrete mathematics”

Fallacy of affirming the conclusion:pq and q does not imply p

Fallacy of denying the hypothesis:pq and p does not imply q

Page 50: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

50

Inference Rules for Quantifiers x P(x)

P(o) (substitute any object o) P(g) (for g a general element of u.d.)

x P(x) x P(x)

P(c) (substitute a new constant c) P(o) (substitute any extant object o)

x P(x)

Page 51: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

51

Proof Methods Proving pq

Direct proof: Assume p is true, and prove q. Indirect proof: Assume q, and prove p. Trivial proof: Prove q true. Vacuous proof: Prove p is true.

Proving p Proof by contradiction: Prove p (r r) (r r is a contradiction); therefore p must be false.

Prove (a b) p Proof by cases: prove (a p) and (b p).

More …

Page 52: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

52

What you might writeTheorem:

x,y: Rational(x) Irrational(y) → Irrational(x+y)

Proof: Let x, y be any rational and irrational numbers, respectively. … (universal generalization)

Now, just from this, what do we know about x and y? You should think back to the definition of rational:

“… Since x is rational, we know (from the very definition of rational) that there must be some integers i and j such that x = i/j. So, let ix,jx be such integers …”

We give them unique names so we can refer to them later.

Page 53: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

53

What next?What do we know about y? Only that y is irrational: ¬ integers i,j:

y = i/j.

But, it’s difficult to see how to use a direct proof in this case. We could try indirect proof also, but in this case, it is a little simpler to just use proof by contradiction (very similar to indirect).

So, what are we trying to show? Just that x+y is irrational. That is, ¬i,j: (x + y) = i/j.

What happens if we hypothesize the negation of this statement?

Page 54: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

54

More writing…Suppose that x+y were not irrational. Then x+y would be rational,

so integers i,j: x+y = i/j. So, let is and js be any such integers where x+y = is/ js.

Now, with all these things named, we can start seeing what happens when we put them together.

So, we have that (ix/jx) + y = (is/js).

Observe! We have enough information now that we can conclude something useful about y, by solving this equation for it.

Page 55: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

55

Finishing the proof.Solving that equation for y, we have:

y = (is/js) – (ix/jx) = (isjx – ixjs)/(jsjx)

Now, since the numerator and denominator of this expression are both integers, y is (by definition) rational. This contradicts the assumption that y was irrational. Therefore, our hypothesis that x+y is rational must be false, and so the theorem is proved.

Page 56: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

56

Proof by CasesTo prove

we need to prove

Example: Show that |xy|=|x| |y|, where x,y are real numbers.

1 2( ... )np p p q

1 2( ) ( ) ... ( )np q p q p q

Page 57: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

57

Equivalence of a group of propositions

To prove

we need to prove

1 2[ ... ]np p p

1 2 2 3 1[( ) ( ) ...( )]np p p p p p

Page 58: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

58

Proof of Equivalences

( )p q

To proveTo prove

we need to provewe need to prove

ExampleExample: Prove that : Prove that n n is odd iff is odd iff nn2 2 is odd.is odd.

p q

( ) ( )p q q p

Page 59: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

59

Example Show that the statements below are

equivalent: p1: n is even

p2: n-1 is odd

p3: n2 is even

Page 60: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

60

Counterexamples When we are presented with a statement

of the form xP(x) and we believe that it is false, then we look for a counterexample.

Example Is it true that “every positive integer is the sum

of the squares of three integers?”

Page 61: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

61

Proving Existentials A proof of a statement of the form x P(x)

is called an existence proof. If the proof demonstrates how to actually

find or construct a specific element a such that P(a) is true, then it is called a constructive proof.

Otherwise, it is called a non-constructive proof.

Page 62: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

62

Constructive Existence Proof Theorem: There exists a positive integer n

that is the sum of two perfect cubes in two different ways: equal to j3 + k3 and l3 + m3 where j, k, l, m are

positive integers, and {j,k} ≠ {l,m} Proof: Consider n = 1729, j = 9, k = 10,

l = 1, m = 12. Now just check that the equalities hold.

Page 63: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

63

Another Constructive Existence Proof

Definition: A composite is an integer which is not prime.

Theorem: For any integer n>0, there exists a sequence of n consecutive composite integers.

Same statement in predicate logic:n>0 x i (1in)(x+i is composite)

Page 64: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

64

The proof... Given n>0, let x = (n + 1)! + 1. Let i 1 and i n, and consider x+i. Note x+i = (n + 1)! + (i + 1). Note (i+1)|(n+1)!, since 2 i+1 n+1. Also (i+1)|(i+1). So, (i+1)|(x+i). x+i is composite. n x 1in : x+i is composite. Q.E.D.

Page 65: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

65

Non-constructive Existence Proof Theorem:

“There are infinitely many prime numbers.” Any finite set of numbers must contain a maximal

element, so we can prove the theorem if we can just show that there is no largest prime number.

i.e., show that for any prime number, there is a larger number that is also prime.

More generally: For any number, a larger prime. Formally: Show n p>n : p is prime.

Page 66: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

66

The proof, using proof by cases... Given n>0, prove there is a prime p>n. Consider x = n!+1. Since x>1, we know

(x is prime)(x is composite). Case 1: x is prime. Obviously x>n, so let p=x

and we’re done. Case 2: x has a prime factor p. But if pn,

then p mod x = 1. So p>n, and we’re done.

Page 67: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

67

Limits on Proofs Some very simple statements of number

theory haven’t been proved or disproved! E.g. Goldbach’s conjecture: Every integer n≥2 is

exactly the average of some two primes. n≥2 primes p,q: n=(p+q)/2.

There are true statements of number theory (or any sufficiently powerful system) that can never be proved (or disproved) (Gödel).

Page 68: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

68

Circular Reasoning The fallacy of (explicitly or implicitly) assuming the

very statement you are trying to prove in the course of its proof.

Example: Prove that an integer n is even, if n2 is even.Attempted proof: “Assume n2 is even. Then n2=2k for

some integer k. Dividing both sides by n gives n = (2k)/n = 2(k/n). So there is an integer j (namely k/n) such that n=2j. Therefore n is even.”

Begs the question: How doyou show that j=k/n=n/2 is an integer, without first assuming n is even?

Page 69: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

69

Mathematical Induction

Page 70: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Mathematical Induction is widely used for Discrete Objects:

Prove results ~ complexity of algorithms Prove correctness of some kinds of computer

programs Prove theory about graph and tree Prove identities and inequalities

70

Page 71: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

71

Mathematical Induction A powerful, rigorous technique for proving

that a predicate P(n) is true for every natural number n, no matter how large.

Based on a predicate-logic inference rule:

P(0)n0 (P(n)P(n+1))n0 P(n)

Page 72: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

72

Infinite Ladder We know two things:

(1) We can reach the first rung of the ladder

(2) If we can reach a particular rung of the ladder, then we can reach the next rung.

Can we conclude that we can reach every rung?

Page 73: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

73

Infinite Ladder

By (1), we can reach the 1st rung.

By (2), we can reach the 2nd rung, because it is next to the 1st rung.

By (2), because it is next to the 2nd rung, we can reach the 3rd rung.

By (2), because we can reach the 100th rung, we can reach the 101st rung.

Page 74: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

74

Example

Page 75: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

75

Example

Page 76: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

76

Mathematical Induction Two parts:

Show that the statement holds for the positive integers 1

Show that if the statement holds for a positive integer then it must also hold for the next larger integer

Based on the rule of inference for positive integers:

)())}1()(()1({ nPkPkPkP

Page 77: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

77

Principle of Mathematical Induction

To prove that P(n) is true for all positive integers n, where P(n) is a propositional function, we complete two steps: Basis step: We verify that P(1) is true. Inductive step: We show that the conditional

statement P(k) P(k+1) is true for all positive integers k.

)())]1()(()1([ nPkPkPkP

Page 78: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Proof by Mathematical Induction

P(n) is true for every positive integer n1) Basic step

P(1) = TRUE2) Inductive step

P(k) →P(k+1) , for n

[p(1) k[P(k) →P(k+1)]] →n P(n)if P(k) is assumed to be True, then P(k+1)is also True

78

Page 79: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

79

Example: Prove that if n is a positive integer, then

กำ��หนด P(n): sum of the first n positive integers is n(n+1)/2

กำ�รพิสู�จน� P(n) มี� 2 ขั้��นตอน Basis step: ห�ค่��ขั้อง P(1)

ด�งน��น P(1) เป็�นจรง

2

)1(...21

nnn

12

2

2

)11)(1()1(

P

Page 80: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

80

Example: Prove that if n is a positive integer, then

Inductive step: สูมีมีต P(k) เป็�นจรง แล้�วห� P(k+1)สู��หร�บ P(k) จะได�

ด�งน��น สู��หร�บ P(k+1) จะต�องแสูดงว�� P(k+1) เป็�นจรง น�#นค่$อต�องแสูดงว��

2

)1(...21

nnn

2

)1(...21

kkk

2

)2)(1(2

)11)(1()1(...21

kk

kkkk

Page 81: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

81

Example: Prove that if n is a positive integer, then

สู��หร�บ P(k+1) เร�น��สูมีกำ�รขั้อง P(k) มี�ใช้� โดยกำ�รบวกำ k+1 กำ�บทั้��งสูองขั้��งขั้องสูมีกำ�ร จะได�

ซึ่+#งแสูดงให�เห,นว�� P(k+1) เป็�นจรง

2

)1(...21

nnn

2

)2)(1(2

23

2

22

2

)1(2)1(

)1(2

)1()1(...21

2

2

kk

kk

kkk

kkk

kkk

kk

Page 82: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

82

Example: Prove that if n is a positive integer, then

We have completed the basis step and the inductive step, so by mathematical induction we know that P(n) is true for all positive integers n. That is, we have proven that

for all positive integers n.

2

)1(...21

nnn

2

)1(...21

nnn

Page 83: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

83

Example2: Prove that the sum of the first n positive odd integers is n2

nth positive odd integer is 2n-1 P(n): Prove

Basis step: P(1) เป็�นจรง เน$#องจ�กำ1 = 12

2)12(...31 nn

Page 84: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

84

Example2: Prove that the sum of the first n positive odd integers is n2

Inductive step: P(k)P(k+1) สูมีมีต P(k) เป็�นจรง น�#นค่$อ 1+3+…+(2k-1) = k2

ห�ค่��ขั้อง P(k+1) เน$#องจ�กำเล้ขั้ค่�#ต�วทั้�# k+1 ค่$อ 2(k+1)-1 = 2k+1 ด�งน��น

1+3+…+(2k-1)+(2k+1) = k2+2k+1 = (k+1)2

แสูดงว�� P(k+1) เป็�นจรง ด�งน��นจ+งสูร-ป็ได�ว�� P(n) เป็�นจรง

Page 85: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example3Prove that n3-n is divisible by 3, whenever n is a positive integer.Let P(k) : k3-k is divisible by 3.Basic step : P(1) : 13-1 = 0 is divisible by 3Inductive step :

if we assume P(k) = True,P(k) = k3-k -------(1)then P(k + 1) must be True,P(k + 1) = (k + 1)3 - (k + 1) -------(2)Proof : from (2),(k + 1)3 - (k + 1) = (k3 + 3k2 + 3k + 1) - (k+1) = (k3-k) + 3(k2 + k)

85

Page 86: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 4 : Prove that 1+2+22+…+2n = 2n+1-1 Step1 : P(0) = 1 = 21-1 = 1 is true Step2 :

Example 5 : Prove (sum of Geometric Progressions)

86

Page 87: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example 6: An Inequality for Harmonic Numbers

Show that

Example 7: Prove that 2n < n! For n = positive integer and n ≥ 4

87

Page 88: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

88

Another Induction Example Prove that , n<2n. Let P(n)=(n<2n)

Base case: P(0)=(0<20)=(0<1)=T. Inductive step: For prove P(n)P(n+1).

Assuming n<2n, prove n+1 < 2n+1. Note n + 1 < 2n + 1 (by inductive hypothesis)

< 2n + 2n (because 1<2=22022n-1= 2n) = 2n+1

So n + 1 < 2n+1, and we’re done.

0n

0n

Page 89: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

89

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 nN, assume P(n). (inductive hypothesis) Under this assumption, prove P(n+1).

Inductive inference rule then gives n P(n).

Page 90: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

90

Validity of Induction Prove: if n0 (P(n)P(n+1)), then k0 P(k)

(a) Given any k0, n0 (P(n)P(n+1)) implies (P(0)P(1)) (P(1)P(2)) … (P(k1)P(k))

(b) Using hypothetical syllogism k-1 times we have P(0)P(k)

(c) P(0) and modus ponens gives P(k).

Thus k0 P(k).

Page 91: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

91

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. SN : mS : nS : mn

Page 92: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

92

Use Well-Ordering Property and Proof by Contradiction

Suppose P(0) is true and that P(k)P(k+1) is true for all positive k.

Assume P(n) is false for some positive n. Implies S={n|P(n)} is non-empty and has a

minimum element m (i.e., P(m)=false) But then, P(m-1)P((m-1)+1)=P(m) which is

a contradiction!

Page 93: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

93

Generalizing Induction Can also be used to prove nc P(n) for a

given constant cZ, where maybe c0, then: Base case: prove P(c) rather than P(0) The inductive step is to prove: nc (P(n)P(n+1)).

Page 94: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

94

Induction Example Prove that the sum of the first n odd positive

integers is n2. That is, prove:

Proof by induction. Base case: Let n=1. The sum of the first 1 odd positive

integer is 1 which equals 12.(Cont…)

2

1

)12(:1 ninn

i

P(n)

Page 95: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

95

Example cont. Inductive step: Prove n 1: P(n)P(n+1).

Let n 1, assume P(n), and prove P(n+1).

2

2

1

1

1

)1(

12

)1)1(2()12()12(

n

nn

niin

i

n

i

By inductivehypothesis P(n)

Page 96: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

96

Strong Induction Characterized by another inference rule:

P(0)n0: (0kn P(k)) P(n+1)n0: P(n)

Difference with previous version is that the inductive step uses the fact that P(k) is true for all smaller , not just for k=n.

P is true in all previous cases

k n

P(1) P(2) P(3) ... P( ) P( 1)n n

Page 97: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

97

Example 1

Show that every n>1 can be written as a product p1p2…ps of some series of s prime numbers. Let P(n)=“n has that property”

Base case: n=2, let s=1, p1=2.Inductive step: Let n2. Assume 2kn: P(k).

Consider n+1. If prime, let s=1, p1=n+1.Else n+1=ab, where 1<an and 1<bn.Then a=p1p2…pt and b=q1q2…qu. Then n+1= p1p2…pt q1q2…qu, a product of s=t+u primes.

Page 98: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

98

Example 2

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 12n15, P(n).

Inductive step: Let n15, assume 12kn P(k). Note 12n3n, so P(n3), so add a 4-cent stamp to get postage for n+1.

Page 99: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

99

Example 3

Suppose a0, a1, a2, … is defined as follows: a0=1, a1=2, a2=3, ak = ak-1+ak-2+ak-3 for all integers k≥3.

Then an ≤ 2n for all integers n≥0. P(n)

Proof (by strong induction): 1) Basis step: The statement is true for n=0: a0=1 ≤1=20 P(0)

for n=1: a1=2 ≤2=21 P(1) for n=2: a2=3 ≤4=22 P(2)

Page 100: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

100

Example 3 (cont’d)2) Inductive hypothesis: For any k>2,

Assume P(i) is true for all i with 0≤i<k: ai ≤ 2i for all 0≤i<k .

3) Inductive step: Show that P(k) is true: ak ≤ 2k

ak= ak-1+ak-2+ak-3

≤ 2k-1+2k-2+2k-3 (using inductive hypothesis) ≤ 20+21+…+2k-3+2k-2+2k-1

= 2k-1 (as a sum of geometric sequence)

≤ 2k

Thus, P(n) is true by strong induction.

Page 101: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

101

Recursive

Page 102: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Recursive definition

When it is difficult to define an object explicitly. It may be easier to define the object in terms of itself. This process is call “Recursive Process”

Ex : an = 3n for n = 0,1,2,…

can be defined as a0 = 1 , and an+1 = 3an

102

Page 103: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Discrete Mathematics for Computer Science 103

Example

Page 104: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

104

Recursively Defined Function Define the function in terms of itself. Two steps

Basis step: Specify the value of the function at zero

Recursive step: Give a rule for finding its value at an integer from its values at smaller integers.

Also called recursive/inductive definition

Page 105: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Recursively defined functions

To define a function f(n) where n = 0, 1, 2,…Basic Step:

Specify the value of the function f(0)Recursive Step:

Give the rule for finding f(n+1) in terms of f(n)

105

Page 106: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

106

Example

Page 107: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

107

Example

Suppose that f is defined recursively by f(0) = 3 f(n+1) = 2f(n) + 3

Find f(1), f(2), f(3) and f(4) f(1) = 2f(0) + 3 = 2(3) + 3 = 6 + 3 = 9 f(2) = 2f(1) + 3 = 2(9) + 3 = 18 + 3 = 21 f(3) = 2f(2) + 3 = 2(21) + 3 = 42 + 3 = 45 f(4) = 2f(3) + 3 = 2(45) + 3 = 90 + 3 = 93

Page 108: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

108

Example: Factorial Factorial function F(n) = n! where

F(0) = 1 F(n+1) = (n+1)F(n)

Find F(5)F(5) = 5 · F(4) = 5 · 4 · F(3) = 5 · 4 · 3 · F(2)

= 5 · 4 · 3 · 2 · F(1) = 5 · 4 · 3 · 2 · 1 · F(0) = 5 · 4 · 3 · 2 · 1 · 1 = 120

Page 109: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

109

Example: Fibonacci Number

Definition: The Fibonacci numbers, ,

are defined by the equation

and for n = 2,3,4,… Find

,...,, 210 fff

1,0 10 ff

21 nnn fff

65432 ,,,, fffff

Page 110: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

110

Example: Fibonacci Numbers (cont.)

835

523

312

211

101

456

345

234

123

012

fff

fff

fff

fff

fff

Page 111: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

111

Recursively Defined Sets Two steps

Basis step: an initial collection of elements is specified

Recursive step: rules for forming new elements in the set from those already known to be in the set are provided

Page 112: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

112

Example The subset S of the set of integers defined

by Basis step: 3 Є S Recursive step:

If x Є S and y Є S, then x + y Є S.

S = { 3, 6, 9, 12, … }

Page 113: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

113

Recursive Algorithms

Page 114: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Recursive Algorithms An algorithm is said to be recursive if it

solves a problem by reducing it to an instance of the same problem with smaller input

Page 115: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Examples See example 1-6 of Section 4.4 on pages

311-314procedure factorial (n: nonnegative integer)

if n = 0 then factorial (n) := 1else factorial (n) := nfactorial (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)

Page 116: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Proving Recursive Algorithms

Applies proof by induction either mathematical or strong

induction Two steps

Basis step: prove that P(1) is true Inductive step: assume inductive

hypothesis P(k) is ture and prove that P(k+1) is also true

Page 117: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

ExampleProve that Algorithm 2, which computes powers of realnumbers, is correct

Basis Step: if n = 0, power(a, 0) = 1. This is correct.Inductive Step: the inductive hypothesis is power(a,k) = ak for a 0for nonnegative integer k. We have to show that power(a,k+1) = ak+1.

Since power (a, k+1) = apower (a, k) = a ak a= ak+1. This complete the inductive step.

Algorithm 2procedure power (a: nonzero real numbers, n: nonnegative integers with a<b) if n = 0 then power (a, n) := 1 else power (a, n) := apower (a, n-1)

Page 118: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Iterative Approach

Iterative approach is an approach to evaluate a recursively defined sequence that often requires much less computation than recursive.

By setting the value at the base case of the function and successively apply the recursive definition

Page 119: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Exampleprocedure fibonacci (n: nonnegative integer)

if n = 0 then fibonacci (0) := 0else if n = 1 then factorial (1) := 1else fibonacci (n) := fibonacci (n-1) + fibonacci (n-2)

procedure iterative fibonacci (n: nonnegative integer)if n = 0 then y := 0elsebegin

x := 0y := 0for i := to n-1begin

z := x+yx := yy := z

endend

{y is the nth fibonacci number}

Page 120: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Merge Sortprocedure mergesort (L: a1, a2, …, an)if n > 1 then begin m := n/2 L1 := a1, a2, …, am

L2 := am+1, am+2, …, an

L := merge ( mergesort (L1), mergesort (L2) )end{L is now sorted into elements in nondecreasing order}

Page 121: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

121

Program Correctness

Page 122: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program Correctness How to ensure that a program is correct?

Test with some data Program verification

Tests with data are subjective to data What about other untested data?

Program verification = proof of correctness of programs

Give strong assurance Independent to data

Page 123: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program Correctness A program is correct if it produces the corre

ct output for every required input

program

Initial State Final State

• x is greater than 0• x > 0

• y is the square root of x• y = x

Page 124: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program Correctness Program correctness =

Program specification + Proof methods (verification)

Program specification Describe program effects Describe Input and output Use mathematical precise notation

Page 125: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program VerificationDefinition 1:A program, or program segment, S is said to be partially correct withrespect to the initial assertion p and the final assertion q if whenever p is true for the input values of S and S terminates, then q is true for the output values of S. The notation p{S}q indicates that the program, or program segment, S is partially correct with respect to the initial assertion p and final assertion q.

Page 126: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Initial and Final Assertions Initial Assertion

The properties that the input values must have

Final Assertion The properties that the output values

of the program should have Hoare triple notation

p{S}q

Page 127: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program Specification Description about input and output = assertion

Logical formula – two propositions Initial assertion and final assertion

Program specification focuses on properties Not describe procedures to compute output from input

Program specification is more precise than informal specification eg. English language

Flow charts, Diagrams

Page 128: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Proof Methods Proof methods = inference rules about input an

d output of each program statement

To prove that a program will produce desired output by reading some specified input

Page 129: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Program Correctness Logic We focus on imperative programming languages

allows destructive assignment, eg. x := y Like C, C++, Java, etc.

Program specification is due to Hoare triples Proof method is due to Floyd-Hoare logic We normally split program into series of subprograms

and prove that each section is true then we show that the program is correct using rules of inference.

Page 130: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Example

Show that this program segment is correct with respect to the initial assertion p: x = 1 andthe final assertion q: z = 3

SolutionSuppose that p is true then z equals to 3. Hence, p{S}q is true which means this program is correct.

y := 2z := x +y

Page 131: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Rules of Inference Composition Rule

we write S = S1;S2 to show that a program S is made up of subprogram S1 followed by S2.

Suppose that p{S1}q is ture and q{S2}r is true if p is true and S = {S1;S2} is executed and terminates,

then r is true. p{S1}q q{S2}rp{S1;S2

}r

Page 132: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Rules of inference Conditional Statements

(p condition){S}q (p condition) qp{if condition then S}q

(p condition){S1}q (p condition){S2}q p{if condition then S1 else S2}q

If condition then S

If condition then S1

else S2

Page 133: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Rules of inference

Loop Invariants An assertion that remains true each time

S is executed must be chosen and such assertion is called loop invariant.

(p condition){S}pp{while condition S}( condition p)

while condition S

Page 134: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

ExampleVerify that the program segment is correct with respect to the initial assertion T and the final assertion abs = |x|

Solution We have to show two things- If the initial assertion is true and x < 0, then abs = |x|- If the initial assertion is true and x >0, then abs = xThese are true, thus this program segment is correct

If x < 0 then abs := -xelse abs := x

Page 135: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Excercise

Prove that this program is correct.

procedure multiply (m, n: integers)if n < 0 then a := -nelse a := nk := 0x := 0

while k < abegin x := x + m k := k + 1end

if n < 0 then product := -xelse product := x

S1

S2

S3

S4

Page 136: 461191 Discrete Mathematics Lecture 4: Induction and Recursion

Homework 4 Section 4.1

3, 6, 10, 16, 23, 32, 48, 49, 51, 78 Section 4.2

4, 9, 16, 29, 39 Section 4.3

4, 6, 8, 24, 25, 58 Section 4.4

4, 19, 34, 42, 44 Section 4.5

1, 4, 7 Supplementary

4, 14, 27, 37, 47, 51

136