1. Trang chủ
  2. » Công Nghệ Thông Tin

Ngôn ngữ hình thức và ôtômat chương 2

10 188 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 376,98 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngôn ng hình th c và ÔtômatFormal Language & Automata PGS.TS... Xây d ng các DFA th a nhn các ngôn ng đã cho đã cho 1 trên đâytrên đây 3.

Trang 1

Ngôn ng hình th c và Ôtômat

(Formal Language & Automata)

PGS.TS Phan Huy Khánh

khanhph@vnn.vn

2/56

Tr u thu c : đ u câu chuy n

\Hình th c, hình th c hoá

u i l p t nhiên

u Mô t , quy c, ch t ch (không th b c B )

u Nhu c u GQ vn đn đ : tin h c/CNTT (ICT)

\Ngôn ng NN

u CC trao đ trao đ i, liên l c

u MT T n hi u chi v con ng i !

u Hình th c hoángôn ng !

u X lý (h c v ) NN :

¬Phát : (nói, vit ) sinh câu – V N PH M sn sinh

¬Nh n : (nghe, cm th ) – ÔTÔMAT đo ÔTÔMAT đoán nh n

3/56

\Ôtômat h u h n đ n đn đ n đnh

u Mô hình hó

u Bi u din ôtômat h u h n

\Ôtômat h u h n không đ n đn không đ n đnh

u Kh b tính không đ n đnh không đ n đnh

\Ôtômat h u h n vàc c bi u th c chính qui

u Xây d ng các ôtômat t các bi u th c chính qui

u Xây d ng các ngôn ng chính quy t các ôtômat

4/56

Mô t phi hình th c ôtômat h u h n đ n đ n đ n đ nh

\M t ôtômat h u h n đ n đn đ n đnh, ký hi u M, vi t t t ôhhđđôhhđđ

(DFA: Deterministic Finite State Automaton)

g m các ph n t :

u B ng vào (Input Tape) :

¬Ch a câu cn x lý g m nhi u ô

¬Mi ô ch a mt ký t thu c mt b ng ch Σnào đo đó

u M t đt đ u đu đ c (Read Head) đ đ c l n l t t ng ký t trong ô

u M t t p h p h u h n các tr ng thái g m :

¬Mt trng thái đi đ u (Initial State)

¬Mt s trng thái trung gian

¬Mt trng thái cui hay đi hay đt đt đ c (Accepting States)

u M t hàm chuy n ti p (Transition Function) :

¬Chuyn M sang trng thái ti p theo

t trng thái đang xi đang xét vàt ký t va đa đc đc đ c trên b ng vào

\Ho t đt đ ng đong đoán nh n c a ôhh nh sau :

u Câu vào w∈Σ* đ c đc đ t mút trái trên b ng vào

u Lúc đc đ u, đ đ u đu đc v tríw(1) mút trái nht c a b ng

u Ôhh đang Ôhh đang tr ng thái đi đu q0

u u đu đc đc đc l n l t t ng ký t c a w trên b ng,

di chuyn đn đu đu đ c qua phi và thay đ thay đi trng thái

u Ôhh d ng khi mi ký t ca w đã đa w đã đ c đc đc ht vàth a nh n câu,

ho c hóc gi a ch ng (không th a nhn câu vào)

Câu vào w ∈Σ*

Trng thái qi

Trang 2

Ví d m t s ôtômat

Green

Red

Yellow

C t đt đèn tín hi u giao thông

B t

Bt

T t

T t

Nh n nút

Nh n nút

Nút công t c thi t b đi đi n

q1

Ch 1 xu

Máy bán báo 5xu/t

q3

1 xu

2 xu

K Nh n K nhn báo và l i trng thái ch

2 xu

1 xu

q2

2 xu

8/56

Mô t hình th c ôtômat h u h n đ n đ n đ n đ nh

\M t ôhh đ n đt ôhh đ n đnh đnh đ c bi u di n hình th c b i b n m:

u M = (Q, Σ, δ, q0, F) trong đ

trong đó:

Q tp h p h u h n các tr ng thái (State)

Σ b ng ch v o h u h n

δ= Q ×Σ→Q là àm chuy n ti p(Transition Function)

q0∈Q làtr ng thá đ u (Initial State)

F ⊆Q làt p h p các tr ng thái cu i(Accepting States)

9/56

Bi u di n ôtômat

\Cho ôtômat M = (Q, Σ, δ, q0, F)

\C th bi u di n M b ng cách nh sau :

u Li t kê h t các thành ph n c a M

u Lp b ng giátr c a hàm dch chuy n δ,

trong đ

trong đócó đ đánh d u các tr ng thái đđ u (q0) vàcu i

u Dùng đng đ th

\Th c t , ng i ta th ng dùng c ch bi u di n đ th

khi s tr ng thái c a ôtômat không quál n

\Trong m t s tr ng h p ng i ta dùng c ch bi u di n

ph i h p li t kê thành ph n vàl p b ng giátr c a hàm

dch chuy n δ

10/56

Ví d bi u di n ôtômat

q2 q1

q3

q3 q0

q2

q0 q3

q1

q1 q2

q0

1 0

Ký t đ c vào

Tr ng thái

\Xét ôtômat h u h n đ n đn đ n đnh M = (Q, Σ, δ, q0, F):

u Σ= { 0, 1 }

u Q = { q0, q1, q2, q3 }

u F = { q0}

u M i ô c a bng bi u din m t quan h δ: δ(q, a) =q’

q , q’∈Q

11/56

Bi u di n ôtômat b ng đ ng đ th

\Cho ôtômat M = (Q, Σ, δ, q0, A)

\Quy c bi u di n M bng đng đ th nh sau :

u Mi tr ng thái c a M làm t đt đnh hình tròn

u Mi chuy n tip làm t cung ni hai đi hai đnh

u Mi cung đi cung đ c đc đánh nhãn làký t đ đ c đc đ c

u Chi u c a cung n i hai đi hai đnh cho bi t s thay đ thay đ i tr ng thái :

¬N u δ(p, a) = q thìcung n i t p sang q cónhãn làa∈Σ

¬C ng cóth vi t (p, a, q) ∈ δ

u Tr ng thái đđ u cóg n m t d u nh n >

u Các tr ng thái cu i đi đ c bi u din b i các vòng tròn ké

12/56

Quy c cách v ôtômat :

\Cho ôtômat M = (Q, Σ, δ, q0, F)

q

> p

q a p

q

a, b p

p là tr ng thái đ u, p = q0

δ(p, a) = q và δ(p, b) = q δ(p, a) = q

q là tr ng thái cu i, q ∈ F

Trang 3

Ví d bi u di n ôtômat b ng đ ng đ th

\ th c aôtômat h u h n đ n đn đ n đnh M trong víd tr c

nh sau :

1

0

1 0 1

1

q1 q0

q3 q2

q2 q1

q3

q3 q0

q2

q0 q3

q1

q1 q2

q0

1 0

Ký t đ c vào

Tr ng thái

14/56

Ôtômat đo

Ôtômat đo án nh n câu vào

\Cho câu vào w = 110101

\Quátrình đonh đoán nh n nh sau (ch v t ng tr ng đng tr ng đ u đu đ c) : δ(q0, 110101) ⇒δ(q1, 10101)

⇒δ(q0, 0101) ⇒δ(q2, 101)

⇒δ(q3, 01) ⇒δ(q1, 1)

⇒q0 ôtômat d ng vàth a nhn w do đn w do đ c h t w vàq0∈F

D ng

1

0

1 0 1

1

q1 q0

q3 q2

