* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Sets - Computer Science - University of Birmingham
History of logarithms wikipedia , lookup
List of first-order theories wikipedia , lookup
Infinitesimal wikipedia , lookup
Approximations of π wikipedia , lookup
Location arithmetic wikipedia , lookup
History of the function concept wikipedia , lookup
Surreal number wikipedia , lookup
Non-standard calculus wikipedia , lookup
Collatz conjecture wikipedia , lookup
Large numbers wikipedia , lookup
Mathematics of radio engineering wikipedia , lookup
Georg Cantor's first set theory article wikipedia , lookup
Hyperreal number wikipedia , lookup
Real number wikipedia , lookup
Positional notation wikipedia , lookup
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.