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

Bài giảng Lí thuyết ngôn ngữ hình thức và ôtômát: Chương 2 - Nguyễn Thị Minh Huyền

41 83 0

Đ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 41
Dung lượng 254,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lí thuyết ngôn ngữ hình thức và ôtômát: Chương 2 - Ngôn ngữ chính quy và ôtômát hữu hạn cung cấp cho người học các kiến thức: Ôtômát hữu hạn, tính đóng của lớp ngôn ngữ chính quy, biểu thức chính quy, điều kiện cần của ngôn ngữ chính quy,... Mời các bạn cùng tham khảo.

Trang 1

Lí thuyết ngôn ngữ hình thức và ôtômát

Chương 2 Ngôn ngữ chính quy và ôtômát hữu hạn

Nguyễn Thị Minh Huyền

Khoa Toán - Cơ - Tin học

Trường Đại học Khoa học Tự nhiên Hà Nội

Trang 2

Ngôn ngữ chính quy

Văn phạm chính quy

Ôtômat hữu hạn

Nguồn (đồ thị chuyển)

Trang 3

Nội dung

1 Ôtômát hữu hạn

Ôtômát hữu hạn, đơn định và ngôn ngữ chính quy

Ôtômát hữu hạn, không đơn định

Đơn định hoá ôtômát

Bài tập

2 Tính đóng của lớp ngôn ngữ chính quy

3 Biểu thức chính quy

4 Điều kiện cần của ngôn ngữ chính quy

5 Điều kiện cần và đủ của ngôn ngữ chính quy

Trang 4

Ví dụ

Dàn máy phát thanh:

P (nút Power): 2 chế độ ON/OFF

S (nút chọn nguồn phát): chuyển đổi giữa 3 chế độ

CD/Tape/Radio Chỉ thay đổi được trạng thái của S khi

máy bật (P = ON) Khi tắt máy (P = OFF ), S không thay

đổi giá trị

Ban đầu, máy tắt và ở chế độ CD

Bài toán: Cho 1 dãy thao tác bấm nút P hoặc S Dãy thao

tác này có cho phép đưa máy về trạng thái bật và ở chế độRadio không?

Trang 5

δ(p, a) = q : máy đang ở trạng thái p, nếu đọc được chữ cái

vào a thì chuyển sang trạng thái q

biểu diễn dạng bảng

Trang 6

Biểu diễn ôtômat

Biểu diễn bằng đồ thị chuyển (nguồn)

Đỉnh vào, đỉnh ra/kết, cung

01

0

1

Trang 7

Ngôn ngữ đoán nhận bởi ôtômat hữu hạn, đơn định

Trang 8

Tương đương giữa ôtômat và văn phạm chính quy

Ôtômat hữu hạn, đơn định A tương đương văn phạm

chính quy G:

L(A) = L(G)

Chuyển từ ôtômat sang văn phạm chính quy

Chuyển từ văn phạm chính quy sang ôtômat

G = ({a, b, c}, {S, A, B}, S, P), P gồm các quy tắc:

S → aA|bA|cB

A → cA|aB

B → bB|a|c

Trang 10

Ôtômát hữu hạn, không đơn định

Khác với ôtômat đơn định ở hàm chuyển:

δ :S × (Σ ∪ {}) → 2 S

δ(p, a) ⊆ S

Biểu diễn bằng đồ thị (nguồn):

Đỉnh vào, đỉnh ra/kết, cung rỗng, cung cốt yếu, đỉnh cốt yếu (có cung cốt yếu đi vào)

Ngôn ngữ đoán nhận bởi ôtômat không đơn định:

Mở rộng hàm chuyển như ôtômat đơn định

L(A) = {x ∈ Σ|δ(s0,x) ∩ F 6= ∅}

Trang 11

Một số khái niệm, tính chất

Đơn định: hàm chuyển đơn trị

Đầy đủ: hàm chuyển xác định khắp nơi

Đơn định và đầy đủ: Trong bảng hàm chuyển mọi ô đều có

Trang 12

Đơn định hoá nguồn

Cho nguồn không đơn định A Xây dựng nguồn đơn định, đầy đủ A0 tương đương với A

cung ghi chữ cái a tới đỉnh δ(M, a)

Trang 13

Đơn định hóa ôtômat

Cho ôtômat không đơn định A Xây dựng ôtômat đơn

định, đầy đủ A0 tương đương với A

Trang 15

Bài tập

Xây dựng ôtômat đoán nhận một ngôn ngữ đã cho

