1 / 58

CS322

Week 7 - Monday. CS322. Last time. What did we talk about last time? Sets. Questions?. Logical warmup. A man offers you a bet He shows you three cards One is red on both sides One is green on both sides One is red on one side and green on the other

velvet
Download Presentation

CS322

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. Week 7 - Monday CS322

  2. Last time • What did we talk about last time? • Sets

  3. Questions?

  4. Logical warmup • A man offers you a bet • He shows you three cards • One is red on both sides • One is green on both sides • One is red on one side and green on the other • He will put one of the cards, at random, on the table • If you can guess the color on the other side, you win • If you bet $100 • You gain $125 on a win • You lose your $100 on a loss • Should you take the bet? Why or why not?

  5. Set Theory

  6. Set operations • We usually discuss sets within some superset U called the universe of discourse • Assume that A and B are subsets of U • The union of A and B, written A B is the set of all elements of U that are in either AorB • The intersection of A and B, written A B is the set of all elements of U that are in AandB • The difference of B minus A, written B – A, is the set of all elements of U that are in B and not in A • The complement of A, written Ac is the set of all elements of U that are not in A

  7. Examples • Let U = {a, b, c, d, e, f, g} • Let A = {a, c, e, g} • Let B = {d, e, f, g} • What are: • A B • A  B • B – A • Ac

  8. The empty set • There is a set with no elements in it called the empty set • We can write the empty set { } or  • It comes up very often • For example, {1, 3, 5}  {2, 4, 6} =  • The empty set is a subset of every other set (including the empty set)

  9. Disjoint sets and partitions • Two sets A and B are considered disjoint if A B =  • Sets A1, A2, … An are mutually disjoint (or nonoverlapping) if Ai  Aj =  for all i  j • A collection of nonempty sets {A1, A2, … An} is a partition of set Aiff: • A = A1  A2  …  An • A1, A2, … An are mutually disjoint

  10. Power set • Given a set A, the power set of A, writtenP(A) or 2A is the set of all subsets of A • Example: B = {1, 3, 6} • P(B) = {, {1}, {3}, {6}, {1,3}, {1,6}, {3,6}, {1,3,6}} • Let n be the number of elements in A, called the cardinality of A • Then, the cardinality of P(A) is 2n

  11. Cartesian product • An ordered n-tuple (x1, x2, … xn) is an ordered sequence of n elements, not necessarily from the same set • The Cartesian product of sets A and B, written A x B is the set of all ordered 2-tuples of the form (a, b), a A, b  B • Thus, (x, y) points are elements of the Cartesian product R x R (sometimes written R2)

  12. Subset Relations

  13. Basic subset relations • Inclusion of Intersection: • For all sets A and B • A B  A • A B  B • Inclusion in Union: • For all sets A and B • A A B • B  A B • Transitive Property of Subsets: • If A  B and B  C, then A  C

  14. Element argument • The basic way to prove that X is a subset of Y • Suppose that x is a particular but arbitrarily chosen element of X • Show that x is an element of Y • If every element in X must be in Y, by definition, X is a subset of Y

  15. Procedural versions • We want to leverage the techniques we've already used in logic and proofs • The following definitions help with this goal: • x X  Y  x  X  x  Y • x X  Y  x  X  x  Y • x X – Y  x  X  x  Y • x Xc  x  X • (x, y)  X  Y  x  X  y  Y

  16. Example proof Theorem: For all sets A and B, A B  A Proof: • Let x be some element in A  B • x  A  x  B • x  A • Thus, all elements in A  B are in A • A B  A QED • Premise • Definition of intersection • Specialization • By generalization • Definition of subset

  17. Laying down the law (again)

  18. Proving set equivalence • To prove that X = Y • Prove that X Y and • Prove that Y X

  19. Example proof of equivalence Theorem: For all sets A,B, and C, A (B  C) = (A B) (A C) Proof: • Let x be some element in A (B  C) • x  A  x  (B  C) • Case 1: Let x  A • x  A  x  B • x  A  B • x  A  x  C • x  A  C • x  A  B  x  A  C • x  (A B) (A C) • Case 2: Let x  B  C • x  B  x  C • x  B • x  A  x  B • x  A  B • x  C • x  A  x  C • x  A  C • x  A  B  x  A  C • x  (A B) (A C) • In all possible cases, x  (A B) (A C), thus A (B  C)  (A B) (A C)

  20. Proof of equivalence continued • Let x be some element in (A B) (A C) • x  (A B)  x  (A C) • Case 1: Let x  A • x  A  x  B  C • x  A  (B  C) • Case 2: Let x  A • x  A B • x  A  x B • x  B • x  A  C • x  A  x C • x  C • x  B  x  C • x  B  C • x  A  x  B  C • x  A  (B  C) • In all possible cases, x  A  (B  C), thus (A B) (A C)  A (B  C) • Since both A (B  C)  (A B) (A C) and (A B) (A C)  A (B  C), A (B  C) = (A B) (A C) QED

  21. Proof example • Prove that, for any set A, A  =  • Hint: Use a proof by contradiction

  22. Disproofs and Algebraic Proofs

  23. Disproving a set property • Like any disproof for a universal statement, you must find a counterexample to disprove a set property • For set properties, the counterexample must be a specific examples of sets for each set in the claim

  24. Counterexample example • Claim: For all sets A, B, and C, (A – B)  (B – C) = A – C • Find a counterexample

  25. Algebraic set identities • We can use the laws of set identities given before to prove a statement of set theory • Be extremely careful (even more careful than with propositional logic) to use the law exactly as stated

  26. Algebraic set identity example Theorem:A – (A B) = A – B Proof: • A – (A B) = A  (A B) c • = A  (Ac B c) • =(A  Ac)  (A  B c) • = (A  B c) • = A  B c • = A – B QED

  27. Prove or disprove • For all sets A, B, and C, if AB and BC, then AC

  28. Prove or disprove • For all sets A and B, ((Ac Bc) – A)c = A

  29. Russell's Paradox

  30. Naïve set theory • Set theory is a slippery slope • We are able to talk about very abstract concepts • { x Z | x is prime } • This is a well-defined set, even though there are an infinite number of primes and we don't know how to find the nth prime number • Without some careful rules, we can begin to define sets that are not well-defined

  31. Barber Paradox • Let a barber be the man in Elizabethtown who shaves the men in Elizabethtown if and only if they don't shave themselves. • Let T be the set of all men in Elizabethtown • Let B(x) be "x is a barber" • Let S(x,y) be "x shaves y" • b  T m  T (B(b)  (S(b,m)  ~S(m,m))) • But, who shaves the barber?

  32. Russell's Paradox • Bertrand Russell invented the Barber Paradox to explain to normal people a problem he had found in set theory • Most sets are not elements of themselves • So, it seems reasonable to create a set S that is the set of all sets that are not elements of themselves • More formally, S = { A | A is a set and A A } • But, is S an element of itself?

  33. Escaping the paradox • How do we make sure that this paradox cannot happen in set theory? • We can make rules about what sets we allow in or not • The rule that we use in class is that all sets must be subsets of a defined universe U • Higher level set theory has a number of different frameworks for defining a useful universe

  34. Halting Problem

  35. Applying the idea again • It turns out that the idea behind Russell's Paradox actually has practical implications • It wasn't new, either • Cantor had previously used a diagonal argument to show that there are more real numbers than rational numbers • But, unexpectedly, Turing found an application of this idea for computing

  36. Turing machine • A Turing machine is a mathematical model for computation • It consists of a head, an infinitely long tape, a set of possible states, and an alphabet of characters that can be written on the tape • A list of rules saying what it should write and should it move left or right given the current symbol and state A

  37. Church-Turing thesis • If an algorithm exists, a Turing machine can perform that algorithm • In essence, a Turing machine is the most powerful model we have of computation • Power, in this sense, means the ability to compute some function, not the speed associated with its computation

  38. Halting problem • Given a Turing machine and input x, does it reach the halt state? • First, recognize that we can encode a Turing machine as input for another Turing machine • We just have to design a system to describe the rules, the states, etc. • We want to design a Turing machine that can read another

  39. Halting problem problems • Imagine we have a Turing machine H(m,x) that takes the description of another Turing machine m and its input x and returns 1 if m halts on input x and 0 otherwise • Now, construct a machine H’(m,x) that runs H(m,x), but, if H(m,x) gives 1, then H’(m,x) infinitely loops, and, if H(m,x) gives 0, then then H’(m,x) returns 1 • Let’s say that d is the description of H’(m,x) • What happens when you run H’(d,d)?

  40. Halting problem conclusion • Clearly, a Turing machine that solves the halting problem doesn’t exist • Essentially, the problem of deciding if a problem is computable is itself uncomputable • Therefore, there are some problems (called undecidable) for which there is no algorithm • Not an algorithm that will take a long time, but no algorithm • If we find such a problem, we are stuck • …unless someone can invent a more powerful model of computation

  41. And it gets worse! • Gödel used diagonalization again to prove that it is impossible to create a consistent set of axioms that can prove everything about the set of natural numbers • As a consequence, you can create a system that is complete but not consistent • Or, you can create a system that is consistent but not complete • Either way, there are principles in math in general that are true but impossible to prove, at least with any given system • You might as well give up on math now

  42. Functions

  43. Definitions • A function f from set X to set Y is a relation between elements of X (inputs) and elements of Y (outputs) such that each input is related to exactly one output • We write f: X Y to indicate this • X is called the domain of f • Y is called the co-domain of f • The range of f is { y  Y | y = f(x), for some x  X} • The inverse image of y is { x  X | f(x) = y }

  44. Examples • Using standard assumptions, consider f(x) = x2 • What is the domain? • What is the co-domain? • What is the range? • What is f(3.2)? • What is the inverse image of 4? • Assume that the set of positive integers is the domain and co-domain • What is the range? • What is f(3.2)? • What is the inverse image of 4?

  45. Arrow diagrams • With finite domains and co-domains, we can define a function using an arrow diagram • What is the domain? • What is the co-domain? • What are f(a), f(b), and f(c)? • What is the range? • What are the inverse images of 1, 2, 3, and 4? • Represent f as a set of ordered pairs X f Y 1 2 3 4 a b c

  46. Functions? • Which of the following are functions from X to Y? X f Y 1 2 3 4 a b c X g Y X h Y 1 2 3 4 1 2 3 4 a b c a b c

  47. Function equality • Given two functions f and g from X to Y, • f equals g, written f = g, iff: • f(x) = g(x) for all xX • Let f(x) = |x| and g(x) = • Does f = g? • Let f(x) = x and g(x) = 1/(1/x) • Does f = g?

  48. Applicability of functions • Functions can be defined from any well-defined set to any other • There is an identity function from any set to itself • We can represent a sequence as a function from a range of integers to the values of the sequence • We can create a function mapping from sets to integers, for example, giving the cardinality of certain sets

  49. Logarithms • You should know this already • But, this is the official place where it should be covered formally • There is a function called the logarithm with base b of x defined from R+ to R as follows: • logbx = y by = x

  50. Functions defined on Cartesian products • For a function of multiple values, we can define its domain to be the Cartesian product of sets • Let Sn be strings of 1's and 0's of length n • An important CS concept is Hamming distance • Hamming distance takes two binary strings of length n and gives the number of places where they differ • Let Hamming distance be H: Sn x Sn Znonneg • What is H(00101, 01110)? • What is H(10001, 01111)?

More Related