Ngôn ngữ chính quy Nội dung: 1. Bao đóng Kleene và tổng Kleene 2. Ngôn ngữ chính qui (regular language) 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính quy Một ngôn ngữ chính qui (NNCQ) L trên bảng chữ cái là một ngôn ngữ được định nghĩa đệ qui:
LOGO NGÔN NGỮ CHÍNH QUI Regular Languages CHƯƠNG 2 CÂU HỎI L = {a, b, c} là ngôn ngữ trên 2 L 0 = ? L 1 = ? L 2 = ? L 3 = ? L 0 = {} L 1 = {a, b, c} L 2 = { aa, ab, ac, ba, bb, bc, ca, cb, cc} L 3 = { aaa, aab, aac, aba, abb, abc, aca, acb, acc, … } Nội dung 1. Bao đóng Kleene và tổng Kleene 2. Ngôn ngữ chính qui (regular language) 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính qui 3 Nội dung 1. Bao đóng Kleene và tổng Kleene 2. Ngôn ngữ chính qui 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính qui 4 Bao đóng Kleene & tổng Kleene Xét L là một ngôn ngữ trên bảng chữ cái L * là bao đóng Kleene (Kleene closure) L + là tổng Kleene (Kleene plus) 5 * 0 1 2 0 12 1 n n n n L L L L L L L L L Bao đóng Kleene & tổng Kleene Ví dụ: L = {a, b, c} là ngôn ngữ trên L * = ? L + = ? 6 * 0 1 2 0 12 1 n n n n L L L L L L L L L L + ? L * L + L * Bao đóng Kleene & tổng Kleene Ví dụ: L = là ngôn ngữ trên L * = ? L + = ? 7 L * = {} L + = * = {} = Nội dung 1. Bao đóng Kleene và tổng Kleene 2. Ngôn ngữ chính qui (regular language) 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính qui 8 Ngôn ngữ chính qui Một ngôn ngữ chính qui (NNCQ) L trên bảng chữ cái là một ngôn ngữ được định nghĩa đệ qui: L = là một NNCQ trên a, L = { a } là một NNCQ trên Nếu L, L 1 , L 2 là NNCQ trên thì (L 1 L 2 ), L 1 L 2 , L* cũng là NNCQ trên Không có ngôn ngữ nào khác là NNCQ 9 Ngôn ngữ chính qui Ví dụ L = {} ? • NNCQ vì {} = * L = {001, 110} ? • {001, 110} = ({0}{0}{1} {1}{1}{0}) 10 Mọi ngôn ngữ hữu hạn đều chính qui [...]... tổng Kleene 2 Ngôn ngữ chính qui (regular language) 3 Biểu thức chính qui (regular expression) 4 Đồ thị biểu diễn biểu thức chính qui 11 Biểu thức chính qui Biểu diễn các NNCQ trên Biểu thức chính qui Ngôn ngữ chính qui r= L= r= L = {} a, r = a L = {a} r1 , r2 là biểu thức chính qui của L1 , L2 r1 + r2 L1 + L2 r1r2 L1L2 r1* L1* chỉ gồm các biểu thức chính qui thỏa đk trên 12 Biểu thức chính. .. r = (110)*(0+1) 6 L = {1}*{10} 6 r = (1)*10 13 Biểu thức chính qui Lũy thừa và tổng Kleene Biểu thức chính qui Ngôn ngữ chính qui r là biểu thức chính qui của L rn Ln r+ = r*r L+ = L* L 14 Nội dung 1 Bao đóng Kleene và tổng Kleene 2 Ngôn ngữ chính qui (regular language) 3 Biểu thức chính qui (regular expression) 4 Đồ thị biểu diễn biểu thức chính qui 15 Đồ thị biểu diễn BTCQ Các bước xây dựng đồ... (00+1) 20 Đồ thị biểu diễn BTCQ Ví dụ: r = (11 + 0)*(00+1)* (11+0) (00+1) 11 00 0 1 21 Đồ thị biểu diễn BTCQ 11 00 0 1 1 1 0 0 0 22 1 Đồ thị biểu diễn biểu thức chính quy Ví dụ: r = (1* + 110)*0 Vẽ đồ thị biểu diễn cho biểu thức r 23 NEXT Automat hữu hạn Ứng dụng • Vending machines • Video games: Pac-Man’s ghost • Internet Protocol: TCP as a DFA Yêu cầu • . ngữ chính qui r = L = r = L = {} a, r = a L = {a} r 1 , r 2 là biểu thức chính qui của L 1 , L 2 r 1 + r 2 L 1 + L 2 r 1 r 2 L 1 L 2 r 1 * L 1 * chỉ gồm các biểu thức chính qui thỏa. tổng Kleene 2. Ngôn ngữ chính qui (regular language) 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính qui 8 Ngôn ngữ chính qui Một ngôn ngữ chính qui (NNCQ) L. ngữ chính qui (regular language) 3. Biểu thức chính qui (regular expression) 4. Đồ thị biểu diễn biểu thức chính qui 11 Biểu thức chính qui Biểu diễn các NNCQ trên 12 Biểu thức chính qui Ngôn