ICS141: Discrete Mathematics for Computer Science I

Size: px
Start display at page:

Download "ICS141: Discrete Mathematics for Computer Science I"

Transcription

1 ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by McGraw-Hill 13-1

2 Quiz 1. State the 1 st Principle of Mathematical Induction 2. What is the difference between the 1 st, 2 nd and strong principles of Mathematical Induction. (Describe in plain English) 3. What is the big-o complexity of Euclid's Algorithm? 13-2

3 Lecture 21 Chapter 4. Induction and Recursion 4.3 Recursive Definitions and Structural Induction 13-3

4 Recursive Definitions n In induction, we prove all members of an infinite set satisfy some predicate P by: n proving the truth of the predicate for larger members in terms of that of smaller members. n In recursive definitions, we similarly define a function, a predicate, a set, or a more complex structure over an infinite domain (universe of discourse) by: n defining the function, predicate value, set membership, or structure of larger elements in terms of those of smaller ones. 13-4

5 Recursion n Recursion is the general term for the practice of defining an object in terms of itself n or of part of itself. n This may seem circular, but it isn t necessarily. n An inductive proof establishes the truth of P(k+1) recursively in terms of P(k). n There are also recursive algorithms, definitions, functions, sequences, sets, and other structures. 13-5

6 Recursively Defined Functions n Simplest case: One way to define a function f:n S (for any set S) or series a n = f(n) is to: n Define f(0) n For n > 0, define f(n) in terms of f(0),,f(n 1) n Example: Define the series a n = 2 n where n is a nonnegative integer recursively: n a n looks like 2 0, 2 1, 2 2, 2 3, n Let a 0 = 1 n For n > 0, let a n = 2 a n

7 Another Example n Suppose we define f(n) for all n N recursively by: n Let f(0) = 3 n For all n > 0, let f(n) = 2 f(n 1) + 3 n What are the values of the following? n f(1) = 2 f(0) + 3 = = 9 n f(2) = 2 f(1) + 3 = = 21 n f(3) = 2 f(2) + 3 = = 45 n f(4) = 2 f(3) + 3 = =

8 Recursive Definition of Factorial n Give an inductive (recursive) definition of the factorial function, F(n) = n! = 1 i n i = 1 2 n n Basis step: F(1) = 1 n Recursive step: F(n) = n F(n 1) for n > 1 n F(2) = 2 F(1) = 2 1 = 2 n F(3) = 3 F(2) = 3 {2 F(1)} = = 6 n F(4) = 4 F(3) = 4 {3 F(2)} = 4 {3 2 F(1)} = =

9 The Fibonacci Numbers n The Fibonacci numbers f n 0 is a famous series defined by: f 0 = 0, f 1 = 1, f n 2 = f n 1 + f n

10 Inductive Proof about Fibonacci Numbers n Theorem: f n < 2 n. Implicitly for all n N n Proof: By induction n Basis step: f 0 = 0 < 2 0 = 1 f 1 = 1 < 2 1 = 2 Note: use of base cases of recursive definition n Inductive step: Use 2 nd principle of induction (strong induction). Assume 0 i k, f i < 2 i. Then f k+1 = f k + f k 1 is < 2 k + 2 k 1 < 2 k + 2 k = 2 k

11 A Lower Bound on Fibonacci Numbers n Theorem: For all integers n 3, f n > α n 2, where α = ( /2 )/ n Proof. (Using strong induction.) n Let P(n) = (f n > α n 2 ). n Basis step: For n = 3, note that α n 2 = α < 2 = f 3. For n = 4, α n 2 = α 2 = ( /2 + 5)/4 = ( /2 )/ (= α + 1) < 3 = f

12 A Lower Bound on Fibonacci Numbers: Proof Continues n Inductive step: For k 4, assume P(j) for 3 j k, prove P(k+1). n f k+1 = f k + f k 1 > α k 2 + α k 3 (by inductive hypothesis, f k 1 > α k 3 and f k > α k 2 ). n Note that α 2 = α + 1. since ( /2 )/2 = ( /2 )/2 + 1 n Thus, α k 1 = α 2 α k 3 = (α + 1)α k 3 = αα k 3 + α k 3 = α k 2 + α k 3. n So, f k+1 = f k + f k 1 > α k 2 + α k 3 = α k 1. n Thus P(k+1)

13 Recursively Defined Sets n An infinite set S may be defined recursively, by giving: n A small finite set of base elements of S. n A rule for constructing new elements of S from previously-established elements. n Implicitly, S has no other elements but these. base element (basis step) construction rule (recursive step) n Example: Let 3 S, and let x+y S if x,y S. What is S? 13-13

14 Example cont. n Let 3 S, and let x+y S if x,y S. What is S? n 3 S (basis step) n 6 (= 3 + 3) is in S (first application of recursive step) n 9 (= 3 + 6) and 12 (= 6 + 6) are in S (second application of the recursive step) n 15 (= or 6 + 9), 18 (= or 9 + 9), 21 (= ), 24 (= ) are in S (third application of the recursive step) n so on n Therefore, S = {3, 6, 9, 12, 15, 18, 21, 24, } = set of all positive multiples of

15 The Set of All Strings n n Given an alphabet Σ, the set Σ * of all strings over Σ can be recursively defined by: n Basis step: λ Σ * (λ : empty string) n Recursive step: (w Σ * x Σ) wx Σ * Example: If Σ = {0, 1} then n λ Σ* (basis step) n 0 and 1 are in Σ* (first application of recursive step) n 00, 01, 10, and 11 are in Σ* (second application of the recursive step) n so on n Therefore, Σ* consists of all finite strings of 0 s and 1 s together with the empty string 13-15

16 String: Example n Show that if Σ = {a, b} then aab is in Σ*. Proof: We construct it with a finite number of applications of the basis and recursive steps in the definition of Σ*: 1. λ Σ* by the basis step. 2. By step 1, the recursive step in the definition of Σ* and the fact that a Σ, we can conclude that λa = a Σ*

17 Proof cont. 3. Since a Σ* from step 2, and a Σ, applying the recursive step again we conclude that aa Σ*. 4. Since aa Σ* from step 3 and b Σ, applying the recursive step again we conclude that aab Σ*. n Since we have shown aab Σ* with a finite number of applications of the basis and recursive steps in the definition we have finished the proof

18 Rooted Trees n Trees will be covered in more depth in chapter 10. n n n Briefly, a tree is a graph in which there is exactly one undirected path between each pair of nodes. An undirected graph can be represented as a set of unordered pairs (called arcs) of objects called nodes. Definition of the set of rooted trees: n Basis step: Any single node r is a rooted tree. n Recursive step: If T 1,, T n are disjoint rooted trees with respective roots r 1,, r n, and r is a node not in any of the T i s, then another rooted tree is {(r, r 1 ),, (r, r n )} T 1 T n

19 Illustrating Rooted Tree Definition n How rooted trees can be combined to form a new rooted tree r T 1 r 1 T 2 r 2 T n r n 13-19

20 Building Up Rooted Trees 13-20

21 Extended Binary Trees n A special case of rooted trees. n Recursive definition of extended binary trees: n Basis step: The empty set is an extended binary tree. n Recursive step: If T 1, T 2 are disjoint extended binary trees, then e 1 e 2 T 1 T 2 is an extended binary tree, where e 1 = if T 1 =, and e 1 = {(r, r 1 )} if T 1 and has root r 1, and similarly for e 2. (T 1 is the left subtree and T 2 is the right subtree.) 13-21

22 Building Up Extended Binary Trees 13-22

23 Lamé s Theorem n Theorem: a,b N, a b>0, and let n be the number of steps Euclid s algorithm needs to compute gcd(a,b). Then n 5k, where k = log 10 b +1 is the number of decimal digits in b. n Thus, Euclid s algorithm is linear-time in the number of digits in b. (or, Euclid s algorithm is O(log a)) n Proof: n Uses the Fibonacci sequence! (See next!) 13-23

24 Proof of Lamé s Theorem n Consider the sequence of division-algorithm equations used in Euclid s alg.: r 0 = r 1 q 1 + r 2 with 0 r 2 < r 1 r 1 = r 2 q 2 + r 3 with 0 r 3 < r 2 Where a = r 0, b = r 1, and gcd(a,b)=r n. r n 2 = r n 1 q n 1 + r n with 0 r n < r n 1 r n 1 = r n q n + r n+1 with r n+1 = 0 (terminate) n The number of divisions (iterations) is n. Continued on next slide 13-24

25 Lamé Proof cont. n Since r 0 r 1 > r 2 > > r n, each quotient q i r i 1 /r i 1. n Since r n 1 = r n q n and r n 1 > r n, q n 2. n So we have the following relations between r and f: r n 1 = f 2 r n 1 2r n 2f 2 = f 3 r n 2 r n 1 + r n f 2 + f 3 = f 4 r 2 r 3 + r 4 f n 1 + f n 2 = f n b = r 1 r 2 + r 3 f n + f n 1 = f n+1. n Thus, if n > 2 divisions are used, then b f n+1 > α n 1. n Thus, log 10 b > log 10 (α n 1 ) = (n 1)log 10 α (n 1)0.208 > (n 1)/5. n If b has k decimal digits, then log 10 b < k, so n 1 < 5k, so n 5k

With Question/Answer Animations

