+ All Categories
Home > Documents > 1 Section 3.4 Recursive Definitions. 2 Recursion Recursion is the process of defining an object in...

1 Section 3.4 Recursive Definitions. 2 Recursion Recursion is the process of defining an object in...

Date post: 22-Dec-2015
Category:
View: 253 times
Download: 0 times
Share this document with a friend
29
1 Section 3.4 Recursive Definitions
Transcript
Page 1: 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,

1

Section 3.4

Recursive Definitions

Page 2: 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,

2

Recursion

• Recursion is the process of defining an object in terms of itself

• Technique can be used to define sequences, functions and sets

• To recursively define a sequence:– give first term– give rule for defining subsequent terms from

previous terms

Page 3: 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,

3

Recursively Defined Functions

• Specify f(0)

• Give a rule for finding f from f’s value at smaller integers

Page 4: 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,

4

Example 1

• Define f recursively by:f(0) = 3

f(n+1) = 2(f(n)) + 3

• Find f(1), f(2), f(3) and f(4)f(1) = 2(f(0)) + 3 = 9

f(2) = 2(f(1)) + 3 = 21

f(3) = 2(f(2)) + 3 = 45

f(4) = 2(f(3)) + 3 = 93

Page 5: 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,

5

Example 2: give a recursive definition of the factorial function• Define f(0): f(0) = 1

• Define rule for f(n+1) from f(n):– Since (n+1)! = n!(n+1)– then f(n+1) = (n+1)(f(n))

• For example, to find f(5) = 5! Do: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 6: 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,

6

Example 3

• Give recursive definition for the sum of the first n positive integers

• Define f(0) = 0

• Then f(n+1) = n+1+f(n)

• Thus f(4), for example, is:4+f(3) = 4+3+f(2) = 4+3+2+f(1) = 4+3+2+1+f(0)

= 4+3+2+1+0 = 10

Page 7: 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,

7

Example 4

• Give recursive definition of an where a is a non-zero real number and n is a non-negative integer

• Define a0 = 1

• Then define an+1 = a(an)

