0% found this document useful (0 votes)
57 views56 pages

Class 2

1. A finite automaton is a model of computation that consists of a finite set of states, transitions between the states, and input symbols. 2. The automaton reads an input string and transitions between states based on the symbols. If it reaches an accepting state, it accepts the string. 3. Formally, a finite automaton is defined as a 5-tuple (Q, Σ, δ, q0, F) where Q is the set of states, Σ is the input alphabet, δ is the transition function, q0 is the initial state, and F is the set of accepting states.

Uploaded by

sachinvrushali
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views56 pages

Class 2

1. A finite automaton is a model of computation that consists of a finite set of states, transitions between the states, and input symbols. 2. The automaton reads an input string and transitions between states based on the symbols. If it reaches an accepting state, it accepts the string. 3. Formally, a finite automaton is defined as a 5-tuple (Q, Σ, δ, q0, F) where Q is the set of states, Σ is the input alphabet, δ is the transition function, q0 is the initial state, and F is the set of accepting states.

Uploaded by

sachinvrushali
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Finite Automata

1
Finite Automaton

Input
String
Output
“Accept”
Finite or
Automaton “Reject”

2
Transition Graph
a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

initial accepting
state state
transition
state
3
Initial Configuration
Input String
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

4
Reading the Input

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

5
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

6
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

7
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

8
Input finished

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

accept
9
Rejection

a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

10
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

11
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

12
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

13
Input finished

a b a

a, b

reject
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

14
Another Rejection

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

15

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

reject
16
Another Example

a a b

a a, b

q0 b q1 a, b q2

17
a a b

a a, b

q0 b q1 a, b q2

18
a a b

a a, b

q0 b q1 a, b q2

19
a a b

a a, b

q0 b q1 a, b q2

20
Input finished

a a b

a a, b
accept

q0 b q1 a, b q2

21
Rejection Example

b a b

a a, b

q0 b q1 a, b q2

22
b a b

a a, b

q0 b q1 a, b q2

23
b a b

a a, b

q0 b q1 a, b q2

24
b a b

a a, b

q0 b q1 a, b q2

25
Input finished

b a b

a a, b

q0 b q1 a, b q2

reject

26
Languages Accepted by FAs
FA M

Definition:
The language L M  contains
all input strings accepted by M

L M  = { strings that bring M


to an accepting state}

27
Example
L M    abba M

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept

28
Example
L M     , ab, abba M

a, b

q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept accept accept

29
Example

L M   {a b : n  0}
n

a a, b

q0 b q1 a, b q2

accept trap state

30
Formal Definition
Finite Automaton (FA)

M   Q, ,  , q0 , F 
Q : set of states
 : input alphabet
 : transition function
q0 : initial state
F : set of accepting states
31
Input Alphabet 

   a, b

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

32
Set of States Q
Q   q0 , q1, q2 , q3 , q4 , q5 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

33
Initial State q0

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

34
Set of Accepting States F

F   q4 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

35
Transition Function 

 :Q  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

36
  q0 , a   q1

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

37
  q0 , b   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

38
  q2 , b   q3

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

39
Transition Function 
 a b
q0 q1 q5
q1 q5 q2
q2 q5 q3
q3 q4 q5 a, b
q4 q5 q5
q5 q5 q5 q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

40
Extended Transition Function  *

 * : Q  *  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

41
 *  q0 , ab   q2

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

42
 *  q0 , abba   q4

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

43
 *  q0 , abbbaa   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

44
Observation: if there is a walk from q to q
with label w then

 *  q, w  q

q w q

w   1 2  k
1 2 k
q q

45
Example: There is a walk from q0 to q5
with label abbbaa

 *  q0 , abbbaa   q5
a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

46
Recursive Definition
 *  q,    q
 *  q, w    ( * (q, w), )

q w q1  q

 *  q , w   q
 *  q, w    (q1, )
 (q1, )  q
 *  q, w    ( * (q, w), )
 *  q, w  q1

47
 *  q0 , ab  
   * (q0 , a ), b  
     *  q0 ,  , a , b  
    q0 , a , b  
  q1 , b  
q2 a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
48
Language Accepted by FAs
For a FA M   Q, ,  , q0 , F 

Language accepted by M :
L M    w  * :  *  q0 , w  F 

q0 w q q  F

49
Observation
Language rejected by M :

L M    w  * :  *  q0 , w  F 

q0 w q q  F

50
Example
L M  = { all strings with prefix ab }
a, b

q0 a q1 b q2

b a accept

q3 a, b

51
Example
L  M  = { all strings without
substring 001 }

1 0 0,1
1
0 1
 0 00 001

0
52
Example

L( M )   awa : w   a, b *
a
b
b
q0 a q2 q3

b a
q4

a, b
53
Regular Languages
Definition:
A language L is regular if there is
FA M such that L  L M 

Observation:
All languages accepted by FAs
form the family of regular languages

54
Examples of regular languages:

 abba   , ab, abba


 awa : w   a, b * {a nb : n  0}
{ all strings with prefix ab }
{ all strings without substring 001 }

There exist automata that accept these


Languages (see previous slides).
55
There exist languages which are not Regular:

n n
Example: L {a b : n  0}

There is no FA that accepts such a language

(we will prove this later in the class)

56

You might also like