1 Xây dựng 3 ôtômat đoán nhận các tập các số tự nhiên chiahết cho 2, cho 3 và cho 5

2 Xây dựng ôtômat mô phỏng máy bán nước tự động dùngtiền xu (1000, 2000, 5000) Giá 1 lon nước ngọt là 5000, 1chai nước suối là 3000

Trang 16

Nội dung

1 Ôtômát hữu hạn

Ôtômát hữu hạn, đơn định và ngôn ngữ chính quy

Ôtômát hữu hạn, không đơn định

Đơn định hoá ôtômát

Bài tập

2 Tính đóng của lớp ngôn ngữ chính quy

3 Biểu thức chính quy

4 Điều kiện cần của ngôn ngữ chính quy

5 Điều kiện cần và đủ của ngôn ngữ chính quy

Trang 17

Các phép toán trên nguồn

Trang 18

Tính đóng của lớp ngôn ngữ chính quy

Lớp ngôn ngữ chính quy đóng với các tất cả phép toán trênngôn ngữ: hợp, giao, lấy phần bù, tích ghép, lặp, lặp cắt,

soi gương, chia trái, chia phải

Trang 19

Nội dung

1 Ôtômát hữu hạn

Ôtômát hữu hạn, đơn định và ngôn ngữ chính quy

Ôtômát hữu hạn, không đơn định

Đơn định hoá ôtômát

Bài tập

2 Tính đóng của lớp ngôn ngữ chính quy

3 Biểu thức chính quy

4 Điều kiện cần của ngôn ngữ chính quy

5 Điều kiện cần và đủ của ngôn ngữ chính quy

Trang 20

Biểu thức chính quy (Regular expression)

Định nghĩa (quy nạp)

Cho Σ = {a1,a2, ,a n}

Quy nạp:

Cho B1,B2là các biểu thức chính quy

Khi đó B1 B2 ,B1∪ B2,B∗1, (B1 ) cũng là các biểu thức chính quy

Chỉ có các biểu thức được xác định như trên mới là các

biểu thức chính quy trên bảng chữ cái Σ

Trang 21

Biểu thức chính quy – nguồn

Xây dựng nguồn tương đương với biểu thức chính quy

Cơ sở quy nạp: Nguồn sinh {a}, {}, ∅

Các phép toán: hợp, tích ghép, lặp: phép toán trên nguồn

Xây dựng biểu thức chính quy tương đương với nguồn

Đường đi thông thường: tích ghép, hợp

Chu trình: lặp

Trang 22

Biểu thức chính quy

Ngôn ngữ chính quy ⇔ Biểu thức chính quy

Biểu thức chính quy trong lập trình

Tìm kiếm xâu theo mẫu (pattern) nào đó

VD:

Xử lí gộp tên tệp Tìm kiếm trong Unix/Linux Tìm kiếm, thay thế xâu trong emacs Công cụ xử lí xâu trong các ngôn ngữ lập trình

Trang 23

Bài tập ứng dụng biểu thức chính quy

Cú pháp phổ biến của biểu thức chính quy

Mỗi kí tự biểu diễn chính nó, trừ các kí tự điều khiển

(metacharacter): ? + - * { } [ ] ( ) \ | ˆ $

Để biểu diễn các kí tự điều khiển, thêm dấu \ vào trước

[03a−c] ≡ {0, 3, a, b, c}, [ˆ 15] ≡ tập các kí tự khác 1 và 5 biểu diễn kí tự bất kì, ˆ và $ đánh dấu đầu và cuối dòng

\< và \> đánh dấu đầu và cuối từ, \b đánh dấu biên từ, \B

đánh dấu xâu rỗng không ở biên từ

Phép lặp: ?, *, +, {n}, {n, }, {n, m}

Phép lấy tích ghép, phép hợp |

\n biểu diễn xâu con nằm giữa cặp () thứ n trước đó.

Trang 25

Bài tập ví dụ về RE và FSA (Finite State Automata)

Xác định biểu thức chính quy và ôtômat đơn định hữu hạnđoán nhận các ngôn ngữ :

(i) Tập số thực dấu phẩy động

(ii) Tập các xâu gồm các chữ số 0-9 có chứa xâu con 11

(iii) Tập ngày tháng theo định dạng ngày(2 chữ số)/tháng(2 chữ số) Chú ý ràng buộc số ngày trong tháng.

Trang 26

Nội dung

1 Ôtômát hữu hạn

Ôtômát hữu hạn, đơn định và ngôn ngữ chính quy

Ôtômát hữu hạn, không đơn định

Đơn định hoá ôtômát

Bài tập

2 Tính đóng của lớp ngôn ngữ chính quy

3 Biểu thức chính quy

4 Điều kiện cần của ngôn ngữ chính quy

5 Điều kiện cần và đủ của ngôn ngữ chính quy

Trang 27

Điều kiện cần của ngôn ngữ chính quy: Bổ đề bơm

Ứng dụng: Khẳng định một ngôn ngữ không phải là chínhquy

Ôtômat tối tiểu: Trong các ôtômat đơn định, đầy đủ đoán

nhận một ngôn ngữ chính quy, gọi các ôtômat có số trạngthái ít nhất là các ôtômat tối tiểu

Điều kiện cần:

Giả sử L là ngôn ngữ chính quy

Luôn tồn tại l ∈ N N+: ∀z ∈ L, |z| > l thì tìm được 3 từ u, x, v (|x| ≥ 1) để

z = uxv

∀n = 0, 1, 2 · · · : z n=ux n v ∈ L

Trang 28

Chứng minh

L - ngôn ngữ chính quy, đoán nhận được bởi một otomat

tối tiểu có n trạng thái

Trang 34

Nội dung

1 Ôtômát hữu hạn

Ôtômát hữu hạn, đơn định và ngôn ngữ chính quy

Ôtômát hữu hạn, không đơn định

Đơn định hoá ôtômát

Bài tập

2 Tính đóng của lớp ngôn ngữ chính quy

3 Biểu thức chính quy

4 Điều kiện cần của ngôn ngữ chính quy

5 Điều kiện cần và đủ của ngôn ngữ chính quy

Trang 35

Quan hệ tương đương bất biến phải

Cho tập X 6= ∅ và quan hệ hai ngôi T (x, y) trên X

T là quan hệ tương đương: phản xạ, đối xứng, bắc cầu

⇒ T chia X thành các lớp tương đương X1,X2, · · · ,X m, lập

thành phân hoạch của X theo quan hệ T (các tập X i khác

rỗng, rời nhau, hợp với nhau bằng tập X ).

Khi đó m (có thể hữu hạn hoặc vô hạn) gọi là chỉ số của

quan hệ tương đương T

Ví dụ m hữu hạn: Quan hệ đồng dư cho n > 0 trên tập số tự

Trang 36

Quan hệ tương đương bất biến phải RL

(x R L y)nếu x và y không có hậu tố phân biệt z nào:

Cho một ôtômat đơn định, đầy đủ đoán nhận ngôn ngữ L

Trang 38

Định lí Myhill-Nerode (điều kiện cần và đủ của ngôn ngữ chính quy)

L là ngôn ngữ chính quy ⇔ L là hợp của một số lớp tương

đương theo quan hệ tương đương bất biến phải với chỉ số

Chứng minh điều kiện cần:

L chính quy ⇒ L đoán nhận được bởi ôtômat đơn định, đầy

đủ A = (S, Σ, s0, δ,F )

Xây dựng quan hệ tương đương bất biến phải

T : T (x, y) ⇔ δ(s0 ,x) = δ(s0 ,y)

Chỉ số của T : T chia Σthành phân hoạch X1, · · · ,X m

Giả sử x ∈ X i và δ(s0 ,x) = s t i : X i gắn với trạng thái s t i

A hữu hạn trạng thái nên m hữu hạn (không vượt quá |S|)

Xét tất cả các lớp tương đương X i1, · · · ,X i n :X i j ∩ L 6= ∅

Chứng minh được L = ∪X i j (j = 1, · · · , n)

Trang 39

Định lí Myhill-Nerode (tiếp)

Chứng minh điều kiện đủ

Có quan hệ T chia Σthành phân hoạch X1 , · · · ,X m L là hợp của một số lớp X i.

Nhận xét: Số trạng thái của S bằng chỉ số của T ⇒ A là

ôtômat tối tiểu sinh L.

Trang 40

Ứng dụng định lí Myhill-Nerode

Xét tính chính quy của một ngôn ngữ

Xây dựng ôtômat tối tiểu

Trang 41

Xét tính chính quy của ngôn ngữ

Các ví dụ sau đều xét Σ = {0, 1}

L1= {0n1n |n ≥ 1}

L2= {x|x = x R }, x R : từ ngược của x

L3= {xwx|x ∈ {0, 1}, w ∈ (0|1)+}

Ngày đăng: 05/11/2020, 10:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w