Induction and Recursion. Odd Powers Are Odd Fact: If m is odd and n is odd, then nm is odd. Proposition: for an odd number m, m k is odd for all non-negative.

Slides:



Advertisements
Similar presentations
22C:19 Discrete Structures Induction and Recursion Spring 2014 Sukumar Ghosh.
Advertisements

22C:19 Discrete Structures Induction and Recursion Fall 2014 Sukumar Ghosh.
Recursive Definitions and Structural Induction
Recursively Defined Functions
UCI ICS/Math 6A, Summer Recursion -1 after Strong Induction “Normal” Induction “Normal” Induction: If we prove.
Induction Lecture 5: Sep 21 (chapter of the book and chapter of the notes)
Induction and recursion
UCI ICS/Math 6D5-Recursion -1 Strong Induction “Normal” Induction “Normal” Induction: If we prove that 1) P(n 0 ) 2) For any k≥n 0, if P(k) then P(k+1)
CSE115/ENGR160 Discrete Mathematics 04/03/12 Ming-Hsuan Yang UC Merced 1.
CSE115/ENGR160 Discrete Mathematics 04/05/11 Ming-Hsuan Yang UC Merced 1.
Recursive Definitions Rosen, 3.4. Recursive (or inductive) Definitions Sometimes easier to define an object in terms of itself. This process is called.
CSE115/ENGR160 Discrete Mathematics 03/31/11
Lecture Recursive Definitions. Fractals fractals are examples of images where the same elements is being recursively.
Chapter Mathematical Induction
Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c) , Michael P. Frank. Modified By Mingwu Chen Induction.
1 Section 3.4 Recursive Definitions. 2 Recursion Recursion is the process of defining an object in terms of itself Technique can be used to define sequences,
Induction and Recursion by: Mohsin tahir (GL) Numan-ul-haq Waqas akram Rao arslan Ali asghar.
Induction and recursion
Induction (chapter of the book and chapter of the notes)
Induction and recursion
Discrete Mathematics Chapter 4 Induction and Recursion 大葉大學 資訊工程系 黃鈴玲 (Lingling Huang)
Discrete Mathematics CS 2610 March 26, 2009 Skip: structural induction generalized induction Skip section 4.5.
Induction and recursion
Discrete Mathematics and Its Applications Sixth Edition By Kenneth Rosen Chapter 4 Induction and Recursion 歐亞書局.
1 Introduction to Abstract Mathematics Chapter 4: Sequences and Mathematical Induction Instructor: Hayk Melikya 4.1- Sequences. 4.2,
Chapter 4: Induction and Recursion
Section 5.3. Section Summary Recursively Defined Functions Recursively Defined Sets and Structures Structural Induction.
INDUCTION AND RECURSION. PRINCIPLE OF MATHEMATICAL INDUCTION To prove that P(n) is true for all positive integers n, where P(n) is a propositional function,
Induction and recursion
Chapter 5 With Question/Answer Animations. Section 5.1.
4.3 Recursive Definitions and Structural Induction Sometimes it is difficult to define an object explicitly. However, it may be easy to define this object.
Induction Proof. Well-ordering A set S is well ordered if every subset has a least element. [0, 1] is not well ordered since (0,1] has no least element.
Chap 3 –A theorem is a statement that can be shown to be true –A proof is a sequence of statements to show that a theorem is true –Axioms: statements which.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
Foundations of Discrete Mathematics Chapters 5 By Dr. Dalia M. Gil, Ph.D.
1 Recursive Definitions and Structural Induction CS 202 Epp section ??? Aaron Bloomfield.
Inductive Proofs and Inductive Definitions Jim Skon.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
Chapter 5. Section 5.1 Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If we can reach.
Chapter 5 Kenneth Rosen, Discrete Mathematics and its Applications, 7th edition, McGraw Hill Instructor: Longin Jan Latecki, Copyright.
Chapter 5 With Question/Answer Animations 1. Chapter Summary Mathematical Induction - Sec 5.1 Strong Induction and Well-Ordering - Sec 5.2 Lecture 18.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Section Recursion  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Mathematical Induction And Recursion Discrete Math Team KS MATEMATIKA DISKRIT (DISCRETE MATHEMATICS ) 1.
Fall 2002CMSC Discrete Structures1 Chapter 3 Sequences Mathematical Induction Recursion Recursion.
Chapter 5 1. Chapter Summary  Mathematical Induction  Strong Induction  Recursive Definitions  Structural Induction  Recursive Algorithms.
Induction (chapter of the book and chapter of the notes)
(Proof By) Induction Recursion
Chapter 4: Induction and Recursion
Induction and recursion
Induction and Recursion Chapter 5
Advanced Algorithms Analysis and Design
CS2210:0001Discrete Structures Induction and Recursion
Induction and recursion
Induction and Recursion
Recursively Defined Functions
Mathematical Induction Recursion
Discrete Structures for Computer Science
Chapter 5 Induction and Recursion
Induction and recursion
Applied Discrete Mathematics Week 9: Integer Properties
Chapter 4 Induction and Recursion
Induction Chapter
Advanced Analysis of Algorithms
Induction Rosen 5 Lecture 8: Oct 29, 30.
Induction and recursion
Chapter 4 (Part 2): Mathematical Reasoning, Induction & Recursion
Recursion.
Presentation transcript:

