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

Ngôn ngữ hình thức và Ôtômat - Chương 1 ppt

7 367 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ngôn ngữ hình thức và Ôtômat
Người hướng dẫn PGS.TS. Phan Huy Khỏ Khỏnh
Trường học Đại học Đà Nẵng
Chuyên ngành Ngôn ngữ hình thức và Ôtômat
Thể loại Bài giảng
Năm xuất bản 2008
Thành phố Đà Nẵng
Định dạng
Số trang 7
Dung lượng 357,19 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... Weyuker, Computability, Complexity and languages, Academic Press, 1983 J.. Ulman, Introduction to Automata Theory, Languag

Trang 1

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

(Formal Language & Automata)

PGS.TS Phan Huy Khánh

khanhph@vnn.vn, phk@ud.edu.vn

2/38

Chào m i ng i !

Bonjour Tout le Monde ! Hello Everyone!

!

To Start…

“One picture is worth more than ten thousand words”

Chinese Proverb

“One picture is worth more than ten thousand words”

Chinese Proverb

4/38

(Hai l p tr ng quy t đ t đ nh) :

Chi u th Hai hàng tu n, t i A5-104, 13H30

Nh ng bu i đ i đ u :

Chi u th Hai 14/01 Sáng th B y, 26/01/2008, 7H00 Sau T t, t.29, 13H30, 25/02/08

M t và “chuy n nh ” b t đ t đ u môn h c

Th t c “chào h i”:

Vào l p mu n, hoc ra kh i lp, không c n xin phép

Khi Gi ng viên (GV) hi, cn :

Nói rõ vàto ging đng đ c l p cùng nghe đng nghe đ c

Khi tr l i, c n th c hin ngay :

T ch i, không bi t, hoc tr l i tr c tip vào câu h i

Chu n b h c :

L p s ch s (m i ngha), s n sàng cho bu i dy

Ng i t p trung gn tôi, không ng i kiu “gió đ a ao b đ a ao bè ”

Giúp GV chun b màn hình, đ đèn chiu, cm đim đi n

K t thúc môn h c :

Giúp GV d n dp màn hình, đ đèn chi u, cm đim đin

C nên ghi bài gi ng trên l p vào s , v h c trò ?

Hc b ng slide c n cóTLTK+ cách ghi h p lý

N u không s xy ra hi n t ng “TH A TAY”, “đ tay nhà”

Ghi bài gi ng trên l p vào gi y r i A4

Mi môn h c m t t p giy A4, cómàu đu đánh d u phân bi t Nguyên t c thao tác ti p th tri th c và ng d ng : Thu nh t, lit kê, vun x i

Phân loi, s p x p Khoanh vùng, gi i h n

Ch đ đnh, l a ch n, tìm ki m

Vn d ng, hoàn thi n, làm giàu tri th c Tìm ki m phm ph ng phng pháp h c t p hi u qu Phát huy các giác quan : m tn, tain, mi ngn, m in, tayn

Trang 2

có th “t c ký”

Dùng S d ng b ng vi t t t (BVT) :

t đ đnh ngha ch vi t t t c a riíng mình

Víd : ql = qu n lý

pp = phph ng phng phâ

pp+ = phđn ph i

= ng i

Luôn mang BVT theo mình, m i lúc m i n i

Ch ch n ghi câc ý chính, hay t khoâ

Không nh t thi t ghi c cđu

Tìm m i câch đch đ v , thay vìch vi t !

8/38

M c đ c đ ích môn h c

H c ph n cung c p c s toân h c c a câc phc ph ng phng phâp hình th c trong vi c xđy d ng câc ngôn ng l p trình Giúp sinh viín hi u đ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úphâp vă

ng ngha

H c ph n trình băy câc công c ch y u đu đ lăm vi c v i

c c ngôn ng hình th c lă v n ph m vẵtômat, phđn lo i ngôn ng c a Chomsky :

Ngôn ng chính quy Ngôn ng phi ng c nh Ngôn ng c m ng c nh Ngôn ng loi 0 (g n g i v i ngôn ng t nhiín)

9/38

Ki n th c yíu c u Môn h c yíu c u ki n th c tiín quy t : Toân cho Tin h c

Lý thuy t

T p h p

th

K thu t ch ng minh

Qui n p

Ph n ch ng

K thu t mô ph ng

Câc ki n th c c n thi t khâc :

C s L p trình

Môn hc đòi hc đòi h i m t s k n ng :

Kh n ng đ n ng đ c hiu v n đn đ

Trình băy din đn đ t vn đn đ (ngh thu t!)

Kh n ng th o lu n, lăm vi c theo nhóm

Georg Cantor (1845–1918)

Founder of Modern Set Theory

10/38

Yíu c u :

Hi u ni dung trình bă trínl p

Th c hin câ băit pv nhă

Kh n ng th c hănh Tinh th n thâi đi đ v n ng l c h c t p Nghe gi ng, ghi chĩp

Tr l i vă đ đ t cđu hi Tham kh o tăi li u, truy cp internet Tham gia hc nhóm, t p tho lun văthuy t trình

Ki m tra gi a k : Băi thi vi t 15-30 phút

Ki mtracu ik : Băi thivi t 60-75 phút

Ch ng

Ch ng 1 M đ đ u

Ch ng

Ch ng 2 Ôtômat h u h n (ôhh/ôh2/ô2h)

Ch ng

Ch ng 3 V n ph m chính qui (VPCQ)

Ch ng

Ch ng 4 Ôtômat đÔtômat đ y xu ng (ôđxôđx)

Ch ng

Ch ng 5 Mây Turing (MT)

Tăi li u tham kh o Giâo trình + Băi gi ng trín l p

Tăi li u Nguy n V n Ba, Ngôn ng hình th c, NXBKH&KT, 2002

SM D Davis, E J Weyuker, Computability, Complexity and languages, Academic Press, 1983

J E Hopcroft, J D Ulman, Introduction to Automata Theory, Languages and Computation, Addison -Wesley, 1979 Phan Huy Khânh Lý thuy t ngôn ng hình th cv ôtômât Tăi li u l u hănh n i b

H V n Quđn Giâo trình lý thuy t ôtômât văngôn ng hình

th c NXB HQG HCM, 2002

A Salomaa, Nh p môn tin h c, lý thuy t tính toâ v ôtômat

NXB Khoa h c K thu t, Hă i 1992 Internet: tìm ki m Google.com.vn, wikipedia

G p cô H ng, v n

th khoa CNTT (chúng mình ?)

G p cô H ng, v n

th khoa CNTT (chúng mình ?)

Trang 3

Vài dòng l ch s Cantor (1845-1918)

Lý thuy t t p h p

Hilbert (1862-1943)

Toán h c ch t ch

Gödel (1906-1978)

Lý thuy t v tính không đ y đ

Church, Kleene, Post, Markov, von Neumann, Turing

CM t đlý mô (Preuves de quels théorèmes)?

CM v i thtoán mô (Avec quels algorithmes)?

Turing (1912-1954)

Máy Turing

McCulloch, Pitts

M ng n -ron nhân t o

Chomsky

Mô hình toán h c mô t ngôn ng - hình th c hoá ngôn ng

“N u tôi có m t s thành công nh t đ nh trong toán h c thì đó là vì tôi luôn th y nó r t khó”

Hilbert

“N u tôi có m t s thành công nh t đ nh trong toán h c thì đó là vì tôi luôn th y nó r t khó”

Hilbert

“T m nhìn ta th t ng n

mà đã th y bao th đ làm”

Alan Turing

“T m nhìn ta th t ng n

mà đã th y bao th đ làm”

Alan Turing

14/38

M t s khái ni m

B ng ch (Σ) Câu (xâu) Ngôn ng

Mô t ngôn ng Các phép toán (θ) trên ngôn ng (ng2)

Bi u th c chính qui (BTCQ) Các ngôn ng phi chính qui

Vn đn đ bi u din ngôn ng

15/38

B ng ch (alphabet) :

làmt t p h u hn các ký t (characters), hay ký t ng/

ký hi u (symbol), ký hiu b i ch ci Hy lp Σ

Kích th c ca b ng ch là ph n t c a bng ch đ đó,

ký hi u |Σ|, hay Card(Σ) (Cardinality)

Víd m t s b ng ch Σ:

{ ♣, ♠, ♦, ♥} |Σ| = 4

{0, 1, 2, , 9} Ch s th p phân, |Σ| = 10

{I, V, X, L, C, D, M} Ch s La Mã

{aA, bB, cC, , zZ} Ch cái La tinh

{αΑ, βΒ, χΧ, , ζΖ} ch cái Hi L p

B ng mã ASCII

16/38

Cho tr c m t b ng ch Σnào đo đó

M t câu(phrase, word), hay xâu(string), trên Σ:

làm t dãy h u h n các phn t c a Σ,

ký hi u b i w(hay x, y, u, v )

d i c a m t câu làs ký t cóm t trong câu,

ký hi u là|w| hay length(w)

d i câu là u h n,

nh ng không h n ch làcóbao nhiêu ký t

M t câu cóth cót 0 đ n n ký t tu ý Câu có đ đ dài b ng 0 đ đ c g i làcâu r ng (empty word),

ký hi u ε, ho c e, ho c λho c ω

Víd

B ng ch Σ Câu trên Σ

{ 0, 1 } ε, 0, 1, 00, 01, 10, 11, 100

{ a z } a, ab, zt, computer

{ 0, , 7, ♠, ♣, ♦, ♥} 4♣3♦2♠, 1234, ♣♠

ASCII Mt cht ch ng trng trình C, Pascal, Java, VB

Cho m t câu w cócó |w|=n, ng i ta cóth trích ra t w

m t ký t nào đo đócóv tríx c đc đnh trong ph m vi 1 n

Víd câu w=aaabbaabbba có|w|=11,

cóth trích ra các ký t :

w(1) = a, , w(4) = b, , w(11) = a

Phép ghép ti p các câu Cho hai câu u vàv trên Σ

Phép ghép tip(Concatenation) c a u vàv làcâu w= uv Ngha làcâu wg m hai ph n :

u đgl l

u đgl là n t (prefix)

r i đi đ n v là u t (postfix) c a w

Tr ng h p câu w = xuy làghép ti p c a ba câu x, u, y,

u đgl

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

v i w làm t câu b t k trên Σ

Returning

Trang 4

Các phép toán khác trên xâu

Cho các câu w trên Σ

Phép o ng c(Reversion) m t câu w, ký hi u wR:

L câu w đ đ c vit theo th t ng c l i

Rõ ràng εR= ε

wR= w đgl câu đw đgl câu đ i x ng : OMO, akitOMOtika

Phép L y th a(power) xâu

wn= ww…w (n l n)

w0= εv i m i w Quy (denotation)c ch đ nh m t câu

Quy c ch đ nh m t câu (denotation)

20/38

M t ngôn ng hình th c (nói g n ngôn ng ) :

làt p h p các câu

đ c xây d ng trên cùng m t bng ch đã cho đã cho Σ

Víd :

Σ*làngôn ng gm t p tt c cc xâu trên bng ch Σ

k c xâu rng

Σ+làngôn ng gm t p tt c cc xâu trên b ng ch Σ KHÔNG CÓxâu r ng

Σ + = Σ * - ε

∅ là ngôn ng tr ng (t p tr ng)

Víd L1 = {a, ab, abb, bba, bbb} là ngôn ng h u h n trên {a, b}

L2 = {(ab) n | n > 0} là ngôn ng vô h n trên {a, b}

Chú ý {ε}

Chú ý {ε}

21/38

Các phép toán trên ngôn ng

Ngôn ng làm t t p h p do đp do đócóth áp d ng các phép toán

trên t p h p :

i vi các phn t :

i vi ngôn ng :

Cho L1, L2 vàL làc c ngôn ng , các phép toán:

Phép h p

L1 ∪L2 = {w | w ∈L1 ho c w ∈L2}

Phép giao

L1 ∩L2 = {w | w ∈L1 vàw ∈L2}

Phép hiu

L1 –L2 = {w | w ∈L1 vàw ∉L2}

Phép bù

L’= {w | w ∉L} ho c L’= Σ* -L

∈∉

∩∪⊂⊆⊄⊃⊇

L2 L1

L

22/38

Các phép toán trên ngôn ng Phép ghép n i :

