Discrete Mathematics Lecture 4 Harper Langston New York University.

Slides:



Advertisements
Similar presentations
Discrete Mathematics Lecture 3
Advertisements

Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Copyright © Cengage Learning. All rights reserved.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Instructor: Hayk Melikya
(CSC 102) Discrete Structures Lecture 14.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices
Copyright © Cengage Learning. All rights reserved. CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Denoting the beginning
Discrete Mathematics Lecture 2 Logic of Quantified Statements,
Discrete Mathematics Lecture 4: Sequences and Mathematical Induction
Discrete Structures Chapter 3 Set Theory Nurul Amelina Nasharuddin Multimedia Department.
Chapter 4 Properties of the integers: mathematical induction Yen-Liang Chen Dept of IM NCU.
Discrete Structures Chapter 2 Part B Mathematical Induction
Discrete Mathematics Lecture 5
Sets 1.
Sets 1.
Lecture 4 Discrete Mathematics Harper Langston. Algorithms Algorithm is step-by-step method for performing some action Cost of statements execution –Simple.
1 Set Theory. 2 Set Properties Commutative Laws: Associative Laws: Distributive Laws:
1 Set Theory. Notation S={a, b, c} refers to the set whose elements are a, b and c. a  S means “a is an element of set S”. d  S means “d is not an element.
Set Theory A B C.
Set theory Sets: Powerful tool in computer science to solve real world problems. A set is a collection of distinct objects called elements. Traditionally,
1 Introduction to Abstract Mathematics Chapter 4: Sequences and Mathematical Induction Instructor: Hayk Melikya 4.1- Sequences. 4.2,
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
Set, Combinatorics, Probability & Number Theory Mathematical Structures for Computer Science Chapter 3 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Set,
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Chapter 2 Mathematical preliminaries 2.1 Set, Relation and Functions 2.2 Proof Methods 2.3 Logarithms 2.4 Floor and Ceiling Functions 2.5 Factorial and.
Application: Correctness of Algorithms Lecture 22 Section 4.5 Fri, Mar 3, 2006.
Discrete Mathematics Lecture 4 Alexander Bukharovich New York University.
Week 7 - Monday.  What did we talk about last time?  Sets.
Chapter 5: Sequences, Mathematical Induction, and Recursion 5.5 Application: Correctness of Algorithms 1 [P]rogramming reliability – must be an activity.
CS201: Data Structures and Discrete Mathematics I
Chapter 2: Basic Structures: Sets, Functions, Sequences, and Sums (1)
CompSci 102 Discrete Math for Computer Science
Application: Correctness of Algorithms Lecture 22 Section 4.5 Fri, Feb 18, 2005.
Copyright © Cengage Learning. All rights reserved.
Week 6 - Friday.  What did we talk about last time?  Solving recurrence relations.
Boolean Algebras Lecture 27 Section 5.3 Wed, Mar 7, 2007.
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.
Foundations of Discrete Mathematics Chapter 4 By Dr. Dalia M. Gil, Ph.D.
Chapter 2 With Question/Answer Animations. Section 2.1.
Basic Definitions of Set Theory Lecture 23 Section 5.1 Wed, Mar 8, 2006.
Application: Algorithms Lecture 20 Section 3.8 Wed, Feb 21, 2007.
Basic Definitions of Set Theory Lecture 23 Section 5.1 Mon, Feb 21, 2005.
Module #3 - Sets 3/2/2016(c) , Michael P. Frank 2. Sets and Set Operations.
Application: Algorithms Lecture 19 Section 3.8 Tue, Feb 20, 2007.
Boolean Algebras Lecture 24 Section 5.3 Wed, Mar 22, 2006.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
Chapter 2 1. Chapter Summary Sets (This Slide) The Language of Sets - Sec 2.1 – Lecture 8 Set Operations and Set Identities - Sec 2.2 – Lecture 9 Functions.
Week 8 - Wednesday.  What did we talk about last time?  Relations  Properties of relations  Reflexive  Symmetric  Transitive.
Fuw-Yi Yang1 Textbook: Introduction to Cryptography 2nd ed. By J.A. Buchmann Chap 1 Integers Department of Computer Science and Information Engineering,
Fall 2002CMSC Discrete Structures1 Chapter 3 Sequences Mathematical Induction Recursion Recursion.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
Discrete Mathematics Lecture 6
Discrete Mathematics Lecture 3 (and 4)
Set Theory.
Set, Combinatorics, Probability & Number Theory
Week 7 - Monday CS322.
Discrete Mathematics Lecture 7
Advanced Algorithms Analysis and Design
Chapter 5, Set Theory 1.
Mathematical Induction Recursion
Set Theory A B C.
Copyright © Cengage Learning. All rights reserved.
Sets, Sequences, and Summations
Application: Algorithms
Application: Algorithms
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
Presentation transcript:

