1 / 19

Comparing Sets Size without Counting

Comparing Sets Size without Counting. 2 sets A and B have the same size if there is a function f: A  B such that: For every x  A there is one and only y  B such that f(x) = y Every y  B has one x  A such that f(x) = y In such situations f is said to be a bijective. Example:. B.

Télécharger la présentation

Comparing Sets Size without Counting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comparing Sets Size without Counting 2 sets A and B have the same size if there is a function f: A B such that: • For every x  A there is one and only y  B such that f(x) = y • Every y  B has one x  A such that f(x) = y In such situations f is said to be a bijective

  2. Example: B A a b c d e f 1 2 3 4 5 6

  3. f(x) = x/2 is a bijective from E to N N = {f(2), f(4), f(6) ,…} Example (2) E = {n : n is an even natural number} N = {n : n is a natural number} Does E and N have the same size? Yes:

  4. f(x) = 1/x is a bijective from R1 to (0,1] 1 same size! 1 Example (3) R1 = {r : r is a real positive number greater than 1} (0,1] = {r : r is a real number between 0 and 1} Does R1 and (0,1] have the same size? Yes:

  5. Example (4) How about: R+ = {r : r is a real non-negative number} N = {n : n is a natural number} Every attempt fails: f(x) = x (leaves numbers like 0.5 out) f(x) = floor(x) (assigns the same value for numbers like 1.2 and 1.3) How can we know for sure that there is no bijective function from R+ to N?

  6. Enumerability • We know that there is an enumeration for all the natural numbers: 1, 2, 3, 4, … , 101000, … The point is that for any natural, say 101000, it will eventually be listed! • There is no such enumeration of all the real numbers between 0 and 1 (i.e., 0, 0.01, 0.1003, 3/) • Thus there can’t be any bijective function f: N [0,1], otherwise: {f(0), f(1), f(2), …} would be an enumeration for [0,1] • Surprisingly there is a enumeration for the rational numbers (the irrational numbers the ones that are non enumerable!)

  7. Enumerability (2) • The set of all rational numbers: {p/q : p, q are natural numbers} is enumerable: Note: you could easily write a program in C++ that outputs this enumeration (and runs forever) 1 2 3 4 5 … q … 1 1/1 1/2 1/3 1/4 1/5 … 1/q … 2 2/1 2/2 2/3 2/4 2/5 … 2/q … 3 3/1 … 4 4/1 … 5 5/1 … 5/q … … p p/1 … p/q … … Enumeration: 1/1, 1/2, 2/1, 1/3, 2/2, 3/1, 1/4, …, p/q, …

  8. [0,1) Is Not Enumerable By contradiction: suppose that there is an enumeration for all the real numbers between 0 and 1: # 1: 0.012304565 ... # 2: 0.10002344345 ... # 3: 0.865732546789 … … #23: 0.434555…6… …

  9. The 23-rd digit [0,1) Is Not Enumerable (II) We construct a number  as follows: for each number n in the enumeration, we look at the n-th digit in n: #1: 0.012304565 ... #2: 0.10002344345 ... #3: 0.865732546789 … … #23: 0.434555…6… …  = 0.005…6… Obviously  is a real number between 0 and 1

  10.  = 0.120…7… Obviously  is a real number between 0 and 1 Question: is  = #1? or  = #2? or … or  = #23? or … …  … [0,1) Is Not Enumerable(III) We construct a number  as follows: we change each digit in  for a different digit:  = 0.005…6…  #1: 0.012304565 ... #2: 0.10002344345 ... #3: 0.865732546789 … … #23: 0.434555…6… … Thus, it is not possible to enumerate all the real numbers between 0 and 1!  

  11. Consequences • This means that even though the natural and the real numbers are both infinite, the size of the set of the real numbers is “bigger” than the size of the set of the natural numbers. This has been known for mathematicians for quite a long time Astonishingly, this result is relevant for Turing Machines!

  12. Enumerability and Turing Machines Definition: A language L is Turing-enumerable is there is a Turing machine that enumerates all words in L in its tape (may run forever): w1 w2 w3… Theorem 1. If a language is decidable then the language is Turing-enumerable Theorem 2. A language is semi-decidable if and only if the language is Turing-enumerable

  13. Optional Homework (Wednesday) • Explain why C++ programs can be simulated with Turing machines • Enumerate the ways to proof that a language is: • decidable • semi-decidable • Enumerable • 4.20 c) • 4.24 a)

  14. abbbabbb abbabbb * is Turing-Enumerable • As an example consider  = {a, b} • We can define a < b and then induce a lexicographical order: > • We can can list all elements: e, a, b, aa, ab, bb, aaa, … • We can construct a 3-Tape Turing machine with a counter i = 0, 1, 2, … on the second tape, and in each loop construct all combinations of words of length i in tape 3. Once done, copy those words to the end (i.e., ) of the first tape (cumbersome but doable!)  • A similar construction can be made for any  (finite)

  15. Decidable Implies Enumerable • Let L be a language over the alphabet  • If L is decidable there is a Turing Machine that decides M • Let M* be the Turing machine that enumerates * • Construct a 3-tape Turing machine that enumerates L as follows: • M* will output words on the 2nd tape • Every time M* outputs a word w, it is copied in the 3rd tape, where M checks if w is in L • If w is in L it is appended to the end of the 1st tape

  16. Enumerable Implies Semi-decidable • Let L be a Turing-enumerable language • Thus, there is a Turing machine M that enumerates words in L • We can construct a Turing machine ML that semi-decides if a word w is in L as follows: Run M and wait to see if w is put on the tape. If w is printed on the tape, ML halts. If not, it continues waiting to see if w is printed on the tape.

  17. Backup Slides Please Ignore

  18. The Turing machine that enumerates all strings in  * * is Enumerable Theorem. If  is finite then * is enumerable If  = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, * = {0, 1, …, 12, 13, …, 654, …} If  = {a, b, c, d, e, f, g, h, i, j} * = {a, b, …, bc, cd, …, gfe, …} If  consist of 500 symbols, we map them to the first 500 numbers

  19. If word is in L it copies into the second tape and adds an space * ML For example if L = {anbn: n = 0, 1, 2, …} and  = {a, b, c } then * = {a, b, c, aa, ab, ac, ba, bb, …} Tape2: abaabb… An enumeration of L! Decidable Implies Enumerable Suppose that L is decidable. By definition, it means that there is a Turing machine ML that decides L

More Related