Lecture 2UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 2
UofH - COSC Dr. Verma 2 1st model -- Deterministic Finite Automaton (DFA) Finite Control Read only Head
Lecture 2UofH - COSC Dr. Verma 3 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 2UofH - COSC Dr. Verma 4 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 2UofH - COSC Dr. Verma 5 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 2UofH - COSC Dr. Verma 6 Pictorial representation of DFA (q,σ) - > q'
Lecture 2UofH - COSC Dr. Verma 7 Example: Diagram of DFA L = {a 2n + 1 | n >= 0} Answer: L = {a, aaa, aaaaa,...}
Lecture 2UofH - COSC Dr. Verma 8 JFLAP Step-By-Step aaa
Lecture 2UofH - COSC Dr. Verma 9 JFLAP Step-By-Step aaa
Lecture 2UofH - COSC Dr. Verma 10 JFLAP Step-By-Step aaaaaa
Lecture 2UofH - COSC Dr. Verma 11 JFLAP Step-By-Step aaa
Lecture 2UofH - COSC Dr. Verma 12 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 2UofH - COSC Dr. Verma 13 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 2UofH - COSC Dr. Verma 14 Example: L(M) = {w in {a,b}* | w contains even no. of a's}
Lecture 2UofH - COSC Dr. Verma 15 JFLAP Step-By-Step aa
Lecture 2UofH - COSC Dr. Verma 16 JFLAP Step-By-Step a
Lecture 2UofH - COSC Dr. Verma 17 JFLAP Step-By-Step a
Lecture 2UofH - COSC Dr. Verma 18 JFLAP Step-By-Step ab
Lecture 2UofH - COSC Dr. Verma 19 JFLAP Step-By-Step abab
Lecture 2UofH - COSC Dr. Verma 20 JFLAP Step-By-Step abab
Lecture 2UofH - COSC Dr. Verma 21 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 2UofH - COSC Dr. Verma 22 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?)