Title: CSCI2400
1CSCI-2400 Models of Computation
2Computation
memory
CPU
3temporary memory
input memory
CPU
output memory
Program memory
4Example
temporary memory
input memory
CPU
output memory
Program memory
compute
compute
5temporary memory
input memory
CPU
output memory
Program memory
compute
compute
6temporary memory
input memory
CPU
output memory
Program memory
compute
compute
7temporary memory
input memory
CPU
Program memory
output memory
compute
compute
8Automaton
temporary memory
Automaton
input memory
CPU
output memory
Program memory
9Different Kinds of Automata
- Automata are distinguished by the temporary
memory - Finite Automata no temporary memory
- Pushdown Automata stack
- Turing Machines random access memory
10Finite Automaton
temporary memory
input memory
Finite Automaton
output memory
Vending Machines (small computing power)
11Pushdown Automaton
Stack
Push, Pop
input memory
Pushdown Automaton
output memory
Programming Languages (medium computing power)
12Turing Machine
Random Access Memory
input memory
Turing Machine
output memory
Algorithms (highest computing power)
13Power of Automata
Finite Automata
Pushdown Automata
Turing Machine
14We will show later in class
- How to build compilers for programming languages
- Some computational problems cannot be solved
- Some problems are hard to solve
15Mathematical Preliminaries
16- Mathematical Preliminaries
- Sets
- Functions
- Relations
- Graphs
- Proof Techniques
17SETS
A set is a collection of elements
We write
18Set Representations C a, b, c, d, e, f, g,
h, i, j, k C a, b, , k S 2, 4, 6,
S j j gt 0, and j 2k for some kgt0
S j j is nonnegative and even
finite set
infinite set
19A 1, 2, 3, 4, 5
Universal Set All possible elements
U
1 , , 10
20- Set Operations
- A 1, 2, 3 B 2, 3, 4, 5
- Union
- A U B 1, 2, 3, 4, 5
- Intersection
- A B 2, 3
- Difference
- A - B 1
- B - A 4, 5
U
A-B
21- Complement
- Universal set 1, , 7
- A 1, 2, 3 A 4, 5, 6, 7
4
A
A
6
3
1
2
5
7
A A
22 even integers odd integers
Integers
1
odd
0
5
even
6
2
4
3
7
23DeMorgans Laws
A U B A B
U
A B A U B
U
24Empty, Null Set
S U S S S - S
- S
U
Universal Set
25Subset
A 1, 2, 3 B 1, 2, 3, 4,
5
Proper Subset
B
A
26Disjoint Sets
A 1, 2, 3 B 5, 6
A
B
27Set Cardinality
A 2, 5, 7 A 3
28Powersets
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 2S ( 8 23 )
29Cartesian Product
A 2, 4 B 2, 3, 5 A
X B (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3),
(4, 4) A X B A B Generalizes to more
than two sets A X B X X Z
30FUNCTIONS
domain
range
B
A
f(1) a
a
1
2
b
c
3
f A -gt B
If A domain then f is a total function
otherwise f is a partial function
31RELATIONS
R (x1, y1), (x2, y2), (x3, y3),
xi R yi e. g. if R gt 2 gt 1,
3 gt 2, 3 gt 1 In relations xi can
be repeated
32Equivalence Relations
- Reflexive x R x
- Symmetric x R y y R x
- Transitive x R Y and y R z
x R z - Example R
- x x
- x y y x
- x y and y z x z
33Equivalence 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
34GRAPHS
A directed graph
- Nodes (Vertices)
- V a, b, c, d, e
- Edges
- E (a, b), (b, c), (c, a), (b, d), (d,
c), (e, d)
35Labeled Graph
36Walk
Walk is a sequence of adjacent edges
(e, d), (d, c), (c, a)
37Path
Path is a walk where no edge is repeated Simple
path no node is repeated
38Cycle
e
base
b
3
1
d
a
2
c
Cycle a walk from a node (base) to
itself Simple cycle only the base node is
repeated
39Euler Tour
A cycle that contains each edge once
40Hamiltonian Cycle
5
base
e
1
b
4
d
a
2
3
c
A simple cycle that contains all nodes
41Finding All Simple Paths
f
42Step 1
e
b
f
d
a
c
(c, a) (c, e)
43Step 2
e
b
f
d
a
c
(c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c,
e), (e, d)
44Step 3
e
b
f
d
a
c
(c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c,
e), (e, d) (c, e), (e, d), (d, f)
Repeat the same for each starting node
45Trees
root
parent
leaf
child
Trees have no cycles
46root
Level 0
Level 1
Height 3
leaf
Level 2
Level 3
47Binary Trees
48PROOF TECHNIQUES
- Proof by induction
- Proof by contradiction
49Induction
We have statements P1, P2, P3,
- If we know
- for some k that P1, P2, , Pk are true
- for any n gt k that
- P1, P2, , Pn imply Pn1
- Then
- Every Pi is true
50Proof by Induction
- Inductive basis
- Find P1, P2, , Pk which are true
- Inductive hypothesis
- Lets assume P1, P2, , Pn are true,
- for any n gt k
- Inductive step
- Show that Pn1 is true
51Example
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
52- We want to show l(i) lt 2i
- Inductive basis
- l(0) 1 (the root node)
- Inductive hypothesis
- Lets assume l(i) lt 2i for all i 0, 1, , n
- Induction step
- we need to show that l(n 1) lt 2n1
53Induction Step
Level
hypothesis l(n) lt 2n
n
n1
54Induction Step
Level
hypothesis l(n) lt 2n
n
n1
l(n1) lt 2 l(n) lt 2 2n 2n1
55Remark
Recursion is another thing Example of recursive
function f(n) f(n-1) f(n-2) f(0) 1,
f(1) 1
56Proof 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
57Example
Theorem is not rational Proof Ass
ume by contradiction that it is rational
n/m n and m have no common
factors We will show that this is impossible
58 n/m 2 m2 n2
n is even n 2 k
Therefore, n2 is even
m is even m 2 p
2 m2 4k2
m2 2k2
Thus, m and n have common factor 2
Contradiction!