Chà
ào m i ng
Ch
Chào
Ngôn ng hình th c và Ôtômat
(Formal Language & Automata)
i!
Hello Everyone!
Bonjour Tout le Monde !
PGS.TS. Phan Huy Khá
Khánh
,
,
Ch
ng 1
!
M đ u
K
!
2/38
2/38
Ta s h c nh ng bu i mô ?
Tr ng HSP : 05CTT12
(Hai l p tr ng quy t đ nh) :
Chi u th Hai hà
hàng tu n, t i A5A5-104, 13H30
Nh ng bu i đ u :
Chi u th Hai 14/01
To Start…
Sáng th B y, 26/01/2008, 7H00
Sau T t, t.29, 13H30, 25/02/08
“One picture is worth more than ten thousand words”
Chinese Proverb
4/38
4/38
M t và
vài “chuy n nh ” b t đ u môn h c
Ghi ché
chép nh th nào ?
Có nên ghi bà
bài gi ng trên l p và
vào s , v h c trò ?
Th t c “chà
chào h i” :
H c b ng slide c n có
có TLTK+ cá
cách ghi h p lý
N u không s x y ra hi n t ng “TH A TAY”
TAY”, “đ tay
nhà”
nhà”
Vào l p mu n, ho c ra kh i l p, không c n xin phé
phép
Khi Gi ng viên (GV) h i, c n :
Nói rõ và
và to gi ng đ c l p cù
cùng nghe đ c
Khi tr l i, c n th c hi n ngay :
T ch i, không bi t, ho c tr l i tr c ti p và
vào câu h i
Ghi bà
bài gi ng trên l p và
vào gi y r i A4
M i môn h c m t t p gi y A4, có
có màu đá
đánh d u phân bi t
Chu n b h c :
Nguyên t c thao tá
tác ti p th tri th c và
và ng d ng :
L p s ch s (m i ngh a), s n sà
sàng cho bu i d y
Ng i t p trung g n tôi, không ng i ki u “gió
gió đ a ao bè
bèo...”
...”
Giú
Giúp GV chu n b màn hì
hình, đè
đèn chi u, c m đi n...
Thu nh t, li t kê, vun x i
Phân lo i, s p x p
Khoanh vù
vùng, gi i h n
Ch đ nh, l a ch n, tì
tìm ki m
V n d ng, hoà
hoàn thi n, là
làm già
giàu tri th c
K t thú
thúc môn h c :
Giú
Giúp GV d n d p mà
màn hì
hình, đè
đèn chi u,
c m đi n...
Tìm ki m ph ng phá
pháp h c t p hi u qu
Phá
Phát huy cá
các giá
giác quan : m tn, tain, mi ngn, m in, tayn ...
5/38
5/38
6/38
6/38
1
M c đí
đích môn h c
có th “t c ký”
ký”
Dùng S d ng b ng vi t t t (BVT) :
t đ nh ngh a ch vi t t t c a riêng mì
mình
H c ph n cung c p c s toá
toán h c c a cá
các ph ng phá
pháp
hình th c trong vi c xây d ng cá
các ngôn ng l p trì
trình
Giú
Giúp sinh viên hi u đ c nh ng y u t c b n c a m t
ngôn ng hình th c nh b ng ch , t v ng, cú
cú phá
pháp và
và
ng ngh a
Ví d : ql = qu n lý
pp = ph ng phá
pháp
pp+ = phân ph i
= ng
ng
H c ph n trì
trình bà
bày cá
các công c ch y u đ làm vi c v i
các ngôn ng hình th c là
là v n ph m và
và ôtômat, phân lo i
ngôn ng c a Chomsky :
i...
Luôn mang BVT theo mì
mình, m i lú
lúc m i n i
Ch ch n ghi cá
các ý chí
chính, hay t khoá
khoá
Ngôn ng chí
chính quy
Không nh t thi t ghi c câu
Ngôn ng phi ng c nh
Tìm m i cá
cách đ v , thay vì
vì ch vi t !
Ngôn ng c m ng c nh
Ngôn ng lo i 0 (g n g i v i ngôn ng t nhiên)
7/38
7/38
8/38
8/38
Ki n th c yêu c u
ánh giá
giá k t qu h c t p
Môn h c yêu c u ki n th c tiên quy t : Toá
Toán cho Tin h c
Lý thuy t
Yêu c u :
Hi u n i dung trì
trình bà
bày trên l p
Th c hi n cá
các bài t p v nhà
nhà
T ph p
th
Kh n ng th c hà
hành
K thu t ch ng minh
Tinh th n thá
thái đ và n ng l c h c t p
Qui n p
Ph n ch ng
K thu t mô ph ng
Các ki n th c c n thi t khá
khác :
C s L p trì
trình
Georg Cantor (1845–1918)
Founder of Modern Set Theory
Môn h c đòi h i m t s k n ng :
Nghe gi ng, ghi ché
chép
Tr l i và
và đ t câu h i
Tham kh o tà
tài li u, truy c p internet
Tham gia h c nhó
nhóm, t p th o lu n và
và thuy t trì
trình
…
Ki m tra gi a k : Bà
Bài thi vi t 1515-30 phú
phút
Ki m tra cu i k : Bà
Bài thi vi t 6060-75 phú
phút
Kh n ng đ c hi u v n đ
Trì
Trình bà
bày di n đ t v n đ (ngh thu t !)
Kh n ng th o lu n, là
làm vi c theo nhó
nhóm...
9/38
9/38
N i dung môn h c
Ch
ng 1
M đ u
Ch
ng 2
Ôtômat h u h n (ôhh/ôh2/ô2h)
Ch
ng 3
V n ph m chí
chính qui (VPCQ)
Ch
ng 4
Ôtômat đ y xu ng (ôđx
(ôđx))
Ch
ng 5
Máy Turing (MT)
10/38
10/38
Tài li u tham kh o
Giá
Giáo trì
trình + Bà
Bài gi ng trên l p
Tài li u
G p cô H ng, v n
th khoa CNTT
(chúng mình ?)
Nguy n V n Ba,
Ba, Ngôn ng hình th c, NXBKH&KT, 2002.
SM. D. Davis, E. J. Weyuker, Computability,
Computability, Complexity and
languages, Academic Press, 1983
J. E. Hopcroft, J. D. Ulman, Introduction to Automata Theory,
Theory,
Languages and Computation, Addison - Wesley, 1979
Phan Huy Khá
Khánh. Lý thuy t ngôn ng hình th c và ôtômá
ôtômát
Tài li u l u hà
hành n i b
H V n Quân.
Quân. Giá
Giáo trì
trình lý thuy t ôtômá
ôtômát và
và ngôn ng hình
th c. NXB HQG HCM,
HCM, 2002
A. Salomaa, Nh p môn tin h c, lý thuy t tí
tính toá
toán và ôtômat.
NXB Khoa h c K thu t, Hà
Hà n i 1992
Internet: tì
tìm ki m Google.com.vn, wikipedia
11/38
11/38
12/38
12/38
2
Vài dòng l ch s
Cantor (1845-1918)
Lý thuy t t p h p
Hilbert (1862-1943)
Ch
“N
“N uu tôi
tôi có
có m
m tt ss thành
thành công
công nh
nh tt đđ nh
nh trong
trong
toán
toán hh cc thì
thì đó
đó là
là vì
vì tôi
tôi luôn
luôn th
th yy nó
nó rr tt khó”
khó”
Hilbert
Hilbert
Toán h c ch t ch
ng 1
M đ u☺
M t s khá
khái ni m
B ng ch (Σ)
Câu (xâu)
Ngôn ng
Gödel (1906-1978)
Mô t ngôn ng
Lý thuy t v tính không đ y đ
Các phé
phép toá
toán (θ
(θ) trên ngôn ng (ng2)
Church, Kleene, Post, Markov, von Neumann, Turing
CM t đlý mô (Preuves de quels théorèmes)?
“T
“T m
m nhìn
nhìn ta
ta th
th tt ng
ng nn
CM v i thtoán mô (Avec quels algorithmes)?
mà
mà đã
đã th
th yy bao
bao th
th đđ làm”
làm”
Turing (1912-1954)
Bi u th c chí
chính qui (BTCQ)
Các ngôn ng phi chí
chính qui
Alan
Alan Turing
Turing
V n đ bi u di n ngôn ng
Máy Turing
McCulloch, Pitts
M ng n -ron nhân t o
Chomsky
13/38
13/38
14/38
14/38
Mô hình toán h c mô t ngôn ng - hình th c hoá ngôn ng
Câu trên b ng ch Σ
B ng ch và câu
B ng ch (alphabet) :
Cho tr
là m t t p h u h n cá
các ký t (characters),
(characters), hay ký t ng/
ký hi u (symbol), ký hi u b i ch cái Hy l p Σ
Kích th c c a b ng ch là s ph n t c a b ng ch đó
đó,
ký hi u |Σ
|Σ|, hay Card(Σ
Card(Σ) (Cardinality)
M t câu (phrase, word), hay xâu (string), trên Σ :
là m t dãy h u h n cá
các ph n t c a Σ,
ký hi u b i w (hay x, y, u, v...)
Ví d m t s b ng ch Σ :
{#}
{ 0, 1 }
{ ♣, ♠, ♦, ♥ }
{0, 1, 2, ... , 9}
{I, V, X, L, C, D, M}
{aA, bB, cC, ... , zZ}
{αΑ, βΒ, χΧ, ... , ζΖ}
B ng mã ASCII
c m t b ng ch Σ nào đó
đó
dài c a m t câu là
là s ký t có m t trong câu,
ký hi u là
là |w| hay length(w)
|=1
|Σ| = 2
|Σ| = 4
Ch s th p phân, |Σ| = 10
Ch s La Mã
Ch cái La tinh
ch cái Hi L p
dài câu là
là h u h n,
nh ng không h n ch là có bao nhiêu ký t
M t câu có
có th có t 0 đ n n ký t tu ý
Câu có
có đ dài b ng 0 đ c g i là
là câu r ng (empty word),
ký hi u ε, ho c e, ho c λ ho c ω
15/38
15/38
Ví d v câu trên b ng ch Σ
Phé
Phép ghé
ghép ti p cá
các câu
Cho hai câu u và
và v trên Σ
Ví d
B ng ch Σ
{ 0, 1 }
16/38
16/38
Câu trên Σ
Phé
Phép ghé
ghép ti p (Concatenation) c a u và
và v là
là câu w = uv
ε, 0, 1, 00, 01, 10, 11, 100...
Ngh a là
là câu w g m hai ph n :
{ a....z }
a, ab, zt, computer
{ 0, ..., 7, ♠, ♣, ♦, ♥ }
4♣3♦2♠, 1234, ♣♠
ASCII
M t ch
u đgl là
là ti n t (prefix)
r i đ n v là
là h u t (postfix) c a w
ng trì
trình C, Pascal, Java, VB...
Cho m t câu w có
có có |w|=n,
|w|=n, ng i ta có
có th trí
trích ra t w
m t ký t nào đó
đó có v trí
trí xác đ nh trong ph m vi 1..n
Ví d câu w=aaabbaabbba có
có |w|=11,
có th trí
trích ra cá
các ký t :
Tr ng h p câu w = xuy là
là ghé
ghép ti p c a ba câu x, u,
u, y,
y,
u đgl trung t (infix) c a w
Ng i ta còn g i câu r ng ε là câu đ n v
vì có εw = wε
wε = w
v i w là
là m t câu b t k trên Σ
w(1) = a, ..., w(4) = b, ..., w(11) = a
Returning
17/38
17/38
18/38
18/38
3
Các phé
phép toá
toán khá
khác trên xâu
Khá
Khái ni m ngôn ng
M t ngôn ng hình th c (nó
(nói g n ngôn ng ) :
Cho cá
các câu w trên Σ
o ng c (Reversion) m t câu w, ký hi u
Là câu w đ c vi t theo th t ng c l i
Phé
Phép
wR
là t p h p cá
các câu
đ c xây d ng trên cù
cùng m t b ng ch đã cho Σ
:
Ví d :
Rõ rà
ràng εR = ε
Σ* là ngôn ng g m t p t t c các xâu trên b ng ch Σ
k c xâu r ng
Σ+ là ngôn ng g m t p t t c các xâu trên b ng ch Σ
KHÔNG CÓ
CÓ xâu r ng
wR = w đgl câu đ i x ng : OMO, akitOMOtika...
akitOMOtika...
Phé
Phép L y th a (power) xâu
wn
= ww…
ww…w (n l n)
Quy
w0 = ε v i m i w
c ch đ nh m t câu
(denotation)
Σ+ = Σ* - ε
∅ là ngôn ng tr ng (t p tr ng)
Chú ý {ε}
Ví d
L1 = {a, ab, abb, bba, bbb} là
là ngôn ng h u h n trên {a, b}
L2 = {(ab)n | n > 0} là
là ngôn ng vô h n trên {a, b}
19/38
19/38
20/38
20/38
Các phé
phép toá
toán trên ngôn ng
Các phé
phép toá
toán trên ngôn ng
Ngôn ng là m t t p h p do đó
đó có th áp d ng cá
các phé
phép toá
toán
Phé
Phép ghé
ghép n i :
trên t p h p :
i v i cá
các ph n t :
i v i ngôn ng :
Phé
Phép ngh ch đ o :
∈∉
∩∪⊂⊆⊄⊃⊇
Cho L1, L2 và
và L là
là các ngôn ng , cá
các phé
phép toá
toán:
Phé
Phép h p
L1 ∪ L2 = {w | w ∈ L1 ho c w ∈ L2}
Phé
Phép giao
L1 ∩ L2 = {w | w ∈ L1 và
và w ∈ L2}
Phé
Phép hi u
L1 – L2 = {w | w ∈ L1 và
và w ∉ L2}
Phé
Phép bù
bù
L’ = {w | w ∉ L} ho c L’
L’ = Σ* - L
L1L2 = = {w | w = uv, u ∈ L1 và
và v ∈ L2}
LR = {w | wR ∈ L}
Phé
Phép l y th a :
L1
Ln = LL…
LL…L (n l n)
Li = LLi-1 = Li-1L v i i>0
L0 = {ε
{ε}
L2
Ghép n i L1 có m
câu, và L2 có n câu,
đ c ngng có m.n
??? câu
Là
Là b
b n
n ss cc aa tích
tích êCac
êCac
(Cartesian
(Cartesian Product)
Product)
Ví d :
Cho L = { tic,
tic, tac,
tac, toe
toe } khi đó
đó :
L2 = LL
= { tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toetac,
toetac, toetoe }
L
21/38
21/38
Các phé
phép toá
toán trên ngôn ng
Phé
Phép bao đó
đóng (closure) :
L* = L 0 ∪ L 1 ∪ … ∪ Ln ∪ … =
Phé
Phép bao đó
đóng d
ng :
L + = L1 ∪ L 2 ∪ … ∪ L n ∪ … =
Nh n xé
xét :
22/38
22/38
Các ngôn ng chí
chính quy (NNCQ)
ℜ t p h p cá
các ngôn ng chí
chính quy (Regular Languages)
trên Σ :
∞
UL
i
i=0
c đ nh ngh a d a trên cá
các ngôn ng s c p
và các phé
phép toá
toán h i, ghé
ghép và
và đó
đóng l p *
∞
UL
i
i=1
Là t p h p nh nh t (ch a ít ph n t nh t) cá
các ngôn ng
thõa mãn cá
các đi u ki n sau :
L+ = LL* = L*L
L * = L+ ∪ { ε }
1. ∅ ∈ ℜ, {ε
{ε}∈ℜ
2. { a } ∈ ℜ v i ∀a ∈ Σ
Ví d :
3. N u A, B ∈ ℜ, thì
thì A∪B, A.B và
và A* ∈ ℜ
Cho L = { tic,
tic, tac,
tac, toe
toe } khi đó
đó :
L* = { ε, tic, tac, toe, tictic, tictac, tictoe, tactic, tactac, tactoe,
toetic, toetac, toetoe, tictictic, tictictac, ... }
23/38
23/38
Rõ rà
ràng ℜ là t p h p bé
bé nh t do đ c xây d ng t các t p
s c p ∅, { ε } và
và { a } b i cá
các phé
phép h i, ghé
ghép và
và bao đó
đóng
24/38
24/38
4
Bi u th c chí
chính quy (BTCQ)
Bi u di n ngôn ng b i bi u th c chí
chính qui
Ng i ta s d ng cá
các bi u th c chí
chính quy (Regular
(Regular
Expressions) đ bi u di n cá
các ngôn ng chí
chính qui trên Σ
Ngôn ng L(ξ) đ c bi u di n (hay
(hay đ c ch đ nh)
b i BTCQ ξ theo cá
các b c quy n p nh sau :
Qui t c xây d ng BTCQ trên Σ là các bi u th c đ
thà
thành theo cá
các b c quy n p nh sau :
1. ∅, ε và a, v i m i ph n t a c a Σ
1. L(∅
L(∅) = ∅, L(ε
L(ε) = { ε }, L(a) = { a } cho ∀a ∈Σ
ct o
2. L((α
L((α ∪ β)) = L(α
L(α) ∪ L(β
L(β)
(1)
2. N u α và β là hai BTCQ ,
thì
), (α
thì (α∪β),
α∪β), (αβ
(αβ),
(α)* c ng là
là nh ng BTCQ
(2)
3. L((αβ
)) = L(α
L((αβ))
L(α)L(β
)L(β)
đ u là
là nh ng BTCQ
Chú
ác d u ngo c đ n
Chú ý 1 : Khi vi t m t BTCQ, có
có th
th b ccác
theo m c u tiên gi m d n : ch ng h n vi t a* thay vì
vì ((a)*
Chú
ó th vi t a+b thay
Chú ý 2 : CCó
vvìì vi
thay vì
vi t a∪b
VVíí d , bi u th c ((0 (1*))
ó th
ccó
(1*)) +
+ 0)
0) có
th vi t 01*+ 0
4. L((α
L((α)*) = L(α
L(α)*
T (1) và
và (2) ta có
có tính ch t sau :
M t ngôn ng là chí
chính qui n u và
và ch n u
ngôn ng đó
đó đ c ch đ nh b i m t bi u th c chí
chính qui
Nh n xé
xét :
Các BTCQ c ng t o thà
thành m t ngôn ng
vì chú
chúng là
là nh ng xâu ký t trên b ng ch Σ
25/38
25/38
26/38
26/38
Bao đó
đóng c a b ng ch Σ
M t s ví d _ 1
Cho b ng ch Σ, khi
khi đó
đó, L = { a | ∀a ∈ Σ } là
là m t NNCQ
Bao đó
đóng c a L là
là L* = Σ* là
là m t NNCQ có
có vô h n câu
Có th li t kê h t (đ m đ
Ví d Σ* = (a+ b)*
2
4
c) t t c các câu c a Σ*
1
ε
5
ab
6
ba
7
bb
L2 g m cá
các câu có
có đ dài ≤ 8
L5 = { w ∈ Σ* | w = wR }
= {ε
{ε, aa,
aa, bb, aba, bab, abba, baab, ... }
L5 g m cá
các câu đ i x ng (palindrome)
aaa aab aba abb baa bab bba bbb
...
L1 có 4 câu
L2 = { w ∈ Σ* | |w| ≤ 8 }
L4 = { w ∈ Σ* | na(w) = nb(w) }
= {ε
{ε, ab,
ab, ba, aabb, abab, baab, ... }
L4 g m cá
các câu có
có s ch a đú
đúng b ng s ch b
b
...
8
L1 = {ε
{ε, a, aa, aab }
L3 = { w ∈ Σ* | |w| là
là m t s l } L3 g m cá
các câu có
có đ dài l
3
a
aa
Cho b ng ch Σ = { a, b },
có th xây d ng đ c m t s NNCQ trên Σ nh sau :
...
27/38
27/38
28/38
28/38
M t s ví d _ 2
M t s tính ch t
Cho b ng ch Σ, a ∈ Σ, w ∈ Σ* và
và L ⊆ Σ*
V i quy
Khi đó
đó :
Khi đó
đó :
ak = aa ... a
L(α
L(α) = L(β
L(β) khi và
và ch khi α = β
wk = ww ... w ghé
ghép liên ti p k câu w
Ngh a là
là :
Σk = ΣΣ ... Σ = { w ∈ Σ* | |w| = k }
Hai BTCQ b ng nhau cù
cùng bi u di n m t NNCQ
Lk = LL ... L
Tr
k ch a liên ti p
c L(α
L(α) là
là NNCQ đbdb BTCQ α
ngôn ng g m cá
các câu là
là ghé
ghép k câu tu ý c a L
ng h p đ c bi t k = 0 :
ch ng minh r ng hai t p h p A và
và B đã cho là
là b ng nhau
a0 = w0 = ε
A=B
Σ0 = L0 = { ε }
c n ch ra A⊂
A⊂B và
và B⊂A
Chú
Chú ý { ε } ≠ ∅ :
Ngh a là c n CM hai chi u “⊂” và “⊃”
{ ε } có
có m t câu là
là ε
còn ∅ không có
có câu nà
nào !
29/38
29/38
30/38
30/38
5
Ch ng minh w ∈ (a*b)*∪(b*a)*
M t s ví d _ 3
Ch ng minh r ng :
Gi s w = w1w2...wn ∈ Σ*
X y ra b n tr ng h p nh sau :
L((a*b)* ∪ (b*a)*) = L((a ∪ b)*) = Σ* v i Σ = { a, b }
Ngh a là
là các BTCQ :
(a*b)* ∪ (b*a)* và
và Σ*
cùng ch đ nh m t ngôn ng chí
chính qui
1. w = an, do
do đó
đó w ∈ ( εa )* ⊂ ( b*a )* ⊂ (a*b)*∪(b*a)*
2. w = bn, do
do đó
đó w ∈ ( εb )* ⊂ ( a*b )* ⊂ (a*b)*∪(b*a)*
T nay v sau đ đ n gi n, ta vi t w ∈ α thay vì
vì w ∈ L(α
L(α)
3. w ch a a và
và b, k t thú
thúc b i b. Ta có
có :
w = a . . . ab b . . . b a . . . ab
ab b . . . b
a*b
L i gi i là
là CM hai chi u “⊂” và “⊃” :
Do đó
đó, w ∈
“⊂” : Rõ rà
ràng (a*b)*∪
(a*b)*∪(b*a)* ⊂ Σ* vì
vì Σ* là
là bao đó
đóng
“⊃” :
ch ng minh đi u ng c l i, ta xé
xét m t câu :
w = w1w2...wn ∈ Σ*
C n ch ng minh w ∈ (a*b)*∪
(a*b)*∪(b*a)*
(a*b)*
a*b
(a*b)*
(a*b)*∪(b*a)*
4. w ch a a và
và b và
và k t thú
thúc b i a.
T ng t tr ng h p 3, ta c ng có
có :
w ∈ L((a*b)*∪(b*a)*)
31/38
31/38
32/38
32/38
Có vô h n không đ m đ
Các ngôn ng phi chí
chính qui
c ngôn ng
Σ = { a, b }
Nh n xé
xét :
Các BTCQ là
là vô h n đ m đ
c
Các BTCQ ch bi u di n t p vô h n đ m đ
nh ng không bi u di n h t m i ngôn ng
Các ngôn ng phi CQ
c NNCQ,
T n t i nh ng ngôn ng phi chí
chính qui
và không có
có đ các BTCQ đ bi u di n m i ngôn ng
T p cá
các NNCQ ℜ
M i ngôn ng không th là chinh qui :
T p h p cá
các ngôn ng và t p h p cá
các t p h p con c a m t
t p h p đ m đ c (t p h p cá
các câu) là
là không đ m đ c
T p h p cá
các NNCQ là
là đ m đ c vì
vì m i NNCQ đ c bi u di n
b i m t BTCQ và
và t p h p cá
các BTCQ là
là đ m đ c
S có nhi u ngôn ng khá
khác v i NNCQ
Σ* = { a, b }*
CCó
ó 22nn tt pp hh pp con
ó nn ph
ccó
con cc aa m
m tt tt pp hh pp AA có
ph nn tt
N
ó vô
ó vô
ccó
th
N uu AA có
vô hh nn đđ m
m đđ cc ph
ph nn tt thì
thìì 22AA ccó
vô hh nn không
không đđ m
m đđ
cc ph
ph nn tt
33/38
33/38
V n đ bi u di n ngôn ng
34/38
34/38
Ví d bi u di n ngôn ng
M t ngôn ng trên b ng ch Σ là t p h p con c a Σ+
Ngôn ng có vô h n câu :
Cho L⊆Σ
L⊆Σ+, là
làm sao đ bi u di n h t m i câu w∈
w∈L ?
L1 = { ai ⏐ i là
là m t s nguyên t }, hay
= { a2, a3, a5, a7, …, a11, a13, … }
Khi L có
có h u h n câu, ch vi c li t kê cá
các câu
Khi L có
có vô h n câu, không th li t kê h t cá
các câu c a L,
mà ph i tì
tìm cá
cách bi u di n h u h n :
N u L g m cá
các câu có
có m t s tính ch t nh t quá
quán P nà
nào đó
đó,
dùng tân t đ bi u di n tính ch t P đó
đó
L2 = { aibj ⏐ i ≥ j ≥ 0 }, hay
= { ε, a, ab, aab, aabb, … }
là ngôn ng g m cá
các câu có
có m t dãy con a r i đ n m t dãy con b,
L = { w∈Σ
* | P(w) }
w∈Σ*
trong đó
đó s con a bên trá
trái nhi u h n ho c b ng s con b bên ph i
N u L là
là NNCQ, s d ng BTCQ α ch đ nh L :
L3 = (ab)*
= { ε, ab, abab, ababab, … }
là ngôn ng g m cá
các câu có
có các c p ab tu ý (0..n c p)
L = L(α
L(α)
L tu ý, không ph i là
là NNCQ : s d ng ôtômat và
và v n ph m
- Ôtômat đoá
đoán nh n câu c a m t ngôn ng
- v n ph m s n sinh ra câu cho m t ngôn ng
35/38
35/38
36/38
36/38
6
Ví d đoá
đoán nh n m t câu c a ngôn ng
Ví d s n sinh ra câu c a ngôn ng
Cho L là
là ngôn ng trên { a,
a, b } đ
c đ nh ngh a nh sau :
1. ε ∈ L
Có th thu g n w v câu r ng ε : w ⇒ ε
2. N u w ∈ L thì
thì awb ∈ L
Thu g n b ng cá
cách thay th d n cá
các xâu con ab c a w b i ε
3. L không còn câu nà
nào khá
khác n a (ngoà
(ngoài 1 và
và 2)
Ví d :
w = ab ∈ L vì
vì
Qui lu t s n sinh cá
các câu c a L nh sau :
T (1), L = { ε }
Coi ε là w, t (2), ta có
có câu awb = aε
aεb = ab, L = { ε, ab }
L i do (2), ta có
có L = { ε, ab, aabb, aaabbb, ... }
: ab ⇒ ε
w = aabbab ∈ L vì
vì : aabbab ⇒ abab ⇒ ab ⇒ ε
Coi a, b l n l
t là
là c p d u ngo c đ n ( và
và ) :
L g m cá
các c p d u ngo c đ n cân b ng nhau không cà
cài nhau
thu đ c t m t bi u th c toá
toán h c nà
nào đó
đó
C th , ta có
có m i câu c a L có
có d ng aibi ⏐ ∀i ≥ 0
Có th bi u di n L d
Gi s đ nh ngh a ngôn ng L g m cá
các câu w∈
w∈Σ∗ :
Ví d , t bi u th c (3*(x − y)) / (x + 1),
1), th c hi n b h t cá
các
ký hi u toá
toán t và toá
toán h ng, ta nh n đ c câu ngo c đ n
cân b ng (())(),
(())(), là
là câu aabbab
i d ng :
L = { aibi ⏐ ∀i ≥ 0 }
37/38
37/38
38/38
38/38
7