1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Lý thuyết tính toán: Bài 7 - Phạm Xuân Cường

27 10 0

Đ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

Bài giảng Lý thuyết tính toán: Bài 7 - Phạm Xuân Cường cung cấp cho học viên các kiến thức về ôtômat đẩy xuống; khái niệm ôtômat đẩy xuống; định nghĩa hình thức; sự tương đương với CFG; biểu đồ trạng thái của PDA; ngôn ngữ không phi ngữ cảnh;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

LÝ THUYẾT TÍNH TỐN BÀI 7: Ơtơmat đẩy xuống Phạm Xuân Cường Khoa Công nghệ thông tin cuongpx@tlu.edu.vn Nội dung giảng Khái niệm Định nghĩa hình thức Sự tương đương với CFG Ngôn ngữ không phi ngữ cảnh Khái niệm Khái niệm • Ơtơmat đẩy xuống = Push down automata (PDA) • PDA: Là mơ hình tính tốn, giống với NFA ngoại trừ thành phần mở rộng gọi ngăn xếp • Ngăn xếp: Là cấu trúc liệu hoạt động theo chế LIFO - Các phương thức: read + push / ignored, pop/ignored • PDA ⇔ CFG sức mạnh → Thêm cơng cụ hữu ích đốn nhận ngôn ngữ phi ngữ cảnh Biểu diễn hình học PDA PDA FSM a a, b → c Trong đó: • a ký tự vào • b ký tự nằm đỉnh ngăn xếp, ký tự lấy (pop) • c ký tự đẩy (push) vào ngăn xếp a,b,c nhận ký tự ε - Nếu b = ε→ ngăn xếp rỗng chưa đọc - Nếu c = ε→ khơng có đẩy vào ngăn xếp Ví dụ PDA Xét ngơn ngữ A = {0n 1n | n ≥ 0} Σ= {0,1} → Bộ chữ đầu vào Γ= {$,ε} → Bộ chữ ngăn xếp Ký tự $ dùng để xác định đáy ngăn xếp start ε, ε → $ A ε, ε → ε B C 0, ε → 1, → ε ε,$→ ε D PDA hoạt động nào? Khi chuỗi chấp thuận: • Tồn đường từ trạng thái bắt đầu đến trạng thái chấp thuận điều khiển trạng thái • Đến cuối xâu đọc hết ký tự khơng cịn ký tự ngăn xếp Chú ý: a, b → c Lấy b từ ngăn xếp a, ε → c Khơng lấy từ ngăn xếp Định nghĩa hình thức Định nghĩa hình thức • Ơtơmat đẩy xuống ≡ (hay chiều) M = (Q, Σ, Γ, δ, q0 , F) Trong đó: - Q: Tập trạng thái (hữu hạn) Σε : Bộ chữ đầu vào, tập hữu hạn ký tự Γ: Bộ chữ ngăn xếp, tập hữu hạn ký tự δ: Hàm dịch chuyển δ: Q x Σε x Γε → P(Q x Γε ) - q0 : Trạng thái bắt đầu (q0 ∈ Q) - F: Là tập trạng thái kết thúc (F ⊆ Q) Ví dụ PDA theo định nghĩa hình thức start ε, ε → $ ε, ε → ε A B C 0, ε → 1, → ε ε,$→ ε D • δ: Σ • Q = {A,B,C,D} Γ 0 $ ε ε $ ε $ ε • Σ = {0,1} • Γ = {0,$} • F = {D} A B C D {B,$} {C,ε} {B,0} {C,ε} {D,ε} Tất ô trống biểu thị Ø Chứng minh bổ đề 1.1 Ý TƯỞNG: Xây dựng PDA P = (Q,Σ, Γ, δ, q0 , F) đốn nhận ngơn ngữ với CFG Quy tắc xây dựng Đặt ký hiệu đánh dấu $ biến ban đầu vào ngăn xếp Lặp bước sau: a Nếu đỉnh ngăn xếp ký hiệu biến A → Chọn quy tắc ứng với A thay phần bên phải quy tắc b Nếu đỉnh ngăn xếp ký hiệu kết thúc a → Đọc ký hiệu từ liệu vào so sánh Nếu giống lặp lại, khác bỏ qua nhánh c Nếu đỉnh ngăn xếp ký hiệu $, chuyển vào trạng thái chấp thuận Nếu tất liệu vào đọc → Chấp thuận Chú ý: Để đưa nhiều ký hiệu vào ngăn xếp ta cần thêm số bước trung gian ε, A → D ε, A → BCD ε, ε → C ε, ε → B 10 Biểu đồ trạng thái Biểu đồ trạng thái PDA P có dạng sau: a, a → ε ε, A → BCD start ε, ε → $ ε, ε → S ε,$→ ε 11 Ví dụ Cho CFG sau: S → aTb | b T → Ta | ε ε, S ε, T a, a b, b start ε, ε → $ → → → → ε, ε → S b ε ε ε ε,$→ ε ε, T → a ε,S → b ε, ε → T ε, ε → T ε, ε → a 12 Chứng minh bổ đề 1.2 Ý TƯỞNG: Xây dựng CFG từ PDA có • Bước 1: Đơn giản hóa PDA cho có đặc điểm sau: - Có trạng thái chấp thuận qaccept - Nó làm rỗng ngăn xếp trước chấp thuận - Không thực push pop ký hiệu vào ngăn xếp lúc • Bước 2: Xây dựng CFG 13 Ví dụ đơn giản hóa PDA • PDA có trạng thái chấp thuận qaccept ε, ε → ε ε, ε → ε • Nó làm rỗng ngăn xếp trước chấp thuận ε, $ → ε ε, x → ε ∀x ∈ Γ − {$} q0 ε, ε → $ 14 Ví dụ đơn giản hóa PDA • Khơng thực push pop ký hiệu vào ngăn xếp lúc a, X → Y a, X → ε a, ε → Y 15 Quy tắc xây dựng CFG Cho P = (Q,Σ, Γ, δ, q0 , {qa ccept}) ta xây dựng CFG G với biến {Apq |p, q ∈ Q} biến ban đầu Aq0 ,qaccept • Với p,q,r,s ∈ Q, t ∈ Γ a,b ∈ Σε , δ(p,a,ε) = (r,t) δ(s,b,t) = (q,ε) ta đưa quy tắc Apq → aArs b vào G • Với p,q,r ∈ Q đưa quy tắc Apq → Apr Arq vào G • Với p ∈ Q đưa quy tắc App → ε vào G → Kết thúc chứng minh 16 Ngôn ngữ không phi ngữ cảnh Ngôn ngữ không phi ngữ cảnh • Mọi ngơn ngữ phi ngữ cảnh có giá trị đặc biệt gọi độ dài dẫn xuất • Có cách chứng minh ngôn ngữ không phi ngữ cảnh tương tự ngôn ngữ không phi ngữ cảnh 17 Bổ đề Bơm Bổ đề Bơm (Pumping Lemma) cho ngôn ngữ phi ngữ cảnh Nếu A ngơn ngữ phi ngữ cảnh, tồn số p cho s xâu thuộc A có độ dài p, s chia làm phần s=uvxyz thỏa mãn điều kiện sau: uvi xyi z ∈ A ∀ i ≥ |vy| > |vxy| ≤ p 18 Bổ đề Bơm • Sử dụng bổ đề Bơm để chứng minh ngôn ngữ A không phi ngữ cảnh Ý TƯỞNG: (Chứng minh phản chứng) - Giả sử A phi ngữ cảnh - Nó có độ dài dẫn xuất p - Tất xâu A có độ dài lớn p (|s| ≥ p) chia làm đoạn s = uvxyz - Chọn xâu A - Chia làm đoạn uvxyz - Chỉ uvi xyi z ∈ A cách - Xét tất trường hợp mà s chia thành đoạn - Chỉ khơng có trường hợp thỏa mãn điều kiện bổ đề Bơm → Mâu thuẫn, kết luận A khơng phải phi ngữ cảnh 19 Ví dụ Sử dụng bổ đề Bơm để chứng tỏ B = {an b n c n |n ≥ 0} khơng phi ngữ cảnh • Giả sử B ngôn ngữ phi ngữ cảnh (CFL) → B có độ dài dẫn xuất p • Xâu lựa chọn để phản chứng là: s = ap b p c p • Xét trường hợp chia s thành đoạn uvxyz - v y chứa loại ký tự - v y chứa nhiều ký tự 20 Ví dụ • Xét TH 1: aaaabbbbcccc → uv2 xy2 z = aaa|aaabbbbcc|ccc Xâu uv2 xy2 z ∈ B • Tương tự, TH 2: aaabbbccc → uv2 xy2 z = aaabb|aabb|b|bccc ∈B • Ngồi theo điều kiện 3: - TH1: |vxy| = |aaabbbbcc| = ≤ p = → False - TH2: |vxy| = |aabbb| = ≤ p = → False • Có mâu thuẫn nên giả thiết sai → B ngôn ngữ không phi ngữ cảnh 21 Questions? 21 ... phản chứng) - Giả sử A phi ngữ cảnh - Nó có độ dài dẫn xuất p - Tất xâu A có độ dài lớn p (|s| ≥ p) chia làm đoạn s = uvxyz - Chọn xâu A - Chia làm đoạn uvxyz - Chỉ uvi xyi z ∈ A cách - Xét tất... từ PDA có • Bước 1: Đơn giản hóa PDA cho có đặc điểm sau: - Có trạng thái chấp thuận qaccept - Nó làm rỗng ngăn xếp trước chấp thuận - Không thực push pop ký hiệu vào ngăn xếp lúc • Bước 2: Xây... đó: - Q: Tập trạng thái (hữu hạn) Σε : Bộ chữ đầu vào, tập hữu hạn ký tự Γ: Bộ chữ ngăn xếp, tập hữu hạn ký tự δ: Hàm dịch chuyển δ: Q x Σε x Γε → P(Q x Γε ) - q0 : Trạng thái bắt đầu (q0 ∈ Q) -

Ngày đăng: 14/12/2021, 09:35

Xem thêm: