Upload
owen-berry
View
222
Download
6
Tags:
Embed Size (px)
Citation preview
Lecture 2 UofH - COSC 3340 - Dr. Verma1
COSC 3340: Introduction to Theory of Computation
University of Houston
Dr. Verma
Lecture 2
Lecture 2 UofH - COSC 3340 - Dr. Verma2
1st model -- Deterministic Finite Automaton (DFA)
Finite Control
Read only Head
Lecture 2 UofH - COSC 3340 - Dr. Verma3
DFA (contd.)
The DFA has: – a finite set of states– 1 special state - initial state– 0 or more special states - final states– input alphabet– transition table containing
(state, symbol) -> next state
Lecture 2 UofH - COSC 3340 - Dr. Verma4
Informally -- How does a DFA work?
An input string is placed on the tape (left-justified). DFA begins in the start state. Head placed on leftmost cell. DFA goes into a loop until the entire string is read.
– In each step, DFA consults a transition table and changes state based on (s, ) where
s - current state - symbol scanned by head
Lecture 2 UofH - COSC 3340 - Dr. Verma5
How does a DFA work? (contd.)
After reading input string, – if DFA state final, input accepted– if DFA state not final, input rejected
Language of DFA -- set of all strings accepted by DFA.
Lecture 2 UofH - COSC 3340 - Dr. Verma7
Example: Diagram of DFA L = {a2n + 1 | n >= 0}
Answer:
L = {a, aaa, aaaaa, ...}
Lecture 2 UofH - COSC 3340 - Dr. Verma12
Formal definition of DFA
DFA M = (Q, , , s, F) Where,
– Q is finite set of states is input alphabet– s Q is initial state– F Q is set of final states
: Q X -> Q
Lecture 2 UofH - COSC 3340 - Dr. Verma13
Formal definition of L(M)
L(M) - Language accepted by M Define *:
*(q, ) = q *(q, wσ) = (*(q,w),σ)
Definition: L(M) = { w in * | * (s,w) in F }.
Lecture 2 UofH - COSC 3340 - Dr. Verma21
Given a language, how to define DFA?
Creative process requiring you to:(i) Put yourself in DFA's shoes
(ii) Find finite amount of info, based on
which string accepted/rejected
(iii) From step (ii), determine number of states and then transitions.
Lecture 2 UofH - COSC 3340 - Dr. Verma22
Regular Languages
Definition: A Language is regular iff there is a DFA that accepts it.
Examples: – {} *
– {w in {0,1}* | second symbol of w is a 1} Exercise– {w in {0,1}* | second last symbol of w is a 1} Exercise– {w in {0,1}* | w contains 010 as a substring} - (importance?)