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

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

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. Verma6

Pictorial representation of DFA

(q,σ) -> q'

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. Verma8

JFLAP Step-By-Step

aaa

Lecture 2 UofH - COSC 3340 - Dr. Verma9

JFLAP Step-By-Step

aaa

Lecture 2 UofH - COSC 3340 - Dr. Verma10

JFLAP Step-By-Step

aaa

Lecture 2 UofH - COSC 3340 - Dr. Verma11

JFLAP Step-By-Step

aaa

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. Verma14

Example: L(M) = {w in {a,b}* | w contains even no. of a's}

Lecture 2 UofH - COSC 3340 - Dr. Verma15

JFLAP Step-By-Step

aa

Lecture 2 UofH - COSC 3340 - Dr. Verma16

JFLAP Step-By-Step

aa

Lecture 2 UofH - COSC 3340 - Dr. Verma17

JFLAP Step-By-Step

aa

Lecture 2 UofH - COSC 3340 - Dr. Verma18

JFLAP Step-By-Step

ab

Lecture 2 UofH - COSC 3340 - Dr. Verma19

JFLAP Step-By-Step

ab

Lecture 2 UofH - COSC 3340 - Dr. Verma20

JFLAP Step-By-Step

ab

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?)