SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Chương 2:

 Ngôn ngữ và sự phân cấp Chomsky

  Nội dung:
        • Khái niệm ngôn ngữ
        • Cách biểu diễn ngôn ngữ
        • Văn phạm
        • Sự phân lớp văn phạm



                                    1
Ký hiệu, bộ chữ cái, chuỗi
Ký hiệu (symbol): là một thực thể trừu tượng mà ta
  không định nghĩa được một cách hình thức
   • Các chữ cái a, b, c … hoặc các số 1, 2, 3 …

Bộ chữ cái (alphabet): Σ
   • Là một tập (không rỗng) các ký hiệu nào đó
   • Bộ chữ cái Latin {A, B, C, …, a, b, c, …, z}

Chuỗi (string): một chuỗi (hay một từ - word) trên bộ
  chữ cái Σ
   • Là một dãy hữu hạn các ký hiệu của Σ
   • Một ký hiệu có thể xuất hiện nhiều lần             2
Chuỗi
Độ dài chuỗi: là số các ký hiệu tạo thành chuỗi
   • |abca| = 4
Chuỗi rỗng: ký hiệu ε, là chuỗi không có ký hiệu nào
   • |ε| = 0
Chuỗi con: chuỗi v là chuỗi con của w nếu v được tạo
  bởi các ký hiệu liền kề nhau trong chuỗi w.
   • Chuỗi 10 là chuỗi con của chuỗi 010001
Chuỗi tiền tố: là chuỗi con bất kỳ nằm ở đầu chuỗi
Chuỗi hậu tố: là chuỗi con bất kỳ nằm ở cuối chuỗi
   • Chuỗi abc có các tiền tố a, ab, abc
   • Chuỗi 0246 có các hậu tố 6, 46, 246, 0246         3
Chuỗi
Chuỗi nối kết (ghép): là chuỗi được tạo thành bằng
cách viết chuỗi thứ nhất, sau đó viết chuỗi thứ hai, ...
• Nối ghép của chuỗi Long và Int là LongInt
• Nối kết của chuỗi rỗng: εw = wε = w (với mọi w)
   → ε là đơn vị của phép nối kết
Chuỗi đảo ngược: của chuỗi w, ký hiệu wR, là chuỗi
  w được viết theo thứ tự ngược lại.
       w = abcd → wR = dcba         εR = ε


                                                           4
Ngôn ngữ (Languages)
Tổng quan về ngôn ngữ:
  • Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, …
  • Ngôn ngữ lập trình: Pascal, C/C++, …
  • Là tập hợp các câu theo cấu trúc quy định nào đó
  • Biểu thị các ý nghĩ, các sự kiện hay các khái niệm
  • Bao gồm một tập các ký hiệu và các quy tắc để
    vận dụng chúng



                                                         5
Ngôn ngữ (Languages)
Một ngôn ngữ (hình thức) L là một tập hợp các chuỗi
 của các ký hiệu từ một bộ chữ cái Σ nào đó.
Σ* và Σ +:
   ●
       Σ* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng
       ε, sinh ra từ bộ chữ cái Σ.
   ●
       Σ+ : tập hợp tất cả các chuỗi con, ngoại trừ chuỗi
       rỗng ε, sinh ra từ bộ chữ cái Σ.
          Σ* = Σ+ + {ε}     Σ+ = Σ* - {ε}
   ●
       Σ = {0,1} thì:
        ✔
          Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, …}
        ✔
          Σ+ = {0, 1, 00, 01, 10, 11, 000, …}
        ✔
          Chuỗi 010210 ∉ Σ* vì có số 2 ∉ Σ                   6
Các phép toán trên ngôn ngữ
Phép phần bù (complement):
                L = Σ* - L

Phép nối kết (concatenation):
  L1L2 = {w1w2 | w1 ∈ L1 và w2 ∈ L2} trên bộ chữ cái Σ1 ∪ Σ2
   • LLL…LL = Li (kết nối i lần trên cùng ngôn ngữ L)
   • L0 = {ε}




                                                               7
Các phép toán trên ngôn ngữ
Phép bao đóng (closure): thành lập một ngôn ngữ
  bằng cách kết nối các chuỗi (với số lượng bất kỳ) các
  chuỗi của một ngôn ngữ L cho trước
                              ∞
 Bao đóng Kleene: L* = ∪ Li
                             i=0
                                           ∞
 Bao đóng dương (positive): L+ = ∪ Li
                                           i=1

Chú ý: L+ = L*L = LL*      L* = L+ ∪ {ε}
Ví dụ: cho L = {a, ba}
   • L2 = {aa, aba, baa, baba}
   • L3 = {aaa, aaba, abaa, ababa, baaa,baaba, babaa, bababa}
   • L* = {ε, a, ba, aa, aba, baa, baba, aaa, aaba, …} 8
Biểu diễn ngôn ngữ
Liệt kê chuỗi: L = {aa, aba, baa, baba}
Mô tả đặc điểm chủ yếu: L = {ai | i là số nguyên tố}
Biểu diễn thông qua văn phạm và automata:
   • Cho phép biểu diễn ngôn ngữ một cách tổng quát
   • Văn phạm: cơ chế sản sinh ra mọi chuỗi của ngôn
     ngữ
   • Automata: cơ chế cho phép đoán nhận một chuỗi
     bất kỳ có thuộc một ngôn ngữ L hay không


                                                       9
Định nghĩa văn phạm
Theo từ điển, văn phạm là một tập các quy tắc về cấu
  tạo từ và các quy tắc về cách thức liên kết từ lại thành
  câu
Định nghĩa: văn phạm cấu trúc G là một hệ thống gồm 4
  thành phần G(V, T, P, S)
   • V (variables): tập các biến (VD: A, B, C, …)
   • T (terminal): tập các ký hiệu kết thúc (V ∩ T = Ø)
     (VD: a, b, c, …, w, x, y, ...)
   • P (production): tập luật sinh, dạng α→β với α, β ∈
     (V ∪ T)*
   • S (start): ký hiệu bắt đầu (S ⊂ V)                   10
Định nghĩa văn phạm
Dẫn xuất trực tiếp: nếu α→β là một luật sinh thì
                     γ α δ ⇒ γ βδ
Dẫn xuất gián tiếp: nếu các chuỗi α1, α2, ...., αm ∈ Σ* và
  α1 ⇒ α2, α2 ⇒ α3, ..., αm-1 ⇒ αm thì αm có thể được dẫn
  xuất từ α1
                        α1 ⇒* αm
Ngôn ngữ L sinh bởi văn phạm G:
             L (G) = {w | w ∈ T * và S ⇒* w}
Văn phạm tương đương: là 2 văn phạm sinh ra cùng
  một ngôn ngữ (G1 tương đương G2 ⇔ L(G1)=L(G2) )       11
Phân cấp Chomsky trên văn phạm
 Bằng cách áp đặt một số quy tắc hạn chế trên các luật
   sinh, Noam Chomsky đề nghị một hệ thống phân loại
   các văn phạm dựa vào tính chất của các luật sinh.
 Loại 0 – Văn phạm không hạn chế (Unrestricted
   Grammar): không cần thỏa điều kiện ràng buộc nào
   trên tập các luật sinh
 Loại 1 – Văn phạm cảm ngữ cảnh (CSG – Context
   Sensitive Grammar): nếu văn phạm G có các luật
   sinh dạng α→β và |β| ≥ |α|
 Loại 2 – Văn phạm phi ngữ cảnh (CFG – Context-
   Free Grammar): có luật sinh dạng A→α với A là một
   biến đơn và α là chuỗi các ký hiệu thuộc (V ∪ T)* 12
