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

Chương 2NGÔ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.. Ngôn ngữ chính quy • Các phép toán trên tập các ngôn ngữ... 2.Biểu thức chính quy• Trên bả

Trang 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

Trang 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ử L1, L2 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à

• L1∪ L2= {w | w∈ L1, hoặc w∈ L2}

• Phép ghép Ghép hai ngôn ngữ này là

L1.L2= {αβ | α ∈ L1, β∈ L2}

• 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*:

=

Trang 3

1.Ngôn ngữ chính quy.

• Giả sử V= {a1,a2, ,an }, ngôn ngữ φ và ngôn ngữ {ai} 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.

Trang 4

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

Trang 5

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:

• LVPCQ = LVPCQSR \ {λ}

Đị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

Trang 6

4.Một số ví dụ.

BTCQ (suy rộng) VPCQ (suy rộng)

NNCQ (suy rộng)

Sinh ra Biểu diễn

Trang 7

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*={λ}∪A1∪A2∪…={λ} ∪{0}∪{0}{0} ∪ ={λ,0,02, 03,…}

B*={λ}∪B1∪B2∪B3∪…={λ} ∪{0,1}∪{0,1}{0,1} ∪ …

= Σ* = {λ, 0, 1, 00, 01, 10,11, 000,001,…}

C*={λ}∪C1∪C2∪…={λ,11, 1111, 111111,…

= {11 }*= {λ,12n }

Trang 8

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 {10n , 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 }* };

Trang 9

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={00n1 | n≥0 }

b) (0∪1)(0∪1)(0∪1)*0000* có NNCQ

L= {00w0n, 01w0n, 10w0n, 11w0n | n≥3 }

c) 0*∪111*(00)* có NNCQ L= {0n, 111m02k | 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

Trang 10

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, λ, 101n | 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

Trang 11

4.Một số ví dụ.

• VPCQ sinh ra NNCQ :

• P={I→aA1, A1→bA2, A2→bA3,A3→ aA3, A3→ b,

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

L(G)={00(111)n00, 1(00)m1, 01k, 11, λ |n,m,k≥0}

Trang 12

4.Một số ví dụ.

• b) VPCQ suy rộng sinh ra NNCQ s.rộng trên là G={T,N,S,P}

• Với T= {0,1, λ}, N= {S, A1, A2, A3, A4, A5, B1, B2, D, E } trong đó:

• P={S→0A1, A1→0A2, A2→1A3, A3→1A4, A4→1A2,A2→0A5,

A5→0, S→1B1, B1 →0B2 , B2→0B1, B1→1,

S→0D, D→1, S→1E, E→1, S→λ }

• Kiểm ra các xâu 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

Trang 13

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ữ

L={λ, 0n1w , 1m0w, 1w | 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

Trang 14

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)*

Trang 15

4.Một số ví dụ.

• Ví dụ 1

Trang 16

4.Một số ví dụ.

• Ví dụ 1

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