L1L2 = = {w | w = uv, u ∈L1 vàv ∈L2}

Phép nghch đch đ o :

LR= {w | wR∈L}

Phép l y th a :

Ln= LL…L (n l n)

Li= LLi-1 = Li-1L v i i>0

L0= {ε}

Víd : Cho L = { tic, tac, toe } khi đkhi đó:

L2= LL

= { tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toetac, toetoe }

Ghép n i L1 có m câu, và L2 có n câu,

đ c ngng có ??? câu

Ghép n i L1 có m câu, và L2 có n câu,

đ c ngng có ??? câum.n

Là b n s c a tích êCac (Cartesian Product)

Là b n s c a tích êCac (Cartesian Product)

Các phép toán trên ngôn ng

Phép bao đp bao đóng (closure) :

L*= L0∪L1∪…∪Ln ∪…=

Phép bao đp bao đóng dng d ng ng :

L+= L1∪L2∪…∪Ln ∪…=

Nh n xét :

L+= LL*= L*L

L*= L+∪{ ε}

Víd :

Cho L = { tic, tac, toe } khi đkhi đó:

L*= {ε,tic, tac, toe, tictic, tictac, tictoe, tactic, tactac, tactoe,

toetic, toetac, toetoe, tictictic, tictictac, }

U∞

=0 i i

L

U∞

=1 i i

L

ℜt p h p các ngôn ng chính quy(Regular Languages) trên Σ:

c đ

c đnh ngha d a trên các ngôn ng s c p

v các phép toán h i, ghép và đ đóng l p *

L t p h p nh nh t (ch a ít phn t nh t) các ngôn ng thõa mãn các đic đi u ki n sau:

1 ∅∈ℜ, {ε}∈ℜ

2 { a} ∈ℜv i ∀a∈Σ

3 N u A, B ∈ℜ, thìA∪B, A.B vàA* ∈ℜ

Rõ ràng ℜlàt p h p bénht do đt do đ c xây d ng t c c t p

s c p ∅, { ε} và{ a} b i các phép h i, ghép và bao đ bao đóng

Trang 5

(1)

Bi u th c chính quy (BTCQ)

Ng i ta s d ng các bi u th c chính quy (Regular

Expressions) đ đ bi u di n các ngôn ng chính qui trên Σ

Qui t c xây d ng BTCQ trên Σlàc c bi u th c đc đ c t o

thành theo các b c quy n p nh sau:

1.∅, εv a, vi m i ph n t ac a Σ

đ u lành ng BTCQ

2.N u αv βlàhai BTCQ ,

thì(α∪β), (αβ), (α)*c ng lành ng BTCQ

Chú ý 1 : Khi vi t m t BTCQ, có th b các d u ngo c đ n

theo m c u tiên gi m d n : ch ng h n vi t a* thay vì (a)*

Chú ý 2 : Có th vi t a+b thay vì vi t a∪b

Ví d , bi u th c ((0 (1*)) + 0) có th vi t 01*+ 0

Chú ý 1 : Khi vi t m t BTCQ, cóth b cc du ngoc đ nc đ n

theo m c u tiên gim dn : ch ng hn vi t a* thay vì(a)*

Chú ý 2 : C th vi t a+bthay vìvit a∪b

Víd , biu th c ((0 (1*)) + 0) cóth vi t 01*+ 0

26/38

(2)

Bi u di n ngôn ng b i bi u th c chính qui Ngôn ng L(ξ) đ c bi u di n (hay đhay đ c ch đ đnh)

b i BTCQξtheo các b c quy n p nh sau:

1 L(∅) = ∅, L(ε) = { ε}, L(a) = { a } cho ∀a ∈Σ

2 L((α∪β)) = L(α) ∪L(β)

3 L((αβ)) = L(α)L(β)

4 L((α)*) = L(α)*

T (1) và(2) ta cótính ch t sau :

M t ngôn ng là chính qui n u và ch n u ngôn ng đ đ ó đ đ c ch đ đ nh b i m t bi u th c chính qui

Nh n xét : Các BTCQ c ng to thành m t ngôn ng

vìchúng lành ng xâu ký t trên bng ch Σ

27/38

