Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
704,5 KB
Nội dung
Chương 2: ÔTÔMÁT HỮUHẠNVÀ BIỂU THỨCCHÍNHQUY Nội dung I. Biểuthứcchínhquy II. Ôtômat hữuhạn Ôtômat hữuhạn tiền định Ôtômat hữuhạn không tiền định Sự tương đương giữa ô tô mát hữuhạn tiền định và không tiền định I. Sự tương đương giữa ô tô mát vàbiểuthứcchínhquy II. Văn phạm chínhquy III. Các ngôn ngữ chínhquy Các tính chất đóng của các ngôn ngữ chínhquy Định lý “đùn” I. Biểu thứcchínhquy (BTCQ) Định nghĩa: Cho bộ chữ ∑ φ là một BTCQ ε là một BTCQ ∀a∈∑ thì a là một BTCQ α,β là các BTCQ(α+β), (α.β), (α*) là các BTCQ Chú ý: Trong BTCQ chỉ có 3 phép toán và thứ tự ưu tiên là *,.,+ Toán tử ghép tiếp “.” có thể viết: αβ Giá trị của BTCQ Một BTCQ trên ∑ biểu diễn một ngôn ngữ trên ∑ L(φ)= φ; L(ε)= {ε} L(a)={a} với ∀a∈ ∑ L((α+β))=L(α)∪L(β) L((αβ))=L(α).L(β) L((α*))=(L(α))* Ta gọi ngôn ngữ chínhquy là mọi ngôn ngữ có thể được chỉ định bởi một biểuthứcchính quy. Ví dụ về BTCQ và giá trị Ví dụ: BTCQ Giá trị 00 {00} (0+1)* {0,1}* (0+1)*00(0+1)* {x|x∈{0,1}* và x chứa 2 con 0 liên tiếp} (1+10)* {x|x ∈{0,1}* x có con 1 ở đầu và không có hai con 0 liên tiếp} Tính chất của BTCQ Cho r, s, t là các BTCQ: (1) r+s=s+r (2) r+(s+t)=(r+s)+t (3) r(s+t)=rs+rt (4) rε= εr=r (5) r+φ=r (6) (ε+r)*=r* (7) (r*)*=r* (8) r+r=r (9) r(st)=(rs)t (10) (r+s)t=rt+st (11) φr=rφ= φ (12) φ*= ε (13) r+r*=r* (14) (r*s*)*=(r+s)* Ví dụ Hãy mô tả bằng lời các tập hợp chỉ định bởi các biểuthứcchínhquy sau: (11+0)*(00+1)* (1+01+001)*(ε+0+00)* [00+11+(01+10)(00+11)*(01+10)]* Cấu tạo của OHT Cấu tạo: Một băng vào: chứa xâu cần xử lý (xâu vào), mỗi ô chứa một kí tự Một đầu đọc: tại mỗi thời điểm trỏ vào một ô của băng vào và cho phép đọc kí hiệu trong ô đó Cái điều khiển (bộ chuyển trạng thái): tại mỗi thời điểm có một trạng thái: Các trạng thái là hữuhạn Có một trạng thái đầu và các trạng thái thừa nhận Một hàm dịch chuyển: cho phép xác định trạng thái tiếp theo dựa và trạng thái và kí hiệu đọc được hiện tại II. Ôtômát hữuhạn Là máy đoán nhận ngôn ngữ Có hai loại: Ôtômát hữuhạn tiền định (đơn định)(ÔHT) Ôtômát hữuhạn không tiền định(ÔHK) Cấu tạo của OHT 1 0 0 1 1 1 0 q Cái điều khiển Đầu đọc Hình. Ôtômát hữuhạn tiền định Băng vào [...]... thừa nhận bởi một ô tô mát hữuhạn khi và chỉ khi nó được thừa nhận bởi một ô tô mát tiền định (CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba) III Sự tương đương giữa ô tô mát hữuhạnvà BTCQ Từ biểu thứcchínhquy đến Ô tô mat hữuhạn Từ ô tô mát hữuhạn tới ngôn ngữ chính quy ... q r 0 {p} φ φ 1 {q} {q} φ 2 {r} {r} {r} Ví dụ Ô tô mát hữuhạn không còn dịch chuyển ε tương đương: Sự tương đương giữa OHT và OHK Loại bỏ tính không tiền định: Định lý II.2: Nếu một ngôn ngữ được thừa nhận bởi một ô tô mát hữuhạn không có dịch chuyển ε thì nó cũng được thừa nhận bởi một ô tô mát hữuhạn tiền định (CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba) Loại bỏ tính không tiền định... OHT và OHK Ví dụ: Cho ôtômat hữuhạn M={∑,Q,δ,q0,F} như sau: Tìm Otomat hữuhạn tiền định tương đương Sự tương đương giữa OHT và OHK Loại bỏ tính không tiền định OHK đã cho: M=(∑,Q,δ,p,F) ∑={0,1} Q={p,q,r} p- trạng thái đầu F={r} Sự tương đương giữa OHT và OHK Ta cần tìm M’ =(∑,℘(Q),δ’,{p},F’) trong đó: δ(S,a)=Uδ(s,a) với ∀S∈℘(Q), a∈∑ F’={S ∈℘(Q)|S∩F≠φ} Sự tương đương giữa OHT và. .. đầu, đầu đọc trỏ vào kí hiệu đầu tiên của xâu vào Lặp: ÔHT đọc kí hiệu trên băng, xác định trạng thái tiếp theo dựa vào hàm dịch chuyển, đẩy đầu đọc sang phải một ô OHT dừng khi đọc hết xâu vào, nếu trạng thái cuối là trạng thái thừa nhận thì xâu và được thừa nhận (thuộc ngôn ngữ mà ôtômát mô tả) Ôtômát hữuhạn tiền định Ví dụ: Cho ôtômát tiền định M, trong đó: Bộ chữ vào ∑={0,1} Q={q0,... (trạng thái cuối) Ôtômát hữuhạn không tiền định Ví dụ: Sơ đồ chuyển trạng thái của một OHK Ôtômát hữuhạn không tiền định OHK khác OHT: Từ một trạng thái gặp một kí hiệu được đọc vào có thể chuyển sang một số trạng thái tiếp theo (hàm chuyển là hàm đa trị) Từ một trạng thái có thể không cần kí hiệu vào OHK cũng chuyển trạng thái (dịch chuyển ε) Sự tương đương giữa OHT và OHK Ta gọi: L(OHT)... q}, q0 là trạng thái đầu F={q0} là tập trạng thái kết thúc Hàm dịch chuyển δ: Q× ∑Q, cho bởi bảng bên Xâu vào: 1001 , 11, 0110 0 1 q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 Định nghĩa OHT Định nghĩa: OHT là một bộ năm M=(∑,Q,δ,q0,F) trong đó: ∑ - tập hữuhạn các kí hiệu (bộ chữ vào) Q – tập hữuhạn các trạng thái, ∑∩Q=φ δ:Q× ∑Q là hàm dịch chuyển q ∈Q là trạng thái đầu 0 F⊆Q là các trạng thái... giữa OHT và OHK Hàm dịch chuyển δ’ được biểu diễn như sau: Đầu Cuối Cuối Cuối Cuối ℘(Q) φ {p} {q} {r} {p,q} {p,r} {q,r} {p,q,r} 0 1 φ {p,q} {r} φ {p} φ φ φ {p,q,r} {p} {p,q} {p} {r} φ {p,q,r} φ Sự tương đương giữa OHT và OHK Ôtômat tiền định tương đương: Sự tương đương giữa OHT và OHK Định lý II.3: Một ngôn ngữ được thừa nhận bởi một ô tô mát hữuhạn khi và chỉ khi nó được thừa nhận bởi một ô... Nút trạng thái cuối vẽ bằng nét kép Biểu diễn đồ thị của OHT Ví dụ: M=(∑,Q,δ,q0,F) ∑={0,1}; Q={q0, q1, q2}; F={q1} δ được cho bởi: δ(q0, 0)=q0, δ(q0, 1)=q1 δ(q1, 0)=q0, δ(q2, 0)=q2, ⇒ δ(q1, 1)=q2 δ(q2, 1)=q1 ĐỒ thị chuyển trạng thái tương ứng: Ôtômát hữuhạn không tiền định Định nghĩa: OHK là bộ 5 M=(∑,Q,δ,q0,F) trong đó: ∑ - bộ chữ vào Q – tập hữuhạn các trạng thái, ∑∩Q=φ δ:Q×(∑∪{ε})℘(Q)... thì qap là một quy tắc trong P Ngôn ngữ đoán nhận bởi M là: L(M)={ω| ω∈∑*, q ω*q∈F} 0 Biểu diễn đồ thị của OHT Biểu diễn OHT bằng đồ thị: Mỗi nút biểu diễn một trạng thái cụ thể: Mỗi nút là một vòng tròn có tên trạng thái Có bao nhiêu trạng thái thì có bấy nhiêu nút Mỗi cung là một mũi tên chỉ hướng chuyển có kèm kí hiệu gây ra sự chuyển Nút trạng thái đầu có mũi tên chỉ vào Nút trạng... không thể đến được đích F Sự tương đương giữa OHT và OHK Loại bỏ dịch chuyển –ε: Định lý II.1: Nếu một ngôn ngữ được thừa nhận bởi một ô tô mát hữuhạn thì nó cũng sẽ được thừa nhận bởi một ô tô mát hữuhạn không có dịch chuyển ε (CM:Lý thuyết ngôn ngữ và tính toán – Nguyễn Văn Ba) Loại bỏ dịch chuyển ε Cho OHK M= (∑, Q, δ, q0, F), dựng OH M’=(∑’, Q’, δ’, q0’, F’) không còn dc-ε E(s)={q∈Q|s=>*q