1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGÔN NGỮ CHÍNH QUY BIỂU THỨC CHÍNH QUY

16 769 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 16
Dung lượng 104,11 KB

Nội dung

1 Chương 2 NGÔN NGỮ CHÍNH QUY, BIỂU THỨC CHÍNH QUY • I.Ngôn ngữ Chính quy & Biểu thức chính quy. • II. Văn phạm chính quy suy rộng • III. Quan hệ giữa NNCQ VÀ NNCQ suy rộng 2 1. Ngôn ngữ chính quy • Các phép toán trên tập các ngôn ngữ. Giả sử L 1 , L 2 là hai ngôn ngữ trên từ điển V, khi đó định nghĩa: • Phép tuyển. Tuyển của hai ngôn ngữ này là • L 1 ∪ L 2 = {w | w∈ L 1 , hoặc w∈ L 2 } • Phép ghép. Ghép hai ngôn ngữ này là L 1 .L 2 = {αβ | α ∈ L 1 , β∈ L 2 } • Phép lặp (Phép đóng Kleene). Với ngôn ngữ L trên V định nghĩa phép lặp của L là ngôn ngữ L*: • { } λ == =∪∪= − ∞ = 01 0 3210 ;. , * LLLE LLLLLL nn n n   1.Ngôn ngữ chính quy. • Giả sử V= {a 1 ,a 2 , ,a n }, ngôn ngữ φ và ngôn ngữ {a i } gọi là các ngôn ngữ sơ cấp trên V. • Định nghĩa ngôn ngữ chính quy. • a) Các ngôn ngữ sơ cấp trên V gọi là NNCQ trên V ; • b) Nếu E và F là hai NNCQ trên V thì E ∪ F , E.F và E * cũng là các ngôn ngữ chính quy trên V; • c) Không có NNCQ nào khác trên V ngoài các NNCQ được định nghĩa trong các bước a) và b) ở trên. • Để diễn đạt NNCQ người ta dùng khái niệm BTCQ. 3 2.Biểu thức chính quy • Trên bảng V ta định nghĩa đệ quy Biểu thức chính quy như sau: a) φ là BTCQ, nó biểu diễn ngôn ngữ rỗng. b ) λ là một BTCQ, nó biểu diễn ngôn ngữ {λ} c) Nếu a∈V thì a là một BTCQ nó biểu diễn ngôn ngữ {a}; d) Giả sử r và s là 2 BTCQ trên V biểu diễn 2 ngôn ngữ chính quy R và S tương ứng khi đó: • (r) ∪ (s) là BTCQ biểu diễn ngôn ngữ R ∪ S • (r).(s) là BTCQ biểu diễn ngôn ngữ R.S • (r)* là BTCQ biểu diễn ngôn ngữ R* Định lý 1. Một ngôn ngữ trên V là chính quy khi và chỉ khi nó biểu diễn được bằng một BTCQ. 4 3. Văn phạm & ngôn ngữ chính quy suy rộng Định nghĩa. a.Văn phạm G={T,N,S,P} gọi là Văn phạm chính quy suy rộng nếu và chỉ nếu các sản xuất dạng A→ aB, A →a, A → λ, ở đây A, B∈N còn a∈T, λ- xâu rỗng . b.Ngôn ngữ do VPCQ suy rộng sinh ra gọi là ngôn ngữ chính quy suy rộng. Dễ thấy: • L VPCQ = L VPCQSR \ {λ}. • Định lý 2 . Ngôn ngữ L⊆L* là NNCQ khi và chỉ khi có VPCQ suy rộng G={T,N,S,P} sao cho L(G)=L. 5 4.Một số ví dụ. 6 BTCQ (suy rộng) VPCQ (suy rộng) NNCQ (suy rộng) Sinh raBiểu diễn 4.Một số ví dụ. • Ví dụ 1.Cho A= {0, 11 } và B= {1, 10,110 } với Σ={0,1}. Tìm A∪B, B.A. • Bài giải. A ∪B={0,11}∪{1,10,110} ={0,11,1,10,110} A.B={01,010,0110, 111,1110,11110} • Ví dụ 2. Cho A={0}, B={0,1}, C={11}. Tìm A*, B* và C*. • Bài giải. A*={λ}∪A 1 ∪A 2 ∪…={λ} ∪{0}∪{0}{0} ∪ ={λ,0,0 2 , 0 3 ,…} B*={λ}∪B 1 ∪B 2 ∪B 3 ∪…={λ} ∪{0,1}∪{0,1}{0,1} ∪ … = Σ* = {λ, 0, 1, 00, 01, 10,11, 000,001,…} C*={λ}∪C 1 ∪C 2 ∪…={λ,11, 1111, 111111,… = {11 }*= {λ,1 2n } 7 4.Một số ví dụ. • Ví dụ 3. Cho các biểu thức chính quy trên Σ={0,1} sau: • 10*, (10)*, 0 ∪01, 0(0∪1)* và 00(0∪1)*11. • Hãy tìm NNCQ trên Σ được biểu diễn bởi các BTCQ trên. • Bài giải. • 10* biểu diễn NNCQ {10 n , n≥0} (10)* biểu diễn NNCQ {(10) n , n≥0} 0 ∪01 biểu diễn NNCQ {0, 01} 0(0∪1)* biểu diễn NNCQ {0w | w ∈ {0,1 }* }; 00(0∪1)*11 biểu diễn NNCQ {00w11 | w ∈ {0,1 }* }; 8 4.Một số ví dụ. Ví dụ 4. Tìm các NNCQ có các BTCQ quy trên Σ={0,1} sau đây: • a) 00*1 b)(0∪1)(0,1)(0,1)*0000* • c) 0*∪111*(00)* d) (1∪10)* Bài giải. a) 00*1 có NNCQ L={00 n 1 | n≥0 } b) (0∪1)(0∪1)(0∪1)*0000* có NNCQ L= {00w0 n , 01w0 n , 10w0 n , 11w0 n | n≥3 } c) 0*∪111*(00)* có NNCQ L= {0 n , 111 m 0 2k | n,m,k≥0 } d) (1∪10)* có NNCQ L= {λ }∪ {1, 10 }∪{1, 10 }{1,10 }∪ … = {λ, 1, 10, 11,101, 110, 1010, | n≥0 } gồm xâu rỗng và các xâu có số 1 đứng đầu và không có hai số 0 liền nhau 9 4.Một số ví dụ. • Ví dụ 5. Cho VPCQ suy rộng G=<Σ,∆,I,P> với P={I→1A, I→λ,I→0, A→0B, B→1B, B→1}, Tìm : a) L(G)=? b) Tìm BTCQ trên Σ, Bài giải. a) L(G)={0, λ, 101 n | n≥1} b) 0∪ λ ∪ 1011* Ví dụ 6. Cho BTCQ abba*b ∪ abaa*b ∪ abbb. Xây dựng VPCQ sinh ra NNCQ suy rộng được biểu diễn bởi BTCQ trên. Bài giải. NNCQ ứng với BTCQ trên: L={abba n b, abaa m b, abbb| n≥0} 10 [...]... dẫn xuất đầy đủ của các xâu trong L Ví dụ 8 Cho ngôn ngữ L={λ, 1w1 , 0 | w∈ {0,1 }*} Xây dựng VPCQ suy rộng G={T,N,S,P} sao cho L(G)=L và chỉ ra BTCQ biểu diễn L 12 4.Một số ví dụ Bài giải • • Σ={0,1}, ∆={S, A} P={S→ λ, S→1A, A→0A, A→1A, A→ λ, S→0} D(λ)=D(S,λ), D(1w1)=D(S,1A, 1wA, 1w1A, 1w1) D(0)=D(S, 0) • BTCQ của L là λ ∪1(0∪1)*1∪0 Ví dụ 9 Cho ngôn ngữ n m L={λ, 0 1w , 1 0w, 1w | n,m ≥1, w∈ {0,1... n,m ≥1, w∈ {0,1 }*} Xây dựng VPCQ suy rộng G={T,N,S,P} sao cho L(G)=L và chỉ ra BTCQ biểu diễn L 13 4.Một số ví dụ Bài giải • • Σ={0,1}, ∆={S, A,B,C,D,E} P={S→ λ, S→0A, A→0A, A→1B, B→0B, B→1B, B→ λ, S→1C, C→1C, C →0D , D→0D, D→1D, D→ λ, S→1E, E→0E, E→1E, E→ λ} Có thể CM G sinh ra L bằng cách tìm các dẫn xuất đầy đủ BTCQ biểu diễn L(G)=L là: λ ∪ 00*1(0∪1)* ∪ 11*0(0∪1)*∪1(0∪1)* 14 4.Một số ví dụ • Ví dụ... I→aB1, B1→bB2, B2→aB3, B3→aB3, B3→b, I→aC1, C1→bC2, C2 →bC3, C3→ b Các xâu trong NNCQ đều có dẫn xuất đầy đủ trong G Ví dụ 7 Cho BTCQ 00(111)*00 ∪ 1(00)*1 ∪ 01* ∪ 11 ∪ λ a) Hãy tìm NNCQ suy rộng được biểu diễn bởi BTCQ trên b) Xây dựng VPCQ suy rộng sinh ra NNCQ suy rộng trên Bài giải a) NNCQ suy rộng n m k L(G)={00(111) 00, 1(00) 1, 01 , 11, λ |n,m,k≥0} 11 4.Một số ví dụ • b) VPCQ suy rộng sinh ra . 2 NGÔN NGỮ CHÍNH QUY, BIỂU THỨC CHÍNH QUY • I .Ngôn ngữ Chính quy & Biểu thức chính quy. • II. Văn phạm chính quy suy rộng • III. Quan hệ giữa NNCQ VÀ NNCQ suy rộng 2 1. Ngôn ngữ chính quy. * LLLE LLLLLL nn n n   1 .Ngôn ngữ chính quy. • Giả sử V= {a 1 ,a 2 , ,a n }, ngôn ngữ φ và ngôn ngữ {a i } gọi là các ngôn ngữ sơ cấp trên V. • Định nghĩa ngôn ngữ chính quy. • a) Các ngôn ngữ sơ cấp trên. BTCQ. 3 2 .Biểu thức chính quy • Trên bảng V ta định nghĩa đệ quy Biểu thức chính quy như sau: a) φ là BTCQ, nó biểu diễn ngôn ngữ rỗng. b ) λ là một BTCQ, nó biểu diễn ngôn ngữ {λ} c) Nếu a∈V

Ngày đăng: 09/06/2015, 01:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w