1. Trang chủ
  2. » Công Nghệ Thông Tin

chương 7: Automata đẩy xuống

44 241 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

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 327,6 KB

Nội dung

Trang 224 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Chng 7 Ôtômát đy xung ̈ Có hay không lp ôtômát tng ng vi lp NNPNC? ̈ Nh đã bit, ôtômát hu hn không th nhn bit tt c NNPNC, chng hn L = {a n b n : n ≥ 0}, vì nó có mt b nh hu hn. Vì vy chúng ta mun có mt máy mà đm không gii hn . ̈ T ví d ngôn ng {ww R }, chúng ta cn thêm kh nng lu và so trùng mt dãy kí hiu trong th t ngc li. ̈ iu này đ ngh chúng ta th mt stack nh mt c ch lu tr. óchính là lp ôtômát đy xung (P ushDown A utomata - PDA) Trang 225 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Chng 7 Ôtômát đy xung 7.1 PDA không đn đnh 7.2 NPDA và NNPNC 7.3 PDA đn đnh và NNPNC đn đnh 7.4 Vn phm cho NNPNC đn đnh Trang 226 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Ôtômat đy xung không đn đnh ̈ Mi di chuyn ca đn v điu khin đc mt kí hiu nhp, trong cùng thi đim đó thay đi ni dung ca stack. ̈ Mi di chuyn đc xác đnh bng kí hiu nhp hin ti, kí hiu hin ti trên đnh ca stack . Kt qu là mt trng thái mi ca đn v điu khin và mt s thay đi trên đnh ca stack. ̈ Chúng ta s ch nghiên cu các PDA thuc loi accepter. Control unit Stack Input file Trang 227 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin nh ngha ôtômát đy xung ̈ nh ngha 7.1 Mt accepter đy xung không đn đnh (npda) đc đnh ngha bng b by M = (Q, Σ, Γ, δ, q 0 , z, F), trong đó ̈ Q là tp hu hn các trng thái ni ca đn v điu khin, ̈ Σ là bng ch cái ngõ nhp (input alphabet), ̈ Γ là bng ch cái stack (stack alphabet), ̈ q 0 ∈ Q là trng thái khi đu ca đn v điu khin, ̈ z ∈Γlà kí hiu khi đu stack (stack start symbol), ̈ F ⊆ Q là tp các trng thái kt thúc. ̈ Hàm chuyn trng thái δ là mt ánh x δ : Q × (Σ∪{λ}) ×Γ→tp con hu hn ca Q ×Γ*, Trang 228 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Ví d ̈ δ(q, a, b) = {(p, cd)} ̈ Ví d ̈ Xét mt npda vi ̈ Q = {q 0 , q 1 , q 2 , q f }, ̈ Σ = {a, b}, ̈ Γ = {0, 1, z}, ̈ F = {q f }, Stack a b c d Input file Control unit qp Trang 229 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Nhn xét ̈ δ (q 0 , a, z) = {(q 1 ,1z), (q f , λ)}, δ (q 0 , λ, z) = {(q f , λ)}, ̈ δ (q 1 , a, 1) = {(q 1 , 11)}, δ (q 1 , b, 1) = {(q 2 , λ)}, ̈ δ (q 2 , b, 1) = {(q 2 , λ)}, δ (q 2 , λ, z) = {(q f , λ)}. ̈ δ (q 0 , b, 0) không đc đnh ngha tng đng vi cu hình cht mà ta đã hc. ̈ δ (q 1 , a, 1) = {(q 1 , 11)} thêm mt kí hiu 1 vào stack khi a đc đc. ̈ δ (q 2 , b, 1) = {(q 2 , λ)} xóa mt kí hiu 1 khi stack khi b đc đc. ̈ L(M) = {a n b n : n ≥ 0} ∪ {a} Trang 230 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Mt s khái nim ̈ Hình trng tc thi ̈ Là b ba (q, w, u), trong đó q là trng thái ca đn v điu khin, w là phn cha đc ca chui nhp, còn u là ni dung ca stack (vi kí hiu trái nht là kí hiu đnh ca stack). ̈ Di chuyn, ̈ Mt di chuyn t mt hình trng tc thi này đn mt hình trng tc thi khác s đc kí hiu bng . ̈ (q 1 , aw, bx)(q 2 , w, yx) là có kh nng ⇔ (q 2 , y) ∈δ(q 1 , a, b). ̈ , , ̈ Du * ch ra có ≥ 0 bc di chuyn đc thc hin còn du + ch ra ≥ 1 bc di chuyn. Ch M ch ra di chuyn ca ôtômát nào. _ | _ | _ | * _ | + _ | M _ | Trang 231 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Ngôn ng đc chp nhn bi mt npda ̈ nh ngha 7.2 ̈ Cho M = (Q, Σ, Γ, δ, q 0 , z, F)làmt npda. Ngôn ng đc chp nhn bi M là tp L(M) = {w ∈Σ*: (q 0 , w, z)(q f , λ, u), q f ∈ F, u ∈Γ*}. ̈ Ví d ̈ Xây dng mt npda cho ngôn ng L = {w ∈ {a, b}*: n a (w) = n b (w)} * _ | Trang 232 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Ví d ̈ Xây dng npda cho ngôn ng này nh sau. ̈ M = ({q 0 , q f }, {a, b}, {0, 1, z}, δ, q 0 , z, {q f }). δ(q 0 , λ, z) = {(q f , z)}, δ(q 0 , a, z) = {(q 0 , 0z)}, δ(q 0 , b, z) = {(q 0 , 1z)}, δ(q 0 , a, 0) = {(q 0 , 00)}, δ(q 0 , b, 0) = {(q 0 , λ)}, δ(q 0 , a, 1) = {(q 0 , λ)}, δ(q 0 , b, 1) = {(q 0 , 11)}, ̈ Trong qúa trình x lý chui baab, npda thc hin các di chuyn sau. ̈ (q 0 , baab, z) (q 0 , aab, 1z) (q 0 , ab, z) (q 0 , b, 0z) (q 0 , λ, z) (q f , λ, z) _ | _ | _ | _ | _ | Trang 233 Lý thuyt Ôtômát & NNHT - Khoa Công Ngh Thông Tin Ví d (tt) ̈ Xây dng npda cho ngôn ng L = {ww R : w ∈ {a, b} + } ̈ M = ({q 0 , q 1 , q f }, {a, b}, {a, b, z}, δ, q 0 , z, {q f }). δ(q 0 , a, z) = {(q 0 , az)}, δ(q 0 , b, z) = {(q 0 , bz)}, δ(q 0 , a, a) = {(q 0 , aa)}, δ(q 0 , b, a) = {(q 0 , ba)}, δ(q 0 , a, b) = {(q 0 , ab)}, δ(q 0 , b, b) = {(q 0 , bb)}. δ(q 0 , λ, a) = {(q 1 , a)}, δ(q 0 , λ, b) = {(q 1 , b)}, δ(q 1 , a, a) = {(q 1 , λ)}, δ(q 1 , b, b) = {(q 1 , λ)}, δ(q 1 , λ, z) = {(q f , z)}.

Ngày đăng: 13/05/2014, 17:00

TỪ KHÓA LIÊN QUAN

w