2-way dfa - ernetdrona.csa.iisc.ernet.in/~deepakd/atc-2012/two_way_dfa.pdf · 2-way dfa have a...
TRANSCRIPT
![Page 1: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/1.jpg)
2-WAY DFA
E0222 AUTOMATA THEORY AND COMPUTABILITY
26 OCT,2012
TANUJ AGARWAL
VISHESH GARGM.Sc.(Engg)
SERC, IISc, Bangalore
![Page 2: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/2.jpg)
AGENDA
Introduction
Characterizing a 2-DFA
Formal Description and Example
Configuration and Acceptance
2-DFA v/s 1-DFA
Information associated with 2-DFA and building
Transition Tables.
Equivalence with 1-DFA and construction of 1-DFA.
Advantages.
Conclusion
![Page 3: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/3.jpg)
INTRODUCTION
Originated by Rabin and Scott, 1959, “Finite Automata
and Seminal works”.
Generalized version of DFA.
Process the input in either direction.
(i) Have a read head, which may move left or right over
input string.
(ii) Revisit the characters already processed.
Can be seen as Turing machines but
(i) with finite memory.
(ii) No work tape, but read only input tapes.
![Page 4: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/4.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
|- a1 a2 a3 a4 a5 … … an -|
q
![Page 5: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/5.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
|- a1 a2 a3 a4 a5 … … an -|
qInput Symbols, ai Є Σ
![Page 6: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/6.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
|- a1 a2 a3 a4 a5 … … an -|
qEnd Markers
![Page 7: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/7.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
2-way DFA have a finite set of states Q, similar to 1-way DFAs.
|- a1 a2 a3 a4 a5 … … an -|
q q Є Q , current state of the automata.
![Page 8: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/8.jpg)
2-DFA
Input String :(i) Symbols occupying cells of finite tape.(ii) One symbol per cell.
2-way DFA have a finite set of states Q, similar to 1-way DFAs.
At any point in time, machine is in state q, scans an input symbol ai
or an end marker and moves to its right or left entering new state p.
|- a1 a2 a3 a4 a5 … … an -|
q
|- a1 a2 a3 a4 a5 … … an -|
p
![Page 9: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/9.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
2-way DFA have a finite set of states Q, similar to 1-way DFAs.
At any point in time, machine is in state q, scans an input
symbol ai
or an end marker and moves to its right or left entering new
state p.
Accept and Reject States :
(i) Accept State : Machine accepts input by entering into an
accept state „t‟.
(ii) Reject State : Machine rejects input by entering into an reject
state „r‟.
![Page 10: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/10.jpg)
2-DFA
Input String :
(i) Symbols occupying cells of finite tape.
(ii) One symbol per cell.
2-way DFA have a finite set of states Q, similar to 1-way DFAs.
At any point in time, machine is in state q, scans an input
symbol ai
or an end marker and moves to its right or left entering new
state p.
Accept and Reject States :
(i) Accept State : Machine accepts input by entering into an
accept state „t‟.
(ii) Reject State : Machine rejects input by entering into an reject
state „r‟.
The transition function (δ) is the action of machine on a
particular state and input symbol.
![Page 11: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/11.jpg)
FORMAL DEFINITION OF 2-DFA
2-DFA is an octuple
M = (Q, Σ, |-, -|, δ, s, t, r) Q : Finite set of states.
Σ : The input alphabet.
|- , -| : Left and Right end markers.
δ : Q x (Σ U { |- , -|}) (Q x {L, R}), Transition Function, (L,R denote movement towards left or right).
s Є Q , start state.
t Є Q , the accept state.
r Є Q , the reject state.
NOTE :(i) A 2-way DFA needs only a single accept and reject state.(ii) We can halt immediately as soon as DFA enters one of these states.
![Page 12: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/12.jpg)
FORMAL DEFINITION OF 2-DFA
2-DFA is an octuple
M = (Q, Σ, |-, -|, δ, s, t, r)
Rules for the Transition function :
(i) Input is End-Marker :
δ(q, |-) = (u, R) for some u Є Q.
δ(q, -|) = (v, L) for some v Є Q.(ii) Input b Є Σ U {-|} and for accept and reject states, t and r,
δ(t, b) = (t, R) δ(t, -|) = (t, L) δ(r, b) = (r, R) δ(r, -|) = (r, L)
(iii) In general,δ(p, b) = (q, d) (p ,q Є Q , d Є (L,R))
![Page 13: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/13.jpg)
EXAMPLE (Constructing Normal DFA)
Consider the DFA accepting the set
A = { x Є {a, b}* | #a(x) is a multiple of 3 and #b(x) is even }.
Constructing a normal DFA :
(i) DFA M1, accepting A1 = { x Є {a, b}* | #a(x) is a multiple of 3}.
M1 = {Q1 , Σ, δ1, s1, F1}
(ii) DFA M2, accepting A2 = { x Є {a, b}* | #b(x) is even}.
M1 = {Q2 , Σ, δ2, s2, F2}
(iii) DFA M, accepting A, such that M = M1 x M2
M = {Q , Σ, δ, s, F}
B C
F E D
Aa a
a
a a
a
b b b b b b
![Page 14: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/14.jpg)
EXAMPLE (Constructing 2-DFA)
Consider the 2-DFA accepting the set
A = { x Є {a, b}* | #a(x) is a multiple of 3 and #b(x) is even }.
Machine starts scanning input from left endmarker.
Moves left to right, scanning all „a‟ , ignoring „b‟
If #a(x) is not multiple of 3, rejects the input string, enters „r‟.
If #a(x) is multiple of 3, scans right to left, all „b‟ , ignoring „a‟ if
#b(x) is even enters accept state „t‟, else enters reject state „r‟.
It can be seen if machine enters „r‟ in step-2 then it can
immediately discard the input string.
![Page 15: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/15.jpg)
EXAMPLE (Formal Description)
Q = {q0, q1, q2, p0, p1, t, r}
Σ = {a, b}
Transition Function Table:
|- a b -|
q0 (q0, R) (q1, R) (q0, R) (p0, L)
q1 - (q2, R) (q1, R) (r, L)
q2 - (q0, R) (q2, R) (r, L)
p0 (t, R) (p0, L) (p1, L) -
p1 (r, R) (p1, L) (p0, L) -
t (t, R) (t, R) (t, R) (t, L)
r (r, R) (r, R) (r, R) (r, L)
![Page 16: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/16.jpg)
CONFIGURATION AND ACCEPTANCE
For an input x Є Σ* say x = a1a2….an. Let a0 = |- and an+1 = -|, so that
a0a1a2… anan+1 = |- x -|
Configuration on machine on input x is pair (q, i) ; q Є Q and 0 ≤ i ≤ n+1.i.e. , current state „q‟ and the position „i‟ of the read head.e.g. Start configuration is (s, 0).
A binary relation, Configuration relation is defined on Configurations as δ(p, a) = (q, L) => (p, i) 1 (q, i-1)δ(p, a) = (q, R) => (p, i) 1 (q, i+1)(1 represent one step of machine on input x.)
(p, i) 0 (p, i)If (p, i) n (q, j) and (q, j) 1 (u, k) then (p,i) n+1
(u, k).
Therefore, (p, i) * (q, j) There exists n ≥ 0, (p, i) n (q, j).
Machine accepts input if, (s, 0) * (t, i) for some i.
Machine rejects input if, (s, 0) * (r, i) for some i.
![Page 17: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/17.jpg)
2-DFA v/s Normal DFA
![Page 18: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/18.jpg)
FUNDAMENTAL QUESTION :
Is 2 way DFA more powerful than 1 way DFA?
![Page 19: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/19.jpg)
FUNDAMENTAL QUESTION :
Is 2 way DFA more powerful than 1 way DFA?
“OR”
Does the ability to do multiple scans on the tape bestow
2 way DFA with unprecedented POWER?
![Page 20: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/20.jpg)
FUNDAMENTAL QUESTION :
Is 2 way DFA more powerful than 1 way DFA?
“OR”
Does the ability to do multiple scans on the tape bestow
2 way DFA with unprecedented POWER?
• Not intuitively clear
• Need to develop a formal model
![Page 21: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/21.jpg)
INFORMATION CARRIED ACROSS
BOUNDARY
x y
•Right to Left Q
•Left to Right P
•If next time Right to Left Q, then Left to Right will be P
Tx(q) = p
•If never emerges ? Let Tₓ(q) = ⊥•The first time it emerges from x without having been to
y - Call the state Tₓ(•)
P
Q
![Page 22: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/22.jpg)
CONSTRUCTING A TABLE
NOTE :
Tₓ(q) depends only on x and q
Write down Tₓ(q) for all possible states q
• T: (Q U {•} ) (Q U {⊥})
Possible such tables assuming k states
(k+1)k+1
Hence, a finite information can be passed
q1 q2 ... qk ⊥
q1 X ...
q2 X ...
: X ...
qk ... X
• ... X
![Page 23: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/23.jpg)
≡L(M) RELATION
If there are tables Tx = Ty and M accepts xz.
What can be said about yz?
Let L(M) denote the language accepted by the machine.
Define a ≡L(M) relation on strings x & y :
If Tx = Ty , x ≡L(M) y
What are its other properties? (Recall : Right congruence,
Finite Index … from previous lectures)
![Page 24: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/24.jpg)
PROPERTIES OF ≡L(M)
Right congruence
x ≡L(M) y then xa ≡L(M) ya
Refines L(M)
If Tx = Ty , either both x and y accepted or rejected
Finite Index
#Equivalence classes = #Tables {Max : (k+1)k+1 }
Hence by Myhill-Nerode theorem, L(M) is a
Regular Language
![Page 25: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/25.jpg)
IMPLICATIONS
2 DFA is NO more powerful than a normal DFA !
We can construct a one way DFA equivalent to a 2
DFA
Identify equivalence classes
Use construction ≡ M≡
![Page 26: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/26.jpg)
CONSTRUCTING EQUIVALENT DFA
Q‟ = {T : (Q U {•}) (Q U {⊥})}
S‟ = T∈
δ(Tx, a) = Txa
F‟ = {Tx | x ∈ L(M)}
![Page 27: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/27.jpg)
ADVANTAGES OF 2-DFA
More succinct than Normal DFA’s.
e.g. L(M) = {x Є {a,b}* | #a(x) is multiple of 7 and #b(x) is
multiple of 5}.
- Normal DFA would have 35 states.
- 2 DFA can be constructed using 14 states, including the accept
and reject states (t, r).
Single accept and reject states, whereas a Normal DFA may have
multiple final states.
e.g. L(M) = {x Є {a,b}* | #a(x) is multiple of 7 or #b(x) is multiple
of 5}.
- Normal DFA has 12 final states.
![Page 28: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/28.jpg)
Conclusion
2 way DFA is a convenient representation for some regular
languages, much like NFA
Converting it to a normal DFA can be tedious as it involves
constructing and identifying identical tables
![Page 29: 2-WAY DFA - ERNETdrona.csa.iisc.ernet.in/~deepakd/atc-2012/Two_way_DFA.pdf · 2-way DFA have a finite set of states Q, similar to 1-way DFAs. ... Consider the DFA accepting the set](https://reader031.vdocuments.mx/reader031/viewer/2022030506/5ab5583f7f8b9ab47e8cc2d7/html5/thumbnails/29.jpg)
THANK YOU !!!
QUESTIONS ???