Đơn giản hóa VPPNC và các dạng chuẩn

35 849 1
Đơn giản hóa VPPNC và các dạng chuẩn

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các phương pháp để biến đổi văn phạm Chuỗi trống đóng một vai trò khá đặc biệt trong nhiều định lý và chứng minh, và thường cần có một sự chú ý đặc biệt cho nó.

Trang 189Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinChương 6 Đơn giản hóa VPPNCvà các dạng chuẩn6.1 Các phương pháp để biến đổi văn phạm6.2 Hai dạng chuẩn quan trọng6.3 Giải thuật thành viên cho văn phạm phi ngữ cảnh Trang 190Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinCác phương pháp để biến đổi văn phạmChuỗi trống đóng một vai trò khá đặc biệt trong nhiều định lý chứng minh, thường cần có một sự chú ý đặc biệt cho nó.Nếu L ∋λthì biểu diễn L = L1∪λvới L1= L - λ. NếuG1= (V1, T, S1, P1)là văn phạm biểu diễn cho L1thìG = (V1∪ {S}, T, S, P1∪ {S → S1| λ})là văn phạm biểu diễn cho L.Trong chương này, chúng ta chỉ xem xét các NNPNC không chứa λ.Tuy nhiên những kết luận cho ngôn ngữ không chứa λ vẫn cóthể áp dụng cho ngôn ngữ có chứa λ. Trang 191Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinMột vài qui tắc thay thế hiệu quảĐịnh lý 6.1Cho G = (V, T, S, P) là một VPPNC. Giả sử P có chứa luật sinhA → x1Bx2trong đó A, B là các biến khác nhau vàB → y1| y2| . | ynlà tập tất cả các luật sinh trong P mà có B ở vế trái.Cho G1= (V, T, S, P1) là VP được xây dựng bằng cách xóa điA → x1Bx2từ P, thêm vào nóA → x1y1x2| x1y2x2| . | x1ynx2ThìL(G) = L(G1) Trang 192Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinVí dụXét văn phạm G = ({A, B}, {a, b}, A, P) với các luật sinhA → a | aA | bBc,B → abA | b.Sau khi thay thế biến B ta nhận được VP tương đương như sauA → a | aA | babAc | bbc,B → abA | bChuỗi abbc có các dẫn xuất trong G G1lần lượt như sau:A ⇒ aA ⇒ abBc ⇒ abbcA ⇒ aA ⇒ abbcChú ý rằng, biến B các luật sinh của nó vẫn còn ở trong VP mặc dù chúng không còn đóng vai trò gì trong bất kỳ dẫn xuất nào. Sau này chúng ta sẽ thấy rằng những luật sinh không cần thiết như vậy có thể bị loại bỏ ra khỏi văn phạm. Trang 193Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinLoại bỏ đệ qui tráiĐịnh lý 6.2 (Loại bỏ đệ qui trái)Cho G = (V, T, S, P) là một VPPNC. Chia tập các luật sinh màvế trái của chúng là một biến đã cho nào đó(chẳng hạn là A), thành hai tập con riêng biệtA → Ax1| Ax2| . | Axn(6.2)A → y1| y2| . | ym(6.3)với xi, yi∈ (V ∪ T)*, A không là prefix của bất kỳ yinào.Xét G1= (V ∪ {Z}, T, S, P1), trong đó Z ∉ V P1nhận được bằng cách thay mọi luật sinh của P có dạng (6.2 ) (6.3) bởiA → yi| yiZ, i = 1, 2, . . . , m,Z → xi| xiZ, i = 1, 2, . . . , n,ThìL(G) = L(G1). Trang 194Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinLoại bỏ đệ qui trái (tt)Chứng minhCác dạng câu mà A sinh ra trong văn phạm G có dạng:AA(x1+ x2+ . + xn)* ⇒ yi(x1+ x2+ . + xn)*Các dạng câu này cũng có thể được sinh ra trong G1bằng cách chú ý Z có thể sinh ra các dạng câu có dạngZ (x1+ x2+ . + xn)(x1+ x2+ . + xn)*mà A → yi| yiZ nên Ayi(x1+ x2+ . + xn)*Vì vậy L(G) = L(G1).Ghi chúCác luật sinh đệ qui-trái chỉ là một trường hợp đặc biệt của đệqui-trái trong văn phạm như được phát biểu sau.Một văn phạm được gọi là đệ qui-trái nếu có một biến A nào đómà đối với nó AAxlà có thể.*⇒*⇒*⇒*⇒ Trang 195Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinVí dụSử dụng Định lý 6.2 để loại bỏ các luật sinh đệ qui-trái khỏi VPA → Aa | aBc | λ B → Bb | baÁp dụng định lý cho biến A ta được tập luật sinh mới như sau:A → aBc | λ | aBcZ | Z B → Bb | baZ → a | aZÁp dụng định lý một lần nữa lần này cho biến B ta được tập luật sinh kết quả cuối cùng như sau:A → aBc | aBcZ | Z | λ B → ba | baYZ → a | aZ Y → b | bYNhận xétViệc loại bỏ các luật sinh đệ qui-trái đưa ra các biến mới. VP kết quả có thể là "đơn giản" hơn đáng kể so với VP gốc nhưng một cách tổng quát nó sẽ có nhiều biến luật sinh hơn. Trang 196Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinLuật sinh vô dụngĐịnh nghĩa 6.1:Cho G = (V, T, S, P) là một VPPNC. Một biến A ∈ V được gọi là khả dụng nếu chỉ nếu có ít nhất một chuỗi w ∈ L(G) sao cho SxAyw,với x, y ∈ (V ∪ T)*. Bằng lời, một biến là khả dụng nếu chỉnếu nó xuất hiện trong ít nhất một dẫn xuất. Một biến mà không khả dụng thì gọi là vô dụng. Một luật sinh được gọi là vô dụng nếu nó có chứa bất kỳ biến vô dụng nào.Các dạng vô dụngVô dụng loại 1: Aw∈ T*Vô dụng loại 2: SxAy*⇒*⇒*⇒*⇒ Trang 197Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinLoại bỏ các luật sinh vô dụngĐịnh lý 6.3Cho G = (V, T, S, P) là một VPPNC, ∃ một VP tương đương G0= (V0, T, S, P0) mà không chứa bất kỳ biến vô dụng nào.Chứng minhLoại bỏ các biến luật sinh vô dụng loại 1Tạo văn phạm G1= (V1, T, S, P1) với V1là tập biến không vô dụng loại 1. Ta tìm V1 như sau:1. Khởi tạo V1= ∅.2. Lặp lại bước sau cho đến khi không còn biến nào được thêm vào V1. Đối với mỗi A ∈ V mà có luật sinh A → x, x ∈ (V1∪T)*, thì thêm A vào V1.3. Loại khỏi P các luật sinh có chứa các biến ∉ V1, ta được P1. Trang 198Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông TinLoại bỏ các luật sinh vô dụng (tt)Để loại tiếp các biến các luật sinh vô dụng loại 2 ta dựa vào G1vừa có ở trên vẽ đồ thị phụ thuộc cho nó, sau đótìm tập các biến không đạt tới được từ S. Loại các biến này các luật sinh liên quan đến nó ra khỏi G1 ta được văn phạm kết quả G0.Đồ thị phụ thuộc (dependency graph)Là một đồ thị có các đỉnh biểu diễn các biến, còn một cạnh nối hai đỉnh A B khi chỉ khi có luật sinh dạngA → xByVí dụLoại bỏ các biến các luật sinh vô dụng ra khỏi văn phạmG = ({S, A, B, C}, {a, b}, S, P), với tập luật sinh P là:S → aS | A | C B → aaA → aC → aCbA B [...]... Thông Tin Dạng chuẩn Chomsky  Định nghĩa 6.4  Một VPPNC là thuộc dạng chuẩn Chomsky nếu mọi luật sinh có dạng A → BC, hoặc A → a trong đó A, B, C ∈ V, cịn a ∈ T.  Định lý 6.7  Bất kỳ VPPNC G = (V, T, S, P) nào với λ∉L(G) đều có một văn phạm tương đương G 1 = (V 1 , T, S, P 1 ) có dạng chuẩn Chomsky.  Chứng minh  Không mất tổng quát giả sử G không có luật sinh-vơ dụng, luật sinh -đơn vị luật... bằng cách sử dụng Định lý 6.1 6.2 cho các biến A i theo thứ tự i đi từ 1, 2, đến n như sau.  Giả sử xét luật sinh của biến A i . Nếu có luật sinh A i → A j x mà i > j thì thay A j đi đầu bằng các vế phải của nó, làm cho đến khi các luật sinh của A i có dạng A i → A j x, i ≤ j. Đến đây loại đệ qui trái cho A i thì các luật sinh của nó sẽ có dạng như đã nêu. a ∈ T x i ∈ (V ∪ T)* Z i là các. .. Tin Loại bỏ luật sinh đơn vị  Định nghĩa 6.3  Bất kỳ luật sinh nào của VPPNC có dạng A → B trong đó A, B ∈ V được gọi là luật sinh -đơn vị.  Định lý 6.5  Cho G = (V, T, S, P) là một VPPNC bất kỳ khơng có luật sinh- λ, thì tồn tại một VPPNC G 1 = (V 1 , T, S, P 1 ) mà khơng có bất kỳ luật sinh đơn vị nào tương đương với G 1 .  Chứng minh 1. Đặt vào trong P 1 tất cả các luật sinh không đơn vị của P. 2.... hiện bước 2, tất cả các luật sinh của A n phải có dạng A n → ax n  Thay A n đi đầu vế phải của các luật sinh bằng các vế phải của nó. Kết quả các luật sinh của A n-1 có dạng A n-1 → ax n-1  Tương tự thay thế A n-1 đi đầu vế phải của các luật sinh bằng các vế phải của nó. thực hiện lần lượt cho đến A 1 . 4.Thay các kí hiệu kết thúc, chẳng hạn a, khơng đi đầu vế phải bằng các biến đại diện,... kết quả có thể là " ;đơn giản& quot; hơn đáng kể so với VP gốc nhưng một cách tổng quát nó sẽ có nhiều biến luật sinh hơn. Trang 205 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ 3. Đối với mỗi A, B thõa (*) thêm vào trong P 1 các luật sinh A → y 1 | y 2 | | y n với B → y 1 | y 2 | | y n là các luật sinh khơng đơn vị của B.  Ví dụ  Loại bỏ các luật sinh đơn vị cho VP sau S → Aa... nào được thêm vào V 1 .  Đối với mỗi A ∈ V mà có luật sinh A → x, x ∈ (V 1 ∪T)*, thì thêm A vào V 1 . 3. Loại khỏi P các luật sinh có chứa các biến ∉ V 1 , ta được P 1 . Trang 194 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Loại bỏ đệ qui trái (tt)  Chứng minh  Các dạng câu mà A sinh ra trong văn phạm G có dạng: AA(x 1 + x 2 + + x n )* ⇒ y i (x 1 + x 2 + + x n )* Các dạng câu này cũng... này, chúng ta chỉ xem xét các NNPNC không chứa λ.  Tuy nhiên những kết luận cho ngơn ngữ khơng chứa λ vẫn có thể áp dụng cho ngơn ngữ có chứa λ. Trang 211 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Dạng chuẩn Greibach  Định nghĩa 6.5  Một VPPNC là thuộc dạng chuẩn Greibach nếu mọi luật sinh có dạng A → ax trong đó a ∈ T cịn x ∈ V*.  Định lý 6.8  Đối với mọi VPPNC G với λ∉L(G), thì... A vào V N . 2. Lặp lại bước sau cho đến khi khơng cịn biến nào được thêm vào V N .  Đối với mọi luật sinh B → A 1 A 2 … A n , mà A 1 , A 2 , A n ∈ V N thì đặt B vào V N . Bước 2  Sau khi có tập V N ta xây dựng tập luật sinh như sau.  Ứng với mỗi luật sinh có dạng A → x 1 x 2 … x m , m ≥ 1, trong đó mỗi x i ∈ V ∪ T, đặt luật sinh này vào cùng với các luật sinh được sinh ra bằng cách thay thế các. .. Ta xây dựng văn phạm G 1 có dạng chuẩn Chomsky bằng thủ tục sau: Trang 199 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ  Loại bỏ các biến vơ dụng loại 1 ta được V 1 = {S, A, B} tập luật sinh P 1 S → aS | A A → a B → aa  Loại bỏ các biến vô dụng loại 2 ta được văn phạm kết quả S → aS | A A → a  Nhận xét  Nếu thay đổi thứ tự loại bỏ (loại bỏ các biến luật sinh vơ dụng loại... biến đại diện, chẳng hạn X a , đồng thời thêm vào các luật sinh mới X a → a.  Ví dụ  Biến đổi VP sau thành VP có dạng chuẩn Greibach S → SBb | Ab A → Sb | Ba B → Sb | a Trang 190 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Các phương pháp để biến đổi văn phạm  Chuỗi trống đóng một vai trị khá đặc biệt trong nhiều định lý và chứng minh, thường cần có một sự chú ý đặc biệt cho nó.  Nếu . Khoa Công Nghệ Thông TinChương 6 Đơn giản hóa VPPNCvà các dạng chuẩn6 .1 Các phương pháp để biến đổi văn phạm6.2 Hai dạng chuẩn quan trọng6.3 Giải thuật thành. một đồ thị có các đỉnh biểu diễn các biến, còn một cạnh nối hai đỉnh A và B khi và chỉ khi có luật sinh dạngA → xByVí dụLoại bỏ các biến và các luật sinh

Ngày đăng: 13/10/2012, 09:17

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan