Bài giảng Tin học lý thuyết - Chương 3: Automata hữu hạn và biểu thức chính quy
Số trang: 34
Loại file: ppt
Dung lượng: 350.50 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng chương 3 trình bày về automata hữu hạn và biểu thức chính quy. Chương này gồm có những nội dung chính sau: 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. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học lý thuyết - Chương 3: Automata hữu hạn và biểu thức chính quyChương 3: 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 1 Định nghĩa ôtômát (automata)Định nghĩa: là máy trừu tượng có cơ cấu và hoạt động đơn giản nhưng có khả năng đoán nhận ngôn ngữ • Con người phải lập trình sẵn cho máy một ‘lộ trình’ để thực hiện INPUT Bộđiềukhiển OUTPUT BỘ NHỚ 2 Phân loại automataAutomata đơn định (Deterministic Automata): • Mỗi bước di chuyển chỉ được xác định duy nhất bởi cấu hình hiện tại (hàm chuyển của automata là đơn trị)Automata không đơn định (Non-deterministic Automata): • Tại mỗi bước di chuyển, nó có vài khả năng để lựa chọn (hàm chuyển của automata là đa trị) 3 Phân loại FA DFA Deterministic Finite Automata FA(Finite Automata) NFA Nondeterministic Finite Automata Biểu thức chính quy 4 Automata hữu hạn đơn định (DFA) Ví dụ: 0 1 1 0 0 1 0 1 c Input 1 Start q0 1 q1 0 0 Bộ điều khiển a b Trạng thái bắt đầu 0 0 1 q2 q3 Trạng thái kết thúc 1 d x Phép chuyển trên nhãn x 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 …)M=(Q, Σ, δ, q0, F) δ : hàm chuyển, ánh xạ: Q x Σ → Q q0 Q : trạng thái bắt đầu. F Q : tập các trạng thái5 kết thúc. Mở rộng hàm chuyển trạng thái 1. δ(q, ) = q 2. δ(q, wa) = δ( δ(q,w), a) với w, aNgôn ngữ được chấp nhận: L(M) = { x | δ( q0, x ) F} Ngôn ngữVí dụ: chuỗi nhập w=110101 chính quy • δ(q0, 1) = q1 • δ(q0, 11) = δ(q1, 1) = q0 • δ(q0, 110) = δ(q1, 10) = δ(q0, 0) = q2 • δ(q0, 1101) = δ(q1, 101) = δ(q0, 01) = δ(q2, 1) = q3 • δ(q0, 11010) = … = δ(q3, 0) = q1 • δ(q0, 110101) = … = δ(q1, 1) = q0 F 6 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 := q0 ; 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); 7Automata hữu hạn không đơn định (NFA)• Ví dụ: cho automata M (hình vẽ) và xét chuỗi nhập 01001 1 1 0 0 Start 0 0 q0 q3 q4 1 q1 q0 0 q0 1 q0 0 q0 0 q0 1 q0 1 0 1 0 0 1 q3 q1 q3 q3 q1 q2 0 0 1 1 q4 q4Nhậ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. 8• DFA là một trường hợp đặc biệt của NFA Định nghĩa NFA Q : tập hữu hạn các trạng thái. Σ : bộ chữ cái nhập.M ...
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học lý thuyết - Chương 3: Automata hữu hạn và biểu thức chính quyChương 3: 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 1 Định nghĩa ôtômát (automata)Định nghĩa: là máy trừu tượng có cơ cấu và hoạt động đơn giản nhưng có khả năng đoán nhận ngôn ngữ • Con người phải lập trình sẵn cho máy một ‘lộ trình’ để thực hiện INPUT Bộđiềukhiển OUTPUT BỘ NHỚ 2 Phân loại automataAutomata đơn định (Deterministic Automata): • Mỗi bước di chuyển chỉ được xác định duy nhất bởi cấu hình hiện tại (hàm chuyển của automata là đơn trị)Automata không đơn định (Non-deterministic Automata): • Tại mỗi bước di chuyển, nó có vài khả năng để lựa chọn (hàm chuyển của automata là đa trị) 3 Phân loại FA DFA Deterministic Finite Automata FA(Finite Automata) NFA Nondeterministic Finite Automata Biểu thức chính quy 4 Automata hữu hạn đơn định (DFA) Ví dụ: 0 1 1 0 0 1 0 1 c Input 1 Start q0 1 q1 0 0 Bộ điều khiển a b Trạng thái bắt đầu 0 0 1 q2 q3 Trạng thái kết thúc 1 d x Phép chuyển trên nhãn x 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 …)M=(Q, Σ, δ, q0, F) δ : hàm chuyển, ánh xạ: Q x Σ → Q q0 Q : trạng thái bắt đầu. F Q : tập các trạng thái5 kết thúc. Mở rộng hàm chuyển trạng thái 1. δ(q, ) = q 2. δ(q, wa) = δ( δ(q,w), a) với w, aNgôn ngữ được chấp nhận: L(M) = { x | δ( q0, x ) F} Ngôn ngữVí dụ: chuỗi nhập w=110101 chính quy • δ(q0, 1) = q1 • δ(q0, 11) = δ(q1, 1) = q0 • δ(q0, 110) = δ(q1, 10) = δ(q0, 0) = q2 • δ(q0, 1101) = δ(q1, 101) = δ(q0, 01) = δ(q2, 1) = q3 • δ(q0, 11010) = … = δ(q3, 0) = q1 • δ(q0, 110101) = … = δ(q1, 1) = q0 F 6 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 := q0 ; 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); 7Automata hữu hạn không đơn định (NFA)• Ví dụ: cho automata M (hình vẽ) và xét chuỗi nhập 01001 1 1 0 0 Start 0 0 q0 q3 q4 1 q1 q0 0 q0 1 q0 0 q0 0 q0 1 q0 1 0 1 0 0 1 q3 q1 q3 q3 q1 q2 0 0 1 1 q4 q4Nhậ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. 8• DFA là một trường hợp đặc biệt của NFA Định nghĩa NFA Q : tập hữu hạn các trạng thái. Σ : bộ chữ cái nhập.M ...
Tìm kiếm theo từ khóa liên quan:
Tin học lý thuyết Bài giảng Tin học lý thuyết Automata hữu hạn Biểu thức chính quy Tập chính quy Giải thuật xây dựng hàmTài liệu liên quan:
-
32 trang 34 0 0
-
Bài giảng Tin học lý thuyết - Chương 4: Văn phạm chính quy và các tính chất
9 trang 23 0 0 -
11 trang 22 0 0
-
7 trang 21 0 0
-
ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY
55 trang 21 0 0 -
Bài giảng Lập trình Java 1 - Bài 6: Chuỗi và biểu thức chính quy
20 trang 21 0 0 -
Tin học lý thuyết - Chương 1: Bổ túc toán
20 trang 20 0 0 -
Bài giảng Lý thuyết tính toán: Bài 4 - Phạm Xuân Cường
29 trang 20 0 0 -
16 trang 20 0 0
-
13 trang 19 0 0
-
Bài tập và lời giải Toán rời rạc: Phần 1
177 trang 18 0 0 -
25 trang 17 0 0
-
Giáo trình Tin học lý thuyết - ThS. Võ Huỳnh Trâm
115 trang 17 0 0 -
149 trang 16 0 0
-
Bài giảng Lý thuyết tính toán: Bài 12 - Phạm Xuân Cường
5 trang 16 0 0 -
Bài giảng Tin học lý thuyết - Chương 7: Máy Turing (Turing Machine)
12 trang 16 0 0 -
Tài liệu: Chương 5. Văn phạm phi ngữ cảnh
34 trang 15 0 0 -
Bài giảng Chương trình dịch - Bài 4: Xây dựng DFA
45 trang 15 0 0 -
Bài giảng Tin học: Chương 3 - Võ Huỳnh Trâm
8 trang 15 0 0 -
Bài giảng Toán giải tích - Chương 3: Automata hữu hạn và biểu thức chính quy
34 trang 14 0 0