With Question/Answer Animations Chapter 5 With Question/Answer Animations Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary

More information

Induction and recursion. Topics. Induction and Recursion Vojislav Kecman CMSC 302

Induction and recursion. Topics. Induction and Recursion Vojislav Kecman CMSC 302 Induction and recursion are related concepts. VCU, Department of Computer Science CMSC 302 Induction and Recursion Vojislav Kecman Induction is a proof technique, recursion is a related programming concept.

More information

Induction and Recursion

Induction and Recursion . All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education. Induction and Recursion

More information

Induction and recursion. Chapter 5

Induction and recursion. Chapter 5 Induction and recursion Chapter 5 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms Mathematical Induction Section 5.1

More information

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 1 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 2 Section 5.1 3 Section Summary Mathematical Induction Examples of

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018 The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them. If we have

More information

INDUCTION AND RECURSION. Lecture 7 - Ch. 4

INDUCTION AND RECURSION. Lecture 7 - Ch. 4 INDUCTION AND RECURSION Lecture 7 - Ch. 4 4. Introduction Any mathematical statements assert that a property is true for all positive integers Examples: for every positive integer n: n!

More information

CSI Mathematical Induction. Many statements assert that a property of the form P(n) is true for all integers n.

CSI Mathematical Induction. Many statements assert that a property of the form P(n) is true for all integers n. CSI 2101- Mathematical Induction Many statements assert that a property of the form P(n) is true for all integers n. Examples: For every positive integer n: n! n n Every set with n elements, has 2 n Subsets.

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.4 Strong Mathematical Induction and the Well-Ordering Principle for the Integers Copyright

More information

Discrete Mathematics. Spring 2017

Discrete Mathematics. Spring 2017 Discrete Mathematics Spring 2017 Previous Lecture Principle of Mathematical Induction Mathematical Induction: Rule of Inference Mathematical Induction: Conjecturing and Proving Mathematical Induction:

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS4: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Originals slides by Dr. Baek and Dr. Still, adapted by J. Stelovsky Based on slides Dr. M. P. Frank and Dr. J.L. Gross

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

Recursive Definitions

Recursive Definitions Recursive Definitions Example: Give a recursive definition of a n. a R and n N. Basis: n = 0, a 0 = 1. Recursion: a n+1 = a a n. Example: Give a recursive definition of n i=0 a i. Let S n = n i=0 a i,

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Originals slides by Dr. Baek and Dr. Still, adapted by J. Stelovsky Based on slides Dr. M. P. Frank and Dr. J.L. Gross

More information

CSCE 222 Discrete Structures for Computing. Review for Exam 2. Dr. Hyunyoung Lee !!!

