Tài liệu ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY docx

55 1.6K 23
Tài liệu ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY docx

Đ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

ĐAI H C VINHỌ KHOA CNTT Biên so n: ạ HOÀNG DANH LONG K50-CNTT Ch ng IIươ ÔTÔMÁT H U H N BI U TH C Ữ Ạ Ể Ứ CHÍNH QUY I. ÔTÔMÁT HỮU HẠN (FA : Finite Automata)  Tại mỗi thời điểm, hệ thống có thể được xác định ở một trong số hữu hạn trạng thái (states).  Mỗi trạng thái của hệ thống tại mỗi thời điểm sẽ thay đổi tùy thuộc vào INPUT  Ôtômát hữu hạn (FA) được chia thành 2 loại: đơn định (DFA) không đơn định (NFA).  DFA có khả năng nhận dạng ngôn ngữ dễ dàng hơn NFA, nhưng thay vào đó thông thường kích thước của nó lại lớn hơn so với ôtômát hữu hạn không đơn định tương đương. Ôtômát h u h n đ n đ nh - DFA ữ ạ ơ ị (Deterministic Finite Automata) Một cách hình thức ta định nghĩa ôtômát hữu hạn đơn định là bộ gồm năm thành phần (Q, Σ, δ, q 0 , F), trong đó : • Q là tập hợp hữu hạn các trạng thái. ∀ Σ là bộ chữ cái hữu hạn. ∀ δ là hàm chuyển ánh xạ từ Q × Σ → Q, tức là δ(q, a) là một trạng thái được cho bởi phép chuyển từ trạng thái q trên ký hiệu nhập a. • q 0 ∈ Q là trạng thái bắt đầu • F ⊆ Q là tập các trạng thái kết thúc S đ chuy nơ ồ ể Một đồ thị có hướng, gọi là sơ đồ chuyển (transition diagram) tương ứng với một DFA như sau:  Các đỉnh của đồ thị là các trạng thái của DFA;  Nếu có một đường chuyển từ trạng thái q đến trạng thái p trên input a thì có một cung nhãn a từ đỉnh q đến đỉnh p trong sơ đồ chuyển.  Trạng thái khởi đầu q 0 nhãn "Start".Các trạng thái kết thúc trong F được chỉ ra bằng hai vòng tròn. Minh họa  DFA đang ở trạng thái q đọc ký hiệu nhập a trên băng, chuyển sang trạng thái được xác định bởi hàm chuyển δ(q, a), rồi dịch đầu đọc sang phải một ký tự.  Nếu δ(q, a) chuyển đến một trong những trạng thái kết thúc thì DFA chấp nhận chuỗi được viết trên băng input phía trước đầu đọc, nhưng không bao gồm ký tự tại vị trí đầu đọc vừa dịch chuyển đến.  Trong trường hợp đầu đọc đã dịch đến cuối chuỗi trên băng DFA chuyển đến trạng thái kết thúc, thì DFA mới chấp nhận toàn bộ chuỗi trên băng. Ngôn ng đ c ch pữ ượ ấ nh n b i DFAậ ở  Một chuỗi x được chấp nhận bởi ôtômát hữu hạn M (Q, Σ, δ, q 0 , F) nếu δ(q 0 , x) = p với p ∈ F.  Ngôn ngữ được chấp nhận bởi M, ký hiệu L(M) là tập hợp: L(M) = { x | δ (q 0 , x) ∈ F }  VD. Một DFA được xác định bởi M(Q, Σ, δ, q 0 , F) với Q = {q 0 , q 1 , q 2 , q 3 }, Σ = {0, 1}, F = {q 0 } hàm chuyển δ như sau: Ví d (ti p)ụ ế Kiểm tra chuổi w = 110101 có thuộc ngôn ngữ do otomat sinh ra hay không? δ(q0, 1) = q1, δ(q1, 1) = q0, δ(q0, 0) = q2, δ(q2, 1) = q3; δ(q3, 0) = q1, δ(q1, 1) = q0 ∈ F (Hay δ(q0, 110101) = δ(q1, 10101) = δ(q0, 0101) = δ(q2, 101) = δ(q3, 01) = δ(q1, 1) = q0 ∈ F) Vậy 110101 thuộc L(M). Ta có thể chứng minh rằng L(M) là tập mọi chuỗi có số chẵn số 0 số chẵn số 1. Kiểm tra chuỗi 110101 Vẽ sơ đồ chuyển Kiểm tra chuỗi 1101? Hàm chuy n tr ng thái m ể ạ ở r ngộ Ta định nghĩa hàm chuyển δ như một ánh xạ từ Q × Σ* → Q với ý nghĩa δ(q, w) là trạng thái DFA chuyển đến từ trạng thái q trên chuỗi w. Một cách hình thức, ta định nghĩa : 1. δ(q, ε) = q 2. δ(q, wa) = δ(δ (q, w), a), với mọi chuỗi w ký hiệu nhập a. Gi i thu t mô ph ng ho t đ ng c a m t DFA ả ậ ỏ ạ ộ ủ ộ Bài tập lớn 1 Nhận xét  Một cách tổng quát, ta thấy tập Q của DFA thể hiện các trạng thái lưu trữ của ôtômát trong quá trình đoán nhận ngôn ngữ, như vậy khả năng lưu trữ của ôtômáthữu hạn. Mặt khác, hàm chuyển δ là hàm toàn phần đơn trị, cho nên các bước chuyển của ôtômát luôn luôn được xác định một cách duy nhất. Chính vì hai đặc điểm này mà DFA mô tả như trên được gọi là ôtômát hữu hạn đơn định. [...]...Ôtômát hữu hạn không đơn định - NFA (Nondeterministic Finite Automata) NFA tại mỗi thời điểm bộ điều khiển có thể chứa một số bất kỳ các trạng thái để chuyển: 0,1 hoặc nhiều hơn 1 trạng thái Nhưng số trạng thái là hữu hạn  Vậy DFA (hay gọi tắt là FA) là một trường hợp đặc biệt của NFA (với số trạng thái để chuyển là 1) Định nghĩa       ôtômát hữu hạn không đơn định NFA... DFA dùng trạng thái của mình để lưu giữ tất cả các trạng thái của NFA đạt được sau khi NFA đọc một ký tự nhập Gi ải thu ật xây d ựng DFA t ừ NFA ε(ti ếp)    Input: Một ôtômát hữu hạn không đơn định NFA Output: Một ôtômát hữu hạn đơn định DFA nhận dạng cùng ngôn ngữ như NFA Phương pháp: Xây dựng bảng hàm chuyển cho DFA mô phỏng đồng thời tất cả các chuyển dịch của NFA trên chuỗi nhập cho trước ... M’ được xác định theo công thức: δ’(q, a) = δ*(q, a) = ε-CLOSURE(δ (δ*(q,ε), a) Kết quả được chỉ ra trong bảng hàm chuyển sau : q1 Gi ải thu ật xây d ựng DFA t ừ NFA     Qua khảo sát các dạng mở rộng từ mô hình ôtômát hữu hạn ban đầu, ta thấy DFA thực chất là một trường hợp đặc biệt của NFA, nhưng : - Nó không có sự truyền rỗng (truyền trên nhãn ε) - Với mỗi trạng thái q ký hiệu nhập a, chỉ có... F) trong đó Q, Σ, q0 F có ý nghĩa như trong DFA, nhưng δ là hàm chuyển ánh xạ từ Q × Σ → 2Q 2Q = tập hợp tất cả các tập hợp con của tập A được gọi là tập lũy thừa (power set) của A xác định bởi 2Q Giả sử A = { 1, 2, 3 } Thì 2A = ? 2A = { ∅, {1 }, {2 }, {3}, {1, 2}, {2, 3}, {3, 1}, {1, 2, 3} } Hàm chuy ển tr ạng thái m ở r ộng c ủa NFA Để thuận tiện trong việc mô tả hoạt động ôtômát trên chuỗi,...                                                                                                                                           S ự t ương đ ương gi ữa NFA có không có ε-d ịch chuy ển  Đặt M (Q, Σ, δ, q0, F) là NFA với ε-dịch chuyển  Ta xây dựng NFA M’(Q, Σ, δ’, q0, F’) tương đương không có ε-dịch chuyển như sau:  δ’(q, a) là δ*(q, a) với q ∈ Q a ∈ Σ Chú ý rằng M’ không có ε-dịch chuyển nên ta có thể dùng δ’ thay cho δ*, nhưng phải phân biệt δ δ* Ví dụ          Chuyển NFA với ε-dịch... q2  0 ∅ ∅ q2 ∅ Xét chuỗi nhập w = 012 có thuộc vào ngôn ngữ L(M) hay không?  Ta cần tính δ*(q0, 012)  δ*(q0, ε0) = ε-CLOSURE(δ(δ*(q0, ε), 0) (1) Mà δ*(q0, ε) = ε-CLOSURE(q0) = {q0, q1, q2}        suy ra (1) = ε-CLOSURE(δ ({q0, q1, q2}, 0)) = ε-CLOSURE(δ (q0, 0) ∪ δ (q1, 0) ∪ δ(q2, 0)) = ε-CLOSURE({q0} ∪ ∅ ∪ ∅ ) = ε-CLOSURE({q0}) = {q0, q1, q2} δ*(q0, 01) = ε-CLOSURE(δ(δ*(q0, 0), 1)) = ε-CLOSURE(δ... Đọc 1 δ({q0,q3,q4}, 1) = δ(q0, 1) ∪ δ (q3, 1) ∪ δ (q4, 1) = {q0,q1,q4}; Do q4 ∈ F nên w ∈ L (M) 1) Kiểm tra chuỗi 0101 2) Nêu sự khác biệt cơ bản giữa DFA NFA 3) Để đoán nhận chuỗi thì dùng ôtomát nào thì dễ dàng hơn Vì sao? Sự tương đương giữa DFA NFA Định lý: 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 Ví dụ: Cho NFA M ({q0, q1}, {0, 1}, δ, q0, {q1}) với hàm chuyển... q1] [q0, q1] ∅ ∅ ∅ NFA v ới ε-d ịch chuy ển (NFA ε)   Ta mở rộng mô hình NFA cho phép các phép chuyển trên nhãn rỗng ε Ví dụ: Sơ đồ chuyển của một NFA với ε-dịch chuyển : Đ ịnh nghĩa  Một cách hình thức ta định nghĩa NFA với ε-dịch chuyển là bộ 5 thành phần (Q, Σ, δ, q0, F) với tất cả các thành phần có ý nghĩa như trên, nhưng hàm chuyển δ là ánh xạ từ Q × (Σ ∪ {ε}) → 2Q  Khái niệm δ(q, a) gồm tất... các trạng thái q thuộc tập T trên sự truyền rỗng c) δ(T, a) : là tập trạng thái của NFA đạt được từ tất cả các trạng thái q thuộc tập T trên sự truyền bằng ký hiệu a     Ta xây dựng các trạng thái bảng hàm chuyển cho DFA theo cách như sau : Mỗi trạng thái của DFA tượng trưng bởi một tập trạng thái của NFA mà NFA có thể chuyển đến sau khi đọc một chuỗi ký hiệu nhập gồm: tất cả sự truyền rỗng có . của ôtômát luôn luôn được xác định một cách duy nhất. Chính vì hai đặc điểm này mà DFA mô tả như trên được gọi là ôtômát hữu hạn đơn định. Ôtômát hữu hạn. Biên so n: ạ HOÀNG DANH LONG K50-CNTT Ch ng IIươ ÔTÔMÁT H U H N VÀ BI U TH C Ữ Ạ Ể Ứ CHÍNH QUY I. ÔTÔMÁT HỮU HẠN (FA : Finite Automata)  Tại mỗi thời điểm,

Ngày đăng: 15/12/2013, 04:15

Hình ảnh liên quan

 Ta mở rộng mô hình NFA cho phép các phép chuyển trên nhãn rỗng  ε.  - Tài liệu ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY docx

a.

mở rộng mô hình NFA cho phép các phép chuyển trên nhãn rỗng ε. Xem tại trang 20 của tài liệu.
 Từ bảng hàm chuyển như trên, ta xây dựng DFA tương đương nhận dạng cùng ngôn ngữ có dạng như sau : - Tài liệu ÔTÔMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY docx

b.

ảng hàm chuyển như trên, ta xây dựng DFA tương đương nhận dạng cùng ngôn ngữ có dạng như sau : Xem tại trang 38 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan