tailieunhanh - Bài giảng Tin học lý thuyết - Chương 6: Automata đẩy xuống (Push Down Automata)
Chương 6 - Automata đẩy xuống (Push Down Automata). Chương này trình bày những nội dung chính sau: Khái niệm về PDA, PDA đơn định và không đơn định, PDA chấp nhận chuỗi bằng Stack rỗng và PDA chấp nhận chuỗi bằng trạng thái kết thúc, sự tương đương giữa PDA và CFL. | Automata đẩy xuống (Push Down Automata) Nội dung: Khái niệm về PDA PDA đơn định và không đơn định PDA chấp nhận chuỗi bằng Stack rỗng và PDA chấp nhận chuỗi bằng trạng thái kết thúc Sự tương đương giữa PDA và CFL Chương 6: PDA Ta đã biết: Lớp ngôn ngữ chính quy được sinh ra từ văn phạm chính quy và được đoán nhận bởi automata hữu hạn Lớp ngôn ngữ phi ngữ cảnh được sinh ra từ văn phạm phi ngữ cảnh → câu hỏi: CFL có thể được đoán nhận bởi một automata không? automata đó như thế nào? Mô tả: gồm các thành phần của một automata hữu hạn với sự bổ sung thêm một ngăn xếp làm việc (Stack) 0 1 1 0 0 1 0 1 Y B R Bộ điều khiển PDA Ví dụ: xét L = {wcwR | w (0 + 1)*} được sinh ra từ CFG S → 0S0 | 1S1 | c Ta xây dựng PDA như sau: Bộ điều khiển có 2 trạng thái q1 và q2 Stack có 3 ký hiệu: xanh (B), vàng (Y) và đỏ (R) Quy tắc thao tác trên automata: PDA Các khái niệm: Phân loại PDA: đơn định (DPDA) và không đơn định (NPDA) Phép chuyển: có 2 kiểu Phụ thuộc ký hiệu nhập: với một trạng thái, một ký hiệu tại đỉnh Stack và một ký hiệu nhập, PDA lựa chọn trạng thái kế tiếp, thay thế ký hiệu trên Stack và di chuyển đầu đọc trên băng nhập. Không phụ thuộc ký hiệu nhập (ε – dịch chuyển): ký hiệu nhập không được dùng, đầu đọc không di chuyển. Ngôn ngữ được chấp nhận bởi PDA Bởi Stack rỗng Bởi trạng thái kết thúc Một ngôn ngữ được chấp nhận bởi PDA khi và chỉ khi nó là một ngôn ngữ phi ngữ cảnh. PDA Định nghĩa: một PDA M là một hệ thống 7 thành phần M (Q, Σ, Γ, δ, q0, Z0, F) Q : tập hữu hạn các trạng thái Σ : bộ chữ cái nhập Γ : bộ chữ cái Stack δ : hàm chuyển Q x (Σ {ε}) x Γ → tập con của Q x Γ* q0 : trạng thái khởi đầu Z0 : ký hiệu bắt đầu trên Stack F Q : tập các trạng thái kết thúc (nếu PDA chấp nhận chuỗi bằng Stack rỗng thì F = Ø) PDA Hàm chuyển δ: Hàm chuyển phụ thuộc ký hiệu nhập δ(q, a, Z) = { (p1, γ1), (p2, γ2), ., (pm, γm) } Hàm chuyển không phụ thuộc ký hiệu nhập δ(q, ε, Z) = { (p1, γ1), (p2, γ2), ., (pm, γm) } Ví dụ: PDA chấp nhận wcwR bằng Stack | Automata đẩy xuống (Push Down Automata) Nội dung: Khái niệm về PDA PDA đơn định và không đơn định PDA chấp nhận chuỗi bằng Stack rỗng và PDA chấp nhận chuỗi bằng trạng thái kết thúc Sự tương đương giữa PDA và CFL Chương 6: PDA Ta đã biết: Lớp ngôn ngữ chính quy được sinh ra từ văn phạm chính quy và được đoán nhận bởi automata hữu hạn Lớp ngôn ngữ phi ngữ cảnh được sinh ra từ văn phạm phi ngữ cảnh → câu hỏi: CFL có thể được đoán nhận bởi một automata không? automata đó như thế nào? Mô tả: gồm các thành phần của một automata hữu hạn với sự bổ sung thêm một ngăn xếp làm việc (Stack) 0 1 1 0 0 1 0 1 Y B R Bộ điều khiển PDA Ví dụ: xét L = {wcwR | w (0 + 1)*} được sinh ra từ CFG S → 0S0 | 1S1 | c Ta xây dựng PDA như sau: Bộ điều khiển có 2 trạng thái q1 và q2 Stack có 3 ký hiệu: xanh (B), vàng (Y) và đỏ (R) Quy tắc thao tác trên automata: PDA Các khái niệm: Phân loại PDA: đơn định (DPDA) và không đơn định (NPDA) Phép chuyển: có 2 kiểu Phụ thuộc ký hiệu nhập: với một trạng
đang nạp các trang xem trước