Section 5.3. Section Summary Recursively Defined Functions Recursively Defined Sets and Structures Structural Induction.

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
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.
UCI ICS/Math 6A, Summer Recursion -1 after Strong Induction “Normal” Induction “Normal” Induction: If we prove.
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.
Recursive Definitions Rosen, 3.4. Recursive (or inductive) Definitions Sometimes easier to define an object in terms of itself. This process is called.
CSE 321 Discrete Structures Winter 2008 Lecture 12 Induction.
CSE115/ENGR160 Discrete Mathematics 03/31/11
Lecture Recursive Definitions. Fractals fractals are examples of images where the same elements is being recursively.
Lecture Recursive Definitions. Fractals fractals are examples of images where the same elements is being recursively.
Chapter Mathematical 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
Induction and recursion
Relations Chapter 9.
Recursive Definitions and Structural Induction
Discrete Mathematics CS 2610 March 26, 2009 Skip: structural induction generalized induction Skip section 4.5.
Induction and recursion
Chapter 6 Mathematical Induction
Discrete Mathematics and Its Applications Sixth Edition By Kenneth Rosen Chapter 4 Induction and Recursion 歐亞書局.
Chapter 4: Induction and Recursion
CSE 311 Foundations of Computing I Lecture 15 Recursive Definitions and Structural Induction Autumn 2011 CSE 3111.
CSE 311 Foundations of Computing I Lecture 16 Recursively Defined Sets and Structural Induction Spring
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.
Lecture 4,5 Mathematical Induction and Fibonacci Sequences.
Section 3.3: Mathematical Induction Mathematical induction is a proof technique that can be used to prove theorems of the form:  n  Z +,P(n) We have.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Mathematical Preliminaries
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
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.
Classifications LanguageGrammarAutomaton Regular, right- linear Right-linear, left-linear DFA, NFA Context-free PDA Context- sensitive LBA Recursively.
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
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.
Recursive Definitions and Structural Induction ICS 6D Sandy Irani.
1 Recursive Definitions and Structural Induction CS/APMA 202 Rosen section 3.4 Aaron Bloomfield.
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.
1 Mathematical Induction An inductive proof has three parts: –Basis case –Inductive hypothesis –Inductive step Related to recursive programming.
(Proof By) Induction Recursion
Chapter 4: Induction and Recursion
Induction and recursion
Induction and Recursion Chapter 5
CS2210:0001Discrete Structures Induction and Recursion
Induction and recursion
Induction and Recursion
Mathematical Induction Recursion
Discrete Structures for Computer Science
Chapter 5 Induction and Recursion
Applied Discrete Mathematics Week 9: Integer Properties
CSE 321 Discrete Structures
Chapter 4 Induction and Recursion
Mathematical Induction
Mathematical Induction
Math/CSE 1019: Discrete Mathematics for Computer Science Fall 2011
Induction and recursion
Induction and recursion
Chapter 4 (Part 2): Mathematical Reasoning, Induction & Recursion
CSE 311 Foundations of Computing I
Recursion.
Presentation transcript:

Section 5.3

Section Summary Recursively Defined Functions Recursively Defined Sets and Structures Structural Induction

Recursively Defined Functions Definition: A recursive or inductive definition of a function consists of 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. A function f(n) is the same as a sequence a 0, a 1, …, where a i, where f(i) = a i. This was done using recurrence relations in Section 2.4.

Recursively Defined Functions Example: Suppose f is defined by: f( 0 ) = 3, f(n + 1 ) = 2 f(n) + 3 Find f( 1 ), f( 2 ), f( 3 ), f( 4 ) Solution: f( 1 ) = 2 f( 0 ) + 3 = 2∙3 + 3 = 9 f( 2 ) = 2 f( 1 )+ 3 = 2∙9 + 3 = 21 f( 3 ) = 2 f( 2 ) + 3 = 2∙ = 45 f( 4 ) = 2 f( 3 ) + 3 = 2∙ = 93 Example: Give a recursive definition of the factorial function n!: Solution: f( 0 ) = 1 f(n + 1 ) = (n + 1 ) ∙ f(n)