CSCE 222 Discrete Structures for Computing. Review for Exam 2. Dr. Hyunyoung Lee !!! CSCE 222 Discrete Structures for Computing Review for Exam 2 Dr. Hyunyoung Lee 1 Strategy for Exam Preparation - Start studying now (unless have already started) - Study class notes (lecture slides and

More information

CSE 105 Homework 1 Due: Monday October 9, Instructions. should be on each page of the submission.

CSE 105 Homework 1 Due: Monday October 9, Instructions. should be on each page of the submission. CSE 5 Homework Due: Monday October 9, 7 Instructions Upload a single file to Gradescope for each group. should be on each page of the submission. All group members names and PIDs Your assignments in this

More information

8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES

8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES 8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES What You Should Learn Use sequence notation to write the terms of sequences. Use factorial notation. Use summation notation to write sums.

More information

Discrete Mathematics. Spring 2017

Discrete Mathematics. Spring 2017 Discrete Mathematics Spring 2017 Previous Lecture Principle of Mathematical Induction Mathematical Induction: rule of inference Mathematical Induction: Conjecturing and Proving Climbing an Infinite Ladder

More information

Big , and Definition Definition

Big , and Definition Definition Big O, Ω, and Θ Big-O gives us only a one-way comparison; if f is O(g) then g eventually is bigger than f from that point on, but in fact f could be very small in comparison. Example; 3n is O(2 2n ). We

More information

Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018

Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018 CS17 Integrated Introduction to Computer Science Klein Contents Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018 1 Tree definitions 1 2 Analysis of mergesort using a binary tree 1 3 Analysis of

More information

Strong Mathematical Induction

Strong Mathematical Induction Strong Mathematical Induction Lecture 23 Section 5.4 Robb T. Koether Hampden-Sydney College Mon, Feb 24, 2014 Robb T. Koether (Hampden-Sydney College) Strong Mathematical Induction Mon, Feb 24, 2014 1

More information

Section Summary. Sequences. Recurrence Relations. Summations. Examples: Geometric Progression, Arithmetic Progression. Example: Fibonacci Sequence

Section Summary. Sequences. Recurrence Relations. Summations. Examples: Geometric Progression, Arithmetic Progression. Example: Fibonacci Sequence Section 2.4 Section Summary Sequences. Examples: Geometric Progression, Arithmetic Progression Recurrence Relations Example: Fibonacci Sequence Summations Introduction Sequences are ordered lists of elements.

More information

Discrete Structures CRN Test 3 Version 1 CMSC 2123 Autumn 2013

Discrete Structures CRN Test 3 Version 1 CMSC 2123 Autumn 2013 . Print your name on your scantron in the space labeled NAME. 2. Print CMSC 223 in the space labeled SUBJECT. 3. Print the date 2-2-203, in the space labeled DATE. 4. Print your CRN, 786, in the space

More information

IS 709/809: Computational Methods for IS Research. Math Review: Algorithm Analysis

IS 709/809: Computational Methods for IS Research. Math Review: Algorithm Analysis IS 709/809: Computational Methods for IS Research Math Review: Algorithm Analysis Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Topics Proof techniques

More information

cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications

cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications cse 311: foundations of computing Fall 2015 Lecture 12: Primes, GCD, applications n-bit unsigned integer representation Represent integer x as sum of powers of 2: If x = n 1 i=0 b i 2 i where each b i

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Formal proofs; Simple/strong induction; Mutual induction; Inductively defined sets; Recursively defined functions. Lecture 3 Ana Bove

More information

What is this course about?

What is this course about? What is this course about? Examining the power of an abstract machine What can this box of tricks do? What is this course about? Examining the power of an abstract machine Domains of discourse: automata

More information

Harvard CS121 and CSCI E-121 Lecture 2: Mathematical Preliminaries

Harvard CS121 and CSCI E-121 Lecture 2: Mathematical Preliminaries Harvard CS121 and CSCI E-121 Lecture 2: Mathematical Preliminaries Harry Lewis September 5, 2013 Reading: Sipser, Chapter 0 Sets Sets are defined by their members A = B means that for every x, x A iff

More information

CSCE 222 Discrete Structures for Computing. Proof by Induction. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker

CSCE 222 Discrete Structures for Computing. Proof by Induction. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker CSCE 222 Discrete Structures for Computing Proof by Induction Dr. Hyunyoung Lee Based on slides by Andreas Klappenecker 1 Motivation Induction is an axiom which allows us to prove that certain properties

More information

CS 220: Discrete Structures and their Applications. Mathematical Induction in zybooks

CS 220: Discrete Structures and their Applications. Mathematical Induction in zybooks CS 220: Discrete Structures and their Applications Mathematical Induction 6.4 6.6 in zybooks Why induction? Prove algorithm correctness (CS320 is full of it) The inductive proof will sometimes point out

More information

Carmen s Core Concepts (Math 135)

Carmen s Core Concepts (Math 135) Carmen s Core Concepts (Math 135) Carmen Bruni University of Waterloo Week 4 1 Principle of Mathematical Induction 2 Example 3 Base Case 4 Inductive Hypothesis 5 Inductive Step When Induction Isn t Enough

More information

Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007)

Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007) Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007) Problem 1: Specify two different predicates P (x) and

More information

Definition: A binary relation R from a set A to a set B is a subset R A B. Example:

Definition: A binary relation R from a set A to a set B is a subset R A B. Example: Chapter 9 1 Binary Relations Definition: A binary relation R from a set A to a set B is a subset R A B. Example: Let A = {0,1,2} and B = {a,b} {(0, a), (0, b), (1,a), (2, b)} is a relation from A to B.

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Originals slides by Dr. Baek and Dr. Still, adapted by J. Stelovsky Based on slides Dr. M. P. Frank and Dr. J.L. Gross

More information

Climbing an Infinite Ladder

Climbing an Infinite Ladder Section 5.1 Section Summary Mathematical Induction Examples of Proof by Mathematical Induction Mistaken Proofs by Mathematical Induction Guidelines for Proofs by Mathematical Induction Climbing an Infinite

More information

Mathematical Induction

Mathematical Induction Mathematical Induction Representation of integers Mathematical Induction Reading (Epp s textbook) 5.1 5.3 1 Representations of Integers Let b be a positive integer greater than 1. Then if n is a positive

More information

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005 V. Adamchi Recurrences Victor Adamchi Fall of 00 Plan Multiple roots. More on multiple roots. Inhomogeneous equations 3. Divide-and-conquer recurrences In the previous lecture we have showed that if the

More information

Binomial Coefficient Identities/Complements

Binomial Coefficient Identities/Complements Binomial Coefficient Identities/Complements CSE21 Fall 2017, Day 4 Oct 6, 2017 https://sites.google.com/a/eng.ucsd.edu/cse21-fall-2017-miles-jones/ permutation P(n,r) = n(n-1) (n-2) (n-r+1) = Terminology

More information

Math/EECS 1028M: Discrete Mathematics for Engineers Winter Suprakash Datta

Math/EECS 1028M: Discrete Mathematics for Engineers Winter Suprakash Datta Math/EECS 1028M: Discrete Mathematics for Engineers Winter 2017 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.eecs.yorku.ca/course/1028 Administrivia

More information

PUTNAM TRAINING NUMBER THEORY. Exercises 1. Show that the sum of two consecutive primes is never twice a prime.

PUTNAM TRAINING NUMBER THEORY. Exercises 1. Show that the sum of two consecutive primes is never twice a prime. PUTNAM TRAINING NUMBER THEORY (Last updated: December 11, 2017) Remark. This is a list of exercises on Number Theory. Miguel A. Lerma Exercises 1. Show that the sum of two consecutive primes is never twice

More information

Algorithm Analysis Recurrence Relation. Chung-Ang University, Jaesung Lee

Algorithm Analysis Recurrence Relation. Chung-Ang University, Jaesung Lee Algorithm Analysis Recurrence Relation Chung-Ang University, Jaesung Lee Recursion 2 Recursion 3 Recursion in Real-world Fibonacci sequence = + Initial conditions: = 0 and = 1. = + = + = + 0, 1, 1, 2,

More information

Notes on induction proofs and recursive definitions

Notes on induction proofs and recursive definitions Notes on induction proofs and recursive definitions James Aspnes December 13, 2010 1 Simple induction Most of the proof techniques we ve talked about so far are only really useful for proving a property

More information

Recurrence Relations and Recursion: MATH 180

Recurrence Relations and Recursion: MATH 180 Recurrence Relations and Recursion: MATH 180 1: Recursively Defined Sequences Example 1: The sequence a 1,a 2,a 3,... can be defined recursively as follows: (1) For all integers k 2, a k = a k 1 + 1 (2)

More information

Math 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction

Math 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction Math 4 Summer 01 Elementary Number Theory Notes on Mathematical Induction Principle of Mathematical Induction Recall the following axiom for the set of integers. Well-Ordering Axiom for the Integers If

More information

Lecture 7: Dynamic Programming I: Optimal BSTs

Lecture 7: Dynamic Programming I: Optimal BSTs 5-750: Graduate Algorithms February, 06 Lecture 7: Dynamic Programming I: Optimal BSTs Lecturer: David Witmer Scribes: Ellango Jothimurugesan, Ziqiang Feng Overview The basic idea of dynamic programming

More information

Proof by Induction. Andreas Klappenecker

Proof by Induction. Andreas Klappenecker Proof by Induction Andreas Klappenecker 1 Motivation Induction is an axiom which allows us to prove that certain properties are true for all positive integers (or for all nonnegative integers, or all integers

More information

Proof Techniques (Review of Math 271)

Proof Techniques (Review of Math 271) Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil

More information

CS1800: Mathematical Induction. Professor Kevin Gold

CS1800: Mathematical Induction. Professor Kevin Gold CS1800: Mathematical Induction Professor Kevin Gold Induction: Used to Prove Patterns Just Keep Going For an algorithm, we may want to prove that it just keeps working, no matter how big the input size

More information

CSC 344 Algorithms and Complexity. Proof by Mathematical Induction

CSC 344 Algorithms and Complexity. Proof by Mathematical Induction CSC 344 Algorithms and Complexity Lecture #1 Review of Mathematical Induction Proof by Mathematical Induction Many results in mathematics are claimed true for every positive integer. Any of these results

More information

EECS 1028 M: Discrete Mathematics for Engineers

EECS 1028 M: Discrete Mathematics for Engineers EECS 1028 M: Discrete Mathematics for Engineers Suprakash Datta Office: LAS 3043 Course page: http://www.eecs.yorku.ca/course/1028 Also on Moodle S. Datta (York Univ.) EECS 1028 W 18 1 / 24 Course policies

More information

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4 Do the following exercises from the text: Chapter (Section 3):, 1, 17(a)-(b), 3 Prove that 1 3 + 3 + + n 3 n (n + 1) for all n N Proof The proof is by induction on n For n N, let S(n) be the statement

More information

CSC236H Lecture 2. Ilir Dema. September 19, 2018

CSC236H Lecture 2. Ilir Dema. September 19, 2018 CSC236H Lecture 2 Ilir Dema September 19, 2018 Simple Induction Useful to prove statements depending on natural numbers Define a predicate P(n) Prove the base case P(b) Prove that for all n b, P(n) P(n

More information

Automata Theory and Formal Grammars: Lecture 1

Automata Theory and Formal Grammars: Lecture 1 Automata Theory and Formal Grammars: Lecture 1 Sets, Languages, Logic Automata Theory and Formal Grammars: Lecture 1 p.1/72 Sets, Languages, Logic Today Course Overview Administrivia Sets Theory (Review?)

More information

Models of Computation. by Costas Busch, LSU

Models of Computation. by Costas Busch, LSU Models of Computation by Costas Busch, LSU 1 Computation CPU memory 2 temporary memory input memory CPU output memory Program memory 3 Example: f ( x) x 3 temporary memory input memory Program memory compute

More information

Input Decidable Language -- Program Halts on all Input Encoding of Input -- Natural Numbers Encoded in Binary or Decimal, Not Unary

Input Decidable Language -- Program Halts on all Input Encoding of Input -- Natural Numbers Encoded in Binary or Decimal, Not Unary Complexity Analysis Complexity Theory Input Decidable Language -- Program Halts on all Input Encoding of Input -- Natural Numbers Encoded in Binary or Decimal, Not Unary Output TRUE or FALSE Time and Space

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17 12.1 Introduction Today we re going to do a couple more examples of dynamic programming. While

More information

Remainders. We learned how to multiply and divide in elementary

Remainders. We learned how to multiply and divide in elementary Remainders We learned how to multiply and divide in elementary school. As adults we perform division mostly by pressing the key on a calculator. This key supplies the quotient. In numerical analysis and

More information

Theory of Computation

Theory of Computation Theory of Computation (Feodor F. Dragan) Department of Computer Science Kent State University Spring, 2018 Theory of Computation, Feodor F. Dragan, Kent State University 1 Before we go into details, what

More information

Section Summary. Relations and Functions Properties of Relations. Combining Relations

Section Summary. Relations and Functions Properties of Relations. Combining Relations Chapter 9 Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations Closures of Relations (not currently included

More information

Exam in Discrete Mathematics

Exam in Discrete Mathematics Exam in Discrete Mathematics First Year at the Faculty of Engineering and Science and the Technical Faculty of IT and Design June 4th, 018, 9.00-1.00 This exam consists of 11 numbered pages with 14 problems.

More information

CVO103: Programming Languages. Lecture 2 Inductive Definitions (2)

CVO103: Programming Languages. Lecture 2 Inductive Definitions (2) CVO103: Programming Languages Lecture 2 Inductive Definitions (2) Hakjoo Oh 2018 Spring Hakjoo Oh CVO103 2018 Spring, Lecture 2 March 13, 2018 1 / 20 Contents More examples of inductive definitions natural

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Originals slides by Dr. Baek and Dr. Still, adapted by J. Stelovsky Based on slides Dr. M. P. Frank and Dr. J.L. Gross

More information

Discrete Mathematics: Lectures 6 and 7 Sets, Relations, Functions and Counting Instructor: Arijit Bishnu Date: August 4 and 6, 2009

Discrete Mathematics: Lectures 6 and 7 Sets, Relations, Functions and Counting Instructor: Arijit Bishnu Date: August 4 and 6, 2009 Discrete Mathematics: Lectures 6 and 7 Sets, Relations, Functions and Counting Instructor: Arijit Bishnu Date: August 4 and 6, 2009 Our main goal is here is to do counting using functions. For that, we

More information

Propositional Logic, Predicates, and Equivalence

Propositional Logic, Predicates, and Equivalence Chapter 1 Propositional Logic, Predicates, and Equivalence A statement or a proposition is a sentence that is true (T) or false (F) but not both. The symbol denotes not, denotes and, and denotes or. If

More information

Problem One: Order Relations i. What three properties does a binary relation have to have to be a partial order?

Problem One: Order Relations i. What three properties does a binary relation have to have to be a partial order? CS103 Handout 16 Fall 2011 November 4, 2011 Extra Practice Problems Many of you have expressed interest in additional practice problems to review the material from the first four weeks of CS103. This handout

More information

Administrivia. COMP9020 Lecture 7 Session 2, 2017 Induction and Recursion. Lecture 6 recap. Lecture 6 recap

Administrivia. COMP9020 Lecture 7 Session 2, 2017 Induction and Recursion. Lecture 6 recap. Lecture 6 recap Administrivia COMP9020 Lecture 7 Session 2, 2017 Induction and Recursion Guidelines for good mathematical writing Assignment 1 Solutions now available; marks available soon Assignment 2 available on Saturday,

More information

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:

More information

IS 709/809: Computational Methods in IS Research Fall Exam Review

IS 709/809: Computational Methods in IS Research Fall Exam Review IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm

More information

Section 11.1 Sequences

Section 11.1 Sequences Math 152 c Lynch 1 of 8 Section 11.1 Sequences A sequence is a list of numbers written in a definite order: a 1, a 2, a 3,..., a n,... Notation. The sequence {a 1, a 2, a 3,...} can also be written {a

More information

Mathematical Induction. Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition)

Mathematical Induction. Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition) Mathematical Induction Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition) Motivation Suppose we want to prove that for every value of n: 1 + 2 + + n = n(n + 1)/2. Let P(n) be the predicate

More information

Propositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications

Propositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications What is discrete math? Propositional Logic The real numbers are continuous in the senses that: between any two real numbers there is a real number The integers do not share this property. In this sense

More information

MAT 243 Test 2 SOLUTIONS, FORM A

MAT 243 Test 2 SOLUTIONS, FORM A MAT Test SOLUTIONS, FORM A 1. [10 points] Give a recursive definition for the set of all ordered pairs of integers (x, y) such that x < y. Solution: Let S be the set described above. Note that if (x, y)

More information

CS 250/251 Discrete Structures I and II Section 005 Fall/Winter Professor York

CS 250/251 Discrete Structures I and II Section 005 Fall/Winter Professor York CS 250/251 Discrete Structures I and II Section 005 Fall/Winter 2013-2014 Professor York Practice Quiz March 10, 2014 CALCULATORS ALLOWED, SHOW ALL YOUR WORK 1. Construct the power set of the set A = {1,2,3}

More information

Lecture 6 September 21, 2016

Lecture 6 September 21, 2016 ICS 643: Advanced Parallel Algorithms Fall 2016 Lecture 6 September 21, 2016 Prof. Nodari Sitchinava Scribe: Tiffany Eulalio 1 Overview In the last lecture, we wrote a non-recursive summation program and

More information

Mathematical Fundamentals

Mathematical Fundamentals Mathematical Fundamentals Sets Factorials, Logarithms Recursion Summations, Recurrences Proof Techniques: By Contradiction, Induction Estimation Techniques Data Structures 1 Mathematical Fundamentals Sets

More information

1 Sequences and Summation

1 Sequences and Summation 1 Sequences and Summation A sequence is a function whose domain is either all the integers between two given integers or all the integers greater than or equal to a given integer. For example, a m, a m+1,...,

More information

CS1800 Discrete Structures Final Version A

CS1800 Discrete Structures Final Version A CS1800 Discrete Structures Fall 2017 Profs. Aslam, Gold, & Pavlu December 11, 2017 CS1800 Discrete Structures Final Version A Instructions: 1. The exam is closed book and closed notes. You may not use

More information

Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from

Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from 1 pile (any of the two). The player who removes the

More information

CS375: Logic and Theory of Computing

CS375: Logic and Theory of Computing CS375: Logic and Theory of Computing Fuhua (Frank) Cheng Department of Computer Science University of Kentucky 1 Table of Contents: Week 1: Preliminaries (set algebra, relations, functions) (read Chapters

More information

Name CMSC203 Fall2008 Exam 2 Solution Key Show All Work!!! Page (16 points) Circle T if the corresponding statement is True or F if it is False.

Name CMSC203 Fall2008 Exam 2 Solution Key Show All Work!!! Page (16 points) Circle T if the corresponding statement is True or F if it is False. Name CMSC203 Fall2008 Exam 2 Solution Key Show All Work!!! Page ( points) Circle T if the corresponding statement is True or F if it is False T F GCD(,0) = 0 T F For every recursive algorithm, there is

More information

Relations. We have seen several types of abstract, mathematical objects, including propositions, predicates, sets, and ordered pairs and tuples.

Relations. We have seen several types of abstract, mathematical objects, including propositions, predicates, sets, and ordered pairs and tuples. Relations We have seen several types of abstract, mathematical objects, including propositions, predicates, sets, and ordered pairs and tuples. Relations use ordered tuples to represent relationships among

More information

Midterm 1 for CS 170

Midterm 1 for CS 170 UC Berkeley CS 170 Midterm 1 Lecturer: Satish Rao October 2 Midterm 1 for CS 170 Print your name:, (last) (first) Sign your name: Write your section number (e.g., 101): Write your SID: One page of notes

More information

What we have done so far

What we have done so far What we have done so far DFAs and regular languages NFAs and their equivalence to DFAs Regular expressions. Regular expressions capture exactly regular languages: Construct a NFA from a regular expression.

More information

Induction 1 = 1(1+1) = 2(2+1) = 3(3+1) 2

Induction 1 = 1(1+1) = 2(2+1) = 3(3+1) 2 Induction 0-8-08 Induction is used to prove a sequence of statements P(), P(), P(3),... There may be finitely many statements, but often there are infinitely many. For example, consider the statement ++3+

More information

COT 3100 Applications of Discrete Structures Dr. Michael P. Frank

COT 3100 Applications of Discrete Structures Dr. Michael P. Frank University of Florida Dept. of Computer & Information Science & Engineering COT 3100 Applications of Discrete Structures Dr. Michael P. Frank Slides for a Course Based on the Text Discrete Mathematics

More information

MATH 55 - HOMEWORK 6 SOLUTIONS. 1. Section = 1 = (n + 1) 3 = 2. + (n + 1) 3. + (n + 1) 3 = n2 (n + 1) 2.

MATH 55 - HOMEWORK 6 SOLUTIONS. 1. Section = 1 = (n + 1) 3 = 2. + (n + 1) 3. + (n + 1) 3 = n2 (n + 1) 2. MATH 55 - HOMEWORK 6 SOLUTIONS Exercise Section 5 Proof (a) P () is the statement ( ) 3 (b) P () is true since ( ) 3 (c) The inductive hypothesis is P (n): ( ) n(n + ) 3 + 3 + + n 3 (d) Assuming the inductive

More information

PRINCIPLE OF MATHEMATICAL INDUCTION

PRINCIPLE OF MATHEMATICAL INDUCTION Chapter 4 PRINCIPLE OF MATHEMATICAL INDUCTION 4.1 Overview Mathematical induction is one of the techniques which can be used to prove variety of mathematical statements which are formulated in terms of

More information

Chapter 2 (Part 3): The Fundamentals: Algorithms, the Integers & Matrices. Integers & Algorithms (2.5)

Chapter 2 (Part 3): The Fundamentals: Algorithms, the Integers & Matrices. Integers & Algorithms (2.5) CSE 54 Discrete Mathematics & Chapter 2 (Part 3): The Fundamentals: Algorithms, the Integers & Matrices Integers & Algorithms (Section 2.5) by Kenneth H. Rosen, Discrete Mathematics & its Applications,

More information

CS383, Algorithms Spring 2009 HW1 Solutions

CS383, Algorithms Spring 2009 HW1 Solutions Prof. Sergio A. Alvarez http://www.cs.bc.edu/ alvarez/ 21 Campanella Way, room 569 alvarez@cs.bc.edu Computer Science Department voice: (617) 552-4333 Boston College fax: (617) 552-6790 Chestnut Hill,

More information

Exercises for Discrete Maths

Exercises for Discrete Maths Exercises for Discrete Maths Discrete Maths Rosella Gennari http://www.inf.unibz.it/~gennari gennari@inf.unibz.it Computer Science Free University of Bozen-Bolzano Disclaimer. The course exercises are

More information

Chapter Summary. Sets (2.1) Set Operations (2.2) Functions (2.3) Sequences and Summations (2.4) Cardinality of Sets (2.5) Matrices (2.

Chapter Summary. Sets (2.1) Set Operations (2.2) Functions (2.3) Sequences and Summations (2.4) Cardinality of Sets (2.5) Matrices (2. Chapter 2 Chapter Summary Sets (2.1) Set Operations (2.2) Functions (2.3) Sequences and Summations (2.4) Cardinality of Sets (2.5) Matrices (2.6) Section 2.1 Section Summary Definition of sets Describing

More information

Recursion: Introduction and Correctness

Recursion: Introduction and Correctness Recursion: Introduction and Correctness CSE21 Winter 2017, Day 7 (B00), Day 4-5 (A00) January 25, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Today s Plan From last time: intersecting sorted lists and

More information

Mathematical Preliminaries. Sipser pages 1-28

Mathematical Preliminaries. Sipser pages 1-28 Mathematical Preliminaries Sipser pages 1-28 Mathematical Preliminaries This course is about the fundamental capabilities and limitations of computers. It has 3 parts 1. Automata Models of computation

More information

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta CSE 2001: Introduction to Theory of Computation Fall 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.eecs.yorku.ca/course/2001 9/10/2013

More information

Discrete Mathematics & Mathematical Reasoning Course Overview

Discrete Mathematics & Mathematical Reasoning Course Overview Discrete Mathematics & Mathematical Reasoning Course Overview Colin Stirling Informatics Colin Stirling (Informatics) Discrete Mathematics Today 1 / 19 Teaching staff Lecturers: Colin Stirling, first half

More information

CSE 311: Foundations of Computing. Lecture 16: Recursion & Strong Induction Applications: Fibonacci & Euclid

CSE 311: Foundations of Computing. Lecture 16: Recursion & Strong Induction Applications: Fibonacci & Euclid CSE 311: Foundations of Computing Lecture 16: Recursion & Strong Induction Applications: Fibonacci & Euclid Midterm A week today (Monday, May 7) in class Closed book, closed notes You will get lists of

More information