Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
230,22 KB
Nội dung
1/41 Vănphạm vàngônngữsinhvănphạm • Định nghĩa ngônngữ hình thức • Định nghĩavănphạm, ngônngữsinhvănphạmvà phân loạivănphạmcủa Chomsky •Mộtsố thuật toán thường gặptrênlớpvăn phạm 2/41 Định nghĩangônngữ hình thức •Bảng chữ cái •Xâukýtự • Ngônngữ 3/41 Ngônngữ hình thức Bảng chữ cái •Cho∑ là mộttậphữuhạn, khác rỗng các ký hiệu nào đómàtagọilàbảng chữ cái. Mỗiphầntử trong ∑đượcgọilàmộtkýtự •Vídụ∑={a,b,c,d,….,y} ∑={1,2,3} ; 4/41 Xâu ký tự •Làmột dãy các ký tự trong bảng chữ cái ∑ đượcviếtliền nhau • Độ dài xâu: là số ký tự trong xâu đó •Vídụ∑={a,b,c} . s= “baccba” là mộtxâu trên bảng chữ cái ∑. Xâu s có độ dài bằng 6 •Xâurỗng: là xâu không có ký tự nào, độ dài bằng 0. Ký hiệu: λ 5/41 Ngônngữ •Mỗitậptừ trên bảng chữ cái ∑đượcgọilà ngônngữ trên bảng chữ cái đó. • ∑*: là tậptấtcả các từ trên bảng chữ cái kể cả xâu rỗng • ∑ + =∑*- {λ} 6/41 Mộtsố vấn đề cầnquantâm •Vớimộtxâuw ∈ ∑* bấtkỳ cho trước, một vấn đề đặtralàxâuw cóthuộcngônngữ L cho trước hay không? (L ∈ ∑* ) •Vớimột xâu w trong L làm thế nào để sinh w. 7/41 Vănphạm vàngônngữsinh bởi vănphạm • Định nghĩavănphạm: – Định nghĩa1: vănphạmG làmộtbộ sắpthứ tự gồm 4 thành phần< ∑,∆,I,R >, trong đó: • ∑: Bảng chữ cái, tập các ký hiệukết thúc. • ∆: tậpcácchữ cái hỗ trợ, các phầntử (chữ cái hỗ trợ) đượcgọi là các ký hiệu không kếtthúc. »V= (∑U∆)* đượcgọilàtừđiển đầy đủ •I €∆đượcgọilàkýhiệu ban đầu. •R làtập các quy tắcmàmỗiphầntủ củanócó dạng aÆb, a, b là các từ trên từđiển đầy đủ 8/41 Vănphạm vàngônngữsinh bởi vănphạm • Định nghĩavănphạm: – Định nghĩa2: ChoG= < ∑,∆,I,R > là mộtvăn phạm, mộtxâux= αaβ. S = αbβđượcgọilà dẫnxuấttrựctiếptừ xâu x nếutaápdụng quy tắc(luật) aÆb. Ký hiệulàx╞ s. – Định nghĩa3: DãycácxâuD = (w 0 ,w 1 ,….,w k ) đượcgọilàmộtdẫnxuấtcủaxâuw k từ w 0 nếu w i ╞ w i+1 với i=0 .k-1. Số k đượcgọilàđộ dài củadẫnxuất. Ký hiệulàw 0 |- w k . 9/41 Ngônngữsinh bởivănphạm • Định nghĩa: Cho vănphạmG= < ∑,∆,I,R > và D = (w 0 ,w 1 ,….,w k ) là mộtdẫnxuấtcủa xâu w k từ w 0 trong vănphạmG. Nếuw 0 =I và w k ∈ ∑* thì ta gọixâuw k được sinh bởi vănphạmG. • Ngônngữsinh ra bởivănphạmG được ký hiệu là L(G) và được định nghĩanhư sau: L(G)= {w| w € ∑* và I |- w} 10/41 Ngônngữsinh bởivănphạm Ví dụ •ChoG= < ∑,∆,I,R > với ∑={a,b} , ∆ = {I}, R= {I Æ aIb, IÆab}; L(G) =?. – Chúng ta thấyrằng L(G)={a n b n | n€N, n>=1} –Thậtvậydẫnxuất đầy đủ là » D= {I,aIb,…. ,a n b n } [...]... tắc của vănphạmngữ cấu được gọi là quy tắc ngữ cấu Ngônngữ do vănphạmngữ cấu(VPNC) sinh ra gọi là ngônngữngữ cấu (NNNC) 13/41 Phân loại văn phạmVănphạmngữ cảnh • Vănphạm G=< ∑,∆,I,R > được gọi là vănphạm cảm ngữ cảnh nếu mọi quy tắc r €R đều có dạng r= α β, trong đó α ∈ V+, β ∈ V* và |α|≤|β| Quy tắc của vănphạm cảm ngữ cảnh được gọi là quy tắc cảm ngữ cảnh Ngônngữ do vănphạm cảm ngữ cảnh(VPCNC).. .Văn phạm Ví dụ • Cho G=< ∑,∆,I,R > trong đó ∑={a,b}, ∆={A,B,I}, I là ký hiệu xuất phát và R={I Aba, A BB, B ab,AB b} 11/41 Phân loại vănphạm • • • • Nhóm 0: Vănphạmngữ cấu Nhóm 1: Vănphạm cảm ngữ cảnh Nhóm 2: Vănphạm phi ngữ cảnh Nhóm 3: Vănphạm chính quy 12/41 Phân loại văn phạmVănphạmngữ cấu • Vănphạm G=< ∑,∆,I,R > được gọi là văn phạmngữ cấu nếu mọi quy tắc r... NCCNC NNNC • Ngônngữngữ cấu là tổng quát nhất lớp vănphạm rộng nhất • Vănphạm chính quy đơn giản hơn cả và có nhiều ứng dụng trong thiết kế các ngônngữ lập trình và trong lĩnh vực nghiên cứu về chương trình dịch 19/41 Tính chất của vănphạm • Lớp ngônngữsinh ra bởi vănphạm là đóng đối với các phép hợp, giao và phép nhân ngônngữ • Giả sử L1,L2 là hai ngônngữ được sinh ra bởi vănphạm G1 =< ∑1,∆1,I1,R1>... vănphạm cảm ngữ cảnh 15/41 Phân loại văn phạmVănphạm phi ngữ cảnh • Vănphạm G=< ∑,∆,I,R > được gọi là vănphạm phi ngữ cảnh nếu mọi quy tắc r ∈ R đều có dạng r= A β, trong đó A ∈ ∆,β ∈ V* Quy tắc của vănphạm phi ngữ cảnh được gọi là quy tắc phi ngữ cảnh Ngônngữ do vănphạm phi ngữ cảnh(VPPNC) sinh ra gọi là ngônngữ phi ngữ cảnh(NNPNC) 16/41 Vănphạm phi ngữ cảnh Ví dụ • Ví dụ 1: Cho G=< ∑,∆,I,R... ∆={I}, I là ký hiệu xuất phát và R={I λ,I aIa,I bIb,I aa,I bb} là một vănphạm phi ngữ cảnh 17/41 Phân loại văn phạmVănphạm chính quy • Vănphạm G=< ∑,∆,I,R > được gọi là vănphạm chính quy nếu mọi quy tắc r €R đều có dạng A aB,A a, A ∈ ∆, B ∈ ∆,a ∈ ∑ Quy tắc của vănphạm chính quy được gọi là quy tắc chính quy Ngônngữ do vănphạm chính quy(VPCQ) sinh ra gọi là ngônngữ chính quy(NNCQ) 18/41 Nhận... cảnh(VPCNC) sinh ra gọi là ngônngữ cảm ngữ cảnh(NNCNC) 14/41 Vănphạm cảm ngữ cảnh Ví dụ • Ví dụ 1: Cho G=< ∑,∆,I,R > trong đó ∑={a,b}, ∆={I}, I là ký hiệu xuất phát và R={I aIb,I II,I ab} là một vănphạm cảm ngữ cảnh • Ví dụ 2: Cho G=< ∑,∆,I,R > trong đó ∑={a,b,c}, ∆={I,A,B}, I là ký hiệu xuất phát và R={ I abc,I aAbc,Ab Ba,Ac Bbc,bB Bb, aB aaB,aB aa} Khi đó G là một vănphạm cảm ngữ cảnh 15/41 Phân loại văn. .. ∑1,∆1,I1,R1> và G2 =< ∑2,∆2,I2,R2> thì hợp của hai ngônngữ L1 và L2 là một ngônngữ ký hiệu là L1 ∪ L2 được sinh ra bởi vănphạm sau: 20/41 Hợp hai ngônngữ • • • • G=< ∑,∆,I,R > với ∑=∑1 ∪ ∑2, ∆=∆1 ∪∆2∪{I}, R=R1 ∪R2U{I I1,I I2} 21/41 Nhân hai ngônngữ L=L1.L2 • • • • G=< ∑,∆,I,R > với ∑=∑1 ∪ ∑2, ∆=∆1 ∪∆2∪{I}, R=R1 ∪R2U{I I1I2} 22/41 Ôtômat hữu hạn đoán nhận biểu thức chính quy • Automat hữu hạn • Ngôn ngữ. .. quy Hãy xây dựng automat không đơn định đoán nhận ngônngữ chính quy từ biểu thức chính quy đã cho • Thuật toán – Input: Một biểu thức chính quy r trên bộ ∑ – Output: một automat N đoán nhận ngônngữ chính L(r) 30/41 Thuật toán thompson • Trước hết tách biểu thức chính quy r thành các biểu thức chính quy thành phần r1,r2,….rk Sau đó áp dụng luật 1 và luật 2 để xây dựng automat không đơn định N1, N2,... gọi là một Automat không đơn định(None Deterministic Finite Automat) 25/41 Automat • Mô tả các bước làm việc của Automat M=< ∑,Q,δ,q0,F > khi cho xâu vào w=x0x1…xn như sau: – Xâu vào x0 x1 … xn » q0 – Tập L(M)={w / w ∈ ∑* mà δ(q0,w ) ∈F} được gọi là ngônngữ được đoán nhận với automat M Tập trạng thái Q trong quá trình tính toán được xem như bộ nhớ của một Automat Vì Q hữu hạn trạng thái nên M được gọi... Trạng thái X0 q0 δ(q0, x0) Ký hiệu vào δ(q0, x1) δ(q0, xn) q1 δ(q1, x0) δ(q1, x1) δ(q1, xn) q2 δ(q2, x0) δ(q2, x1) δ(q2, xn) δ(qk, x0) δ(qk, x1) δ(qk, xn) x1 … xn … … qk 28/41 Phương pháp cho M bằng đồ thị chuyển • Cho automat M=< ∑,Q,δ,q0,F > Hàm chuyển δ có thể cho bằng đồ thị chuyển có hướng theo nguyên tắc sau: Mỗi trang thái q ∈Q là một đỉnh của đồ thị • Nếu a ∈ ∑ và từ trạng thái qi chuyển sang . 1/41 Vănphạm và ngôn ngữ sinh văn phạm • Định nghĩa ngôn ngữ hình thức • Định nghĩavănphạm, ngôn ngữ sinh văn phạm và phân loạivănphạmcủa Chomsky. 0: Vănphạmngữ cấu • Nhóm 1: Vănphạmcảmngữ cảnh • Nhóm 2: Vănphạm phi ngữ cảnh • Nhóm 3: Vănphạm chính quy 13/41 Phân loạivănphạm Vănphạmngữ cấu •VănphạmG=<