Đặc trưng của mã luân phiên

Một phần của tài liệu Về độ nhập nhằng của ngôn ngữ và ứng dụng (Trang 33 - 39)

Khi xây dựng các lớp mã mới, một trong các bài toán cơ bản đặt ra là bài toán kiểm định tính chất mã của ngôn ngữ (chính quy) cho trước. Các định lý

sau thể hiện đặc trưng cần và đủ đối với một cặp ngôn ngữ X, Y cho trước có

là mã luân phiên chẵn, mã luân phiên hay không và các định lý này cũng tạo cơ sở cho ta thiết lập các thuật toán kiểm tra tính chất mã luân phiên chẵn, mã luân phiên trong phần sau.

Định lý 2.13. Cho X, Y A+. Khi đó, cặp (X, Y) là mã luân phiên chẵn khi và chỉ khi hai điều kiện sau được thỏa mãn:

(i) (X, Y) có tích không nhập nhằng. (ii) Z = XY là mã.

Chứng minh. () Ta chứng minh, nếu (X, Y) LEALT thì (X,Y) có tích không

nhập nhằng và Z = XY LC.

Theo định nghĩa tích không nhập nhằng và định nghĩa mã luân phiên chẵn, suy ra (X,Y) có tích không nhập nhằng.

Nếu Z = X Y LC, khi đó tồn tại từ w  Z+ có hai phân tích khác nhau trong Z: w = z1z2 . . . zn = z1z2 . . . zm , trong đó zi = xiyi , zi = xiyi, với xi

, xj  X , yi , yj  Y , i = 1,...,n, j = 1,...,m. Rõ ràng, đây là hai phân tích luân phiên cùng kiểu khác nhau của từ w theo (X, Y), mâu thuẫn.

() Ta chứng minh, nếu (X, Y) có tích không nhập nhằng và Z = X YLC thì (X, Y) LEALT .

Giả sử Z = X Y LC và (X, Y) có tích không nhập nhằng. Khi đó, từ hệ

thức x1y1x2y2 ... xnyn = x1y1x2y2 ... xmym , đặt zi = xiyi , zj = xjyj, ta có z1 ... zn = z1... zm với zi , zj Z, i = 1,...,n , j = 1,...,m. Do Z LC nên m = n, zi =

zi hay xiyi = xiyi, i = 1,...,n.

Từ giả thiết (X,Y) có tích không nhập nhằng và từ hệ thức xiyi = xiyi,

Định lý 2.14. Cho X, Y A*. Khi đó, cặp {X, Y}  LALT khi và chỉ khi bốn điều kiện sau đồng thời được thỏa mãn:

(i) XY là mã và X–1X  Y Y–1 – {} = ; (ii) Y–1(X Y)+ (X Y)+ = ;

(iii) (XY)+X–1  (X Y)+ = ;

(iv) (XY)+ (YX)+ = .

Chứng minh. () Giả sử {X, Y} LALT. Ta chứng minh phản chứng:

(i) Giả sử {X, Y} LALT, khi đó có 2 khả năng xẩy ra:

Trường hợp 1: X-1X YY-1 – {}  

Khi đó, tồn tại các từ u   , x1, x2  X , y1, y2  Y sao cho x1 = x2u, uy1 = y2 , ta có x1y1 = x2y2 với x1  x2. Suy ra, cặp {X, Y} LALT, mâu thuẫn. Do đó X- 1

X YY-1 – {} =

Trường hợp 2: Tích Z = XY không là mã, nghĩa là tồn tại từ w  A+ thừa nhận

hai sự phân tích khác nhau trong Z: w = z1z2 ... zn = z1’z2’ ... zm’ (z1  z1’), sao cho

z1 = x1y1, z2 = x2y2, ..., zn = xnyn , với xi  X, yi Y

z1’ = x1’y1’, z2’ = x2’y2’, ..., zm’ = xmym’ , với xj’ X, yj’ Y

rõ ràng, đây là hai sự phân tích luân phiên khác nhau của w theo X, Y. Suy ra

(ii). Giả sử Y-1(XY)+  (XY)+  , khi đó sẽ tồn tại y Y , u  Y-1(XY)+ 

(XY)+ sao cho: yz1z2 ... zn = z1’z2’ ... zm’ , zi ,zj’  XY , zi = xiyi , zj’ = xj’yj’, xi

,xj’ X, yi , yj’ Y, i=1,...,n , j=1,...,m.

Đặt w = yu  (XY)+, ta có w = z1’z2’ ... zm’. Mà u  (XY)+ suy ra u = x1y1 ...

xnyn. Do đó w = yx1y1 ... xnyn = x1’y1’ ... xm’ym’. Suy ra {X, Y} LALT, mâu thuẫn với giả thiết. Do đó Y-1(XY)+ (XY)+ = .

(iii). Giả sử (XY)+X-1  (XY)+  , khi đó sẽ tồn tại x  X , u  (XY)+X-1 

(XY)+ sao cho u = z1z2 ... zn và ux = z1z2 ... znx = z1’z2’ ... zm’ , zi ,zj’  XY mà

zi = xiyi , zj’ = xj’yj’, xi ,xj’ X, yi , yj’ Y, i=1,...,n , j=1,...,m.

Đặt w = ux  (XY)+, ta có w = z2’z2’ ... zm’. Mà u  (XY)+ suy ra u = x1y1 ...

xnyn. Do đó w = x1y1 ... xnynx = x1’y1’ ... xm’ym’. Suy ra {X, Y} LALT, mâu thuẫn với giả thiết. Do đó (XY)+X-1  (XY)+ = .