Discrete Mathematics Lecture 4 Harper Langston New York University

Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2, …, a n, … Each individual element a k is called a term, where k is called an index Sequences can be computed using an explicit formula: a k = k * (k + 1) for k > 1 Alternate sign sequences Finding an explicit formula given initial terms of the sequence: 1, -1/4, 1/9, -1/16, 1/25, -1/36, … Sequence is (most often) represented in a computer program as a single-dimensional array

Sequence Operations Summation: , expanded form, limits (lower, upper) of summation, dummy index Change of index inside summation Product: , expanded form, limits (lower, upper) of product, dummy index Factorial: n!, n! = n * (n – 1)!

Review Mathematical Induction Principle of Mathematical Induction: Let P(n) be a predicate that is defined for integers n and let a be some integer. If the following two premises are true: P(a) is a true  k  a, P(k)  P(k + 1) then the following conclusion is true as well P(n) is true for all n  a

Applications of Mathematical Induction Show that … + n = n * (n + 1) / 2 (Prove on board) Sum of geometric series: r 0 + r 1 + … + r n = (r n+1 – 1) / (r – 1) (Prove on board)

Examples that Can be Proved with Mathematical Induction Show that 2 2n – 1 is divisible by 3 (in book) Show (on board) that for n > 2: 2n + 1 < 2 n Show that x n – y n is divisible by x – y Show that n 3 – n is divisible by 6 (similar to book problem)

Strong Mathematical Induction Utilization of predicates P(a), P(a + 1), …, P(n) to show P(n + 1). Variation of normal M.I., but basis may contain several proofs and in assumption, truth assumed for all values through from base to k. Examples: Any integer greater than 1 is divisible by a prime Existence and Uniqueness of binary integer representation (Read in book)

Well-Ordering Principle Well-ordering principle for integers: a set of integers that are bounded from below (all elements are greater than a fixed integer) contains a least element Example: Existence of quotient-remainder representation of an integer n against integer d

Stepping back: Algorithms Last lecture we talked about some elementary number theory such as the Quotient Remainder Theorem (pg 157) Algorithm is step-by-step method for performing some action (such as finding remainder in Q.R.) Cost of statements execution –Simple statements –Conditional statements –Iterative statements

Example: Division Algorithm Input: integers a and d Output: quotient q and remainder r Body: r = a; q = 0; while (r >= d) r = r – d; q = q + 1; end while

Greatest Common Divisor The greatest common divisor of two integers a and b is another integer d with the following two properties: –d | a and d | b –if c | a and c | b, then c  d Lemma 1: gcd(r, 0) = r Lemma 2: if a = b * q + r, then gcd(a, b) = gcd(b, r)

Euclidean Algorithm Input: integers a and b (a>b>=0) Output: greatest common divisor gcd Body: r = b; while (b > 0) r = a mod b; a = b; b = r; end while gcd = a;

Exercise Least common multiple: lcm Prove that for all positive integers a and b, gcd(a, b) = lcm(a, b) iff a = b

Correctness of Algorithms Assertions –Pre-condition is a predicate describing initial state before an algorithm is executed –Post-condition is a predicate describing final state after an algorithm is executed Loop guard Loop is defined as correct with respect to its pre- and post- conditions, if whenever the algorithm variables satisfy the pre-conditions and the loop is executed, then the algorithm satisfies the post-conditions as well

Loop Invariant Theorem Let a while loop with guard G be given together with its pre- and post- conditions. Let predicate I(n) describing loop invariant be given. If the following 4 properties hold, then the loop is correct: –Basis Property: I(0) is true before the first iteration of the loop –Inductive Property: If G and I(k) is true, then I(k + 1) is true –Eventual Falsity of the Guard: After finite number of iterations, G becomes false –Correctness of the Post-condition: If N is the least number of iterations after which G becomes false and I(N) is true, then post-conditions are true as well

Correctness of Some Algorithms Product Algorithm: pre-conditions: m  0, i = 0, product = 0 while (i < m) { product += x; i++; } post-condition: product = m * x

Correctness of Some Algorithms Division Algorithm pre-conditions: a  0, d > 0, r = a, q = 0 while (r  d) { r -= d; q++; } post-conditions: a = q * d + r, 0  r < d

Correctness of Some Algorithms Euclidean Algorithm pre-conditions: a > b  0, r = b while (b > 0) { r = a mod b; a = b; b = r; } post-condition: a = gcd(a, b)