Phân cấp Chomsky trên văn phạm
 Loại 3 – Văn phạm chính quy (RG – Regular
   Grammar): có mọi luật sinh dạng tuyến tính phải hoặc
   tuyến tính trái.
    • Tuyến tính phải: A → wB hoặc A → w
    • Tuyến tính trái: A → Bw hoặc A → w
      Với A, B là các biến đơn, w là chuỗi ký hiệu kết
      thúc (có thể là rỗng)
 Nếu ký hiệu L0, L1, L2, L3 là các ngôn ngữ được sinh ra
   bởi văn phạm loại 0, 1, 2, 3, ta có:
                     L3 ⊂ L2 ⊂ L1 ⊂ L0
                                                           13
Các ví dụ về văn phạm
Ví dụ 1: văn phạm G( {S, A}, {a, b}, P, S )
             S → aS
             S → aA
          P=
             A → bA
             A→b

Đây là văn phạm loại 3 (dạng tuyến tính phải)
Một dẫn xuất từ S có dạng:
    S → aS → aaS → aaaA → aaabA → aaabbA →
             aaabbbA → aaabbbb = a3 b4
   ⇒ L(G) = a+b+ = {anbm | n,m ≥ 1}


                                                14
Các ví dụ về văn phạm
Ví dụ 2: văn phạm G( {S}, {a, b}, P, S )

               S → aSb
          P=
               S → ab

Đây là văn phạm loại 2 (dạng A→α )
Một dẫn xuất từ S có dạng:
  S → aSb → aaSbb → aaaSbbb → aaaabbbb = a4b4
  ⇒ L(G) = {anbn | n ≥ 1}



                                                15
Các ví dụ về văn phạm
Ví dụ 3: văn phạm G( {S, B, C}, {a, b, c}, P, S )
                S → aSBC
                S → aBC
                CB → BC
          P=    aB → ab
                bB → bb
                bC → bc
                cC → cc


Đây là văn phạm loại 1
Một dẫn xuất từ S: S → aSBC → aaBCBC → aabCBC →
 aabBCC → aabbCC → aabbcC → aabbcc=a2b2c2
  ⇒ L(G) = {anbncn | n ≥ 1}
                                                    16
Định nghĩa ôtômát (automata)
Định nghĩa: là máy trừu tượng có cơ cấu và hoạt động
  đơn giản nhưng có khả năng đoán nhận ngôn ngữ
   • Con người phải lập trình sẵn cho máy một ‘lộ trình’
     để thực hiện
                                       INPUT




                       Bộ điều khiển




                         OUTPUT
          BỘ NHỚ


                                                       17
Phân loại automata
Automata đơn định (Deterministic Automata):
   • Mỗi bước di chuyển chỉ được xác định duy nhất
     bởi cấu hình hiện tại (hàm chuyển của automata là
     đơn trị)
Automata không đơn định (Non-deterministic Automata):
   • Tại mỗi bước di chuyển, nó có vài khả năng để lựa
     chọn (hàm chuyển của automata là đa trị)




                                                     18

Weitere ähnliche Inhalte

Was ist angesagt?

Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstk
Bích Anna
 
Bài Giảng Và Ngân Hàng Đề Thi OTOMAT
Bài Giảng Và Ngân Hàng Đề Thi OTOMATBài Giảng Và Ngân Hàng Đề Thi OTOMAT
Bài Giảng Và Ngân Hàng Đề Thi OTOMAT
Hiệp Mông Chí
 
Cac cong thuc luong giac day du chinh xac
Cac cong thuc luong giac day du chinh xacCac cong thuc luong giac day du chinh xac
Cac cong thuc luong giac day du chinh xac
b00mx_xb00m
 
đồ Thị hàm số chứa giá trị tuyệt đối
đồ Thị hàm số chứa giá trị tuyệt đốiđồ Thị hàm số chứa giá trị tuyệt đối
đồ Thị hàm số chứa giá trị tuyệt đối
Hướng Trần Minh
 

Was ist angesagt? (20)

Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
Chuong02
Chuong02Chuong02
Chuong02
 
Phuong trinh dao_ham_rieng_8948 (1)
Phuong trinh dao_ham_rieng_8948 (1)Phuong trinh dao_ham_rieng_8948 (1)
Phuong trinh dao_ham_rieng_8948 (1)
 
Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstk
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Chuong04
Chuong04Chuong04
Chuong04
 
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
 
Bài Giảng Và Ngân Hàng Đề Thi OTOMAT
Bài Giảng Và Ngân Hàng Đề Thi OTOMATBài Giảng Và Ngân Hàng Đề Thi OTOMAT
Bài Giảng Và Ngân Hàng Đề Thi OTOMAT
 
Gt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen HoangGt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen Hoang
 
Đệ quy và quay lui
Đệ quy và quay luiĐệ quy và quay lui
Đệ quy và quay lui
 
Cac cong thuc luong giac day du chinh xac
Cac cong thuc luong giac day du chinh xacCac cong thuc luong giac day du chinh xac
Cac cong thuc luong giac day du chinh xac
 
chuong 2. phep dem
chuong 2. phep demchuong 2. phep dem
chuong 2. phep dem
 
HÀM SỐ LƯỢNG GIÁC
HÀM SỐ LƯỢNG GIÁCHÀM SỐ LƯỢNG GIÁC
HÀM SỐ LƯỢNG GIÁC
 
Chuong01
Chuong01Chuong01
Chuong01
 
đồ Thị hàm số chứa giá trị tuyệt đối
đồ Thị hàm số chứa giá trị tuyệt đốiđồ Thị hàm số chứa giá trị tuyệt đối
đồ Thị hàm số chứa giá trị tuyệt đối
 
chuong 1. co so logic
chuong 1. co so logicchuong 1. co so logic
chuong 1. co so logic
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
 
Bt dai so hoang
Bt dai so hoangBt dai so hoang
Bt dai so hoang
 
My linh ip_sec_slide
My linh ip_sec_slideMy linh ip_sec_slide
My linh ip_sec_slide
 
Linux và mã nguồn mở
Linux và mã nguồn mởLinux và mã nguồn mở
Linux và mã nguồn mở
 

Ähnlich wie Lý thuyết tính toán - BKHN - 2

6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
bale102
 
Lý thuyết tính toán - BKHN - 1
Lý thuyết tính toán - BKHN - 1Lý thuyết tính toán - BKHN - 1
Lý thuyết tính toán - BKHN - 1
Minh Lê
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
Hồ Lợi
 
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Bui Loi
 

Ähnlich wie Lý thuyết tính toán - BKHN - 2 (20)

6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
6b49ae50-67be-40a7-b710-bf434c6c4373Chuong-1.-Dai-cuong-ve-ngon-ngu-va-bieu-d...
 
Automata slide v1
Automata slide v1Automata slide v1
Automata slide v1
 
Automata slide DHBKHCM [S2NUCE.blogspot.com]
Automata slide DHBKHCM  [S2NUCE.blogspot.com]Automata slide DHBKHCM  [S2NUCE.blogspot.com]
Automata slide DHBKHCM [S2NUCE.blogspot.com]
 
Nguồn đồng dư.pdf
Nguồn đồng dư.pdfNguồn đồng dư.pdf
Nguồn đồng dư.pdf
 
Luận văn: Nguồn với tập nhãn gồm các số đồng dư, HOT, 9đ
Luận văn: Nguồn với tập nhãn gồm các số đồng dư, HOT, 9đLuận văn: Nguồn với tập nhãn gồm các số đồng dư, HOT, 9đ
Luận văn: Nguồn với tập nhãn gồm các số đồng dư, HOT, 9đ
 
Automata slide
Automata slide Automata slide
Automata slide
 
Bg automat
Bg automatBg automat
Bg automat
 
Lttt
LtttLttt
Lttt
 
Bài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh HoàngBài giảng chuyên đề - Lê Minh Hoàng
Bài giảng chuyên đề - Lê Minh Hoàng
 
Đại-số-tuyến-tính.pdf
Đại-số-tuyến-tính.pdfĐại-số-tuyến-tính.pdf
Đại-số-tuyến-tính.pdf
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
07 mat102-bai 4-v1.0
07 mat102-bai 4-v1.007 mat102-bai 4-v1.0
07 mat102-bai 4-v1.0
 