Recursively Defined Functions Example: Give a recursive definition of: Solution: The first part of the definition is The second part is

Fibonacci Numbers Example : The Fibonacci numbers are defined as follows: f 0 = 0 f 1 = 1 f n = f n −1 + f n −2 Find f 2, f 3, f 4, f 5. 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 Fibonacci ( ) In Chapter 8, we will use the Fibonacci numbers to model population growth of rabbits. This was an application described by Fibonacci himself. Next, we use strong induction to prove a result about the Fibonacci numbers.

Fibonacci Numbers Example 4 : Show that whenever n ≥ 3, f n > α n − 2, where α = (1 + √5)/2. Solution: Let P(n) be the statement f n > α n −2. Use strong induction to show that P(n) is true whenever n ≥ 3. BASIS STEP: P( 3 ) holds since α < 2 = f 3 P( 4 ) holds since α 2 = (3 + √5)/2 < 3 = f 4. INDUCTIVE STEP: Assume that P(j) holds, i.e., f j > α j −2 for all integers j with 3 ≤ j ≤ k, where k ≥ 4. Show that P(k + 1 ) holds, i.e., f k+ 1 > α k −1. Since α 2 = α + 1 (because α is a solution of x 2 − x − 1 = 0 ), By the inductive hypothesis, because k ≥ 4 we have Therefore, it follows that Hence, P(k + 1 ) is true. −2. −2. f k+ 1 = f k + f k −1 > α k −2 + α k −3 = α k −1. α k −1 = α 2 ∙ α k −3 = ( α + 1) ∙α k −3 = α ∙α k −3 + 1 ∙α k −3 = α k −2 + α k −3 f k −1 > α k −3, f k > α k −2. Why does this equality hold?

Recursively Defined Sets and Structures Recursive definitions of sets have two parts: The basis step specifies an initial collection of elements. The recursive step gives the rules for forming new elements in the set from those already known to be in the set. Sometimes the recursive definition has an exclusion rule, which specifies that the set contains nothing other than those elements specified in the basis step and generated by applications of the rules in the recursive step. We will always assume that the exclusion rule holds, even if it is not explicitly mentioned. We will later develop a form of induction, called structural induction, to prove results about recursively defined sets.

Recursively Defined Sets and Structures Example : Subset of Integers S: BASIS STEP : 3 ∊ S. RECURSIVE STEP: If x ∊ S and y ∊ S, then x + y is in S. Initially 3 is in S, then = 6, then = 9, etc. Example: The natural numbers N. BASIS STEP : 0 ∊ N. RECURSIVE STEP: If n is in N, then n + 1 is in N. Initially 0 is in S, then = 1, then = 2, etc.

Strings Definition: The set Σ* of strings over the alphabet Σ: BASIS STEP : λ ∊ Σ* (λ is the empty string) RECURSIVE STEP: If w is in Σ* and x is in Σ, then wx  Σ*. Example: If Σ = { 0, 1 }, the strings in in Σ* are the set of all bit strings, λ, 0, 1, 00, 01,10, 11, etc. Example: If Σ = {a,b}, show that aab is in Σ*. Since λ ∊ Σ* and a ∊ Σ, a ∊ Σ*. Since a ∊ Σ* and a ∊ Σ, aa ∊ Σ*. Since aa ∊ Σ* and b ∊ Σ, aab ∊ Σ*.

String Concatenation Definition: Two strings can be combined via the operation of concatenation. Let Σ be a set of symbols and Σ* be the set of strings formed from the symbols in Σ. We can define the concatenation of two strings, denoted by ∙, recursively as follows. BASIS STEP : If w  Σ*, then w ∙ λ= w. RECURSIVE STEP: If w 1  Σ* and w 2  Σ* and x  Σ, then w 1 ∙ (w 2 x)= (w 1 ∙ w 2 )x. Often w 1 ∙ w 2 is written as w 1 w 2. If w 1 = abra and w 2 = cadabra, the concatenation w 1 w 2 = abracadabra.