• So x5 = x(x4) = x(x(x3)) = x(x(x(x2))) = x(x(x(x(x1)))) = x(x(x(x(x(x0) = x*x*x*x*x*1

Page 8: 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,

8

Example 5: summation• Give a recursive definition of:

n

akk=0

• Basis: n

ak = a0k=0

• Inductive:n+1 n

ak = an+1 + ak k=0 k=0

Page 9: 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,

9

Example 6

• Give recursive definition of Pm(n), product of integer m and non-negative integer n

• Basis: Pm(0) = 0

• Inductive: Pm(n+1) = Pm(n) + m

• So, for example, 4*3 = P4(3) = P4(2)+4 = P4(1)+4+4 = P4(0)+4+4+4 = 0+4+4+4 = 12

Page 10: 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,

10

Fibonacci numbers

• Fibonacci numbers are defined by:f0 = 0, f1 = 1, fn = fn-1 + fn-2 where n=2,3,4 …

So f2 = f1 + f0 = 1

f3 = f2 + f1 = 2

f4 = f3 + f2 = 3

f5 = f4 + f3 = 5

f6 = f5 + f4 = 8 etc.

Page 11: 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,

11

Example 7: Fibonacci numbers

• The recursive definition of Fibonacci numbers can be used to prove many properties of these numbers. For example:fn > n-2 where = (1 + 5) / 2 whenever n 3

Let P(n) = fn > n-2 ; we wish to show that P(n) is true for n 3

Page 12: 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,

12

Example 7

• Note that: < 2, 2 = f3 (f3 > 3-2)

2 = ((1+5)/2)((1+5)/2) = (1+25+5)/4 = (2(5+3))/(2*2) = (3 + 5) / 2

(3 + 5) / 2 < 3, 3 = f4 (f4 > 4-2)

• So P(n) is true for n=3 and n=4

Page 13: 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,

13

Example 7

• Assume P(k) is true, so fk > k-2 for all integers k with 3 <= k <= n, with n 4

• Show P(n+1) is true: fn+1 > n-1

• By the quadratic formula: x=(-bb2-4ac)/2a is a solution for x2-x-1=0

so 2 = + 1

Page 14: 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,

14

Example 7

• Thus, n-1 = 2(n-3) = (+1) n-3 = (n-3) +1(n-3) = (n-2 + n-3)

• By the inductive hypothesis, if n5, it follows that fn-1 > n-3, fn > n-2

• So we have:fn+1 = (fn + fn-1) > (n-2 + n-3) = n-1, completing

the proof

Page 15: 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,

15

Example 8

• Prove that f1+f3+ … +f2n-1 = f2n whenever n is a positive integer

• Basis: f1 = f2*1 true, since f1 = f2 = 1

• We want to prove:f1+f3+ … f2n-1+f2n+1=f2(n+1)

Page 16: 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,

16

Example 8

• Assume P(n) is true; then:f1+f3+ … f2n-1+f2n+1 = f2n + f2(n+1)

f2n + f2(n+1) = f2n+2

• Recall the definition of Fibonacci numbers: fn = fn-1 + fn-2

• So the theorem is true

Page 17: 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,

17

Recursively defined sets

• Sets may be recursively defined as follows:– an initial collection of elements is given– rules used to construct elements of the set from

other elements are given

• Such sets are well-defined, and theorems about them can be proved using their recursive definitions

Page 18: 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,

18

Example 9

• S is recursively defined by:3 S

(x+y) S if x S and y S

• Show that S is the set of all positive integers divisible by 3

Page 19: 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,

19

Example 9: Proof

• Let A = {x | x is divisible by 3} (or, x=3n)

• To prove A=S, show that AS and SA

• Proving AS by mathematical induction:– P(n): 3n belongs to S– Basis: 3*1 S - true by definition of S– Inductive: Since we already know 3 S (by

definition), and (3n+3) S (also by definition) and 3n+3 = 3(n+1), AS is proven

Page 20: 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,

20

Example 9: Proof

• To prove SA, use recursive definition of S:– Basis: 3 S (by definition)– Since 3 = 3*1, all elements specified by the

definition’s basis step are divisible by 3

• To complete proof, must show all integers generated by using second part of definition of S are in A

Page 21: 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,

21

Example 9: Proof

• To do this, show that x+y is in A when xS and yS and xA and yA

• If x A and y A, 3|x and 3|y - so 3|(x+y)

• This completes the proof

Page 22: 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,

22

Well-formed Formulae

• Common application of the recursive definition of sets

• Example: well-formed formulae of variables, numerals and operators from {+,-,*,/,} are defined by:– x is a well-formed formula is x is a numeral or

variable;– (f+g), (f-g), (f*g), (f/g) and (fg) are well-formed

formulae if f and g are well-formed formulae

Page 23: 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,

23

Application of well-formed formulae

• Using this definition, we can define any infix expression

• For example, x and 5 are well-formed formulae

• So (x+5), (x*5), etc. are well-formed formulae

• And (x+5) / (x*5) is a well-formed formula

Page 24: 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,

24

Example 10

• Well-formed formulae for compound propositions involving T, F, variables and operators {,,,,} are defined by:– T, F and p (where p is a propositional variable) are

well-formed formulae;– (p), (p q), (p q), (p q), (p q) are well-formed

formulae is p and q are well-formed– Thus, we could build any compound propositional

expression in the same way as with infix arithmetic expressions

Page 25: 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,

25

Recursive definition of strings

• The set * of strings over the alphabet can be recursively defined by: * where is the empty string and– wx * whenever w * and x

• Translation:– empty strings belong to the set of strings– can produce new strings by concatenating

strings from the set of strings with symbols from the alphabet

Page 26: 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,

26

Recursive definition of strings

• Can also recursively define the length of strings; if l(w) is the length of string w, then:– l() = 0 – l(wx) = l(w)+1 if w * and x

• Can use these definitions in proofs

Page 27: 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,

27

Example 11

• Prove that l(xy) = l(x) + l(y) where x * and y *

• Basis: P() – show l(x) = l(x)+l() for x* – since l() = 0, l(x)+l() = l(x), so l(x) is true

Page 28: 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,

28

Example 11

• Inductive step:– Assume P(y) is true; show that this implies

P(ya) is true where a – Need to show l(xya) = l(x) + l(ya)– By recursive definition of l(w), we have

l(xya)=l(xy+1) and l(ya) = l(y)+1– By inductive hypothesis, l(xy)=l(x)+l(y)– So we conclude l(xya)=l(x)+l(y)+1 = l(x)+l(ya)

Page 29: 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,

29

Section 3.3

Recursive Definitions

- ends -


Recommended