Induction and Recursion

Odd Powers Are Odd Fact: If m is odd and n is odd, then nm is odd. Proposition: for an odd number m, m k is odd for all non-negative integer k. Proof by induction Let P(i) be the proposition that m i is odd. P(1) is true by definition. P(2) is true by P(1) and the fact. P(3) is true by P(2) and the fact. P(i+1) is true by P(i) and the fact. So P(i) is true for all i.

The Induction Rule 0 and (from n to n +1), proves 0, 1, 2, 3,…. R(0), R(n)  R(n+1) m. R(m)m. R(m) Like domino effect… For any n>=0 Very easy to prove Much easier to prove with R(n) as an assumption.

Statements in green form a template for inductive proofs. Proof: (by induction on n) The induction hypothesis, P(n), is: Proof by Induction Let’s prove:

Proof by Induction Base Case (n = 0): Wait: divide by zero bug! This is only true for r  1 Theorem:

Induction Step: Assume P(n) for some n  0 and prove P(n + 1): Proof by Induction Have P (n) by assumption: So let r be any number  1, then from P (n) we have How do we proceed?

Proof by Induction adding r n+1 to both sides, But since r  1 was arbitrary, we conclude (by UG), that which is P (n+1). This completes the induction proof.

Summation Try to prove:

Proving a Property Base Case (n = 1): Induction Step: Assume P(i) for some i  1 and prove P(i + 1):

Proving an Inequality Base Case (n = 3): Induction Step: Assume P(i) for some i  3 and prove P(i + 1):

Prove P(0). Then prove P(n+1) assuming all of P(0), P(1), …, P(n) (instead of just P(n)). Conclude  n.P(n) Strong Induction 0  1, 1  2, 2  3, …, n-1  n. So by the time we got to n+1, already know all of P(0), P(1), …, P(n) Strong induction Ordinary induction equivalent

Claim: Every integer > 1 is a product of primes. Prime Products Proof: (by strong induction) Base case is easy. Suppose the claim is true for all 2 <= i < n. Consider an integer n. In particular, n is not prime. So n = k·m for integers k, m where n > k,m >1. Since k,m smaller than n, By the induction hypothesis, both k and m are product of primes k = p 1  p 2    p 94 m = q 1  q 2    q 214

Prime Products …So n = k  m = p 1  p 2    p 94  q 1  q 2    q 214 is a prime product.  This completes the proof of the induction step. Claim: Every integer > 1 is a product of primes.

Available stamps: 5¢5¢3¢3¢ Theorem: Can form any amount  8¢ Prove by strong induction on n. P(n) ::= can form (n +8)¢. Postage by Strong Induction What amount can you form?

Postage by Strong Induction Base case (n = 0): (0 +8)¢: Inductive Step: assume (m +8)¢ for 0  m  n, then prove ((n +1) + 8)¢ cases: n +1= 1, 9¢: n +1= 2, 10¢:

case n +1  3: let m =n  2. now n  m  0, so by induction hypothesis have: (n  2)+8 = (n +1) Postage by Strong Induction We’re done! In fact, use at most two 5-cent stamps!