Bao đ

Bao đ óng c a b ng ch Σ

Cho b ng ch Σ, khi đhi đó, L = { a | ∀a ∈Σ} làm t NNCQ

Bao đ

Bao đóng c a L làL* = Σ* làm t NNCQ cóvô h n câu

C th li t kê h t (đ m đm đ c) t t c c c câu c a Σ*

aaa aab aba abb baa bab bba bbb

1

28/38

Cho b ng ch Σ= { a, b },

cóth xây d ng đng đ c m t s NNCQ trên Σ nh sau :

L1= {ε, a, aa, aab } L1có4 câu L2= {w ∈Σ*| |w| ≤8 } L2g m các câu có đ đ d i ≤8

L3= {w ∈Σ*| |w| làm t s l } L3g m các câu có đ đ d i l

L4= {w ∈Σ*| na(w) = nb(w) }

= {ε, ab, ba, aabb, abab, baab, } L4g m các câu cós ch a đ a đúng b ng s ch b L5= {w ∈Σ*| w = wR}

= {ε, aa, bb, aba, bab, abba, baab, }

L5g m các câu đc câu đ i x ng (palindrome)

Cho b ng ch Σ, a ∈Σ, w ∈Σ* vàL ⊆Σ*

Khi đ

Khi đó:

ak= aa a k ch a liên ti p

wk= ww w ghép liên tip k câu w

Σk = ΣΣ Σ= {w ∈Σ*| |w| = k }

Lk= LL L ngôn ng gm các câu làghép k câu tu ý c a L

Tr ng h p đp đ c bi t k = 0 :

a0= w0= ε

Σ0 = L0 = { ε}

Chúý { ε} ≠∅:

{ ε} cómt câu làε

còn ∅không cócâu nào !

M t s tính ch t

V i quy c L(α) là NNCQ đbdb BTCQ NNCQ đbdb BTCQ α Khi đ

Khi đó: L(α) = L(β) khi vàch khi α= β Ngha là:

Hai BTCQ b ng nhau cùng bi u din m t NNCQ

ch ng minh rng hai t p h p A và B đã cho l B đã cho làb ng nhau

A = B

c n ch ra A⊂B vàB⊂A Ngha làc n CM hai chiu “⊂”v “⊃”

Trang 6

Ch ng minh r ng :

L((a*b)*∪(b*a)*) = L((a ∪b)*) = Σ* v i Σ= { a, b }

Ngha làcác BTCQ :

(a*b)* ∪(b*a)* vàΣ*

cùng ch đ đnh m t ngôn ng chính qui

T nay v sau đ sau đ đ n gi đ n gi n, ta vi t w ∈αthay vìw ∈L(α)

L i gi i làCM hai chi u “⊂”v “⊃”:

“⊂” Rõ ràng (a*b)*∪(b*a)* ⊂Σ* vìΣ* là bao đ bao đóng

“⊃” : ch ng minh đing minh điu ng c l i, ta xét mt câu :

w = w1w2 wn∈Σ*

Cn ch ng minh w ∈(a*b)*∪(b*a)*

32/38

a*b (a*b)* a*b (a*b)*

Ch ng minh w ∈ (a*b)*∪(b*a)*

Gi s w = w1w2 wn∈Σ*

X y ra b n tr ng h p nh sau:

1.w = an, do đo đów ∈( εa )*⊂( b*a )* ⊂(a*b)*∪(b*a)*

2.w = bn, do đo đów ∈( εb )*⊂( a*b )* ⊂(a*b)*∪(b*a)*

3.w ch a a vàb, k t thúc b i b Ta có :

w = a ab b b a ab b b

Do đ

Do đó, w ∈(a*b)*∪(b*a)*

4.w ch a a vàb và t thúc b i a

T ng t

T ng t tr ng h p 3, ta c ng có:

w ∈L((a*b)*∪(b*a)*)

33/38

Nh n xét :

Các BTCQ làvô h n đn đ m đm đ c

Các BTCQ ch bi u din t p vô hn đn đ m đm đ c NNCQ,

nh ng không bi u din h t m i ngôn ng

T n t i nh ng ngôn ng phi chính qui

v không có đ đ các BTCQ đc BTCQ đ bi u din m i ngôn ng

M i ngôn ng không th làchinh qui:

T p h p các ngôn ng v t p h p các t p h p con c a m t

t p h p đp đ m đm đ c (tp h p các câu) là không đ không đ m đm đ c

T p h p các NNCQ là đ đ m đm đ c vìm i NNCQ đi NNCQ đ c bi u din

b i m t BTCQ vàt p h p các BTCQ là đ đ m đm đ c

S cónhi u ngôn ng khác v i NNCQ

34/38

Có vô h n không đ n không đ m đ m đ c ngôn ng

Σ = { a, b }

Σ= { a, b }

Σ* = { a, b }*

T p các NNCQ ℜ Các ngôn ng phi CQ

Có 2 n t p h p con c a m t t p h p A có n ph n t

N u A có vô h n đ m đ c ph n t thì 2 A có vô h n không đ m đ c ph n t

Có n t p h p con c a m t t p h p A có n ph n t

N u A có vô h n đ n đ m đ m đ c ph n t thì 2 A có vô h n không đ n không đ m đ m đ c ph n t

V n đ n đ 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 Σ+

Cho L⊆Σ+, làm sao đm sao đ bi u di n h t m i câu w∈L ?

Khi L có u h n câu, ch vi c lit kê các câu

Khi L cóvô h n câu, không th li t kê h t các câu c a L,

màph i tìm cách bi u din h u hn :

Nu L gm các câu cómt s tính cht nht quán P nào đo đó,

dng tân t đ đ bi u dintính cht P đt P đó

L = { w∈Σ* | P(w) }

Nu L làNNCQ, s dng BTCQ αch đ đnh L :

L = L(α)

L tu ý, không phi làNNCQ : s dng ôtômat và v n phm

-Ôtômat đotômat đoán nhn câu c a mt ngôn ng

- v n phm s n sinh ra câu cho mt ngôn ng

Ngôn ng cóvô h n câu : L1= { ai⏐i làm t s nguyên t }, hay

= { a2, a3, a5, a7, …, a11, a13, …}

L2= { aibj⏐i ≥j ≥0 }, hay

= { ε, a, ab, aab, aabb, …}

làngôn ng gm các câu cómt dãy con a r i đi đ n m t dãy con b, trong đ

trong đós con a bên trái nhiu h n ho c b ng s con b bên ph i L3= (ab)*

= { ε, ab, abab, ababab, …}

làngôn ng gm các câu cócc cp ab tu ý (0 n c p)

Trang 7

Ví d s n sinh ra câu c a ngôn ng

Cho L làngôn ng trên { a, b } đ c đc đnh ngha nh sau:

1 ε∈L

2 Nu w ∈L thìawb ∈L

3 L không còn câu nào khác n a (ngoài 1 và2)

Qui lu t s n sinh các câu c a L nh sau :

T (1), L = { ε}

Coi εlàw, t (2), ta cócâu awb = aεb = ab, L = { ε, ab }

Li do (2), ta cóL = { ε, ab, aabb, aaabbb, }

C th , ta cóm i câu c a L có ng aibi⏐∀i ≥0

C th bi u di n L d i d ng :

L = { aibi⏐∀i ≥0 }

38/38

Gi s đ đnh ngha ngôn ng L g m các câu w∈Σ∗:

Cóth thu g n w v câu r ng ε: w ⇒ε Thu g n b ng cách thay th d n các xâu con ab c a w b i ε

Víd :

w = ab ∈L vì : ab ⇒ε

w = aabbab ∈L vì : aabbab ⇒abab ⇒ab ⇒ε Coi a, b l n l t làc p d u ngo c đ n c đ n ( và) :

L g m các c p d u ngoc đ n cân bc đ n cân b ng nhaukhông cài nhau thu đ

thu đ c t m t bi u th c toán h c nào đo đó

Víd , t bi u th c (3*(x −y)) /(x + 1), th c hi n b h t các

ký hi u toán t v toán h ng, ta nhn đn đ c câu ngoc đ n c đ n cân b ng (())(), làcâu aabbab

Ngày đăng: 01/08/2014, 22:20

TỪ KHÓA LIÊN QUAN

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