Tuy nhiên, M không th a nh n câu vào w=110 (hay nh ng câu có m t s l con 0 (ho c con 1)

Tuy nhiên, M không th a nh n câu vào w=110 (hay nh ng câu cóm t s l con 0 (ho c con 1)

M

15/56

Tính ch t c a các câu đ c câu đ c M th a nh n

\T i m i tr ng thái qi, M ghi nh m t tình tr ng nh t đt đnh

c a câu vào đã đo đã đ c nh sau:

q0 : phn đã đn đã đ c g m m t s ch ns 0 vàm t s ch ns 1

q1 : phn đã đn đã đ c g m m t s ch ns 0 vàm t s l s 1

q2 : phn đã đn đã đ c g m m t s l s 0 vàm t s ch ns 1

q3 : phn đã đn đã đ c g m m t s l s 0 vàm t s l s 1

Vìq0 ∈F nên :

uCh nh ng câu cóm t s ch ns 0 vàm t s ch ns 1

m i đi đ c M th a nh n

uHay cóth n i : M ch th a nh n nh ng câu

cóm t s ch ns 0 vàm t s ch ns 1

16/56

Khái ni m hình tr ng (C u hình)

\Cho ôtômat hh M, m t hình tr ng (Configuration) c a M :

ulàc p (q, w)∈Q×Σ* ký hi u C = (q, w) q∈Q, w ph n còn l i ch a đi ch a đ c c a câu và

\Chuy n ti p (Transition) m t b c (one step) trong M (q, w) M(q’, w’), n u vàch n u (n u):

uw = aw’, a∈Σ

uq= δ(q, a)

\Chuy n ti p nhi u b c trong M, (q, w) M*(q’, w’) n u:

u∃k ≥0 và ác hình trng (qi, wi), 0 ≤i ≤k sao cho:

u(q, w) = (q0, w0)

u(q, w) = (qk, wk)

u∀i, 0 ≤i <k, (qi, wi) M(qi+1, wi+1)

q’

a q

M đo

M đo án nh n câu c a ngôn ng

\Ôtômat M đoÔtômat M đoán nh n (Recognition) câu vào w b ng cách

th c hi n dãy chuy n ti p sau:

(q0, w) M(q1, w1) M(q2, w2) M M(qn, ε)

trong đ

trong đóq0 làtr ng thái đđ u, εlàcâu r ng

\M t câu w đt câu w đ c th a nh n b i ôtômat M n u :

(q0, w) M*(q, ε), q ∈F

\Ngôn ng đ đ c th a nh n b i M, vi t quy c L(M) :

L(M) = { w∈Σ* ⏐(q0, w) M*(q, ε), q ∈F }

Ôtômat đo

Ôtômat đo án nh n câu vào

\Cho câu vào w = 110101

\Quátrình đonh đoán nh n nh sau (ch v t ng tr ng đng tr ng đ u đu đ c) : (q0, 110101) M(q1, 10101)

M(q0, 0101)

M(q2, 101)

M(q3, 01)

M(q1, 1)

M(q0, ε) ôtômat d ng vàth a nhn w do đn w do đ c h t w vàq0∈F

1

0

1 0 1

1

q1 q

0 q 0

q3 q2

Trang 4

G m nh ng câu

có “láo nháo các con a và b”

r i k t thúc b i m t con b

Trong cu c s ng : “Anh ta nói “r ng thì là mà là” gi a láo nháo các câu !

G m nh ng câu

có“láo nháo các con a và ”

r i k t thúc b i mt con b

láo nháo các câu !

M t s ví d 1

\L(M) làngôn ng g m các câu k t thúc b i b

u L(M) = (a+b)*b

u Víd aaabbb = a3b3∈L(M)

\Bài t p t i l p :

Ki m tra các câu :

u w = bababaab∈L(M) ?

u w = bababaa∈L(M) ?

Dùng cách vi t g n :

q0bababaab>q1ababaab>

b

q0

a

b

20/56

M t s ví d 2

a

q0

q2

b a

\L(M) làngôn ng không ch a hai ch a liên ti p

u Víd bbaba∈L(M)

\Bài t p t i l p :

Ki m tra các câu :

u w = bababab∈L(M) ?

u w = aababb∈L(M) ?

21/56

Các ôtômat h u h n đ n đ n đ n đ nh

\Nh ng ôtômat h u h n v a xét tr cc đây đcc đây đ u đ n đnh

v i đi đ c tính :

u Ti m i thi đii đi m, ôhh ch đ đ c duy nh t mt ký t a∈Σ,a≠ε

u V i m i tr ng thái q, sau khi ôhh đ sau khi ôhh đ c xong a, luôn đ luôn đ t đt đ c

m t tr ng thái xác đc đnh q’

Ngha làchuy n ti p :

δ(q, a) = q’⊆Q

luôn đ n đ

luôn đ n đnh (hay TI N NH)

22/56

Ôtômat h u h n không đ n đ n không đ n đ nh

\Ôtômat h u h n không đ n đn không đ n đnh (ôhh kđđhh kđđ) (NFA -Non-deterministic Finite-State Automata)

cóc c đc đ c tính :

u Cùng m t ký t , m t trng thái cóth cónhi u chuy n ti p, ngha làδ(q, a) = q’⊆Q

u T n t i chuy n ti p cho câu r ng δ(q, ε) = q’⊆Q (ngha là đ đ u đu đ c không ti n t i khi đi khi đ c câu vào)

u Cóth cócác chuyn ti p (nhóm các chuy n tip) cho các ph n câu có đ đ d i l n h n 1,

ngha làδ(q, u) = q’⊆Q, u ∈Σ*, |u| > 1

23/56

Nh n xét

\M t ôhh kđđ đt ôhh kđđ đ c đc đnh ngha hình th c gi ng ôhh đđng ôhh đđ

\S khác nhau th hi n :

u V iôhh đđ lôhh đđ là àm chuy n ti p δ(Transition Function)

u V iôhh kđđ lôhh kđđ làquan h chuy n ti pΔ(Transition Relation)

đ c đc đnh ngha ta t ng tng t ôhh đđôhh đđ, nh ng l n này vi c chuy n

ti p làkhông duy nh t

¬V i m i trng thái, cóth cónhiu tr ng thái tip theo cho mi

ký t đ đ c vào, ch ng hn δ(q a)cho q1 vàq2

¬S d ng b ba (p, σ, q) đ đ n i rng n u ký t đ đ c vào làσthìcó

th chuyn t trng thái p sang trng thái q

¬T i mi thi đii đim đm đu đu đ c cóth đ đ c mt phn câu u ∈Σ*

24/56

nh ngh a hình th c ôhh kđđ c ôhh kđđ

\Ôtômat h u h n không đ n đn không đ n đnh làb n m:

M =(Q, Σ, Δ, q0, A) trong đ

trong đó:

Q làtp h p h u h n các tr ng thái

Σlà ng ch h u h n

Δ⊂(Q ×Σ* ×Q)làquan h chuy n ti p q0 ∈Q làtrng thái đđ u

F ⊆Q làt p h p các trng thái th a nhn

Trang 5

Ví d ôhh kđđ ôhh kđđ

\Cho ôhh kđđ Cho ôhh kđđ :

u M =({ q0, q1, q2, q3, q4 },

{ 0, 1 },

Δ,

q0,

{ q2, q4 })

u v i Δ đ đ c cho nh sau :

{ q4 } { q4 }

q4

∅ { q4 }

q3

{ q2 } { q2 }

q2

{ q2 }

q1

{ q0, q1 } { q0, q3 }

q0

1 0

q1 1

0, 1

1 0

0, 1

0, 1 q3

q2

q4

26/56

Ví d ôhh kđđ ôhh kđđ đoán nh n câu

\Cho w =01001 ôhh kđđ M ôhh kđđ M đoán nh n nh sau : (q0, 01001)

M(q0, 1001)

M(q0, 001)

M(q3, 01)

M(q4, 1)

M(q4, ε) Câu w đ Câu w đ c M th a nhn vì:

¬M đM đ c ht câu

¬M tr ng thái cu i

L(M) = (0+1)*00(0+1)*+ (0+1)*11(0+1)*

q1 1

0, 1

1 0

0, 1

0, 1 q3

q2

q4

27/56

Kh n ng có nhi u chuy n ti p

M(q3, 1001)

M(q1, 001) (q0, 01001)

M(q4, ε)

M(q4, 1)

M(q3, 01)

M(q0, 1001)

h c !

M(q3, 1)

M(q0, 001)

M(q0, 01)

M(q0, ε)

M(q0, 1)

q1

1

0, 1

1

0

0, 1

0, 1

q3

q2

q4

28/56

Ví d ôhh kđđ ôhh kđđ

\Ngôn ng đ đ c th a nh n b i ôtômat M : L(M)=((a ∪ab)*bbbbΣ*)∪((a∪ab)*abb(aa)*aΣ*)

q2

>

a

q4

q3

q1

b

bbb

ab

q0

aa ε

a, b

b

a

Ví d ôhh kđđ ôhh kđđ

\Ngôn ng đ đ c th a nh n b i ôtômat M :

L(M)=Σ*ab(ab)*

ngha làt p h p các câu kt thúc ít nh t mt l n l p ab

Víd , câu aaabab ∈L(M)

>

q1 b

Chuy n ti p trong ôhh kđđ p trong ôhh kđđ Cho ôhh kđđ M

Cho ôhh kđđ M

\Chuy n ti p m t b c trong M (q, w) M (q, w) n u:

w =uw: câu w bt đt đ u b i tin t u ∈Σ*

(q, u, q) ∈Δ

\Chuy n ti p nhi u b c trong M (q, w) M*(q’, w’) n u:

u ∃k ≥0 và ác hình trng (qi, wi), 0 ≤i ≤k sao cho:

u (q, w) = (q0, w0)

u (q, w) = (qk, wk)

u ∀i, 0 ≤i <k, (q, ) (q , w )

Trang 6

ánh giá các ôhh kđđ c ôhh kđđ

\ Th c t :

uTính không đ n đnh không đ n đnh không thêm kh n ng c a các ôhh

uCóth thay th m t ôhh kđđ ôhh kđđb i m t ôhh đđ ôhh đđ t t ng đ ngng đ ng

\ Hai ôtômat hh M vàM’ à t t ng đ ng vng đ ng v i nhau

n u cùng th a nh n m t ngôn ng : L(M) = L(M’)

\ Phân bi t gi a ôhh kđđ ôhh kđđNFA vàm t ôhh đđ ôhh đđDFA:

uT n t i các chuy n ti p trên các ph n câu vào (câu con)

có đ đ d i l n h n 1

uT n t i các chuy n ti p cho cùng m t tr ng thái vàcùng m t

n i dung c a b ng vào (tính không đ n đnh không đ n đnh)

32/56

Xây d ng ôhh đđ M ng ôhh đđ M ’ t ôhh kđđ M ôhh kđđ M

\Cho tr c ôhh kđđ Mc ôhh kđđ M, L(M) làngôn ng đ đ c M th a nh n, khi đkhi đó:

u Cóth xây d ng ôhh đđ Mng ôhh đđ M’t t ôhh kđđ M ôhh kđđ M

u M’là ôhh đđ t ng đ ng v ôhh đđ t ng đ ng v i M, L(M’) = L(M)

\Vi c xây d ng M’g m hai giai đom hai giai đo n :

u Giai đoGiai đo n 1 :

Kh b các chuy n ti p có đ đ d i >1 c a M, nh n đn đ c M1

u Giai đoGiai đo n 2 :

Kh b tính không đ n đnh không đ n đnh c a M1 nhn đn đ c M’

33/56

Kh b các chuy n ti p có đ đ d i >1

\Cho NFA M =(Q, Σ, Δ, q0, F),

xây d ng M1 =(Q1, Σ1, Δ1, q01, F1), trong đtrong đó:

u Q1 = Q, q01= q0,Δ1 = Δv F1 = F

u V i m i chuy n ti p (q, u, q)∈Δcóu = σ1σ2 , σk (k>1):

¬Lo i b chuy n ti p này khi Δ1

¬Thêm k-1 tr ng thái m i p1, p2, , pk-1 v o Q1

¬Thêm k chuy n ti p m i vào Δ1 :

(q, σ1, p1), (p1, σ2, p2), , (pk-1, σk, q)

\M1 nh n đn đ c không ch a các chuy n ti p trên câu có đ đ

dài l n h n 1, ngha là∀(q, u, q)∈Δ1, |u| ≤1

b

p2

c q’

34/56

Kh b tính không đ n đ nh không đ n đ nh

\Gi s M = (Q, Σ, Δ, q0, F) trong đ trong đó:

u M i chuy n ti p (q, u, q)∈Δ, |u| ≤1 ngha làm i chuy n ti p c a NFA M có ng :

¬ho c (q, σ, q), σ∈Σ

¬ho c (q, ε, q)

\Xây d ng DFA M= ( Q, Σ, δ, q0, F) t t ng đ ng vng đ ng v i M qua hai b c nh sau :

u X lý các chuyn ti p đp đ i vi câu r ng εd ng (q, ε, q)

g i t t làchuy n ti p r ng, hayε-chuy n ti p

u Xây d ng DFA M

35/56

X lý các chuy n ti p r ng

\Th c t , m t DFA không cóc c chuy n ti p cho câu r ng ε

u Cn nhóm tt c các chuy n ti p rng c a M

v i m t chuy n ti p c a mt ph n t cu Σ: δ(q, a), a∈Σ

\Xây d ng t p h p E(q) nh sau :

u V i m i q∈Qc a M, E(q)làt p các tr ng thái cóth đ đ t đt đ c

t q b i m t dãy chuy n ti p trên câu r ng:

E(q) = { p∈Q |(q, w) M* (p, w) }

u Nh vy, v i q đã choi q đã cho, t p h p E(q)g m các tr ng thái p mà

trong s đ

trong s đ bi u din ôtômat, t n t i mt đt đ ng đi tng đi t q sang

p cónhãn làcâu r ng ε

p1

p2 ε

36/56

Ví d xây d ng t p h p E(q)

\Cho ôtômat h u h n không đ n đn không đ n đnh M

\Xây d ng t p h p E(q):

a

ε

> q0

q2

b ε

b a a

E(q0) = { q0, q1, q3} E(q1) = { q1} E(q2) = { q2} E(q3) = { q3} E(q4) = { q3, q4}

E(q0)= { = { q0, q, 1, q, 3} E(q1)= { = { q1} E(q2)= { = { q2} E(q3)= { = { q3} E(q4)= { = { q3, q4}

Trang 7

Xây d ng DFA M’

\Gi s đã x đã x lý ε-chuy n ti p vàXD xong các E(q), ∀q∈Q

Xây d ng các ph n t c a DFA M~ NFA Mnh sau :

uM= ( Q, Σ, δ, q0’, F)

uM i trng thá q∈Q’c a M’làm t t p con tr ng thái c a M,

Q = 2Q

uq0’=E(q0)

tr ng thái màt đ đó, M cóth ti n hành đnh đ c câu vào, k c ε

uδ’(q, a) = ∪{ E(p) | ∃q ∈q: (q, a, p) ∈Δ}

uF= { q∈Q|q∩F ≠∅}

38/56

S đ

S đ thu t toán xây d ng DFA M’

Input: M = ( Q, Σ, Δ, q0, F) Output: M ’= ( Q, Σ, δ, q0’, F)

Begin

q0’= E(q0) ; Q= { q0’}

Do

L y q∈Q’

Do

Ly a∈Σ Tìm p= δ(q, a) = ∪{ E(p) | ∃q ∈q: (q, a, p) ∈Δ}

Q= Q’∪{ p}

WhileKhông còn a∈Σ ch a x lý

While Q ’ không thay đ không thay đ i (không còn pnào khác phi thêm vào Q) F’= { q∈Q|q∩F ≠∅}

End

39/56

Ví d xây d ng DFA t NFA

q3, q4

q1, q3

q3

q3

q1, q2

q4

q2

q2, q3

q2

q1

q0

b a

b a

ε

> q 0

q 3 q 4

q 2

ε

b a a

b a

NFA

a

{q3, q4}

{q2, q3, q4} b

{q1, q2, q3}

> {q0, q1, q3}

a

b

a

DFA~NFA

b

40/56

Ví d xây d ng DFA t NFA NFA không cóε-chuyn tip :

q2

q3

q3

q2

q2

q1

q1

q0

q0, q1

q0

b a

b

q1

a

b a

a

a

{q0, q2}

> {q0}

b

a

a

b a

DFA~NFA

b

b

{q0, q1 , q3}

Ví d xây d ng DFA t NFA

∅ D D

B, D

∅ C

∅ C B

A, B, D A

1 0

DFA~NFA

NFA

ε

B

> A

C

0

0 ε

1

D 0

E(A) = A, B, D E(B) = B, D E(C) = C E(D) = D

E(A) = A, B, D E(B) = B, D E(C) = C E(D) = D

D

0

B, D

1

A, B, C, D 0

C, D 0

1 1

1

Quan h gi a ôhh và BTCQ

\Cho L làm t ngôn ng chính qui, M làm t ôtômat h u h n

\M t ngôn ng làchính qui n u vàch n ungôn ng đ đó

đ c th a nh n b i m t ôtômat h u h n :

u N u m t ngôn ng đ đ c ch đ đnh b i m t biu th c chính qui, thìngôn ng đ đó đ đ c th a nh n b i m t ôtômat h u h n không đ n đ

không đ n đnh

L = L(α) ⇒L = L(M)

u M t ngôn ng đ đ c th a nh n b i m t ôtômat h u h n không đ n đ

không đ n đnh làchính qui

L = L(M) ⇒L = L(α)

Trang 8

Xây d ng ôhh t bi u th c chính qui

\Minh ho tính ch t : L = L(α) ⇒L = L(M) nh sau :

u V i m i BTCQ c s α=∅, α=ε, α= a, a∈Σ,

XD đ

XD đ c m t ôhh th a nh n ngôn ng do αch đ đnh

u V i m i BTCQ d ng α=(α1α2), α=(α1∪α2), vàα=((α1)*)

¬Gi M1v M2l n l t là ác ôhh th a nh n L(α1) vàL(α2)

¬XD đXD đ c ôhh M th a nhn L(α) t M1v M2

44/56

Xây d ng ôhh t các BTCQ c s

Ôtômatth a nh n ∅

Ôtômatth a nh n ε

Ôtômatth a nh n a∈Σ a

45/56

Xây d ng ôhh t các BTCQ đ n gi c BTCQ đ n gi n

Ôtômatth a nhn a∈Σ a

Ôtômatth a nhn a∪b

Ôtômatth a nhn a∪b

a, b a

b

a

a

Ôtômatth a nhn a*

Thu g n

tr ng thái

Thu g n

tr ng thái

46/56

XD ôhh M th a nh n L(α1∪α2) t M1 và M2

\Cho các ôhh :

u M1= (Q1, Σ, Δ1, s1, F1), cóL(M1)= L(α1)

u M2= (Q2, Σ, Δ2, s2, F2), cóL(M2)= L(α2)

\XD ôhh M th a nh n L(α) = L(α1∪α2)t M1v M2 :

M

M1

M2

M1

M2

Ghép hai ôtômat

Ghép hai ôtômat

47/56

XD ôhh M th a nh n L(α1α2) t M1và M2

\Cho các ôhh :

uM1= (Q1, Σ, Δ1, s1, F1), cóL(M1)= L(α1)

uM2= (Q2, Σ, Δ2, s2, F2), cóL(M2)= L(α2)

\XD ôhh M th a nhn L(α) = L(α1α2)t M1v M2 :

uQ = Q1∪Q2; Δ= Δ1∪Δ2∪{ (q, ε, s2) ⏐q∈F1} ; q0= s1; F = F2

M

M1

M2

Ghép hai ôtômat

Ghép hai ôtômat

48/56

XD ôhh M th a nh n L(α1*) t M1và M2

\Cho ôhh :

uM1= (Q1, Σ, Δ1, s1, F1), cóL(M1)= L(α1)

\XD ôhh M th a nh n L(α) = L(α1)t M1:

uCóth gi thit r ng ε∉L(M1)

M

ε

ε ε ε

Trang 9

Xây d ng các ngôn ng chính quy t c c ôtômat

\Cho ôtômat M, c n xây d ng m t bi u th c chính quy ch

đnh L(M),

ngha là:

u L = L(M) ⇒L = L(α)

\Cách xây d ng nh sau :

u X t các đc đ ng đi tng đi t q0 đ đ n qj, qj∈F trong M

u BTCQ αjnh n đn đ c tc t ng ng ng v i m i đi đ ng đi lng đi là:

¬Ghép (c ng) liên tip các nhãn c a các chuy n tip

¬Các vòng lp đp đ c biu din bi phép toán l p *

u BTCQ αmong mu n là p (Union) c a các αjnhn đn đ c

\Riêng đRiêng đ i v i các vòng l p, c n xây d ng BTCQ tng BTCQ t ng ng ng

v i các đc đ ng đi nng đi n i hai tr ng thái cóvòng l p

50/56

X lý các vòng l p b ng quy n p

\Cho ôtômat M v i Q = { q1, q2, , qn }

\ t R(i, j, k) :

u L t p h p các câu αij = Path(qi, qj)

u Trong đTrong đóPath(qi, qj) là đ đ ng đi tng đi t qi đ đ n qjb ng cách

ch chuy n qua k-1 tr ng thái { q1, q2, , qk-1}

\ nh ngha R(i, j, k) v i k = 1 (c s quy n p b c 1),

x y ra hai tr ng h p :

u N u i ≠j,

αij= Path(qi, qj) = { w | (qi, w, qj) ∈Δ}

u N u i = j,

αij= Path(qi, qj) = { ε} ∪{ w | (qi, w, qj) ∈Δ}

51/56

nh ngh a R(i, j, k) v i k > 1

\V i k>1,

d ng phng ph ng phng pháp quy n p tính αij = Path(qi, qj), ∀qi, qj :

u Gi s ∀αij đã đ c xây d ng (gi thi t quy np b c k)

R(i, j, k) = Path(qi, qj) đi qua k−1 tr ng thái { q1, q2, , qk-1}

u Xây d ng R(i, j, k+1) ( quy n p b c k+1)

g m các đc đ ng đi chng đi ch đi qua đi qua { q1, q2, , qk-1} :

¬Path(qi, qk) nh n đn đ c t qi đ đ n qk,

¬Path(qk, qk)*do nhn đn đ c t qk đ đn qkmt s l n tu ý (*)

¬Path(qk, qj) nhn đn đ c t qk đ đn qj

\Ta có:

R(i, j, k+1) = R(i, j, k) ∪R(i, k, k) R(k, k, k)*R(k, j, k)

52/56

Mô hình các đ c đ ng đi t ng đi t ính R(I, j, k)

R(i, j, k), Path(qi, qk)

qj R(i, k, k),

Path(qk, qj)

R(k, k, k)* , Path(qk, qk)*

L(M) = R(1, j, n+1)

qj∈A

L(M) = R(1, j, n+1)

qj∈A

Gi thit M cón trng thái, q1làtr ng thái đi đ u, ta có:

Nh n xét

\Cho ôtômat M cón tr ng thái, gi s làq1tr ng thái đi đ u,

v M cóm tr ng thái cu i i qj1, , qj2, , , , qjm

\Ngôn ng th a nh n b i M làh p c a t t c c c t p h p

câu R(i, j, n+1), xu t hin trong các chuy n ti p t tr ng thái

đ u đu đ n m t trong nh ng tr ng thái cu i, b ng cách v t

qua t t c c c tr ng thái c a M

R(i, j2, n+1)

q

qj1

R(i, jm, n+1)

>

R(i, j1, n+1)

Ví d

\Cho ôtômat M :

u V i k=1 và k=2, R(i, j, đ đ c đc đnh ngha nh sau :

a

>

b

a

b

ε∪b a b ε∪a

k = 1

(ε∪b)∪a(ε∪a)*b R(2,2,1)∪R(2,1,1)R(1,1,1)*R(1,2,1)

R(2,2,k)

a∪a(ε∪a)*(ε∪a) R(2,1,1)∪R(2,1,1)R(1,1,1)*R(1,1,1)

R(2,1,k)

b∪(ε∪a)(ε∪a)*b R(1,2,1)∪R(1,1,1)R(1,1,1)*R(1,2,1)

R(1,2,k)

(ε∪a)∪(ε∪a)(ε∪a)*(ε∪a) R(1,1,1)∪R(1,1,1)R(1,1,1)*R(1,1,1)

R(1,1,k)

k = 2

Trang 10

Tìm L(M)

\Ngôn ng đ đ c th a nh n b i M là:

L(M) =

R(1, 2, 3) = R(1, 2, 2)∪R(1, 2, 2)R(2, 2, 2)*R(2, 2, 2)

R(1, 2, 2)(ε∪R(2, 2, 2)+)

R(1, 2, 2)R(2, 2, 2)*

b∪(ε∪a)(ε∪a)*b((ε∪b)∪a(ε∪a)*b)*

56/56

Bài t p ch p ch ng ng 2

1. Xây d ng các NFA th a nhn các ngôn ng sau đây sau đây :

u Bi u din nhphân các s ch n

u Các câu trên bng ch Σ= { a, b } ch a aab ho c aaab

2. Xây d ng các DFA th a nhn các ngôn ng đã cho đã cho 1 trên đâytrên đây

3. Xây d ng các ôtômat th a nhn các biu th c chính quy :

u a*b

u ε∪(a ∪aab)*

4. Xây d ng các biu th c chính quy t ôtômat sau đây ôtômat sau đây :

a

q1

>

b b a

b

Ngày đăng: 04/12/2015, 00:35

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm