Sets - Computer Science - University of Birmingham

Download Report

Transcript Sets - Computer Science - University of Birmingham

Intro to Maths for CS:
2012/13
Sets (end, week 3)
John Barnden
Professor of Artificial Intelligence
School of Computer Science
University of Birmingham, UK
Reminder of Week 2
Functions
 A total functional relation from A to B is called a function from
A to B.
Each thing in A is related to exactly one thing in B. (But two
different things in A can be related to the same thing in B, and not
everything in B needs to be related to anything in A. So the
inverse relation is not necessarily either functional or total.)
 Caution: every function is also a partial function.
Examples
 A = {3, 8, 2, 100}, B = {‘jjj’, ‘bb’, ‘c’, ‘x’, ‘y’}.
R = { <3, ‘jjj’>, <3, ‘bb’>, <2, ‘jjj’>, <8, ‘c’>, <100, ‘y’>}
NOT a function, because 3 maps to more than one thing
 R = { <3, ‘jjj’>, <2, ‘jjj’>, <100, ‘x’>}
NOT a function, because 8 fails to map to anything.
 R = { <3, ‘jjj’>, <2, ‘jjj’>, <100, ‘x’>, <8, ‘x’>}
IS a function.
From Partiality to Totality by Restriction
We can always turn a merely-partial R from A to B into a
total one by slimming A down enough! Just remove the
members of A that aren’t related to anything by R, to get a
new set AA. We don’t remove any tuples from R.
R (as a relation from AA to B) is total on AA.
And note that R|AA = R.
AA is called the domain of R, notated dom(R).
Totality contd. and “Onto”
A relation R from A to B is onto if for everything in B there
is at least one thing in A that is related by R to it. I.e.:

For every member b of B,
there is at least one a in A such that a, b> is in R.
Onto-ness is just totality in the other direction.
You can also say that R is total on B, or that the inverse of
R is total.
New for Week 3
Other Categories of Relation
 A relation R from A to B is one-to-one (1-1) if, for any a in A,
there is at most one b in B such that a, b> is in R, AND for
any b in B, there is at most one a in A such that a, b> is in R.

That is, both the relation and its inverse from B to A are
functional. (But they don’t need to be total.)

To put it another way: it is functional and different members
of A map to (= are related to) different members of B.

Or again: Different members of A map to different members
of B and different members of B map to different members
of A.
Example
 A = {3, 8, 2, 100}, B = {‘jjj’, ‘bb’, ‘c’, ‘x’, ‘y’}.
R = { <3, ‘jjj’>, <8, ‘c’>, <100, ‘y’>}
IS 1-1
Other categories, contd.
A one-to-one correspondence between a set A and B is
a SPECIAL one-to-one relation from A to B (or B to A):
 it is not only one-to-one but also TOTAL (on A) and
ONTO (B). (Or we can say: total on both A and B.)
Example
 A = {3, 8, 2, 100}, B = {‘jjj’, ‘bb’, ‘c’, ‘y’}.
R = { <3, ‘jjj’>, <8, ‘c’>, <100, ‘y’>}
NOT a 1-1 correspondence between A and B, even though it is
1-1, as 2 is left out from A, and ‘bb’ is left out from B.
 R = { <3, ‘jjj’>, <2, ‘bb’>, <8, ‘c’>, <100, ‘y’>}
IS a 1-1 correspondence between A and B
Other categories, contd.
But any 1-1 relation from A to B is a 1-1 correspondence
between the subsets of A, B consisting of those
members that do happen to feature in the relation!
Countable and Uncountable Sets
[Brief Intro; Optional Material]
A set X is countable if it can be placed in a one-to-one
correspondence with some subset of N, the set of natural
numbers from 1.
Trivial case: X = N
Let R be the relation {<x,x> | x  X}. This is the identity
relation on X.
Then R is a 1-1 correspondence between X and X.
Countable Sets, contd 1
 Similarly for any proper subset X of N: just use the identity
relation on X again.
 More interesting case: X = the set of all whole numbers
(negative, positive and zero).
Let R be the relation
{<x, 2x> | x  X, x  0}  {<x, -1-2x> | x  X, x < 0 }
So R = {(0,0), (-1,1), (1,2), (-2,3), (2,4), (-3,5), (3,6), …}
Then R is a 1-1 correspondence between X and N.
Countable Sets, contd 2
 Yet more interesting case: X = the set of positive rational numbers.
Can get our relation R by putting the possible fractions (with positive whole
number parts) in a square infinite table with numerators increasing horizontally
and denominators increasing vertically:
1/1 2/1 3/1 4/1 5/1 6/1 …
1/2 2/2 3/2 4/2 5/2 6/2 …
1/3 2/3 3/3 4/3 5/3 6/3 …
1/4 2/4 2/5 2/6 : : …
:
: : : : : …
Then traverse through the numbers in sequence by going up and down
diagonals, with steps on edges as necessary, and missing out fractions that are
not in simplest form (missed out ones are shown in brackets):
1/1, 2/1, 1/2, 1/3, (2/2), 3/1, 4/1, 3/2, 2/3, 1/4, 1/5, (2,4), (3,3), (4,2), 5/1, …
Count as:
1 2 3 4
5 6 7 8 9 10
11
Uncountable Sets
 All finite sets are countable. And they needn’t be sets of numbers!
The set of socks in this class is countable.
 We have seen that some infinite ones are countable …
 Even if the set X contains the natural numbers as a tiny proper
subset!! E.g., X = the set of rational numbers.
 But some infinite sets are not countable:
notably the set of real numbers (rational and irrational numbers
together), or even the set of real numbers between 0 and 1.
Can be shown by a an incredibly interesting and deep
“diagonalization” argument based on the decimal representations
of the numbers (see next slide)…
Uncountable Sets: The Real Numbers
 Consider the set of real numbers strictly between 0 and 1, and
represent them as decimals …
… in a canonical form – i.e. don’t allow them to end with 9 recurring (e.g.,
use 0.38027 not 0.3802699999999….), and fill out terminating decimals
with an ninfifnte sequence of zeroes at the and (so actually use
0.3802700000…..)
 Can show that: (D) different numbers always then have different
decimal representations.
 Now, suppose you could enumerate the above real numbers in
some order, i.e. put them into 1-1 correspondence with natural
numbers, e.g. (next slide). We will derives a contradiction.
The Real Numbers, contd
 Here’s how the enumeration might look:
No.1: 0.56243500000000000000000000000000…
No.2: 0.08508937982987876388729878475687….
No.3: 0.9909999999996735837409870000000…..
No.4: 0.7821985874649827094073498891111….
 Now form a decimal number by where the nth digit is the nth digit
of the nth decimal above: 0.5891…
 Now replace each digit in that decimal by a different digit other
than 9 (doesn’t matter which), e.g. to get 0.4483…
 This decimal is therefore different from any in the enumeration
above, because it always differs from the nth decimal in at least
one digit, namely the nth. And therefore by (D) above it
represents a real number between 0 and 1 not counted in the
enumeration!!!!! We have our contradiction.
Diagonalization, contd
 For deep reasons, diagonalization arguments crop up all over
the place in maths and logic and especially in their application
to CS.
 A relatively general formulation is that when you have an function
of two arguments, f(n,m), you can force both arguments to be the
same, to get a new function g(n) = f(n,n). Function g is the
diagonalization of f.

Why? – Just imagine setting out the values of f(n,m) in a square array. Then
g(n)’s values will be on the diagonal.
 In our case f(n,m) gives the nth digit of the mth decimal (in the
supposed enumeration of decimals). So the values of g(n) for n=1
upwards give us a new decimal number which causes trouble.
 Diagonalization is often used in other, completely different,
contexts to create entities that cause trouble, typically by not being
able to be accounted for in some way.