1 / 39

CS322

Week 7 - Wednesday. CS322. Last time. What did we talk about last time? Set proofs and disproofs Russell’s paradox. Questions?. Logical warmup. Imagine you are in a completely dark room with a deck of cards containing 10 cards that are face up and the rest face down

lotte
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 - Wednesday CS322

  2. Last time • What did we talk about last time? • Set proofs and disproofs • Russell’s paradox

  3. Questions?

  4. Logical warmup • Imagine you are in a completely dark room with a deck of cards containing 10 cards that are face up and the rest face down • How can you create two piles of cards (not necessarily the same height) that both contain the same number of face up cards? • If you fail, you'll be eaten by a grue

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

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

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

  8. Russell's Paradox

  9. 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

  10. 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?

  11. 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?

  12. 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

  13. Halting Problem

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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)?

  19. 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

  20. 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

  21. Functions Student Lecture

  22. Functions

  23. 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 }

  24. 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?

  25. 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

  26. 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

  27. 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?

  28. 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

  29. 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

  30. 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)?

  31. Well-defined functions • There are two ways in which a function can be poorly defined • It does not provide a mapping for every value in the domain • Example: f: R R such that f(x) = 1/x • It provides more than one mapping for some value in the domain • Example: f: Q Z such that f(m/n) = m, where m and n are the integers representing the rational number

  32. One-to-one functions • Let F be a function from X to Y • F is one-to-one (or injective) if and only if: • If F(x1) = F(x2) then x1 = x2 • Is f(x) = x2 from Z to Z one-to-one? • Is f(x) = x2 from Z+ to Z one-to-one? • Is h(x) one-to-one? X h Y 1 2 3 4 a b c

  33. Proving one-to-one • To prove that f from X to Y is one-to-one, prove that  x1, x2  X, f(x1) = f(x2)  x1 = x2 • To disprove, just find a counter example • Prove that f: R  R defined by f(x) = 4x – 1 is one-to-one • Prove that g: Z  Z defined by g(n) = n2 is not one-to-one

  34. Onto functions • Let F be a function from X to Y • F is onto (or surjective) if and only if: • y  Y, x  X such that F(x) = y • Is f(x) = x2 from Z to Z onto? • Is f(x) = x2 from R+ to R+ onto? • Is h(x) onto? X h Y 1 2 3 a b c

  35. Inverse functions • If a function F: X Yis both one-to-one and onto (bijective), then there is an inverse function F-1: Y X such that: • F-1(y) = x F(x) = y, for all x X and y  Y

  36. Quiz

  37. Upcoming

  38. Next time… • More on functions • One to one and onto • Cardinality

  39. Reminders • Work on Homework 5 • Due the Monday after Spring Break • Keep reading Chapter 7

More Related