390 likes | 545 Views
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
E N D
Week 7 - Wednesday CS322
Last time • What did we talk about last time? • Set proofs and disproofs • Russell’s paradox
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
Proof example • Prove that, for any set A, A = • Hint: Use a proof by contradiction
Prove or disprove • For all sets A, B, and C, if AB and BC, then AC
Prove or disprove • For all sets A and B, ((Ac Bc) – A)c = A
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
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?
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?
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
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
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
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
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
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)?
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
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
Functions Student Lecture
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 }
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?
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
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
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 xX • Let f(x) = |x| and g(x) = • Does f = g? • Let f(x) = x and g(x) = 1/(1/x) • Does f = g?
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
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
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)?
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
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
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
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
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
Next time… • More on functions • One to one and onto • Cardinality
Reminders • Work on Homework 5 • Due the Monday after Spring Break • Keep reading Chapter 7