Presentation is loading. Please wait.

Presentation is loading. Please wait.

COSC 3340: Introduction to Theory of Computation

Similar presentations


Presentation on theme: "COSC 3340: Introduction to Theory of Computation"— Presentation transcript:

1 COSC 3340: Introduction to Theory of Computation
University of Houston Dr. Verma Lecture 2 Lecture 2 UofH - COSC Dr. Verma

2 1st model -- Deterministic Finite Automaton (DFA)
Read only Head Finite Control Lecture 2 UofH - 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 2 UofH - 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 2 UofH - 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 2 UofH - COSC Dr. Verma

6 Pictorial representation of DFA
(q,σ) -> q' Lecture 2 UofH - COSC Dr. Verma

7 Example: Diagram of DFA L = {a2n + 1 | n >= 0}
Answer: L = {a, aaa, aaaaa, ...} Lecture 2 UofH - COSC Dr. Verma

8 JFLAP Step-By-Step aaa Lecture 2 UofH - COSC Dr. Verma

9 JFLAP Step-By-Step aaa Lecture 2 UofH - COSC Dr. Verma

10 JFLAP Step-By-Step aaa Lecture 2 UofH - COSC Dr. Verma

11 JFLAP Step-By-Step aaa Lecture 2 UofH - 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 2 UofH - 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 2 UofH - COSC Dr. Verma

14 Example: L(M) = {w in {a,b}* | w contains even no. of a's}
Lecture 2 UofH - COSC Dr. Verma

15 JFLAP Step-By-Step aa Lecture 2 UofH - COSC Dr. Verma

16 JFLAP Step-By-Step aa Lecture 2 UofH - COSC Dr. Verma

17 JFLAP Step-By-Step aa Lecture 2 UofH - COSC Dr. Verma

18 JFLAP Step-By-Step ab Lecture 2 UofH - COSC Dr. Verma

19 JFLAP Step-By-Step ab Lecture 2 UofH - COSC Dr. Verma

20 JFLAP Step-By-Step ab Lecture 2 UofH - 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 2 UofH - 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?) Lecture 2 UofH - COSC Dr. Verma


Download ppt "COSC 3340: Introduction to Theory of Computation"

Similar presentations


Ads by Google