Relations/Functions Overview

Download Report

Transcript Relations/Functions Overview

 Let A and B be any sets
• A binary relation R from A to B is a subset of AxB
• 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
 Consider
sets A={0,1,2} and B={1,2,3}.
AxB 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 xRy, “x is related to y”
 If x<y, which elements in AxB 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,1), (2,2)}
 For
any (x, y) in the real number plane
(RxR), (x, y) are in relation C iff “x2 + y2
= 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

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



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 properties extend readily to infinite relations like
y=x
 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
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)}
 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
 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 AxB, (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
 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 = x2
• 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

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

Is y= F(x) = x2 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 = x2. However, there
is no negative real number y such that x2 = 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) = x3 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
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 RxR
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

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
F-1(y), 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 = x2 → x = y2 → ±(x1/2) = y.
 Notice the ±. This means that the inverse of y = x2 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
 If
S is a relation from A to B, then its
inverse S-1 is defined as follows
• S-1 = {(y, x) in BxA 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

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
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