(iv). Giả sử (XY)+  (YX)+  , khi đó sẽ tồn tại một từ w  A+ thừa hai sự

phân tích khác nhau theo X, Y: w = x1y1 ... xnyn = y1’x1’... ym’xm’. Suy ra {X, Y}

LALT, mâu thuẫn với giả thiết. Do đó (XY)+  (YX)+ = . () Giả sử các điều kiện (i), (ii), (iii), (iv) đều được thỏa mãn.

Giả sử ngược lại {X, Y} LALT, khi đó sẽ tồn tại từ w  A+ thừa nhận hai

sự phân tích luân phiên khác nhau theo X, Y: w = u1u2 ... ui = u1’u2’ ... uj’ , i, j

 1, u1 u1’.

Xét tính chẵn lẻ của i, j ta có các trường hợp sau:

Trường hợp 1: u1 X, u1’  X

- Với i và j đều chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (X, Y): w = x1y1 ... xnyn = x1’y1’ ... xm’ym’ , thì tích XY không là mã, mâu thuẫn với (i).

- Với i và j đều lẻ. Nếu tồn tại từ w A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (X, Y): w = x1y1 ... xn = x1’y1’ ... xm’. Ta thêm y vào cuối hai phân tích, ta có:

w’ = x1y1 ... xny = x1’y1’ ... xm’y

suy ra w’ thừa nhận hai sự phân tích luân phiên khác nhau trong XY. Do đó

XY không là mã, mâu thuẫn với (i).

- Với i chẵn và j lẻ. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (X, Y): w = x1y1 ... ynxn = x1’y1’ ... xm’. Đặt u = x1’y1’ ... ym-1’xm-1’  (XY)+, thì w = uxm’ (XY)+. Khi đó u  (XY)+X-1, mâu thuẫn với (iii).

- Với i lẻ và j chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (X, Y): w = x1y1 ... xn = x1’y1’ ... xm’ym’. Đặt u = x1y1 ...

yn-1xn-1  (XY)+, thì w = uxn  (XY)+. Khi đó u  (XY)+X-1, mâu thuẫn với

(iii).

- Với i và j đều chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo X, Y: w = x1y1 ... xnyn = y1’x1’ ... ym’xm’  (XY)+ 

(YX)+. Suy ra (XY)+ (YX)+  , mâu thuẫn với (vi).

- Với i và j đều lẻ. Nếu tồn tại từ w A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo X, Y: w = x1y1 ... xn = y1’x1’ ... ym’. Xét w’ = w.w =

x1y1 ... xny1’x1’ ... ym’ = y1’x1’ ... ymx1y1 ... xn  (XY)+  (YX)+. Suy ra (XY)+

 (YX)+  , mâu thuẫn với (vi).

- Với i chẵn và j lẻ. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo X, Y: w = x1y1 ... ynxn = y1’x1’ ... ym’. Đặt u = x1’y2’ ...

xm-1’ym’ (XY)+ thì w = y1’u  (XY)+. Khi đó u Y-1(XY)+, mâu thuẫn với

(ii).

- Với i lẻ và j chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo X, Y: w = x1y1 ... xn = y1’x1’ ... ym’xm’. Ta thêm y vào cuối hai phân tích, ta có:

w’ = x1y1 ... xny = y1’x1’ ... ym’xm’y.

Đặt u = x1’y2’ ... xm’y  (XY)+ thì w’ = y1’u  (XY)+. Do đó u Y-1(XY)+, mâu thuẫn với (ii).

Trường hợp 3: u1 Y, u1’  Y

- Với i và j đều chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (Y, X): w = y1x1 ... ynxn = y1’x1’ ... ym’xm’. Ta thêm x

vào đầu và y vào cuối hai phân tích, ta có:

w’ = x y1x1 ... yn xn y = x y1’x1’ ... ym’xmy

suy ra w’ thừa nhận hai sự phân tích luân phiên trong XY. Do đó XY không

- Với i và j đều lẻ. Nếu tồn tại từ w A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (Y, X): w = y1x1 ... yn = y1’x1’ ... ym’. Ta thêm x vào

đầu hai phân tích, ta có:

w’ = x y1x1 ... xn-1yn = x y1’x1’ ... xm-1’ym

suy ra w’ thừa nhận hai sự phân tích luân phiên trong XY. Do đó XY không

là mã, mâu thuẫn với (i).

- Với i chẵn và j lẻ. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (Y, X): w = y1x1 ... ynxn = y1’x1’ ... ym’. Ta thêm x vào

đầu hai phân tích, ta có:

w’ = x y1x1 ... ynxn = x y1’x1’ ... ym

Đặt u = x y1 ... xn-1yn  (XY)+, thì w’ = u xn  (XY)+. Do đó u(XY)+X-1, mâu thuẫn với (iii)

- Với i lẻ và j chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân

phiên khác nhau theo (Y, X): w = y1x1 ... yn = y1’x1’ ... ym’xm’. Ta thêm x vào

đầu hai phân tích, ta có:

w’ = x y1x1 ... yn = x y1’x1’ ... ym’xm

Đặt u = x y1’ ... xm-1’ym’, thì w’ = u xm’ (XY)+. Do đó u  (XY)+X-1, mâu thuẫn với (iii).

Trường hợp 4: u1 Y, u1’  X

Chứng minh tương tự Trường hợp 2.

Một phần của tài liệu Về độ nhập nhằng của ngôn ngữ và ứng dụng (Trang 33 - 39)

Tải bản đầy đủ (PDF)

(95 trang)