Postage by Strong Induction Given an unlimited supply of 5 cent and 7 cent stamps, what postages are possible? Theorem: For all n >= 24, it is possible to produce n cents of postage from 5¢ and 7¢ stamps.

Recursive Definitions and Structural Induction Sometimes it’s easier to define an object in terms of itself. This process is called Recursion. Example: the sequence of powers of 2 is given by a n = 2 n for n = 0, 1, 2, …. This sequence can also be defined by giving the first term of the sequence, namely, a 0 = 1, and a rule finding a term of the sequence from the previous one, namely, a n+1 = 2a n, for n = 0, 1, 2, …. 18

Recursively Defined Functions Use two steps to define a function with the set of nonnegative integers as its domain: BASIS STEP: Specify that value of the function at zero. RECURSIVE STEP: Give a rule for finding its value at an integer from its values at smaller integers. Such a definition is called a recursive or inductive definition. Examples: –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). Solution: f(1) = 2f(0) + 3 = 2*3 + 3 = 9 f(2) = 2f(1) + 3 = 2*9 + 3 = 21 f(3) = 2f(2) + 3 = 2* = 45 f(4) = 2f(3) + 3 = 2* = 93 19

Recursive Examples –Give an inductive definition of the factorial function F(n) = n!. Solution: Basis Step: F(0) = 1 Inductive Step: F(n+1) = (n+1)F(n) E.g. Find F(5). F(5) = 5F(4) = 5*4F(3) = 5*4*3F(2) = 5 * 4 * 3 * 2F(1) = 5 * 4 * 3 * 2 * 1F(0) = 5 * 4 * 3 * 2 * 1 * 1 = 120 –Give a recursive definition of. Solution: Basis Step: Inductive Step: 20

Example: Find the Fibonacci numbers f 2, f 3, f 4, f 5, and f 6. Solution: f 2 = f 1 + f 0 = = 1, f 3 = f 2 + f 1 = = 2, f 4 = f 3 + f 2 = = 3, f 5 = f 4 + f 3 = = 5, f 6 = f 5 + f = 8. Example: Find the Fibonacci numbers f 7. Solution ? 21 DEFINITION 1 The Fibonacci numbers, f 0, f 1, f 2, …, are defined by the equations f 0 = 0, f 1 = 1, and f n = f n-1 + f n-2 for n = 2, 3, 4, …. Fibonacci Number

The basis step of the recursive definition of strings says that the empty string belongs to ∑*. The recursive step states that new strings are produced by adding a symbol from ∑ to the end of strings in ∑*. At each application of the recursive step, strings containing one additional symbol are generated. Example: If ∑ = {0,1}, the strings found to be in ∑*, the set of all bit strings are λ, specified to be in ∑* in the basis step, 0 and 1 formed during the first application of the recursive step, 00, 01, 10, and 11 formed during the second application of the recursive step, and so on. 22 DEFINITION 2 The set ∑* of strings over the alphabet ∑ can be defined recursively by BASIS STEP: λ ∑* (where λ is the empty string containing no symbols). RECURSIVE STEP: If w ∑* and x ∑, then wx ∑*. Recursively Defined Sets and Structures

We can define the set of well-formed formulae for compound statement forms involving T, F, propositional variables, and operators from the set {¬, Λ, V, →, ↔ }. BASIS STEP: T, F, and s, where s is a propositional variable, are well-formed formulae. RECURSIVE STEP: If E and F are well-formed formulae, then (¬E), (E Λ F), (E V F), (E → F), and (E ↔ F) are well-formed formulae. By the basis step we know that T, F, p, and q are well-formed formulae, where p and q are propositional variables. From an initial application of the recursive step, we know that (p V q), (p → F), (F → q), and (q Λ F) are well-formed formulae. A second application of the recursive step shows that ((p V q) → (q Λ F)), (q V (p V q)), and ((p → F) → T) are well-formed formulae. 23 Well-Formed Formulae for Compound Statement Forms.

24 DEFINITION 4 The set of rooted trees, where a rooted tree consists of a set of vertices containing a distinguished vertex called the root, and edges connecting these vertices, can be defined recursively by these steps: BASIS STEP: A single vertex r is a rooted tree. RECURSIVE STEP: Suppose that T 1, T 2, …, T n are disjoint rooted trees with roots r 1, r 2, …, r n, respectively. Then the graph formed by starting with a root r, which is not in any of the rooted trees, T 1, T 2, …, T n, and adding an edge from r to each of the vertices r 1, r 2,.., r n, is also a rooted tree. Rooted Tree

