1 / 29

Section 3.4

Section 3.4. Recursive Definitions. 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.

artaxiad
Download Presentation

Section 3.4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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, functions and sets • To recursively define a sequence: • give first term • give rule for defining subsequent terms from previous terms

  3. Recursively Defined Functions • Specify f(0) • Give a rule for finding f from f’s value at smaller integers

  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

  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

  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

  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

  8. Example 5: summation • Give a recursive definition of: n  ak k=0 • Basis: n  ak =a0 k=0 • Inductive: n+1 n  ak = an+1 +  ak k=0 k=0

  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

  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.

  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

  12. Example 7 • Note that:  < 2, 2 = f3 (f3 > 3-2) 2 = ((1+5)/2)((1+5)/2) = (1+25+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

  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=(-bb2-4ac)/2a  is a solution for x2-x-1=0 so 2 =  + 1

  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 n5, 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

  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)

  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

  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

  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

  19. Example 9: Proof • Let A = {x | x is divisible by 3} (or, x=3n) • To prove A=S, show that AS and SA • Proving AS 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), AS is proven

  20. Example 9: Proof • To prove SA, 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

  21. Example 9: Proof • To do this, show that x+y is in A when xS and yS and xA and yA • If x  A and y  A, 3|x and 3|y - so 3|(x+y) • This completes the proof

  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 (fg) are well-formed formulae if f and g are well-formed formulae

  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

  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

  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

  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

  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

  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)

  29. Section 3.3 Recursive Definitions - ends -

More Related