1 / 31

Understanding Discrete Mathematics and Algorithm Basics

Explore sequences, mathematical induction, algorithms like the Division Algorithm and Euclidean Algorithm, and theorems like the Well-Ordering Principle in discrete mathematics. Learn about loop invariants, correctness of algorithms, and set theory fundamentals.

scottbaker
Download Presentation

Understanding Discrete Mathematics and Algorithm Basics

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. Discrete MathematicsLecture 4 Harper Langston New York University

  2. Sequences • Sequence is a set of (usually infinite number of) ordered elements: a1, a2, …, an, … • Each individual element ak is called a term, where k is called an index • Sequences can be computed using an explicit formula: ak = 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

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

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

  5. Applications of Mathematical Induction • Show that 1 + 2 + … + n = n * (n + 1) / 2(Prove on board) • Sum of geometric series: r0 + r1 + … + rn = (rn+1 – 1) / (r – 1)(Prove on board)

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

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

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

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

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

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

  12. 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;

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

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

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

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

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

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

  19. 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 

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

  21. Empty Set • S = {x  R, x2 = -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  Ac = , A  Ac = U • Uc = , c = U

  22. 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 A1, A2, …, An is called mutually disjoint when any pair of sets from this collection is disjoint • A collection of non-empty sets {A1, A2, …, An} is called a partition of a set A when the union of these sets is A and this collection consists of mutually disjoint sets

  23. 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 2n elements (proof in Section 5.3 – will show if have time)

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

  25. 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  Xc  x  X (x, y)  X  Y  x  X  y  Y

  26. 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: (Ac)c = A • Idempotent Laws: A  A = A and A  A = A • De Morgan’s Laws: (A  B)c = Ac  Bc and(A  B)c = Ac  Bc • Absorption Laws: A  (A  B) = A and A  (A  B) = A • Alternate Representation for Difference: A – B = A  Bc • Intersection and Union with a subset: if A  B, then A  B = A and A  B = B

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

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

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

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

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

More Related