Title: CSCI%202670%20Introduction%20to%20Theory%20of%20Computing
1CSCI 2670Introduction to Theory of Computing
2Languages
- Alphabet
- Finite collection of objects (denoted ?)?
- String
- Concatenation of 0 or more elements of an
alphabet - Language
- Collection of strings
- ? is the set of all strings over ? (including
e)? - This week we will define a specific class of
languages regular languages
3Deterministic finite automata (DFA)?
- Method for modeling computers with limited memory
- Language recognizer
- Idea
- Keep track of current state
- Events can move you from one state to another
- Todays goal
- Formally describe DFAs
- Interpret DFAs
4Example
- Ball in frictionless room
- Moves left, right or not at all
- Three possible states left, right, stop
- One other state impossible
- Start at rest (in stop state)?
- State changes under four conditions
- Ball hits a wall (reverse direction)?
- Paddle hits left (ball moves left)?
- Paddle hits right (ball moves right)?
- Hand grabs ball (stop moving)?
5Example
Event
State
6Example
- Ball in frictionless room
- Ball hits a wall (reverse direction)?
- Paddle hits left (ball moves left)?
- Paddle hits right (ball moves right)?
- Hand grabs ball (stop moving)?
7Finite automaton (formal definition)?
- A finite automaton is a 5-tuple (Q,?,?,q0,F),
where - Q is a finite set called the states
- ? is a finite set called the alphabet
- ? Q ? ? Q is the transition function
- ? corresponds to the event function from previous
example - q0 is the start state, and
- F ? Q is the set of accept states (also called
final states).
8Example
- From previous example
- Q
- ?
- ?
- q0
- F
- Left, Right, Stop, Impossible
- Hit wall, Paddle left, Paddle right, Grab
- The state table we constructed
- Stop
- Left, Right, Stop
- What if we accept any set of events that ends
with the ball in motion? - F Left, Right
9Another example
0,1
? 0,1
q4
0
1
1
q1
q2
q3
0
1
0
q1, q2, q3, q4 0, 1 (next slide)? q1 q3
10Another example
0,1
? 0,1
q4
0
1
1
q1
q2
q3
0
1
0
11Another example
0,1
? 0,1
q4
0
1
1
q1
q2
q3
0
1
0
- Informal description of the strings accepted by
this DFA - All strings of 0s and 1s beginning with a 0 and
ending with a 1
12Group problem
- Formally describe the DFA (deterministic finite
automaton) illustrated in your groups sheet
13Group problem
- 0, 1 for all groups
- Q is a finite set called the states
- ? is a finite set called the alphabet
- ? Q ? ? Q is the transition function
- q0 is the start state, and
- F ? Q is the set of accept states (also called
final states). - Include informal description
14Group 1
0,1
q1
q2
q4
1
0
q3
0
1
0
1
q5
0,1
Hint What string doesnt this DFA accept?
15Group 2
0,1
q2
0,1
q3
0
q1
0,1
1
q4
0,1
q5
Hint String length counts.
16Group 3
0,1
1
q1
q2
0
q3
0,1
Hint Symbol position counts.
17Group 4
0
q1
q2
1
0,1
0,1
0,1
q3
q4
Hint Can you simplify this DFA?
18Group 5
0,1
q7
1
q1
1
q3
q5
1
0
0
0
0
0
0
q4
q2
1
q6
1
Hint For each state, what do you know about how
many times each symbol has appeared?
19Group 6
0
q1
1
q2
0
1
q3
0, 1
Hint What happens when you get to q3?