Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATH 224 – Discrete Mathematics

Similar presentations


Presentation on theme: "MATH 224 – Discrete Mathematics"— Presentation transcript:

1 MATH 224 – Discrete Mathematics
Basic Structures - Sets Sets provide a basis for many of the data structures used in computer science. As you already know sets are collections of any type of object without ordering and without duplicates. The original formalization of the set was developed by the mathematician Georg Cantor in the late 19th century. Cantor is most famous for both his theory of sets and infinity. He developed the idea of a hierarchy of infinities with the smallest being countable infinity sets, e.g., the integers, followed what he called Aleph 1 (א1) the “smallest” uncountable set, e.g., the real numbers. His theory provides the basis for the concept that some problems are not solvable by computers. 7/22/2018

2 MATH 224 – Discrete Mathematics
Set Examples Some examples of sets include: The set of students in this class The set N of natural number (all non-negative integers) {0, 1, 2, 3, …} The set Z of all integers both positive and negative {…, -2, -1, 0, 1, 2, …} The set Q of all rational numbers (numbers that can be expressed as p/q, where p and q are elements of Z The set R of real numbers. The set C of complex numbers. Which of these sets are countable and which are uncountable? Countable sets can also be finite. Can you name some other countable sets, both finite and infinite? 7/22/2018

3 MATH 224 – Discrete Mathematics
Basic Set Notation 7/22/2018

4 MATH 224 – Discrete Mathematics
Sets and Venn Diagrams Describe the sets represented by this Venn diagrams and there size. Computational Problems x ≥ 0 x Z Solvable by N2 algorithms Solvable by computers Letters ASCII characters 7/22/2018

5 MATH 224 – Discrete Mathematics
Basic Set Notation Vertical bars are used to indicate the size of a set or the number of elements in a set. So far example, the set of English lowercase letters L has size twenty six as indicated by |L| = 26 A set of this size can be put in one-to-one correspondence with the set {0, 1, 2, ..., 25}. The power set of a set is indicated by P(X). This is the set of all subsets of X. So for example, if X = {a, b, c} then P(X) = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} If a set has a finite number of elements, for example N, how many elements will its power set have? Do you think that the power set of the integers is countable? Is it possible for a set to contain itself? Can you think of an example? 7/22/2018

6 MATH 224 – Discrete Mathematics
Sets with Quantifiers Assume that we have an algorithm σ that finds square roots of numbers. This might be indicated by something like ( x R) (x ≥ 0 → σ(x) returns the √x) How would you describe the set of perfect squares? How would you describe the real numbers as a subset of the complex numbers without mentioning the imaginary number i? 7/22/2018

7 MATH 224 – Discrete Mathematics
Cartesian Products and Ordered Pairs Finally the concept of Cartesian products and order pair is important in computer science. You have seen ordered pairs, when plotting XY coordinates on a dimensional graph. The Cartesian product, A x B, of two sets consists of all possible ordered pairs (a, b) where a A and b B. So for example if A = {1, 2, 3} and B = {a, b}, then A x B = {(1, a), (1, b), (2, a), (2, b), (3, a), (3, b)}. Data structures such as graphs, trees and 2-dimensional arrays may be described as sets of ordered pairs. Any subset of a Cartesian product is called a relation. And under specific circumstances a relation may also be a function. As an example, consider the set of all ordered (x, y) pairs of the grapy of y = 2x That set is called a relation and a function. It is a subset of R x R where R is the set of real numbers. Why do circles and ellipses on an x ─ y coordinate graph not represent functions while parabolas and straight lines do? 7/22/2018

8 MATH 224 – Discrete Mathematics
Set Operations Union: A U B = { x | x A v x B} Intersection: A ∩ B = { x | x A ^ x B} Difference: A – B = { x | x A ^ x B} ( stands for not in) Complement: A′ or A = {x | x A} (It is assumed with respect to a universal set) Symmetric Difference: A O B = {x | (x A U B) ^ (x A ∩ B) Can you explain why the identities in Table 1, on Page 124 from our text are true? For example , why does A ∩ (B U C) = (A ∩ B) U (A ∩ C)? And what about A U (A ∩ B) = A? Could the distributive law for union be used to get the same result when union and intersection are swapped? 7/22/2018

9 MATH 224 – Discrete Mathematics
Functions You already know what a function is in C++. It is a routine that possibly takes some input, performs some operations and possibly returns a value. Not all functions in C++ correspond to functions in mathematics. To conform to a mathematical function a C++ function must: Take input, one or more parameters Return a value that is unique for a given input Must be a constant function – that is it must not alter any values, just return something (Well, it could be a void function with some parameters passed by value and some passed by reference satisfying specific conditions.) When a C++ function returns a value, will a unique input always determine a unique output? What does a function have to do with ordered pairs? How are mathematical functions specified? 7/22/2018

10 MATH 224 – Discrete Mathematics
Functions In mathematics, a function has a domain, sometimes referred to as the independent variable and a range (or codomain)* sometimes referred to as the dependent variable. For each possible value in the domain, there must be exactly one element in the range. An example of a function is f(x) = 2x – 3. If the domain of this function is restricted to integer values between –5 and 2, then the function f might be described as the set of ordered pairs {(-5, -13), (-4, -11), (-3, -9), (-2, -7), (-1, -5), (0, -3), (1, -1), (2, 1)}. The elements in this set correspond to points on the line described by y = 2x – 3. *Note that there is a distinction between range and the codomain. To be precise the range is a subset of the codomain. Why does the equation y2 + x2 = 4, not describe a function? Why does the set {(0,1), (2, 4), (4, 8), (1, 0), (4, 2)} not describe a function? 7/22/2018

11 MATH 224 – Discrete Mathematics
Function Terminology A function is called onto if its range is equal to the codomain. So for example, f(x) = 2x – 3 is a function from the real numbers to the real numbers that is onto since ( y R) x (y = 2x – 3 ) . On the other hand g(x) = 2x2 – 3 is not onto the real numbers since no value of x results in a value for g(x) < –3. An onto function is called a surjection. How would you express the fact that g(x) is not an onto function using quantifiers? Can you give some examples of functions that are surjections? Can you give some examples where the domain is finite? Is a C++ function that sorts array surjective? 7/22/2018

12 MATH 224 – Discrete Mathematics
Function Terminology A function is called one-to-one if there is exactly one value in the domain for each value in the range.. So for example f(x) = 2x – 3 is a one-to-one function from the real numbers to the real numbers that is ( y R, x R [(f(x) = f(y)) → x = y] . On the other hand, g(x) = 2x2 – 3 is not one-to-one. For example, g(3) = g(-3) =15. A one-to-one function is called an injection. Finally a function that is one-to-one and onto is called a bijection or a one-to-one correspondence. When there is a one-to-one correspondence between to sets, those sets are the same size (have the same number of elements). Is a C++ function that sorts arrays injective? Can you give some examples of functions that are bijections? Does the set of all integers have the same number of elements as the set of even integers? Can you describe a one-to-one correspondence between these two sets. Is the factorial function one-to-one? Is it onto the set of all positive integers? 7/22/2018

13 MATH 224 – Discrete Mathematics
Function Terminology A function is said to be invertible if it has an inverse. For example, the inverse of f(x) = 2x + 5 is f-1(x) = (x – 5)/2. How would you show that this example is correct? The inverse of a function interchanges the domain and the range. Does a function have to be a bijection in order to have an inverse? Can you give some examples of functions and their inverses? 7/22/2018

14 MATH 224 – Discrete Mathematics
Function Terminology Functions can be combined to create new functions. For example the result of two functions may be added, for example, (f1 + f2) = f1(x) + f2(x). All arithmetic operations may be used in a similar way including multiplication, division and subtraction. Even more complex operations such as exponentiation, e.g., f1(x)f2(x) may be used. Can functions be combined in this way in C++. How would you do exponentiation of two functions in C++? Another operation is the composition of functions f o g(x) = f(g(x)). What function results form f o f-1(x)? Describe the function as an equation in y and x ? Give an example of how to create the composition of two functions in C++. 7/22/2018

15 MATH 224 – Discrete Mathematics
Some Important Functions for programming You should know what the floor and ceiling functions are. In C++, when doing integer division, which of these functions is used? Find a value for x that makes └x┘+ └x┘ ≤└x + x┘ Another important function in programming is log2(x) written as lg(x). This function is the inverse of 2x. So for example, since 25 = 32, it follows that lg(32) = 5. The lg function along with the ceiling function can be used to determine the number of bits required to represent an integer. For example, to represent 1000, requires 10 bits since lg(512) = 9 and lg(1024) = 10. Therefore 9 < lg(1000) < 10 and ┌lg (1000)┐ = 10. Do you know an algorithm that you were taught in CS 140 or 141 that takes ┌lg(n) ┐ iterations when applied to an array with n elements? 7/22/2018


Download ppt "MATH 224 – Discrete Mathematics"

Similar presentations


Ads by Google