25

26 DEFINITION 5 The set of extended binary trees can be defined recursively by these steps: BASIS STEP: The empty set is an extended binary tree. RECURSIVE STEP: IfT 1 and T 2 are disjoint extended binary trees, there is an extended binary tree, denoted by T 1 ·T 2, consisting of a root r together with edges connecting the root to each of the roots of the left subtree T 1 and the right subtree T 2 when these trees are nonempty. Extended Binary Tree

27

28 DEFINITION 6 The set of full binary trees can be defined recursively by these steps: BASIS STEP: There is a full binary tree consisting only of a single vertex r. RECURSIVE STEP: IfT 1 and T 2 are disjoint full binary trees, there is full binary tree, denoted by T 1 ·T 2, consisting of a root r together with edges connecting the root to each of the roots of the left subtree T 1 and the right subtree T 2. Full Binary Tree

29

Example: Give a recursive algorithm for computer n!, when n is a nonnegative integer. Basis Step: F(0) = 1 Inductive Step: F(n+1) = (n+1)F(n) E.g. Find F(5). F(5) = 5F(4) = 5*4F(3) = 5*4*3F(2) = 5 * 4 * 3 * 2F(1) = 5 * 4 * 3 * 2 * 1F(0) = 5 * 4 * 3 * 2 * 1 * 1 = DEFINITION 1 An algorithm is called recursive if it solves a problem by reducing it to an instance of the same problem with smaller input. Recursive Algorithms ALGORITHM 1 A Recursive Algorithm for Computing n!. procedure factorial(n: nonnegative integer) if n = 0 then factorial(n):=1 else factorial(n):=n*factorial(n-1)

Example: Give a recursive algorithm for computer a n, where a is a nonzero number and n is a nonnegative integer 31 Recursive Algorithms ALGORITHM 2 A Recursive Algorithm for Computing a n. procedure power(a: nonzero real number, n: nonnegative integer) if n = 0 then power(a,n):=1 else power(a,n):=a*power(a, n-1)

Example: Express the linear search algorithm as a recursive procedure. 32 Linear Search ALGORITHM 5 A Recursive Linear Search Algorithm. procedure search(i,j,x: i,j,x integers, 1 <=i<=n, 1<=j<=n) if a i = x then location := i else if i = j then location : = 0 else search(i+1,j, x)

Example: Construct a recursive version of a binary search algorithm 33 Binary Search ALGORITHM 6 A Recursive Binary Search Algorithm. procedure binarySearch(i,j,x: i,j,x integers, 1 <= i <= n, 1<= j <= n) m := if x = a m then location := m else if (x < a m and i < m ) then binarySearch(x, i, m-1) else if (x > a m and j > m ) then binarySearch(x, m+1, j) else location := 0

Sometimes we start with the value of the computation at one or more integers, the base cases, and successively apply the recursive definition to find the values of the function at successive larger integers. Such a procedure is called iterative. How many additions are performed to find fibonacci(n)? 34 ALGORITHM 7 A Recursive Algorithm for Fibonacci Numbers. procedure fibonacci(n: nonnegative integer) if n = 0 then fibonacci(0) := 0 else if (n = 1) then fibonacci(1) := 1 else fibonacci(n) := fibonacci(n-1) + fibonacci(n-2) Recursion and Iteration

35 f4f4 f3f3 f2f2 f2f2 f1f1 f1f1 f0f0 f1f1 f0f0 f n+1 -1 addition to find f n

36 ALGORITHM 8 An Iterative Algorithm for Computing Fibonacci Numbers. procedure iterativeFibonacci(n: nonnegative integer) if n = 0 then y:= 0 else begin x := 0 y := 1 for i := 1 to n -1 begin z := x + y x : = y y : = z end {y is the nth Fibonacci number} n – 1 additions are used for an iterative algorithm.

Recursive algorithm may require far more computation than an iterative one. Sometimes it’s preferable to use a recursive procedure even if it is less efficient. Sometimes an iterative approach is preferable. 37 Tradeoff