Bài giảng Ngôn ngữ hình thức: Chương 1 Đại cương về ngôn ngữ và biểu diễn ngôn ngữ, cung cấp cho người học những kiến thức như: Nhắc lại một số kiến thức toán liên quan; Khái niệm chung về ngôn ngữ; Hệ viết lại và vấn đề biểu diễn ngôn ngữ; Văn phạm. Mời các bạn cùng tham khảo!
Trang 1NGÔN NG HÌNH TH C Ữ Ứ
GV: Nguy n Th H ngễ ị ồEmail: nguyenhong@hnue.edu.vn
Trang 2Gi i thi u môn h c ớ ệ ọ
S tín ch : 3ố ỉ
Chuyên c n: ngh quá 20 % s bu i ầ ỉ ố ổ C m thiấ
Đi m gi a kì: 4 bàiể ữ
Ki m tra vi tể ế
Bài t p nhómậ
Đi m gi a kì <3 ể ữ C m thiấ
Thi h t h c ph n: Thi vi tế ọ ầ ế
Trang 3Ch ươ ng 1
Đ I C Ạ ƯƠ NG V NGÔN NG VÀ Ề Ữ
BI U DI N NGÔN NG Ể Ễ Ữ
Trang 4N i dung ộ
I. Nh c l i m t s ki n th c toán liên quanắ ạ ộ ố ế ứ
II. Khái ni m chung v ngôn ngệ ề ữ
III. H vi t l i và v n đ bi u di n ngôn ngệ ế ạ ấ ề ể ễ ữ
IV. Văn ph mạ
Trang 5I. M t s ki n th c toán liên quan ộ ố ế ứ
Trang 7 Đ nh nghĩa:ị Cho hai t p h p A và B. Ta g i quan h (hai ậ ợ ọ ệ ngôi) gi a A và B là t p h p các c p có th t (a,b) sao ữ ậ ợ ặ ứ ự cho a A và b B. R A×B
Kí hi uệ : R(a,b) R ta vi t aRbế
Tính ch tấ : R={(a,a)|a A} là quan h đ ng nh t trên Aệ ồ ấ
Ph n x : n u ả ạ ế a A: aRa
B c c u (truy n ng): ắ ầ ề ứ a, b, c A: aRb và bRc kéo
theo aRc
Đ i x ng: ố ứ a, b A: aRb kéo theo bRa.
R là ph n đ i x ng n u ả ố ứ ế a, b A: aRb và bRa kéo theo a=b
Trang 8 Quan h ph n x và truy n ng ệ ả ạ ề ứ quan h ệ ti n th t ề ứ ự
Quan h ti n th t đ i x ng ệ ề ứ ự ố ứ quan h ệ t ươ ng đ ươ ng
Quan h ti n th t ph n đ i x ng ệ ề ứ ự ả ố ứ quan h ệ th t b ứ ự ộ
Trang 11Đ th … ồ ị
Đ th có hồ ị ướ : G=(V,E) trong đó E là c p đ nh có th t ng ặ ỉ ứ ự (cung)
Cây: là đ th có h ng có m t nút là G c, các nút cha, nút ồ ị ướ ộ ố con
Trang 13M t s ví d ộ ố ụ
Ví d 1ụ : ngôn ng Ti ng Vi t ữ ế ệ
T p h p các t Ti ng Vi t: “Tôi”, “b n”, “ch i”, ậ ợ ừ ế ệ ạ ơ
Trang 14M t s ví d ộ ố ụ
Ví d 2: Ngôn ng l p trình Pascal:ụ ữ ậ
T các kí hi u c s : chu s (0, …,9), ch cái (a, ừ ệ ơ ở ố ữ
…,z), các kí hi u đ c bi t (#, &, …)ệ ặ ệ
Các t t đừ ố ược xây d ng t các kí hi u c s : ự ừ ệ ơ ở
BEGIN, END, Return, :=, …
Không ph i t t c các t đả ấ ả ừ ược xây d ng t các kí ự ừ
hi u c s đ u là t t ệ ơ ở ề ừ ố
Trang 15M t s ví d ộ ố ụ
Nh n xét:ậ
M t ngôn ng (t nhiên ho c nhân t o) đ u g m: t p ộ ữ ự ặ ạ ề ồ ậ
h p h u h n các ợ ữ ạ đ i t ố ượ ng s đ ng ơ ẳ (t Ti ng Vi t, ừ ế ệ các kí hi u c s ) và t các đ i t ệ ơ ở ừ ố ượ ng này xây d ng ự
đ ượ c các đ n v mang nghĩa ơ ị (câu, t t ) ừ ố
Nh v y, nghiên c u ngôn ng ph i đ c p đ n: ư ậ ứ ữ ả ề ậ ế
Quy t c t o l p đ n v mang nghĩa t các đ i ắ ạ ậ ơ ị ừ ố
t ượ ng s đ ng ơ ẳ
Ph ươ ng pháp xác đ nh nghĩa c a các câu ị ủ
Trang 16 Ngôn ng Ti ng Vi t: b ch là các t Ti ng Vi t ữ ế ệ ộ ữ ừ ế ệ
Ngôn ng các t t Pascal: b ch là các kí hi u c ữ ừ ố ộ ữ ệ ơ
s : ch cái, ch s , kí hi u đ c bi t ở ữ ữ ố ệ ặ ệ
Trang 18 Chi u dài xâu ề : là s kí hi u trong xâuố ệ
Xâu r ng ỗ là xâu có chi u dài là 0. Kí hi u: ề ệ ε (ho c ặ )
Xâu con là m t ph n c a xâu. ộ ầ ủ
Ví d : xâu w=abc có các xâu con là ụ ε, a, b, c, ab, bc, abc
Cho b ch V, Kí hi u: Vộ ữ ệ * là t p t t c các xâu trên ậ ấ ả
V, V+ là t p các xâu không r ng trên V ậ ỗ
Trang 19 Ti n t ề ố: c a m t xâu là xâu con đ u xâuủ ộ ở ầ
H u t ậ ố: c a m t xâu là xâu con cu i xâuủ ộ ở ố
Ví dụ: w=abcd
Ti n t : ề ố ε, a, ab, abc, abcd
H u t : ậ ố ε, d, cd, bcd, abcd
Trang 20 M t s quy ộ ố ướ Cho b ch Vc: ộ ữ
V n (n N) là t p h p các xâu trên V có đ dài n ậ ợ ộ
V 0 ={ }: xâu r ng là xâu trên m i b ch ; ỗ ọ ộ ữ
V 1 =V: các xâu có đ dài 1 là đ ng nh t v i các kí ộ ồ ấ ớ
Trang 21 Ghép ti pế (tích ghép): là k t n i hai xâu x và y thành xâu ế ố xy.
N u x= a ế 1a2…an, y= b1b2…bm thì x.y= c1c2…cn+m (ci=ai v i i=1, …,n và c ớ n+i=bi v i i=1, …,m) ớ
Ví dụ: xâu x=abc, y=bca
K t qu ghép ti p là xâu xy=abcbca ế ả ế
Đ o ngả ượ : là vi t xâu theo th t ngc ế ứ ự ượ ạ c l i. Kí hi u: ệ
đ o ng ả ượ ủ c c a xâu u là xâu u R
Ví dụ: u=abcde
Xâu đ o ng ả ượ c là xâu u R =edcba
Trang 23 V*={ε, a, b, ab, aab, abb, aaa, …}
L={a, b, ab} là ngôn ng trên Vữ
Trang 24 Ghép ti p(tích ghép):ế Cho hai ngôn ng Lữ 1 và L2, ghép
ti p c a ngôn ng Lế ủ ữ 1 và L2:
L1L2={xy|x L1, y L2}
Đ o ngả ượ : là ngôn ng có đc ữ ược b ng cách đ o ằ ả
ngượ ấ ảc t t c các xâu c a ngôn ng đó:ủ ữ
LR={wR, w L}
Trang 26III. H vi t l i và v n đ bi u di n ngôn ng ệ ế ạ ấ ề ể ễ ữ
Trang 28H vi t l i ệ ế ạ
Suy d n tr c ti pẫ ự ế : Cho h vi t l i W=(V, P), x,y ệ ế ạ
V* x suy d n tr c ti p ra y ẫ ự ế n u t n t i các xâu u, ế ồ ạ , , v sao cho:
Trang 29H vi t l i ệ ế ạ
Suy d n (d n xu t)ẫ ẫ ấ : Cho h vi t l i W=(V, P), x,y ệ ế ạ
V*, y đ ượ c d n xu t t x (x là đ u, y là đích) ẫ ấ ừ ầ n u ế
t n t i các xâu ồ ạ 1, 2, 3, … k sao cho:
x= 1
y= k
i => i+1 là suy d n tr c ti pẫ ự ế
Kí hi uệ : x=>*y ho c x=>*yw ặ
Trang 35IV.Văn ph m ạ
Ví dụ: Cho văn ph mạ
G=({S,A,B}, {a,b}, S, P) trong đó P:
SaAS|bBS|εAaaA|b
BbbA|a
Trang 38 Ngôn ng đữ ược sinh b i văn ph m L là ngôn ng ở ạ ữ
g m các kí hi u a và b trong đó các kí hi u a ồ ệ ệ
đ ng trứ ước các kí hi u b.ệ
Trang 39Văn ph m ạ
Phân lo i văn ph mạ ạ : (phân c p Chomsky)ấ
Văn ph m lo i 0ạ ạ (văn ph m ng c u): ạ ữ ấ văn ph m ạ
Trang 40Phân lo i văn ph m … ạ ạ
Văn ph m lo i 3ạ ạ : (Văn ph m chính quy)ạ
văn ph m tuy n tính (VPTT) ph i ạ ế ả n u quy t c có ế ắ
Trang 41Văn ph m lo i 3… ạ ạ
Đ nh lýị : Cho VPTT ph i G. T n t i m t VPTT ph i ả ồ ạ ộ ả
đ n G’ tơ ương đương v i Gớ
Đ nh lýị : Cho VPTT trái G. T n t i m t VPTT trái ồ ạ ộ
đ n G’ tơ ương đương v i Gớ
Đ nh lýị : Cho VPTT ph i G. T n t i m t VPTT trái ả ồ ạ ộG’ tương đương v i Gớ
Trang 42Văn ph m lo i 3 … ạ ạ
Bài toán: Cho VPTT ph i G, tìm VPTT ph i đ n G’ ả ả ơ
tương đương G.
Trang 43S t ự ươ ng đ ươ ng gi a VPTT ph i ữ ả
Trang 46Văn ph m ạ
M t ngôn ng độ ữ ược g i là đ quy k đọ ệ ể ược, c m ả
ng c nh, phi ng c nh, chính quy n u có m t văn ữ ả ữ ả ế ộ
ph m t ng quát, c m ng c nh, phi ng c nh, ạ ổ ả ữ ả ữ ả
chính quy ph i sinh ra nó.ả