Biểu thức chính quy và ngôn ngữ chính quy

33 1.4K 3
Biểu thức chính quy và ngôn ngữ chính quy

Đ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

1 Chương 3 BIỂU THỨC CHÍNH QUI 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 toán tử 2. Định lý của Kleene 2.1 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 giao hoán 3.2 Đồng nhất thức 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ứ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 thứ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ôn ngữ 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ôn ngữ L: Toán tử của RE Ba toán tử trên RE  Hội của hai ngôn ngữ L 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ôn ngữ L M (L.M hay LM): {xy | x  L y  M}  Bao đóng của ngôn ngữ 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ểu thức chính qui  Dạng cơ sở của biểu thức đại số là hằng số và/hoặc biến. Những biểu thứ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ểu thứ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ôn ngữ L(E) mà E biểu diễn. 8 Bước qui nạp: Gồm 4 phần 1. Hằng ε Ø 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 F là RE thì E + F là RE:  Nếu E 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 11  w}. Bước cơ sở: 0 1 là RE biểu diễn ngôn ngữ {0} {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ôn ngữ 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ểu thức 01* + 1 tương đương với biểu thức (0(1*)) + 1.  01* + 1: Tương đương với biểu thứ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 RE cùng chấp nhận lớp “ngôn ngữ chính qui” 1. Ngôn ngữ được định nghĩa bởi DFA, NFA hay ε–NFA 2. Ngôn ngữ được định nghĩa bởi RE 15 X  Y: lớp ngôn ngữ đượ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 NFA. 16 Từ DFA đến RE: Khái niệm  Xây dựng RE chấp nhận ngôn ngữ 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ôn ngữ chính qui (nghĩa là ngôn ngữ đượ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ểu thứ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 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ức 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

Ngày đăng: 13/05/2014, 17:00

Từ khóa liên quan

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

Tài liệu liên quan