Bài giảng Ngôn ngữ hình thức: Chương 2 Ôtômát hữu hạn và biểu thức chính quy, cung cấp cho người học những kiến thức như: Biểu thức chính quy; Nguyên lý hoạt động Ôtômát; Ôtômát hữu hạn tiền định; Sự tương đương giữa ô tô mát hữu hạn và biểu thức chính quy. Mời các bạn cùng tham khảo!
Trang 1Ch ươ ng 2:
ÔTÔMÁT H U H N VÀ BI U Ữ Ạ Ể
Trang 2I. Bi u th c chính quy (BTCQ) ể ứ
Trang 3Bi u th c chính quy … ể ứ
Đ lể ược b t các vòng đ n, áp d ng các m c u ớ ơ ụ ứ ưtiên v i các toán t theo th t *, ., +ớ ử ứ ự
Toán t “*” đử ược vi t v trí ch s trên.ế ở ị ỉ ố
Toán t ghép ti p (.) có th đử ế ể ược b qua: vi t ỏ ế
β thay vì β
Trang 4 Ta g i ọ ngôn ng chính quy ữ là m i ngôn ng có th ọ ữ ể
được ch đ nh b i m t bi u th c chính quy. ỉ ị ở ộ ể ứ
Trang 5Bi u th c chính quy … ể ứ
Trang 6
(14) (r*s*)*=(r+s)*
Trang 7 S d ng các tính ch t c a bi u th c chính ử ụ ấ ủ ể ứ quy rút g n công th c sau: ọ ứ
( +0)* + 0
0* +(1+ )(1+ )*(1+ )
Trang 8 Ôtômát h u h n ti n đ nh (DFA)ữ ạ ề ị
Ôtômát h u h n không ti n đ nh(NFA)ữ ạ ề ị
Trang 9C u t o c a OHT ấ ạ ủ
Trang 10C u t o c a OHT ấ ạ ủ
Có m t ộ tr ng thái đ u ạ ầ và các tr ng thái th a nh n ạ ừ ậ
M t hàm d ch chuy n ộ ị ể : cho phép xác đ nh tr ng thái ti p ị ạ ế theo d a và tr ng thái và kí hi u đ c đ ự ạ ệ ọ ượ c hi n t i ệ ạ
Trang 11Nguyên lý ho t đ ng ạ ộ
Ban đ uầ : OHT tr ng thái đ u, đ u đ c tr vào kí hi u đ u ở ạ ầ ầ ọ ỏ ệ ầ tiên c a xâu vào ủ
L p:ặ
ÔHT đ c kí hi u trên băng, xác đ nh tr ng thái ti p theo ọ ệ ị ạ ế
d a vào hàm d ch chuy n, đ y đ u đ c sang ph i m t ô ự ị ể ẩ ầ ọ ả ộ
OHT d ng khi đ c h t xâu vào, n u tr ng thái cu i là ừ ọ ế ế ạ ố
tr ng thái th a nh n thì xâu và đ ạ ừ ậ ượ c th a nh n (thu c ừ ậ ộ
ngôn ng mà ôtômát mô t ) ữ ả
Trang 13Ôtômát h u h n ti n đ nh ữ ạ ề ị
Trang 14Ôtômát ti n đ nh ề ị
H vi t l i ng m đ nh ệ ế ạ ầ ị c a ôtômát M là W=(V,P), ủ
trong đó:
P: t p các s n xu t đậ ả ấ ược xây d ng nh sau:ự ư
N u ế (q,a)=p thì qap là m t quy t c trong Pộ ắ
Ngôn ng đoán nh n b i M là:ữ ậ ở
L(M)={ | *, q0 *q F}
Trang 15Bi u di n đ th c a OHT ể ễ ồ ị ủ
Bi u di n OHT b ng đ th :ể ễ ằ ồ ị
M i nút bi u di n m t tr ng thái, là m t vòng tròn ỗ ể ễ ộ ạ ộ
có tên tr ng thái.ạ
M i cung là m t mũi tên ch hỗ ộ ỉ ướng chuy n có kèm ể
kí hi u gây ra s chuy nệ ự ể
Nút tr ng thái đ u có mũi tên ch vàoạ ầ ỉ
Nút tr ng thái cu i v b ng nét képạ ố ẽ ằ
Trang 17Ôtômát h u h n không ti n đ nh ữ ạ ề ị
Trang 18Ôtômát h u h n không ti n đ nh ữ ạ ề ị
Ví d : S đ chuy n tr ng thái c a m t OHKụ ơ ồ ể ạ ủ ộ
Trang 19Ôtômát h u h n không ti n đ nh ữ ạ ề ị
OHK khác OHT:
T m t tr ng thái g p m t kí hi u đừ ộ ạ ặ ộ ệ ược đ c vào ọ
có th chuy n sang ể ể m t s ộ ố tr ng thái ti p theo ạ ế
(hàm chuy n là hàm đa tr )ể ị
T m t tr ng thái có th ừ ộ ạ ể không c n kí hi u vào ầ ệ
OHK cũng chuy n tr ng thái (d ch chuy n ể ạ ị ể ε)
Trang 20S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
Ta ch ng minh: L(OHT)=L(OHK) (t c là ngôn ng L ứ ứ ữ
được đoán nh n b i OHT ậ ở L cũng được đoán
nh n b i m t OHK)ậ ở ộ
Trang 21S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
L đ ượ c đoán nh n b i OHT thì cũng đ ậ ở ượ c đoán nh n b i m t ậ ở ộ OHK: Thêm m t s tr ng thái q ộ ố ạ i và m t s b ộ ố ướ c chuy n sao ể cho:
Trang 22S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
Lo i b d ch chuy n – ạ ỏ ị ể ε :
Đ nh lý II.1: N u m t ngôn ng đị ế ộ ữ ược th a nh n ừ ậ
b i m t ô tô mát h u h n thì nó cũng s đở ộ ữ ạ ẽ ược
th a nh n b i m t ô tô mát h u h n không có ừ ậ ở ộ ữ ạ
d ch chuy n ị ể ε
(CM:Lý thuy t ngôn ng và tính toán – Nguy n Văn ế ữ ễ Ba)
Trang 24Lo i b d ch chuy n ạ ỏ ị ể
Ví d : cho OHK có s đ d ch chuy n sau: ụ ơ ồ ị ể
Tìm OH t ươ ng đ ươ ng v i OHK đã cho ớ
không còn d ch chuy n ị ể
Trang 25S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
Lo i b tính không ti n đ nh: ạ ỏ ề ị
Đ nh lý II.2: N u m t ngôn ng đị ế ộ ữ ược th a nh n ừ ậ
b i m t ô tô mát h u h n không có d ch chuy n ở ộ ữ ạ ị ể ε thì nó cũng được th a nh n b i m t ô tô mát h u ừ ậ ở ộ ữ
h n ti n đ nh.ạ ề ị
(CM:Lý thuy t ngôn ng và tính toán – Nguy n Văn ế ữ ễ Ba)
Trang 26Lo i b tính không ti n đ nh ạ ỏ ề ị
Cho OHK M= ( , Q, , q0, F) không còn dc , d ng ựOHT M’=( ’, Q’, ’, q0’, F’)
’= ; q0’= q0
Q’= (Q) ( t p các t p con c a Q)ậ ậ ủ
’: ’(S,a)=U (s, a) v i m i Sớ ọ Q’, s S, a
F’= {S Q’|S F }
Trang 27S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
Ví d : Cho ôtômat h u h n M={ ụ ữ ạ ,Q, ,q0,F}
nh sau: ư
Tìm Otomat h u h n ti n đ nh t ữ ạ ề ị ươ ng đ ươ ng
Trang 28S t ự ươ ng đ ươ ng gi a OHT và OHK ữ
Đ nh lý II.3: ị
M t ngôn ng độ ữ ược th a nh n b i m t ô tô mát ừ ậ ở ộ
h u h n khi và ch khi nó đữ ạ ỉ ược th a nh n b i ừ ậ ở
m t ô tô mát ti n đ nhộ ề ị
(CM:Lý thuy t ngôn ng và tính toán – Nguy n Văn Ba) ế ữ ễ
Trang 29III. S t ự ươ ng đ ươ ng gi a ô tô mát h u h n ữ ữ ạ
Trang 30T bi u th c chính quy đ n Ô tô mat ừ ể ứ ế
h u h n ữ ạ
Đ nh lý II.4 ị
M i ngôn ng chính quy trên ọ ữ đ u là ngôn ng ề ữ
tr ng thái h u h n trên ạ ữ ạ (ngôn ng đữ ược đoán
Trang 31T bi u th c chính quy đ n Ô tô mat ừ ể ứ ế
h u h n ữ ạ
Thi t l p các ô tô mát t ế ậ ươ ng ng v i các bi u ứ ớ ể
th c chính quy: ứ
được đoán nh n b i:ậ ở ( tr ng thái đ u)ạ ầ
ε được đoán nh n b i:ậ ở ( tr ng thái cu i)ạ ố
a được đoán nh n b i:ậ ở
Trang 32T bi u th c chính quy đ n Ô tô mat ừ ể ứ ế
Trang 33T bi u th c chính quy đ n Ô tô mat ừ ể ứ ế
h u h n ữ ạ
1* đ ượ c đoán nh n b i ô tô mát: ậ ở
Trang 34T bi u th c chính quy đ n Ô tô ừ ể ứ ế
mat h u h n ữ ạ
1 + 2
Trang 35T bi u th c chính quy đ n Ô tô ừ ể ứ ế
mat h u h n ữ ạ
Ví d : Tìm ô tô mát h u h n đoán nh n ụ ữ ạ ậ
ngôn ng đ ữ ượ c ch đ nh b i BTCQ sau: ỉ ị ở
a) ab*
b) (a+b)*ab
c) (a+ )(a+ab)*
Trang 36(CM:Lý thuy t ngôn ng và tính toán – Nguy n Văn Ba) ế ữ ễ
Trang 38T ô tô mát ừ
h u h n t i ngôn ng chính quy ữ ạ ớ ữ
N u M đi qua tr ng thái qế ạ k, x có th c t thành các xâu ể ắcon:
M t xâu d n M t q ộ ẫ ừ i đ n q ế k đ u tiên ầ (R k1
ik )
M t xâu d n M t q ộ ẫ ừ k đ n q ế k ti p theo (R ế k1
kk ) (có th không ể
có ho c có nhi u xâu này) ặ ề
M t xâu d n M t q ộ ẫ ừ k cu i đ n q ố ế j (R k1
Trang 39T ô tô mát ừ
h u h n t i ngôn ng chính quy ữ ạ ớ ữ
Ví d : ụ Tìm BTCQ ch đ nh ngôn ng đ ỉ ị ữ ượ c đoán nh n b i ô tô mát sau: ậ ở
a)
b)
Trang 40S t ự ươ ng đ ươ ng gi a ô tô mát h u h n ữ ữ ạ
M t ngôn ng trên b ch ộ ữ ộ ữ là m t ngôn ng ộ ữ
tr ng thái h u h n khi và ch khi nó là m t ngôn ạ ữ ạ ỉ ộ
ng chính quyữ
Trang 41Văn ph m chính quy ạ
Văn ph m chính quy là văn ph m tuy n tính (trái ạ ạ ế
ho c ph i)ặ ả
Văn ph m chính quy sinh ra ngôn ng chính quyạ ữ
Ngôn ng chính quy có th đữ ể ược ký hi u đ n gi n ệ ơ ả
b ng m t bi u th c chính quyằ ộ ể ứ
T p h p các chu i đậ ợ ỗ ược ký hi u b i m t bi u th c ệ ở ộ ể ứchính quy được g i là t p h p chính quyọ ậ ợ
Trang 42S t ự ươ ng đ ươ ng gi a VPTT và OH ữ
Trang 44S t ự ươ ng đ ươ ng gi a ữ VPTTph i và VPTT ph i đ n ả ả ơ
Đ nh lý II.8: ị
Cho G là m t văn ph m tuy n tính ộ ạ ế
ph i. T n t i m t văn ph m tuy n tính ả ồ ạ ộ ạ ế
ph i đ n G’ t ả ơ ươ ng đ ươ ng v i G ớ
Trang 45S t ự ươ ng đ ươ ng gi a ữ VPTTph i và VPTT ph i đ n ả ả ơ
Trang 46S t ự ươ ng đ ươ ng gi a ữ VPTTph i và VPTT ph i đ n ả ả ơ
Trang 47S t ự ươ ng đ ươ ng gi a ữ VPTTph i và VPTT ph i đ n ả ả ơ
Ví d : ụ Cho văn ph m tuy n tính ph i G ạ ế ả
nh sau: ư
S abA| aB
A aaS| bA
B aA|b
Y/c: Tìm văn ph m tuy n tính ph i đ n G’ ạ ế ả ơ
t ươ ng đ ươ ng v i G ớ
Trang 48S t ự ươ ng đ ươ ng
gi a VPTT ph i đ n và FA ữ ả ơ
Đ nh lý II.9: ị
M i ngôn ng chính quy đ u có th ọ ữ ề ể
đ ượ ả c s n sinh b i m t văn ph m tuy n ở ộ ạ ế
tính ph i ả
Ch ng minh: ứ
Cho m t ngôn ng chính quy L độ ữ ược th a ừ
nh n b i m t Ô tô mát h u h n ti n đ nh ậ ở ộ ữ ạ ề ị
M=( ,Q, ,q0,F)
Trang 49S t ự ươ ng đ ươ ng
gi a VPTT ph i đ n và OH ữ ả ơ
Xây d ng văn ph m G=( ự ạ , ,S,P) trong đó:
=Q; q0 là kí hi u đ u (tiên đ );ệ ầ ề
P g m:ồ
q ap n u ế (q,a)=p;
q n u q ế F.
Trang 53S t ự ươ ng đ ươ ng
gi a VPTT ph i đ n và FA ữ ả ơ
Ví d 3: ụ Cho Văn ph m: ạ
S |aS|bT|b TbT|b
Y/c: Tìm Ô tô mát h u h n t ữ ạ ươ ng đ ươ ng
v i văn ph m đã cho ớ ạ
Trang 55V. Các ngôn ng chính quy ữ
Các ph ươ ng ti n xác đ nh ngôn ng chính ệ ị ữ
quy:
Bi u th c chính quyể ứ
Các ô tô mát h u h n ti n đ nhữ ạ ề ị
Các ô tôt mát h u h n không ti n đ nhữ ạ ề ị
Các văn ph m tuy n tính ph iạ ế ả
Trang 57Các bài toán quy t đ nh trên NNCQ ế ị
Bài toán từ: Cho L là NNCQ và m t t xộ ừ *. Ph i ảchăng x L
Bài toán ngôn ng r ng ữ ỗ : Cho L là NNCQ. Ph i ả
chăng L=
Bài toán ngôn ng đ y ữ ầ : Cho L là NNCQ. Ph i chăng ảL= *
Bài toán bao hàm ngôn ngữ: L1 L2 là NNCQ. Ph i ảchăng L1 L2
Bài toán ngôn ng b ng nhau ữ ằ : L1 L2 là NNCQ. Ph i ả
Trang 58Đ nh lý “Đùn” (B đ B m) ị ổ ề ơ
Đ nh lý:ị
Cho L là ngôn ng chính quy vô h n và m t xâu w ữ ạ ộ L sao cho w #Q (Q là t p các tr ng thái c a m t ô tô mát h u ậ ạ ủ ộ ữ
h n ti n đ nh th a nh n L). Khi đó t n t i x,u,y sao cho ạ ề ị ừ ậ ồ ạ
w=xuy (u ε và |xu| #Q) và xu n y L (v i ớ n = 1, 2, …)