Recursively Defined Functions

Similar documents
Lamé s Theorem. Strings. Recursively Defined Sets and Structures. Recursively Defined Sets and Structures

Recursion defining an object (or function, algorithm, etc.) in terms of itself. Recursion can be used to define sequences

Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Recursively defined Functions. Recursively defined sets and Structures Structural Induction

Recursion defining an object (or function, algorithm, etc.) in terms of itself. Recursion can be used to define sequences

Inference rule for Induction

CS 220: Discrete Structures and their Applications. Recursive objects and structural induction in zybooks

Recursive Definitions and Structural Induction

5.3 Recursive definitions and structural induction

Mathematical Induction

Recursion and Structural Induction

10/9/17. Using recursion to define objects. CS 220: Discrete Structures and their Applications

Announcements. CS243: Discrete Structures. Strong Induction and Recursively Defined Structures. Review. Example (review) Example (review), cont.

Recursive definition of sets and structural induction

1. Find f(1), f(2), f(3), and f(4) if f(n) is defined recursively by f(0) = 1 and for n = 0, 1, 2,

Mathematical Induction

CMPSCI 250: Introduction to Computation. Lecture #14: Induction and Recursion (Still More Induction) David Mix Barrington 14 March 2013

Slides for Faculty Oxford University Press All rights reserved.

AXIOMS FOR THE INTEGERS

Introduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1

CSE 20 DISCRETE MATH WINTER

4&5 Binary Operations and Relations. The Integers. (part I)

Midterm solutions. n f 3 (n) = 3

Figure 4.1: The evolution of a rooted tree.

It is important that you show your work. There are 134 points available on this test.

Glynda, the good witch of the North

Propositional Logic. Andreas Klappenecker

Induction and Recursion. CMPS/MATH 2170: Discrete Mathematics

CMSC351 - Fall 2014, Homework #2

Basic Properties The Definition of Catalan Numbers

1KOd17RMoURxjn2 CSE 20 DISCRETE MATH Fall

CS 173 [A]: Discrete Structures, Fall 2012 Homework 8 Solutions

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

DVA337 HT17 - LECTURE 4. Languages and regular expressions

Solutions. Suppose we insert all elements of U into the table, and let n(b) be the number of elements of U that hash to bucket b. Then.

1.3. Conditional expressions To express case distinctions like

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/

Discrete Structures. Fall Homework3

Foundations of Computer Science Spring Mathematical Preliminaries

CSE 20 DISCRETE MATH. Winter

Binary Decision Diagrams

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Ambiguous Grammars and Compactification

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

CSE 20 DISCRETE MATH. Fall

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:

Directed Graph and Binary Trees

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017

Formal Languages and Automata

Phil 320 Chapter 1: Sets, Functions and Enumerability I. Sets Informally: a set is a collection of objects. The objects are called members or

NOTE ON MINIMALLY k-connected GRAPHS

Analysis of Algorithms

Power Set of a set and Relations

Complexity, Induction, and Recurrence Relations. CSE 373 Help Session 4/7/2016

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

SC/MATH Boolean Formulae. Ref: G. Tourlakis, Mathematical Logic, John Wiley & Sons, York University

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

This chapter covers recursive definition, including finding closed forms.

memoization or iteration over subproblems the direct iterative algorithm a basic outline of dynamic programming

5.3 Recursive definitions and structural induction

Graph Algorithms. Chromatic Polynomials. Graph Algorithms

Paths, Flowers and Vertex Cover

Chapter 3: Propositional Languages

Proof Techniques Alphabets, Strings, and Languages. Foundations of Computer Science Theory

Warmup Problem. Translate the following sentence from English into Propositional Logic. I want to eat ice cream even though I am on a diet.

Solutions. (a) Claim: A d-ary tree of height h has at most 1 + d +...

Notes for Comp 454 Week 2

CMPSCI 250: Introduction to Computation. Lecture #28: Regular Expressions and Languages David Mix Barrington 2 April 2014

Chapter 4: Trees. 4.2 For node B :

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

STUDENT NUMBER: MATH Final Exam. Lakehead University. April 13, Dr. Adam Van Tuyl

9.5 Equivalence Relations

Binary Search to find item in sorted array

Lecture 6,

Propositional Logic Formal Syntax and Semantics. Computability and Logic

On 2-Subcolourings of Chordal Graphs

The divide and conquer strategy has three basic parts. For a given problem of size n,

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

How much space does this routine use in the worst case for a given n? public static void use_space(int n) { int b; int [] A;

Space vs Time, Cache vs Main Memory

END-TERM EXAMINATION

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Finite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur

n λxy.x n y, [inc] [add] [mul] [exp] λn.λxy.x(nxy) λmn.m[inc]0 λmn.m([add]n)0 λmn.n([mul]m)1

CSE 548: Analysis of Algorithms. Lectures 14 & 15 ( Dijkstra s SSSP & Fibonacci Heaps )

Mathematically Rigorous Software Design Review of mathematical prerequisites

The Fibonacci hypercube

THEORY OF COMPUTATION

Solving Linear Recurrence Relations (8.2)

CMPSCI 250: Introduction to Computation. Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014

Introduction to Sets and Logic (MATH 1190)

CSCI FOUNDATIONS OF COMPUTER SCIENCE

Fixed-Parameter Algorithms, IA166

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Logic and Discrete Mathematics. Section 2.5 Equivalence relations and partitions

The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs

Transcription:

Section 5.3

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) = 2f(n) + 3 Find f(1), f(2), f(3), 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 21 + 3 = 45 f(4) = 2f(3) + 3 = 2 45 + 3 = 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 Fibonacci (1170-1250) 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 + 0 = 1 f 3 = f 2 + f 1 = 1 + 1 = 2 f 4 = f 3 + f 2 = 2 + 1 = 3 f 5 = f 4 + f 3 = 3 + 2 = 5

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 3 + 3 = 6, then 3 + 6 = 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 0 + 1 = 1, then 1 + 1 = 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.

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.

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 ).

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 2 0+1 1 = 1. RECURSIVE STEP: Assume n(t 1 ) 2 h(t1)+1 1 and also 2 h(t2)+1 1 whenever T 1 and T 2 are full binary trees. n(t 2 ) 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