* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download The Foundations
Meaning (philosophy of language) wikipedia , lookup
Modal logic wikipedia , lookup
Mathematical logic wikipedia , lookup
Quantum logic wikipedia , lookup
Intuitionistic logic wikipedia , lookup
Tractatus Logico-Philosophicus wikipedia , lookup
Bernard Bolzano wikipedia , lookup
Laws of Form wikipedia , lookup
Axiom of reducibility wikipedia , lookup
Foundations of mathematics wikipedia , lookup
Natural deduction wikipedia , lookup
Halting problem wikipedia , lookup
Analytic–synthetic distinction wikipedia , lookup
History of the function concept wikipedia , lookup
Law of thought wikipedia , lookup
Propositional calculus wikipedia , lookup
Propositional formula wikipedia , lookup
Discrete Mathematics
Chapter 1.
The Foundations
Cheng-Chia Chen
Transparency No. 1-0
The Foundations
1. The foundations
Logic:
The basis of all mathematical reasoning
has practical applications to the design of
computing machine
give the precise meaning of math. statements.
Sets:
The basis of all mathematical structures.
definitions, operations
Functions :
definitions, classification, operations
Transparency No. 1-2
The Foundations
1.1 Logic
Proposition:
A statement that is either true or false (,but not
both).
Example:
1. Taipei is the capital of ROC. 2. Tokyo is the capital of Korea.
3. 1+1 = 2. 4. 2+2 = 3.
5. There is no integer x,y,z and n > 2 s.t.
xn + yn = zn ---- Fermat’s last theorem
6. “Every even number is the sum of two prime numbers.” ---Goldaach’s conjecture (1742)
==>
1. Statement (1)~(5) are propositions,
2. (1),(3) are true; (2),(4) are false.
3. Nobody knew (5) is true or false until 1994, but it must be
true or false, hence it is a proposition. (6) open problem.
Transparency No. 1-3
The Foundations
More Examples
Examples:
1. What time is it? (interrogative)
2. Read this carefully! (command)
3. x+1 = 2.
4. x+y = z.
==>
1. (1) and (2) are not statements
2. (3) and (4) are not propositions:
neither true nor false!
Transparency No. 1-4
The Foundations
Propositional variables and propositional constants
In algebra, we use variables to denote an item with
unspecified value.
e.g. 10 chickens and rabbits in a cage with 16 feet. ==>
#rabbits = ? and #chickens=?
==> let x = #rabbits, y = #chickens
==> x + y = 10 /\ 2x + 4y = 16.
Likewise, In logic, we can use propositional variable
to denote an arbitrary proposition with unspecified
truth value.
e.g., If it is raining, the ground is wet. since the ground is
wet, it is raining now.
==> Let p =def “It is raining”, q =def “the ground is wet”
==> ((p ->q) /\ q) -> p.
Propositional constants: only two values:
T(true), F(false).
Transparency No. 1-5
The Foundations
Forming Compound propositions from simpler ones
Primitive propositions:
propositional variables
propositional constants
P, Q: two known propositions
Then the followings are also propositions:
1. “P and Q” : ( P /\ Q) conjunction of P and Q
2. “It is not the case that p”: (~P) negation of P
3. “P or Q” : (P \/ Q) disjunction of P and Q
4. “P implies Q” : ( P Q) implication
P : antecedent, premise, hypotheses;
Q: consequence, conclusion
equivalent phrase:
– “P entails Q”, “Q if P”, “P only if Q”
5. “p iff q” (p <->q) equivalence of P and Q
Transparency No. 1-6
The Foundations
Truth conditions for compound propositions
1.
2.
3.
4.
5.
P /\ Q is true iff both P and Q are true
P \/ Q is true iff either P or Q is true
~P is true iff P is not true (i.e., false)
P<->Q is true iff both are true or both are false.
PQ is true iff whenever P is true, Q is true
( i.e., it is not the case that P is true but Q is false )
In the propositions, /\, \/, <-> and are called binary
connectives(or operations) and ~ is called unary
connective(or operations).
Other binary connectives are possible.
What about the truth condition for primitive
propositions?
Transparency No. 1-7
The Foundations
From natural language statements to formal logic expressions
Natural language statement
Today is Friday
I have a test today
It is not the case that today is
Friday
Today is not Friday
Today is Friday and
I have a test today
If today is Friday, then I have
a test today.
Today is Friday or I have a
test today.
symbolized logic expr.
p
q
~p
~p
(P ∧ q)
(pq)
(P ∨ q)
Transparency No. 1-8
The Foundations
Truth conditions for propositions
Problem: when will you say that the sentence:
It_is_raining
is true ?
=> The proposition:” It_is_raining” is true if the meaning
(or fact) that the proposition is intended to represent
occurs(happens, exists) in the situation that the
sentence referred to.
=>Example: Since it is not raining now(the current situation), the
statement It_is_raining is false (in the current situation). But if
it were raining now, then I would say that It_is_raining is true.
Factors affecting the truth value of a proposition:
the situation in which the proposition is used.
the meaning of the proposition.
Transparency No. 1-9
The Foundations
Truth table
•The meaning of logical connectives can be
represented by a truth table.
A
B
~A
A/\B
A\/B
A->B
A<->B
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
0
1
1
0
1
1
1
1
Transparency No. 1-10
The Foundations
Other usual connectives
Besides /\,\/, and <->, there are also some other
connectives as you have known in digital system.
xor , nand, nor.
Rules: let I(x) denote the truth value of x.
I(A B)= I(~(A<->B))=1 iff not I(A)=I(B)
I(A nand B) = I(~(A/\B)).
I(A nor B) = I(~( A \/B)).
Transparency No. 1-11
The Foundations
1.2 Propositional Equivalence
Some definitions: Let A be any proposition,
then
1. A is a tautology(contradiction) iff A is true
(false) no matter what the truth values of the
prop. variables inside A are given.
2. If A is neither a tautology nor a
contradiction, then A is called a contingency.
Contingencies
Tautologies
(valid)
Contradictions
(unsatisfiable)
The geography of propositions
Transparency No. 1-12
The Foundations
Logical Equivalence
A and B are logically equivalent (,A B) if A <-> B is a
tautology
Theorem1: Logical equivalence relation is reflexive,
symmetric and transitive.
I.e., for all propositions A,B and C,
1. A A
2. A B implies B A and
3. A B and B C imply A C.
Theorem2[substitution theorem]: If A B and C[X] is
a proposition containing X as a subproposition, then
C[A] and C[B] are logically equivalent, where C[A] is
the result of C with X in C replaced by A.
ex: (p∨q) (q∨p), C[X] =def ~(p ∧ X)
=> ~(p∧ (p∨q) )~(p∧ (q∨p))
Transparency No. 1-13
The Foundations
Determine tautologies, contradictions and contingencies
Problems: Given a proposition A, how can you determine
whether it is a tautology, a contradiction or a contingency?
=>Exhausted evaluation! (by using truth table)
e.g., A = (p->q) <-> (~p \/q) a tautology ?
1. there are two primitive props: p, q.
2. So there are 4 possible assignments of truth values to p
and q.
p=0,q=0: p=0,q=1:
p=1,q=0:
p=1,q=1:
3. Under each assignment, we can evaluate the truth value of
A (in bottom up way) by the truth condition rule of
connecting connectives.
Transparency No. 1-14
The Foundations
Determine tautologies
(pq)<->~p\/q :1
p->q:1
~p:1
p:0
~p \/q:1
q:0
The evaluation tree for (p->q)<-> (~p\/q)
p
q
~p p->q
~p\/q
p->q <-> ~p\/q
0
0
1
1
1
0
1
1
1
T
1
0
0
1
1
0
1
1
1
0
1
0
1
1
1
The truth table for pq <-> ~p\/q
A tautology
since all are 1’s
Transparency No. 1-15
The Foundations
Determine other properties
1. logical equivalence: A <=> B iff A<->B is a tautology.
So we can apply the procedure for determining
tautology to determine if A <=>B.
2. contradiction: A is a contradiction iff ~A is a
tautology
3. Satisfiability: A is satisfiable iff ~A is not a tautology.
4. contingence: A is a contingence iff neither A nor ~A
is a tautology.
5. logical consequence: B is a logical consequence of
A [denoted A |= B] iff AB is a tautology.
Transparency No. 1-16
The Foundations
Some important logical equivalences
P /\ T P
P/\P P
• Identity law
•Idempotent law
P \/ F P
P\/P P
P \/ T
• Domination law
P /\ F
~(~P)
• Double negation
P \/ Q
•Commutative
P /\ Q
P \/ (Q \/ R)
•Associative
P /\ (Q /\ R)
==> P /\ (Q /\ R) = (P/\Q/\R)
P /\(Q \/ R)
•Distribution law
P \/(Q /\ R)
~(P /\Q)
•DeMorgan’s law
~(P\/Q)
==> ~(P1 /\ P1/\.../\Pn)
Transparency No. 1-17
The Foundations
One Example:
Show that
~(p \/ (~p /\ q) ~p /\ ~q
Proof:
1. By truth table (omitted)
2. ~(p \/ (~p /\ q) deM
~p /\ ~(~p /\ q) deM
~p /\ (~(~p) \/ ~q) DbNeg
~p /\ (p \/ ~q) Distr
(~p \/ ~q) /\ (~p \/ p) ExMd
(~p \/ ~q) \/ T identity
(~p \/ ~q)
Transparency No. 1-18
The Foundations
1.3 Predicates (述詞) and quantifiers(量詞)
Problems of Propositional logic:
Cannot analyze the content of primitive
propositions.
cannot group similar propositions
cannot analyze quantifiers.
Ex: Consider the following situations:
1. Family = {a,b,c1,c2,c3 }
2. We are interested in who is whose
brother.
3. Suppose In Family, ci is cj’s brother if i
j for i,j =1..3.
Transparency No. 1-19
The Foundations
Inadequancy of propositional logic
Primitive propositions needed:
x_is_y’s_brother, x,y Family
So we need 25 propositions.
New approach: Parameterized
proposition(Predicate).
Use a (predicate) symbol B to symbolize the
statement:
B(x,y) x is y ‘s brother.
e.g.,
B(a,c1) : a is c1’s brother,
B(c2,c2) : c2 is c2’s brother,
...
Transparency No. 1-20
The Foundations
Benefits of Predicates
Advantage of using predicates:
==>
1. need only 6 (1 predicate and 5 names)
symbols.
2. can group related propositions together.
(B(x,y) and others, for instance,
q(x) x_is_old. )
3.The most important : allow representation of
quantified statement like: c1_has_a_brother (or,
there is an object x which is c1’s brother, $ x B(x, c1))
to be inferred from
c2_is_c1’s brother ( B(c2,c1) )
Transparency No. 1-21
The Foundations
Predicates
In the expression:
B(x,y )
B : predicate symbol (or proposition function)
x (y) : first (2nd) argument
B(x,y) : [atomic] proposition(or formula)
#arguments in B(X,Y): the arity of the predicate
symbol B.
Notes:
1. Each arity has a fixed arity.
2. B(x,y,c1) and B(x) are meaningless.
because used #arguments different from B’s arity.
Transparency No. 1-22
The Foundations
Predicates (cont’d)
3. The truth value of a proposition p(x1,...,xn)
depends on both p and x1,...,xn.
Ex1: Let p(x) “x >3 “. then
P(4) “4 > 3” has truth value T,
P(2) “2 > 3” has truth value F.
Ex2: Let Q(x,y) “x = y +3” then
Q(1,2) = “1 = 2 + 3” is false.
Q(3,0) = “3 = 0 + 3” is true.
Mathematically, we can define (the meaning of) P as a
function [P]
[P]: Un (n is P’s arity) --> {T,F}with the intention that
“P(x1,...,xn)” holds (is true) iff [P]([x1],...,[xn]) = T.
Transparency No. 1-23
The Foundations
Set representations of truth-functions
Ex:
[B]: Family2 -->{T,F} s.t. [b](x,y) = T iff x =[ci], y=[cj], i j.
p(x) “x >3 “ , So [P]: N --> {T,F } s.t. [P](x) = T iff x > 3.
Q(x,y) “x = y +3” , so
[Q] : N2 --> {T,F} with
[Q](x,y) = T iff x = y +3.
Note: P partition N into two sets, one with members
So, instead of represent
mapped to T and one mapped to F.
P(x) = T.
P as a truth function, we
equivalently represent P
{1,2,3}
{4,5,...}
as the set {x | P(x) = T }
= {4,5,6,...}
P(x) = F
Similarly, we can represent Q as {(x,y) | x = y + 3 }
N
Transparency No. 1-24
The Foundations
constant, function, variables and terms
In the statement:
“y > min(x, 3)” --- (s1)
x,y are called variables,
3 is a constant,
min is a function symbol with arity 2
“min(3,2)” behaves more like x, 3 than “x >y”.
So if let P(x,y) “x > y”, then
s1 can be represented as
P(y, min(x,3))
we call any expression that can be put on the
argument position of an atomic proposition a term
Obviously, constants and variables are terms;
moreover,if f is a function of arity n, and t1,...tn are n terms,
then so is f(t1,...,tn).
Transparency No. 1-25
The Foundations
Universal and existential quantifications
A: any statement (or called formula)
e.g., A = p(x,y) /\ q(x,f(3)),...
x: any variable,
Then
1. ("x A) is a new formula called the universal
quantification of A,
2. ("x A) means:
“A(x) is true for all values of x in the universe of
discourse.”
3. ($x A) is a new formula called the existential
quantification of A,
4. ($x A) means:
“A(x) is true for some value of x in the universe of
discourse.”
Transparency No. 1-26
The Foundations
Quantifiers and universe of discourse
Consider the sentence: p(x) = “x > 0”.
1. as stated before, p(x) is true or false depending on
the value of x.
2. p(1), p(2),... : true;
p(0) , p(-1),...: false
Universe of Discourse (U,論域):
The set of objects (domain) from which all variables
are allowed to have values.
Ex: consider the sentence:
s2: ”all numbers are greater than 0”.
(for-all x “x > 0” ) or (" x p(x) )
U = N+={1,2,3,...} => s2 is true. U = Z={...,-1,0,1,...}=>
s2 is false.
Transparency No. 1-27
The Foundations
Translation of NL statement into logical one
Translate the following sentences into logical
expressions:
1. Every body likes Chang
2. Everybody loves somebody.
3. There is somebody loved by every one.
4. Nobody likes everybody.
5.There is somebody Chang don’t like.
6. there is somebody no one likes.
7.there is exactly one person everybody likes.
8 Chang likes exactly two persons
9. Everyone likes himself.
10. There is someone who likes no one who does not
like himself.
Transparency No. 1-28
The Foundations
Terminology about formulas
Occurrences of variables in formulas:
A = p(f(x), c) \/ q(x,y)
A contains 2 variables, one of which occurs
twice.
Free and bound variables:
A: a formula
fv(A) = the set of all free variables in A is defined as
follows:
If A is atomic => fv(A) is the set of all variables
in A
fv(~A) = fv(A)
fv(A/\B)=fv(A\/B)=fv(A->B)=fv(A<->B)= fv(A) U
fv(B).
fv( for-all x A) = fv($xA) = fv(A)\ {x}.
Transparency No. 1-29
The Foundations
bd(A): the set of bound variables in A is defined as
follows;
1. If A is atomic => bd(A) = {}
2. bd(~A) = bd(A)
3. bd(A/\B) = d(A\/B) = bd(AB)
=bd(A<->B) = bd(A) U bd(B).
4. bd( ∀x A) =
bd(A) if x ∉ fv(A).
bd(A) U {x} if x ∈ fv(A).
Example A = ($ x p(x,y)) \/ q(x)
=> fv(A) = {x,y}; bd(A) = {x}
x occurs twice in A, one occurs free and the other
occurs bound.
Def: A is a sentence iff fv(A) = {}
Note: A is a proposition if A is a sentence
Transparency No. 1-30
The Foundations
More logical notions [omitted!!]
A B [logical equivalence (in predicate logic)]
iff A <-> B is a tautology(or valid) for all possible values
of free variables in A and in B.
Common equivalences:
1. all propositional equivalences
A->B ~A \/ B,
~~A A, ~(A/\B) ~A\/~B,...
2. ~ "x A < $x ~A.
3. ~$xA "x ~A.
4. "x (A /\ B) "x A /\ "xB.
5. $x(A \/B) $xA \/ $XB
If x is not free in B, and Q is " or $, then
6 Qx (A /\ B) QxA /\ QxB
7. Qx(A\/B) QxA \/ QxB
Transparency No. 1-31
The Foundations
1.4 Sets
Basic structure upon which all other (discrete and
continuous ) structures are built.
a set is a collection of objects.
an object is anything of interest, maybe itself a set.
Definition 1.
A set is a collection of objects.
The objects is a set are called the elements or
members of the set.
If x is a member of a set S, we say S contains x.
notation: x S vs x S
Ex: In 1,2,3,4,5, the collection of 1,3 5 is a set.
Transparency No. 1-32
The Foundations
Set description
How to describe a set:?
1. List all its member.
the set of all positive odd integer >10 = ?
The set all decimal digits = ?
the set of all upper case English letters = ?
The set of all nonnegative integers
=?
2. Set builder notation:
P(x) : a property (or a statement or a proposition)
about objects. e.g., P(x) = “ x > 0 and x is odd”
then {x | P(x) } is the set of objects satisfying
property P.
P(3) is true => 3 {x | P(x)}
P(2) is false => 2 {x | P(x)}
Transparency No. 1-33
The Foundations
Conventions
N =def {x | x is a natural numbers } = { 0,1,2,3,...}
N+ =def {1,2,3,...}
Z =def {...,-3,-2,-1,0,1,2,3,...}
R =def the set of real numbers.
Problem:
The same set may have many different descriptions.
{x | 0 < x <10 /\ x is odd }
{1,3,5,7,9}, {5,3,1,9,7}
{9,7,1,3,5}.
Transparency No. 1-34
The Foundations
Set predicates
Definition 2.
Two sets S1, S2 are equal iff they have the
same elements
S1 = S2 iff "x (x S1 <-> x S2)
Ex: {1,3,5} = {1,5,3} = {1,1,3,3, 5}
Graphical representation of sets:
Venn Diagrams:
rectangle: Universal set: U
circles: sets
points: particular elements
point x inside circle S => x S
point x outside S => x S.
Transparency No. 1-35
The Foundations
Set predicates (cont’d)
Null set ={} = =def the collection of no objects.
Def 3’: [empty set] for-all x x .
Def 3. [subset]
A B iff all elements of A are elements of B.
A B for-all x (x A ⇒ x B)).
Def 3’’: A B =def A B /\ A B.
Exercise : Show that:
1. For all set A (
2. (A B /\ B A) (A = B)
3. A
Diagram representation of the set inclusion
relationship.
Transparency No. 1-36
The Foundations
Size or cardinality of a set
Def. 4: | A | = the size(cardinality) of A = # of distinct
elements of A.
Ex:
|{1,3,3,5}| = ?
|{}| = ?
| the set of binary digits } | = ?
|N| = ? ; |Z| = ? ; | {2i | i ∈ N} = ?
|R| = ?
Def. 5.
A set A is finite iff |A| is a natural number ; o/w it is
infinite.
Two sets are of the same size (cardinality) iff there
is a 1-1 & onto mapping between them.
Transparency No. 1-37
The Foundations
countability of sets
Exercise: Show that
1. |N| = |Z | = | Q | = |{4,5,6,...}|
2. |R| = | (-1, 1) | = |(0,1)|
3. |(0,1)| is uncountable
Def.
A set A is said to be denumerable iff |A| = |N|.
A set is countable iff either |A| = n for some n
in N or |A| = |N|.
By exercise 1,2,3,
R is not countable.
Q and Z is countable.
Transparency No. 1-38
The Foundations
The power set
Def 6.
If A is a set, then the collection of all subsets
of A is also a set, called the poser set of A and
is denoted as P(A) or 2A.
Ex:
P({0,1,2}) = ?
P({}) = ?
|P({1,2,..., n})| = ?
Order of elements in a set are
indistinguishable. But some sometimes we
need to distinguish between (1,3,4) and
(3,4,1) --> ordered n-tuples
Transparency No. 1-39
The Foundations
Show that |A| ≠ |2A|
Pf: (1) The case that A is finite is trivial since |2A| =
2|A| > |A|
and there is no bijection b/t two finite sets with
different sizes.
(2) assume |A| = |2A|, i.e., there is a bijection f: A -> 2A.
Let D = {x ∈ A | x f(x) }. ==>
1. D is a subset of A; Hence
2. $y ∈ A s.t. f(y) = D.
Problem: Is y D ?
if yes (i.e., y D) ==> y f(y) = D, a contradiction
if no (i.e., y D) ==> y f(y) =D, a contradiction too.
So the assumption is false, i.e., there is no bijection
b/t A and 2A.
Transparency No. 1-40
The Foundations
The Halting Problem
L : any of your favorite programming languages (C,
C++, Java, BASIC, etc. )
Problem: write an L-program HALT(P,X), which takes
another L-program P(-) and string X as input, and
HALT(P,X) returns true if P(X) halts and
returns false if P(X) does not halt.
P
Pr(x:String) {
…..
}
“It’s a test …”
X
Program you
are asked to
design
HALT(P,X)
P(X) Halt ?
yes
true
no
false
Transparency No. 1-41
The Foundations
Halt(P,X) does not exist
Motivations of the proof:
Problem1 : What about the truth value of the sentence:
L: L is false
Problem 2 : Let S = {X | X X}. Does S belong to S or
not ?
The analysis: S S => S S; S S => S S.
Conclusion:
1. S is not a set!!
2. If a language is too powerful, it may produce expressions
that is meaningless or can not be realized.
Question: If HALT(P,X) can be programmed, will it
incur any absurd result like the case of S?
Ans: yes!!
Transparency No. 1-42
H(P) : Another program using HALT(-,-) as a
subroutine
The Foundations
H(P)
HALT(P,X)
P
yes
P
Pr(x:String) {
…..
}
Loop
P(P) Halt ?
no
true
false
END
P
Note: H(P) Halts iff HALT(P,P) returns false iff P(P) does not halt.
Transparency No. 1-43
The Foundations
H(P)
Problem:
Will H(H(P)) Halt?
HALT(P,X)
yes
P(X) Halt ?
Loop
true
H(H(P))
no false END
HALT(P,X)
yes
P(X) Halt ?
H(P)
no
Loop
true
END
false
The anomaly :
H(H(P) halts iff
H(H(P)) does not halt.
Transparency No. 1-44
The Foundations
Cartesian Products
Def. 7 [n-tuple]
If a1,a2,...,an (n > 0) are n objects, then “(a1,a2,...,an)”
is a new object, called an (ordered) n-tuple [ with
ai as its ith element. ]
Any ordered 2-tuple is called a pair.
(a1,a2,...,am) = (b1,b2,...,bn) iff
(1) m = n and (2) for i = 1,..,n ai = bi.
Transparency No. 1-45
The Foundations
Cartesian product
Def. 8: [Cartesian product]
A x B =def {(a,b) | a ∈ A and b ∈ B }
A1 x A2 x ...x An =def {(a1,...,an) | ai ∈ Ai }.
Ex: A = {1,2}, B = {a,b,c} , C = {0,1}
1. A x B = ? ; 2. B x A = ?
3. A x {} = ? ;4. A x B x C = ?
problem: 1. when will A x B = B x A ?
2. |A x B | = ?
Transparency No. 1-46
The Foundations
1.5 Set operations
union, intersection,difference , complement,
Definition.
1. A B = {x | x ∈ A or x ∈ B }
2. A B = {x | x ∈ A and x ∈ B }
3. If A B = {} => call A and B disjoint.
4. A - B = {x | x ∈ A but x ∉ B }
5. ~ A = U - A
Venn diagram representations
Ex: U = {1,..,10}, A = { 1,2,3,5,8}
B = {2,4,6,8,10}
=> A B , A B , A - B , ~ A = ?
Transparency No. 1-47
The Foundations
Set identities
Identity laws:
A??=A
Domination law: U ? ? = A; {} ?? = {}
Idempotent law: A ? A = A ;
complementation: ~~A = A
commutative :
Associative:
Distributive:
DeMoregan laws:
A?B=B?A
A ? (B ? C) = (A ? B ) ? C
A ? (B ? C) = ?
~(AUB) = ?; ~(A ⋂ B)=?
Transparency No. 1-48
The Foundations
Prove set equality
1. Show that ~(A B) = ~A ~B by show that
1. ~(A B) ~A ~B
2. ~A ~B ~(A B)
pf: (By definition) Let x be any element in ~(A
B) ...
2. show (1) by using set builder and logical
equivalence.
3. Show distributive law by using membership
table.
4. show ~(A (B C)) = (~C ~B) ~A by set
identities.
Note the similarity between logical equivalence and
set identities.
Transparency No. 1-49
The Foundations
Generalized set operations
Def. 6
A1,A2,...An: n sets
B = {A1,A2,...An }
.n {i=1,..n} Ai =def ?
.n {i=1,..n} Ai=def ?
quiz: if B = {} => = ?;
Venn diagram representation of and
.
Example:
{0,,4,6,8},{0,,,,4},C{0,,6,9}>
= ?
Transparency No. 1-50
The Foundations
Set representation
(in computer)
Unordered list or array
union, intersection, ~: time consuming.
Bit string:
U = {a1,...,an} is the universal set.
A: any subset of U
A can be represented by the string:
s(A) = x1 x2 x3....xn where
xi = 1 if a1 ∈ A and 0 o/w.
fast set operations
suitable only if U is not large.
constant size representation.
Transparency No. 1-51
The Foundations
1.6 Functions
Def. 1 [functions]
A, B: two sets
1. a function f from A to B is a set of pairs (x, y) ∈ AxB
s.t., for each x ∈ A there is at most one y ∈ B s.t. (x,y) ∈
f.
2. if (x,y) ∈ f, we write f(x) = y.
3. f :A B means f is a function from A to B.
Def. 2. If f:A B then
1. A: the domain of f; 2. B: the codomain of f
if f(a)=b =>
3. b is the image of a 4. a is the preimage of b
5. range(f) = ?
6. preimage(f) = ?
7. f is total iff ?
Transparency No. 1-52
The Foundations
Types of functions
Def 4.
f: A x B; S: a subset of A,
T: a subset of B
1. f(S) =def ?
2. f-1(T) =def ?
Def. [1-1, onto, injection, surjection, bijection]
f: A -> B.
f is 1-1 (a injection) iff ?
f is onto (surjective, a surjection) iff ?
f is 1-1 & onto <=> f is bijective (a bijection, 1-1
correspondence)
Exercise:Show that if there are onto mappings from A
to B and from B to A, then |A|=|B|.
Transparency No. 1-53
The Foundations
Real valued functions
F:A B is a real valued function iff A and B
are subsets of R.
f1,f2: real valued functions
=> 1. f1+f2 (x) = ?
2. f1• f2 (x) = f1(x) x f2(x).
3. f is increasing iff ?
4. f is strictly increasing iff ?
Transparency No. 1-54
The Foundations
operations on functions
A, B, C: any sets ; f: A B; g: B C, then
1. [identity function]
idA : A A s.t. idA(x) = x for all x in A.
2. [composition of g and f]
gf: A C s.t. gf(x) = g(f(x)) for x in A.
3. [inverse] If f is a bijection, then
f-1: B A s.t. f-1(y) = x iff f(x) = y for y in B.
Graphical representations
Transparency No. 1-55
The Foundations
Properties of operations on functions
f: A B. g: B C; h: C D,
then
1. idA f = f = f idB
2. f(gh) = (fg) h --- assoc.
3. (fg)-1 = g-1 f-1
If f: A A is a bijection then
4. f f-1 = f-1 f= idA .
Sequence:
finite A-sequence: a: [n] (or [1,n]) A
w A-sequence: a : N (or N+) A.
B indexed A-sequence : f:BA.
Transparency No. 1-56
The Foundations
The growth of functions
Summation rules
S ai =def a1 + a2+...an+ (...)
a + (a+d) + (a+2d)+... = ?
a + ar +arr + ... = ?
The growth of functions:
If f is a positive valued function, then what do
the following terms mean?
O(f) means ? o(f) means ?
W(f) means ? w(f) means ?
Q(f) means ?
useful in the analysis of the efficiency of
computer algorithms.
Transparency No. 1-57
The Foundations
Problem, algorithm and Complexity
A problem is a general question:
description of parameters [input]
description of solution[output]
An algorithm is a step by step procedure to
solve a problem.
a recipe
a computer program
We want the most efficient algorithm
fastest (mostly)
most economical with memory (sometimes)
expressed as a function of problem size
Transparency No. 1-58
The Foundations
Example: Traveling Salesman Problem
Parameters:
Set of cities
Inter-city distances
a
10
5
c
9
3
6
b
9
d
Transparency No. 1-59
The Foundations
Solution [output]
Solution:
The shortest tour passing all cities
Example: a,b,d,c,a has length 27
a
10
5
c
9
3
6
b
9
d
Transparency No. 1-60
The Foundations
Problem Size
What is appropriate measure of problem
size?
m nodes?
m(m+1)/2 distances?
Use an encoding of the problem
alphabet of symbols: a,b,c,d,0-9, |.
strings: abcd||10|5|9|6|9|3.
Measures
Problem Size: length of encoding.
Time Complexity: how long an algorithm takes,
as function of problem size.
Transparency No. 1-61
The Foundations
Time Complexity
What is tractable?
A function f(n) is O(g(n)) whenever
∃ c > 0 ∃ n0 > 0 s.t. |f(n)| ≤ c ∙ |g(n)| for all n > n0.
A polynomial time algorithm is one whose time
complexity is O(p(n)) for some polynomial p(n).
An exponential time algorithm is one whose
time complexity cannot be bounded by a
polynomial
(e.g., nlog n ).
Transparency No. 1-62
The Foundations
Tractability
Basic distinction:
polynomial time = tractable
exponential time = intractable
execution time in microseconds(μs)
10
20
30
40
50
60
n
.00001s .00002s .00003s .00004s .00005s
.00006s
n2
.0001s
.0004s
.0009s
.0016s
.0025s
.0036s
n3
n5
2n
.001s
.1s
.001s
.008s
3.2s
1.0s
.027s
24.3s
17.9s
.064s
1.7 m
12.7d
.125s
5.2 m
35.7 y
.216s
13.0 m
366c
3n
.059 s
58 m
6.5 y
3855 c
2∙108c
1.3∙10 13 c
Transparency No. 1-63
The Foundations
Effect of Speed-ups for different order of functions
Wait for faster hardware!
Consider maximum problem size you can solve in an
hour.
present 100 times faster
1000 times faster
n
N1
100 N1
1000 N1
n2
N2
10N2
31.6 N2
n3
N3
4.64 N3
10 N3
n5
N4
2.5 N4
3.98 N4
2n
N5
N5+6.64
N5+9.97
3n
N6
N6+4.19
N6+2.29
Transparency No. 1-64
The Foundations
Asymptotic notations
Q((g(n)) = {f(n) | $c2,c1 and n0 > 0 s.t. c2g(n)
f(n) c1 g(n) for all n n0 }
O((g(n)) = {f(n) | $ c and n0 > 0 s.t. f(n) cg(n)
for all n n0 }
W((g(n)) = {f(n) | $c and n0 > 0 s.t. c g(n) f(n)
for all n n0 }
o((g(n)) = {f(n) | "arbitrary small c >0 $ n0 > 0
s.t. f(n) < c g(n) for all n n0 }
w((g(n)) = {f(n) | "arbitrary large c >0 $ n0 > 0
s.t. c g(n) < f(n) for all n n0 }
Transparency No. 1-65
The Foundations
Using the asymptotic notations
We use f(n) = D(g(n)) to mean f(n) D(g(n)),
where D = Q,O,o,W,or w.
analog:
O (asymptotic upper bound):
f(n) = O(g(n)) means like f(n) g(n)
o (asymptotic upper bound but not tight): <
f(n) = o(g(n)) means like f(n) < g(n)
W (asymptotic lower bound):
f(n) = W(g(n)) means like f(n) g(n)
w (asymptotic lower bound but not tight): >
f(n) = w(g(n)) means like f(n) > g(n)
Q (asymptotic tight bound : =
f(n) = O(g(n)) means like f(n) = g(n)
Transparency No. 1-66
The Foundations
Exercises
Let f and g be positive real function. Show
that
1. f = O(g) iff g = W(f)
2. f =o(g) iff g = w(f)
3. f =o(g) iff f =O(g) but not f = Q(g)
4 f = w (g) iff f =W(g) but not f = Q(g)
5 f = o(g)
iff
limit n f/g = 0 iff
limit n g/f = iff
g = w(f).
Transparency No. 1-67