Basics of Set Theory Set and element are undefined notions in the set theory and are taken for granted Set notation: {1, 2, 3}, {{1, 2}, {3}, {1, 2, 3}}, {1, 2, 3, …}, , {x  R | -3 < x < 6} Set A is called a subset of set B, written as A  B, when  x, x  A  x  B. What is negation? A is a proper subset of B, when A is a subset of B and  x  B and x  A Visual representation of the sets Distinction between  and 

Set Operations Set a equals set B, iff every element of set A is in set B and vice versa. (A = B  A  B /\ B  A) Proof technique for showing sets equality (example) Union of two sets is a set of all elements that belong to at least one of the sets (notation on board) Intersection of two sets is a set of all elements that belong to both sets (notation on board) Difference of two sets is a set of elements in one set, but not the other (notation on board) Complement of a set is a difference between universal set and a given set (notation on board) Examples

Empty Set S = {x  R, x 2 = -1} X = {1, 3}, Y = {2, 4}, C = X  Y (X and Y are disjoint) Empty set has no elements  Empty set is a subset of any set There is exactly one empty set Properties of empty set: –A   = A, A   =  –A  A c = , A  A c = U –U c = ,  c = U

Set Partitioning Two sets are called disjoint if they have no elements in common Theorem: A – B and B are disjoint A collection of sets A 1, A 2, …, A n is called mutually disjoint when any pair of sets from this collection is disjoint A collection of non-empty sets {A 1, A 2, …, A n } is called a partition of a set A when the union of these sets is A and this collection consists of mutually disjoint sets

Power Set Power set of A is the set of all subsets of A Example on board Theorem: if A  B, then P(A)  P(B) Theorem: If set X has n elements, then P(X) has 2 n elements (proof in Section 5.3 – will show if have time)

Cartesian Products Ordered n-tuple is a set of ordered n elements. Equality of n-tuples Cartesian product of n sets is a set of n- tuples, where each element in the n-tuple belongs to the respective set participating in the product

Set Properties Inclusion of Intersection: A  B  A and A  B  B Inclusion in Union: A  A  B and B  A  B Transitivity of Inclusion: (A  B  B  C)  A  C Set Definitions: x  X  Y  x  X  y  Y x  X  Y  x  X  y  Y x  X – Y  x  X  y  Y x  X c  x  X (x, y)  X  Y  x  X  y  Y

Set Identities Commutative Laws: A  B = A  B and A  B = B  A Associative Laws: (A  B)  C = A  (B  C) and (A  B)  C = A  (B  C) Distributive Laws: A  (B  C) = (A  B)  (A  C) and A  (B  C) = (A  B)  (A  C) Intersection and Union with universal set: A  U = A and A  U = U Double Complement Law: (A c ) c = A Idempotent Laws: A  A = A and A  A = A De Morgan’s Laws: (A  B) c = A c  B c and (A  B) c = A c  B c Absorption Laws: A  (A  B) = A and A  (A  B) = A Alternate Representation for Difference: A – B = A  B c Intersection and Union with a subset: if A  B, then A  B = A and A  B = B

Proving Equality First show that one set is a subset of another (what we did with examples before) To show this, choose an arbitrary particular element as with direct proofs (call it x), and show that if x is in A then x is in B to show that A is a subset of B Example (step through all cases)

Disproofs, Counterexamples and Algebraic Proofs Is is true that (A – B)  (B – C) = A – C? (No via counterexample) Show that (A  B) – C = (A – C)  (B – C) (Can do with an algebraic proof, slightly different)

Boolean Algebra A Boolean Algebra is a set of elements together with two operations denoted as + and * and satisfying the following properties: Commutative: a + b = b + a, a * b = b * a Associative: (a + b) + c = a + (b + c), (a * b) *c = a * (b * c) Distributive: a + (b * c) = (a + b) * (a + c), a * (b + c) = (a * b) + (a * c) Identity: a + 0 = a, a * 1 = a for some distinct unique 0 and 1 Complement: a + ã = 1, a * ã = 0

Russell’s Paradox Set of all integers, set of all abstract ideas Consider S = {A, A is a set and A  A} Is S an element of S? Barber puzzle: a male barber shaves all those men who do not shave themselves. Does the barber shave himself? Consider S = {A  U, A  A}. Is S  S? Godel: No way to rigorously prove that mathematics is free of contradictions. (“This statement is not provable” is true but not provable) (consistency of an axiomatic system is not provable within that system)

Halting Problem There is no computer algorithm that will accept any algorithm X and data set D as input and then will output “halts” or “loops forever” to indicate whether X terminates in a finite number of steps when X is run with data set D. Proof is by contradiction