Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 6

35 21 0
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 6

Đ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

Tham khảo bài thuyết trình ''bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - chương 6'', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chương Đơn giản hóa VPPNC dạng chuẩn 6.1 Các phương pháp để biến đổi văn phạm 6.2 Hai dạng chuẩn quan trọng 6.3 Giải thuật thành viên cho văn phạm phi ngữ cảnh Trang 189 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 vai trị đặc biệt nhiều định lý chứng minh, thường cần có ý đặc biệt cho Nếu L ∋ λ biểu diễn L = L1 ∪ λ với L1 = L - λ Nếu G1 = (V1, T, S1, P1) văn phạm biểu diễn cho L1 G = (V1 ∪ {S}, T, S, P1 ∪ {S → S1 | λ}) văn phạm biểu diễn cho L Trong chương này, xem xét NNPNC không chứa λ Tuy nhiên kết luận cho ngơn ngữ khơng chứa λ áp dụng cho ngơn ngữ có chứa λ Trang 190 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Một vài qui tắc thay hiệu „ Định lý 6.1 „ Cho G = (V, T, S, P) VPPNC Giả sử P có chứa luật sinh A → x1Bx2 A, B biến khác B → y1 | y2 | | yn tập tất luật sinh P mà có B vế trái Cho G1= (V, T, S, P1) VP xây dựng cách xóa A → x1Bx2 từ P, thêm vào A → x1y1x2 | x1y2x2| | x1ynx2 Thì L(G) = L(G1) Trang 191 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ „ „ Xét văn phạm G = ({A, B}, {a, b}, A, P) với luật sinh A → a | aA | bBc, B → abA | b Sau thay biến B ta nhận VP tương đương sau A → a | aA | babAc | bbc, B → abA | b Chuỗi abbc có dẫn xuất G G1 sau: A ⇒ aA ⇒ abBc ⇒ abbc A ⇒ aA ⇒ abbc Chú ý rằng, biến B luật sinh cịn VP chúng khơng cịn đóng vai trị dẫn xuất Sau thấy luật sinh khơng cần thiết bị loại bỏ khỏi văn phạm Trang 192 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Loại bỏ đệ qui trái „ Định lý 6.2 (Loại bỏ đệ qui trái) „ Cho G = (V, T, S, P) VPPNC Chia tập luật sinh mà vế trái chúng biến cho (chẳng hạn A), thành hai tập riêng biệt A → Ax1 | Ax2 | | Axn (6.2) A → y1 | y2 | | ym (6.3) với xi, yi ∈ (V ∪ T)*, A không prefix yi Xét G1 = (V ∪ {Z}, T, S, P1), Z ∉ V P1 nhận cách thay luật sinh P có dạng (6.2 ) (6.3) A → yi | yiZ, i = 1, 2, , m, Z → xi | xiZ, i = 1, 2, , n, Thì L(G) = L(G1) Trang 193 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 văn phạm G có dạng: * A ⇒ A(x1 + x2 + + xn)* ⇒ yi(x1 + x2 + + xn)* Các dạng câu sinh G1 cách ý Z sinh dạng câu có dạng * Z⇒ (x1 + x2 + + xn)(x1 + x2 + + xn)* mà A → yi | yiZ nên * A⇒ yi(x1 + x2 + + xn)* Vì L(G) = L(G1) Ghi „ „ Các luật sinh đệ qui-trái trường hợp đặc biệt đệ qui-trái văn phạm phát biểu sau Một văn phạm gọi đệ qui-trái có biến A * Ax mà A ⇒ Trang 194 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ „ „ „ Sử dụng Định lý 6.2 để loại bỏ luật sinh đệ qui-trái khỏi VP A → Aa | aBc | λ B → Bb | ba Áp dụng định lý cho biến A ta tập luật sinh sau: A → aBc | λ | aBcZ | Z B → Bb | ba Z → a | aZ Áp dụng định lý lần lần cho biến B ta tập luật sinh kết cuối sau: A → aBc | aBcZ | Z | λ B → ba | baY Z → a | aZ Y → b | bY Nhận xét „ Việc loại bỏ luật sinh đệ qui-trái đưa biến VP kết "đơn giản" đáng kể so với VP gốc cách tổng quát có nhiều biến luật sinh Trang 195 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Luật sinh vô dụng „ Định nghĩa 6.1: „ „ Cho G = (V, T, S, P) VPPNC Một biến A ∈ V gọi khả dụng có chuỗi w ∈ L(G) * xAy ⇒ * w, cho S⇒ với x, y ∈ (V ∪ T)* Bằng lời, biến khả dụng xuất dẫn xuất Một biến mà khơng khả dụng gọi vơ dụng Một luật sinh gọi vơ dụng có chứa biến vô dụng Các dạng vô dụng „ „ Vô dụng loại 1: A Vô dụng loại 2: S * w ∈ T* ⇒ * xAy ⇒ Trang 196 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Loại bỏ luật sinh vô dụng „ Định lý 6.3 „ „ Cho G = (V, T, S, P) VPPNC, ∃ VP tương đương G0 = (V0, T, S, P0) mà không chứa biến vô dụng Chứng minh „ Loại bỏ biến luật sinh vô dụng loại Tạo văn phạm G1 = (V1, T, S, P1) với V1 tập biến không vô dụng loại Ta tìm V1 sau: Khởi tạo V1 = ∅ Lặp lại bước sau khơng cịn biến thêm vào V1 „ Đối với A ∈ V mà có luật sinh A → x, x ∈ (V1∪T)*, thêm A vào V1 Loại khỏi P luật sinh có chứa biến ∉ V1, ta P1 Trang 197 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Loại bỏ luật sinh vô dụng (tt) „ „ Đồ thị phụ thuộc (dependency graph) „ „ Để loại tiếp biến luật sinh vô dụng loại ta dựa vào G1 vừa có vẽ đồ thị phụ thuộc cho nó, sau tìm tập biến không đạt tới từ S Loại biến luật sinh liên quan đến khỏi G1 ta văn phạm kết G0 Là đồ thị có đỉnh biểu diễn biến, cịn cạnh nối hai đỉnh A B có luật sinh dạng A → xBy A B Ví dụ „ Loại bỏ biến luật sinh vô dụng khỏi văn phạm G = ({S, A, B, C}, {a, b}, S, P), với tập luật sinh P là: S → aS | A | C B → aa A→a C → aCb Trang 198 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Thủ tục: G-to-GChomsky Input: G = (V, T, S, P) với λ ∉ L(G) „ Output: G1 = (V1, T, S, P1) có dạng chuẩn Chomsky Đặt luật sinh A → a vào P1 Đối với luật sinh A → x1x2 xn với n ≥ 2, xi ∈ (V ∪ T) thay kí hiệu kết thúc, chẳng hạn xk = a, biến đại diện Ba, tạo thành luật sinh trung gian A → C1C2 Cn Ứng với biến đại diện Ba đặt vào P1 luật sinh Ba → a Sau thực bước 2, ứng với luật sinh A → C1C2 Cn mà n = đặt vào P1 Ngược lại ứng với n > ta giới thiệu biến D1, D2, đưa vào luật sinh sau: A → C1 D1 D1 → D1 D2 „ M Dn-2 → Cn-1Cn Trang 209 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ Hãy biến đổi VP sau thành VP có dạng chuẩn Chomsky Bư S → a | ABa A → aab B → b | Ac c S→a B→b Bư c Bước S → ABXa A → XaXaXb B → AXc Bư ớc Xa → a Xb → b Kết Xc → c Trang 210 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin S → AD1 D1 → BXa A → XaD2 D2 → XaXb S → a | AD1 D1 → BXa A → XaD2 D2 → XaXb B → b | AXc Xa → a Xb → b Xc → c Dạng chuẩn Greibach „ Định nghĩa 6.5 „ „ Định lý 6.8 „ „ Một VPPNC thuộc dạng chuẩn Greibach luật sinh có dạng A → ax a ∈ T cịn x ∈ V* Đối với VPPNC G với λ ∉ L(G), tồn văn phạm tương đương dạng chuẩn Greibach Chứng minh „ Khơng tính tổng qt giả sử G khơng có luật sinh-vơ dụng, luật sinh-đơn vị luật sinh-λ Ta xây dựng văn phạm có dạng chuẩn Greibach thủ tục sau Trang 211 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Thủ tục: G-to-GGreibach Input: G = (V, T, S, P) với λ ∉ L(G) „ Output: G1 = (V1, T, S, P1) có dạng chuẩn Greibach Đánh số thứ tự cho biến chẳng hạn A1, A2, An Dùng Định lý 6.1 6.2 để viết lại VP cho luật sinh có ba dạng sau Ai → Ajxj, i < j a ∈ T x ∈ (V ∪ T)* i Zi → Ajxj, j ≤ n Zi biến Ai → axi „ „ „ Điều thực cách sử dụng Định lý 6.1 6.2 cho biến Ai theo thứ tự i từ 1, 2, đến n sau Giả sử xét luật sinh biến Ai Nếu có luật sinh Ai → Ajx mà i > j thay Aj đầu vế phải nó, làm luật sinh Ai có dạng Ai → Ajx, i ≤ j Đến loại đệ qui trái cho Ai luật sinh có dạng nêu Trang 212 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Thủ tục: G-to-GGreibach (tt) Sau thực bước 2, tất luật sinh An phải có dạng An → axn „ Thay An đầu vế phải luật sinh vế phải Kết luật sinh An-1 có dạng An-1 → axn-1 „ Tương tự thay An-1 đầu vế phải luật sinh vế phải Và thực A1 Thay kí hiệu kết thúc, chẳng hạn a, không đầu vế phải biến đại diện, chẳng hạn Xa, đồng thời thêm vào luật sinh Xa → 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 213 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ S0 → S0B2b | A1b Loại đệ qui trái Thay A1 → S0b | B2a S → SBb | Ab A → Sb | Ba B → Sb | a S0 → A1b | A1bZ0 (1) Z0 → B2b | B2bZ0 (2) A1 → A1bb | A1bZ0b | B2a Loại đệ qui trái A → B a | B aZ (3) 2 Z1 → bb | bZ0b | bbZ1 | bZ0bZ1 (4) Thay B2 → S0b | a B2 → A1ba | A1bZ0a | b Thay B2 → b | bZ2 (5) B2 → B2aba | B2aZ1ba | B2abZ0a | Z2 → aba | aZ1ba | abZ0a | B2aZ1bZ0a | b aZ bZ a | abaZ | aZ baZ | abZ0aZ2 | aZ1bZ0aZ2 (6) Loại đệ qui trái Trang 214 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ (tt) B2 → b | bZ3 (5) A1 → B2a | B2aZ1 (3) Thay A1 → ba | bZ2a | baZ1 |bZ2aZ1 (7) S0 → A1b | A1bZ0 (1) Thay S0 → bab | bZ2ab | baZ1b | bZ2aZ1b | babZ0 | bZ2abZ0 | baZ1bZ0 | bZ2aZ1bZ0 (8) Z0 → B2b | B2bZ0 (2) Thay Z0 → bb | bZ2b | bbZ0 |bZ2bZ0 (9) Trang 215 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ (tt) Văn phạm gầnGreibach S0 → bab | bZ2ab | baZ1b | bZ2aZ1b | babZ0 | bZ2abZ0 | baZ1bZ0 | bZ2aZ1bZ0 (8) A1 → ba | bZ2a | baZ1 |bZ2aZ1 (7) (5) B2 → b | bZ3 Z0 → bb | bZ2b | bbZ0 |bZ2bZ0 (9) Z1 → bb | bZ0b | bbZ1 | bZ0bZ1 (4) Z2 → aba | aZ1ba | abZ0a | aZ1bZ0a | abaZ2 |aZ1baZ2 | abZ0aZ2 | aZ1bZ0aZ2 (6) Thay kí hiệu kết thúc khơng đầu biến đại diện S → bXY | bZ2XY | bXZ1Y | bZ2XZ1Y | bXYZ0 | bZ2XYZ0 | bXZ1YZ0 | bZ2XZ1YZ0 A → bX | bZ2X | bXZ1 |bZ2XZ1 B → b | bZ3 Z0 → bY | bZ2Y | bYZ0 |bZ2YZ0 Z1 → bY | bZ0Y | bYZ1 | bZ0YZ1 Z2 → aYX | aZ1YX | aYZ0X | aZ1YZ0X | aYXZ2 | aZ1YXZ2 | aYZ0XZ2 | aZ1YZ0XZ2 X →a Trang 216 Y →b Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Giải thuật thành viên cho VPPNC „ Giải thuật CYK (J.Cocke, D.H.Younger, T.Kasami) „ „ „ „ „ „ Input: Văn phạm Chomsky G = (V, T, S, P) Chuỗi w = a1a2 … an Output: “Yes” + DXTN “No” Chúng ta định nghĩa chuỗi wij = aj, Và tập V * w }, Vij = {A ∈ V : A ⇒ ij Để ý w = w1n, w ∈ L(G) S ∈ V1n Vậy để biết w có ∈ L(G) hay khơng tính V1n xem S có ∈ V1n hay khơng Trang 217 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Giải thuật CYK „ „ „ „ „ „ „ „ „ „ A ∈ Vii A có luật sinh A → Vậy, Vii tính ∀i, ≤ i ≤ n * w (⇔ B ∈ V ), C ⇒ * w Nếu B ⇒ ik ik (k+1)j (⇔ C ∈ V(k+1)j) đồng * w (⇔ A ∈ V ) ∀ i ≤ k, k < j thời A → BC A ⇒ ij ij Vij = ∪k∈{i, i+1, , j – 1}{A: A → BC, với B ∈ Vik, C ∈ V(k+1)j} Q trình tính tập Vij V11, V22, ,Vnn V12, V23, ,V(n-1)n V13, V24, ,V(n-2)n V1n Trang 218 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ „ „ „ „ „ „ „ Sử dụng giải thuật CYK đê PTCP chuỗi w = aabbb G sau S → AB (1) A → BB | a (2, 3) B → AB | b (4, 5) Ta có w = a a b b b 12345 V11 = {A}, V22 = {A}, V33 = {B}, V44 = {B}, V55 = {B}, V12 = ∅, V23 = {S, B}, V34 = {A}, V45 = {A}, V13 = {S, B}, V24 = {A}, V35 = {S, B}, V14 = {A}, V25 = {S, B}, V15 = {S, B} S ∈ V15 ⇒ w ∈ L(G) Trang 219 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ (tt) „ „ „ „ „ „ S → AB A → BB | a B → AB | b w=aabbb Để tìm dẫn xuất cho w, phải 12345 tìm cách “lưu vết” a)}, V = {A( a)}, V = {B( b)}, V11 = {A (→ → → 22 33 5 b)}, V55 = {B(→ b)}, V44 = {B(→ A B ), B( A B )}, V12 = ∅, V23 = {S(→ → 22 33 22 33 2 V34 = {A(→ B33B44)}, V45 = {A(→ B44B55)}, A B ), B( A B )}, V = {A( B B )}, V13 = {S(→ → 11 23 → 23 44 11 23 24 A B ), B( A B )}, V35 = {S(→ → 34 55 34 55 B B )}, V = {S( A B , A B ), V14 = {A(→ → 22 35 → 24 55 13 44 25 4 B(→ A22B35,→ A24B55)}, A B , A B ), B( A B , A B )} V15 = {S(→ → 22 35 → 24 55 22 35 → 24 55 Trang 220 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin (1) (2, 3) (4, 5) Ví dụ (tt) S → AB A → BB | a B → AB | b w=aabbb 12345 (1) (2, 3) (4, 5) Kết có DXTN sau: 4 aB ⇒ (1) S ⇒ A11B25 ⇒ aA B aaB aaA B ⇒ ⇒ ⇒ 25 22 35 35 34 55 ,5,5aabbb (DXTN: 134342555) aaB33B44B555⇒ A B ⇒ aB B B (2) S ⇒ aB aA B ⇒ ⇒ 11 25 25 24 55 23 44 55 ⇒ ,5,5aabbb (DXTN: 134243555) aA22B33B44B553,5⇒ A B B B B A B B B aB B B (3) S ⇒ 14 55 ⇒ 13 44 55 ⇒ 11 23 44 55 ⇒ 23 44 55 ⇒ ,5,5aabbb (DXTN: 124343555) aA22B33B44B553,5⇒ „ Trang 221 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin S → AB A → BB | a B → AB | b Ví dụ (tt) „ w=aabbb 12345 CDXtương ứng: S A11 a S B25 A11 B35 A22 a S B25 A24 B55 B23 B44 B33 B44 b A22 B33 b b b a A14 B13 B55 A34 a (1) (2, 3) (4, 5) b B55 B44 A11 B23 a A22 B33 b Trang 222 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin a b b b Bài tập „ „ Dùng giải thuật CYK PTCP chuỗi sau w1 = abab, w2 = abaa VP G1, G2 tương ứng G1 G2 S → AB⏐BB (1, 2) S → AB (1) A → BA⏐a (3, 4) A → BB⏐a (2, 3) B → AA⏐a⏐b (5, 6, 7) B → BA⏐b (4, 5) Trang 223 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin ... dụng loại Trang 200 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Loại bỏ luật sinh-λ „ Định nghĩa 6. 2 „ „ „ Định lý 6. 4 „ „ Bất kỳ luật sinh VPPNC có dạng A→λ gọi luật sinh-λ Bất kỳ biến A... Trang 203 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Loại bỏ luật sinh đơn vị „ Định nghĩa 6. 3 „ „ Định lý 6. 5 „ „ Bất kỳ luật sinh VPPNC có dạng A→B A, B ∈ V gọi luật sinh-đơn vị Cho... luật sinh-vơ dụng, luật sinh-đơn vị luật sinh-λ Ta xây dựng văn phạm G1 có dạng chuẩn Chomsky thủ tục sau: Trang 208 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Thủ tục: G-to-GChomsky

Ngày đăng: 12/04/2021, 08:42

Từ khóa liên quan

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

Tài liệu liên quan