Finite Automacdta, Regular Languages

Download Report

Transcript Finite Automacdta, Regular Languages

Deterministic
Finite Automata
And Regular Languages
Fall 2006
Costas Busch - RPI
1
Deterministic Finite Automaton (DFA)
Input Tape
String
Finite
Automaton
Fall 2006
Costas Busch - RPI
Output
“Accept”
or
“Reject”
2
Transition Graph
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
initial
state
state
Fall 2006
transition
Costas Busch - RPI
a, b
q4
accepting
state
3
Alphabet
  {a , b }
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
For every state, there is a transition
for every symbol in the alphabet
Fall 2006
Costas Busch - RPI
4
head
Initial Configuration
a b b a
Input Tape
Input String
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
Initial state
Fall 2006
Costas Busch - RPI
5
Scanning the Input
a b b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
6
a b b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
7
a b b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
8
Input finished
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
accept
Fall 2006
Costas Busch - RPI
9
A Rejection Case
a b a
Input String
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
10
a b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
11
a b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
12
Input finished
a b a
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
reject
a, b
q4
13
Another Rejection Case
Tape is empty
( )
Input Finished
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
reject
Fall 2006
Costas Busch - RPI
14
Language Accepted:
L  abba 
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
15
To accept a string:
all the input string is scanned
and the last state is accepting
To reject a string:
all the input string is scanned
and the last state is non-accepting
Fall 2006
Costas Busch - RPI
16
Another Example
L  , ab, abba 
a, b
q5
b
a
a
b
q1 b q2 b q3 a
Accept
state
Accept
state
q0 a
Fall 2006
Costas Busch - RPI
a, b
q4
Accept
state
17
Empty Tape
( )
Input Finished
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
accept
Fall 2006
Costas Busch - RPI
18
Another Example
a, b
a
q0
b
q1
Accept
state
Fall 2006
Costas Busch - RPI
a, b
q2
trap state
19
a a b
Input String
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
20
a a b
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
21
a a b
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
22
Input finished
a a b
a
q0
Fall 2006
a, b
accept
b
q1
Costas Busch - RPI
a, b
q2
23
A rejection case
b a b
Input String
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
24
b a b
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
25
b a b
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
26
Input finished
b a b
a, b
a
q0
b
q1
a, b
q2
reject
Fall 2006
Costas Busch - RPI
27
Language Accepted:
L  {a b : n  0}
n
a, b
a
q0
Fall 2006
b
q1
Costas Busch - RPI
a, b
q2
28
Another Example
Alphabet:
  {1}
1
q0
q1
1
Language Accepted:
EVEN  {x : x   and x is even}
 {, 11, 1111, 111111, }
*
Fall 2006
Costas Busch - RPI
29
Formal Definition
Deterministic Finite Automaton (DFA)
M  Q, , , q0 , F 
Q : set of states
 : input alphabet

q0
 
: transition function
: initial state
F : set of accepting states
Fall 2006
Costas Busch - RPI
30
Set of States Q
Example
Q  q0 , q1, q2 , q3 , q4 , q5
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
31
Input Alphabet 
 
:the input alphabet never contains
Example
  a, b
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI

a, b
q4
32
Initial State q0
Example
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
33
Set of Accepting States F  Q
Example
F  q4 
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
34
Transition Function
 :Q  Q
 (q , x )  q 
q
x
q
Describes the result of a transition
from state q with symbol x
Fall 2006
Costas Busch - RPI
35
Example:
 q0 , a   q1
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
36
 q0 , b  q5
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
37
 q2 , b  q3
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
38
Transition Table for
states

Fall 2006
q0
q1
q2
q3
q4
q5

symbols
a
q1
q5
q5
q4
q5
q5
b
q5
q2
q3
q5
q5
q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
39
Extended Transition Function
 :Q   Q
*
*
 (q ,w )  q 
*
Describes the resulting state
after scanning string w from state
Fall 2006
Costas Busch - RPI
q
40
Example:
 q0, ab   q2
*
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
41
 q0, abbbaa   q5
*
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
42
 q1, bba   q4
*
a, b
q5
b
q0 a
Fall 2006
a
a
b
q1 b q2 b q3 a
Costas Busch - RPI
a, b
q4
43
Special case:
for any state q
 q ,    q
*
Fall 2006
Costas Busch - RPI
44
In general:
 q ,w   q 
*
implies that there is a walk of transitions
w   1 2  k
q
1
k
2
q
states may be repeated
q
Fall 2006
w
Costas Busch - RPI
q
45
Language Accepted by DFA
Language of DFA
M
:
it is denoted as L M  and contains
all the strings accepted by M
We say that a language L
is accepted (or recognized)
by DFA M if L M  L
 
Fall 2006
Costas Busch - RPI
46
For a DFA
M  Q, , , q0 , F 
Language accepted by
M:
LM   w   :  q0,w   F 
*
q0
Fall 2006
w
Costas Busch - RPI
*
q
q  F
47
Language rejected by
M:
LM   w   :  q0,w   F 
*
q0
Fall 2006
w
Costas Busch - RPI
*
q
q  F
48
More DFA Examples
  {a , b }
a, b
a, b
q0
q0
L(M )  { }
L(M )  
Empty language
All strings
Fall 2006
Costas Busch - RPI
*
49
  {a , b }
a, b
q0
a, b
q0
L(M )  { }
Language of the empty string
Fall 2006
Costas Busch - RPI
50
  {a , b }
LM = { all strings with prefix ab }
a, b
q0
a
q1
b
a
q3
Fall 2006
Costas Busch - RPI
b
q2
accept
a, b
51
LM  = { all binary strings containing
substring 001 }
0,1
0
1
1

0
0
00
1
001
0
Fall 2006
Costas Busch - RPI
52
LM  = { all binary strings without
substring 001 }
0
1
0,1
1

0
0
00
1
001
0
Fall 2006
Costas Busch - RPI
53

L(M)  awa : w  a , b
*
b
q0
a

a
b
q2
q3
a
b
q4
a, b
Fall 2006
Costas Busch - RPI
54
Regular Languages
Definition:
A language L is regular if there is
a DFA M that accepts it ( L(M )  L )
The languages accepted by all DFAs
form the family of regular languages
Fall 2006
Costas Busch - RPI
55
Example regular languages:
abba   , ab, abba 
n
*
{a b : n  0} awa : w  a , b 
{ all strings in {a,b}* with prefix
ab }
{ all binary strings without substring 001}
{x : x  {1} and x is even}
*
{ } {  } {a , b }
*
There exist automata that accept these
languages (see previous slides).
Fall 2006
Costas Busch - RPI
56
There exist languages which are not Regular:
L {a b : n  0}
n n
ADDITION  {x  y  z : x  1 , y  1 , z  1 ,
n
m
k
nm k}
There is no DFA that accepts these languages
(we will prove this in a later class)
Fall 2006
Costas Busch - RPI
57