You are on page 1of 57

Theory of Languages and

Automata

Chapter 1: An Introduction to the Theory


of Computation (1)

Lecturer: Reza Entezari-Maleki


entezari@iust.ac.ir
Department of Computer Engineering
Iran University of Science and Technology
Mathematical Preliminaries

2
Outlines

• Sets

• Functions and Relations

• Graphs

• Proof Techniques

3
Sets
SETS
A set is a collection of elements
A = {1, 2, 3}
B = {train, bus, bicycle, airplane}

We write
1∈ A
ship ∉ B
5
Set Representations

C = { a, b, c, d, e, f, g, h, i, j, k }

C = { a, b, …, k } finite set

S = { 2, 4, 6, … } infinite set

S = { j : j > 0, and j = 2k for some k>0 }

S = { j : j is nonnegative and even }

6
A = { 1, 2, 3, 4, 5 }
U
6 A
2 3 8
1
7 4 5
9
10

Universal Set: all possible elements

U = { 1 , … , 10 }
7
Set Operations
A = { 1, 2, 3 } B = { 2, 3, 4, 5}
A B
• Union
2 4
1
A U B = { 1, 2, 3, 4, 5 } 3 5

• Intersection
U
A B = { 2, 3 } 2
3
• Difference
A-B={1}
1
B - A = { 4, 5 }
Venn diagrams
8
• Complement
Universal set = {1, …, 7}
A = { 1, 2, 3 } A = { 4, 5, 6, 7}

4
A
A 3 6
1
2
5 7

A=A
9
{ even integers } = { odd integers }

Integers

1 odd
even
6 5
2
0
4
3 7

10
DeMorgan’s Laws

AUB=A B
U

A B=AUB
U

11
Empty, Null Set:
={}

SU =S

S =
U
= Universal Set

S- =S

-S=

12
Subset
A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 }
A B

U
Proper Subset: A B

U
B
A

13
Disjoint Sets
A = { 1, 2, 3 } B = { 5, 6}

A B=
U

A B

14
Set Cardinality
• For finite sets
A = { 2, 5, 7 }

|A| = 3

(set size)

15
Powersets
A powerset is a set of sets

S = { a, b, c }

Powerset of S = the set of all the subsets of S

2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }

Observation: | 2S | = 2|S| ( 8 = 23 )

16
Cartesian Product
A = { 2, 4 } B = { 2, 3, 5 }

A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 5) }

|A X B| = |A| |B|

Generalizes to more than two sets

AXBX…XZ
17
Functions and Relations

18
FUNCTIONS
domain range
4 A B
f(1) = a a
1
2 b
3 c
5
f : A -> B
If A = domain
then f is a total function
otherwise f is a partial function
19
RELATIONS
R = {(x1, y1), (x2, y2), (x3, y3), …}

xi R yi

e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1

In relations xi can be repeated

20
Equivalence Relations
• Reflexive: xRx
• Symmetric: xRy yRx
• Transitive: x R y and y R z xRz

Example: R = ‘=‘
•x=x
•x=y y=x
• x = y and y = z x=z

21
Equivalence Classes
For equivalence relation R
equivalence class of x = {y : x R y}

Example:
R = { (1, 1), (2, 2), (1, 2), (2, 1),
(3, 3), (4, 4), (3, 4), (4, 3) }

Equivalence class of 1 = {1, 2}


Equivalence class of 3 = {3, 4}
22
Graphs

23
GRAPHS
A directed graph
e
b
node d
a
c

• Nodes (Vertices)
V = { a, b, c, d, e }
• Edges
E = { (a, b), (b, c), (c, a), (b, d), (d, c), (e, d) }
24
Labeled Graph

6 e
b 2
1 3
a 6 d
5
c

25
Walk

e
b
a d

Walk is a sequence of adjacent edges


(e, d), (d, c), (c, a)

26
Path

e
b
a d

Path is a walk where no edge is repeated

Simple path: no node is repeated


27
Cycle

base e
b
3
a 1 d
2
c

Cycle: a walk from a node (base) to itself with


no repeated edges

Simple cycle: only the base node is repeated


28
Euler Tour
8 base
7 e
b 1
4 6
a 5 2 d
3
c

A cycle that contains each edge once

29
Hamiltonian Cycle
5 base
e
b 1
4
a 2 d
3
c

