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

Bổ túc toán 3

31 283 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 31
Dung lượng 274 KB

Nội dung

1 Automata hữu hạn & Biểu thức chính quy Nội dung: • Khái niệm DFA & NFA • Sự tương đương giữa DFA & NFA • Biểu thức chính quy • Các tính chất của tập chính quy Chương 3: 2 Phân loại FA FA (Finite Automata) DFA Deterministic Finite Automata NFA Nondeterministic Finite Automata Biểu thức chính quy 3 Start 1 1 0 0 0 0 1 1 a b c d q 1 q 0 q 3 q 2 Ví dụ: Input Bộ điều khiển 10100110 Q : tập hữu hạn các trạng thái (p, q…) Σ : bộ chữ cái nhập (a, b … ; w, x, y …) δ : hàm chuyển, ánh xạ: Q x Σ → Q q 0 ∈ Q : trạng thái bắt đầu. F ⊆ Q : tập các trạng thái kết thúc. M=(Q, Σ, δ, q 0 , F) Trạng thái bắt đầu Trạng thái kết thúc x Phép chuyển trên nhãn x Automata hữu hạn đơn định (DFA) 4 Mở rộng hàm chuyển trạng thái 1. δ(q, ε) = q 2. δ(q, wa) = δ( δ(q,w), a) với ∀ w, a Ngôn ngữ được chấp nhận: L(M) = { x | δ( q 0 , x ) ∈ F } Ngôn ngữ chính quy Ví dụ: chuỗi nhập w=110101 • δ(q 0 , 1) = q 1 • δ(q 0 , 11) = δ(q 1 , 1) = q 0 • δ(q 0 , 110) = δ(q 1 , 10) = δ(q 0 , 0) = q 2 • δ(q 0 , 1101) = δ(q 1 , 101) = δ(q 0 , 01) = δ(q 2 , 1) = q 3 • δ(q 0 , 11010) = … = δ(q 3 , 0) = q 1 • δ(q 0 , 110101) = … = δ(q 1 , 1) = q 0 ∈ F 5 Giải thuật hình thức • Mục đích: kiểm tra một chuỗi nhập x có thuộc ngôn ngữ L(M) được chấp nhận bởi automata M. • Input: chuỗi nhập x$ • Output: câu trả lời ‘YES’ hoặc ‘NO’ • Giải thuật: q := q 0 ; c := nextchar ; {c là ký hiệu nhập được đọc tiếp theo} While c <> $ do begin q := δ(q, c); c := nextchar ; end If (q in F) then write("YES") else write("NO"); 6 Automata hữu hạn không đơn định (NFA) Nhận xét: • Ứng với một trạng thái và một ký tự nhập, có thể có không, một hoặc nhiều phép chuyển trạng thái. • DFA là một trường hợp đặc biệt của NFA Start 0 1 1 0 1 0 q 0 q 3 q 4 1 0 q 1 q 2 0 1 • Ví dụ: cho automata M (hình vẽ) và xét chuỗi nhập 01001 0 0 10010 1 0 0 1 1 q 0 q 0 q 0 q 0 q 0 q 0 q 3 q 1 q 3 q 3 q 1 q 4 q 4 7 Định nghĩa NFA Chú ý: khái niệm δ(q, a) là tập hợp tất cả các trạng thái p sao cho có phép chuyển từ trạng thái q trên nhãn a. Hàm chuyển trạng thái mở rộng: • δ(q, ε) = {q} • δ(q, wa) = { p | có một trạng thái r trong δ(q, w) mà p∈δ(r, a) } = δ( δ(q,w), a) • δ(P, w) = ∪ q∈P δ(q, w) với ∀P ⊆ Q Q : tập hữu hạn các trạng thái. Σ : bộ chữ cái nhập. δ : hàm chuyển ánh xạ Q x Σ → 2 Q q 0 ∈ Q : trạng thái bắt đầu. F ⊆ Q : tập các trạng thái kết thúc. M=(Q, Σ, δ, q 0 , F) 8 Ví dụ: xét chuỗi nhập w=01001 và NFA đã cho ở trên • M( {q 0 , q 1 , q 2 , q 3 , q 4 }, {0, 1}, δ, q 0 , {q 2 , q 4 } ) {q 4 }{q 4 }q 4 Ø{q 4 }q 3 {q 2 }{q 2 }q 2 {q 2 }Øq 1 {q 0 ,q 1 } {q 0 ,q 3 } q 0 10Trạng thái Inputδ • δ(q 0 , 0) = {q 0 ,q 3 } • δ(q 0 , 01) = δ( δ(q 0 , 0), 1) = δ({q 0 , q 3 },1) = δ(q 0 , 1) ∪ δ(q 3 , 1) = {q 0 , q 1 } • δ(q 0 , 010) = {q 0 , q 3 } • δ(q 0 , 0100) = {q 0 , q 3 , q 4 } • δ(q 0 , 01001) = {q 0 , q 1 , q 4 } Do q 4 ∈ F nên w=01001 ∈ L(M) Ví dụ về NFA 9 Sự tương đương giữa DFA & NFA Định lý 1: Nếu L là tập được chấp nhận bởi một NFA thì tồn tại một DFA chấp nhận L. Giả sử NFA M={Q, Σ, δ, q 0 , F} chấp nhận L Ta xây dựng DFA M’={Q’, Σ, δ’, q 0 ’, F’} chấp nhận L • Q’ = 2 Q . Một phần tử trong Q’ được ký hiệu là [q 0 , q 1 , …, q i ] với q 0 , q 1 , …, q i ∈ Q • q 0 ’ = [q 0 ] • F’ là tập hợp các trạng thái của Q’ có chứa ít nhất một trạng thái kết thúc trong tập F của M • Hàm chuyển δ’([q 1 , q 2 , ., q i ], a) = [p 1 , p 2 , ., p j ] nếu và chỉ nếu δ({q 1 , q 2 , ., q i }, a) = {p 1 , p 2 , ., p j } 10 Ví dụ về sự tương đương giữa DFA & NFA Ví dụ: NFA M ({q 0 , q 1 }, {0, 1}, δ, q 0 , {q 1 }) với hàm chuyển δ(q 0 ,0) = {q 0 , q 1 }, δ(q 0 ,1) = {q 1 }, δ(q 1 ,0) = ∅, δ(q 1 ,1) = {q 0 , q 1 } Ta sẽ xây dựng DFA tương đương M’ (Q’, {0, 1}, δ’, [q 0 ], F’) • Q’ = {∅, [q 0 ], [q 1 ], [q 0 , q 1 ]} • F’ = {[q 1 ], [q 0 , q 1 ]} • Hàm chuyển δ’  δ’(∅, 0) = δ’(∅, 1) = ∅  δ’([q 0 ], 0) = [q 0 , q 1 ]  δ’([q 0 ], 1) = [q 1 ]  δ’([q 1 ], 0) = ∅  δ’([q 1 ], 1) = [q 0 , q 1 ]  δ’([q 0 , q 1 ], 0) = [q 0 , q 1 ]  δ’([q 0 , q 1 ], 1) = [q 0 , q 1 ] [...]... dụ: viết BTCQ cho DFA 1 Start q1 0 q2 0 1 q3 0, 1 Ta cần viết biểu thức: r = r312 + r3 13 Ta có: • r312 = r2 13( r 233 )*r 232 + r212 • r3 13 = r2 13( r 233 )*r 233 + r2 13 29 Sự tương đương giữa DFA và BTCQ k=0 k=1 k=2 rk11 ε ε (00)* rk12 0 0 0(00)* rk 13 1 1 0*1 rk21 0 0 0(00)* rk22 ε ε + 00 (00)* rk 23 1 1 + 01 0*1 rk31 ∅ ∅ (0 + 1)(00)*0 rk32 0+1 0+1 (0 + 1)(00)* rk 33 ε ε ε + (0 + 1)0*1 Thay vào và rút gọn, ta... r = 01* + 1 • r có dạng: r = r1 + r2 với r1 = 01* và r2 = 1 • r1 có dạng r1 = r3r4 với r3 = 0 và r4 = 1* ε • r4 có dạng r4 = r5* với r5 = 1 Start 1 q1 Start q2 r2 Start Start q3 q5 0 r3 q4 q1 ε r = r1 + r2 = 01* + 1 q9 ε q4 q7 ε ε 1 q5 q 3 0 q4 ε q7 ε 1 ε ε q5 1 q6 ε ε q8 26 q8 ε ε q2 ε q6 ε r1 = r3r4 = 01* q6 r5 Start 0 q3 1 q5 r4 = r5* = 1* Start 1 ε q7 ε q10 q6 ε q8 Sự tương đương giữa DFA và BTCQ... ● ε-CLOSURE(δ(A, a)) = ε-CLOSURE( {3, 8}) = {1, 2, 3, 4, 6, 7, 8} → B ● ε-CLOSURE(δ(A, b)) = ε-CLOSURE({5}) = {1, 2, 4, 5, 6, 7} →C ● ε-CLOSURE(δ(B, a)) = ε-CLOSURE( {3, 8}) → B ● ε-CLOSURE(δ(B, b)) = ε-CLOSURE({5, 9}) = {1, 2, 4, 5, 6, 7, 9} → D ● ε-CLOSURE(δ(C, a)) = ε-CLOSURE( {3, 8}) → B ● ε-CLOSURE(δ(C, b)) = ε-CLOSURE({5}) = → C ● ε-CLOSURE(δ(D, a)) = ε-CLOSURE( {3, 8}) → B ● ε-CLOSURE(δ(D, b)) =... + rk + … r* = ε + r+ (ε + r)+ = (ε + r)* = r* r*r = r r* = r+ 23 Sự tương đương giữa NFAε và BTCQ Định lý 3: nếu r là BTCQ thì tồn tại một NFA với ε-dịch chuyển chấp nhận L(r) Chứng minh: quy nạp theo số phép toán • Xét r không có phép toán nào Start q0 r= ε Start q0 qf Start q0 r=∅ Các NFAε cho các kết hợp đơn a qf r=a • Xét r có i phép toán: r = r1 + r2, r = r1r2 hoặc r = r1*  Xây dựng NFAε M1 =... DFA và BTCQ • Ta sẽ chứng minh (quy nạp theo k) bổ đề sau: với mọi Rkij đều tồn tại một biểu thức chính quy ký hiệu cho Rkij  k = 0: R0ij là tập hữu hạn các chuỗi 1 ký hiệu hoặc ε  Giả sử ta có bổ đề trên đúng với k-1, tức là tồn tại BTCQ rk-1lm sao cho L(rk-1lm) = Rk-1lm  Vậy đối với Rkij ta có thể chọn BTCQ rkij = (rk-1ik)(rk-1kk)*(rk-1kj) + rk-1ij → bổ đề đã được chứng minh ● Ta có nhận xét: L(M)... rk31 ∅ ∅ (0 + 1)(00)*0 rk32 0+1 0+1 (0 + 1)(00)* rk 33 ε ε ε + (0 + 1)0*1 Thay vào và rút gọn, ta có: r = 0*1((0 + 1)0*1)* (ε + (0 + 1)(00)*) + 0(00)* 30 Mối liên hệ giữa FA và BTCQ Sơ đồ liên hệ: DFA Định lý 1 Định lý 4 RE NFA Định lý 2 Định lý 3 NFAε 31 ... 1, 2 thái q0 q2 q1 ∅ q2 ∅ 2 {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q2} ∅ 16 {q2} Xây dựng DFA từ NFA(ε) Ví dụ: xây dựng DFA tương đương với NFAε sau: M = (Q={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, Σ={a, b}, δ, 0, F={10}) ε a Start 0 ε ε 1 2 ε 4 3 b ε ε 6 ε 7 a 8 b 9 b 10 5 ε Ta xây dựng DFA M’= (Q’, Σ, δ’, q0’, F’) tương đương M • Trạng thái bắt đầu: q0’ ↔ ε-CLOSURE(q0) • F’ = { p | trong ký hiệu của p có... 8}) → B ● ε-CLOSURE(δ(C, b)) = ε-CLOSURE({5}) = → C ● ε-CLOSURE(δ(D, a)) = ε-CLOSURE( {3, 8}) → B ● ε-CLOSURE(δ(D, b)) = ε-CLOSURE({5,10}) = {1, 2, 4, 5, 6, 7, 10} → E ● ε-CLOSURE(δ(E, a)) = ε-CLOSURE( {3, 8}) → B 19 ● ε-CLOSURE(δ(E, b)) = ε-CLOSURE({5}) = → C Xây dựng DFA từ NFA(ε) • Bảng hàm chuyển Trạng thái Ký hiệu nhập a b A B C B B D b C B C D B E E B C b Start A a a B b b D C a a b E a • Ký hiệu... • δ*(q0, 01) = ε-CLOSURE(δ(δ*(q0, 0), 1)) = ε-CLOSURE(δ({q0, q1, q2}, 1)) = ε-CLOSURE({q1}) = {q1,q2} • δ*(q0, 012) = ε-CLOSURE(δ(δ*(q0, 01), 2)) = ε-CLOSURE(δ({q1, q2}, 2)) = ε-CLOSURE({q2}) = {q2} 13 • Do q2 ∈ F nên w ∈ L(M) Giải thuật hình thức cho NFAε Mục đích: mô phỏng hoạt động của NFAε Input: chuỗi nhập x$ Output: câu trả lời ‘YES’ (x được chấp nhận) hoặc ‘NO’ Giải thuật: q := ε-CLOSURE (q0) . q 0 q 3 q 4 1 0 q 1 q 2 0 1 • Ví dụ: cho automata M (hình vẽ) và xét chuỗi nhập 01001 0 0 10010 1 0 0 1 1 q 0 q 0 q 0 q 0 q 0 q 0 q 3 q 1 q 3 q 3 q 1 q. 0) = {q 0 ,q 3 } • δ(q 0 , 01) = δ( δ(q 0 , 0), 1) = δ({q 0 , q 3 },1) = δ(q 0 , 1) ∪ δ(q 3 , 1) = {q 0 , q 1 } • δ(q 0 , 010) = {q 0 , q 3 } • δ(q 0 ,

Ngày đăng: 06/07/2013, 01:25

Xem thêm

HÌNH ẢNH LIÊN QUAN

Sơ đồ liên hệ: - Bổ túc toán 3
Sơ đồ li ên hệ: (Trang 31)

TỪ KHÓA LIÊN QUAN

w