220 likes | 308 Vues
Dive into the world of Deterministic Finite Automaton (DFA) and regular languages with this comprehensive lecture. Learn how DFAs work, their pictorial representation, formal definitions, and examples. Understand the creative process of defining DFAs and exploring regular languages. Get step-by-step guidance and exercises to master these concepts.
E N D
COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 2 UofH - COSC 3340 - Dr. Verma
1st model -- Deterministic Finite Automaton (DFA) Read only Head Finite Control 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 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 UofH - COSC 3340 - Dr. Verma
How does a DFA work? (contd.) • After reading input string, • if DFA state final, input accepted • if DFA state notfinal, input rejected • Language of DFA -- set of all strings accepted by DFA. UofH - COSC 3340 - Dr. Verma
Pictorial representation of DFA (q,σ)->q' UofH - COSC 3340 - Dr. Verma
Example: Diagram of DFA L = {a2n + 1 | n >= 0} • Answer: L = {a, aaa, aaaaa, ...} UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aaa UofH - COSC 3340 - Dr. Verma
Formal definition of DFA • DFA M = (Q, , , s, F) • Where, • Q is finite set of states • is input alphabet • sQ is initial state • FQ is set of final states • : Q X-> Q 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 }. UofH - COSC 3340 - Dr. Verma
Example: L(M) = {w in {a,b}* | w contains even no. of a's} UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step aa UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab UofH - COSC 3340 - Dr. Verma
JFLAP Step-By-Step ab 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. 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?) UofH - COSC 3340 - Dr. Verma