Bài giảng Lý thuyết tính toán: Bài 3 - Phạm Xuân Cường
lượt xem 2
download
Bài giảng Lý thuyết tính toán: Bài 3 - Phạm Xuân Cường cung cấp cho học viên các kiến thức về ôtômat hữu hạn không đơn định; khái niệm; sự tương đương giữa NFA và DFA; định nghĩa hình thức; toán tử chính quy với NFA;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lý thuyết tính toán: Bài 3 - Phạm Xuân Cường
- LÝ THUYẾT TÍNH TOÁN BÀI 3: ÔTÔMAT HỮU HẠN KHÔNG ĐƠN ĐỊNH Phạm Xuân Cường Khoa Công nghệ thông tin cuongpx@tlu.edu.vn
- Nội dung bài giảng 1. Khái niệm 2. Sự tương đương giữa NFA và DFA 3. Định nghĩa hình thức 4. Toán tử chính quy với NFA 1
- Khái niệm
- Không đơn định Không đơn định: Ở mỗi thời điểm có thể tồn tại vài lựa chọn cho trạng thái tiếp theo 0,1 0,1 1 0, ε 1 start q1 q2 q3 q4 Không đơn định là sự tổng quát hóa của đơn định → Mọi Ôtômat hữu hạn đơn định đều là Ôtômat hữu hạn không đơn định Thuật ngữ: • FSM (Finite State Machine) = DFA (Deterministic Finite State Automaton) → Ôtômat hữu hạn đơn định • NFA (Nondeterministic Finite State Automaton) → Ôtômat hữu hạn không đơn định 2
- NFA hoạt động như thế nào? 3 a 5 a b 2 8 b ε b 4 6 ε a 9 4 7 Cạnh epsilon: Có thể đi đến Chọn đường đi như thế nào? trạng thái sau mà không cần phải đọc thông tin gì cả 3
- Ví dụ Cho NFA đoán nhận tất cả các chuỗi mà chứa chuỗi con 011110 sau: 0, 1 0, 1 0 1 1 1 1 0 start a b c d e f g Đoán nhận chuỗi: 0100011110101 → Chấp thuận/Bác bỏ? 4
- NFA hoạt động như thế nào? NFA chấp nhận 1 xâu khi tồn tại một đường đi nào đó đạt được trạng thái chấp thuận ... Chấp thuận Chấp thuận DFA NFA 5
- Ví dụ NFA Cho NFA sau: 0,1 0,1 1 0, ε 1 start a b c d Hãy đoán nhận chuỗi: 010110 6
- Sự tương đương giữa NFA và DFA
- Sự tương đương giữa NFA và DFA Định lý 1 Mọi NFA đều có thể biến đổi thành DFA tương đương Ví dụ: Đoán nhận tất cả các chuỗi trên bộ {0,1}* mà có chữ số 0 ở vị trí thứ 2 tính từ cuối lên 1 1 0,1 0 0 start a b c 1 0 0,1 start a b c 0 1 0 c NFA DFA 7
- Ví dụ Thiết kế NFA đoán nhận tất cả các chuỗi mà nó chứa các chuỗi con 0100 hoặc 0111 0,1 0 1 0 0 0,1 ε start 0,1 ε 0 1 1 1 8
- Định nghĩa hình thức
- Định nghĩa hình thức • Ôtômat hữu hạn không đơn định ≡ bộ 5 (hay 5 chiều) M = (Q, Σε , δ, q0 , F) Trong đó: - Q: Tập trạng thái (hữu hạn) - Σε : Bộ chữ, tập hữu hạn các ký tự - δ: Hàm dịch chuyển δ: Q x Σε → Q - q0 : Trạng thái bắt đầu (q0 ∈ Q) - F: Là tập các trạng thái kết thúc (F ⊆ Q) 9
- Ví dụ NFA 1 start a b 0,1 0 0 0 0,1 1 c d 1,ε • δ: • Q: {a,b,c,d} Σε • Σε : {0,1,ε} 0 1 ε Trạng thái • q0 : a a c b Ø b {a,d} {a,d} Ø • F: {d} c a d Ø d b c c 10
- Sự tương đương giữa NFA và DFA Định lý 2 Mọi NFA đều có một DFA tương đương Hai máy là tương đương nếu chúng đoán nhận cùng 1 ngôn ngữ Chứng minh (Bằng việc xây dựng) Ý tưởng: - Cho NFA M = (Q,Σ,δ,q0 ,F) - Xây dựng DFA M’ = (Q’,Σ’,δ’,q’0 ,F’) để đoán nhận cùng ngôn ngữ với NFA trên 11
- Chứng minh sự tương đương giữa NFA và DFA • Q’ = P(Q) = 2Q Q = {A,B,C} ⇒ Q’ = {Ø,A,B,C,AB,AC,BC,ABC} • q’0 = {q0 } • F’ = {R ∈ Q’ | R chứa tất cả các trạng thái chấp thuận } Q = {A,B,C } ⇒ Q’ = {Ø,A,B,C ,AB,AC ,BC ,ABC } • δ’(R,a) = {q | q ∈ Q và q ∈ δ(r,a) r ∈ R } = S δ(r,a) r ∈R 1 1 1 a b c 1 bc abc 1 DFA: δ(bc,1) = {abc} NFA: δ(b,1) = {b,c} δ(c,1) = {a,c} 12
- Chứng minh sự tương đương giữa NFA và DFA Xét cạnh ε, ta định nghĩa 1 bao đóng ε: E(R) = {q | q có thể đến được từ R bằng việc di chuyển theo 0 hoặc nhiều mũi tên ε} Ví dụ: a d 1 ε ε ε b g h ε ε 0 c e E(bce) = {b,c,d,e,g,h} 13
- Chứng minh sự tương đương giữa NFA và DFA • Chỉnh sửa lại hàm chuyển đổi δ’(R,a) = {q | q ∈ Q và q ∈ E(δ(r,a)) r ∈ R } • Chỉnh sửa lại trạng thái bắt đầu của DFA q’0 = E({q0 }) → Kết thúc chứng minh 14
- Ví dụ: Chuyển NFA thành DFA start 1 ε b a a, b 2 3 a M’ = (Q’,Σ’,δ’,q’0 ,F’) • Q = {1,2,3} ⇒ Q’ = {Ø,1,2,3,12,13,23,123} • Σ’ = {a,b} • q’0 = E({q0 }) = E(1) = {13} • F’ = {1,12,13,123} 15
- Ví dụ: Chuyển NFA thành DFA • δ’: Σ’ a b Ø Ø Ø 1 Ø 2 Trạng thái 2 23 3 3 13 Ø 12 23 23 13 13 2 23 123 3 123 123 23 16
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lý thuyết đồ thị: Chương 5 - Cây và cây khung của đồ thị
37 p | 188 | 12
-
Bài giảng Lý thuyết xác suất và thống kê toán - Chương 1: Khái niệm cơ bản của lý thuyết xác suất
69 p | 33 | 5
-
Bài giảng Lý thuyết xác suất thống kê toán - Chương 1: Biến cố - Các công thức tính xác suất
58 p | 83 | 3
-
Bài giảng Lý thuyết tính toán: Bài 11 - Phạm Xuân Cường
21 p | 25 | 3
-
Bài giảng Lý thuyết tính toán: Bài 10 - Phạm Xuân Cường
20 p | 21 | 2
-
Bài giảng Lý thuyết tính toán: Bài 9 - Phạm Xuân Cường
38 p | 21 | 2
-
Bài giảng Lý thuyết tính toán: Bài 13 - Phạm Xuân Cường
21 p | 26 | 2
-
Bài giảng Lý thuyết tính toán: Bài 8 - Phạm Xuân Cường
24 p | 24 | 2
-
Bài giảng Lý thuyết tính toán: Bài 6 - Phạm Xuân Cường
30 p | 23 | 2
-
Bài giảng Lý thuyết tính toán: Bài 5 - Phạm Xuân Cường
18 p | 33 | 2
-
Bài giảng Lý thuyết tính toán: Bài 14 - Phạm Xuân Cường
35 p | 22 | 2
-
Bài giảng Lý thuyết tính toán: Bài 2 - Phạm Xuân Cường
26 p | 28 | 2
-
Bài giảng Lý thuyết tính toán: Bài 1 - Phạm Xuân Cường
32 p | 26 | 2
-
Bài giảng Lý thuyết tính toán: Bài 12 - Phạm Xuân Cường
5 p | 19 | 2
-
Bài giảng Lý thuyết tính toán: Bài mở đầu - Phạm Xuân Cường
7 p | 52 | 1
-
Bài giảng Lý thuyết tính toán: Bài 4 - Phạm Xuân Cường
29 p | 28 | 1
-
Bài giảng Lý thuyết tính toán: Bài 7 - Phạm Xuân Cường
27 p | 45 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn