Bài giảng Lý thuyết tính toán: Bài 02 - Nguyễn Ngọc Tú
Số trang: 43
Loại file: pdf
Dung lượng: 1.24 MB
Lượt xem: 15
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Automat hữu hạn (p01) là nội dung bài 2 thuộc Bài giảng Lý thuyết tính toán. Bài giảng hướng đến trình bày các vấn đề cơ bản về Accepter hữu hạn đơn định; Accepter hữu hạn không đơn định; sự tương đương giữa Accepter hữu hạn đơn định và Accepter hữu hạn không đơn định;...
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết tính toán: Bài 02 - Nguyễn Ngọc Tú LÝ THUYẾT TÍNH TOÁN INTRODUCTION TO COMPUTATION THEORY (FORMAL LANGUAGES & AUTOMATA) Bài 02. Automat hữu hạn (p01) Sử dụng slides của các tác giả: Hồ Văn Quân + Nick Hopper GV: Nguyễn Ngọc TúTIN331 Tu.NguyenNgoc@hoasen.edu.vnNội dung Accepter hữu hạn đơn định Accepter hữu hạn không đơn định Sự tương đương giữa Accepter hữu hạn đơn định và Accepter hữu hạn không đơn định Rút gọn số trạng tháiAccepter hữu hạn đơn định – DFAĐịnh nghĩa 2.1 Một accepter hữu hạn đơn định (deterministic finite state accepter) hay dfa được định nghĩa bởi bộ năm M = (Q, Σ, δ, q0, F), Q là một tập hữu hạn các trạng thái nội (internal states), Σ là một tập hữu hạn các ký hiệu được gọi là bảng chữ cái ngõ nhập (input alphabet), δ: Q × Σ → Q là HÀM chuyển trạng thái (transition function).Accepter hữu hạn đơn định – DFA Để chuyển trạng thái ôtômát dựa vào trạng thái hiện hành q ∈ Q nó đang ở vào và kí hiệu nhập a ∈ Σ nó đang đọc được, nó sẽ chuyển sang trạng thái kế được định nghĩa sẵn trong δ. q0 ∈ Q là trạng thái khởi đầu (initial state), F ⊆ Q là một tập các trạng thái kết thúc (final states) (hay còn được gọi là trạng thái chấp nhận). Chú ý: Ôtômát hữu hạn không có bộ nhớ so với mô hình tổng quát.Ví dụ. có hàm chuyển của một ôtômát như sau: δ(1,a)=2, δ(2,b)=2, δ(2,c)=2 b a c 1 2Hoạt động của DFA Hoạt động của một dfa Tại thời điểm khởi đầu, nó được giả thiết ở trong trạng thái khởi đầu q0, với cơ cấu nhập (đầu đọc) của nó đang ở trên kí hiệu đầu tiên bên trái của chuỗi nhập. Trong suốt mỗi lần di chuyển, cơ cấu nhập tiến về phía phải một kí hiệu, như vậy mỗi lần di chuyển sẽ lấy một kí hiệu ngõ nhập. Khi gặp kí hiệu kết thúc chuỗi, chuỗi là được chấp nhận (accept) nếu ôtômát đang ở vào một trong các trạng thái kết thúc của nó. Ngược lại thì có nghĩa là chuỗi bị từ chối.Đồ thị chuyển trạng thái Để biểu diễn một cách trực quan cho dfa người ta sử dụng đồ thị chuyển trạng thái. Cách biểu diễn như sau: Đỉnh biểu diễn các trạng thái. Cạnh biểu diễn các chuyển trạng thái. Nhãn trên các đỉnh là tên các trạng thái. Nhãn trên các cạnh là giá trị hiện tại của kí hiệu nhập. Trạng thái khởi đầu sẽ được nhận biết bằng một mũi tên đi vào không mang nhãn mà không xuất phát từ bất kỳ đỉnh nào Các trạng thái kết thúc được vẽ bằng một vòng tròn đôi.Ví dụ 01. Cho dfa sau M = (Q, Σ, δ, q0, F) Q = {q0, q1, q2}, Σ = {0, 1}, F = {q1}, còn δ được cho bởi δ(q0, 0) = q0, δ(q0, 1) = q1, δ(q1, 0) = q0, δ(q1, 1) = q2, δ(q2, 0) = q2, δ(q2, 1) = q1, 0 0 1 1 q0 q1 q2 0 1Hàm chuyển trạng thái mở rộng Hàm chuyển trạng thái mở rộng δ* được định nghĩa một cách đệ qui như sau δ*(q, λ) = q, δ*(q, wa) = δ(δ*(q, w), a), ∀ q ∈ Q, w ∈ Σ*, a ∈ Σ. Ví dụ Nếu δ(q0, a) = q1, và δ(q1, b) = q2, Thì δ*(q0, ab) = q2δ không có định nghĩa cho chuyển trạng thái rỗng, tức là khôngđịnh nghĩa cho δ(q, λ).Ngôn ngữ và DFA Định nghĩa 2.2 Ngôn ngữ được chấp nhận bởi dfa M = (Q, Σ, δ, q0, F) là tập tất cả các chuỗi trên Σ được chấp nhận bởi M. L(M) = {w ∈ Σ*: δ*(q0, w) ∈ F}. Nhận xét: L’(M)= {w ∈ Σ* : δ*(q0, w) ∉ F}.Ví dụ 02. Xét dfa M sau a a, b b a, b q0 q1 q2 Dfa trên chấp nhận ngôn ngữ sau L(M) = {anb : n ≥ 0} Trạng thái bẫy (trap state): là trạng thái mà sau khi ôtômát đi vào sẽ không bao giờ thoát ra được. Trạng thái bẫy có thể là trạng thái kết thúc hoặc không. Định nghĩa trên cũng có thể mở rộng ra cho nhóm các trạng thái bẫy kết thúc hay không kết thúc.Định lý, bảng truyền Định lý 2.1 Cho M = (Q, Σ, δ, q0, F) là một accepter hữu hạn đơn định, và GM là đồ thị chuyển trạng thái tương ứng của nó. Thì ∀ qi, qj ∈ Q, và w ∈ Σ+, δ*(qi, w) = qj nếu và chỉ nếu có trong GM một con đường mang nhãn là w đi từ qi đến qj. Bảng truyền - (transition table) Là bảng trong đó các nhãn của hàng (ô tô đậm trên hàng trong hình bên) biểu diễn cho trạng thái hiện tại, còn nhãn của cột (ô tô đậm trên cột trong hình bên) biểu diễn cho ký hiệu nhập hiện tại. Các điểm nhập (entry) trong bảng định nghĩa cho trạng thái kế tiếp.Định lý, bảng truyền ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết tính toán: Bài 02 - Nguyễn Ngọc Tú LÝ THUYẾT TÍNH TOÁN INTRODUCTION TO COMPUTATION THEORY (FORMAL LANGUAGES & AUTOMATA) Bài 02. Automat hữu hạn (p01) Sử dụng slides của các tác giả: Hồ Văn Quân + Nick Hopper GV: Nguyễn Ngọc TúTIN331 Tu.NguyenNgoc@hoasen.edu.vnNội dung Accepter hữu hạn đơn định Accepter hữu hạn không đơn định Sự tương đương giữa Accepter hữu hạn đơn định và Accepter hữu hạn không đơn định Rút gọn số trạng tháiAccepter hữu hạn đơn định – DFAĐịnh nghĩa 2.1 Một accepter hữu hạn đơn định (deterministic finite state accepter) hay dfa được định nghĩa bởi bộ năm M = (Q, Σ, δ, q0, F), Q là một tập hữu hạn các trạng thái nội (internal states), Σ là một tập hữu hạn các ký hiệu được gọi là bảng chữ cái ngõ nhập (input alphabet), δ: Q × Σ → Q là HÀM chuyển trạng thái (transition function).Accepter hữu hạn đơn định – DFA Để chuyển trạng thái ôtômát dựa vào trạng thái hiện hành q ∈ Q nó đang ở vào và kí hiệu nhập a ∈ Σ nó đang đọc được, nó sẽ chuyển sang trạng thái kế được định nghĩa sẵn trong δ. q0 ∈ Q là trạng thái khởi đầu (initial state), F ⊆ Q là một tập các trạng thái kết thúc (final states) (hay còn được gọi là trạng thái chấp nhận). Chú ý: Ôtômát hữu hạn không có bộ nhớ so với mô hình tổng quát.Ví dụ. có hàm chuyển của một ôtômát như sau: δ(1,a)=2, δ(2,b)=2, δ(2,c)=2 b a c 1 2Hoạt động của DFA Hoạt động của một dfa Tại thời điểm khởi đầu, nó được giả thiết ở trong trạng thái khởi đầu q0, với cơ cấu nhập (đầu đọc) của nó đang ở trên kí hiệu đầu tiên bên trái của chuỗi nhập. Trong suốt mỗi lần di chuyển, cơ cấu nhập tiến về phía phải một kí hiệu, như vậy mỗi lần di chuyển sẽ lấy một kí hiệu ngõ nhập. Khi gặp kí hiệu kết thúc chuỗi, chuỗi là được chấp nhận (accept) nếu ôtômát đang ở vào một trong các trạng thái kết thúc của nó. Ngược lại thì có nghĩa là chuỗi bị từ chối.Đồ thị chuyển trạng thái Để biểu diễn một cách trực quan cho dfa người ta sử dụng đồ thị chuyển trạng thái. Cách biểu diễn như sau: Đỉnh biểu diễn các trạng thái. Cạnh biểu diễn các chuyển trạng thái. Nhãn trên các đỉnh là tên các trạng thái. Nhãn trên các cạnh là giá trị hiện tại của kí hiệu nhập. Trạng thái khởi đầu sẽ được nhận biết bằng một mũi tên đi vào không mang nhãn mà không xuất phát từ bất kỳ đỉnh nào Các trạng thái kết thúc được vẽ bằng một vòng tròn đôi.Ví dụ 01. Cho dfa sau M = (Q, Σ, δ, q0, F) Q = {q0, q1, q2}, Σ = {0, 1}, F = {q1}, còn δ được cho bởi δ(q0, 0) = q0, δ(q0, 1) = q1, δ(q1, 0) = q0, δ(q1, 1) = q2, δ(q2, 0) = q2, δ(q2, 1) = q1, 0 0 1 1 q0 q1 q2 0 1Hàm chuyển trạng thái mở rộng Hàm chuyển trạng thái mở rộng δ* được định nghĩa một cách đệ qui như sau δ*(q, λ) = q, δ*(q, wa) = δ(δ*(q, w), a), ∀ q ∈ Q, w ∈ Σ*, a ∈ Σ. Ví dụ Nếu δ(q0, a) = q1, và δ(q1, b) = q2, Thì δ*(q0, ab) = q2δ không có định nghĩa cho chuyển trạng thái rỗng, tức là khôngđịnh nghĩa cho δ(q, λ).Ngôn ngữ và DFA Định nghĩa 2.2 Ngôn ngữ được chấp nhận bởi dfa M = (Q, Σ, δ, q0, F) là tập tất cả các chuỗi trên Σ được chấp nhận bởi M. L(M) = {w ∈ Σ*: δ*(q0, w) ∈ F}. Nhận xét: L’(M)= {w ∈ Σ* : δ*(q0, w) ∉ F}.Ví dụ 02. Xét dfa M sau a a, b b a, b q0 q1 q2 Dfa trên chấp nhận ngôn ngữ sau L(M) = {anb : n ≥ 0} Trạng thái bẫy (trap state): là trạng thái mà sau khi ôtômát đi vào sẽ không bao giờ thoát ra được. Trạng thái bẫy có thể là trạng thái kết thúc hoặc không. Định nghĩa trên cũng có thể mở rộng ra cho nhóm các trạng thái bẫy kết thúc hay không kết thúc.Định lý, bảng truyền Định lý 2.1 Cho M = (Q, Σ, δ, q0, F) là một accepter hữu hạn đơn định, và GM là đồ thị chuyển trạng thái tương ứng của nó. Thì ∀ qi, qj ∈ Q, và w ∈ Σ+, δ*(qi, w) = qj nếu và chỉ nếu có trong GM một con đường mang nhãn là w đi từ qi đến qj. Bảng truyền - (transition table) Là bảng trong đó các nhãn của hàng (ô tô đậm trên hàng trong hình bên) biểu diễn cho trạng thái hiện tại, còn nhãn của cột (ô tô đậm trên cột trong hình bên) biểu diễn cho ký hiệu nhập hiện tại. Các điểm nhập (entry) trong bảng định nghĩa cho trạng thái kế tiếp.Định lý, bảng truyền ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lý thuyết tính toán Lý thuyết tính toán Automat hữu hạn Accepter hữu hạn đơn định Accepter hữu hạn không đơn định Rút gọn số trạng tháiTài liệu liên quan:
-
Giáo trình Lý thuyết tính toán
108 trang 38 0 0 -
Bài giảng Lý thuyết tính toán: Chương 1 - PGS.TS. Phan Huy Khánh
10 trang 28 0 0 -
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 4
0 trang 26 0 0 -
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 3
0 trang 25 0 0 -
Bài giảng Lý thuyết tính toán: Bài 7 - Phạm Xuân Cường
27 trang 23 0 0 -
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 6
0 trang 23 0 0 -
0 trang 22 0 0
-
Tập bài giảng Ngôn ngữ hình thức
246 trang 21 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 -
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 5
0 trang 20 0 0