A simple cycle that contains all nodes

30
Finding All Simple Paths

e
b f

a d

c
origin

31
Step 1

e
b f
a d

c
origin

(c, a)
(c, e)

32
Step 2
e
b
f
a d

c
(c, a) origin
(c, a), (a, b)
(c, e)
(c, e), (e, b)
(c, e), (e, d)
33
Step 3
e
b
f
a d

(c, a) c
origin
(c, a), (a, b)
(c, e) Repeat the same
(c, e), (e, b) for each starting node
(c, e), (e, d)
(c, e), (e, d), (d, f)
34
Trees
root

parent

leaf

child

Trees have no cycles

35
root
Level 0

Level 1
leaf Height 3

Level 2

Level 3

36
Binary Trees

37
Proof Techniques

38
PROOF TECHNIQUES

•Direct proof (proof by construction)

•Proof by induction

•Proof by contradiction

•Proof by contraposition

39
Direct proof (proof by construction)

The easiest and simplest method of proof available to us

In constructive proof one atempts to demonstrate P=>Q

Steps
• Assume that P is true
Then
• Use P to show that Q must be true

40
Example

Theorem: If a and b are two consecutive integers,


then the sum a+b is odd.

41
Example

Theorem: If a and b are two consecutive integers,


then the sum a+b is odd.

Proof:
Assume that a and b are consecutive integers.
Because a and b are consecutive, we know that b=a+1.
Thus, the sum a+b may be re-written as 2a+1.
Thus, there exists a number k such that a+b=2k+1,
so the sum a+b is odd.

42
Induction

We have statements P1, P2, P3, …

If we know
• for some b that P1, P2, …, Pb are true
• for any k >= b that
P1, P2, …, Pk imply Pk+1
Then
Every Pi is true

43
Proof by Induction
• Inductive basis
Find P1, P2, …, Pb which are true

• Inductive hypothesis
Let’s assume P1, P2, …, Pk are true,
for any k >= b

• Inductive step
Show that Pk+1 is true
44
Example
Theorem: A binary tree of height n
has at most 2n leaves.

45
Example
Theorem: A binary tree of height n
has at most 2n leaves.

Proof:
let l(i) be the number of leaves at level i

l(0) = 1

l(3) = 8
46
We want to show: L(i) <= 2i

• Inductive basis
L(0) = 1 (the root node)

• Inductive hypothesis
Let’s assume L(i) <= 2i for all i = 0, 1, …, k

• Induction step
we need to show that L(k + 1) <= 2k+1
47
Induction Step

Level
k hypothesis: l(k) <= 2k

k+1

48
Induction Step

Level
k hypothesis: l(k) <= 2k

k+1

l(k+1) <= 2 * l(k) <= 2 * 2k = 2k+1

49
Remark
Recursion is another thing

Example of recursive function:

f(n) = f(n-1) + f(n-2) recursive call

f(0) = 1, f(1) = 1 base cases

50
Proof by Contradiction

We want to prove that a statement P is true

• we assume that P is false


• then we arrive at an incorrect conclusion
• therefore, statement P must be true

51
Example

Theorem: 2 is not rational

52
Example
Theorem: 2 is not rational

Proof:
Assume by contradiction that it is rational

2 = n/m
n and m have no common factors

We will show that this is impossible

53
2 = n/m 2 m2 = n2

n is even
Therefore, n2 is even
n=2k

m is even
2 m2 = 4k2 m2 = 2k2
m=2p

Thus, m and n have common factor 2

Contradiction!
54
Proof by contraposition
From first-order logic we know that the implication P⇒Q is equivalent to ¬Q ⇒ ¬P.
The second proposition is called the contrapositive of the first proposition.

By saying that the two propositions are equivalent,


we mean that

if one can prove P⇒Q then


they have also proved ¬Q⇒¬P, and vice versa.

55
Example

Theorem: If x2 is odd, then x must be odd.

56
Example

Theorem: If x2 is odd, then x must be odd.

Proof: We assume that x is even.


By definition, there exists an integer k such that x=2k.
To derive the desired result, we square both sides
which yields x2 = 4k2 = 2(2k2). Thus x2 is even.
Therefore, by proof of the contrapositive,
if x2 is odd then x must be odd.

57

You might also like