CS322Week 7 - Wednesday
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
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 A B and B C, then A C
Prove or disprove
For all sets A and B, ((Ac Bc) – A)c = A
Russell's Paradox
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
Halting Problem
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
1 0 1 1 1 1 0 0 0 0
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
FunctionsStudent Lecture
Functions
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
a
b
c
1
2
3
4
X Yf
Functions?
Which of the following are functions from X to Y?
a
b
c
1234
X Yf
a
b
c
1234
X Yg
a
b
c
1234
X Yh
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?
2x
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: logb x = 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 YF 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?
a
b
c
1234
X Yh
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 YF 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?
a
b
c
123
X Yh
Inverse functions
If a function F: X Y is 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
Quiz
Upcoming
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