Length of a String Example: Give a recursive definition of l(w), the length of the string w. Solution: The length of a string can be recursively defined by: l(λ) = 0 ; l(wx) = l(w) + 1 if w ∊ Σ* and x ∊ Σ.

Balanced Parentheses Example: Give a recursive definition of the set of balanced parentheses P. Solution: BASIS STEP : () ∊ P RECURSIVE STEP: If w ∊ P, then () w ∊ P, (w) ∊ P and w () ∊ P. Show that (() ()) is in P. Why is ))(() not in P?

Well-Formed Formulae in Propositional Logic Definition: The set of well-formed formulae in propositional logic involving T, F, propositional variables, and operators from the set { ¬,∧,∨,→,↔ }. 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 ∨ F), (E → F), (E ↔ F), are well- formed formulae. Examples: ((p ∨ q ) → ( q ∧ F )) is a well-formed formula. pq ∧ is not a well formed formula.

Rooted Trees Definition: 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.

Building Up Rooted Trees Trees are studied extensively in Chapter 11. Next we look at a special type of tree, the full binary tree.

Full Binary Trees Definition: The set of full binary trees can be defined recursively by these steps. BASIS STEP: There is a full binary tree consisting of only a single vertex r. RECURSIVE STEP: If T 1 and T 2 are disjoint full binary trees, there is a 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.

Building Up Full Binary Trees

Structural Induction Definition: To prove a property of the elements of a recursively defined set, we use structural induction. BASIS STEP: Show that the result holds for all elements specified in the basis step of the recursive definition. RECURSIVE STEP: Show that if the statement is true for each of the elements used to construct new elements in the recursive step of the definition, the result holds for these new elements. The validity of structural induction can be shown to follow from the principle of mathematical induction.

Full Binary Trees Definition: The height h(T) of a full binary tree T is defined recursively as follows: BASIS STEP: The height of a full binary tree T consisting of only a root r is h(T) = 0. RECURSIVE STEP: If T 1 and T 2 are full binary trees, then the full binary tree T = T 1 ∙T 2 has height h(T) = 1 + max(h(T 1 ),h(T 2 )). The number of vertices n(T) of a full binary tree T satisfies the following recursive formula: BASIS STEP: The number of vertices of a full binary tree T consisting of only a root r is n(T) = 1. RECURSIVE STEP: If T 1 and T 2 are full binary trees, then the full binary tree T = T 1 ∙T 2 has the number of vertices n(T) = 1 + n(T 1 ) + n(T 2 ).

Structural Induction and Binary Trees Theorem: If T is a full binary tree, then n(T) ≤ 2 h(T)+ 1 – 1. Proof: Use structural induction. BASIS STEP: The result holds for a full binary tree consisting only of a root, n(T) = 1 and h(T) = 0. Hence, n(T) = 1 ≤ – 1 = 1. RECURSIVE STEP: Assume n(T 1 ) ≤ 2 h(T 1 )+ 1 – 1 and also n(T 2 ) ≤ 2 h(T 2 )+ 1 – 1 whenever T 1 and T 2 are full binary trees. n(T) = 1 + n(T 1 ) + n(T 2 ) (by recursive formula of n(T)) ≤ 1 + ( 2 h(T1)+ 1 – 1 ) + ( 2 h(T2)+ 1 – 1 ) (by inductive hypothesis) ≤ 2 ∙max( 2 h(T1)+ 1, 2 h(T2)+ 1 ) – 1 = 2∙2 max(h(T1),h(T2))+ 1 – 1 (max( 2 x, 2 y )= 2 max(x,y) ) = 2∙2 h(t) – 1 (by recursive definition of h(T)) = 2 h(t)+ 1 – 1 −2. −2.