Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Nội dung
1 Chương 3 BIỂUTHỨCCHÍNH QUI VÀNGÔNNGỮCHÍNH QUI 2 1. Biểuthứcchính qui 1.1 Toán tử của biểuthứcchính qui 1.2 Xây dựng biểuthức chính qui 1.3 Độ ưu tiên của các toán tử 2. Định lý của Kleene 2.1 Chuyển FA sang biểuthứcchính qui 2.2 Chuyển biểuthứcchính qui sang FA 2.3 Định lý Kleen 3. Những luật đại số trên biểuthứcchính qui 3.1 Kết hợp và giao hoán 3.2 Đồng nhất thứcvà giá trị triệt tiêu 3.3 Những luật phân phối 3.4 Luật bất biến giá trị 3.5 Các luật trên biể u thứcchính qui 3.6 Kiểm tra luật đại số trên biểuthứcchính qui 3 Biểuthứcchính qui (Regular Expression - RE) FA là những máy ảo nhận dạng ngôn ngữ, trong khi RE mô tả ngônngữ như biểuthức đại số Ứng dụng: 1. Các lệnh tìm kiếm chuỗi 2. Các bộ phát sinh bộ phân tích từ vựng. 4 Ngônngữ L:Tập các chuỗi thỏa điều kiện: - Hoặc một số 0 theo sau bởi nhiều số 1 - Hoặc một số 1 theo sau bởi nhiều số 0. RE biểu diễn ngônngữ L: Toán tử của RE Ba toán tử trên RE Hội của hai ngônngữ L và M (L M): Tập của các chuỗi hoặc thuộc về L hoặc thuộc về M. 5 Nối của hai ngônngữ L và M (L.M hay LM): {xy | x L và y M} Bao đóng của ngônngữ L là L*: Tập các chuỗi hình thành từ việc nối của không/nhiều chuỗi thuộc L. 6 Ví dụ: L = {0, 11} thì L 0 = {ε}, L 1 = L = {0, 11}, L 2 = LL = {00, 011, 110, 1111} L 3 = LLL = {000, 0011, 0110, 1100, 01111, 11011, 11110, 111111} → L* = L 0 L 1 L 2 … Chú ý : Ø* = {ε}, vì Ø 0 = {ε}, Ø n = Ø (n 1) 7 Xây dựng biểuthức chính qui Dạng cơ sở của biểuthức đại số là hằng số và/hoặc biến. Những biểuthức phức tạp hơn được xây dựng bằng cách áp dụng các toán tử trên những biểuthức đã được xây dựng. RE cũng được xây dựng tương tự Nếu RE E là hợp lệ thì tồn tại ngônngữ L(E) mà E biểu diễn. 8 Bước qui nạp: Gồm 4 phần 1. Hằng ε và Ø là RE 2. Nếu a là một ký hiệu bất kỳ thì a là RE: Bước cơ sở: Bao gồm 2 phần: Nếu E và F là RE thì E + F là RE: Nếu E và F là RE thì EF là RE: Nếu E là RE thì E* là RE: Nếu E là RE thì (E) là RE : 9 Ví dụ: Xây dựng RE R: R = {w | w {0, 1}*, 00 w và 11 w}. Bước cơ sở: 0 và 1 là RE biểu diễn ngônngữ {0} và {1}. Bước qui nạp: Để có những chuỗi bao gồm không/nhiều chuỗi con 01, ta sử dụng RE (01)* 10 Tuy nhiên, L((01)*) không phải là ngônngữ cần tìm. Cách 1 : Xây dựng thêm 3 RE : 11 Cách 2: - Muốn không/có số 1 đứng đầu - Muốn không/có số 0 đứng sau 12 Độ ưu tiên của các toán tử 1. Dấu ngoặc tròn. 2. Toán tử ‘*’ (bao đóng) 3. Toán tử ‘.’ (nối) 4. Toán tử ‘+’ (hội) Thứ tự độ ưu tiên toán tử giảm dần như sau: 13 Ví dụ: Biểuthức 01* + 1 tương đương với biểuthức (0(1*)) + 1. 01* + 1: Tương đương với biểuthức (0(1*)) + 1 (01)* + 1: 01 + : 14 Định lý của Kleene Về cơ bản, RE dùng để mô tả ngôn ngữ, còn FA dùng để nhận dạng ngôn ngữ. FA và RE cùng chấp nhận lớp “ngôn ngữchính qui” 1. Ngônngữ được định nghĩa bởi DFA, NFA hay ε–NFA 2. Ngônngữ được định nghĩa bởi RE 15 X Y: lớp ngônngữ được chấp nhận bởi X sẽ được chấp nhận bởi Y. RE DFA ε–NFA NFA Tính tương đương giữa RE, DFA, ε–NFA và NFA. 16 Từ DFA đến RE: Khái niệm Xây dựng RE chấp nhận ngônngữ của DFA khá phức tạp. RE sẽ mô tả tập các chuỗi mà mỗi ký hiệu trong chuỗi là nhãn một đường truyền trong sơ đồ truyền của DFA. 17 RE xây dựng từ DFA thông qua qui nạp: Bước cơ sở: Xây dựng các RE đơn giản Bước qui nạp: RE được mở rộng dần Khi các đường truyền đến được mọi trạng thái những RE phát sinh biểu diễn tất cả các đường truyền có thể. 18 Định lý 3.1: Mọi ngônngữchính qui (nghĩa là ngônngữ được chấp nhận bởi FA nào đó) đều có thể được mô tả bởi RE. Chứng minh: Xây dựng tập RE, mô tả các đường truyền (mở rộng dần) trên sơ đồ truyền của DFA A. 19 Một đường truyền biểu diễn bởi R ij (k) . Trục tung biểu diễn trạng thái, trục hoành thể hiện từng bước đi của đường truyền. 1 n i j k 20 Phương pháp qui nạp, dựa trên giá trị của k [0, n], được sử dụng để xây dựng biểuthức R ij (k) , Bước cơ sở: k = 0. [...]... tương tự biểu thức đại số Với một số thao tác dành cho RE, tính tương đương giảm dần 56 Luật giao hoán và kết hợp Luật giao hoán của phép hội: Luật kết hợp của phép hội: Luật kết hợp của phép nối: 57 Đồng nhất thứcvà giá trị triệt tiêu = = Ví dụ: 0 là đồng nhất thức với phép + 1 là đồng nhất thức với phép = . 1 Chương 3 BIỂU THỨC CHÍNH QUI VÀ NGÔN NGỮ CHÍNH QUI 2 1. Biểu thức chính qui 1.1 Toán tử của biểu thức chính qui 1.2 Xây dựng biểu thức chính qui 1.3 Độ ưu tiên của các. biể u thức chính qui 3.6 Kiểm tra luật đại số trên biểu thức chính qui 3 Biểu thức chính qui (Regular Expression - RE) FA là những máy ảo nhận dạng ngôn ngữ, trong khi RE mô tả ngôn ngữ như biểu. Chuyển FA sang biểu thức chính qui 2.2 Chuyển biểu thức chính qui sang FA 2.3 Định lý Kleen 3. Những luật đại số trên biểu thức chính qui 3.1 Kết hợp và giao hoán 3.2 Đồng nhất thức và giá trị triệt