COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 2 Lecture 2 UofH - COSC 3340 - Dr. Verma
1st model -- Deterministic Finite Automaton (DFA) Read only Head Finite Control Lecture 2 UofH - COSC 3340 - Dr. Verma
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. Verma
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. Verma
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. Verma
Pictorial representation of DFA (q,σ) -> q' Lecture 2 UofH - COSC 3340 - Dr. Verma
Example: Diagram of DFA L = {a2n + 1 | n >= 0} Answer: L = {a, aaa, aaaaa, ...} Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa Lecture 2 UofH - COSC 3340 - Dr. Verma
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. Verma
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. Verma
Example: L(M) = {w in {a,b}* | w contains even no. of a's} Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab Lecture 2 UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab Lecture 2 UofH - COSC 3340 - Dr. Verma
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. Verma
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?) Lecture 2 UofH - COSC 3340 - Dr. Verma