Lý thuyết tính toán - BKHN - 1
Lý thuyết tính toán - BKHN - 1Lý thuyết tính toán - BKHN - 1
Lý thuyết tính toán - BKHN - 1
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
 
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
 
Regular Expression - Ngôn Ngữ Hình Thức && automat
Regular Expression -  Ngôn Ngữ Hình Thức && automatRegular Expression -  Ngôn Ngữ Hình Thức && automat
Regular Expression - Ngôn Ngữ Hình Thức && automat
 
Chuong4 uni
Chuong4 uniChuong4 uni
Chuong4 uni
 
Toan cao cap a1
Toan cao cap a1Toan cao cap a1
Toan cao cap a1
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]
 

Mehr von Minh Lê (10)

Robust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like MechanismsRobust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like Mechanisms
 
how neurons connect to each others?
how neurons connect to each others?how neurons connect to each others?
how neurons connect to each others?
 
Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7Lý thuyết tính toán - BKHN - 7
Lý thuyết tính toán - BKHN - 7
 
Lý thuyết tính toán - BKHN - 4
Lý thuyết tính toán - BKHN - 4Lý thuyết tính toán - BKHN - 4
Lý thuyết tính toán - BKHN - 4
 
Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6Lý thuyết tính toán - BKHN - 6
Lý thuyết tính toán - BKHN - 6
 
Xây dựng tag cloud bằng cây n-gram
Xây dựng tag cloud bằng cây n-gramXây dựng tag cloud bằng cây n-gram
Xây dựng tag cloud bằng cây n-gram
 
Cross-entropy method
Cross-entropy methodCross-entropy method
Cross-entropy method
 
Cross-entropy method
Cross-entropy methodCross-entropy method
Cross-entropy method
 
Parsimony problems
Parsimony problemsParsimony problems
Parsimony problems
 
Food expert system
Food expert systemFood expert system
Food expert system
 

