Relations Among Sets Let A and B be

Relations Among Sets � Let A and B be any sets • A binary relation R from A to B is a subset of Ax. B • Given an ordered pair (x, y), x is related to y by R iff (x, y) is in R. • This is denoted • If x is not related to y by R, we say � The term “binary” means that the relation is defined for two elements. Other types of relations, called n-ary relations, also exist. If you want, look them up. They’re very useful in CS

A Simple Relation �Consider sets A={0, 1, 2} and B={1, 2, 3}. Ax. B is the set of all possible ordered pairs from A and B • If element x from A is related to element y from B, we say x. Ry, “x is related to y” �If x<y, which elements in Ax. B are in set R? �Answer: {(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)} �Which elements are not in R? �Answer: {(1, 1), (2, 2)}

The Circle Relation �For any (x, y) in the real number plane (Rx. R), (x, y) are in relation C iff “x 2 + y 2 = 1” • This is the equation for a circle • This relation has infinitely many solutions because it is a subset of the cross product of two infinitely large sets (two sets of all real numbers) • To check the relation, test some x and y values �(0, 0) => 02 + 02 = 0 ≠ 1 �(1, 0) => 12 + 02 = 1 �(2, 0) => 22 + 02 = 4 ≠ 1

Properties of Relations � Given set A and relation S: • S is reflexive iff for all x in A, (x, x) is in S �Informal: Each element is related to itself • S is symmetric iff for all x and y in A, if (x, y) is in S, then (y, x) is in S �Informal: If any one element is related to any other element, then the second element is related to the first • S is transitive iff for all x, y, and z in A, if (x, y) and (y, z) are in S, then (x, z) is in S �Informal: If any one element is related to a second, and that second is related to a third, then the first is related to the third � These definitions are each universal statements • These properties can be proven true by proving that every element x, y, and z must satisfy the property • Prove them false by finding a counter example

Examples S = {(0, 0), (0, 1), (0, 3), (1, 0), (1, 1), (2, 2), (3, 0), (3, 3)} � � T ={(0, 1), (2, 3)} � W = {(0, 0), (0, 2), (0, 3), (2, 3)} • Which properties do S, T, and W satisfy? �S is reflexive: Each element is related to itself – (0, 0)… �S is symmetric: For every ordered pair in S, there is also a reverse pair – The reverse of (x, x) is (x, x)!! �S is not transitive: There is point (1, 0) and point (0, 3) but there is no point (1, 3) – (x, y), (y, z), but not (x, z) �T is not reflexive: Not every point (x, x) is in T �T is not symmetric: Not every point (x, y) has a corresponding (y, x) point �T is transitive: It is not obvious why. Notice that there are no points (x , y) and (y, z) in T, so there is never an opportunity for transitivity to be false. We say that T is vacuously transitive, meaning the property is true by default �W is not reflexive: 1 is between 0 and 2, so is in set A on which W is a relation. The point (1, 1), among other points like (2, 2), is not in W �W is not symmetric: There is a (0, 2) but not a (2, 0) �W is transitive: There is a (0, 2), (2, 3) and a (0, 3) – these are the only points of the form (x, y), (y, z), (x, z). There are no other (x, y), (y, z) points. It must be transitive � These =x properties extend readily to infinite relations like y

The Transitive Closure of a Relation �We have a relation H that is not transitive, but we want it to be transitive • The transitive closure of H, denoted Ht, is the set that contains H but also contains all the points necessary to make Ht a transitive relation • Ht satisfies the following properties �Ht is transitive �H is a subset of or is equal to Ht �If S is any other transitive relation that contains H, then it also contains Ht

Examples �A = {0, 1, 2, 3} and R = {(0, 1), (1, 2), (2, 3)} �What is the transitive closure of R? • Every ordered pair in R is in Rt • Every grouping of points (x, y) and (y, z) must yield an (x, z) point �(0, 1) + (1, 2) → (0, 2) �(1, 2) + (2, 3) → (1, 3) �Since (0, 2) is now in Rt, (0, 2) + (2, 3) → (0, 3) • Rt = {(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)}

To Define Functions… �Consider the function F from a set A to a set B that satisfies the following two properties • For every element x in A there is an element y in B such that (x, y) is in F. • For all elements x in A and y, z in B �If (x, y) is in F and (x, z) is in F, then y = z • If F is a function from A to B, we say y = F(x) iff (x, y) is in F

Functions and Relations on Finite Sets � Sets A = {2, 4, 6} and B = {1, 3, 5} are connected by two relations R = {(2, 5), (4, 1), (4, 3), (6, 5)} and S = “for all (x, y) in Ax. B, (x, y) is in S iff y = x + 1” • Relation R is not a function because the x value 4 yields to separate y values 1 and 3 �In a function, according to property 2, an x value (input) can yield only one unique y value (output) • Relation S is not a function because there is no element y in B such that y = 6 + 1 = 7 �Property 1 states that every element in A must yield an element in B

Domain and Range � If a function is defined from set X to set Y, we say that the first set, X, is the domain of the function and the second set, Y, is the range • When you think of a function in terms of a machine, you can visualize the domain as the set of possible inputs and the range as the set of possible outputs • If X is the set of all real numbers, there is no guarantee that Y will also contain all real numbers, as is demonstrated with the function y = x 2 • The process of using a function to transform its domain into range values is known as mapping and consists of feeding in the inputs and recording the outputs �You will do a lot of relational mapping in computer science

Injective Vs Surjective Functions � For a function to be injective, or one-to-one, every element in its domain must yield a unique value • If F(x) = F(x[2]), then x = x[2] �F(2) can’t equal F(3). An example is the function F(x)=x, because F(x[2]) can only equal x[2], so if x[2] ≠ x, F(x[2]) won’t equal F(x) � For a function to be surjective, or onto, every element in the function’s domain must be matched with an element from its range • A = {1, 2, 3}, B = {a, b, c, d} �F(A) = {a, b, c} �This function is not surjective because 1 yields a, 2 yields b, 3 yields c, but nothing yields d, which is in the range of F(x) because it is defined over the sets A and B • Formally, this is described as: Given sets X and Y, F(X) is onto Y iff for every element y in Y, there exists an element x in X such that F(x) = y

Examples � Is y= F(x) = x 2 for all real numbers x injective/surjective? • F(x) is not injective �(-2)2 = 22 = 4, therefore F(-2) = F(2) but -2 ≠ 2. • F(x) is not surjective if Y (the range) is defined as all real numbers �The reason is straightforward: We have y = x 2. However, there is no negative real number y such that x 2 = y. EX: (-1/2)2 = 1/4. All squared real numbers are positive, so none of the negative real values of y are matched with F(x) values � Y = G(x) = x 3 is both injective and surjective • This is true because every real number raised to the third power has a unique value. G(-x) ≠ G(x), and it can be easily shown that every real value of y can be yielded from a particular value of x

Real Number Functions and the Vertical Line Test � For a function to be defined over the real numbers, it must be true that for every real value of x, there is a real value y as the output � Also, if a relation is graphed on a Rx. R plane, it cannot be a function if a vertical line can be drawn through the graph and intersect two points � Both of these properties stem from properties 1 and 2 • Notice that a circle is not a real-number function because it does not satisfy either property • The second relation, however, is a real number function because it will continue to infinity in both directions without folding back into itself

Inverse Functions � An inverse function is a function that “undoes” another function by mapping the range of a function back onto its domain • In order for F(x) to have a single, all-encompassing inverse function 1(y), F- F(x) must be both injective and surjective • An inverse function is defined as follows: F-1(y) = x y = F(x) • If every range value, y, is produced by the function F(x), and no two domain values, x, yield the same y value, then F-1(y) will yield every x value and no two y values will yield the same x value • Most functions do not have a single, perfect inverse function. In these cases, the inverse relation is actually a system of inverse functions, each defined over a set domain and range �To obtain this set algebraically, swap the locations of all domain and range values and solve for the range values �EX: y = x 2 → x = y 2 → ±(x 1/2) = y. �Notice the ±. This means that the inverse of y = x 2 is actually a system of two functions, one having all positive and another having all negative values �As you would expect, these systems tend to be more complicated, and are a subject of higher mathematics

Inverse Relations �If S is a relation from A to B, then its inverse S-1 is defined as follows • S-1 = {(y, x) in Bx. A such that (x, y) is in S} • In other words, (y, x) is in S-1 iff (x, y) is in S �To obtain an inverse relation, switch the x and y values for all of the ordered pairs • To take the inverse of a real number graph, rotate the graph 90 degrees clockwise �Use the horizontal line test to determine whether a graph’s inverse is a function Both relations are functions, but only relation 2 has a single inverse function. To see this, you can perform the horizontal line test

Hashing Functions � Now we get to some practical applications • A hashing function is one which takes a variety of inputs (strings, large integers, binary data) and transforms those inputs into a distinct numerical output �Such functions are used to establish methods for sorting items, encrypting data, and improving the efficiency of storing data �Say you need a quick way to sort a data base of students based on social security numbers �These numbers are very large, so it would be impractical to sort data based on the numbers alone �Instead, we will use the hashing function H(n) = n mod 7, where mod is the modulo division operator defined by “n mod m = n-m*(n div m)”. Div is an operator which returns the integer component of division �This function yields a manageable way to sort data. However, sometimes the function will return the same value for different n values. This is known as a collision, and must be resolved using an algorithm

Checksum Functions �A checksum function is a special class of hash functions that is designed to avoid and correct collision errors • Essentially, you use a bit of programming magic to ensure that the hash is sustainably implemented • As a conceptual example, consider the social security hash on the previous slide �If all of the numbers you entered into the system yielded the same hash value (yes this is possible), then the sort would be totally ineffective �To ensure redundancy, you would have to add other parameters to the sort, like last names, birthdays, or student IDs
- Slides: 17