SlideShare uma empresa Scribd logo
1 de 360
Let’s get started with...

Logic!

Fall 2002

CMSC 203 - Discrete

1
Logic
• Crucial for mathematical reasoning
• Used for designing electronic circuitry
• Logic is a system based on propositions.
• A proposition is a statement that is either
true or false (not both).
• We say that the truth value of a proposition
is either true (T) or false (F).
• Corresponds to 1 and 0 in digital circuits
Fall 2002

CMSC 203 - Discrete

2
The Statement/Proposition Game
“Elephants are bigger than mice.”
Is this a statement?

yes

Is this a proposition?

yes

What is the truth value
of the proposition?

true

Fall 2002

CMSC 203 - Discrete

3
The Statement/Proposition Game
“520 < 111”
Is this a statement?

yes

Is this a proposition?

yes

What is the truth value
of the proposition?

false

Fall 2002

CMSC 203 - Discrete

4
The Statement/Proposition Game
“y > 5”
Is this a statement?

yes

Is this a proposition?

no

Its truth value depends on the value of y,
but this value is not specified.
We call this type of statement a
propositional function or open sentence.
Fall 2002

CMSC 203 - Discrete

5
The Statement/Proposition Game
“Today is January 1 and 99 < 5.”
Is this a statement?

yes

Is this a proposition?

yes

What is the truth value
of the proposition?

false

Fall 2002

CMSC 203 - Discrete

6
The Statement/Proposition Game
“Please do not fall asleep.”
Is this a statement?

no

It’s a request.
Is this a proposition?

no

Only statements can be propositions.
Fall 2002

CMSC 203 - Discrete

7
The Statement/Proposition Game
“If elephants were red,
they could hide in cherry trees.”
Is this a statement?

yes

Is this a proposition?

yes

What is the truth value
of the proposition?

probably false

Fall 2002

CMSC 203 - Discrete

8
The Statement/Proposition Game
“x < y if and only if y > x.”
Is this a statement?
yes
Is this a proposition?
yes
… because its truth value
does not depend on
specific values of x and y.
What is the truth value
of the proposition?
Fall 2002

CMSC 203 - Discrete

true
9
Combining Propositions
As we have seen in the previous examples,
one or more propositions can be combined
to form a single compound proposition.
We formalize this by denoting propositions
with letters such as p, q, r, s, and
introducing several logical operators.
Fall 2002

CMSC 203 - Discrete

10
Logical Operators (Connectives)
We will examine the following logical operators:
•
•
•
•
•
•

Negation
Conjunction
Disjunction
Exclusive or
Implication
Biconditional

(NOT)
(AND)
(OR)
(XOR)
(if – then)
(if and only if)

Truth tables can be used to show how these
operators can combine propositions to
compound propositions.
Fall 2002

CMSC 203 - Discrete

11
Negation (NOT)
Unary Operator, Symbol: ¬
P
true (T)

false (F)

false (F)
Fall 2002

¬P
true (T)

CMSC 203 - Discrete

12
Conjunction (AND)
Binary Operator, Symbol: ∧
P
T

P∧Q
T

T

F

F

F

T

F

F
Fall 2002

Q
T

F

F

CMSC 203 - Discrete

13
Disjunction (OR)
Binary Operator, Symbol: ∨
P
T

P∨ Q
T

T

F

T

F

T

T

F
Fall 2002

Q
T

F

F

CMSC 203 - Discrete

14
Exclusive Or (XOR)
Binary Operator, Symbol: ⊕
P
T

P⊕ Q
F

T

F

T

F

T

T

F
Fall 2002

Q
T

F

F

CMSC 203 - Discrete

15
Implication (if - then)
Binary Operator, Symbol: →
P
T

P→ Q
T

T

F

F

F

T

T

F
Fall 2002

Q
T

F

T

CMSC 203 - Discrete

16
Biconditional (if and only if)
Binary Operator, Symbol: ↔
P
T

P↔ Q
T

T

F

F

F

T

F

F
Fall 2002

Q
T

F

T

CMSC 203 - Discrete

17
Statements and Operators
Statements and operators can be combined in any
way to form new statements.

P
T

Q
T

¬P
F

T

F

F

T

T

F

T

T

F

T

F

F

T

T

T

CMSC 203 - Discrete

18

Fall 2002

¬Q (¬P)∨(¬Q)
F
F
Statements and Operations
Statements and operators can be combined in any
way to form new statements.

P
T

Q
T

T

F

F

T

T

F

T

F

T

T

F

F

F

T

T

Fall 2002

P∧Q ¬ (P∧Q) (¬P)∨(¬Q)
T
F
F

CMSC 203 - Discrete

19
Equivalent Statements
P

Q

T
T
F
F

T
F
T
F

¬(P∧Q)↔ (¬P)∨(¬Q
¬(P∧Q) (¬P)∨(¬Q)
)

F
T
T
T

F
T
T
T

T
T
T
T

The statements ¬(P∧Q) and (¬P) ∨ (¬Q) are logically
equivalent, since ¬(P∧Q) ↔ (¬P) ∨ (¬Q) is always true.

Fall 2002

CMSC 203 - Discrete

20
Tautologies and Contradictions
A tautology is a statement that is always true.
Examples:
• R∨(¬R)
∀ ¬(P∧Q)↔ (¬P)∨(¬Q)
If S→ T is a tautology, we write S⇒T.
If S↔ T is a tautology, we write S⇔T.

Fall 2002

CMSC 203 - Discrete

21
Tautologies and Contradictions
A contradiction is a statement that is always
false.
Examples:
• R∧(¬R)
∀ ¬(¬(P∧Q)↔ (¬P)∨(¬Q))
The negation of any tautology is a contradiction, and the negation of any contradiction is
a tautology.
Fall 2002

CMSC 203 - Discrete

22
Exercises
We already know the following tautology:
¬(P∧Q) ⇔ (¬P)∨(¬Q)
Nice home exercise:
Show that ¬(P∨Q) ⇔ (¬P)∧(¬Q).
These two tautologies are known as De
Morgan’s laws.
Table 5 in Section 1.2 shows many useful laws.
Exercises 1 and 7 in Section 1.2 may help you
get used to propositions and operators.
Fall 2002

CMSC 203 - Discrete

23
Let’s Talk About Logic
• Logic is a system based on propositions.
• A proposition is a statement that is either
true or false (not both).
• We say that the truth value of a proposition
is either true (T) or false (F).
• Corresponds to 1 and 0 in digital circuits
Fall 2002

CMSC 203 - Discrete

24
Logical Operators (Connectives)
•
•
•
•
•
•

Negation
Conjunction
Disjunction
Exclusive or
Implication
Biconditional

(NOT)
(AND)
(OR)
(XOR)
(if – then)
(if and only if)

Truth tables can be used to show how these
operators can combine propositions to
compound propositions.
Fall 2002

CMSC 203 - Discrete

25
Tautologies and Contradictions
A tautology is a statement that is always true.
Examples:
• R∨(¬R)
∀ ¬(P∧Q)↔ (¬P)∨(¬Q)
If S→ T is a tautology, we write S⇒T.
If S↔ T is a tautology, we write S⇔T.

Fall 2002

CMSC 203 - Discrete

26
Tautologies and Contradictions
A contradiction is a statement that is always
false.
Examples:
• R∧(¬R)
• ¬(¬(P∧Q)↔ (¬P)∨(¬Q))
The negation of any tautology is a contradiction,
and the negation of any contradiction is a
tautology.
Fall 2002

CMSC 203 - Discrete

27
Propositional Functions
Propositional function (open sentence):
statement involving one or more variables,
e.g.: x-3 > 5.
Let us call this propositional function P(x), where
P is the predicate and x is the variable.
What is the truth value of P(2) ?

false

What is the truth value of P(8) ?

false

What is the truth value of P(9) ?

true

Fall 2002

CMSC 203 - Discrete

28
Propositional Functions
Let us consider the propositional function
Q(x, y, z) defined as:
x + y = z.
Here, Q is the predicate and x, y, and z are the
variables.
What is the truth value of Q(2, 3, 5) ?

true

What is the truth value of Q(0, 1, 2) ?

false

What is the truth value of Q(9, -9, 0) ?

true

Fall 2002

CMSC 203 - Discrete

29
Universal Quantification
Let P(x) be a propositional function.
Universally quantified sentence:
For all x in the universe of discourse P(x) is true.
Using the universal quantifier ∀:
∀x P(x) “for all x P(x)” or “for every x P(x)”
(Note: ∀x P(x) is either true or false, so it is a
proposition, not a propositional function.)
Fall 2002

CMSC 203 - Discrete

30
Universal Quantification
Example:
S(x): x is a UMBC student.
G(x): x is a genius.
What does ∀x (S(x) → G(x)) mean ?
“If x is a UMBC student, then x is a genius.”
or
“All UMBC students are geniuses.”
Fall 2002

CMSC 203 - Discrete

31
Existential Quantification
Existentially quantified sentence:
There exists an x in the universe of discourse
for which P(x) is true.
Using the existential quantifier ∃:
∃x P(x) “There is an x such that P(x).”
“There is at least one x such that P(x).”
(Note: ∃x P(x) is either true or false, so it is a
proposition, but no propositional function.)
Fall 2002

CMSC 203 - Discrete

32
Existential Quantification
Example:
P(x): x is a UMBC professor.
G(x): x is a genius.
What does ∃x (P(x) ∧ G(x)) mean ?
“There is an x such that x is a UMBC professor
and x is a genius.”
or
“At least one UMBC professor is a genius.”
Fall 2002

CMSC 203 - Discrete

33
Quantification
Another example:
Let the universe of discourse be the real numbers.
What does ∀x∃y (x + y = 320) mean ?
“For every x there exists a y so that x + y = 320.”
Is it true?

yes

Is it true for the natural numbers?

no

Fall 2002

CMSC 203 - Discrete

34
Disproof by Counterexample
A counterexample to ∀x P(x) is an object c so
that P(c) is false.
Statements such as ∀x (P(x) → Q(x)) can be
disproved by simply providing a counterexample.
Statement: “All birds can fly.”
Disproved by counterexample: Penguin.

Fall 2002

CMSC 203 - Discrete

35
Negation
¬(∀x P(x)) is logically equivalent to ∃x (¬P(x)).
¬(∃x P(x)) is logically equivalent to ∀x (¬P(x)).
See Table 3 in Section 1.3.
I recommend exercises 5 and 9 in Section 1.3.

Fall 2002

CMSC 203 - Discrete

36
… and now for something
completely different…

Set Theory
Actually, you will see that logic and
set theory are very closely related.
Fall 2002

CMSC 203 - Discrete

37
Set Theory
• Set: Collection of objects (“elements”)
• a∈A

“a is an element of A”
“a is a member of A”

• a∉A

“a is not an element of A”

• A = {a1, a2, …, an} “A contains…”
• Order of elements is meaningless
• It does not matter how often the same
element is listed.
Fall 2002

CMSC 203 - Discrete

38
Set Equality
Sets A and B are equal if and only if they
contain exactly the same elements.
Examples:
• A = {9, 2, 7, -3}, B = {7, 9, -3, 2} :

A=B

• A = {dog, cat, horse},
B = {cat, horse, squirrel, dog} :

A≠B

• A = {dog, cat, horse},
B = {cat, horse, dog, dog} :

A=B

Fall 2002

CMSC 203 - Discrete

39
Examples for Sets
“Standard” Sets:
• Natural numbers N = {0, 1, 2, 3, …}
• Integers Z = {…, -2, -1, 0, 1, 2, …}
• Positive Integers Z+ = {1, 2, 3, 4, …}
• Real Numbers R = {47.3, -12, π, …}
• Rational Numbers Q = {1.5, 2.6, -3.8, 15, …}
(correct definition will follow)

Fall 2002

CMSC 203 - Discrete

40
Examples for Sets
• A=∅

“empty set/null set”

• A = {z}

Note: z∈A, but z ≠ {z}

• A = {{b, c}, {c, x, d}}
• A = {{x, y}}
Note: {x, y} ∈A, but {x, y} ≠ {{x, y}}
• A = {x | P(x)}
“set of all x such that P(x)”
• A = {x | x∈N ∧ x > 7} = {8, 9, 10, …}
“set builder notation”
Fall 2002

CMSC 203 - Discrete

41
Examples for Sets
We are now able to define the set of rational
numbers Q:
Q = {a/b | a∈Z ∧ b∈Z+}
or
Q = {a/b | a∈Z ∧ b∈Z ∧ b≠0}
And how about the set of real numbers R?
R = {r | r is a real number}
That is the best we can do.
Fall 2002

CMSC 203 - Discrete

42
Subsets
A⊆B
“A is a subset of B”
A ⊆ B if and only if every element of A is also
an element of B.
We can completely formalize this:
A ⊆ B ⇔ ∀x (x∈A → x∈B)
Examples:
A = {3, 9}, B = {5, 9, 1, 3},

A ⊆ B ? true

A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A ⊆ B ? true
A = {1, 2, 3}, B = {2, 3, 4},
B?
Fall 2002

CMSC 203 - Discrete

A⊆

false
43
Subsets

Useful rules:
• A = B ⇔ (A ⊆ B) ∧ (B ⊆ A)
• (A ⊆ B) ∧ (B ⊆ C) ⇒ A ⊆ C (see Venn
Diagram)
U
B

Fall 2002

A

CMSC 203 - Discrete

C

44
Subsets
Useful rules:
∀ ∅ ⊆ A for any set A
• A ⊆ A for any set A
Proper subsets:
A⊂B
“A is a proper subset of B”
A ⊂ B ⇔ ∀x (x∈A → x∈B) ∧ ∃x (x∈B ∧ x∉A)
or
A ⊂ B ⇔ ∀x (x∈A → x∈B) ∧ ¬∀x (x∈B → x∈A)
Fall 2002

CMSC 203 - Discrete

45
Cardinality of Sets
If a set S contains n distinct elements, n∈N,
we call S a finite set with cardinality n.
Examples:
A = {Mercedes, BMW, Porsche}, |A| = 3
B = {1, {2, 3}, {4, 5}, 6}
C=∅
D = { x∈N | x ≤ 7000 }

|B| = 4
|C| = 0
|D| = 7001

E = { x∈N | x ≥ 7000 }

E is infinite!

Fall 2002

CMSC 203 - Discrete

46
The Power Set
P(A)
“power set of A”
P(A) = {B | B ⊆ A}
(contains all subsets of A)
Examples:
A = {x, y, z}
P(A) = {∅ , {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}}
A=∅
P(A) = {∅}
Note: |A| = 0, |P(A)| = 1
Fall 2002

CMSC 203 - Discrete

47
The Power Set
Cardinality of power sets:
| P(A) | = 2|A|
• Imagine each element in A has an “on/off” switch
• Each possible switch configuration in A
corresponds to one element in 2A
A
x

1
x

2
x

3
x

4
x

5
x

6
x

7
x

8
x

y
z

y
z

y
z

y
z

y
z

y
z

y
z

y
z

y
z

• For 3 elements in A, there are
2× 2× 2 = 8 elements in P(A)
Fall 2002

CMSC 203 - Discrete

48
Cartesian Product
The ordered n-tuple (a1, a2, a3, …, an) is an ordered
collection of objects.
Two ordered n-tuples (a1, a2, a3, …, an) and
(b1, b2, b3, …, bn) are equal if and only if they
contain exactly the same elements in the same
order, i.e. ai = bi for 1 ≤ i ≤ n.
The Cartesian product of two sets is defined as:
A×B = {(a, b) | a∈A ∧ b∈B}
Example: A = {x, y}, B = {a, b, c}
A×B = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}
Fall 2002

CMSC 203 - Discrete

49
Cartesian Product
The Cartesian product of two sets is defined as:
A×B = {(a, b) | a∈A ∧ b∈B}
Example:
A = {good, bad}, B = {student, prof}

}

A×B = { (good, student), (good, prof),

(bad, student), (bad, prof)

B×A = { (student, good), (prof, good),

(student, bad), (prof, bad)

Fall 2002

CMSC 203 - Discrete

}

50
Cartesian Product
Note that:
• A×∅ = ∅
• ∅×A = ∅
• For non-empty sets A and B: A≠B ⇔ A×B ≠ B×A
• |A×B| = |A|⋅|B|
The Cartesian product of two or more sets is
defined as:
A1×A2×…×An = {(a1, a2, …, an) | ai∈A for 1 ≤ i ≤ n}
Fall 2002

CMSC 203 - Discrete

51
Set Operations
Union: A∪B = {x | x∈A ∨ x∈B}
Example: A = {a, b}, B = {b, c, d}
A∪B = {a, b, c, d}
Intersection: A∩B = {x | x∈A ∧ x∈B}
Example: A = {a, b}, B = {b, c, d}
A∩B = {b}
Fall 2002

CMSC 203 - Discrete

52
Set Operations
Two sets are called disjoint if their intersection
is empty, that is, they share no elements:
A∩B = ∅
The difference between two sets A and B
contains exactly those elements of A that are
not in B:
A-B = {x | x∈A ∧ x∉B}
Example: A = {a, b}, B = {b, c, d}, A-B = {a}

Fall 2002

CMSC 203 - Discrete

53
Set Operations
The complement of a set A contains exactly
those elements under consideration that are not
in A:
Ac = U-A
Example: U = N, B = {250, 251, 252, …}
Bc = {0, 1, 2, …, 248, 249}

Fall 2002

CMSC 203 - Discrete

54
Set Operations
Table 1 in Section 1.5 shows many useful equations.
How can we prove A∪(B∩C) = (A∪B)∩(A∪C)?
Method I:
x∈A∪(B∩C)
⇔ x∈A ∨ x∈(B∩C)
⇔ x∈A ∨ (x∈B ∧ x∈C)
⇔ (x∈A ∨ x∈B) ∧ (x∈A ∨ x∈C)
(distributive law for logical expressions)
⇔ x∈(A∪B) ∧ x∈(A∪C)
⇔ x∈(A∪B)∩(A∪C)
Fall 2002

CMSC 203 - Discrete

55
Set Operations
Method II: Membership table
1 means “x is an element of this set”
0 means “x is not an element of this set”
A B C B∩C

A∪(B∩C)

A ∪B

A ∪C

(A∪B) ∩(A∪C)

0 0 0

0

0

0

0

0

0 0 1

0

0

0

1

0

0 1 0

0

0

1

0

0

0 1 1

1

1

1

1

1

1 0 0

0

1

1

1

1

1 0 1

0

1

1

1

1

1 1 0

0

1

1

1

1

1 1 1

1

1

1

1

1

Fall 2002

CMSC 203 - Discrete

56
Set Operations
Every logical expression can be transformed into an
equivalent expression in set theory and vice versa.
You could work on Exercises 9 and 19 in Section 1.5
to get some practice.

Fall 2002

CMSC 203 - Discrete

57
… and the following mathematical
appetizer is about…

Functions
Fall 2002

CMSC 203 - Discrete

58
Functions
A function f from a set A to a set B is an
assignment of exactly one element of B to each
element of A.
We write
f(a) = b
if b is the unique element of B assigned by the
function f to the element a of A.
If f is a function from A to B, we write
f: A→B
(note: Here, “→“ has nothing to do with if… then)
Fall 2002

CMSC 203 - Discrete

59
Functions
If f:A→B, we say that A is the domain of f and B
is the codomain of f.
If f(a) = b, we say that b is the image of a and a is
the pre-image of b.
The range of f:A→B is the set of all images of
elements of A.
We say that f:A→B maps A to B.

Fall 2002

CMSC 203 - Discrete

60
Functions
Let us take a look at the function f:P→C with
P = {Linda, Max, Kathy, Peter}
C = {Boston, New York, Hong Kong, Moscow}
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = New York
Here, the range of f is C.
Fall 2002

CMSC 203 - Discrete

61
Functions
Let us re-specify f as follows:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
Is f still a function? yes
What is its range?
Fall 2002

{Moscow, Boston, Hong Kong}

CMSC 203 - Discrete

62
Functions
Other ways to represent f:
x

f(x)

Linda

Moscow

Max

Boston
Hong
Kong
Boston

Kathy
Peter
Fall 2002

Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

CMSC 203 - Discrete

63
Functions
If the domain of our function f is large, it is
convenient to specify f with a formula, e.g.:
f:R→R
f(x) = 2x
This leads to:
f(1) = 2
f(3) = 6
f(-3) = -6
…
Fall 2002

CMSC 203 - Discrete

64
Functions
Let f1 and f2 be functions from A to R.
Then the sum and the product of f1 and f2 are also
functions from A to R defined by:
(f1 + f2)(x) = f1(x) + f2(x)
(f1f2)(x) = f1(x) f2(x)
Example:
f1(x) = 3x, f2(x) = x + 5
(f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5
(f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x
Fall 2002

CMSC 203 - Discrete

65
Functions
We already know that the range of a function
f:A→B is the set of all images of elements a∈A.
If we only regard a subset S⊆A, the set of all
images of elements s∈S is called the image of S.
We denote the image of S by f(S):
f(S) = {f(s) | s∈S}
Fall 2002

CMSC 203 - Discrete

66
Functions
Let us look at the following well-known function:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
What is the image of S = {Linda, Max} ?
f(S) = {Moscow, Boston}
What is the image of S = {Max, Peter} ?
f(S) = {Boston}
Fall 2002

CMSC 203 - Discrete

67
Properties of Functions
A function f:A→B is said to be one-to-one (or
injective), if and only if
∀x, y∈A (f(x) = f(y) → x = y)
In other words: f is one-to-one if and only if it
does not map two distinct elements of A onto the
same element of B.

Fall 2002

CMSC 203 - Discrete

68
Properties of Functions
And again…
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston

g(Linda) = Moscow
g(Max) = Boston
g(Kathy) = Hong Kong
g(Peter) = New York

Is f one-to-one?

Is g one-to-one?

No, Max and Peter are
mapped onto the same
element of the image.

Yes, each element is
assigned a unique
element of the image.

Fall 2002

CMSC 203 - Discrete

69
Properties of Functions
How can we prove that a function f is one-to-one?
Whenever you want to prove something, first take
a look at the relevant definition(s):
∀x, y∈A (f(x) = f(y) → x = y)
Example:
f:R→R
f(x) = x2
Disproof by counterexample:
f(3) = f(-3), but 3 ≠ -3, so f is not one-to-one.
Fall 2002

CMSC 203 - Discrete

70
Properties of Functions
… and yet another example:
f:R→R
f(x) = 3x
One-to-one: ∀x, y∈A (f(x) = f(y) → x = y)
To show: f(x) ≠ f(y) whenever x ≠ y
x≠y
⇔ 3x ≠ 3y
⇔ f(x) ≠ f(y),
so if x ≠ y, then f(x) ≠ f(y), that is, f is one-to-one.
Fall 2002

CMSC 203 - Discrete

71
Properties of Functions
A function f:A→B with A,B ⊆ R is called strictly
increasing, if
∀x,y∈A (x < y → f(x) < f(y)),
and strictly decreasing, if
∀x,y∈A (x < y → f(x) > f(y)).
Obviously, a function that is either strictly
increasing or strictly decreasing is one-to-one.

Fall 2002

CMSC 203 - Discrete

72
Properties of Functions
A function f:A→B is called onto, or surjective, if
and only if for every element b∈B there is an
element a∈A with f(a) = b.
In other words, f is onto if and only if its range is
its entire codomain.
A function f: A→B is a one-to-one correspondence,
or a bijection, if and only if it is both one-to-one
and onto.
Obviously, if f is a bijection and A and B are finite
sets, then |A| = |B|.
Fall 2002

CMSC 203 - Discrete

73
Properties of Functions
Examples:
In the following examples, we use the arrow
representation to illustrate functions f:A→B.
In each example, the complete sets A and B are
shown.

Fall 2002

CMSC 203 - Discrete

74
Properties of Functions
Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

Fall 2002

CMSC 203 - Discrete

Is f injective?
No.
Is f surjective?
No.
Is f bijective?
No.

75
Properties of Functions
Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

Is f injective?
No.
Is f surjective?
Yes.
Is f bijective?
No.

Paul

Fall 2002

CMSC 203 - Discrete

76
Properties of Functions
Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

Is f injective?
Yes.
Is f surjective?
No.
Is f bijective?
No.

Lübeck
Fall 2002

CMSC 203 - Discrete

77
Properties of Functions
Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

Is f injective?
No! f is not even
a function!

Lübeck
Fall 2002

CMSC 203 - Discrete

78
Properties of Functions
Linda

Boston

Max

New York

Kathy

Hong Kong

Peter

Moscow

Helena

Lübeck

Fall 2002

CMSC 203 - Discrete

Is f injective?
Yes.
Is f surjective?
Yes.
Is f bijective?
Yes.

79
Inversion
An interesting property of bijections is that
they have an inverse function.
The inverse function of the bijection f:A→B
is the function f-1:B→A with
f-1(b) = a whenever f(a) = b.

Fall 2002

CMSC 203 - Discrete

80
Inversion
Example:

The inverse function
f-1 is given by:

f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Lübeck
f(Helena) = New York

f-1(Moscow) = Linda
f-1(Boston) = Max
f-1(Hong Kong) = Kathy
f-1(Lübeck) = Peter
f-1(New York) = Helena

Clearly, f is bijective.

Inversion is only
possible for bijections
(= invertible functions)

Fall 2002

CMSC 203 - Discrete

81
Inversion
Linda

Boston

f

Max

New York

f-1

Kathy

Hong Kong

Peter

Moscow

Helena

Lübeck

Fall 2002

CMSC 203 - Discrete

f-1:C→P is no
function, because
it is not defined
for all elements of
C and assigns two
images to the preimage New York.
82
Composition
The composition of two functions g:A→B and
f:B→C, denoted by f°g, is defined by
(f°g)(a) = f(g(a))
This means that
• first, function g is applied to element a∈A,
mapping it onto an element of B,
• then, function f is applied to this element of
B, mapping it onto an element of C.
• Therefore, the composite function maps
from A to C.
Fall 2002

CMSC 203 - Discrete

83
Composition
Example:
f(x) = 7x – 4, g(x) = 3x,
f:R→R, g:R→R
(f°g)(5) = f(g(5)) = f(15) = 105 – 4 = 101
(f°g)(x) = f(g(x)) = f(3x) = 21x - 4

Fall 2002

CMSC 203 - Discrete

84
Composition
Composition of a function and its inverse:
(f-1°f)(x) = f-1(f(x)) = x
The composition of a function and its inverse
is the identity function i(x) = x.

Fall 2002

CMSC 203 - Discrete

85
Graphs
The graph of a function f:A→B is the set of
ordered pairs {(a, b) | a∈A and f(a) = b}.
The graph is a subset of A×B that can be used
to visualize f in a two-dimensional coordinate
system.

Fall 2002

CMSC 203 - Discrete

86
Floor and Ceiling Functions
The floor and ceiling functions map the real
numbers onto the integers (R→Z).
The floor function assigns to r∈R the largest
z∈Z with z ≤ r, denoted by r.
Examples: 2.3 = 2, 2 = 2, 0.5 = 0, -3.5 = -4
The ceiling function assigns to r∈R the smallest
z∈Z with z ≥ r, denoted by r.
Examples: 2.3 = 3, 2 = 2, 0.5 = 1, -3.5 = -3
Fall 2002

CMSC 203 - Discrete

87
Exercises
I recommend Exercises 1 and 15 in Section 1.6.
It may also be useful to study the graph displays
in that section.
Another question: What do all graph displays for
any function f:R→R have in common?

Fall 2002

CMSC 203 - Discrete

88
… and now for…

Sequences

Fall 2002

CMSC 203 - Discrete

89
Sequences
Sequences represent ordered lists of elements.
A sequence is defined as a function from a subset
of N to a set S. We use the notation an to denote
the image of the integer n. We call an a term of
the sequence.
Example:
subset of N:

1 2 3 4 5 …

S:

2 4 6 8 10 …

Fall 2002

CMSC 203 - Discrete

90
Sequences
We use the notation {an} to describe a sequence.
Important: Do not confuse this with the {} used
in set notation.
It is convenient to describe a sequence with a
formula.
For example, the sequence on the previous slide
can be specified as {an}, where an = 2n.

Fall 2002

CMSC 203 - Discrete

91
The Formula Game
What are the formulas that describe the
following sequences a1, a2, a3, … ?
1, 3, 5, 7, 9, …

an = 2n - 1

-1, 1, -1, 1, -1, …

an = (-1)n

2, 5, 10, 17, 26, …

an = n2 + 1

0.25, 0.5, 0.75, 1, 1.25 … an = 0.25n
3, 9, 27, 81, 243, …
Fall 2002

an = 3n

CMSC 203 - Discrete

92
Strings
Finite sequences are also called strings, denoted
by a1a2a3…an.
The length of a string S is the number of terms
that it consists of.
The empty string contains no terms at all. It has
length zero.

Fall 2002

CMSC 203 - Discrete

93
Summations
What does

n

∑a
j =m

j

stand for?

It represents the sum am + am+1 + am+2 + … + an.
The variable j is called the index of summation,
running from its lower limit m to its upper limit n.
We could as well have used any other letter to
denote this index.

Fall 2002

CMSC 203 - Discrete

94
Summations

How can we express the sum of the first 1000
terms of the sequence {an} with an=n2 for
n = 1, 2, 3, … ?
1000
j2 .
We write it as ∑
j =1

What is the value of

6

∑j
j =1

?

It is 1 + 2 + 3 + 4 + 5 + 6 = 21.
What is the value of

100

∑j
j =1

?

It is so much work to calculate this…
Fall 2002

CMSC 203 - Discrete

95
Summations
It is said that Friedrich Gauss came up with the
following formula:
n

∑
j =1

n(n + 1)
j=
2

When you have such a formula, the result of any
summation can be calculated much more easily,
for example:
100

∑
j =1

100(100 + 1) 10100
j=
=
= 5050
2
2

Fall 2002

CMSC 203 - Discrete

96
Arithemetic Series
How does:

n

∑
j =1

n(n + 1)
j=
2

???

Observe that:
1 + 2 + 3 +…+ n/2 + (n/2 + 1) +…+ (n - 2) + (n - 1) + n
= [1 + n] + [2 + (n - 1)] + [3 + (n - 2)] +…+ [n/2 + (n/2 + 1)]
= (n + 1) + (n + 1) + (n + 1) + … + (n + 1)

(with n/2 terms)

= n(n + 1)/2.

Fall 2002

CMSC 203 - Discrete

97
Geometric Series
How does:

( n +1)

a
−1
∑ a = (a − 1)
j =0
n

j

???

Observe that:
S = 1 + a + a 2 + a3 + … + a n
aS = a + a2 + a3 + … + an + a(n+1)
so, (aS - S) = (a - 1)S = a(n+1) - 1
Therefore, 1 + a + a2 + … + an = (a(n+1) - 1) / (a - 1).
For example: 1 + 2 + 4 + 8 +… + 1024 = 2047.
Fall 2002

CMSC 203 - Discrete

98
Useful Series
1.
2.
3.
4.

n(n + 1)
∑j= 2
j =1
n
a ( n +1) − 1
aj =
∑
(a − 1)
j =0
n
n(n + 1)(2n + 1)
2
∑j =
6
j =1
2
2
n
n (n + 1)
3
∑j = 4
j =1
n

Fall 2002

CMSC 203 - Discrete

99
Double Summations
Corresponding to nested loops in C or Java, there is
also double (or triple etc.) summation:
Example:
5

2

∑∑ ij
i =1 j =1
5

= ∑ (i + 2i )
i =1
5

= ∑ 3i
i =1

= 3 + 6 + 9 + 12 + 15 = 45
Fall 2002

CMSC 203 - Discrete

100
Double Summations
Table 2 in Section 1.7 contains some very useful
formulas for calculating sums.
Exercises 15 and 17 make a nice homework.

Fall 2002

CMSC 203 - Discrete

101
Enough Mathematical Appetizers!
Let us look at something more interesting:

Algorithms

Fall 2002

CMSC 203 - Discrete

102
Algorithms
What is an algorithm?
An algorithm is a finite set of precise instructions
for performing a computation or for solving a
problem.
This is a rather vague definition. You will get to
know a more precise and mathematically useful
definition when you attend CS420.
But this one is good enough for now…
Fall 2002

CMSC 203 - Discrete

103
Algorithms
Properties of algorithms:
•
•
•
•
•
•
•

Input from a specified set,
Output from a specified set (solution),
Definiteness of every step in the computation,
Correctness of output for every possible input,
Finiteness of the number of calculation steps,
Effectiveness of each calculation step and
Generality for a class of problems.
Fall 2002

CMSC 203 - Discrete

104
Algorithm Examples
We will use a pseudocode to specify algorithms,
which slightly reminds us of Basic and Pascal.
Example: an algorithm that finds the maximum
element in a finite sequence
procedure max(a1, a2, …, an: integers)
max := a1
for i := 2 to n
if max < ai then max := ai
{max is the largest element}
Fall 2002

CMSC 203 - Discrete

105
Algorithm Examples
Another example: a linear search algorithm, that
is, an algorithm that linearly searches a sequence
for a particular element.
procedure linear_search(x: integer; a1, a2, …, an:
integers)
i := 1
while (i ≤ n and x ≠ ai)
i := i + 1
if i ≤ n then location := i
else location := 0
{location is the subscript of the term that equals
x, or is zero if x is not found}
Fall 2002

CMSC 203 - Discrete

106
Algorithm Examples
If the terms in a sequence are ordered, a binary
search algorithm is more efficient than linear
search.
The binary search algorithm iteratively restricts
the relevant search interval until it closes in on
the position of the element to be located.

Fall 2002

CMSC 203 - Discrete

107
Algorithm Examples
binary search for the letter ‘j’
search interval
a c d f g h j l m o p r s u v x z
center element

Fall 2002

CMSC 203 - Discrete

108
Algorithm Examples
binary search for the letter ‘j’
search interval
a c d f g h j l m o p r s u v x z
center element

Fall 2002

CMSC 203 - Discrete

109
Algorithm Examples
binary search for the letter ‘j’
search interval
a c d f g h j l m o p r s u v x z
center element

Fall 2002

CMSC 203 - Discrete

110
Algorithm Examples
binary search for the letter ‘j’
search interval
a c d f g h j l m o p r s u v x z
center element

Fall 2002

CMSC 203 - Discrete

111
Algorithm Examples
binary search for the letter ‘j’
search interval
a c d f g h j l m o p r s u v x z
center element

found !
Fall 2002

CMSC 203 - Discrete

112
Algorithm Examples

procedure binary_search(x: integer; a1, a2, …, an:
integers)
i := 1 {i is left endpoint of search interval}
j := n {j is right endpoint of search interval}
while (i < j)
begin
m := (i + j)/2
if x > am then i := m + 1
else j := m
end
if x = ai then location := i
else location := 0
{location is the subscript of the term that equals
x, or is zero if x is not found}
Fall 2002

CMSC 203 - Discrete

113
Complexity
In general, we are not so much interested in the
time and space complexity for small inputs.
For example, while the difference in time
complexity between linear and binary search is
meaningless for a sequence with n = 10, it is
gigantic for n = 230.

Fall 2002

CMSC 203 - Discrete

114
Complexity
For example, let us assume two algorithms A and
B that solve the same class of problems.
The time complexity of A is 5,000n, the one for
B is 1.1n for an input with n elements.
For n = 10, A requires 50,000 steps, but B only 3,
so B seems to be superior to A.
For n = 1000, however, A requires 5,000,000
steps, while B requires 2.5⋅1041 steps.

Fall 2002

CMSC 203 - Discrete

115
Complexity
This means that algorithm B cannot be used for
large inputs, while algorithm A is still feasible.
So what is important is the growth of the
complexity functions.
The growth of time and space complexity with
increasing input size n is a suitable measure for
the comparison of algorithms.

Fall 2002

CMSC 203 - Discrete

116
Complexity
Comparison: time complexity of algorithms A and B
Input Size
n
10
100
1,000
1,000,000
Fall 2002

Algorithm A
5,000n
50,000
500,000
5,000,000
5⋅109

CMSC 203 - Discrete

Algorithm B
1.1n
3
13,781
2.5⋅1041
4.8⋅1041392
117
Complexity
This means that algorithm B cannot be used for
large inputs, while running algorithm A is still
feasible.
So what is important is the growth of the
complexity functions.
The growth of time and space complexity with
increasing input size n is a suitable measure for
the comparison of algorithms.
Fall 2002

CMSC 203 - Discrete

118
The Growth of Functions
The growth of functions is usually described
using the big-O notation.
Definition: Let f and g be functions from the
integers or the real numbers to the real numbers.
We say that f(x) is O(g(x)) if there are constants
C and k such that
|f(x)| ≤ C|g(x)|
whenever x > k.
Fall 2002

CMSC 203 - Discrete

119
The Growth of Functions
When we analyze the growth of complexity
functions, f(x) and g(x) are always positive.
Therefore, we can simplify the big-O requirement
to
f(x) ≤ C⋅g(x) whenever x > k.
If we want to show that f(x) is O(g(x)), we only
need to find one pair (C, k) (which is never unique).

Fall 2002

CMSC 203 - Discrete

120
The Growth of Functions
The idea behind the big-O notation is to establish
an upper boundary for the growth of a function
f(x) for large x.
This boundary is specified by a function g(x) that
is usually much simpler than f(x).
We accept the constant C in the requirement
f(x) ≤ C⋅g(x) whenever x > k,
because C does not grow with x.
We are only interested in large x, so it is OK if
f(x) > C⋅g(x) for x ≤ k.
Fall 2002

CMSC 203 - Discrete

121
The Growth of Functions
Example:
Show that f(x) = x2 + 2x + 1 is O(x2).
For x > 1 we have:
x2 + 2x + 1 ≤ x2 + 2x2 + x2
⇒ x2 + 2x + 1 ≤ 4x2
Therefore, for C = 4 and k = 1:
f(x) ≤ Cx2 whenever x > k.
⇒ f(x) is O(x2).
Fall 2002

CMSC 203 - Discrete

122
The Growth of Functions
Question: If f(x) is O(x2), is it also O(x3)?
Yes. x3 grows faster than x2, so x3 grows also
faster than f(x).
Therefore, we always have to find the smallest
simple function g(x) for which f(x) is O(g(x)).

Fall 2002

CMSC 203 - Discrete

123
The Growth of Functions
“Popular” functions g(n) are
n log n, 1, 2n, n2, n!, n, n3, log n
Listed from slowest to fastest growth:
• 1
• log n
• n
• n log n
• n2
• n3
• 2n
• n!
Fall 2002

CMSC 203 - Discrete

124
The Growth of Functions
A problem that can be solved with polynomial
worst-case complexity is called tractable.
Problems of higher complexity are called
intractable.
Problems that no algorithm can solve are called
unsolvable.
You will find out more about this in CS420.
Fall 2002

CMSC 203 - Discrete

125
Useful Rules for Big-O
For any polynomial f(x) = anxn + an-1xn-1 + … + a0, where
a0, a1, …, an are real numbers,
f(x) is O(xn).
If f1(x) is O(g1(x)) and f2(x) is O(g2(x)), then
(f1 + f2)(x) is O(max(g1(x), g2(x)))
If f1(x) is O(g(x)) and f2(x) is O(g(x)), then
(f1 + f2)(x) is O(g(x)).
If f1(x) is O(g1(x)) and f2(x) is O(g2(x)), then
(f1f2)(x) is O(g1(x) g2(x)).
Fall 2002

CMSC 203 - Discrete

126
Complexity Examples
What does the following algorithm compute?
procedure who_knows(a1, a2, …, an: integers)
m := 0
for i := 1 to n-1
for j := i + 1 to n
if |ai – aj| > m then m := |ai – aj|
{m is the maximum difference between any two
numbers in the input sequence}
Comparisons: n-1 + n-2 + n-3 + … + 1
= (n – 1)n/2 = 0.5n2 – 0.5n
Time complexity is O(n2).
Fall 2002

CMSC 203 - Discrete

127
Complexity Examples
Another algorithm solving the same problem:
procedure max_diff(a1, a2, …, an: integers)
min := a1
max := a1
for i := 2 to n
if ai < min then min := ai
else if ai > max then max := ai
m := max - min
Comparisons: 2n - 2
Time complexity is O(n).
Fall 2002

CMSC 203 - Discrete

128
Let us get into…

Number Theory

Fall 2002

CMSC 203 - Discrete

129
Introduction to Number Theory
Number theory is about integers and their
properties.
We will start with the basic principles of
• divisibility,
• greatest common divisors,
• least common multiples, and
• modular arithmetic
and look at some relevant algorithms.
Fall 2002

CMSC 203 - Discrete

130
Division
If a and b are integers with a ≠ 0, we say that
a divides b if there is an integer c so that b = ac.
When a divides b we say that a is a factor of b
and that b is a multiple of a.
The notation a | b means that a divides b.
We write a X b when a does not divide b
(see book for correct symbol).
Fall 2002

CMSC 203 - Discrete

131
Divisibility Theorems
For integers a, b, and c it is true that
• if a | b and a | c, then a | (b + c)
Example: 3 | 6 and 3 | 9, so 3 | 15.
• if a | b, then a | bc for all integers c
Example: 5 | 10, so 5 | 20, 5 | 30, 5 | 40, …
• if a | b and b | c, then a | c
Example: 4 | 8 and 8 | 24, so 4 | 24.

Fall 2002

CMSC 203 - Discrete

132
Primes
A positive integer p greater than 1 is called prime
if the only positive factors of p are 1 and p.
A positive integer that is greater than 1 and is not
prime is called composite.
The fundamental theorem of arithmetic:
Every positive integer can be written uniquely as
the product of primes, where the prime factors
are written in order of increasing size.
Fall 2002

CMSC 203 - Discrete

133
Primes
Examples:
15 =

3·5

48 =

2·2·2·2·3 = 24·3

17 =

17

100 =

2·2·5·5 = 22·52

512 =

2·2·2·2·2·2·2·2·2 = 29

515 =

5·103

28 =

2·2·7

Fall 2002

CMSC 203 - Discrete

134
Primes
If n is a composite integer, then n has a prime
divisor less than or equal n .
This is easy to see: if n is a composite integer, it
must have two prime divisors p1 and p2 such that
p1⋅p2 = n.
p1 and p2 cannot both be greater than
n
, because then p1⋅p2 > n.
Fall 2002

CMSC 203 - Discrete

135
The Division Algorithm
Let a be an integer and d a positive integer.
Then there are unique integers q and r, with
0 ≤ r < d, such that a = dq + r.
In the above equation,
• d is called the divisor,
• a is called the dividend,
• q is called the quotient, and
• r is called the remainder.

Fall 2002

CMSC 203 - Discrete

136
The Division Algorithm
Example:
When we divide 17 by 5, we have
17 = 5⋅3 + 2.
•
•
•
•

17 is the dividend,
5 is the divisor,
3 is called the quotient, and
2 is called the remainder.
Fall 2002

CMSC 203 - Discrete

137
The Division Algorithm
Another example:
What happens when we divide -11 by 3 ?
Note that the remainder cannot be negative.
-11 = 3⋅(-4) + 1.
•
•
•
•

-11 is the dividend,
3 is the divisor,
-4 is called the quotient, and
1 is called the remainder.
Fall 2002

CMSC 203 - Discrete

138
Greatest Common Divisors
Let a and b be integers, not both zero.
The largest integer d such that d | a and d | b is
called the greatest common divisor of a and b.
The greatest common divisor of a and b is denoted
by gcd(a, b).
Example 1: What is gcd(48, 72) ?
The positive common divisors of 48 and 72 are
1, 2, 3, 4, 6, 8, 12, 16, and 24, so gcd(48, 72) = 24.
Example 2: What is gcd(19, 72) ?
The only positive common divisor of 19 and 72 is
1, so gcd(19, 72) = 1.
Fall 2002

CMSC 203 - Discrete

139
Greatest Common Divisors
Using prime factorizations:
a = p1a1 p2a2 … pnan , b = p1b1 p2b2 … pnbn ,
where p1 < p2 < … < pn and ai, bi ∈ N for 1 ≤ i ≤ n
gcd(a, b) = p1min(a1, b1 ) p2min(a2, b2 ) … pnmin(an, bn )
Example:
a = 60 = 22 31 51
b = 54 = 21 33 50
gcd(a, b) = 21 31 50 = 6
Fall 2002

CMSC 203 - Discrete

140
Relatively Prime Integers

Definition:

Two integers a and b are relatively prime if
gcd(a, b) = 1.
Examples:
Are 15 and 28 relatively prime?
Yes, gcd(15, 28) = 1.
Are 55 and 28 relatively prime?
Yes, gcd(55, 28) = 1.
Are 35 and 28 relatively prime?
No, gcd(35, 28) = 7.
Fall 2002

CMSC 203 - Discrete

141
Relatively Prime Integers
Definition:
The integers a1, a2, …, an are pairwise relatively
prime if gcd(ai, aj) = 1 whenever 1 ≤ i < j ≤ n.
Examples:
Are 15, 17, and 27 pairwise relatively prime?
No, because gcd(15, 27) = 3.
Are 15, 17, and 28 pairwise relatively prime?
Yes, because gcd(15, 17) = 1, gcd(15, 28) = 1 and
gcd(17, 28) = 1.
Fall 2002

CMSC 203 - Discrete

142
Least Common Multiples

Definition:

The least common multiple of the positive
integers a and b is the smallest positive integer
that is divisible by both a and b.
We denote the least common multiple of a and b
by lcm(a, b).
Examples:
lcm(3, 7) = 21
lcm(4, 6) = 12
lcm(5, 10) = 10
Fall 2002

CMSC 203 - Discrete

143
Least Common Multiples
Using prime factorizations:
a = p1a1 p2a2 … pnan , b = p1b1 p2b2 … pnbn ,
where p1 < p2 < … < pn and ai, bi ∈ N for 1 ≤ i ≤ n
lcm(a, b) = p1max(a1, b1 ) p2max(a2, b2 ) … pnmax(an, bn )
Example:
a = 60 = 22 31 51
b = 54 = 21 33 50
lcm(a, b) = 22 33 51 = 4⋅27⋅5 = 540
Fall 2002

CMSC 203 - Discrete

144
GCD and LCM
a = 60 = 22 31 51
b = 54 = 21 33 50
gcd(a, b) =

21 31 50

=6

lcm(a, b) =

22 33 51

= 540

Theorem: a⋅ b = gcd(a,b)⋅ lcm(a,b)
Fall 2002

CMSC 203 - Discrete

145
Modular Arithmetic
Let a be an integer and m be a positive integer.
We denote by a mod m the remainder when a is
divided by m.
Examples:
9 mod 4 = 1
9 mod 3 = 0
9 mod 10 = 9
-13 mod 4 = 3
Fall 2002

CMSC 203 - Discrete

146
Congruences
Let a and b be integers and m be a positive integer.
We say that a is congruent to b modulo m if
m divides a – b.
We use the notation a ≡ b (mod m) to indicate
that a is congruent to b modulo m.
In other words:
a ≡ b (mod m) if and only if a mod m = b mod m.

Fall 2002

CMSC 203 - Discrete

147
Congruences
Examples:
Is it true that 46 ≡ 68 (mod 11) ?
Yes, because 11 | (46 – 68).
Is it true that 46 ≡ 68 (mod 22)?
Yes, because 22 | (46 – 68).
For which integers z is it true that z ≡ 12 (mod 10)?
It is true for any z∈{…,-28, -18, -8, 2, 12, 22, 32, …}
Theorem: Let m be a positive integer. The integers
a and b are congruent modulo m if and only if there
is an integer k such that a = b + km.
Fall 2002

CMSC 203 - Discrete

148
Congruences
Theorem: Let m be a positive integer.
If a ≡ b (mod m) and c ≡ d (mod m), then
a + c ≡ b + d (mod m) and ac ≡ bd (mod m).
Proof:
We know that a ≡ b (mod m) and c ≡ d (mod m)
implies that there are integers s and t with
b = a + sm and d = c + tm.
Therefore,
b + d = (a + sm) + (c + tm) = (a + c) + m(s + t) and
bd = (a + sm)(c + tm) = ac + m(at + cs + stm).
Hence, a + c ≡ b + d (mod m) and ac ≡ bd (mod m).
Fall 2002

CMSC 203 - Discrete

149
The Euclidean Algorithm
The Euclidean Algorithm finds the greatest
common divisor of two integers a and b.
For example, if we want to find gcd(287, 91), we
divide 287 by 91:
287 = 91⋅3 + 14
We know that for integers a, b and c,
if a | b and a | c, then a | (b + c).
Therefore, any divisor of 287 and 91 must also be
a divisor of 287 - 91⋅3 = 14.
Consequently, gcd(287, 91) = gcd(14, 91).
Fall 2002

CMSC 203 - Discrete

150
The Euclidean Algorithm
In the next step, we divide 91 by 14:
91 = 14⋅6 + 7
This means that gcd(14, 91) = gcd(14, 7).
So we divide 14 by 7:
14 = 7⋅2 + 0
We find that 7 | 14, and thus gcd(14, 7) = 7.
Therefore, gcd(287, 91) = 7.
Fall 2002

CMSC 203 - Discrete

151
The Euclidean Algorithm
In pseudocode, the algorithm can be implemented
as follows:
procedure gcd(a, b: positive integers)
x := a
y := b
while y ≠ 0
begin
r := x mod y
x := y
y := r
end {x is gcd(a, b)}
Fall 2002

CMSC 203 - Discrete

152
Representations of Integers
Let b be a positive integer greater than 1.
Then if n is a positive integer, it can be expressed
uniquely in the form:
n = akbk + ak-1bk-1 + … + a1b + a0,
where k is a nonnegative integer,
a0, a1, …, ak are nonnegative integers less than b,
and ak ≠ 0.
Example for b=10:
859 = 8⋅102 + 5⋅101 + 9⋅100
Fall 2002

CMSC 203 - Discrete

153
Representations of Integers
Example for b=2 (binary expansion):
(10110)2 = 1⋅24 + 1⋅22 + 1⋅21 = (22)10
Example for b=16 (hexadecimal expansion):
(we use letters A to F to indicate numbers 10 to 15)
(3A0F)16 = 3⋅163 + 10⋅162 + 15⋅160 = (14863)10

Fall 2002

CMSC 203 - Discrete

154
Representations of Integers
How can we construct the base b expansion of an
integer n?
First, divide n by b to obtain a quotient q0 and
remainder a0, that is,
n = bq0 + a0, where 0 ≤ a0 < b.
The remainder a0 is the rightmost digit in the base b
expansion of n.
Next, divide q0 by b to obtain:
q0 = bq1 + a1, where 0 ≤ a1 < b.
a1 is the second digit from the right in the base b
expansion of n. Continue this process until you
obtain2002
Fall a quotient equal - Discrete
CMSC 203 to zero.
155
Representations of Integers
Example:
What is the base 8 expansion of (12345)10 ?
First, divide 12345 by 8:
12345 = 8⋅1543 + 1
1543 = 8⋅192 + 7
192 = 8⋅24 + 0
24 = 8⋅3 + 0
3 = 8⋅0 + 3
The result is: (12345)10 = (30071)8.
Fall 2002

CMSC 203 - Discrete

156
Representations of Integers
procedure base_b_expansion(n, b: positive integers)
q := n
k := 0
while q ≠ 0
begin
ak := q mod b
q := q/b
k := k + 1
end
{the base b expansion of n is (ak-1 … a1a0)b }
Fall 2002

CMSC 203 - Discrete

157
Addition of Integers
Let a = (an-1an-2…a1a0)2, b = (bn-1bn-2…b1b0)2.
How can we add these two binary numbers?
First, add their rightmost bits:
a0 + b0 = c0⋅2 + s0,
where s0 is the rightmost bit in the binary
expansion of a + b, and c0 is the carry.
Then, add the next pair of bits and the carry:
a1 + b1 + c0 = c1⋅2 + s1,
where s1 is the next bit in the binary expansion of
a + b, and c1 is the carry.
Fall 2002

CMSC 203 - Discrete

158
Addition of Integers
Continue this process until you obtain cn-1.
The leading bit of the sum is sn = cn-1.
The result is:
a + b = (snsn-1…s1s0)2

Fall 2002

CMSC 203 - Discrete

159
Addition of Integers
Example:
Add a = (1110)2 and b = (1011)2.
a0 + b0 = 0 + 1 = 0⋅2 + 1, so that c0 = 0 and s0 = 1.
a1 + b1 + c0 = 1 + 1 + 0 = 1⋅2 + 0, so c1 = 1 and s1 = 0.
a2 + b2 + c1 = 1 + 0 + 1 = 1⋅2 + 0, so c2 = 1 and s2 = 0.
a3 + b3 + c2 = 1 + 1 + 1 = 1⋅2 + 1, so c3 = 1 and s3 = 1.
s4 = c3 = 1.
Therefore, s = a + b = (11001)2.
Fall 2002

CMSC 203 - Discrete

160
Addition of Integers
How do we (humans) add two integers?
Example:

1 11
7583
+ 4932

carry

1 25 1 5
Binary expansions:

1 1
(1011)2
+ (1010)2

carry

(101 01 )2
Fall 2002

CMSC 203 - Discrete

161
Addition of Integers
Let a = (an-1an-2…a1a0)2, b = (bn-1bn-2…b1b0)2.
How can we algorithmically add these two binary
numbers?
First, add their rightmost bits:
a0 + b0 = c0⋅2 + s0,
where s0 is the rightmost bit in the binary
expansion of a + b, and c0 is the carry.
Then, add the next pair of bits and the carry:
a1 + b1 + c0 = c1⋅2 + s1,
where s1 is the next bit in the binary expansion of
162
a +Fall and c1 is CMSC 203 - Discrete
b, 2002
the carry.
Addition of Integers
Continue this process until you obtain cn-1.
The leading bit of the sum is sn = cn-1.
The result is:
a + b = (snsn-1…s1s0)2

Fall 2002

CMSC 203 - Discrete

163
Addition of Integers
Example:
Add a = (1110)2 and b = (1011)2.
a0 + b0 = 0 + 1 = 0⋅2 + 1, so that c0 = 0 and s0 = 1.
a1 + b1 + c0 = 1 + 1 + 0 = 1⋅2 + 0, so c1 = 1 and s1 = 0.
a2 + b2 + c1 = 1 + 0 + 1 = 1⋅2 + 0, so c2 = 1 and s2 = 0.
a3 + b3 + c2 = 1 + 1 + 1 = 1⋅2 + 1, so c3 = 1 and s3 = 1.
s4 = c3 = 1.
Therefore, s = a + b = (11001)2.
Fall 2002

CMSC 203 - Discrete

164
Addition of Integers
procedure add(a, b: positive integers)
c := 0
for j := 0 to n-1
begin
d := (aj + bj + c)/2
sj := aj + bj + c – 2d
c := d
end
sn := c
{the binary expansion of the sum is (snsn-1…s1s0)2}
Fall 2002

CMSC 203 - Discrete

165
Let’s proceed to…

Mathematical
Reasoning

Fall 2002

CMSC 203 - Discrete

166
Mathematical Reasoning
We need mathematical reasoning to
• determine whether a mathematical argument is
correct or incorrect and
• construct mathematical arguments.
Mathematical reasoning is not only important for
conducting proofs and program verification, but
also for artificial intelligence systems (drawing
inferences).

Fall 2002

CMSC 203 - Discrete

167
Terminology
An axiom is a basic assumption about mathematical
structured that needs no proof.
We can use a proof to demonstrate that a
particular statement is true. A proof consists of a
sequence of statements that form an argument.
The steps that connect the statements in such a
sequence are the rules of inference.
Cases of incorrect reasoning are called fallacies.
A theorem is a statement that can be shown to be
true.
Fall 2002

CMSC 203 - Discrete

168
Terminology
A lemma is a simple theorem used as an
intermediate result in the proof of another
theorem.
A corollary is a proposition that follows directly
from a theorem that has been proved.
A conjecture is a statement whose truth value is
unknown. Once it is proven, it becomes a theorem.

Fall 2002

CMSC 203 - Discrete

169
Rules of Inference
Rules of inference provide the justification of
the steps used in a proof.
One important rule is called modus ponens or the
law of detachment. It is based on the tautology
(p∧(p→q)) → q. We write it in the following way:
p
p→q
____
∴q

The two hypotheses p and p → q are
written in a column, and the conclusion
below a bar, where ∴ means “therefore”.

Fall 2002

CMSC 203 - Discrete

170
Rules of Inference
The general form of a rule of inference is:
p1
p2
.
.
.
pn
____
∴q

The rule states that if p1 and p2 and …
and pn are all true, then q is true as well.
These rules of inference can be used in
any mathematical argument and do not
require any proof.

Fall 2002

CMSC 203 - Discrete

171
Rules of Inference
p
_____
Addition
∴ p ∨q

¬q
Modus
p→q
_____ tollens
∴ ¬p

p ∧q
_____
Simplification
∴p

p→q
Hypothetical
q→r
_____ syllogism
∴ p→r

p
q
_____ Conjunction
∴ p ∧q
Fall 2002

p ∨q
Disjunctive
¬p
_____ syllogism
∴q

CMSC 203 - Discrete

172
Arguments
Just like a rule of inference, an argument consists
of one or more hypotheses and a conclusion.
We say that an argument is valid, if whenever all
its hypotheses are true, its conclusion is also true.
However, if any hypothesis is false, even a valid
argument can lead to an incorrect conclusion.

Fall 2002

CMSC 203 - Discrete

173
Arguments
Example:
“If 101 is divisible by 3, then 1012 is divisible by 9.
101 is divisible by 3. Consequently, 1012 is divisible
by 9.”
Although the argument is valid, its conclusion is
incorrect, because one of the hypotheses is false
(“101 is divisible by 3.”).
If in the above argument we replace 101 with 102,
we could correctly conclude that 1022 is divisible
by 9.
Fall 2002

CMSC 203 - Discrete

174
Arguments

Which rule of inference was used in the last
argument?
p: “101 is divisible by 3.”
q: “1012 is divisible by 9.”
p
Modus
p→q
_____ ponens
∴q
Unfortunately, one of the hypotheses (p) is false.
Therefore, the conclusion q is incorrect.
Fall 2002

CMSC 203 - Discrete

175
Arguments
Another example:
“If it rains today, then we will not have a barbeque
today. If we do not have a barbeque today, then
we will have a barbeque tomorrow.
Therefore, if it rains today, then we will have a
barbeque tomorrow.”
This is a valid argument: If its hypotheses are
true, then its conclusion is also true.
Fall 2002

CMSC 203 - Discrete

176
Arguments
Let us formalize the previous argument:
p: “It is raining today.”
q: “We will not have a barbecue today.”
r: “We will have a barbecue tomorrow.”
So the argument is of the following form:
p→q
Hypothetical
q→r
_____ syllogism
∴ p→r
Fall 2002

CMSC 203 - Discrete

177
Arguments
Another example:
Gary is either intelligent or a good actor.
If Gary is intelligent, then he can count
from 1 to 10.
Gary can only count from 1 to 2.
Therefore, Gary is a good actor.
i: “Gary is intelligent.”
a: “Gary is a good actor.”
c: “Gary can count from 1 to 10.”
Fall 2002

CMSC 203 - Discrete

178
Arguments
i: “Gary is intelligent.”
a: “Gary is a good actor.”
c: “Gary can count from 1 to 10.”
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:

¬c
i→c
¬i
a∨i
a

Hypothesis
Hypothesis
Modus tollens Steps 1 & 2
Hypothesis
Disjunctive Syllogism
Steps 3 & 4

Conclusion: a (“Gary is a good actor.”)
Fall 2002

CMSC 203 - Discrete

179
Arguments
Yet another example:
If you listen to me, you will pass CS 320.
You passed CS 320.
Therefore, you have listened to me.
Is this argument valid?
No, it assumes ((p→q) ∧ q) → p.
This statement is not a tautology. It is false if p is
false and q is true.
Fall 2002

CMSC 203 - Discrete

180
Rules of Inference for Quantified Statements
∀x P(x)
__________
∴ P(c) if c∈U

Universal
instantiation

P(c) for an arbitrary c∈U
___________________
∴ ∀x P(x)

Universal
generalization

∃x P(x)
______________________
∴ P(c) for some element c∈U

Existential
instantiation

P(c) for some element c∈U
____________________
∴ ∃x P(x)

Existential
generalization

Fall 2002

CMSC 203 - Discrete

181
Rules of Inference for Quantified Statements
Example:
Every UMB student is a genius.
George is a UMB student.
Therefore, George is a genius.
U(x): “x is a UMB student.”
G(x): “x is a genius.”

Fall 2002

CMSC 203 - Discrete

182
Rules of Inference for Quantified Statements
The following steps are used in the argument:
Step 1: ∀x (U(x) → G(x))
Hypothesis
Step 2: U(George) → G(George) Univ. instantiation
using Step 1
Step 3: U(George)
Hypothesis
Step 4: G(George)
Modus ponens
using Steps 2 & 3
∀x P(x)
__________ Universal
∴ P(c) if c∈U instantiation
Fall 2002

CMSC 203 - Discrete

183
Proving Theorems
Direct proof:
An implication p→q can be proved by showing that
if p is true, then q is also true.
Example: Give a direct proof of the theorem
“If n is odd, then n2 is odd.”
Idea: Assume that the hypothesis of this
implication is true (n is odd). Then use rules of
inference and known theorems to show that q
must also be true (n2 is odd).
Fall 2002

CMSC 203 - Discrete

184
Proving Theorems
n is odd.
Then n = 2k + 1, where k is an integer.
Consequently, n2 = (2k + 1)2.
= 4k2 + 4k + 1
= 2(2k2 + 2k) + 1
Since n2 can be written in this form, it is odd.

Fall 2002

CMSC 203 - Discrete

185
Proving Theorems
Indirect proof:
An implication p→q is equivalent to its contrapositive ¬q → ¬p. Therefore, we can prove p→q
by showing that whenever q is false, then p is also
false.
Example: Give an indirect proof of the theorem
“If 3n + 2 is odd, then n is odd.”
Idea: Assume that the conclusion of this
implication is false (n is even). Then use rules of
inference and known theorems to show that p
must also be false (3n + 2 is even).
Fall 2002

CMSC 203 - Discrete

186
Proving Theorems
n is even.
Then n = 2k, where k is an integer.
It follows that 3n + 2 = 3(2k) + 2
= 6k + 2
= 2(3k + 1)
Therefore, 3n + 2 is even.
We have shown that the contrapositive of the
implication is true, so the implication itself is also
true (If 2n + 3 is odd, then n is odd).
Fall 2002

CMSC 203 - Discrete

187
Follow me for a walk through...

Mathematical
Induction

Fall 2002

CMSC 203 - Discrete

188
Induction
The principle of mathematical induction is a
useful tool for proving that a certain predicate
is true for all natural numbers.
It cannot be used to discover theorems, but
only to prove them.

Fall 2002

CMSC 203 - Discrete

189
Induction
If we have a propositional function P(n), and we
want to prove that P(n) is true for any natural
number n, we do the following:
• Show that P(0) is true.
(basis step)
• Show that if P(n) then P(n + 1) for any n∈N.
(inductive step)
• Then P(n) must be true for any n∈N.
(conclusion)
Fall 2002

CMSC 203 - Discrete

190
Induction
Example:
Show that n < 2n for all positive integers n.
Let P(n) be the proposition “n < 2n.”
1. Show that P(1) is true.
(basis step)
P(1) is true, because 1 < 21 = 2.
Fall 2002

CMSC 203 - Discrete

191
Induction
2. Show that if P(n) is true, then P(n + 1) is
true.
(inductive step)
Assume that n < 2n is true.
We need to show that P(n + 1) is true, i.e.
n + 1 < 2n+1
We start from n < 2n:
n + 1 < 2n + 1 ≤ 2n + 2n = 2n+1
Therefore, if n < 2n then n + 1 < 2n+1
Fall 2002

CMSC 203 - Discrete

192
Induction
•

Then P(n) must be true for any positive
integer.
(conclusion)

n < 2n is true for any positive integer.
End of proof.

Fall 2002

CMSC 203 - Discrete

193
Induction
Another Example (“Gauss”):
1 + 2 + … + n = n (n + 1)/2
• Show that P(0) is true.
(basis step)
For n = 0 we get 0 = 0. True.

Fall 2002

CMSC 203 - Discrete

194
Induction
•

Show that if P(n) then P(n + 1) for any n∈N.
(inductive step)

1 + 2 + … + n = n (n + 1)/2
1 + 2 + … + n + (n + 1) = n (n + 1)/2 + (n + 1)
= (2n + 2 + n (n + 1))/2
= (2n + 2 + n2 + n)/2
= (2 + 3n + n2 )/2
= (n + 1) (n + 2)/2
= (n + 1) ((n + 1) + 1)/2
Fall 2002

CMSC 203 - Discrete

195
Induction
•

Then P(n) must be true for any n∈N.
(conclusion)

1 + 2 + … + n = n (n + 1)/2 is true for all n∈N.
End of proof.

Fall 2002

CMSC 203 - Discrete

196
Induction
There is another proof technique that is very
similar to the principle of mathematical induction.
It is called the second principle of
mathematical induction.
It can be used to prove that a propositional
function P(n) is true for any natural number n.

Fall 2002

CMSC 203 - Discrete

197
Induction
The second principle of mathematical induction:
• Show that P(0) is true.
(basis step)
• Show that if P(0) and P(1) and … and P(n),
then P(n + 1) for any n∈N.
(inductive step)
• Then P(n) must be true for any n∈N.
(conclusion)

Fall 2002

CMSC 203 - Discrete

198
Induction
Example: Show that every integer greater than
1 can be written as the product of primes.
• Show that P(2) is true.
(basis step)
2 is the product of one prime: itself.

Fall 2002

CMSC 203 - Discrete

199
Induction
• Show that if P(2) and P(3) and … and P(n),
then P(n + 1) for any n∈N. (inductive step)
Two possible cases:
• If (n + 1) is prime, then obviously P(n + 1) is true.
• If (n + 1) is composite, it can be written as the
product of two integers a and b such that
2 ≤ a ≤ b < n + 1.
By the induction hypothesis, both a and b can be
written as the product of primes.
Therefore, n + 1 = a⋅b can be written as the
product of primes.
Fall 2002

CMSC 203 - Discrete

200
Induction
• Then P(n) must be true for any n∈N.
(conclusion)
End of proof.
We have shown that every integer greater
than 1 can be written as the product of primes.

Fall 2002

CMSC 203 - Discrete

201
If I told you once, it must be...

Recursion
Fall 2002

CMSC 203 - Discrete

202
Recursive Definitions
Recursion is a principle closely related to
mathematical induction.
In a recursive definition, an object is defined in
terms of itself.
We can recursively define sequences, functions
and sets.

Fall 2002

CMSC 203 - Discrete

203
Recursively Defined Sequences
Example:
The sequence {an} of powers of 2 is given by
an = 2n for n = 0, 1, 2, … .
The same sequence can also be defined
recursively:
a0 = 1
an+1 = 2an for n = 0, 1, 2, …
Obviously, induction and recursion are similar
principles.
Fall 2002

CMSC 203 - Discrete

204
Recursively Defined Functions
We can use the following method to define a
function with the natural numbers as its domain:
• Specify the value of the function at zero.
• Give a rule for finding its value at any integer
from its values at smaller integers.
Such a definition is called recursive or inductive
definition.
Fall 2002

CMSC 203 - Discrete

205
Recursively Defined Functions
Example:
f(0) = 3
f(n + 1) = 2f(n) + 3
f(0) = 3
f(1) = 2f(0) + 3 = 2⋅3 + 3 = 9
f(2) = 2f(1) + 3 = 2⋅9 + 3 = 21
f(3) = 2f(2) + 3 = 2⋅21 + 3 = 45
f(4) = 2f(3) + 3 = 2⋅45 + 3 = 93
Fall 2002

CMSC 203 - Discrete

206
Recursively Defined Functions
How can we recursively define the factorial
function f(n) = n! ?
f(0) = 1
f(n + 1) = (n + 1)f(n)
f(0) = 1
f(1) = 1f(0) = 1⋅1 = 1
f(2) = 2f(1) = 2⋅1 = 2
f(3) = 3f(2) = 3⋅2 = 6
f(4) = 4f(3) = 4⋅6 = 24
Fall 2002

CMSC 203 - Discrete

207
Recursively Defined Functions
A famous example: The Fibonacci numbers
f(0) = 0, f(1) = 1
f(n) = f(n – 1) + f(n - 2)
f(0) = 0
f(1) = 1
f(2) = f(1) + f(0) = 1 + 0 = 1
f(3) = f(2) + f(1) = 1 + 1 = 2
f(4) = f(3) + f(2) = 2 + 1 = 3
f(5) = f(4) + f(3) = 3 + 2 = 5
f(6) = f(5) + f(4) = 5 + 3 = 8
Fall 2002

CMSC 203 - Discrete

208
Recursively Defined Sets
If we want to recursively define a set, we need
to provide two things:

• an initial set of elements,
• rules for the construction of additional
elements from elements in the set.
Example: Let S be recursively defined by:
3∈S
(x + y) ∈ S if (x ∈ S) and (y ∈ S)
S is the set of positive integers divisible by 3.
Fall 2002

CMSC 203 - Discrete

209
Recursively Defined Sets
Proof:
Let A be the set of all positive integers divisible
by 3.
To show that A = S, we must show that
A ⊆ S and S ⊆ A.
Part I: To prove that A ⊆ S, we must show that
every positive integer divisible by 3 is in S.
We will use mathematical induction to show this.
Fall 2002

CMSC 203 - Discrete

210
Recursively Defined Sets
Let P(n) be the statement “3n belongs to S”.
Basis step: P(1) is true, because 3 is in S.
Inductive step: To show:
If P(n) is true, then P(n + 1) is true.
Assume 3n is in S. Since 3n is in S and 3 is in S, it
follows from the recursive definition of S that
3n + 3 = 3(n + 1) is also in S.
Conclusion of Part I: A ⊆ S.
Fall 2002

CMSC 203 - Discrete

211
Recursively Defined Sets
Part II: To show: S ⊆ A.
Basis step: To show:
All initial elements of S are in A. 3 is in A. True.
Inductive step: To show:
(x + y) is in A whenever x and y are in S.
If x and y are both in A, it follows that 3 | x and
3 | y. From Theorem I, Section 2.3, it follows
that 3 | (x + y).
Conclusion of Part II: S ⊆ A.
Overall conclusion: A = S.
Fall 2002

CMSC 203 - Discrete

212
Recursively Defined Sets
Another example:
The well-formed formulae of variables, numerals
and operators from {+, -, *, /, ^} are defined by:
x is a well-formed formula if x is a numeral or
variable.
(f + g), (f – g), (f * g), (f / g), (f ^ g) are wellformed formulae if f and g are.
Fall 2002

CMSC 203 - Discrete

213
Recursively Defined Sets
With this definition, we can construct formulae
such as:
(x – y)
((z / 3) – y)
((z / 3) – (6 + 5))
((z / (2 * 4)) – (6 + 5))

Fall 2002

CMSC 203 - Discrete

214
Recursive Algorithms
An algorithm is called recursive if it solves a
problem by reducing it to an instance of the same
problem with smaller input.
Example I: Recursive Euclidean Algorithm
procedure gcd(a, b: nonnegative integers with a < b)
if a = 0 then gcd(a, b) := b
else gcd(a, b) := gcd(b mod a, a)

Fall 2002

CMSC 203 - Discrete

215
Recursive Algorithms
Example II: Recursive Fibonacci Algorithm
procedure fibo(n: nonnegative integer)
if n = 0 then fibo(0) := 0
else if n = 1 then fibo(1) := 1
else fibo(n) := fibo(n – 1) + fibo(n – 2)

Fall 2002

CMSC 203 - Discrete

216
Recursive Algorithms
Recursive Fibonacci Evaluation:
f(4)
f(3)

f(2)

f(2)
f(1)
f(1)
Fall 2002

f(1)

f(0)

f(0)
CMSC 203 - Discrete

217
Recursive Algorithms
procedure iterative_fibo(n: nonnegative integer)
if n = 0 then y := 0
else
begin
x := 0
y := 1
for i := 1 to n-1
begin
z := x + y
x:=y
y := z
end
end {y is the n-th Fibonacci number}
Fall 2002

CMSC 203 - Discrete

218
Recursive Algorithms
For every recursive algorithm, there is an
equivalent iterative algorithm.
Recursive algorithms are often shorter, more
elegant, and easier to understand than their
iterative counterparts.
However, iterative algorithms are usually more
efficient in their use of space and time.

Fall 2002

CMSC 203 - Discrete

219
One, two, three, we’re…

Counting
Fall 2002

CMSC 203 - Discrete

220
Basic Counting Principles
Counting problems are of the following kind:
“How many different 8-letter passwords are
there?”
“How many possible ways are there to pick 11
soccer players out of a 20-player team?”
Most importantly, counting is the basis for
computing probabilities of discrete events.
(“What is the probability of winning the lottery?”)
Fall 2002

CMSC 203 - Discrete

221
Basic Counting Principles
The sum rule:
If a task can be done in n1 ways and a second task
in n2 ways, and if these two tasks cannot be done
at the same time, then there are n1 + n2 ways to do
either task.
Example:
The department will award a free computer to
either a CS student or a CS professor.
How many different choices are there, if there
are 530 students and 15 professors?
There are 530 + 15 = 545 choices.
Fall 2002

CMSC 203 - Discrete

222
Basic Counting Principles
Generalized sum rule:
If we have tasks T1, T2, …, Tm that can be done in
n1, n2, …, nm ways, respectively, and no two of these
tasks can be done at the same time, then there
are n1 + n2 + … + nm ways to do one of these tasks.

Fall 2002

CMSC 203 - Discrete

223
Basic Counting Principles
The product rule:
Suppose that a procedure can be broken down
into two successive tasks. If there are n1 ways to
do the first task and n2 ways to do the second
task after the first task has been done, then
there are n1n2 ways to do the procedure.

Fall 2002

CMSC 203 - Discrete

224
Basic Counting Principles
Example:
How many different license plates are there that
containing exactly three English letters ?
Solution:
There are 26 possibilities to pick the first letter,
then 26 possibilities for the second one, and 26
for the last one.
So there are 26⋅26⋅26 = 17576 different license
plates.
Fall 2002

CMSC 203 - Discrete

225
Basic Counting Principles
Generalized product rule:
If we have a procedure consisting of sequential
tasks T1, T2, …, Tm that can be done in n1, n2, …, nm
ways, respectively, then there are n1 ⋅ n2 ⋅ … ⋅ nm
ways to carry out the procedure.

Fall 2002

CMSC 203 - Discrete

226
Basic Counting Principles
The sum and product rules can also be phrased in
terms of set theory.
Sum rule: Let A1, A2, …, Am be disjoint sets. Then
the number of ways to choose any element from
one of these sets is |A1 ∪ A2 ∪ … ∪ Am | =
|A1| + |A2| + … + |Am|.
Product rule: Let A1, A2, …, Am be finite sets. Then
the number of ways to choose one element from
each set in the order A1, A2, …, Am is
|A1 × A2 × … × Am | = |A1| ⋅ |A2| ⋅ … ⋅ |Am|.
Fall 2002

CMSC 203 - Discrete

227
Inclusion-Exclusion
How many bit strings of length 8 either start with a
1 or end with 00?
Task 1: Construct a string of length 8 that starts
with a 1.
There is one way to pick the first bit (1),
two ways to pick the second bit (0 or 1),
two ways to pick the third bit (0 or 1),
.
.
.
two ways to pick the eighth bit (0 or 1).
Product rule: Task 1 can be done in 1⋅27 = 128 ways.
Fall 2002

CMSC 203 - Discrete

228
Inclusion-Exclusion
Task 2: Construct a string of length 8 that ends
with 00.
There are two ways to pick the first bit (0 or 1),
two ways to pick the second bit (0 or 1),
.
.
.
two ways to pick the sixth bit (0 or 1),
one way to pick the seventh bit (0), and
one way to pick the eighth bit (0).
Product rule: Task 2 can be done in 26 = 64 ways.
Fall 2002

CMSC 203 - Discrete

229
Inclusion-Exclusion
Since there are 128 ways to do Task 1 and 64 ways
to do Task 2, does this mean that there are 192 bit
strings either starting with 1 or ending with 00 ?
No, because here Task 1 and Task 2 can be done at
the same time.
When we carry out Task 1 and create strings
starting with 1, some of these strings end with 00.
Therefore, we sometimes do Tasks 1 and 2 at the
same time, so the sum rule does not apply.
Fall 2002

CMSC 203 - Discrete

230
Inclusion-Exclusion
If we want to use the sum rule in such a case, we
have to subtract the cases when Tasks 1 and 2 are
done at the same time.
How many cases are there, that is, how many
strings start with 1 and end with 00?
There is one way to pick the first bit (1),
two ways for the second, …, sixth bit (0 or 1),
one way for the seventh, eighth bit (0).
Product rule: In 25 = 32 cases, Tasks 1 and 2 are
carried out at the same time.
Fall 2002

CMSC 203 - Discrete

231
Inclusion-Exclusion
Since there are 128 ways to complete Task 1 and
64 ways to complete Task 2, and in 32 of these
cases Tasks 1 and 2 are completed at the same
time, there are
128 + 64 – 32 = 160 ways to do either task.
In set theory, this corresponds to sets A1 and A2
that are not disjoint. Then we have:
|A1 ∪ A2| = |A1| + |A2| - |A1 ∩ A2|
This is called the principle of inclusion-exclusion.
Fall 2002

CMSC 203 - Discrete

232
Tree Diagrams
How many bit strings of length four do not have
two consecutive 1s?
Task 1
Task 2
Task 3
Task 4
(1st bit)
(2nd bit)
(3rd bit)
(4th bit)
0

0

0
1
0
0
1
0
1
0

1

0
1
1

0

0
0
1

There are 8 strings.
Fall 2002

CMSC 203 - Discrete

233
The Pigeonhole Principle
The pigeonhole principle: If (k + 1) or more
objects are placed into k boxes, then there is at
least one box containing two or more of the
objects.
Example 1: If there are 11 players in a soccer
team that wins 12-0, there must be at least one
player in the team who scored at least twice.
Example 2: If you have 6 classes from Monday to
Friday, there must be at least one day on which you
have at least two classes.
Fall 2002

CMSC 203 - Discrete

234
The Pigeonhole Principle
The generalized pigeonhole principle: If N
objects are placed into k boxes, then there is at
least one box containing at least N/k of the
objects.
Example 1: In our 60-student class, at least 12
students will get the same letter grade (A, B, C, D,
or F).

Fall 2002

CMSC 203 - Discrete

235
The Pigeonhole Principle
Example 2: Assume you have a drawer containing a
random distribution of a dozen brown socks and a
dozen black socks. It is dark, so how many socks do
you have to pick to be sure that among them there
is a matching pair?
There are two types of socks, so if you pick at
least 3 socks, there must be either at least two
brown socks or at least two black socks.
Generalized pigeonhole principle: 3/2 = 2.
Fall 2002

CMSC 203 - Discrete

236
Permutations and Combinations
How many ways are there to pick a set of 3 people
from a group of 6?
There are 6 choices for the first person, 5 for the
second one, and 4 for the third one, so there are
6⋅5⋅4 = 120 ways to do this.
This is not the correct result!
For example, picking person C, then person A, and
then person E leads to the same group as first
picking E, then C, and then A.
However, these cases are counted separately in
the above equation.
Fall 2002

CMSC 203 - Discrete

237
Permutations and Combinations
So how can we compute how many different
subsets of people can be picked (that is, we want to
disregard the order of picking) ?
To find out about this, we need to look at
permutations.
A permutation of a set of distinct objects is an
ordered arrangement of these objects.
An ordered arrangement of r elements of a set is
called an r-permutation.
Fall 2002

CMSC 203 - Discrete

238
Permutations and Combinations
Example: Let S = {1, 2, 3}.
The arrangement 3, 1, 2 is a permutation of S.
The arrangement 3, 2 is a 2-permutation of S.
The number of r-permutations of a set with n
distinct elements is denoted by P(n, r).
We can calculate P(n, r) with the product rule:
P(n, r) = n⋅(n – 1)⋅(n – 2) ⋅…⋅(n – r + 1).
(n choices for the first element, (n – 1) for the
second one, (n – 2) for the third one…)
Fall 2002

CMSC 203 - Discrete

239
Permutations and Combinations
Example:
P(8, 3) = 8⋅7⋅6 = 336
= (8⋅7⋅6⋅5⋅4⋅3⋅2⋅1)/(5⋅4⋅3⋅2⋅1)
General formula:
P(n, r) = n!/(n – r)!
Knowing this, we can return to our initial question:
How many ways are there to pick a set of 3 people
from a group of 6 (disregarding the order of
picking)?
Fall 2002

CMSC 203 - Discrete

240
Permutations and Combinations
An r-combination of elements of a set is an
unordered selection of r elements from the set.
Thus, an r-combination is simply a subset of the set
with r elements.
Example: Let S = {1, 2, 3, 4}.
Then {1, 3, 4} is a 3-combination from S.
The number of r-combinations of a set with n
distinct elements is denoted by C(n, r).
Example: C(4, 2) = 6, since, for example, the 2combinations of a set {1, 2, 3, 4} are {1, 2}, {1, 3}, {1,
4}, {2, 3}, {2, 4}, {3, 4}.
Fall 2002

CMSC 203 - Discrete

241
Permutations and Combinations
How can we calculate C(n, r)?
Consider that we can obtain the r-permutation of a
set in the following way:
First, we form all the r-combinations of the set
(there are C(n, r) such r-combinations).
Then, we generate all possible orderings in each of
these r-combinations (there are P(r, r) such
orderings in each case).
Therefore, we have:
P(n, r) = C(n, r)⋅P(r, r)
Fall 2002

CMSC 203 - Discrete

242
Permutations and Combinations
C(n, r) = P(n, r)/P(r, r)
= n!/(n – r)!/(r!/(r – r)!)
= n!/(r!(n – r)!)
Now we can answer our initial question:
How many ways are there to pick a set of 3 people
from a group of 6 (disregarding the order of
picking)?
C(6, 3) = 6!/(3!⋅3!) = 720/(6⋅6) = 720/36 = 20
There are 20 different ways, that is, 20 different
groups to be picked.
Fall 2002

CMSC 203 - Discrete

243
Permutations and Combinations
Corollary:
Let n and r be nonnegative integers with r ≤ n.
Then C(n, r) = C(n, n – r).
Note that “picking a group of r people from a
group of n people” is the same as “splitting a group
of n people into a group of r people and another
group of (n – r) people”.
Please also look at proof on page 252.

Fall 2002

CMSC 203 - Discrete

244
Permutations and Combinations
Example:
A soccer club has 8 female and 7 male members.
For today’s match, the coach wants to have 6
female and 5 male players on the grass. How many
possible configurations are there?
C(8, 6) ⋅ C(7, 5) = 8!/(6!⋅2!) ⋅ 7!/(5!⋅2!)
= 28⋅21
= 588

Fall 2002

CMSC 203 - Discrete

245
Combinations
We also saw the following:

n!
n!
C (n, n − r ) =
=
= C (n, r )
(n − r )![n − (n − r )]! (n − r )!r!

This symmetry is intuitively plausible. For example,
let us consider a set containing six elements (n = 6).
Picking two elements and leaving four is essentially
the same as picking four elements and leaving two.
In either case, our number of choices is the
number of possibilities to divide the set into one
set containing two elements and another set
containing four elements.
Fall 2002

CMSC 203 - Discrete

246
Combinations
Pascal’s Identity:
Let n and k be positive integers with n ≥ k.
Then C(n + 1, k) = C(n, k – 1) + C(n, k).
How can this be explained?
What is it good for?

Fall 2002

CMSC 203 - Discrete

247
Combinations
Imagine a set S containing n elements and a set T
containing (n + 1) elements, namely all elements in
S plus a new element a.
Calculating C(n + 1, k) is equivalent to answering
the question: How many subsets of T containing k
items are there?
Case I: The subset contains (k – 1) elements of S
plus the element a: C(n, k – 1) choices.
Case II: The subset contains k elements of S and
does not contain a: C(n, k) choices.
Sum Rule: C(n + 1, k) = C(n, k – 1) + C(n, k).
Fall 2002

CMSC 203 - Discrete

248
Pascal’s Triangle
In Pascal’s triangle, each number is the sum of
the numbers to its upper left and upper right:
1
1
1
1
1
…
Fall 2002

2
3

4
…

1
1
3
6

…

1
4

…

CMSC 203 - Discrete

1
…

…
249
Pascal’s Triangle
Since we have C(n + 1, k) = C(n, k – 1) + C(n, k) and
C(0, 0) = 1, we can use Pascal’s triangle to simplify
the computation of C(n, k):
k
C(0, 0) = 1
C(1, 0) = 1 C(1, 1) = 1

n

C(2, 0) = 1 C(2, 1) = 2 C(2, 2) = 1
C(3, 0) = 1 C(3, 1) = 3 C(3, 2) = 3 C(3, 3) = 1
C(4, 0) = 1 C(4, 1) = 4 C(4, 2) = 6 C(4, 3) = 4 C(4, 4) = 1
Fall 2002

CMSC 203 - Discrete

250
Binomial Coefficients
Expressions of the form C(n, k) are also called
binomial coefficients.
How come?
A binomial expression is the sum of two terms,
such as (a + b).
Now consider (a + b)2 = (a + b)(a + b).
When expanding such expressions, we have to
form all possible products of a term in the first
factor and a term in the second factor:
(a + b)2 = a·a + a·b + b·a + b·b
Then we can sum identical terms:
(a + b)2 = a2 + 2ab + b2
Fall 2002

CMSC 203 - Discrete

251
Binomial Coefficients
For (a + b)3 = (a + b)(a + b)(a + b) we have
(a + b)3 = aaa + aab + aba + abb + baa + bab + bba + bbb
(a + b)3 = a3 + 3a2b + 3ab2 + b3
There is only one term a3, because there is only one
possibility to form it: Choose a from all three
factors: C(3, 3) = 1.
There is three times the term a2b, because there
are three possibilities to choose a from two out of
the three factors: C(3, 2) = 3.
Similarly, there is three times the term ab2
(C(3, 1) = 3) and once the term b3 (C(3, 0) = 1).
Fall 2002

CMSC 203 - Discrete

252
Binomial Coefficients
This leads us to the following formula:
n

( a + b ) n = ∑ C ( n, j ) ⋅ a n − j b j

(Binomial Theorem)

j =0

With the help of Pascal’s triangle, this formula can
considerably simplify the process of expanding powers of
binomial expressions.
For example, the fifth row of Pascal’s triangle
(1 – 4 – 6 – 4 – 1) helps us to compute (a + b)4:
(a + b)4 = a4 + 4a3b + 6a2b2 + 4ab3 + b4

Fall 2002

CMSC 203 - Discrete

253
Now it’s Time for…

Recurrence
Relations

Fall 2002

CMSC 203 - Discrete

254
Recurrence Relations
A recurrence relation for the sequence {an} is an
equation that expresses an is terms of one or
more of the previous terms of the sequence,
namely, a0, a1, …, an-1, for all integers n with
n ≥ n0, where n0 is a nonnegative integer.
A sequence is called a solution of a recurrence
relation if it terms satisfy the recurrence
relation.
Fall 2002

CMSC 203 - Discrete

255
Recurrence Relations
In other words, a recurrence relation is like a
recursively defined sequence, but without
specifying any initial values (initial conditions).
Therefore, the same recurrence relation can have
(and usually has) multiple solutions.
If both the initial conditions and the recurrence
relation are specified, then the sequence is
uniquely determined.
Fall 2002

CMSC 203 - Discrete

256
Recurrence Relations
Example:
Consider the recurrence relation
an = 2an-1 – an-2 for n = 2, 3, 4, …
Is the sequence {an} with an=3n a solution of this
recurrence relation?
For n ≥ 2 we see that
2an-1 – an-2 = 2(3(n – 1)) – 3(n – 2) = 3n = an.
Therefore, {an} with an=3n is a solution of the
recurrence relation.
Fall 2002

CMSC 203 - Discrete

257
Recurrence Relations
Is the sequence {an} with an=5 a solution of the
same recurrence relation?
For n ≥ 2 we see that
2an-1 – an-2 = 2⋅5 - 5 = 5 = an.
Therefore, {an} with an=5 is also a solution of the
recurrence relation.

Fall 2002

CMSC 203 - Discrete

258
Modeling with Recurrence Relations
Example:
Someone deposits $10,000 in a savings account at
a bank yielding 5% per year with interest
compounded annually. How much money will be in
the account after 30 years?
Solution:
Let Pn denote the amount in the account after n
years.
How can we determine Pn on the basis of Pn-1?
Fall 2002

CMSC 203 - Discrete

259
Modeling with Recurrence Relations
We can derive the following recurrence relation:
Pn = Pn-1 + 0.05Pn-1 = 1.05Pn-1.
The initial condition is P0 = 10,000.
Then we have:
P1 = 1.05P0
P2 = 1.05P1 = (1.05)2P0
P3 = 1.05P2 = (1.05)3P0
…
Pn = 1.05Pn-1 = (1.05)nP0
We now have a formula to calculate Pn for any
Fall 2002
CMSC 203 - Discrete
260
natural number n and can avoid the iteration.
Modeling with Recurrence Relations
Let us use this formula to find P30 under the
initial condition P0 = 10,000:
P30 = (1.05)30⋅10,000 = 43,219.42

After 30 years, the account contains $43,219.42.

Fall 2002

CMSC 203 - Discrete

261
Modeling with Recurrence Relations
Another example:
Let an denote the number of bit strings of length
n that do not have two consecutive 0s (“valid
strings”). Find a recurrence relation and give
initial conditions for the sequence {an}.
Solution:
Idea: The number of valid strings equals the
number of valid strings ending with a 0 plus the
number of valid strings ending with a 1.
Fall 2002

CMSC 203 - Discrete

262
Modeling with Recurrence Relations
Let us assume that n ≥ 3, so that the string
contains at least 3 bits.
Let us further assume that we know the number
an-1 of valid strings of length (n – 1).
Then how many valid strings of length n are there,
if the string ends with a 1?
There are an-1 such strings, namely the set of valid
strings of length (n – 1) with a 1 appended to
them.
Note: Whenever we append a 1 to a valid string,
that string remains valid.
Fall 2002

CMSC 203 - Discrete

263
Modeling with Recurrence Relations
Now we need to know: How many valid strings of
length n are there, if the string ends with a 0?
Valid strings of length n ending with a 0 must
have a 1 as their (n – 1)st bit (otherwise they
would end with 00 and would not be valid).
And what is the number of valid strings of length
(n – 1) that end with a 1?
We already know that there are an-1 strings of
length n that end with a 1.
Therefore, there are an-2 strings of length (n – 1)
that end with a 1.
Fall 2002

CMSC 203 - Discrete

264
Modeling with Recurrence Relations
So there are an-2 valid strings of length n that end
with a 0 (all valid strings of length (n – 2) with 10
appended to them).
As we said before, the number of valid strings is
the number of valid strings ending with a 0 plus
the number of valid strings ending with a 1.
That gives us the following recurrence relation:
an = an-1 + an-2
Fall 2002

CMSC 203 - Discrete

265
Modeling with Recurrence Relations
What are the initial conditions?
a1 = 2 (0 and 1)
a2 = 3 (01, 10, and 11)
a3 = a2 + a1 = 3 + 2 = 5
a4 = a3 + a2 = 5 + 3 = 8
a5 = a4 + a3 = 8 + 5 = 13
…
This sequence satisfies the same recurrence
relation as the Fibonacci sequence.
Since a1 = f3 and a2 = f4, we have an = fn+2.
Fall 2002

CMSC 203 - Discrete

266
Solving Recurrence Relations
In general, we would prefer to have an explicit
formula to compute the value of an rather than
conducting n iterations.
For one class of recurrence relations, we can
obtain such formulas in a systematic way.
Those are the recurrence relations that express
the terms of a sequence as linear combinations of
previous terms.

Fall 2002

CMSC 203 - Discrete

267
Solving Recurrence Relations
Definition: A linear homogeneous recurrence
relation of degree k with constant coefficients is
a recurrence relation of the form:
an = c1an-1 + c2an-2 + … + ckan-k,
Where c1, c2, …, ck are real numbers, and ck ≠ 0.
A sequence satisfying such a recurrence relation
is uniquely determined by the recurrence relation
and the k initial conditions
a0 = C0, a1 = C1, a2 = C2, …, ak-1 = Ck-1.
Fall 2002

CMSC 203 - Discrete

268
Solving Recurrence Relations
Examples:
The recurrence relation Pn = (1.05)Pn-1
is a linear homogeneous recurrence relation of
degree one.
The recurrence relation fn = fn-1 + fn-2
is a linear homogeneous recurrence relation of
degree two.
The recurrence relation an = an-5
is a linear homogeneous recurrence relation of
degree five.
Fall 2002

CMSC 203 - Discrete

269
Solving Recurrence Relations
Basically, when solving such recurrence relations,
we try to find solutions of the form an = rn, where
r is a constant.
an = rn is a solution of the recurrence relation
an = c1an-1 + c2an-2 + … + ckan-k if and only if
rn = c1rn-1 + c2rn-2 + … + ckrn-k.
Divide this equation by rn-k and subtract the righthand side from the left:
rk - c1rk-1 - c2rk-2 - … - ck-1r - ck = 0
This is called the characteristic equation of the
recurrence relation.
Fall 2002

CMSC 203 - Discrete

270
Solving Recurrence Relations
The solutions of this equation are called the
characteristic roots of the recurrence relation.
Let us consider linear homogeneous recurrence
relations of degree two.
Theorem: Let c1 and c2 be real numbers. Suppose
that r2 – c1r – c2 = 0 has two distinct roots r1 and r2.
Then the sequence {an} is a solution of the
recurrence relation an = c1an-1 + c2an-2 if and only if an =
α1r1n + α2r2n for n = 0, 1, 2, …, where α1 and α2 are
constants.
See pp. 321 and 322 for the proof.
Fall 2002

CMSC 203 - Discrete

271
Solving Recurrence Relations
Example: What is the solution of the recurrence
relation an = an-1 + 2an-2 with a0 = 2 and a1 = 7 ?
Solution: The characteristic equation of the
recurrence relation is r2 – r – 2 = 0.
Its roots are r = 2 and r = -1.
Hence, the sequence {an} is a solution to the
recurrence relation if and only if:
an = α12n + α2(-1)n for some constants α1 and α2.
Fall 2002

CMSC 203 - Discrete

272
Solving Recurrence Relations
Given the equation an = α12n + α2(-1)n and the initial
conditions a0 = 2 and a1 = 7, it follows that
a0 = 2 = α1 + α2
a1 = 7 = α1⋅2 + α2 ⋅(-1)
Solving these two equations gives us
α1 = 3 and α2 = -1.
Therefore, the solution to the recurrence relation
and initial conditions is the sequence {an} with
an = 3⋅2n – (-1)n.
Fall 2002

CMSC 203 - Discrete

273
Solving Recurrence Relations
an = rn is a solution of the linear homogeneous
recurrence relation
an = c1an-1 + c2an-2 + … + ckan-k
if and only if
rn = c1rn-1 + c2rn-2 + … + ckrn-k.
Divide this equation by rn-k and subtract the righthand side from the left:
rk - c1rk-1 - c2rk-2 - … - ck-1r - ck = 0
This is called the characteristic equation of the
recurrence relation.
Fall 2002

CMSC 203 - Discrete

274
Solving Recurrence Relations
The solutions of this equation are called the
characteristic roots of the recurrence relation.
Let us consider linear homogeneous recurrence
relations of degree two.
Theorem: Let c1 and c2 be real numbers. Suppose
that r2 – c1r – c2 = 0 has two distinct roots r1 and r2.
Then the sequence {an} is a solution of the
recurrence relation an = c1an-1 + c2an-2 if and only if an =
α1r1n + α2r2n for n = 0, 1, 2, …, where α1 and α2 are
constants.
See pp. 321 and 322 for the proof.
Fall 2002

CMSC 203 - Discrete

275
Solving Recurrence Relations
Example: Give an explicit formula for the Fibonacci
numbers.
Solution: The Fibonacci numbers satisfy the
recurrence relation fn = fn-1 + fn-2 with initial conditions
f0 = 0 and f1 = 1.
The characteristic equation is r2 – r – 1 = 0.
Its roots are
1+ 5
1− 5
r1 =
, r2 =
2
2
Fall 2002

CMSC 203 - Discrete

276
Solving Recurrence Relations
Therefore, the Fibonacci numbers are given by
n

n

1+ 5 
1− 5 
 + α2

f n = α1 
 2 
 2 




for some constants α1 and α2.
We can determine values for these constants so
that the sequence meets the conditions f0 = 0 and
f1 = 1:
f 0 = α1 + α 2 = 0
1+ 5 
1− 5 
 + α2
 =1
f1 = α1 
 2 
 2 




Fall 2002

CMSC 203 - Discrete

277
Solving Recurrence Relations
The unique solution to this system of two
equations and two variables is
1
1
α1 =
, α2 = −
5
5
So finally we obtained an explicit formula for the
Fibonacci numbers:
n

1 1+ 5 
1 1− 5 

 −


fn =
5 2 
5 2 




Fall 2002

n

CMSC 203 - Discrete

278
Solving Recurrence Relations
But what happens if the characteristic equation
has only one root?
How can we then match our equation with the initial
conditions a0 and a1 ?
Theorem: Let c1 and c2 be real numbers with c2 ≠ 0.
Suppose that r2 – c1r – c2 = 0 has only one root r0.
A sequence {an} is a solution of the recurrence
relation an = c1an-1 + c2an-2 if and only if
an = α1r0n + α2nr0n, for n = 0, 1, 2, …, where α1 and α2
are constants.
Fall 2002

CMSC 203 - Discrete

279
Solving Recurrence Relations
Example: What is the solution of the recurrence
relation an = 6an-1 – 9an-2 with a0 = 1 and a1 = 6?
Solution: The only root of r2 – 6r + 9 = 0 is r0 = 3.
Hence, the solution to the recurrence relation is
an = α13n + α2n3n for some constants α1 and α2.
To match the initial condition, we need
a0 = 1 = α1
a1 = 6 = α1⋅3 + α2⋅3
Solving these equations yields α1 = 1 and α2 = 1.
Consequently, the overall solution is given by
an = 3n 2002 n. CMSC 203 - Discrete
Fall + n3
280
You Never Escape Your…

Relations
Fall 2002

CMSC 203 - Discrete

281
Relations
If we want to describe a relationship between
elements of two sets A and B, we can use ordered
pairs with their first element taken from A and
their second element taken from B.
Since this is a relation between two sets, it is
called a binary relation.
Definition: Let A and B be sets. A binary relation
from A to B is a subset of A×B.
In other words, for a binary relation R we have
R ⊆ A×B. We use the notation aRb to denote that
(a, b)∈R and aRb to denote that (a, b)∉R.
a
Fall 2002

CMSC 203 - Discrete

282
Relations

When (a, b) belongs to R, a is said to be related to
b by R.
Example: Let P be a set of people, C be a set of
cars, and D be the relation describing which person
drives which car(s).
P = {Carl, Suzanne, Peter, Carla},
C = {Mercedes, BMW, tricycle}
D = {(Carl, Mercedes), (Suzanne, Mercedes),
(Suzanne, BMW), (Peter, tricycle)}
This means that Carl drives a Mercedes, Suzanne
drives a Mercedes and a BMW, Peter drives a
tricycle, and Carla does not drive any of these
vehicles.
Fall 2002

CMSC 203 - Discrete

283
Functions as Relations
You might remember that a function f from a set A
to a set B assigns a unique element of B to each
element of A.
The graph of f is the set of ordered pairs (a, b)
such that b = f(a).
Since the graph of f is a subset of A×B, it is a
relation from A to B.
Moreover, for each element a of A, there is
exactly one ordered pair in the graph that has a as
its first element.
Fall 2002

CMSC 203 - Discrete

284
Functions as Relations
Conversely, if R is a relation from A to B such that
every element in A is the first element of exactly
one ordered pair of R, then a function can be
defined with R as its graph.
This is done by assigning to an element a∈A the
unique element b∈B such that (a, b)∈R.

Fall 2002

CMSC 203 - Discrete

285
Relations on a Set
Definition: A relation on the set A is a relation
from A to A.
In other words, a relation on the set A is a subset
of A×A.
Example: Let A = {1, 2, 3, 4}. Which ordered pairs
are in the relation R = {(a, b) | a < b} ?

Fall 2002

CMSC 203 - Discrete

286
Relations on a Set
Solution: R = { (1, 2), (1, 3), (1, 4), (2, 3),(2, 4),(3, 4)}
1

1

R
1

2

2

3

3

2

3

4

X

X

X

X

X

3

4

1

4

4
Fall 2002

2

CMSC 203 - Discrete

X

287
Relations on a Set

How many different relations can we define on
a set A with n elements?
A relation on a set A is a subset of A×A.
How many elements are in A×A ?
There are n2 elements in A×A, so how many
subsets (= relations on A) does A×A have?
The number of subsets that we can form out of a
m
n2
set with m elements is 2 . Therefore, 2 subsets
can be formed out of A×A.
2

Answer: We can define 2n 2 different relations
on A.
Fall 2002

CMSC 203 - Discrete

288
Properties of Relations

We will now look at some useful ways to classify
relations.
Definition: A relation R on a set A is called
reflexive if (a, a)∈R for every element a∈A.
Are the following relations on {1, 2, 3, 4} reflexive?
R = {(1, 1), (1, 2), (2, 3), (3, 3), (4, 4)}
R = {(1, 1), (2, 2), (2, 3), (3, 3), (4, 4)}
R = {(1, 1), (2, 2), (3, 3)}

No.
Yes.
No.

Definition: A relation on a set A is called
irreflexive if (a, a)∉R for every element a∈A.
Fall 2002

CMSC 203 - Discrete

289
Properties of Relations
Definitions:
A relation R on a set A is called symmetric if (b,
a)∈R whenever (a, b)∈R for all a, b∈A.
A relation R on a set A is called antisymmetric if
a = b whenever (a, b)∈R and (b, a)∈R.
A relation R on a set A is called asymmetric if
(a, b)∈R implies that (b, a)∉R for all a, b∈A.

Fall 2002

CMSC 203 - Discrete

290
Properties of Relations
Are the following relations on {1, 2, 3, 4}
symmetric, antisymmetric, or asymmetric?
R = {(1, 1), (1, 2), (2, 1), (3, 3), (4, 4)}
R = {(1, 1)}

symmetric
sym. and
antisym.

R = {(1, 3), (3, 2), (2, 1)}

antisym.
and asym.

R = {(4, 4), (3, 3), (1, 4)}

antisym.

Fall 2002

CMSC 203 - Discrete

291
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Discrete Mathematics - All chapters

Mais conteúdo relacionado

Mais procurados

Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskritsaid zulhelmi
 
Aljabar 3-struktur-aljabar
Aljabar 3-struktur-aljabarAljabar 3-struktur-aljabar
Aljabar 3-struktur-aljabarmaman wijaya
 
Pertemuan 02 teori dasar himpunan
Pertemuan 02   teori dasar himpunanPertemuan 02   teori dasar himpunan
Pertemuan 02 teori dasar himpunanFajar Istiqomah
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-finalModul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-finalRamla Lamantha
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & TautologiHuzairi Zairi
 
Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03KuliahKita
 
Relasi dan Fungsi ppt
Relasi dan Fungsi pptRelasi dan Fungsi ppt
Relasi dan Fungsi pptNur Halimah
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
PPT SISTEM PERSAMAAN LINEAR DUA VARIABEL
PPT SISTEM PERSAMAAN LINEAR DUA VARIABELPPT SISTEM PERSAMAAN LINEAR DUA VARIABEL
PPT SISTEM PERSAMAAN LINEAR DUA VARIABELnungkir
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan PembuktianFahrul Usman
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusEman Mendrofa
 
BAB 1_Pertemuan 2.pdf
BAB 1_Pertemuan 2.pdfBAB 1_Pertemuan 2.pdf
BAB 1_Pertemuan 2.pdfRidhaEkaPutri
 

Mais procurados (20)

Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Aljabar 3-struktur-aljabar
Aljabar 3-struktur-aljabarAljabar 3-struktur-aljabar
Aljabar 3-struktur-aljabar
 
Pertemuan 02 teori dasar himpunan
Pertemuan 02   teori dasar himpunanPertemuan 02   teori dasar himpunan
Pertemuan 02 teori dasar himpunan
 
Pembuktian dalam matematika
Pembuktian dalam matematikaPembuktian dalam matematika
Pembuktian dalam matematika
 
AKM SPLDV - Pertemuan 2
AKM SPLDV - Pertemuan 2AKM SPLDV - Pertemuan 2
AKM SPLDV - Pertemuan 2
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Ring
RingRing
Ring
 
8 logika predikat
8  logika predikat8  logika predikat
8 logika predikat
 
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-finalModul bahan-ajar-kecerdasan-buatan-ptiik-final
Modul bahan-ajar-kecerdasan-buatan-ptiik-final
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
 
Struktur aljabar-2
Struktur aljabar-2Struktur aljabar-2
Struktur aljabar-2
 
Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03Matematika Diskrit - 06 relasi dan fungsi - 03
Matematika Diskrit - 06 relasi dan fungsi - 03
 
Relasi dan Fungsi ppt
Relasi dan Fungsi pptRelasi dan Fungsi ppt
Relasi dan Fungsi ppt
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
PPT SISTEM PERSAMAAN LINEAR DUA VARIABEL
PPT SISTEM PERSAMAAN LINEAR DUA VARIABELPPT SISTEM PERSAMAAN LINEAR DUA VARIABEL
PPT SISTEM PERSAMAAN LINEAR DUA VARIABEL
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
 
BAB 1_Pertemuan 2.pdf
BAB 1_Pertemuan 2.pdfBAB 1_Pertemuan 2.pdf
BAB 1_Pertemuan 2.pdf
 

Destaque

Work Hacks : Body Language
Work Hacks : Body LanguageWork Hacks : Body Language
Work Hacks : Body LanguageInterQuest Group
 
Top Office Etiquette Mistakes
Top Office Etiquette MistakesTop Office Etiquette Mistakes
Top Office Etiquette Mistakesej4video
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaChris Lema
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageGiuseppe Arici
 
Discrete Mathematics Lecture
Discrete Mathematics LectureDiscrete Mathematics Lecture
Discrete Mathematics LectureGenie Rose Santos
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessJonathon Colman
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1 Ali Usman
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Emiland
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
The Ultimate Guide to Creating Visually Appealing Content
The Ultimate Guide to Creating Visually Appealing ContentThe Ultimate Guide to Creating Visually Appealing Content
The Ultimate Guide to Creating Visually Appealing ContentNeil Patel
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 

Destaque (20)

Work Hacks : Body Language
Work Hacks : Body LanguageWork Hacks : Body Language
Work Hacks : Body Language
 
Top Office Etiquette Mistakes
Top Office Etiquette MistakesTop Office Etiquette Mistakes
Top Office Etiquette Mistakes
 
Osce obstetrics for undergraduate
Osce obstetrics for undergraduateOsce obstetrics for undergraduate
Osce obstetrics for undergraduate
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Discrete Mathematics Lecture
Discrete Mathematics LectureDiscrete Mathematics Lecture
Discrete Mathematics Lecture
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
 
Building maintenance
Building maintenanceBuilding maintenance
Building maintenance
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
The Ultimate Guide to Creating Visually Appealing Content
The Ultimate Guide to Creating Visually Appealing ContentThe Ultimate Guide to Creating Visually Appealing Content
The Ultimate Guide to Creating Visually Appealing Content
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 

Semelhante a Discrete Mathematics - All chapters

Semelhante a Discrete Mathematics - All chapters (20)

dma_ppt.pdf
dma_ppt.pdfdma_ppt.pdf
dma_ppt.pdf
 
Ch01-1.pdf
Ch01-1.pdfCh01-1.pdf
Ch01-1.pdf
 
Ch01-1.ppt
Ch01-1.pptCh01-1.ppt
Ch01-1.ppt
 
Ch01-1.ppt
Ch01-1.pptCh01-1.ppt
Ch01-1.ppt
 
Logic DM
Logic DMLogic DM
Logic DM
 
C2.0 propositional logic
C2.0 propositional logicC2.0 propositional logic
C2.0 propositional logic
 
Logic
LogicLogic
Logic
 
Discrete Math Lecture 02: First Order Logic
Discrete Math Lecture 02: First Order LogicDiscrete Math Lecture 02: First Order Logic
Discrete Math Lecture 02: First Order Logic
 
Propositional Logic and Pridicate logic
Propositional Logic and Pridicate logicPropositional Logic and Pridicate logic
Propositional Logic and Pridicate logic
 
1606751772-ds-lecture-6.ppt
1606751772-ds-lecture-6.ppt1606751772-ds-lecture-6.ppt
1606751772-ds-lecture-6.ppt
 
Discreate structure presentation introduction
Discreate structure presentation introductionDiscreate structure presentation introduction
Discreate structure presentation introduction
 
Is unit 4_number_theory
Is unit 4_number_theoryIs unit 4_number_theory
Is unit 4_number_theory
 
Predicate Logic
Predicate LogicPredicate Logic
Predicate Logic
 
Course notes1
Course notes1Course notes1
Course notes1
 
Chapter 01 - p2.pdf
Chapter 01 - p2.pdfChapter 01 - p2.pdf
Chapter 01 - p2.pdf
 
Lecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inferenceLecture 2 predicates quantifiers and rules of inference
Lecture 2 predicates quantifiers and rules of inference
 
Course notes2summer2012
Course notes2summer2012Course notes2summer2012
Course notes2summer2012
 
Algorithmic foundations.docx
Algorithmic foundations.docxAlgorithmic foundations.docx
Algorithmic foundations.docx
 
Discrete Structure Lecture #5 & 6.pdf
Discrete Structure Lecture #5 & 6.pdfDiscrete Structure Lecture #5 & 6.pdf
Discrete Structure Lecture #5 & 6.pdf
 
Ch01
Ch01Ch01
Ch01
 

Último

IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest2
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.NaveedKhaskheli1
 
15042024_First India Newspaper Jaipur.pdf
15042024_First India Newspaper Jaipur.pdf15042024_First India Newspaper Jaipur.pdf
15042024_First India Newspaper Jaipur.pdfFIRST INDIA
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdfFIRST INDIA
 
Political-Ideologies-and-The-Movements.pptx
Political-Ideologies-and-The-Movements.pptxPolitical-Ideologies-and-The-Movements.pptx
Political-Ideologies-and-The-Movements.pptxSasikiranMarri
 
Foreign Relation of Pakistan with Neighboring Countries.pptx
Foreign Relation of Pakistan with Neighboring Countries.pptxForeign Relation of Pakistan with Neighboring Countries.pptx
Foreign Relation of Pakistan with Neighboring Countries.pptxunark75
 
Geostrategic significance of South Asian countries.ppt
Geostrategic significance of South Asian countries.pptGeostrategic significance of South Asian countries.ppt
Geostrategic significance of South Asian countries.pptUsmanKaran
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeAbdulGhani778830
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdfGerald Furnkranz
 

Último (9)

IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global News
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.
 
15042024_First India Newspaper Jaipur.pdf
15042024_First India Newspaper Jaipur.pdf15042024_First India Newspaper Jaipur.pdf
15042024_First India Newspaper Jaipur.pdf
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf
 
Political-Ideologies-and-The-Movements.pptx
Political-Ideologies-and-The-Movements.pptxPolitical-Ideologies-and-The-Movements.pptx
Political-Ideologies-and-The-Movements.pptx
 
Foreign Relation of Pakistan with Neighboring Countries.pptx
Foreign Relation of Pakistan with Neighboring Countries.pptxForeign Relation of Pakistan with Neighboring Countries.pptx
Foreign Relation of Pakistan with Neighboring Countries.pptx
 
Geostrategic significance of South Asian countries.ppt
Geostrategic significance of South Asian countries.pptGeostrategic significance of South Asian countries.ppt
Geostrategic significance of South Asian countries.ppt
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for Justice
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf
 

Discrete Mathematics - All chapters

  • 1. Let’s get started with... Logic! Fall 2002 CMSC 203 - Discrete 1
  • 2. Logic • Crucial for mathematical reasoning • Used for designing electronic circuitry • Logic is a system based on propositions. • A proposition is a statement that is either true or false (not both). • We say that the truth value of a proposition is either true (T) or false (F). • Corresponds to 1 and 0 in digital circuits Fall 2002 CMSC 203 - Discrete 2
  • 3. The Statement/Proposition Game “Elephants are bigger than mice.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? true Fall 2002 CMSC 203 - Discrete 3
  • 4. The Statement/Proposition Game “520 < 111” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? false Fall 2002 CMSC 203 - Discrete 4
  • 5. The Statement/Proposition Game “y > 5” Is this a statement? yes Is this a proposition? no Its truth value depends on the value of y, but this value is not specified. We call this type of statement a propositional function or open sentence. Fall 2002 CMSC 203 - Discrete 5
  • 6. The Statement/Proposition Game “Today is January 1 and 99 < 5.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? false Fall 2002 CMSC 203 - Discrete 6
  • 7. The Statement/Proposition Game “Please do not fall asleep.” Is this a statement? no It’s a request. Is this a proposition? no Only statements can be propositions. Fall 2002 CMSC 203 - Discrete 7
  • 8. The Statement/Proposition Game “If elephants were red, they could hide in cherry trees.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? probably false Fall 2002 CMSC 203 - Discrete 8
  • 9. The Statement/Proposition Game “x < y if and only if y > x.” Is this a statement? yes Is this a proposition? yes … because its truth value does not depend on specific values of x and y. What is the truth value of the proposition? Fall 2002 CMSC 203 - Discrete true 9
  • 10. Combining Propositions As we have seen in the previous examples, one or more propositions can be combined to form a single compound proposition. We formalize this by denoting propositions with letters such as p, q, r, s, and introducing several logical operators. Fall 2002 CMSC 203 - Discrete 10
  • 11. Logical Operators (Connectives) We will examine the following logical operators: • • • • • • Negation Conjunction Disjunction Exclusive or Implication Biconditional (NOT) (AND) (OR) (XOR) (if – then) (if and only if) Truth tables can be used to show how these operators can combine propositions to compound propositions. Fall 2002 CMSC 203 - Discrete 11
  • 12. Negation (NOT) Unary Operator, Symbol: ¬ P true (T) false (F) false (F) Fall 2002 ¬P true (T) CMSC 203 - Discrete 12
  • 13. Conjunction (AND) Binary Operator, Symbol: ∧ P T P∧Q T T F F F T F F Fall 2002 Q T F F CMSC 203 - Discrete 13
  • 14. Disjunction (OR) Binary Operator, Symbol: ∨ P T P∨ Q T T F T F T T F Fall 2002 Q T F F CMSC 203 - Discrete 14
  • 15. Exclusive Or (XOR) Binary Operator, Symbol: ⊕ P T P⊕ Q F T F T F T T F Fall 2002 Q T F F CMSC 203 - Discrete 15
  • 16. Implication (if - then) Binary Operator, Symbol: → P T P→ Q T T F F F T T F Fall 2002 Q T F T CMSC 203 - Discrete 16
  • 17. Biconditional (if and only if) Binary Operator, Symbol: ↔ P T P↔ Q T T F F F T F F Fall 2002 Q T F T CMSC 203 - Discrete 17
  • 18. Statements and Operators Statements and operators can be combined in any way to form new statements. P T Q T ¬P F T F F T T F T T F T F F T T T CMSC 203 - Discrete 18 Fall 2002 ¬Q (¬P)∨(¬Q) F F
  • 19. Statements and Operations Statements and operators can be combined in any way to form new statements. P T Q T T F F T T F T F T T F F F T T Fall 2002 P∧Q ¬ (P∧Q) (¬P)∨(¬Q) T F F CMSC 203 - Discrete 19
  • 20. Equivalent Statements P Q T T F F T F T F ¬(P∧Q)↔ (¬P)∨(¬Q ¬(P∧Q) (¬P)∨(¬Q) ) F T T T F T T T T T T T The statements ¬(P∧Q) and (¬P) ∨ (¬Q) are logically equivalent, since ¬(P∧Q) ↔ (¬P) ∨ (¬Q) is always true. Fall 2002 CMSC 203 - Discrete 20
  • 21. Tautologies and Contradictions A tautology is a statement that is always true. Examples: • R∨(¬R) ∀ ¬(P∧Q)↔ (¬P)∨(¬Q) If S→ T is a tautology, we write S⇒T. If S↔ T is a tautology, we write S⇔T. Fall 2002 CMSC 203 - Discrete 21
  • 22. Tautologies and Contradictions A contradiction is a statement that is always false. Examples: • R∧(¬R) ∀ ¬(¬(P∧Q)↔ (¬P)∨(¬Q)) The negation of any tautology is a contradiction, and the negation of any contradiction is a tautology. Fall 2002 CMSC 203 - Discrete 22
  • 23. Exercises We already know the following tautology: ¬(P∧Q) ⇔ (¬P)∨(¬Q) Nice home exercise: Show that ¬(P∨Q) ⇔ (¬P)∧(¬Q). These two tautologies are known as De Morgan’s laws. Table 5 in Section 1.2 shows many useful laws. Exercises 1 and 7 in Section 1.2 may help you get used to propositions and operators. Fall 2002 CMSC 203 - Discrete 23
  • 24. Let’s Talk About Logic • Logic is a system based on propositions. • A proposition is a statement that is either true or false (not both). • We say that the truth value of a proposition is either true (T) or false (F). • Corresponds to 1 and 0 in digital circuits Fall 2002 CMSC 203 - Discrete 24
  • 25. Logical Operators (Connectives) • • • • • • Negation Conjunction Disjunction Exclusive or Implication Biconditional (NOT) (AND) (OR) (XOR) (if – then) (if and only if) Truth tables can be used to show how these operators can combine propositions to compound propositions. Fall 2002 CMSC 203 - Discrete 25
  • 26. Tautologies and Contradictions A tautology is a statement that is always true. Examples: • R∨(¬R) ∀ ¬(P∧Q)↔ (¬P)∨(¬Q) If S→ T is a tautology, we write S⇒T. If S↔ T is a tautology, we write S⇔T. Fall 2002 CMSC 203 - Discrete 26
  • 27. Tautologies and Contradictions A contradiction is a statement that is always false. Examples: • R∧(¬R) • ¬(¬(P∧Q)↔ (¬P)∨(¬Q)) The negation of any tautology is a contradiction, and the negation of any contradiction is a tautology. Fall 2002 CMSC 203 - Discrete 27
  • 28. Propositional Functions Propositional function (open sentence): statement involving one or more variables, e.g.: x-3 > 5. Let us call this propositional function P(x), where P is the predicate and x is the variable. What is the truth value of P(2) ? false What is the truth value of P(8) ? false What is the truth value of P(9) ? true Fall 2002 CMSC 203 - Discrete 28
  • 29. Propositional Functions Let us consider the propositional function Q(x, y, z) defined as: x + y = z. Here, Q is the predicate and x, y, and z are the variables. What is the truth value of Q(2, 3, 5) ? true What is the truth value of Q(0, 1, 2) ? false What is the truth value of Q(9, -9, 0) ? true Fall 2002 CMSC 203 - Discrete 29
  • 30. Universal Quantification Let P(x) be a propositional function. Universally quantified sentence: For all x in the universe of discourse P(x) is true. Using the universal quantifier ∀: ∀x P(x) “for all x P(x)” or “for every x P(x)” (Note: ∀x P(x) is either true or false, so it is a proposition, not a propositional function.) Fall 2002 CMSC 203 - Discrete 30
  • 31. Universal Quantification Example: S(x): x is a UMBC student. G(x): x is a genius. What does ∀x (S(x) → G(x)) mean ? “If x is a UMBC student, then x is a genius.” or “All UMBC students are geniuses.” Fall 2002 CMSC 203 - Discrete 31
  • 32. Existential Quantification Existentially quantified sentence: There exists an x in the universe of discourse for which P(x) is true. Using the existential quantifier ∃: ∃x P(x) “There is an x such that P(x).” “There is at least one x such that P(x).” (Note: ∃x P(x) is either true or false, so it is a proposition, but no propositional function.) Fall 2002 CMSC 203 - Discrete 32
  • 33. Existential Quantification Example: P(x): x is a UMBC professor. G(x): x is a genius. What does ∃x (P(x) ∧ G(x)) mean ? “There is an x such that x is a UMBC professor and x is a genius.” or “At least one UMBC professor is a genius.” Fall 2002 CMSC 203 - Discrete 33
  • 34. Quantification Another example: Let the universe of discourse be the real numbers. What does ∀x∃y (x + y = 320) mean ? “For every x there exists a y so that x + y = 320.” Is it true? yes Is it true for the natural numbers? no Fall 2002 CMSC 203 - Discrete 34
  • 35. Disproof by Counterexample A counterexample to ∀x P(x) is an object c so that P(c) is false. Statements such as ∀x (P(x) → Q(x)) can be disproved by simply providing a counterexample. Statement: “All birds can fly.” Disproved by counterexample: Penguin. Fall 2002 CMSC 203 - Discrete 35
  • 36. Negation ¬(∀x P(x)) is logically equivalent to ∃x (¬P(x)). ¬(∃x P(x)) is logically equivalent to ∀x (¬P(x)). See Table 3 in Section 1.3. I recommend exercises 5 and 9 in Section 1.3. Fall 2002 CMSC 203 - Discrete 36
  • 37. … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related. Fall 2002 CMSC 203 - Discrete 37
  • 38. Set Theory • Set: Collection of objects (“elements”) • a∈A “a is an element of A” “a is a member of A” • a∉A “a is not an element of A” • A = {a1, a2, …, an} “A contains…” • Order of elements is meaningless • It does not matter how often the same element is listed. Fall 2002 CMSC 203 - Discrete 38
  • 39. Set Equality Sets A and B are equal if and only if they contain exactly the same elements. Examples: • A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A=B • A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A≠B • A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A=B Fall 2002 CMSC 203 - Discrete 39
  • 40. Examples for Sets “Standard” Sets: • Natural numbers N = {0, 1, 2, 3, …} • Integers Z = {…, -2, -1, 0, 1, 2, …} • Positive Integers Z+ = {1, 2, 3, 4, …} • Real Numbers R = {47.3, -12, π, …} • Rational Numbers Q = {1.5, 2.6, -3.8, 15, …} (correct definition will follow) Fall 2002 CMSC 203 - Discrete 40
  • 41. Examples for Sets • A=∅ “empty set/null set” • A = {z} Note: z∈A, but z ≠ {z} • A = {{b, c}, {c, x, d}} • A = {{x, y}} Note: {x, y} ∈A, but {x, y} ≠ {{x, y}} • A = {x | P(x)} “set of all x such that P(x)” • A = {x | x∈N ∧ x > 7} = {8, 9, 10, …} “set builder notation” Fall 2002 CMSC 203 - Discrete 41
  • 42. Examples for Sets We are now able to define the set of rational numbers Q: Q = {a/b | a∈Z ∧ b∈Z+} or Q = {a/b | a∈Z ∧ b∈Z ∧ b≠0} And how about the set of real numbers R? R = {r | r is a real number} That is the best we can do. Fall 2002 CMSC 203 - Discrete 42
  • 43. Subsets A⊆B “A is a subset of B” A ⊆ B if and only if every element of A is also an element of B. We can completely formalize this: A ⊆ B ⇔ ∀x (x∈A → x∈B) Examples: A = {3, 9}, B = {5, 9, 1, 3}, A ⊆ B ? true A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A ⊆ B ? true A = {1, 2, 3}, B = {2, 3, 4}, B? Fall 2002 CMSC 203 - Discrete A⊆ false 43
  • 44. Subsets Useful rules: • A = B ⇔ (A ⊆ B) ∧ (B ⊆ A) • (A ⊆ B) ∧ (B ⊆ C) ⇒ A ⊆ C (see Venn Diagram) U B Fall 2002 A CMSC 203 - Discrete C 44
  • 45. Subsets Useful rules: ∀ ∅ ⊆ A for any set A • A ⊆ A for any set A Proper subsets: A⊂B “A is a proper subset of B” A ⊂ B ⇔ ∀x (x∈A → x∈B) ∧ ∃x (x∈B ∧ x∉A) or A ⊂ B ⇔ ∀x (x∈A → x∈B) ∧ ¬∀x (x∈B → x∈A) Fall 2002 CMSC 203 - Discrete 45
  • 46. Cardinality of Sets If a set S contains n distinct elements, n∈N, we call S a finite set with cardinality n. Examples: A = {Mercedes, BMW, Porsche}, |A| = 3 B = {1, {2, 3}, {4, 5}, 6} C=∅ D = { x∈N | x ≤ 7000 } |B| = 4 |C| = 0 |D| = 7001 E = { x∈N | x ≥ 7000 } E is infinite! Fall 2002 CMSC 203 - Discrete 46
  • 47. The Power Set P(A) “power set of A” P(A) = {B | B ⊆ A} (contains all subsets of A) Examples: A = {x, y, z} P(A) = {∅ , {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}} A=∅ P(A) = {∅} Note: |A| = 0, |P(A)| = 1 Fall 2002 CMSC 203 - Discrete 47
  • 48. The Power Set Cardinality of power sets: | P(A) | = 2|A| • Imagine each element in A has an “on/off” switch • Each possible switch configuration in A corresponds to one element in 2A A x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x y z y z y z y z y z y z y z y z y z • For 3 elements in A, there are 2× 2× 2 = 8 elements in P(A) Fall 2002 CMSC 203 - Discrete 48
  • 49. Cartesian Product The ordered n-tuple (a1, a2, a3, …, an) is an ordered collection of objects. Two ordered n-tuples (a1, a2, a3, …, an) and (b1, b2, b3, …, bn) are equal if and only if they contain exactly the same elements in the same order, i.e. ai = bi for 1 ≤ i ≤ n. The Cartesian product of two sets is defined as: A×B = {(a, b) | a∈A ∧ b∈B} Example: A = {x, y}, B = {a, b, c} A×B = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)} Fall 2002 CMSC 203 - Discrete 49
  • 50. Cartesian Product The Cartesian product of two sets is defined as: A×B = {(a, b) | a∈A ∧ b∈B} Example: A = {good, bad}, B = {student, prof} } A×B = { (good, student), (good, prof), (bad, student), (bad, prof) B×A = { (student, good), (prof, good), (student, bad), (prof, bad) Fall 2002 CMSC 203 - Discrete } 50
  • 51. Cartesian Product Note that: • A×∅ = ∅ • ∅×A = ∅ • For non-empty sets A and B: A≠B ⇔ A×B ≠ B×A • |A×B| = |A|⋅|B| The Cartesian product of two or more sets is defined as: A1×A2×…×An = {(a1, a2, …, an) | ai∈A for 1 ≤ i ≤ n} Fall 2002 CMSC 203 - Discrete 51
  • 52. Set Operations Union: A∪B = {x | x∈A ∨ x∈B} Example: A = {a, b}, B = {b, c, d} A∪B = {a, b, c, d} Intersection: A∩B = {x | x∈A ∧ x∈B} Example: A = {a, b}, B = {b, c, d} A∩B = {b} Fall 2002 CMSC 203 - Discrete 52
  • 53. Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: A∩B = ∅ The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | x∈A ∧ x∉B} Example: A = {a, b}, B = {b, c, d}, A-B = {a} Fall 2002 CMSC 203 - Discrete 53
  • 54. Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: Ac = U-A Example: U = N, B = {250, 251, 252, …} Bc = {0, 1, 2, …, 248, 249} Fall 2002 CMSC 203 - Discrete 54
  • 55. Set Operations Table 1 in Section 1.5 shows many useful equations. How can we prove A∪(B∩C) = (A∪B)∩(A∪C)? Method I: x∈A∪(B∩C) ⇔ x∈A ∨ x∈(B∩C) ⇔ x∈A ∨ (x∈B ∧ x∈C) ⇔ (x∈A ∨ x∈B) ∧ (x∈A ∨ x∈C) (distributive law for logical expressions) ⇔ x∈(A∪B) ∧ x∈(A∪C) ⇔ x∈(A∪B)∩(A∪C) Fall 2002 CMSC 203 - Discrete 55
  • 56. Set Operations Method II: Membership table 1 means “x is an element of this set” 0 means “x is not an element of this set” A B C B∩C A∪(B∩C) A ∪B A ∪C (A∪B) ∩(A∪C) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Fall 2002 CMSC 203 - Discrete 56
  • 57. Set Operations Every logical expression can be transformed into an equivalent expression in set theory and vice versa. You could work on Exercises 9 and 19 in Section 1.5 to get some practice. Fall 2002 CMSC 203 - Discrete 57
  • 58. … and the following mathematical appetizer is about… Functions Fall 2002 CMSC 203 - Discrete 58
  • 59. Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: A→B (note: Here, “→“ has nothing to do with if… then) Fall 2002 CMSC 203 - Discrete 59
  • 60. Functions If f:A→B, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:A→B is the set of all images of elements of A. We say that f:A→B maps A to B. Fall 2002 CMSC 203 - Discrete 60
  • 61. Functions Let us take a look at the function f:P→C with P = {Linda, Max, Kathy, Peter} C = {Boston, New York, Hong Kong, Moscow} f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = New York Here, the range of f is C. Fall 2002 CMSC 203 - Discrete 61
  • 62. Functions Let us re-specify f as follows: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f still a function? yes What is its range? Fall 2002 {Moscow, Boston, Hong Kong} CMSC 203 - Discrete 62
  • 63. Functions Other ways to represent f: x f(x) Linda Moscow Max Boston Hong Kong Boston Kathy Peter Fall 2002 Linda Boston Max New York Kathy Hong Kong Peter Moscow CMSC 203 - Discrete 63
  • 64. Functions If the domain of our function f is large, it is convenient to specify f with a formula, e.g.: f:R→R f(x) = 2x This leads to: f(1) = 2 f(3) = 6 f(-3) = -6 … Fall 2002 CMSC 203 - Discrete 64
  • 65. Functions Let f1 and f2 be functions from A to R. Then the sum and the product of f1 and f2 are also functions from A to R defined by: (f1 + f2)(x) = f1(x) + f2(x) (f1f2)(x) = f1(x) f2(x) Example: f1(x) = 3x, f2(x) = x + 5 (f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5 (f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x Fall 2002 CMSC 203 - Discrete 65
  • 66. Functions We already know that the range of a function f:A→B is the set of all images of elements a∈A. If we only regard a subset S⊆A, the set of all images of elements s∈S is called the image of S. We denote the image of S by f(S): f(S) = {f(s) | s∈S} Fall 2002 CMSC 203 - Discrete 66
  • 67. Functions Let us look at the following well-known function: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston What is the image of S = {Linda, Max} ? f(S) = {Moscow, Boston} What is the image of S = {Max, Peter} ? f(S) = {Boston} Fall 2002 CMSC 203 - Discrete 67
  • 68. Properties of Functions A function f:A→B is said to be one-to-one (or injective), if and only if ∀x, y∈A (f(x) = f(y) → x = y) In other words: f is one-to-one if and only if it does not map two distinct elements of A onto the same element of B. Fall 2002 CMSC 203 - Discrete 68
  • 69. Properties of Functions And again… f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston g(Linda) = Moscow g(Max) = Boston g(Kathy) = Hong Kong g(Peter) = New York Is f one-to-one? Is g one-to-one? No, Max and Peter are mapped onto the same element of the image. Yes, each element is assigned a unique element of the image. Fall 2002 CMSC 203 - Discrete 69
  • 70. Properties of Functions How can we prove that a function f is one-to-one? Whenever you want to prove something, first take a look at the relevant definition(s): ∀x, y∈A (f(x) = f(y) → x = y) Example: f:R→R f(x) = x2 Disproof by counterexample: f(3) = f(-3), but 3 ≠ -3, so f is not one-to-one. Fall 2002 CMSC 203 - Discrete 70
  • 71. Properties of Functions … and yet another example: f:R→R f(x) = 3x One-to-one: ∀x, y∈A (f(x) = f(y) → x = y) To show: f(x) ≠ f(y) whenever x ≠ y x≠y ⇔ 3x ≠ 3y ⇔ f(x) ≠ f(y), so if x ≠ y, then f(x) ≠ f(y), that is, f is one-to-one. Fall 2002 CMSC 203 - Discrete 71
  • 72. Properties of Functions A function f:A→B with A,B ⊆ R is called strictly increasing, if ∀x,y∈A (x < y → f(x) < f(y)), and strictly decreasing, if ∀x,y∈A (x < y → f(x) > f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one. Fall 2002 CMSC 203 - Discrete 72
  • 73. Properties of Functions A function f:A→B is called onto, or surjective, if and only if for every element b∈B there is an element a∈A with f(a) = b. In other words, f is onto if and only if its range is its entire codomain. A function f: A→B is a one-to-one correspondence, or a bijection, if and only if it is both one-to-one and onto. Obviously, if f is a bijection and A and B are finite sets, then |A| = |B|. Fall 2002 CMSC 203 - Discrete 73
  • 74. Properties of Functions Examples: In the following examples, we use the arrow representation to illustrate functions f:A→B. In each example, the complete sets A and B are shown. Fall 2002 CMSC 203 - Discrete 74
  • 75. Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Fall 2002 CMSC 203 - Discrete Is f injective? No. Is f surjective? No. Is f bijective? No. 75
  • 76. Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? No. Is f surjective? Yes. Is f bijective? No. Paul Fall 2002 CMSC 203 - Discrete 76
  • 77. Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? Yes. Is f surjective? No. Is f bijective? No. Lübeck Fall 2002 CMSC 203 - Discrete 77
  • 78. Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? No! f is not even a function! Lübeck Fall 2002 CMSC 203 - Discrete 78
  • 79. Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Helena Lübeck Fall 2002 CMSC 203 - Discrete Is f injective? Yes. Is f surjective? Yes. Is f bijective? Yes. 79
  • 80. Inversion An interesting property of bijections is that they have an inverse function. The inverse function of the bijection f:A→B is the function f-1:B→A with f-1(b) = a whenever f(a) = b. Fall 2002 CMSC 203 - Discrete 80
  • 81. Inversion Example: The inverse function f-1 is given by: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Lübeck f(Helena) = New York f-1(Moscow) = Linda f-1(Boston) = Max f-1(Hong Kong) = Kathy f-1(Lübeck) = Peter f-1(New York) = Helena Clearly, f is bijective. Inversion is only possible for bijections (= invertible functions) Fall 2002 CMSC 203 - Discrete 81
  • 82. Inversion Linda Boston f Max New York f-1 Kathy Hong Kong Peter Moscow Helena Lübeck Fall 2002 CMSC 203 - Discrete f-1:C→P is no function, because it is not defined for all elements of C and assigns two images to the preimage New York. 82
  • 83. Composition The composition of two functions g:A→B and f:B→C, denoted by f°g, is defined by (f°g)(a) = f(g(a)) This means that • first, function g is applied to element a∈A, mapping it onto an element of B, • then, function f is applied to this element of B, mapping it onto an element of C. • Therefore, the composite function maps from A to C. Fall 2002 CMSC 203 - Discrete 83
  • 84. Composition Example: f(x) = 7x – 4, g(x) = 3x, f:R→R, g:R→R (f°g)(5) = f(g(5)) = f(15) = 105 – 4 = 101 (f°g)(x) = f(g(x)) = f(3x) = 21x - 4 Fall 2002 CMSC 203 - Discrete 84
  • 85. Composition Composition of a function and its inverse: (f-1°f)(x) = f-1(f(x)) = x The composition of a function and its inverse is the identity function i(x) = x. Fall 2002 CMSC 203 - Discrete 85
  • 86. Graphs The graph of a function f:A→B is the set of ordered pairs {(a, b) | a∈A and f(a) = b}. The graph is a subset of A×B that can be used to visualize f in a two-dimensional coordinate system. Fall 2002 CMSC 203 - Discrete 86
  • 87. Floor and Ceiling Functions The floor and ceiling functions map the real numbers onto the integers (R→Z). The floor function assigns to r∈R the largest z∈Z with z ≤ r, denoted by r. Examples: 2.3 = 2, 2 = 2, 0.5 = 0, -3.5 = -4 The ceiling function assigns to r∈R the smallest z∈Z with z ≥ r, denoted by r. Examples: 2.3 = 3, 2 = 2, 0.5 = 1, -3.5 = -3 Fall 2002 CMSC 203 - Discrete 87
  • 88. Exercises I recommend Exercises 1 and 15 in Section 1.6. It may also be useful to study the graph displays in that section. Another question: What do all graph displays for any function f:R→R have in common? Fall 2002 CMSC 203 - Discrete 88
  • 89. … and now for… Sequences Fall 2002 CMSC 203 - Discrete 89
  • 90. Sequences Sequences represent ordered lists of elements. A sequence is defined as a function from a subset of N to a set S. We use the notation an to denote the image of the integer n. We call an a term of the sequence. Example: subset of N: 1 2 3 4 5 … S: 2 4 6 8 10 … Fall 2002 CMSC 203 - Discrete 90
  • 91. Sequences We use the notation {an} to describe a sequence. Important: Do not confuse this with the {} used in set notation. It is convenient to describe a sequence with a formula. For example, the sequence on the previous slide can be specified as {an}, where an = 2n. Fall 2002 CMSC 203 - Discrete 91
  • 92. The Formula Game What are the formulas that describe the following sequences a1, a2, a3, … ? 1, 3, 5, 7, 9, … an = 2n - 1 -1, 1, -1, 1, -1, … an = (-1)n 2, 5, 10, 17, 26, … an = n2 + 1 0.25, 0.5, 0.75, 1, 1.25 … an = 0.25n 3, 9, 27, 81, 243, … Fall 2002 an = 3n CMSC 203 - Discrete 92
  • 93. Strings Finite sequences are also called strings, denoted by a1a2a3…an. The length of a string S is the number of terms that it consists of. The empty string contains no terms at all. It has length zero. Fall 2002 CMSC 203 - Discrete 93
  • 94. Summations What does n ∑a j =m j stand for? It represents the sum am + am+1 + am+2 + … + an. The variable j is called the index of summation, running from its lower limit m to its upper limit n. We could as well have used any other letter to denote this index. Fall 2002 CMSC 203 - Discrete 94
  • 95. Summations How can we express the sum of the first 1000 terms of the sequence {an} with an=n2 for n = 1, 2, 3, … ? 1000 j2 . We write it as ∑ j =1 What is the value of 6 ∑j j =1 ? It is 1 + 2 + 3 + 4 + 5 + 6 = 21. What is the value of 100 ∑j j =1 ? It is so much work to calculate this… Fall 2002 CMSC 203 - Discrete 95
  • 96. Summations It is said that Friedrich Gauss came up with the following formula: n ∑ j =1 n(n + 1) j= 2 When you have such a formula, the result of any summation can be calculated much more easily, for example: 100 ∑ j =1 100(100 + 1) 10100 j= = = 5050 2 2 Fall 2002 CMSC 203 - Discrete 96
  • 97. Arithemetic Series How does: n ∑ j =1 n(n + 1) j= 2 ??? Observe that: 1 + 2 + 3 +…+ n/2 + (n/2 + 1) +…+ (n - 2) + (n - 1) + n = [1 + n] + [2 + (n - 1)] + [3 + (n - 2)] +…+ [n/2 + (n/2 + 1)] = (n + 1) + (n + 1) + (n + 1) + … + (n + 1) (with n/2 terms) = n(n + 1)/2. Fall 2002 CMSC 203 - Discrete 97
  • 98. Geometric Series How does: ( n +1) a −1 ∑ a = (a − 1) j =0 n j ??? Observe that: S = 1 + a + a 2 + a3 + … + a n aS = a + a2 + a3 + … + an + a(n+1) so, (aS - S) = (a - 1)S = a(n+1) - 1 Therefore, 1 + a + a2 + … + an = (a(n+1) - 1) / (a - 1). For example: 1 + 2 + 4 + 8 +… + 1024 = 2047. Fall 2002 CMSC 203 - Discrete 98
  • 99. Useful Series 1. 2. 3. 4. n(n + 1) ∑j= 2 j =1 n a ( n +1) − 1 aj = ∑ (a − 1) j =0 n n(n + 1)(2n + 1) 2 ∑j = 6 j =1 2 2 n n (n + 1) 3 ∑j = 4 j =1 n Fall 2002 CMSC 203 - Discrete 99
  • 100. Double Summations Corresponding to nested loops in C or Java, there is also double (or triple etc.) summation: Example: 5 2 ∑∑ ij i =1 j =1 5 = ∑ (i + 2i ) i =1 5 = ∑ 3i i =1 = 3 + 6 + 9 + 12 + 15 = 45 Fall 2002 CMSC 203 - Discrete 100
  • 101. Double Summations Table 2 in Section 1.7 contains some very useful formulas for calculating sums. Exercises 15 and 17 make a nice homework. Fall 2002 CMSC 203 - Discrete 101
  • 102. Enough Mathematical Appetizers! Let us look at something more interesting: Algorithms Fall 2002 CMSC 203 - Discrete 102
  • 103. Algorithms What is an algorithm? An algorithm is a finite set of precise instructions for performing a computation or for solving a problem. This is a rather vague definition. You will get to know a more precise and mathematically useful definition when you attend CS420. But this one is good enough for now… Fall 2002 CMSC 203 - Discrete 103
  • 104. Algorithms Properties of algorithms: • • • • • • • Input from a specified set, Output from a specified set (solution), Definiteness of every step in the computation, Correctness of output for every possible input, Finiteness of the number of calculation steps, Effectiveness of each calculation step and Generality for a class of problems. Fall 2002 CMSC 203 - Discrete 104
  • 105. Algorithm Examples We will use a pseudocode to specify algorithms, which slightly reminds us of Basic and Pascal. Example: an algorithm that finds the maximum element in a finite sequence procedure max(a1, a2, …, an: integers) max := a1 for i := 2 to n if max < ai then max := ai {max is the largest element} Fall 2002 CMSC 203 - Discrete 105
  • 106. Algorithm Examples Another example: a linear search algorithm, that is, an algorithm that linearly searches a sequence for a particular element. procedure linear_search(x: integer; a1, a2, …, an: integers) i := 1 while (i ≤ n and x ≠ ai) i := i + 1 if i ≤ n then location := i else location := 0 {location is the subscript of the term that equals x, or is zero if x is not found} Fall 2002 CMSC 203 - Discrete 106
  • 107. Algorithm Examples If the terms in a sequence are ordered, a binary search algorithm is more efficient than linear search. The binary search algorithm iteratively restricts the relevant search interval until it closes in on the position of the element to be located. Fall 2002 CMSC 203 - Discrete 107
  • 108. Algorithm Examples binary search for the letter ‘j’ search interval a c d f g h j l m o p r s u v x z center element Fall 2002 CMSC 203 - Discrete 108
  • 109. Algorithm Examples binary search for the letter ‘j’ search interval a c d f g h j l m o p r s u v x z center element Fall 2002 CMSC 203 - Discrete 109
  • 110. Algorithm Examples binary search for the letter ‘j’ search interval a c d f g h j l m o p r s u v x z center element Fall 2002 CMSC 203 - Discrete 110
  • 111. Algorithm Examples binary search for the letter ‘j’ search interval a c d f g h j l m o p r s u v x z center element Fall 2002 CMSC 203 - Discrete 111
  • 112. Algorithm Examples binary search for the letter ‘j’ search interval a c d f g h j l m o p r s u v x z center element found ! Fall 2002 CMSC 203 - Discrete 112
  • 113. Algorithm Examples procedure binary_search(x: integer; a1, a2, …, an: integers) i := 1 {i is left endpoint of search interval} j := n {j is right endpoint of search interval} while (i < j) begin m := (i + j)/2 if x > am then i := m + 1 else j := m end if x = ai then location := i else location := 0 {location is the subscript of the term that equals x, or is zero if x is not found} Fall 2002 CMSC 203 - Discrete 113
  • 114. Complexity In general, we are not so much interested in the time and space complexity for small inputs. For example, while the difference in time complexity between linear and binary search is meaningless for a sequence with n = 10, it is gigantic for n = 230. Fall 2002 CMSC 203 - Discrete 114
  • 115. Complexity For example, let us assume two algorithms A and B that solve the same class of problems. The time complexity of A is 5,000n, the one for B is 1.1n for an input with n elements. For n = 10, A requires 50,000 steps, but B only 3, so B seems to be superior to A. For n = 1000, however, A requires 5,000,000 steps, while B requires 2.5⋅1041 steps. Fall 2002 CMSC 203 - Discrete 115
  • 116. Complexity This means that algorithm B cannot be used for large inputs, while algorithm A is still feasible. So what is important is the growth of the complexity functions. The growth of time and space complexity with increasing input size n is a suitable measure for the comparison of algorithms. Fall 2002 CMSC 203 - Discrete 116
  • 117. Complexity Comparison: time complexity of algorithms A and B Input Size n 10 100 1,000 1,000,000 Fall 2002 Algorithm A 5,000n 50,000 500,000 5,000,000 5⋅109 CMSC 203 - Discrete Algorithm B 1.1n 3 13,781 2.5⋅1041 4.8⋅1041392 117
  • 118. Complexity This means that algorithm B cannot be used for large inputs, while running algorithm A is still feasible. So what is important is the growth of the complexity functions. The growth of time and space complexity with increasing input size n is a suitable measure for the comparison of algorithms. Fall 2002 CMSC 203 - Discrete 118
  • 119. The Growth of Functions The growth of functions is usually described using the big-O notation. Definition: Let f and g be functions from the integers or the real numbers to the real numbers. We say that f(x) is O(g(x)) if there are constants C and k such that |f(x)| ≤ C|g(x)| whenever x > k. Fall 2002 CMSC 203 - Discrete 119
  • 120. The Growth of Functions When we analyze the growth of complexity functions, f(x) and g(x) are always positive. Therefore, we can simplify the big-O requirement to f(x) ≤ C⋅g(x) whenever x > k. If we want to show that f(x) is O(g(x)), we only need to find one pair (C, k) (which is never unique). Fall 2002 CMSC 203 - Discrete 120
  • 121. The Growth of Functions The idea behind the big-O notation is to establish an upper boundary for the growth of a function f(x) for large x. This boundary is specified by a function g(x) that is usually much simpler than f(x). We accept the constant C in the requirement f(x) ≤ C⋅g(x) whenever x > k, because C does not grow with x. We are only interested in large x, so it is OK if f(x) > C⋅g(x) for x ≤ k. Fall 2002 CMSC 203 - Discrete 121
  • 122. The Growth of Functions Example: Show that f(x) = x2 + 2x + 1 is O(x2). For x > 1 we have: x2 + 2x + 1 ≤ x2 + 2x2 + x2 ⇒ x2 + 2x + 1 ≤ 4x2 Therefore, for C = 4 and k = 1: f(x) ≤ Cx2 whenever x > k. ⇒ f(x) is O(x2). Fall 2002 CMSC 203 - Discrete 122
  • 123. The Growth of Functions Question: If f(x) is O(x2), is it also O(x3)? Yes. x3 grows faster than x2, so x3 grows also faster than f(x). Therefore, we always have to find the smallest simple function g(x) for which f(x) is O(g(x)). Fall 2002 CMSC 203 - Discrete 123
  • 124. The Growth of Functions “Popular” functions g(n) are n log n, 1, 2n, n2, n!, n, n3, log n Listed from slowest to fastest growth: • 1 • log n • n • n log n • n2 • n3 • 2n • n! Fall 2002 CMSC 203 - Discrete 124
  • 125. The Growth of Functions A problem that can be solved with polynomial worst-case complexity is called tractable. Problems of higher complexity are called intractable. Problems that no algorithm can solve are called unsolvable. You will find out more about this in CS420. Fall 2002 CMSC 203 - Discrete 125
  • 126. Useful Rules for Big-O For any polynomial f(x) = anxn + an-1xn-1 + … + a0, where a0, a1, …, an are real numbers, f(x) is O(xn). If f1(x) is O(g1(x)) and f2(x) is O(g2(x)), then (f1 + f2)(x) is O(max(g1(x), g2(x))) If f1(x) is O(g(x)) and f2(x) is O(g(x)), then (f1 + f2)(x) is O(g(x)). If f1(x) is O(g1(x)) and f2(x) is O(g2(x)), then (f1f2)(x) is O(g1(x) g2(x)). Fall 2002 CMSC 203 - Discrete 126
  • 127. Complexity Examples What does the following algorithm compute? procedure who_knows(a1, a2, …, an: integers) m := 0 for i := 1 to n-1 for j := i + 1 to n if |ai – aj| > m then m := |ai – aj| {m is the maximum difference between any two numbers in the input sequence} Comparisons: n-1 + n-2 + n-3 + … + 1 = (n – 1)n/2 = 0.5n2 – 0.5n Time complexity is O(n2). Fall 2002 CMSC 203 - Discrete 127
  • 128. Complexity Examples Another algorithm solving the same problem: procedure max_diff(a1, a2, …, an: integers) min := a1 max := a1 for i := 2 to n if ai < min then min := ai else if ai > max then max := ai m := max - min Comparisons: 2n - 2 Time complexity is O(n). Fall 2002 CMSC 203 - Discrete 128
  • 129. Let us get into… Number Theory Fall 2002 CMSC 203 - Discrete 129
  • 130. Introduction to Number Theory Number theory is about integers and their properties. We will start with the basic principles of • divisibility, • greatest common divisors, • least common multiples, and • modular arithmetic and look at some relevant algorithms. Fall 2002 CMSC 203 - Discrete 130
  • 131. Division If a and b are integers with a ≠ 0, we say that a divides b if there is an integer c so that b = ac. When a divides b we say that a is a factor of b and that b is a multiple of a. The notation a | b means that a divides b. We write a X b when a does not divide b (see book for correct symbol). Fall 2002 CMSC 203 - Discrete 131
  • 132. Divisibility Theorems For integers a, b, and c it is true that • if a | b and a | c, then a | (b + c) Example: 3 | 6 and 3 | 9, so 3 | 15. • if a | b, then a | bc for all integers c Example: 5 | 10, so 5 | 20, 5 | 30, 5 | 40, … • if a | b and b | c, then a | c Example: 4 | 8 and 8 | 24, so 4 | 24. Fall 2002 CMSC 203 - Discrete 132
  • 133. Primes A positive integer p greater than 1 is called prime if the only positive factors of p are 1 and p. A positive integer that is greater than 1 and is not prime is called composite. The fundamental theorem of arithmetic: Every positive integer can be written uniquely as the product of primes, where the prime factors are written in order of increasing size. Fall 2002 CMSC 203 - Discrete 133
  • 134. Primes Examples: 15 = 3·5 48 = 2·2·2·2·3 = 24·3 17 = 17 100 = 2·2·5·5 = 22·52 512 = 2·2·2·2·2·2·2·2·2 = 29 515 = 5·103 28 = 2·2·7 Fall 2002 CMSC 203 - Discrete 134
  • 135. Primes If n is a composite integer, then n has a prime divisor less than or equal n . This is easy to see: if n is a composite integer, it must have two prime divisors p1 and p2 such that p1⋅p2 = n. p1 and p2 cannot both be greater than n , because then p1⋅p2 > n. Fall 2002 CMSC 203 - Discrete 135
  • 136. The Division Algorithm Let a be an integer and d a positive integer. Then there are unique integers q and r, with 0 ≤ r < d, such that a = dq + r. In the above equation, • d is called the divisor, • a is called the dividend, • q is called the quotient, and • r is called the remainder. Fall 2002 CMSC 203 - Discrete 136
  • 137. The Division Algorithm Example: When we divide 17 by 5, we have 17 = 5⋅3 + 2. • • • • 17 is the dividend, 5 is the divisor, 3 is called the quotient, and 2 is called the remainder. Fall 2002 CMSC 203 - Discrete 137
  • 138. The Division Algorithm Another example: What happens when we divide -11 by 3 ? Note that the remainder cannot be negative. -11 = 3⋅(-4) + 1. • • • • -11 is the dividend, 3 is the divisor, -4 is called the quotient, and 1 is called the remainder. Fall 2002 CMSC 203 - Discrete 138
  • 139. Greatest Common Divisors Let a and b be integers, not both zero. The largest integer d such that d | a and d | b is called the greatest common divisor of a and b. The greatest common divisor of a and b is denoted by gcd(a, b). Example 1: What is gcd(48, 72) ? The positive common divisors of 48 and 72 are 1, 2, 3, 4, 6, 8, 12, 16, and 24, so gcd(48, 72) = 24. Example 2: What is gcd(19, 72) ? The only positive common divisor of 19 and 72 is 1, so gcd(19, 72) = 1. Fall 2002 CMSC 203 - Discrete 139
  • 140. Greatest Common Divisors Using prime factorizations: a = p1a1 p2a2 … pnan , b = p1b1 p2b2 … pnbn , where p1 < p2 < … < pn and ai, bi ∈ N for 1 ≤ i ≤ n gcd(a, b) = p1min(a1, b1 ) p2min(a2, b2 ) … pnmin(an, bn ) Example: a = 60 = 22 31 51 b = 54 = 21 33 50 gcd(a, b) = 21 31 50 = 6 Fall 2002 CMSC 203 - Discrete 140
  • 141. Relatively Prime Integers Definition: Two integers a and b are relatively prime if gcd(a, b) = 1. Examples: Are 15 and 28 relatively prime? Yes, gcd(15, 28) = 1. Are 55 and 28 relatively prime? Yes, gcd(55, 28) = 1. Are 35 and 28 relatively prime? No, gcd(35, 28) = 7. Fall 2002 CMSC 203 - Discrete 141
  • 142. Relatively Prime Integers Definition: The integers a1, a2, …, an are pairwise relatively prime if gcd(ai, aj) = 1 whenever 1 ≤ i < j ≤ n. Examples: Are 15, 17, and 27 pairwise relatively prime? No, because gcd(15, 27) = 3. Are 15, 17, and 28 pairwise relatively prime? Yes, because gcd(15, 17) = 1, gcd(15, 28) = 1 and gcd(17, 28) = 1. Fall 2002 CMSC 203 - Discrete 142
  • 143. Least Common Multiples Definition: The least common multiple of the positive integers a and b is the smallest positive integer that is divisible by both a and b. We denote the least common multiple of a and b by lcm(a, b). Examples: lcm(3, 7) = 21 lcm(4, 6) = 12 lcm(5, 10) = 10 Fall 2002 CMSC 203 - Discrete 143
  • 144. Least Common Multiples Using prime factorizations: a = p1a1 p2a2 … pnan , b = p1b1 p2b2 … pnbn , where p1 < p2 < … < pn and ai, bi ∈ N for 1 ≤ i ≤ n lcm(a, b) = p1max(a1, b1 ) p2max(a2, b2 ) … pnmax(an, bn ) Example: a = 60 = 22 31 51 b = 54 = 21 33 50 lcm(a, b) = 22 33 51 = 4⋅27⋅5 = 540 Fall 2002 CMSC 203 - Discrete 144
  • 145. GCD and LCM a = 60 = 22 31 51 b = 54 = 21 33 50 gcd(a, b) = 21 31 50 =6 lcm(a, b) = 22 33 51 = 540 Theorem: a⋅ b = gcd(a,b)⋅ lcm(a,b) Fall 2002 CMSC 203 - Discrete 145
  • 146. Modular Arithmetic Let a be an integer and m be a positive integer. We denote by a mod m the remainder when a is divided by m. Examples: 9 mod 4 = 1 9 mod 3 = 0 9 mod 10 = 9 -13 mod 4 = 3 Fall 2002 CMSC 203 - Discrete 146
  • 147. Congruences Let a and b be integers and m be a positive integer. We say that a is congruent to b modulo m if m divides a – b. We use the notation a ≡ b (mod m) to indicate that a is congruent to b modulo m. In other words: a ≡ b (mod m) if and only if a mod m = b mod m. Fall 2002 CMSC 203 - Discrete 147
  • 148. Congruences Examples: Is it true that 46 ≡ 68 (mod 11) ? Yes, because 11 | (46 – 68). Is it true that 46 ≡ 68 (mod 22)? Yes, because 22 | (46 – 68). For which integers z is it true that z ≡ 12 (mod 10)? It is true for any z∈{…,-28, -18, -8, 2, 12, 22, 32, …} Theorem: Let m be a positive integer. The integers a and b are congruent modulo m if and only if there is an integer k such that a = b + km. Fall 2002 CMSC 203 - Discrete 148
  • 149. Congruences Theorem: Let m be a positive integer. If a ≡ b (mod m) and c ≡ d (mod m), then a + c ≡ b + d (mod m) and ac ≡ bd (mod m). Proof: We know that a ≡ b (mod m) and c ≡ d (mod m) implies that there are integers s and t with b = a + sm and d = c + tm. Therefore, b + d = (a + sm) + (c + tm) = (a + c) + m(s + t) and bd = (a + sm)(c + tm) = ac + m(at + cs + stm). Hence, a + c ≡ b + d (mod m) and ac ≡ bd (mod m). Fall 2002 CMSC 203 - Discrete 149
  • 150. The Euclidean Algorithm The Euclidean Algorithm finds the greatest common divisor of two integers a and b. For example, if we want to find gcd(287, 91), we divide 287 by 91: 287 = 91⋅3 + 14 We know that for integers a, b and c, if a | b and a | c, then a | (b + c). Therefore, any divisor of 287 and 91 must also be a divisor of 287 - 91⋅3 = 14. Consequently, gcd(287, 91) = gcd(14, 91). Fall 2002 CMSC 203 - Discrete 150
  • 151. The Euclidean Algorithm In the next step, we divide 91 by 14: 91 = 14⋅6 + 7 This means that gcd(14, 91) = gcd(14, 7). So we divide 14 by 7: 14 = 7⋅2 + 0 We find that 7 | 14, and thus gcd(14, 7) = 7. Therefore, gcd(287, 91) = 7. Fall 2002 CMSC 203 - Discrete 151
  • 152. The Euclidean Algorithm In pseudocode, the algorithm can be implemented as follows: procedure gcd(a, b: positive integers) x := a y := b while y ≠ 0 begin r := x mod y x := y y := r end {x is gcd(a, b)} Fall 2002 CMSC 203 - Discrete 152
  • 153. Representations of Integers Let b be a positive integer greater than 1. Then if n is a positive integer, it can be expressed uniquely in the form: n = akbk + ak-1bk-1 + … + a1b + a0, where k is a nonnegative integer, a0, a1, …, ak are nonnegative integers less than b, and ak ≠ 0. Example for b=10: 859 = 8⋅102 + 5⋅101 + 9⋅100 Fall 2002 CMSC 203 - Discrete 153
  • 154. Representations of Integers Example for b=2 (binary expansion): (10110)2 = 1⋅24 + 1⋅22 + 1⋅21 = (22)10 Example for b=16 (hexadecimal expansion): (we use letters A to F to indicate numbers 10 to 15) (3A0F)16 = 3⋅163 + 10⋅162 + 15⋅160 = (14863)10 Fall 2002 CMSC 203 - Discrete 154
  • 155. Representations of Integers How can we construct the base b expansion of an integer n? First, divide n by b to obtain a quotient q0 and remainder a0, that is, n = bq0 + a0, where 0 ≤ a0 < b. The remainder a0 is the rightmost digit in the base b expansion of n. Next, divide q0 by b to obtain: q0 = bq1 + a1, where 0 ≤ a1 < b. a1 is the second digit from the right in the base b expansion of n. Continue this process until you obtain2002 Fall a quotient equal - Discrete CMSC 203 to zero. 155
  • 156. Representations of Integers Example: What is the base 8 expansion of (12345)10 ? First, divide 12345 by 8: 12345 = 8⋅1543 + 1 1543 = 8⋅192 + 7 192 = 8⋅24 + 0 24 = 8⋅3 + 0 3 = 8⋅0 + 3 The result is: (12345)10 = (30071)8. Fall 2002 CMSC 203 - Discrete 156
  • 157. Representations of Integers procedure base_b_expansion(n, b: positive integers) q := n k := 0 while q ≠ 0 begin ak := q mod b q := q/b k := k + 1 end {the base b expansion of n is (ak-1 … a1a0)b } Fall 2002 CMSC 203 - Discrete 157
  • 158. Addition of Integers Let a = (an-1an-2…a1a0)2, b = (bn-1bn-2…b1b0)2. How can we add these two binary numbers? First, add their rightmost bits: a0 + b0 = c0⋅2 + s0, where s0 is the rightmost bit in the binary expansion of a + b, and c0 is the carry. Then, add the next pair of bits and the carry: a1 + b1 + c0 = c1⋅2 + s1, where s1 is the next bit in the binary expansion of a + b, and c1 is the carry. Fall 2002 CMSC 203 - Discrete 158
  • 159. Addition of Integers Continue this process until you obtain cn-1. The leading bit of the sum is sn = cn-1. The result is: a + b = (snsn-1…s1s0)2 Fall 2002 CMSC 203 - Discrete 159
  • 160. Addition of Integers Example: Add a = (1110)2 and b = (1011)2. a0 + b0 = 0 + 1 = 0⋅2 + 1, so that c0 = 0 and s0 = 1. a1 + b1 + c0 = 1 + 1 + 0 = 1⋅2 + 0, so c1 = 1 and s1 = 0. a2 + b2 + c1 = 1 + 0 + 1 = 1⋅2 + 0, so c2 = 1 and s2 = 0. a3 + b3 + c2 = 1 + 1 + 1 = 1⋅2 + 1, so c3 = 1 and s3 = 1. s4 = c3 = 1. Therefore, s = a + b = (11001)2. Fall 2002 CMSC 203 - Discrete 160
  • 161. Addition of Integers How do we (humans) add two integers? Example: 1 11 7583 + 4932 carry 1 25 1 5 Binary expansions: 1 1 (1011)2 + (1010)2 carry (101 01 )2 Fall 2002 CMSC 203 - Discrete 161
  • 162. Addition of Integers Let a = (an-1an-2…a1a0)2, b = (bn-1bn-2…b1b0)2. How can we algorithmically add these two binary numbers? First, add their rightmost bits: a0 + b0 = c0⋅2 + s0, where s0 is the rightmost bit in the binary expansion of a + b, and c0 is the carry. Then, add the next pair of bits and the carry: a1 + b1 + c0 = c1⋅2 + s1, where s1 is the next bit in the binary expansion of 162 a +Fall and c1 is CMSC 203 - Discrete b, 2002 the carry.
  • 163. Addition of Integers Continue this process until you obtain cn-1. The leading bit of the sum is sn = cn-1. The result is: a + b = (snsn-1…s1s0)2 Fall 2002 CMSC 203 - Discrete 163
  • 164. Addition of Integers Example: Add a = (1110)2 and b = (1011)2. a0 + b0 = 0 + 1 = 0⋅2 + 1, so that c0 = 0 and s0 = 1. a1 + b1 + c0 = 1 + 1 + 0 = 1⋅2 + 0, so c1 = 1 and s1 = 0. a2 + b2 + c1 = 1 + 0 + 1 = 1⋅2 + 0, so c2 = 1 and s2 = 0. a3 + b3 + c2 = 1 + 1 + 1 = 1⋅2 + 1, so c3 = 1 and s3 = 1. s4 = c3 = 1. Therefore, s = a + b = (11001)2. Fall 2002 CMSC 203 - Discrete 164
  • 165. Addition of Integers procedure add(a, b: positive integers) c := 0 for j := 0 to n-1 begin d := (aj + bj + c)/2 sj := aj + bj + c – 2d c := d end sn := c {the binary expansion of the sum is (snsn-1…s1s0)2} Fall 2002 CMSC 203 - Discrete 165
  • 166. Let’s proceed to… Mathematical Reasoning Fall 2002 CMSC 203 - Discrete 166
  • 167. Mathematical Reasoning We need mathematical reasoning to • determine whether a mathematical argument is correct or incorrect and • construct mathematical arguments. Mathematical reasoning is not only important for conducting proofs and program verification, but also for artificial intelligence systems (drawing inferences). Fall 2002 CMSC 203 - Discrete 167
  • 168. Terminology An axiom is a basic assumption about mathematical structured that needs no proof. We can use a proof to demonstrate that a particular statement is true. A proof consists of a sequence of statements that form an argument. The steps that connect the statements in such a sequence are the rules of inference. Cases of incorrect reasoning are called fallacies. A theorem is a statement that can be shown to be true. Fall 2002 CMSC 203 - Discrete 168
  • 169. Terminology A lemma is a simple theorem used as an intermediate result in the proof of another theorem. A corollary is a proposition that follows directly from a theorem that has been proved. A conjecture is a statement whose truth value is unknown. Once it is proven, it becomes a theorem. Fall 2002 CMSC 203 - Discrete 169
  • 170. Rules of Inference Rules of inference provide the justification of the steps used in a proof. One important rule is called modus ponens or the law of detachment. It is based on the tautology (p∧(p→q)) → q. We write it in the following way: p p→q ____ ∴q The two hypotheses p and p → q are written in a column, and the conclusion below a bar, where ∴ means “therefore”. Fall 2002 CMSC 203 - Discrete 170
  • 171. Rules of Inference The general form of a rule of inference is: p1 p2 . . . pn ____ ∴q The rule states that if p1 and p2 and … and pn are all true, then q is true as well. These rules of inference can be used in any mathematical argument and do not require any proof. Fall 2002 CMSC 203 - Discrete 171
  • 172. Rules of Inference p _____ Addition ∴ p ∨q ¬q Modus p→q _____ tollens ∴ ¬p p ∧q _____ Simplification ∴p p→q Hypothetical q→r _____ syllogism ∴ p→r p q _____ Conjunction ∴ p ∧q Fall 2002 p ∨q Disjunctive ¬p _____ syllogism ∴q CMSC 203 - Discrete 172
  • 173. Arguments Just like a rule of inference, an argument consists of one or more hypotheses and a conclusion. We say that an argument is valid, if whenever all its hypotheses are true, its conclusion is also true. However, if any hypothesis is false, even a valid argument can lead to an incorrect conclusion. Fall 2002 CMSC 203 - Discrete 173
  • 174. Arguments Example: “If 101 is divisible by 3, then 1012 is divisible by 9. 101 is divisible by 3. Consequently, 1012 is divisible by 9.” Although the argument is valid, its conclusion is incorrect, because one of the hypotheses is false (“101 is divisible by 3.”). If in the above argument we replace 101 with 102, we could correctly conclude that 1022 is divisible by 9. Fall 2002 CMSC 203 - Discrete 174
  • 175. Arguments Which rule of inference was used in the last argument? p: “101 is divisible by 3.” q: “1012 is divisible by 9.” p Modus p→q _____ ponens ∴q Unfortunately, one of the hypotheses (p) is false. Therefore, the conclusion q is incorrect. Fall 2002 CMSC 203 - Discrete 175
  • 176. Arguments Another example: “If it rains today, then we will not have a barbeque today. If we do not have a barbeque today, then we will have a barbeque tomorrow. Therefore, if it rains today, then we will have a barbeque tomorrow.” This is a valid argument: If its hypotheses are true, then its conclusion is also true. Fall 2002 CMSC 203 - Discrete 176
  • 177. Arguments Let us formalize the previous argument: p: “It is raining today.” q: “We will not have a barbecue today.” r: “We will have a barbecue tomorrow.” So the argument is of the following form: p→q Hypothetical q→r _____ syllogism ∴ p→r Fall 2002 CMSC 203 - Discrete 177
  • 178. Arguments Another example: Gary is either intelligent or a good actor. If Gary is intelligent, then he can count from 1 to 10. Gary can only count from 1 to 2. Therefore, Gary is a good actor. i: “Gary is intelligent.” a: “Gary is a good actor.” c: “Gary can count from 1 to 10.” Fall 2002 CMSC 203 - Discrete 178
  • 179. Arguments i: “Gary is intelligent.” a: “Gary is a good actor.” c: “Gary can count from 1 to 10.” Step 1: Step 2: Step 3: Step 4: Step 5: ¬c i→c ¬i a∨i a Hypothesis Hypothesis Modus tollens Steps 1 & 2 Hypothesis Disjunctive Syllogism Steps 3 & 4 Conclusion: a (“Gary is a good actor.”) Fall 2002 CMSC 203 - Discrete 179
  • 180. Arguments Yet another example: If you listen to me, you will pass CS 320. You passed CS 320. Therefore, you have listened to me. Is this argument valid? No, it assumes ((p→q) ∧ q) → p. This statement is not a tautology. It is false if p is false and q is true. Fall 2002 CMSC 203 - Discrete 180
  • 181. Rules of Inference for Quantified Statements ∀x P(x) __________ ∴ P(c) if c∈U Universal instantiation P(c) for an arbitrary c∈U ___________________ ∴ ∀x P(x) Universal generalization ∃x P(x) ______________________ ∴ P(c) for some element c∈U Existential instantiation P(c) for some element c∈U ____________________ ∴ ∃x P(x) Existential generalization Fall 2002 CMSC 203 - Discrete 181
  • 182. Rules of Inference for Quantified Statements Example: Every UMB student is a genius. George is a UMB student. Therefore, George is a genius. U(x): “x is a UMB student.” G(x): “x is a genius.” Fall 2002 CMSC 203 - Discrete 182
  • 183. Rules of Inference for Quantified Statements The following steps are used in the argument: Step 1: ∀x (U(x) → G(x)) Hypothesis Step 2: U(George) → G(George) Univ. instantiation using Step 1 Step 3: U(George) Hypothesis Step 4: G(George) Modus ponens using Steps 2 & 3 ∀x P(x) __________ Universal ∴ P(c) if c∈U instantiation Fall 2002 CMSC 203 - Discrete 183
  • 184. Proving Theorems Direct proof: An implication p→q can be proved by showing that if p is true, then q is also true. Example: Give a direct proof of the theorem “If n is odd, then n2 is odd.” Idea: Assume that the hypothesis of this implication is true (n is odd). Then use rules of inference and known theorems to show that q must also be true (n2 is odd). Fall 2002 CMSC 203 - Discrete 184
  • 185. Proving Theorems n is odd. Then n = 2k + 1, where k is an integer. Consequently, n2 = (2k + 1)2. = 4k2 + 4k + 1 = 2(2k2 + 2k) + 1 Since n2 can be written in this form, it is odd. Fall 2002 CMSC 203 - Discrete 185
  • 186. Proving Theorems Indirect proof: An implication p→q is equivalent to its contrapositive ¬q → ¬p. Therefore, we can prove p→q by showing that whenever q is false, then p is also false. Example: Give an indirect proof of the theorem “If 3n + 2 is odd, then n is odd.” Idea: Assume that the conclusion of this implication is false (n is even). Then use rules of inference and known theorems to show that p must also be false (3n + 2 is even). Fall 2002 CMSC 203 - Discrete 186
  • 187. Proving Theorems n is even. Then n = 2k, where k is an integer. It follows that 3n + 2 = 3(2k) + 2 = 6k + 2 = 2(3k + 1) Therefore, 3n + 2 is even. We have shown that the contrapositive of the implication is true, so the implication itself is also true (If 2n + 3 is odd, then n is odd). Fall 2002 CMSC 203 - Discrete 187
  • 188. Follow me for a walk through... Mathematical Induction Fall 2002 CMSC 203 - Discrete 188
  • 189. Induction The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them. Fall 2002 CMSC 203 - Discrete 189
  • 190. Induction If we have a propositional function P(n), and we want to prove that P(n) is true for any natural number n, we do the following: • Show that P(0) is true. (basis step) • Show that if P(n) then P(n + 1) for any n∈N. (inductive step) • Then P(n) must be true for any n∈N. (conclusion) Fall 2002 CMSC 203 - Discrete 190
  • 191. Induction Example: Show that n < 2n for all positive integers n. Let P(n) be the proposition “n < 2n.” 1. Show that P(1) is true. (basis step) P(1) is true, because 1 < 21 = 2. Fall 2002 CMSC 203 - Discrete 191
  • 192. Induction 2. Show that if P(n) is true, then P(n + 1) is true. (inductive step) Assume that n < 2n is true. We need to show that P(n + 1) is true, i.e. n + 1 < 2n+1 We start from n < 2n: n + 1 < 2n + 1 ≤ 2n + 2n = 2n+1 Therefore, if n < 2n then n + 1 < 2n+1 Fall 2002 CMSC 203 - Discrete 192
  • 193. Induction • Then P(n) must be true for any positive integer. (conclusion) n < 2n is true for any positive integer. End of proof. Fall 2002 CMSC 203 - Discrete 193
  • 194. Induction Another Example (“Gauss”): 1 + 2 + … + n = n (n + 1)/2 • Show that P(0) is true. (basis step) For n = 0 we get 0 = 0. True. Fall 2002 CMSC 203 - Discrete 194
  • 195. Induction • Show that if P(n) then P(n + 1) for any n∈N. (inductive step) 1 + 2 + … + n = n (n + 1)/2 1 + 2 + … + n + (n + 1) = n (n + 1)/2 + (n + 1) = (2n + 2 + n (n + 1))/2 = (2n + 2 + n2 + n)/2 = (2 + 3n + n2 )/2 = (n + 1) (n + 2)/2 = (n + 1) ((n + 1) + 1)/2 Fall 2002 CMSC 203 - Discrete 195
  • 196. Induction • Then P(n) must be true for any n∈N. (conclusion) 1 + 2 + … + n = n (n + 1)/2 is true for all n∈N. End of proof. Fall 2002 CMSC 203 - Discrete 196
  • 197. Induction There is another proof technique that is very similar to the principle of mathematical induction. It is called the second principle of mathematical induction. It can be used to prove that a propositional function P(n) is true for any natural number n. Fall 2002 CMSC 203 - Discrete 197
  • 198. Induction The second principle of mathematical induction: • Show that P(0) is true. (basis step) • Show that if P(0) and P(1) and … and P(n), then P(n + 1) for any n∈N. (inductive step) • Then P(n) must be true for any n∈N. (conclusion) Fall 2002 CMSC 203 - Discrete 198
  • 199. Induction Example: Show that every integer greater than 1 can be written as the product of primes. • Show that P(2) is true. (basis step) 2 is the product of one prime: itself. Fall 2002 CMSC 203 - Discrete 199
  • 200. Induction • Show that if P(2) and P(3) and … and P(n), then P(n + 1) for any n∈N. (inductive step) Two possible cases: • If (n + 1) is prime, then obviously P(n + 1) is true. • If (n + 1) is composite, it can be written as the product of two integers a and b such that 2 ≤ a ≤ b < n + 1. By the induction hypothesis, both a and b can be written as the product of primes. Therefore, n + 1 = a⋅b can be written as the product of primes. Fall 2002 CMSC 203 - Discrete 200
  • 201. Induction • Then P(n) must be true for any n∈N. (conclusion) End of proof. We have shown that every integer greater than 1 can be written as the product of primes. Fall 2002 CMSC 203 - Discrete 201
  • 202. If I told you once, it must be... Recursion Fall 2002 CMSC 203 - Discrete 202
  • 203. Recursive Definitions Recursion is a principle closely related to mathematical induction. In a recursive definition, an object is defined in terms of itself. We can recursively define sequences, functions and sets. Fall 2002 CMSC 203 - Discrete 203
  • 204. Recursively Defined Sequences Example: The sequence {an} of powers of 2 is given by an = 2n for n = 0, 1, 2, … . The same sequence can also be defined recursively: a0 = 1 an+1 = 2an for n = 0, 1, 2, … Obviously, induction and recursion are similar principles. Fall 2002 CMSC 203 - Discrete 204
  • 205. Recursively Defined Functions We can use the following method to define a function with the natural numbers as its domain: • Specify the value of the function at zero. • Give a rule for finding its value at any integer from its values at smaller integers. Such a definition is called recursive or inductive definition. Fall 2002 CMSC 203 - Discrete 205
  • 206. Recursively Defined Functions Example: f(0) = 3 f(n + 1) = 2f(n) + 3 f(0) = 3 f(1) = 2f(0) + 3 = 2⋅3 + 3 = 9 f(2) = 2f(1) + 3 = 2⋅9 + 3 = 21 f(3) = 2f(2) + 3 = 2⋅21 + 3 = 45 f(4) = 2f(3) + 3 = 2⋅45 + 3 = 93 Fall 2002 CMSC 203 - Discrete 206
  • 207. Recursively Defined Functions How can we recursively define the factorial function f(n) = n! ? f(0) = 1 f(n + 1) = (n + 1)f(n) f(0) = 1 f(1) = 1f(0) = 1⋅1 = 1 f(2) = 2f(1) = 2⋅1 = 2 f(3) = 3f(2) = 3⋅2 = 6 f(4) = 4f(3) = 4⋅6 = 24 Fall 2002 CMSC 203 - Discrete 207
  • 208. Recursively Defined Functions A famous example: The Fibonacci numbers f(0) = 0, f(1) = 1 f(n) = f(n – 1) + f(n - 2) f(0) = 0 f(1) = 1 f(2) = f(1) + f(0) = 1 + 0 = 1 f(3) = f(2) + f(1) = 1 + 1 = 2 f(4) = f(3) + f(2) = 2 + 1 = 3 f(5) = f(4) + f(3) = 3 + 2 = 5 f(6) = f(5) + f(4) = 5 + 3 = 8 Fall 2002 CMSC 203 - Discrete 208
  • 209. Recursively Defined Sets If we want to recursively define a set, we need to provide two things: • an initial set of elements, • rules for the construction of additional elements from elements in the set. Example: Let S be recursively defined by: 3∈S (x + y) ∈ S if (x ∈ S) and (y ∈ S) S is the set of positive integers divisible by 3. Fall 2002 CMSC 203 - Discrete 209
  • 210. Recursively Defined Sets Proof: Let A be the set of all positive integers divisible by 3. To show that A = S, we must show that A ⊆ S and S ⊆ A. Part I: To prove that A ⊆ S, we must show that every positive integer divisible by 3 is in S. We will use mathematical induction to show this. Fall 2002 CMSC 203 - Discrete 210
  • 211. Recursively Defined Sets Let P(n) be the statement “3n belongs to S”. Basis step: P(1) is true, because 3 is in S. Inductive step: To show: If P(n) is true, then P(n + 1) is true. Assume 3n is in S. Since 3n is in S and 3 is in S, it follows from the recursive definition of S that 3n + 3 = 3(n + 1) is also in S. Conclusion of Part I: A ⊆ S. Fall 2002 CMSC 203 - Discrete 211
  • 212. Recursively Defined Sets Part II: To show: S ⊆ A. Basis step: To show: All initial elements of S are in A. 3 is in A. True. Inductive step: To show: (x + y) is in A whenever x and y are in S. If x and y are both in A, it follows that 3 | x and 3 | y. From Theorem I, Section 2.3, it follows that 3 | (x + y). Conclusion of Part II: S ⊆ A. Overall conclusion: A = S. Fall 2002 CMSC 203 - Discrete 212
  • 213. Recursively Defined Sets Another example: The well-formed formulae of variables, numerals and operators from {+, -, *, /, ^} are defined by: x is a well-formed formula if x is a numeral or variable. (f + g), (f – g), (f * g), (f / g), (f ^ g) are wellformed formulae if f and g are. Fall 2002 CMSC 203 - Discrete 213
  • 214. Recursively Defined Sets With this definition, we can construct formulae such as: (x – y) ((z / 3) – y) ((z / 3) – (6 + 5)) ((z / (2 * 4)) – (6 + 5)) Fall 2002 CMSC 203 - Discrete 214
  • 215. Recursive Algorithms An algorithm is called recursive if it solves a problem by reducing it to an instance of the same problem with smaller input. Example I: Recursive Euclidean Algorithm procedure gcd(a, b: nonnegative integers with a < b) if a = 0 then gcd(a, b) := b else gcd(a, b) := gcd(b mod a, a) Fall 2002 CMSC 203 - Discrete 215
  • 216. Recursive Algorithms Example II: Recursive Fibonacci Algorithm procedure fibo(n: nonnegative integer) if n = 0 then fibo(0) := 0 else if n = 1 then fibo(1) := 1 else fibo(n) := fibo(n – 1) + fibo(n – 2) Fall 2002 CMSC 203 - Discrete 216
  • 217. Recursive Algorithms Recursive Fibonacci Evaluation: f(4) f(3) f(2) f(2) f(1) f(1) Fall 2002 f(1) f(0) f(0) CMSC 203 - Discrete 217
  • 218. Recursive Algorithms procedure iterative_fibo(n: nonnegative integer) if n = 0 then y := 0 else begin x := 0 y := 1 for i := 1 to n-1 begin z := x + y x:=y y := z end end {y is the n-th Fibonacci number} Fall 2002 CMSC 203 - Discrete 218
  • 219. Recursive Algorithms For every recursive algorithm, there is an equivalent iterative algorithm. Recursive algorithms are often shorter, more elegant, and easier to understand than their iterative counterparts. However, iterative algorithms are usually more efficient in their use of space and time. Fall 2002 CMSC 203 - Discrete 219
  • 220. One, two, three, we’re… Counting Fall 2002 CMSC 203 - Discrete 220
  • 221. Basic Counting Principles Counting problems are of the following kind: “How many different 8-letter passwords are there?” “How many possible ways are there to pick 11 soccer players out of a 20-player team?” Most importantly, counting is the basis for computing probabilities of discrete events. (“What is the probability of winning the lottery?”) Fall 2002 CMSC 203 - Discrete 221
  • 222. Basic Counting Principles The sum rule: If a task can be done in n1 ways and a second task in n2 ways, and if these two tasks cannot be done at the same time, then there are n1 + n2 ways to do either task. Example: The department will award a free computer to either a CS student or a CS professor. How many different choices are there, if there are 530 students and 15 professors? There are 530 + 15 = 545 choices. Fall 2002 CMSC 203 - Discrete 222
  • 223. Basic Counting Principles Generalized sum rule: If we have tasks T1, T2, …, Tm that can be done in n1, n2, …, nm ways, respectively, and no two of these tasks can be done at the same time, then there are n1 + n2 + … + nm ways to do one of these tasks. Fall 2002 CMSC 203 - Discrete 223
  • 224. Basic Counting Principles The product rule: Suppose that a procedure can be broken down into two successive tasks. If there are n1 ways to do the first task and n2 ways to do the second task after the first task has been done, then there are n1n2 ways to do the procedure. Fall 2002 CMSC 203 - Discrete 224
  • 225. Basic Counting Principles Example: How many different license plates are there that containing exactly three English letters ? Solution: There are 26 possibilities to pick the first letter, then 26 possibilities for the second one, and 26 for the last one. So there are 26⋅26⋅26 = 17576 different license plates. Fall 2002 CMSC 203 - Discrete 225
  • 226. Basic Counting Principles Generalized product rule: If we have a procedure consisting of sequential tasks T1, T2, …, Tm that can be done in n1, n2, …, nm ways, respectively, then there are n1 ⋅ n2 ⋅ … ⋅ nm ways to carry out the procedure. Fall 2002 CMSC 203 - Discrete 226
  • 227. Basic Counting Principles The sum and product rules can also be phrased in terms of set theory. Sum rule: Let A1, A2, …, Am be disjoint sets. Then the number of ways to choose any element from one of these sets is |A1 ∪ A2 ∪ … ∪ Am | = |A1| + |A2| + … + |Am|. Product rule: Let A1, A2, …, Am be finite sets. Then the number of ways to choose one element from each set in the order A1, A2, …, Am is |A1 × A2 × … × Am | = |A1| ⋅ |A2| ⋅ … ⋅ |Am|. Fall 2002 CMSC 203 - Discrete 227
  • 228. Inclusion-Exclusion How many bit strings of length 8 either start with a 1 or end with 00? Task 1: Construct a string of length 8 that starts with a 1. There is one way to pick the first bit (1), two ways to pick the second bit (0 or 1), two ways to pick the third bit (0 or 1), . . . two ways to pick the eighth bit (0 or 1). Product rule: Task 1 can be done in 1⋅27 = 128 ways. Fall 2002 CMSC 203 - Discrete 228
  • 229. Inclusion-Exclusion Task 2: Construct a string of length 8 that ends with 00. There are two ways to pick the first bit (0 or 1), two ways to pick the second bit (0 or 1), . . . two ways to pick the sixth bit (0 or 1), one way to pick the seventh bit (0), and one way to pick the eighth bit (0). Product rule: Task 2 can be done in 26 = 64 ways. Fall 2002 CMSC 203 - Discrete 229
  • 230. Inclusion-Exclusion Since there are 128 ways to do Task 1 and 64 ways to do Task 2, does this mean that there are 192 bit strings either starting with 1 or ending with 00 ? No, because here Task 1 and Task 2 can be done at the same time. When we carry out Task 1 and create strings starting with 1, some of these strings end with 00. Therefore, we sometimes do Tasks 1 and 2 at the same time, so the sum rule does not apply. Fall 2002 CMSC 203 - Discrete 230
  • 231. Inclusion-Exclusion If we want to use the sum rule in such a case, we have to subtract the cases when Tasks 1 and 2 are done at the same time. How many cases are there, that is, how many strings start with 1 and end with 00? There is one way to pick the first bit (1), two ways for the second, …, sixth bit (0 or 1), one way for the seventh, eighth bit (0). Product rule: In 25 = 32 cases, Tasks 1 and 2 are carried out at the same time. Fall 2002 CMSC 203 - Discrete 231
  • 232. Inclusion-Exclusion Since there are 128 ways to complete Task 1 and 64 ways to complete Task 2, and in 32 of these cases Tasks 1 and 2 are completed at the same time, there are 128 + 64 – 32 = 160 ways to do either task. In set theory, this corresponds to sets A1 and A2 that are not disjoint. Then we have: |A1 ∪ A2| = |A1| + |A2| - |A1 ∩ A2| This is called the principle of inclusion-exclusion. Fall 2002 CMSC 203 - Discrete 232
  • 233. Tree Diagrams How many bit strings of length four do not have two consecutive 1s? Task 1 Task 2 Task 3 Task 4 (1st bit) (2nd bit) (3rd bit) (4th bit) 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 There are 8 strings. Fall 2002 CMSC 203 - Discrete 233
  • 234. The Pigeonhole Principle The pigeonhole principle: If (k + 1) or more objects are placed into k boxes, then there is at least one box containing two or more of the objects. Example 1: If there are 11 players in a soccer team that wins 12-0, there must be at least one player in the team who scored at least twice. Example 2: If you have 6 classes from Monday to Friday, there must be at least one day on which you have at least two classes. Fall 2002 CMSC 203 - Discrete 234
  • 235. The Pigeonhole Principle The generalized pigeonhole principle: If N objects are placed into k boxes, then there is at least one box containing at least N/k of the objects. Example 1: In our 60-student class, at least 12 students will get the same letter grade (A, B, C, D, or F). Fall 2002 CMSC 203 - Discrete 235
  • 236. The Pigeonhole Principle Example 2: Assume you have a drawer containing a random distribution of a dozen brown socks and a dozen black socks. It is dark, so how many socks do you have to pick to be sure that among them there is a matching pair? There are two types of socks, so if you pick at least 3 socks, there must be either at least two brown socks or at least two black socks. Generalized pigeonhole principle: 3/2 = 2. Fall 2002 CMSC 203 - Discrete 236
  • 237. Permutations and Combinations How many ways are there to pick a set of 3 people from a group of 6? There are 6 choices for the first person, 5 for the second one, and 4 for the third one, so there are 6⋅5⋅4 = 120 ways to do this. This is not the correct result! For example, picking person C, then person A, and then person E leads to the same group as first picking E, then C, and then A. However, these cases are counted separately in the above equation. Fall 2002 CMSC 203 - Discrete 237
  • 238. Permutations and Combinations So how can we compute how many different subsets of people can be picked (that is, we want to disregard the order of picking) ? To find out about this, we need to look at permutations. A permutation of a set of distinct objects is an ordered arrangement of these objects. An ordered arrangement of r elements of a set is called an r-permutation. Fall 2002 CMSC 203 - Discrete 238
  • 239. Permutations and Combinations Example: Let S = {1, 2, 3}. The arrangement 3, 1, 2 is a permutation of S. The arrangement 3, 2 is a 2-permutation of S. The number of r-permutations of a set with n distinct elements is denoted by P(n, r). We can calculate P(n, r) with the product rule: P(n, r) = n⋅(n – 1)⋅(n – 2) ⋅…⋅(n – r + 1). (n choices for the first element, (n – 1) for the second one, (n – 2) for the third one…) Fall 2002 CMSC 203 - Discrete 239
  • 240. Permutations and Combinations Example: P(8, 3) = 8⋅7⋅6 = 336 = (8⋅7⋅6⋅5⋅4⋅3⋅2⋅1)/(5⋅4⋅3⋅2⋅1) General formula: P(n, r) = n!/(n – r)! Knowing this, we can return to our initial question: How many ways are there to pick a set of 3 people from a group of 6 (disregarding the order of picking)? Fall 2002 CMSC 203 - Discrete 240
  • 241. Permutations and Combinations An r-combination of elements of a set is an unordered selection of r elements from the set. Thus, an r-combination is simply a subset of the set with r elements. Example: Let S = {1, 2, 3, 4}. Then {1, 3, 4} is a 3-combination from S. The number of r-combinations of a set with n distinct elements is denoted by C(n, r). Example: C(4, 2) = 6, since, for example, the 2combinations of a set {1, 2, 3, 4} are {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}. Fall 2002 CMSC 203 - Discrete 241
  • 242. Permutations and Combinations How can we calculate C(n, r)? Consider that we can obtain the r-permutation of a set in the following way: First, we form all the r-combinations of the set (there are C(n, r) such r-combinations). Then, we generate all possible orderings in each of these r-combinations (there are P(r, r) such orderings in each case). Therefore, we have: P(n, r) = C(n, r)⋅P(r, r) Fall 2002 CMSC 203 - Discrete 242
  • 243. Permutations and Combinations C(n, r) = P(n, r)/P(r, r) = n!/(n – r)!/(r!/(r – r)!) = n!/(r!(n – r)!) Now we can answer our initial question: How many ways are there to pick a set of 3 people from a group of 6 (disregarding the order of picking)? C(6, 3) = 6!/(3!⋅3!) = 720/(6⋅6) = 720/36 = 20 There are 20 different ways, that is, 20 different groups to be picked. Fall 2002 CMSC 203 - Discrete 243
  • 244. Permutations and Combinations Corollary: Let n and r be nonnegative integers with r ≤ n. Then C(n, r) = C(n, n – r). Note that “picking a group of r people from a group of n people” is the same as “splitting a group of n people into a group of r people and another group of (n – r) people”. Please also look at proof on page 252. Fall 2002 CMSC 203 - Discrete 244
  • 245. Permutations and Combinations Example: A soccer club has 8 female and 7 male members. For today’s match, the coach wants to have 6 female and 5 male players on the grass. How many possible configurations are there? C(8, 6) ⋅ C(7, 5) = 8!/(6!⋅2!) ⋅ 7!/(5!⋅2!) = 28⋅21 = 588 Fall 2002 CMSC 203 - Discrete 245
  • 246. Combinations We also saw the following: n! n! C (n, n − r ) = = = C (n, r ) (n − r )![n − (n − r )]! (n − r )!r! This symmetry is intuitively plausible. For example, let us consider a set containing six elements (n = 6). Picking two elements and leaving four is essentially the same as picking four elements and leaving two. In either case, our number of choices is the number of possibilities to divide the set into one set containing two elements and another set containing four elements. Fall 2002 CMSC 203 - Discrete 246
  • 247. Combinations Pascal’s Identity: Let n and k be positive integers with n ≥ k. Then C(n + 1, k) = C(n, k – 1) + C(n, k). How can this be explained? What is it good for? Fall 2002 CMSC 203 - Discrete 247
  • 248. Combinations Imagine a set S containing n elements and a set T containing (n + 1) elements, namely all elements in S plus a new element a. Calculating C(n + 1, k) is equivalent to answering the question: How many subsets of T containing k items are there? Case I: The subset contains (k – 1) elements of S plus the element a: C(n, k – 1) choices. Case II: The subset contains k elements of S and does not contain a: C(n, k) choices. Sum Rule: C(n + 1, k) = C(n, k – 1) + C(n, k). Fall 2002 CMSC 203 - Discrete 248
  • 249. Pascal’s Triangle In Pascal’s triangle, each number is the sum of the numbers to its upper left and upper right: 1 1 1 1 1 … Fall 2002 2 3 4 … 1 1 3 6 … 1 4 … CMSC 203 - Discrete 1 … … 249
  • 250. Pascal’s Triangle Since we have C(n + 1, k) = C(n, k – 1) + C(n, k) and C(0, 0) = 1, we can use Pascal’s triangle to simplify the computation of C(n, k): k C(0, 0) = 1 C(1, 0) = 1 C(1, 1) = 1 n C(2, 0) = 1 C(2, 1) = 2 C(2, 2) = 1 C(3, 0) = 1 C(3, 1) = 3 C(3, 2) = 3 C(3, 3) = 1 C(4, 0) = 1 C(4, 1) = 4 C(4, 2) = 6 C(4, 3) = 4 C(4, 4) = 1 Fall 2002 CMSC 203 - Discrete 250
  • 251. Binomial Coefficients Expressions of the form C(n, k) are also called binomial coefficients. How come? A binomial expression is the sum of two terms, such as (a + b). Now consider (a + b)2 = (a + b)(a + b). When expanding such expressions, we have to form all possible products of a term in the first factor and a term in the second factor: (a + b)2 = a·a + a·b + b·a + b·b Then we can sum identical terms: (a + b)2 = a2 + 2ab + b2 Fall 2002 CMSC 203 - Discrete 251
  • 252. Binomial Coefficients For (a + b)3 = (a + b)(a + b)(a + b) we have (a + b)3 = aaa + aab + aba + abb + baa + bab + bba + bbb (a + b)3 = a3 + 3a2b + 3ab2 + b3 There is only one term a3, because there is only one possibility to form it: Choose a from all three factors: C(3, 3) = 1. There is three times the term a2b, because there are three possibilities to choose a from two out of the three factors: C(3, 2) = 3. Similarly, there is three times the term ab2 (C(3, 1) = 3) and once the term b3 (C(3, 0) = 1). Fall 2002 CMSC 203 - Discrete 252
  • 253. Binomial Coefficients This leads us to the following formula: n ( a + b ) n = ∑ C ( n, j ) ⋅ a n − j b j (Binomial Theorem) j =0 With the help of Pascal’s triangle, this formula can considerably simplify the process of expanding powers of binomial expressions. For example, the fifth row of Pascal’s triangle (1 – 4 – 6 – 4 – 1) helps us to compute (a + b)4: (a + b)4 = a4 + 4a3b + 6a2b2 + 4ab3 + b4 Fall 2002 CMSC 203 - Discrete 253
  • 254. Now it’s Time for… Recurrence Relations Fall 2002 CMSC 203 - Discrete 254
  • 255. Recurrence Relations A recurrence relation for the sequence {an} is an equation that expresses an is terms of one or more of the previous terms of the sequence, namely, a0, a1, …, an-1, for all integers n with n ≥ n0, where n0 is a nonnegative integer. A sequence is called a solution of a recurrence relation if it terms satisfy the recurrence relation. Fall 2002 CMSC 203 - Discrete 255
  • 256. Recurrence Relations In other words, a recurrence relation is like a recursively defined sequence, but without specifying any initial values (initial conditions). Therefore, the same recurrence relation can have (and usually has) multiple solutions. If both the initial conditions and the recurrence relation are specified, then the sequence is uniquely determined. Fall 2002 CMSC 203 - Discrete 256
  • 257. Recurrence Relations Example: Consider the recurrence relation an = 2an-1 – an-2 for n = 2, 3, 4, … Is the sequence {an} with an=3n a solution of this recurrence relation? For n ≥ 2 we see that 2an-1 – an-2 = 2(3(n – 1)) – 3(n – 2) = 3n = an. Therefore, {an} with an=3n is a solution of the recurrence relation. Fall 2002 CMSC 203 - Discrete 257
  • 258. Recurrence Relations Is the sequence {an} with an=5 a solution of the same recurrence relation? For n ≥ 2 we see that 2an-1 – an-2 = 2⋅5 - 5 = 5 = an. Therefore, {an} with an=5 is also a solution of the recurrence relation. Fall 2002 CMSC 203 - Discrete 258
  • 259. Modeling with Recurrence Relations Example: Someone deposits $10,000 in a savings account at a bank yielding 5% per year with interest compounded annually. How much money will be in the account after 30 years? Solution: Let Pn denote the amount in the account after n years. How can we determine Pn on the basis of Pn-1? Fall 2002 CMSC 203 - Discrete 259
  • 260. Modeling with Recurrence Relations We can derive the following recurrence relation: Pn = Pn-1 + 0.05Pn-1 = 1.05Pn-1. The initial condition is P0 = 10,000. Then we have: P1 = 1.05P0 P2 = 1.05P1 = (1.05)2P0 P3 = 1.05P2 = (1.05)3P0 … Pn = 1.05Pn-1 = (1.05)nP0 We now have a formula to calculate Pn for any Fall 2002 CMSC 203 - Discrete 260 natural number n and can avoid the iteration.
  • 261. Modeling with Recurrence Relations Let us use this formula to find P30 under the initial condition P0 = 10,000: P30 = (1.05)30⋅10,000 = 43,219.42 After 30 years, the account contains $43,219.42. Fall 2002 CMSC 203 - Discrete 261
  • 262. Modeling with Recurrence Relations Another example: Let an denote the number of bit strings of length n that do not have two consecutive 0s (“valid strings”). Find a recurrence relation and give initial conditions for the sequence {an}. Solution: Idea: The number of valid strings equals the number of valid strings ending with a 0 plus the number of valid strings ending with a 1. Fall 2002 CMSC 203 - Discrete 262
  • 263. Modeling with Recurrence Relations Let us assume that n ≥ 3, so that the string contains at least 3 bits. Let us further assume that we know the number an-1 of valid strings of length (n – 1). Then how many valid strings of length n are there, if the string ends with a 1? There are an-1 such strings, namely the set of valid strings of length (n – 1) with a 1 appended to them. Note: Whenever we append a 1 to a valid string, that string remains valid. Fall 2002 CMSC 203 - Discrete 263
  • 264. Modeling with Recurrence Relations Now we need to know: How many valid strings of length n are there, if the string ends with a 0? Valid strings of length n ending with a 0 must have a 1 as their (n – 1)st bit (otherwise they would end with 00 and would not be valid). And what is the number of valid strings of length (n – 1) that end with a 1? We already know that there are an-1 strings of length n that end with a 1. Therefore, there are an-2 strings of length (n – 1) that end with a 1. Fall 2002 CMSC 203 - Discrete 264
  • 265. Modeling with Recurrence Relations So there are an-2 valid strings of length n that end with a 0 (all valid strings of length (n – 2) with 10 appended to them). As we said before, the number of valid strings is the number of valid strings ending with a 0 plus the number of valid strings ending with a 1. That gives us the following recurrence relation: an = an-1 + an-2 Fall 2002 CMSC 203 - Discrete 265
  • 266. Modeling with Recurrence Relations What are the initial conditions? a1 = 2 (0 and 1) a2 = 3 (01, 10, and 11) a3 = a2 + a1 = 3 + 2 = 5 a4 = a3 + a2 = 5 + 3 = 8 a5 = a4 + a3 = 8 + 5 = 13 … This sequence satisfies the same recurrence relation as the Fibonacci sequence. Since a1 = f3 and a2 = f4, we have an = fn+2. Fall 2002 CMSC 203 - Discrete 266
  • 267. Solving Recurrence Relations In general, we would prefer to have an explicit formula to compute the value of an rather than conducting n iterations. For one class of recurrence relations, we can obtain such formulas in a systematic way. Those are the recurrence relations that express the terms of a sequence as linear combinations of previous terms. Fall 2002 CMSC 203 - Discrete 267
  • 268. Solving Recurrence Relations Definition: A linear homogeneous recurrence relation of degree k with constant coefficients is a recurrence relation of the form: an = c1an-1 + c2an-2 + … + ckan-k, Where c1, c2, …, ck are real numbers, and ck ≠ 0. A sequence satisfying such a recurrence relation is uniquely determined by the recurrence relation and the k initial conditions a0 = C0, a1 = C1, a2 = C2, …, ak-1 = Ck-1. Fall 2002 CMSC 203 - Discrete 268
  • 269. Solving Recurrence Relations Examples: The recurrence relation Pn = (1.05)Pn-1 is a linear homogeneous recurrence relation of degree one. The recurrence relation fn = fn-1 + fn-2 is a linear homogeneous recurrence relation of degree two. The recurrence relation an = an-5 is a linear homogeneous recurrence relation of degree five. Fall 2002 CMSC 203 - Discrete 269
  • 270. Solving Recurrence Relations Basically, when solving such recurrence relations, we try to find solutions of the form an = rn, where r is a constant. an = rn is a solution of the recurrence relation an = c1an-1 + c2an-2 + … + ckan-k if and only if rn = c1rn-1 + c2rn-2 + … + ckrn-k. Divide this equation by rn-k and subtract the righthand side from the left: rk - c1rk-1 - c2rk-2 - … - ck-1r - ck = 0 This is called the characteristic equation of the recurrence relation. Fall 2002 CMSC 203 - Discrete 270
  • 271. Solving Recurrence Relations The solutions of this equation are called the characteristic roots of the recurrence relation. Let us consider linear homogeneous recurrence relations of degree two. Theorem: Let c1 and c2 be real numbers. Suppose that r2 – c1r – c2 = 0 has two distinct roots r1 and r2. Then the sequence {an} is a solution of the recurrence relation an = c1an-1 + c2an-2 if and only if an = α1r1n + α2r2n for n = 0, 1, 2, …, where α1 and α2 are constants. See pp. 321 and 322 for the proof. Fall 2002 CMSC 203 - Discrete 271
  • 272. Solving Recurrence Relations Example: What is the solution of the recurrence relation an = an-1 + 2an-2 with a0 = 2 and a1 = 7 ? Solution: The characteristic equation of the recurrence relation is r2 – r – 2 = 0. Its roots are r = 2 and r = -1. Hence, the sequence {an} is a solution to the recurrence relation if and only if: an = α12n + α2(-1)n for some constants α1 and α2. Fall 2002 CMSC 203 - Discrete 272
  • 273. Solving Recurrence Relations Given the equation an = α12n + α2(-1)n and the initial conditions a0 = 2 and a1 = 7, it follows that a0 = 2 = α1 + α2 a1 = 7 = α1⋅2 + α2 ⋅(-1) Solving these two equations gives us α1 = 3 and α2 = -1. Therefore, the solution to the recurrence relation and initial conditions is the sequence {an} with an = 3⋅2n – (-1)n. Fall 2002 CMSC 203 - Discrete 273
  • 274. Solving Recurrence Relations an = rn is a solution of the linear homogeneous recurrence relation an = c1an-1 + c2an-2 + … + ckan-k if and only if rn = c1rn-1 + c2rn-2 + … + ckrn-k. Divide this equation by rn-k and subtract the righthand side from the left: rk - c1rk-1 - c2rk-2 - … - ck-1r - ck = 0 This is called the characteristic equation of the recurrence relation. Fall 2002 CMSC 203 - Discrete 274
  • 275. Solving Recurrence Relations The solutions of this equation are called the characteristic roots of the recurrence relation. Let us consider linear homogeneous recurrence relations of degree two. Theorem: Let c1 and c2 be real numbers. Suppose that r2 – c1r – c2 = 0 has two distinct roots r1 and r2. Then the sequence {an} is a solution of the recurrence relation an = c1an-1 + c2an-2 if and only if an = α1r1n + α2r2n for n = 0, 1, 2, …, where α1 and α2 are constants. See pp. 321 and 322 for the proof. Fall 2002 CMSC 203 - Discrete 275
  • 276. Solving Recurrence Relations Example: Give an explicit formula for the Fibonacci numbers. Solution: The Fibonacci numbers satisfy the recurrence relation fn = fn-1 + fn-2 with initial conditions f0 = 0 and f1 = 1. The characteristic equation is r2 – r – 1 = 0. Its roots are 1+ 5 1− 5 r1 = , r2 = 2 2 Fall 2002 CMSC 203 - Discrete 276
  • 277. Solving Recurrence Relations Therefore, the Fibonacci numbers are given by n n 1+ 5  1− 5   + α2  f n = α1   2   2      for some constants α1 and α2. We can determine values for these constants so that the sequence meets the conditions f0 = 0 and f1 = 1: f 0 = α1 + α 2 = 0 1+ 5  1− 5   + α2  =1 f1 = α1   2   2      Fall 2002 CMSC 203 - Discrete 277
  • 278. Solving Recurrence Relations The unique solution to this system of two equations and two variables is 1 1 α1 = , α2 = − 5 5 So finally we obtained an explicit formula for the Fibonacci numbers: n 1 1+ 5  1 1− 5    −   fn = 5 2  5 2      Fall 2002 n CMSC 203 - Discrete 278
  • 279. Solving Recurrence Relations But what happens if the characteristic equation has only one root? How can we then match our equation with the initial conditions a0 and a1 ? Theorem: Let c1 and c2 be real numbers with c2 ≠ 0. Suppose that r2 – c1r – c2 = 0 has only one root r0. A sequence {an} is a solution of the recurrence relation an = c1an-1 + c2an-2 if and only if an = α1r0n + α2nr0n, for n = 0, 1, 2, …, where α1 and α2 are constants. Fall 2002 CMSC 203 - Discrete 279
  • 280. Solving Recurrence Relations Example: What is the solution of the recurrence relation an = 6an-1 – 9an-2 with a0 = 1 and a1 = 6? Solution: The only root of r2 – 6r + 9 = 0 is r0 = 3. Hence, the solution to the recurrence relation is an = α13n + α2n3n for some constants α1 and α2. To match the initial condition, we need a0 = 1 = α1 a1 = 6 = α1⋅3 + α2⋅3 Solving these equations yields α1 = 1 and α2 = 1. Consequently, the overall solution is given by an = 3n 2002 n. CMSC 203 - Discrete Fall + n3 280
  • 281. You Never Escape Your… Relations Fall 2002 CMSC 203 - Discrete 281
  • 282. Relations If we want to describe a relationship between elements of two sets A and B, we can use ordered pairs with their first element taken from A and their second element taken from B. Since this is a relation between two sets, it is called a binary relation. Definition: Let A and B be sets. A binary relation from A to B is a subset of A×B. In other words, for a binary relation R we have R ⊆ A×B. We use the notation aRb to denote that (a, b)∈R and aRb to denote that (a, b)∉R. a Fall 2002 CMSC 203 - Discrete 282
  • 283. Relations When (a, b) belongs to R, a is said to be related to b by R. Example: Let P be a set of people, C be a set of cars, and D be the relation describing which person drives which car(s). P = {Carl, Suzanne, Peter, Carla}, C = {Mercedes, BMW, tricycle} D = {(Carl, Mercedes), (Suzanne, Mercedes), (Suzanne, BMW), (Peter, tricycle)} This means that Carl drives a Mercedes, Suzanne drives a Mercedes and a BMW, Peter drives a tricycle, and Carla does not drive any of these vehicles. Fall 2002 CMSC 203 - Discrete 283
  • 284. Functions as Relations You might remember that a function f from a set A to a set B assigns a unique element of B to each element of A. The graph of f is the set of ordered pairs (a, b) such that b = f(a). Since the graph of f is a subset of A×B, it is a relation from A to B. Moreover, for each element a of A, there is exactly one ordered pair in the graph that has a as its first element. Fall 2002 CMSC 203 - Discrete 284
  • 285. Functions as Relations Conversely, if R is a relation from A to B such that every element in A is the first element of exactly one ordered pair of R, then a function can be defined with R as its graph. This is done by assigning to an element a∈A the unique element b∈B such that (a, b)∈R. Fall 2002 CMSC 203 - Discrete 285
  • 286. Relations on a Set Definition: A relation on the set A is a relation from A to A. In other words, a relation on the set A is a subset of A×A. Example: Let A = {1, 2, 3, 4}. Which ordered pairs are in the relation R = {(a, b) | a < b} ? Fall 2002 CMSC 203 - Discrete 286
  • 287. Relations on a Set Solution: R = { (1, 2), (1, 3), (1, 4), (2, 3),(2, 4),(3, 4)} 1 1 R 1 2 2 3 3 2 3 4 X X X X X 3 4 1 4 4 Fall 2002 2 CMSC 203 - Discrete X 287
  • 288. Relations on a Set How many different relations can we define on a set A with n elements? A relation on a set A is a subset of A×A. How many elements are in A×A ? There are n2 elements in A×A, so how many subsets (= relations on A) does A×A have? The number of subsets that we can form out of a m n2 set with m elements is 2 . Therefore, 2 subsets can be formed out of A×A. 2 Answer: We can define 2n 2 different relations on A. Fall 2002 CMSC 203 - Discrete 288
  • 289. Properties of Relations We will now look at some useful ways to classify relations. Definition: A relation R on a set A is called reflexive if (a, a)∈R for every element a∈A. Are the following relations on {1, 2, 3, 4} reflexive? R = {(1, 1), (1, 2), (2, 3), (3, 3), (4, 4)} R = {(1, 1), (2, 2), (2, 3), (3, 3), (4, 4)} R = {(1, 1), (2, 2), (3, 3)} No. Yes. No. Definition: A relation on a set A is called irreflexive if (a, a)∉R for every element a∈A. Fall 2002 CMSC 203 - Discrete 289
  • 290. Properties of Relations Definitions: A relation R on a set A is called symmetric if (b, a)∈R whenever (a, b)∈R for all a, b∈A. A relation R on a set A is called antisymmetric if a = b whenever (a, b)∈R and (b, a)∈R. A relation R on a set A is called asymmetric if (a, b)∈R implies that (b, a)∉R for all a, b∈A. Fall 2002 CMSC 203 - Discrete 290
  • 291. Properties of Relations Are the following relations on {1, 2, 3, 4} symmetric, antisymmetric, or asymmetric? R = {(1, 1), (1, 2), (2, 1), (3, 3), (4, 4)} R = {(1, 1)} symmetric sym. and antisym. R = {(1, 3), (3, 2), (2, 1)} antisym. and asym. R = {(4, 4), (3, 3), (1, 4)} antisym. Fall 2002 CMSC 203 - Discrete 291