Lý thuyết tính toán - BKHN - 2

  • 1. Chương 2: Ngôn ngữ và sự phân cấp Chomsky Nội dung: • Khái niệm ngôn ngữ • Cách biểu diễn ngôn ngữ • Văn phạm • Sự phân lớp văn phạm 1
  • 2. Ký hiệu, bộ chữ cái, chuỗi Ký hiệu (symbol): là một thực thể trừu tượng mà ta không định nghĩa được một cách hình thức • Các chữ cái a, b, c … hoặc các số 1, 2, 3 … Bộ chữ cái (alphabet): Σ • Là một tập (không rỗng) các ký hiệu nào đó • Bộ chữ cái Latin {A, B, C, …, a, b, c, …, z} Chuỗi (string): một chuỗi (hay một từ - word) trên bộ chữ cái Σ • Là một dãy hữu hạn các ký hiệu của Σ • Một ký hiệu có thể xuất hiện nhiều lần 2
  • 3. Chuỗi Độ dài chuỗi: là số các ký hiệu tạo thành chuỗi • |abca| = 4 Chuỗi rỗng: ký hiệu ε, là chuỗi không có ký hiệu nào • |ε| = 0 Chuỗi con: chuỗi v là chuỗi con của w nếu v được tạo bởi các ký hiệu liền kề nhau trong chuỗi w. • Chuỗi 10 là chuỗi con của chuỗi 010001 Chuỗi tiền tố: là chuỗi con bất kỳ nằm ở đầu chuỗi Chuỗi hậu tố: là chuỗi con bất kỳ nằm ở cuối chuỗi • Chuỗi abc có các tiền tố a, ab, abc • Chuỗi 0246 có các hậu tố 6, 46, 246, 0246 3
  • 4. Chuỗi Chuỗi nối kết (ghép): là chuỗi được tạo thành bằng cách viết chuỗi thứ nhất, sau đó viết chuỗi thứ hai, ... • Nối ghép của chuỗi Long và Int là LongInt • Nối kết của chuỗi rỗng: εw = wε = w (với mọi w) → ε là đơn vị của phép nối kết Chuỗi đảo ngược: của chuỗi w, ký hiệu wR, là chuỗi w được viết theo thứ tự ngược lại. w = abcd → wR = dcba εR = ε 4
  • 5. Ngôn ngữ (Languages) Tổng quan về ngôn ngữ: • Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, … • Ngôn ngữ lập trình: Pascal, C/C++, … • Là tập hợp các câu theo cấu trúc quy định nào đó • Biểu thị các ý nghĩ, các sự kiện hay các khái niệm • Bao gồm một tập các ký hiệu và các quy tắc để vận dụng chúng 5
  • 6. Ngôn ngữ (Languages) Một ngôn ngữ (hình thức) L là một tập hợp các chuỗi của các ký hiệu từ một bộ chữ cái Σ nào đó. Σ* và Σ +: ● Σ* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng ε, sinh ra từ bộ chữ cái Σ. ● Σ+ : tập hợp tất cả các chuỗi con, ngoại trừ chuỗi rỗng ε, sinh ra từ bộ chữ cái Σ. Σ* = Σ+ + {ε} Σ+ = Σ* - {ε} ● Σ = {0,1} thì: ✔ Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, …} ✔ Σ+ = {0, 1, 00, 01, 10, 11, 000, …} ✔ Chuỗi 010210 ∉ Σ* vì có số 2 ∉ Σ 6
  • 7. Các phép toán trên ngôn ngữ Phép phần bù (complement): L = Σ* - L Phép nối kết (concatenation): L1L2 = {w1w2 | w1 ∈ L1 và w2 ∈ L2} trên bộ chữ cái Σ1 ∪ Σ2 • LLL…LL = Li (kết nối i lần trên cùng ngôn ngữ L) • L0 = {ε} 7
  • 8. Các phép toán trên ngôn ngữ Phép bao đóng (closure): thành lập một ngôn ngữ bằng cách kết nối các chuỗi (với số lượng bất kỳ) các chuỗi của một ngôn ngữ L cho trước ∞  Bao đóng Kleene: L* = ∪ Li i=0 ∞  Bao đóng dương (positive): L+ = ∪ Li i=1 Chú ý: L+ = L*L = LL* L* = L+ ∪ {ε} Ví dụ: cho L = {a, ba} • L2 = {aa, aba, baa, baba} • L3 = {aaa, aaba, abaa, ababa, baaa,baaba, babaa, bababa} • L* = {ε, a, ba, aa, aba, baa, baba, aaa, aaba, …} 8
  • 9. Biểu diễn ngôn ngữ Liệt kê chuỗi: L = {aa, aba, baa, baba} Mô tả đặc điểm chủ yếu: L = {ai | i là số nguyên tố} Biểu diễn thông qua văn phạm và automata: • Cho phép biểu diễn ngôn ngữ một cách tổng quát • Văn phạm: cơ chế sản sinh ra mọi chuỗi của ngôn ngữ • Automata: cơ chế cho phép đoán nhận một chuỗi bất kỳ có thuộc một ngôn ngữ L hay không 9
  • 10. Định nghĩa văn phạm Theo từ điển, văn phạm là một tập các quy tắc về cấu tạo từ và các quy tắc về cách thức liên kết từ lại thành câu Định nghĩa: văn phạm cấu trúc G là một hệ thống gồm 4 thành phần G(V, T, P, S) • V (variables): tập các biến (VD: A, B, C, …) • T (terminal): tập các ký hiệu kết thúc (V ∩ T = Ø) (VD: a, b, c, …, w, x, y, ...) • P (production): tập luật sinh, dạng α→β với α, β ∈ (V ∪ T)* • S (start): ký hiệu bắt đầu (S ⊂ V) 10
  • 11. Định nghĩa văn phạm Dẫn xuất trực tiếp: nếu α→β là một luật sinh thì γ α δ ⇒ γ βδ Dẫn xuất gián tiếp: nếu các chuỗi α1, α2, ...., αm ∈ Σ* và α1 ⇒ α2, α2 ⇒ α3, ..., αm-1 ⇒ αm thì αm có thể được dẫn xuất từ α1 α1 ⇒* αm Ngôn ngữ L sinh bởi văn phạm G: L (G) = {w | w ∈ T * và S ⇒* w} Văn phạm tương đương: là 2 văn phạm sinh ra cùng một ngôn ngữ (G1 tương đương G2 ⇔ L(G1)=L(G2) ) 11
  • 12. Phân cấp Chomsky trên văn phạm Bằng cách áp đặt một số quy tắc hạn chế trên các luật sinh, Noam Chomsky đề nghị một hệ thống phân loại các văn phạm dựa vào tính chất của các luật sinh. Loại 0 – Văn phạm không hạn chế (Unrestricted Grammar): không cần thỏa điều kiện ràng buộc nào trên tập các luật sinh Loại 1 – Văn phạm cảm ngữ cảnh (CSG – Context Sensitive Grammar): nếu văn phạm G có các luật sinh dạng α→β và |β| ≥ |α| Loại 2 – Văn phạm phi ngữ cảnh (CFG – Context- Free Grammar): có luật sinh dạng A→α với A là một biến đơn và α là chuỗi các ký hiệu thuộc (V ∪ T)* 12
  • 13. Phân cấp Chomsky trên văn phạm Loại 3 – Văn phạm chính quy (RG – Regular Grammar): có mọi luật sinh dạng tuyến tính phải hoặc tuyến tính trái. • Tuyến tính phải: A → wB hoặc A → w • Tuyến tính trái: A → Bw hoặc A → w Với A, B là các biến đơn, w là chuỗi ký hiệu kết thúc (có thể là rỗng) Nếu ký hiệu L0, L1, L2, L3 là các ngôn ngữ được sinh ra bởi văn phạm loại 0, 1, 2, 3, ta có: L3 ⊂ L2 ⊂ L1 ⊂ L0 13
  • 14. Các ví dụ về văn phạm Ví dụ 1: văn phạm G( {S, A}, {a, b}, P, S ) S → aS S → aA P= A → bA A→b Đây là văn phạm loại 3 (dạng tuyến tính phải) Một dẫn xuất từ S có dạng: S → aS → aaS → aaaA → aaabA → aaabbA → aaabbbA → aaabbbb = a3 b4 ⇒ L(G) = a+b+ = {anbm | n,m ≥ 1} 14
  • 15. Các ví dụ về văn phạm Ví dụ 2: văn phạm G( {S}, {a, b}, P, S ) S → aSb P= S → ab Đây là văn phạm loại 2 (dạng A→α ) Một dẫn xuất từ S có dạng: S → aSb → aaSbb → aaaSbbb → aaaabbbb = a4b4 ⇒ L(G) = {anbn | n ≥ 1} 15
  • 16. Các ví dụ về văn phạm Ví dụ 3: văn phạm G( {S, B, C}, {a, b, c}, P, S ) S → aSBC S → aBC CB → BC P= aB → ab bB → bb bC → bc cC → cc Đây là văn phạm loại 1 Một dẫn xuất từ S: S → aSBC → aaBCBC → aabCBC → aabBCC → aabbCC → aabbcC → aabbcc=a2b2c2 ⇒ L(G) = {anbncn | n ≥ 1} 16
  • 17. Định nghĩa ôtômát (automata) Định nghĩa: là máy trừu tượng có cơ cấu và hoạt động đơn giản nhưng có khả năng đoán nhận ngôn ngữ • Con người phải lập trình sẵn cho máy một ‘lộ trình’ để thực hiện INPUT Bộ điều khiển OUTPUT BỘ NHỚ 17
  • 18. Phân loại automata Automata đơn định (Deterministic Automata): • Mỗi bước di chuyển chỉ được xác định duy nhất bởi cấu hình hiện tại (hàm chuyển của automata là đơn trị) Automata không đơn định (Non-deterministic Automata): • Tại mỗi bước di chuyển, nó có vài khả năng để lựa chọn (hàm chuyển của automata là đa trị) 18