![](images/graphics/blank.gif)
Bài giảng Chương 3: Văn phạm phi ngữ cảnh
lượt xem 6
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
Đến với "Bài giảng Chương 3: Văn phạm phi ngữ cảnh" các bạn sẽ được tìm hiểu về việc suy dẫn phi ngữ cảnh; cây suy dẫn và sự nhập nhằng; giản lược văn phạm phi ngữ cảnh; dạng chuẩn Chomsky.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Chương 3: Văn phạm phi ngữ cảnh
- Chương 3 Văn phạm phi ngữ cảnh
- Nội dung Suy dẫn phi ngữ cảnh Cây suy dẫn và sự nhập nhằng Giản lược văn phạm phi ngữ cảnh Dạng chuẩn Chomsky
- Suy dẫn phi ngữ cảnh Văn phạm phi ngữ cảnh: là văn phạm trong đó các sản xuất có dạng: A với A ; ( )* Suy dẫn phi ngữ cảnh: tại mỗi bước chỉ áp dụng sản xuất phi ngữ cảnh
- Một số ví dụ về suy dẫn phi ngữ cảnh Ví dụ 1: Trong ngôn ngữ lập trình || A|B|C|…|Z 0|1|2|3|4|5|6|7|8|9 Kí hiệu không kết thúc: , , Kí hiệu kết thúc: A, B, C, …, Z, 0, 1, 2, …, 9
- Một số ví dụ về suy dẫn phi ngữ cảnh Ví dụ 2: Trong văn phạm tiếng Việt có các quy tắc: | bò|mèo|… tôi|nó|… ăn|nằm|… Kí hiệu không kết thúc: , , , , , Kí hiệu kết thúc: “bò”, “mèo”, “tôi”, “nó”, “ăn”, “nằm”… là các từ tiếng Việt
- Suy dẫn phi ngữ cảnh Định lý III.1 (định lý phân dã suy dẫn) Cho G=( , , P, S) là văn phạm phi ngữ cảnh, đặt V= . Nếu trong G có suy dẫn u1u2…un=>kG v trong đó ui, v V* thì tồn tại vi V*và ki N (i=1, 2,…, n) sao cho: ui=>ki vi Với mọi i=1, 2, …, n v=v1v2 …vn k1+k2+…+kn=k (Chứng minh: lý thuyết ngôn ngữ và tính toán – Nguyễn Văn
- Cây suy dẫn và sự nhập nhằng Định nghĩa cây suy dẫn: Trong văn phạm phi ngữ cảnh G=( , ,P,S), Cây suy dẫn là cây mà mỗi đỉnh được gắn một nhãn là một phần tử thuộc tập { } và thỏa các điều kiện: i. Nhãn của gốc là kí hiệu đầu S. ii. Nhãn của mỗi đỉnh trong là kí hiệu không kết thúc. Nhãn của mỗi lá là kí hiệu kết thúc hoặc . iii. Với mỗi đỉnh trong có nhãn A và các con có nhãn là X1, X2 …Xk thì A X1X2Xk là một sản xuất trong G. iv. Nếu một lá có nhãn là thì lá đó là con duy nhất của cha nó
- Cây suy dẫn (tiếp) Cây con là một cây tạo thành bởi một đỉnh và mọi hậu duệ của nó cùng với các nhãn và cung liên kết chúng. Gốc cây con có nhãn là A ta gọi cây con đó là A-cây Biên (kết quả) của một cây suy dẫn hay của một A-cây là xâu tạo thành bằng cách ghép tiếp các lá của cây theo trật tự từ trái qua phải ta được một câu gọi là kết quả.
- Ví dụ về cây suy dẫn Ví dụ: xét văn phạm G({S, A}, {a, b}, P, S}, với P gồm: S aAS | a A SbA | SS | ba Một dẫn xuất của G: S => aAS => aSbAS => aabAS => aabbaS => aabbaa S 1 a A S 2 3 4 S A a 5 b 6 7 8 a a b 10 11 9
- Cây suy dẫn (tiếp) Định lý III.2: Cho G là văn phạm phi ngữ cảnh có một xâu w được sản sinh bởi G (S=>*Gw ) khi và chỉ khi có một cây suy dẫn của văn phạm đó mà biên của nó là w. Chứng minh: (1) Giả sử có cây suy dẫn biên là w thì có suy dẫn S=>*w. (2) Giả sử có suy dẫn S=>*w thì có cây suy dẫn biên là w.
- Suy dẫn trái và suy dẫn phải Suy dẫn trái: là suy dẫn mà trong đó, ở mỗi bước, kí hiệu được thay thế luôn luôn là kí hiệu không kết thúc nằm bên trái nhất trong dạng câu. Suy dẫn phải:là suy dẫn mà trong đó, ở mỗi bước, kí hiệu được thay thế luôn luôn là kí hiệu không kết thúc nằm bên phải nhất trong dạng câu.
- Suy dẫn trái và suy dẫn phải (tiếp) Ví dụ: Cho văn phạm G với các sản xuất: S AB A aA|a B bB|b Các dẫn xuất khác nhau cho từ aaabb: 1. S =>AB => aAB => aaAB => aaaB => aaabB => aaabb 2. S => AB => AbB => Abb => aAbb => aaAbb => aaabb 3. S => AB => aAB => aAbB => aAbb => aaAbb => aaabb 4. S => AB => aAB => aaAB => aaAbB => aaabB => aaabb Dẫn xuất (1) là dẫn xuất trái nhất, (2) là dẫn xuất phải nhất Các dẫn xuất tuy khác nhau, nhưng có cùng một cây dẫn xuất
- Văn phạm nhập nhằng Khái niệm: một văn phạm phi ngữ cảnh G được gọi là văn phạm nhập nhằng (ambiguity) nếu nó có nhiều hơn một cây dẫn xuất cho cùng một chuỗi w.
- Văn phạm nhập nhằng (tiếp) Một ngôn ngữ có thể được sinh ra từ văn phạm nhập nhằng hoặc văn phạm không nhập nhằng Ngôn ngữ được gọi là nhập nhằng (nhập nhằng cố hữu – không nghiên cứu) nếu mọi văn phạm sinh ra nó đều nhập nhằng
- Văn phạm nhập nhằng (tiếp) Để giản trừ nhập nhằng: ta đưa vào một số kí hiệu kết thúc phụ và một vài sản xuất trung gian: Quy định rằng các phép cộng và nhân luôn được thực hiện theo thứ tự từ trái sang phải (trừ khi gặp ngoặc đơn) EE+T|E*T|T T (E) | a Quy định rằng khi không có dấu ngoặc đơn ngăn cách thì phép nhân luôn được thực hiện ưu tiên hơn phép cộng EE+T|T TT*F|F F (E) | a
- Biến đổi văn phạm phi ngữ cảnh Loại bỏ các kí hiệu vô ích Loại bỏ các sản xuất Loại bỏ các sản xuất đơn
- Loại bỏ kí hiệu vô ích Định nghĩa: Cho văn phạm G=( , ,P,S), đặt V= . X V là có ích nếu tồn tại suy dẫn: S=>* Xβ=>*w ( , β V*; w * ). Nếu không thì nó là kí hiệu vô ích Vậy kí hiệu có ích X là: Kí hiệu hữu sinh, nghĩa là tồn tại một xâu x * mà X=>*x Kí hiệu đến được, nghĩa là tồn tại hai xâu ,β V* sao cho S=>* Xβ
- Loại bỏ kí hiệu vô sinh Bổ đề III.1 (Loại bỏ các kí hiệu vô sinh) Tồn tại một thuật toán cho phép, với mọi văn phạm phi ngữ cảnh G mà L(G)≠ , thành lập một văn phạm phi ngữ cảnh tương đương G’ chỉ có các kí hiệu hữu sinh Thuật toán: Thành lập tập các kí hiệu hữu sinh W: W = ; 0 Wi=Wi-1 {A |Ǝ Wi-1*: A P} (với i>0) W= Wi (i≥0) Quá trình bổ sung sẽ dừng vì tập W Thành lập văn phạm G’=( , ’, P’,S): ’=W ; P’={Au P|A ’, u ( ’)*}
- Loại bỏ kí hiệu vô sinh Ví dụ: Cho G=( , , P, S) trong đó: ={a, b}; ={S, A, B, C} P={SaA| bAB| abA AaB| bA| a BaB| bB CaA| bS| a } Tìm văn phạm G’ tương đương không còn kí hiệu vô sinh
- Loại bỏ kí hiệu vô sinh Lời giải: W0={a, b} W1=W0 {A, C} (vì có các sản xuất Aa, Ca) W2=W1 {S} (vì có sản xuất SaA) W3=W2 W={a, b, A, C, S}; G’={ , ’, P’, S} trong đó: ’={S, A, C} P’={SaA| abA, AbA| a, CaA| bS| a}
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Chương trình dịch - Chương 3: Phân tích cú pháp
60 p |
392 |
19
-
Bài giảng Lý thuyết automat và ứng dụng: Chương 1, 2, 3, 4 - TS. Vũ Đức Lung
25 p |
190 |
15
-
Tập bài giảng Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm (Biên soạn)
291 p |
70 |
13
-
Bài giảng Chương trình dịch: Bài giảng 3 - Nguyễn Phương Thái
33 p |
122 |
12
-
Bài giảng Lý thuyết tính toán: Chương 3 - PGS.TS. Phan Huy Khánh
13 p |
111 |
11
-
Bài giảng Kiến trúc máy tính (Phần 2): Chương 3 - Nguyễn Văn Huy
17 p |
40 |
6
-
Bài giảng Tin học đại cương: Bài 3 - Phạm Xuân Cường
36 p |
19 |
5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 3 (Phần 1) - Trần Minh Thái
73 p |
73 |
4
-
Bài giảng Xây dựng chương trình dịch: Bài 3 - Văn phạm sản sinh
16 p |
24 |
4
-
Bài giảng Tin học đại cương: Chương 3.1 - Trường ĐH Sư phạm TP. Hồ Chí Minh
24 p |
46 |
4
-
Bài giảng Thực hành chương trình dịch: Bài 3 - Phạm Đăng Hải
32 p |
24 |
4
-
Bài giảng Mạng máy tính: Chương 3 - Phạm Văn Nam
32 p |
64 |
4
-
Bài giảng Xây dựng chương trình dịch: Bài 3 - Nguyễn Thị Thu Hương
3 p |
65 |
3
-
Bài giảng Ngôn ngữ hình thức: Chương 3 - Nguyễn Thị Hồng
31 p |
13 |
3
-
Bài giảng Tin học căn bản (Phần 3): Chương 6 - Ngô Văn Linh
51 p |
62 |
2
-
Bài giảng Lập trình hướng đối tượng: Chương 3 - Phạm Minh Hoàn
52 p |
43 |
2
-
Bài giảng Ôtômát và ngôn ngữ hình thức: Chương 3 - ThS. Nguyễn Thị Thùy Linh
15 p |
105 |
2
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)