Một số bài toán cơ bản trong nghiên cứu lý thuyết mã là: các tính chất liên quan đến sự phân tích một từ thành dãy các từ thuộc một tập cho trước; tính chất không nhập nhằng của ngôn ngữ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN ÁN TIẾN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 GS.TSKH.Đỗ Long Vân
2 PGS.TS.Phan Trung Huy
Hà Nội – 2012
Trang 3- 1 -
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, chưa từng được công bố trong bất kỳ một công trình khoa học của ai khác Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của đồng tác giả trước khi đưa vào luận án
Hà Nội, ngày 22 tháng 05 năm 2012
Hồ Ngọc Vinh
Trang 4- 2 -
MỤC LỤC
Trang
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 4
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 6
CHƯƠNG 1 : KHÁI NIỆM VÀ KẾT QUẢ LIÊN QUAN 12
1.1 Một số khái niệm 12
1.1.1 Cấu trúc đại số cơ bản 12
1.1.2 Đồng cấu 13
1.1.3 Từ và ngôn ngữ 14
1.1.4 Ngôn ngữ chính quy và Otomat hữu hạn 15
1.2 Mã và các tính chất của mã 21
1.2.1 Mã và vị nhóm tự do 21
1.2.2 Thủ tục Sardinas-Patterson kiểm tra tính chất mã 25
CHƯƠNG 2 : MÃ LUÂN PHIÊN 27
2.1 Tích không nhập nhằng 27
2.2 Mã luân phiên 30
2.3 Đặc trưng của mã luân phiên 36
CHƯƠNG 3 : -NGÔN NGỮ CHÍNH QUY VÀ OTOMAT MỞ RỘNG 47 3.1 Từ định biên 47
3.2 -ngôn ngữ chính quy 53
3.3 Vị nhóm biểu diễn -ngôn ngữ 65
Trang 5- 3 -
CHƯƠNG 4 : MÃ VỚI TỪ ĐỊNH BIÊN 71
4.1 Mã với từ định biên 71
4.2 Thuật toán kiểm tra -mã 80
4.3 Thuật toán kiểm tra -mã chặt 89
4.4 Thuật toán xác định độ trễ giải mã cho -mã 96
KẾT LUẬN VÀ KIẾN NGHỊ 103
TÀI LIỆU THAM KHẢO 105
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 109
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt Giải nghĩa
LC Lớp mã thông thường
LALT Lớp mã luân phiên
LWLALT Lớp mã luân phiên yếu trái
LWRALT Lớp mã luân phiên yếu phải
LEALT Lớp mã luân phiên chẵn
Trang 7- 5 -
DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Các Overlap của hai phân tích của từ w 31
Hình 2.2 Hai phân tích của w trong (XY)+ và (XY)+X–1 37
Hình 2.3 Các lớp thương Ui, Vj của hai phân tích 42
Hình 2.4 Quan hệ của các lớp mã đã xét trên A* 43
Hình 3.1 -otomat đa định A đoán nhận L 58
Hình 3.2 -otomat A∼ được mở rộng bão hòa từ A 58
Hình 3.3 Otomat A đoán nhận ngôn ngữ b*a 64
Hình 3.4 -otomat A sinh bởi otomat A 64
Hình 4.1 Phân bậc của các lớp mã 80
Hình 4.2 -ngôn ngữ có độ trễ giải mã hữu hạn d 96
Hình 4.3 Các lớp cắt Vd và Vd +1 99
Trang 8độ dài biến đổi, được nghiên cứu đầu tiên bởi Schüzenberger Một số bài toán cơ bản trong nghiên cứu lý thuyết mã là: các tính chất liên quan đến
sự phân tích một từ thành dãy các từ thuộc một tập cho trước; tính chất không nhập nhằng của ngôn ngữ trong quan hệ với mã; mã trong mối quan hệ với đại số, tổ hợp trên từ, lý thuyết ngôn ngữ hình thức và otomat Bảo mật thông tin là một hướng nghiên cứu luôn được nhiều người quan tâm nhằm xây dựng những hệ mật mã với độ an toàn cao, nhưng cho đến nay vẫn chưa có một hệ mật mã nào có thể có độ an toàn tuyệt đối Đây là động lực quan trọng thúc đẩy sự liên tục phải cải tiến, nghiên cứu xây dựng các hệ mã mới, cả về khía cạnh lý thuyết cũng như thực hành
Mã truyền thống được định nghĩa dựa trên sự phân tích duy nhất của một xâu văn bản được mã hóa thành tích các từ thuộc mã, trong đó tích của hai từ là phép nối ghép xâu Gần đây, một xu hướng mới trong nghiên cứu lý thuyết mã là các tác giả đưa vào xét các yếu tố điều khiển, nhập nhằng, đa trị để mở rộng khái niệm tích, từ đó cho phép xây dựng những lớp mã mới
Phân tích zigzag [34] là một tiếp cận mở rộng khái niệm tích, được
đề xuất bởi M Anselmo vào đầu những năm 1990 Trong sự khai triển tích zigzag có thể chứa các bước lùi khử từ, dẫn đến khái niệm mã zigzag (còn được gọi là Z-mã) Các vấn đề cơ bản đối với mã truyền thống như
Trang 9Trong [5], P T Huy, V T Nam đã đề xuất các hình thức mã mới,
là mã của một cặp hai ngôn ngữ (mã luân phiên, mã luân phiên chẵn) dựa vào phân tích luân phiên của hai ngôn ngữ trên một bảng chữ và thiết lập được một số tính chất cơ sở ban đầu về hai lớp mã mới này
Mã luân phiên, mã luân phiên chẵn là một phát triển mở rộng tự nhiên, nhưng không tầm thường của mã truyền thống Trong khi mỗi mã truyền thống là một ngôn ngữ X trên một bộ chữ nào đó thì mã luân phiên, mã luân phiên chẵn là một cặp {X,Y} của hai ngôn ngữ mà mỗi một trong chúng không nhất thiết phải là một mã truyền thống Mặt khác, nếu X là một mã truyền thống thì {X, X} là một mã luân phiên chẵn Như vậy mã luân phiên, mã luân phiên chẵn là một mở rộng thực
sự của mã truyền thống, hứa hẹn một khả năng ứng dụng rộng rãi hơn và khả năng thúc đẩy phát triển các nghiên cứu mới, sâu sắc hơn về ngôn ngữ nói chung, lý thuyết mã nói riêng Mã từ định biên được đề xuất trong luận án cũng nảy sinh từ nhu cầu nghiên cứu, xây dựng các thuật toán kiểm định mã luân phiên, mã luân phiên chẵn
Thật ra, thể hiện của một số hệ mã luân phiên, mã luân phiên chẵn
cụ thể đã xuất hiện và được sử dụng từ lâu trong thực tiễn như trong việc biểu diễn thông tin trong máy tính, trong phông chữ Unicode, trong mã sửa sai,… nhưng chưa được đề cập nghiên cứu trong lý thuyết mã trước
Trang 10đây Đó chính là những gợi ý ban đầu và là động lực cho việc nghiên cứu
mã luân phiên, mã luân phiên chẵn về mặt lý thuyết như một bộ phận của Lý thuyết mã nói riêng và Ngôn ngữ hình thức nói chung
Từ công trình của P T Huy, V T Nam, một câu hỏi tự nhiên đặt
ra là một hệ gồm bốn điều kiện (trong Định lý 2.3.4) có thiết yếu hay không?; có thể xây dựng các tiêu chuẩn cần và đủ để kiểm tra mã luân phiên đơn giản hơn hay không?
Một kết quả của luận án chỉ ra rằng 4 điều kiện đặc trưng của mã luân phiên trong Định lý 2.3.4 đã nêu là độc lập, nghĩa là thiết yếu, thể hiện sự khó khăn khi cần thiết lập một thuật toán để kiểm tra một cặp ngôn ngữ chính quy cho trước có là mã luân phiên hay không nếu dùng định lý này
Các tiếp cận mở rộng khái niệm tích đã gợi mở hướng nghiên cứu của luận án Trong đó, các yếu tố biên của từ được đưa vào làm cơ sở xây dựng các loại tích mới theo biên của một dạng từ mới (tích biên trên các
từ định biên) và từ đó đề xuất, nghiên cứu các lớp mã mới theo các tích này Với các lớp mã mới, luận án đã cho ta câu trả lời khẳng định đối với câu hỏi thứ hai nhờ đưa ra một mô tả khác của mã luân phiên, luân phiên chẵn dựa trên các từ định biên và cho phép biểu diễn mã luân phiên một cách đơn giản, giảm độ phức tạp của thuật toán kiểm định mã luân phiên
so với thuật toán kiểm tra trực tiếp hệ 4 điều kiện trong Định lý 2.3.4
Từ việc nghiên cứu các lớp mã từ định biên, cho phép ta nhận được một sơ đồ phân bậc tổng quát các lớp mã đã xét (xem thêm Hình 4.1), trong đó chỉ ra rằng mã truyền thống, mã luân phiên và -mã chặt là các lớp mã cực tiểu
Luận án đã tập trung nghiên cứu và giải quyết các vấn đề sau:
1) Xem xét và thiết lập mới một số tính chất cùng với đặc trưng cần và
đủ đối với các lớp mã dựa trên tích luân phiên
2) Đề xuất khái niệm từ định biên, từ đó xây dựng hình thức tích mới (tích biên) trên tập các từ định biên A*
Trang 11- 9 -
3) Nghiên cứu lớp ngôn ngữ của các từ định biên trên A*, đặc biệt là lớp ngôn ngữ chính quy của các từ định biên trong mối liên hệ với đại số và otomat thông qua các hình thức -otomat
4) Nghiên cứu các lớp mã mới dựa trên tích biên, mối quan hệ của nó với mã, mã luân phiên, mã luân phiên yếu trái (yếu phải), mã luân phiên chẵn và các bài toán cơ bản cho trường hợp lớp mã mới
5) Nghiên cứu độ trễ giải mã của lớp mã mới và thiết lập thuật toán xác định độ trễ giải mã cho lớp mã mới đã đề xuất ở trên
Nội dung của luận án gồm phần mở đầu, 4 chương, phần kết quả và thảo luận, phần kết luận và kiến nghị, phần tài liệu tham khảo
Chương 1 – Khái niệm và kết quả liên quan Chương này nhắc lại các khái niệm cơ sở về đại số, ngôn ngữ chính quy và otomat, trình bày mối liên hệ giữa ngôn ngữ với đại số Phần tiếp theo của chương giới thiệu về
lý thuyết mã, vị nhóm tự do, mối quan hệ giữa mã với vị nhóm tự do, thủ tục kiểm tra một ngôn ngữ cho trước có là mã hay không
Các chương tiếp theo trình bày các kết quả nghiên cứu chính của luận án
Chương 2 – Mã luân phiên Trong lý thuyết mã, yếu tố nhập nhằng đa trị sử dụng yếu tố ngữ cảnh như là tín hiệu nhiễu chèn vào tích các từ,
là một xu hướng được nhiều người quan tâm Trong chương này, nhắc lại khái niệm tích không nhập nhằng, mối quan hệ giữa tích không nhập nhằng và mã, khái niệm mã luân phiên chẵn, mã luân phiên Từ đó đề xuất hai lớp mã mới dựa trên tích luân phiên (mã luân phiên yếu trái,
mã luân phiên yếu phải) và thiết lập mới một số tính chất của tích không nhập nhằng, mã luân phiên chẵn, mã luân phiên yếu trái (yếu phải),
mã luân phiên trong quan hệ với mã, đồng cấu mã Các kết quả chính được thể hiện trong Mệnh đề 2.2.13 về mã luân phiên chẵn, mã luân phiên trong quan hệ với phép đồng cấu; các Định lý 2.3.1, Định lý 2.3.2, Định lý 2.3.3, Định lý 2.3.4 về các đặc trưng cần và đủ để 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 yếu trái (yếu phải), mã luân phiên hay không
Trang 12Chương 3 – -ngôn ngữ chính quy và otomat mở rộng Nếu như trong Chương 2, các lớp mã được biểu diễn theo tích luân phiên của hai ngôn ngữ thuộc A+ thì trong Chương 3 này, luận án trình bày hình thức tích luân phiên theo quan điểm đại số trên dạng từ mới - từ định biên và tích của các từ định biên trên tập các từ định biên A* Từ đó, cho phép ta đề xuất các khái niệm -ngôn ngữ chính quy, -otomat, -đoán nhận được
và nhận được một số kết quả rất cơ bản về -ngôn ngữ chính quy trên
A* (Định lý 3.3.8, -ngôn ngữ chính quy trong quan hệ với -otomat
đa định (đơn định) hữu hạn, -đồng cấu vị nhóm)
Chương 4 – Mã với từ định biên Chương này đưa ra bốn lớp mã mới (-mã, -mã yếu trái, -mã yếu phải, -mã chặt) dựa trên tích của các
từ định biên trên A* và biểu diễn lớp mã, mã luân phiên, mã luân phiên yếu trái (yếu phải), mã luân phiên chẵn dưới góc độ các phép toán đại số, cấu trúc đại số mới trên các từ định biên Từ đó, thiết lập mối quan hệ giữa -mã, -mã yếu trái (yếu phải), -mã chặt với mã luân phiên chẵn, mã luân phiên yếu trái (yếu phải), mã luân phiên qua các Định lý 4.1.13, Định lý 4.1.14, Định lý 4.1.15, Định lý 4.1.16 và xây dựng hai thuật toán kiểm tra tính chất mã của -mã, -mã chặt của một -ngôn ngữ chính quy cho trước cùng với đánh giá độ phức tạp của chúng
Hệ quả 4.2.14 và Hệ quả 4.3.7 đóng vai trò cơ sở cho phép đề xuất hai thuật toán hiệu quả kiểm tra 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ới độ phức tạp thấp hơn so với hai thuật toán được thiết lập trực tiếp nếu dựa vào các Định lý 2.3.1, Định lý 2.3.4
Các kết quả chính của luận án đã được công bố trong các công trình [1.], [2.], [3.], [4.], [5.], [6.], [7.], [8.] và đã được trình bày tại:
− Seminar tại phòng “Cơ sở Toán học của Tin học”, Viện Toán học
− Seminar tại bộ môn Toán Tin, khoa Toán - Tin ứng dụng, Đại học Bách khoa Hà Nội
− Hội thảo quốc gia lần thứ XII “Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông”, Biên Hòa, 5 - 6/8/2009;
Trang 13Luận án được hoàn thành tại Khoa Toán - Tin ứng dụng, Trường Đại học Bách khoa Hà Nội, dưới sự hướng dẫn của GS TSKH Đỗ Long Vân và PGS TS Phan Trung Huy Tác giả xin bày tỏ lòng biết ơn sâu sắc đối với các thầy hướng dẫn, những người thầy đã chỉ bảo tận tình, chỉ
ra hướng nghiên cứu lý thú để có được kết quả trong luận án này
Tác giả xin chân thành cảm ơn các thành viên trong Seminar “Cơ sở Toán học của Tin học”, Viện Toán học, đã giúp đỡ, động viên và đóng góp nhiều ý kiến quý báu khi thảo luận các kết quả của luận án
Tác giả xin trân trọng cảm ơn Ban lãnh đạo Khoa Toán - Tin ứng dụng và Viện Đào tạo Sau đại học, các thầy cô giáo cùng toàn thể cán bộ công nhân viên của Trường ĐHBK Hà Nội đã hỗ trợ giúp đỡ tác giả trong quá trình thực hiện luận án
Tác giả xin bày tỏ lòng biết ơn đến gia đình, bạn bè, Ban Giám hiệu Trường Đại học Sư phạm Kỹ thuật Vinh, các thầy cô giáo và các bạn đồng nghiệp Khoa CNTT đã tạo điều kiện thuận lợi và giúp đỡ tác giả trong quá trình học tập, nghiên cứu
Trang 14- 12 -
Chương 1
KHÁI NIỆM VÀ KẾT QUẢ LIÊN QUAN
Chương này trình bày các kiến thức cơ sở được sử dụng trong luận án Cụ thể sẽ nhắc lại một số khái niệm và tính chất cơ bản của mã, mối quan hệ giữa lý thuyết mã với đại số, ngôn ngữ hình thức, otomat
Về các kiến thức cơ sở có liên quan, xin xem thêm trong [1], [9], [11], [13], [14], [18]
1.1 Một số khái niệm
1.1.1 Cấu trúc đại số cơ bản
Cho M là một tập Một phép toán hai ngôi trên M là một ánh xạ
T : M × M → M Thay vì viết T(x, y), ta viết xTy, với mọi x, y ∈M Khi
T được viết theo lối nhân “.” thì ta viết đơn giản T(x, y) là x y (gọi là tích của x và y), còn khi T được viết theo lối cộng “+” thì ta viết T(x, y) là
x + y (gọi là tổng của x và y)
Trong toàn bộ luận án, theo thông lệ, nếu không nói gì khác ta quy ước phép toán hai ngôi T luôn được viết theo lối nhân
Một phép toán hai ngôi T trên M gọi là kết hợp nếu, ∀x, y, z ∈M, (x y)z = x(yz); gọi là giao hoán nếu, ∀x, y ∈M, x y = y x
Một tập khác rỗng M được gọi là nửa nhóm nếu trên M được trang
bị phép toán hai ngôi kết hợp Nửa nhóm là giao hoán nếu phép toán của
nó là giao hoán
Một phần tử e của nửa nhóm M được gọi là phần tử đơn vị nếu,
∀x ∈M, x e = x = ex Phần tử đơn vị của M nếu có thì xác định một cách duy nhất Do vậy, ta thường ký hiệu đơn vị của M là 1M
Trang 15- 13 -
Một tập khác rỗng M được gọi là vị nhóm nếu M là một nửa nhóm
và có phần tử đơn vị Vị nhóm con của M là tập con N, đóng kín đối với phép toán của M và chứa phần tử đơn vị của M , nghĩa là NN ⊆ N và
1M ∈N
Một phần tử x của vị nhóm M được gọi là khả nghịch nếu tồn tại phần tử x′ ∈ M sao cho x x′ = 1M = x′x Khi đó, x′ được xác định duy nhất bởi x và được gọi là phần tử nghịch đảo của x, ký hiệu là x–1 (nếu phép toán T được viết theo lối cộng thì phần tử nghịch đảo của x được gọi là phần tử đối của x, ký hiệu là -x ) Một vị nhóm được gọi là nhóm nếu mỗi phần tử của nó đều khả nghịch
1.1.2 Đồng cấu
Một cách tổng quát, một đồng cấu giữa hai cấu trúc đại số là một ánh xạ bảo toàn các phép toán Nghĩa là, một đồng cấu nửa nhóm là một ánh xạ ϕ từ một nửa nhóm M vào một nửa nhóm N sao cho ∀m1, m2 ∈M
ϕ(m1m2) = ϕ(m1)ϕ(m2) (1.1) Nếu M = N thì đồng cấu ϕ gọi là tự đồng cấu Nếu ϕ là đơn ánh (t.ứng, toàn ánh, song ánh) thì gọi là đơn cấu (t.ứng, toàn cấu, đẳng cấu), một tự đồng cấu song ánh gọi là một tự đẳng cấu
Tương tự, một đồng cấu vị nhóm là một ánh xạ ϕ từ một vị nhóm M vào một vị nhóm N thỏa mãn điều kiện (1.1) và
ϕ(1M) = 1N (1.2) với 1M là đơn vị của M , 1N là đơn vị của N
Đặc biệt, khi hai nửa nhóm M, N là nhóm thì mọi đồng cấu nửa nhóm từ M đến N là đồng cấu vị nhóm và là đồng cấu nhóm từ M đến N Một đồng cấu ϕ : M → N là một đẳng cấu nếu tồn tại một đồng cấu
β : N → M sao cho ϕ ◦β = IdN và β ◦ϕ = IdM
Trang 161.1.3 Từ và ngôn ngữ
Cho tập hợp các ký tự A gọi là bảng chữ cái Một từ w trên A là một xâu hữu hạn các phần tử của A, w = (a1, a2, , an), ai ∈A Một ngôn ngữ (hình thức) L là một tập hợp các từ của bảng chữ cái A nào đó Tập tất
cả các từ trên bảng chữ cái A, ký hiệu là A* và được trang bị phép toán kết hợp − là phép ghép nối hai xâu:
(a1, a2, , an) (b1, b2, , bm) = (a1, a2, , an, b1, b2, , bm)
Phép toán ghép nối có tính kết hợp Do đó, ta có thể viết:
w = a1a2 an thay cho cách viết w = (a1, a2, , an)
Mỗi phần tử a ∈A được gọi là một chữ cái Xâu không chứa chữ cái nào được gọi là xâu rỗng (hay từ rỗng), ký hiệu là 1 hoặc ε Từ rỗng là phần tử đơn vị của phép ghép nối Vì vậy, tập A* được trang bị cấu trúc của một vị nhóm và được gọi là vị nhóm tự do sinh bởi A Có thể thấy
A* = A0 ∪ A1 ∪ A2 … An … , với A0 = {ε}, A1 = A và An = An –1A Tập tất cả các từ khác rỗng trên A được ký hiệu là A+ Do đó, ta có:
A+ = A* − {ε} (1.3)
Số tất cả các xuất hiện của các chữ trong từ w là độ dài của w, ký hiệu là |w|, quy ước |ε| = 0 Với mỗi số nguyên dương n, ký hiệu A[n] là tập tất cả các từ trong A* có độ dài nhỏ hơn hoặc bằng n
Ký hiệu |w|a là số lần xuất hiện của chữ cái a ∈A trong w Khi đó:
∈
= ∑ a
a A
Ta nói, từ w ∈A* là một khúc con (factor) của một từ x ∈A* nếu ∃u,
v ∈ A* sao cho: x = uwv Một từ w ∈A* là một khúc đầu (prefix) của một
từ x ∈A* nếu ∃v ∈A* sao cho: x = wv Tương tự, một từ w ∈A* là một khúc đuôi (suffix) của một từ x ∈A* nếu ∃u ∈A* sao cho: x = uw Một khúc con (khúc đầu, khúc đuôi) là thực sự nếu uv ≠ ε (t.ứng, v ≠ ε, u ≠ ε)
Trang 17- 15 -
Một phân tích của một từ w ∈A* là một dãy {u1, u2, , un}, với n ≥ 0,
un ∈A*, i = 1, ,n sao cho w = u1u2 un Với X ⊆ A*, ta biểu diễn X* là
vị nhóm con sinh bởi X, với đơn vị là ε
X* = { x1x2 xn | n ≥ 0, xi ∈X } (1.5) Tương tự, ta biểu diễn X + là nửa nhóm con sinh bởi X
1.1.4 Ngôn ngữ chính quy và Otomat hữu hạn
1.1.4.1 Ngôn ngữ chính quy
Cho A là bảng chữ cái hữu hạn Biểu thức rỗng (∅) và các biểu thức
a ∈ A hoặc a = ε được gọi là các biểu thức sơ cấp trên A
− Các biểu thức chính quy trên A là các biểu thức được định nghĩa đệ quy như sau:
+ Các biểu thức sơ cấp trên A là các biểu thức chính quy trên A,
X+ = X (1.7)
* − {ε} Nếu ε ∉ X
X* Ngược lại
(1.8)
Trang 18+ Nếu E1 và E2 là các biểu thức chính quy trên A, thì các biểu thức
E1 + E2, E1.E2 và E1* là các biểu thức chính quy
Nói cách khác, một biểu thức trên A được gọi là biểu thức chính quy nếu nó được xây dựng từ các biểu thức sơ cấp bằng cách dùng một số hữu hạn lần các phép toán hợp, phép tích ghép và phép lặp
− Một ngôn ngữ chính quy trên A được biểu diễn bởi một biểu thức chính quy E trên A, ký hiệu L(E), được định nghĩa đệ quy như sau:
+ L(∅) = ∅, L(ε) = {ε}, L(a) = {a}, với mọi a ∈A,
+ Nếu E1 biểu diễn ngôn ngữ L1, E2 biểu diễn ngôn ngữ L2 thì L(E1+ E2) = L1 ∪ L2, L(E1.E2) = L1.L2, L(E1*) = L1*
Ta nói rằng ngôn ngữ được định nghĩa L(E) như trên là giá trị của biểu thức chính quy E Do đó, mỗi tập dạng {w}, w ∈A*, là ngôn ngữ chính quy trên A (xem thêm [1, tr 46])
Như vậy, tập hợp các ngôn ngữ được biểu diễn bởi các biểu thức chính quy trên A trùng với tập hợp các ngôn ngữ chính quy khác rỗng trên A Khi đó, ta có:
+ Một ngôn ngữ chính quy là vô hạn khi và chỉ khi biểu thức chính quy biểu diễn nó có chứa phép lặp
+ Mọi tập hữu hạn các từ trong A* đều là các ngôn ngữ chính quy trên A Như vậy từ định nghĩa suy ra: lớp các ngôn ngữ chính quy trên A là lớp bé nhất chứa các ngôn ngữ hữu hạn và ngôn ngữ trống, đóng đối với các phép hợp, phép tích ghép và phép lặp
− Biểu diễn đại số của ngôn ngữ chính quy:
Cho ϕ: A* → M là đồng cấu vị nhóm (ta có thể xem đồng cấu vị nhóm ϕ là toàn cấu vì nếu không thì ta thay M bởi vị nhóm con ϕ(A*) của M) Nếu L ⊆ A* thỏa mãn ϕ–1(ϕ(L)) = L thì ta nói rằng L thỏa bởi đồng cấu vị nhóm ϕ Vậy L thỏa bởi đồng cấu ϕ ⇔ ∃N ⊆ M sao cho
L = ϕ–1(N)
Trang 19- 17 -
Ta có tính chất sau:
Định lý 1.1.1 (xem [11, tr 62]) Cho L ⊆ A*, L là ngôn ngữ chính quy khi
và chỉ khi L thỏa bởi một đồng cấu vị nhóm ϕ: A* → M, với M là một vị
nhóm hữu hạn
Khi đó, vị nhóm hữu hạn M được gọi là vị nhóm biểu diễn ngôn ngữ L
Từ định nghĩa của đồng cấu và định nghĩa của ngôn ngữ chính quy, ta có
một số kết quả sau:
Mệnh đề 1.1.2 Cho X, Y ⊆ A* là hai ngôn ngữ chính quy, và hai đồng
cấu vị nhóm α: A* → M và β: A* → N lần lượt thỏa X và Y Khi đó, ta
luôn xây dựng được một đồng cấu (toàn cấu) vị nhóm ϕ: A* → P, với P là
một vị nhóm hữu hạn, thỏa đồng thời cả X và Y
Chứng minh Xét ϕ′ = α οβ : A* → M × N = P′
u → (α(u), β(u))
ε → (1M, 1N) = 1P′ , với 1P′ là đơn vị của P′
Theo giả thiết, tồn tại C ⊆ M, D ⊆ N mà X = α –1(C), Y = β–1(D) Đặt
C ′ = C × N = { (c, n) | c ∈C, n ∈N }, D′ = M × D = { (m, d) | m ∈M, d ∈D } Sau đây ta sẽ chứng minh: ϕ′–1(C ′) = X, ϕ′–1(D′) = Y Thật vậy,
ϕ: A* → P là toàn cấu, suy ra ϕ(u) = ϕ′(u) Vậy ϕ: A* → P thỏa đồng
Trang 20Ví dụ 1.1.3 Cho vị nhóm U1 = {0, 1}, với phần tử đơn vị là 1 và phần tử zero là 0 và cho ngôn ngữ X thỏa bởi một đồng cấu vị nhóm α: A* → M , ngôn ngữ Y = {ε} thỏa bởi đồng cấu vị nhóm β: A* → U1, được xác định bởi: β(ε) = 1, ∀u ∈A*, β(u) = 0 Dễ thấy rằng, cả X và Y cùng thỏa bởi toàn cấu ϕ: A* → P, với P ⊆ M ×U1 , được xác định bởi: ∀u ∈A*, ϕ(u) = (α(u), 0), 1P = ϕ(ε) = (1M, 1) Khi đó, P là vị nhóm được sinh bởi ϕ(u),
∀u ∈A* Nếu |M| là hữu hạn thì |P| ≤ 2.|M|
Từ Mệnh đề 1.1.2, ta có kết quả sau:
Hệ quả 1.1.4 Cho X, Y ⊆ A*
là hai ngôn ngữ chính quy Nếu X và Y cùng thỏa bởi toàn cấu vị nhóm ϕ: A* → P, với P là một vị nhóm hữu hạn, thì ϕ cũng thỏa mọi L ∈A(X,Y), trong đó A(X,Y) là lớp ngôn ngữ sinh bởi X, Y nhờ sử dụng hữu hạn các phép ∪, ∩, − và các phép thương trái, thương phải
Chứng minh Theo giả thiết X = ϕ–1(C), Y = ϕ–1(D), C, D ⊆ P
Với mọi x ∈X ∪ Y, ta có ϕ(x) ∈C hoặc ϕ(x) ∈D Suy ra X ∪ Y =
ϕ–1(C ∪ D) = ϕ–1(C) ∪ ϕ–1(D) Do đó, ϕ thỏa ngôn ngữ X ∪ Y Lập luận tương tự với phép ∩ và phép −
Theo định nghĩa: C–1D = { m ∈P | ∃c ∈C, c m = d ∈D ⊆ P } ⇒
X–1Y = ϕ–1(C–1D) Do đó ϕ thỏa ngôn ngữ X–1Y Lập luận tương tự với
Từ kết quả trên, ta có nhận xét sau:
Nhận xét 1.1.5 Cho X, Y là hai ngôn ngữ chính quy trên A và toàn cấu
vị nhóm ϕ: A* → P thỏa đồng thời cả X và Y, với P có cỡ |M|.|N| Theo
Hệ quả 1.1.4, ϕ thỏa đồng thời cả L = X ∪ Y, L = X ∩ Y, L = X−Y,
L = X–1Y, L = XY–1 Đặt X = ϕ–1(C), Y = ϕ–1(D), với C, D ⊆ P Suy
ra L = ϕ–1(K), với K = C ∪ D, K = C ∩ D, K = C−D, K = C–1D,
K = CD–1, K ⊆ P Khi đó, để tính K thì mất không quá |P|2 bước thực hiện Còn đối với vị nhóm X+, ta thực hiện như sau:
Trang 21- 19 -
Theo giả thiết X = ϕ–1(C), đặt K = ϕ(X+) và K1 = C, khi đó ta có
K = C+ Từ K1 = C, ta có K2 = (K1 ∪ {1P}).C ⊆ P, K3 = (K2 ∪ {1P}).C
⊆ P, , Ki +1 = (Ki ∪ {1P}).C ⊆ P Nếu Ki +1 = Ki thì dừng và ta thu được nửa nhóm K = Ki = C1 ∪ C2 ∪ là nửa nhóm đoán nhận X+
Độ phức tạp tính toán của mỗi bước tính Ki +1 từ Ki có cỡ |P|2 Vì dãy Ki là dãy tăng dần và bị chặn bởi |P|, do đó số bước tính các tập Ki
không vượt quá |P| bước, i ≥ 1 Vì vậy, độ phức tạp để tính nửa nhóm
K = C+ có cỡ |P|3
Bổ đề 1.1.6 Cho X, Y ⊆ A*
là hai ngôn ngữ chính quy và ϕ: A* → P là toàn cấu vị nhóm Nếu X, Y thỏa bởi ϕ thì (X+)–1Y, Y (X+)–1 cũng thỏa bởi ϕ
Chứng minh Theo giả thiết X = ϕ–1(C), Y = ϕ–1(D), với C, D ⊆ P Đặt
ϕ(X+) = K, khi đó C+ = K Ta chứng minh (X+)–1Y = ϕ–1(K–1D)
Với mọi w ∈(X+)–1Y, ta có x1x2 xnw = y, xi ∈X, y ∈Y, i = 1, ,n Suy ra ϕ(x1)ϕ(x2) ϕ(xn)ϕ(w) = ϕ(y) ∈D Từ ϕ(xi) ∈C, ta có ϕ(w)
∈(C+)–1D Vì vậy, w ∈ϕ–1(K–1D)
Ngược lại, chọn w ∈ϕ–1(K–1D), ta có ϕ(w) ∈K–1D = (C+)–1D, suy
ra tồn tại c ∈ C+ sao cho c.ϕ(w) ∈D Từ c ∈ C+, suy ra c = c1c2 cp, với
ci ∈C, i = 1, ,p Theo giả thiết, ϕ là toàn cấu và X = ϕ–1(C), tồn tại
xi ∈X sao cho ci = ϕ(xi), suy ra c = ϕ(x1x2 xp) Do đó, c.ϕ(w) = ϕ(x1x2
xpw), suy ra x1x2 xpw ∈ϕ–1(D) = Y Vì vậy w ∈(X+)–1Y
Chứng minh tương tự cho trường hợp Y (X+)–1 thỏa bởi ϕ
1.1.4.2 Otomat hữu hạn
Cho A là bảng chữ cái hữu hạn Một otomat đa định hữu hạn trên A
là một bộ gồm 5 thành phần A = (A, Q, E, I, T), với Q là tập hữu hạn các trạng thái; I ⊆ Q là tập các trạng thái khởi đầu; T ⊆ Q là tập các trạng thái kết thúc; E ⊆ Q×A×Q là tập các cung, xác định hàm chuyển trạng thái của otomat
Trang 22Mỗi cung là một bộ (qi, a, qj), với a ∈A, qi, qj ∈Q Khi đó, ta gọi là đường đi từ trạng thái qi đến trạng thái qj với nhãn a và được biểu diễn là:
qi a→ qj (1.9) Hai cung chuyển (p, a, q) và (p′, a′, q′) là kế tiếp (liền nhau) nếu q = p′ Một đường đi trong otomat A là một dãy các cung kế tiếp
từ rỗng Một đường đi P : q0 →qn được gọi là đường đi thành công nếu
q0 ∈I, qn ∈T Tập tất cả nhãn của các đường đi thành công của otomat Ađược ký hiệu là L(A) và được gọi là ngôn ngữ đoán nhận bởi A Một trạng thái qi∈Q được gọi là trạng thái đạt được nếu có một đường đi P: q0 →qi, với q0∈I
Hàm chuyển trạng thái δ: Q × A → Q được xác định bởi q ∈ δ(p, a), với (p, a, q) ∈E Ta có thể mở rộng hàm δ: Q×A → Q thành hàm δ: Q×A* → Q, gọi là hàm chuyển mở rộng của otomat A, được định nghĩa quy nạp theo độ dài của từ w ∈A*: δ(p, ε) = p và δ(p, wa) = δ(δ(p, w), a)
Do đó,
L(A) = { w ∈A* | ∃q0 ∈I sao cho δ(q0, w) ∈T } (1.12)
Một otomat hữu hạn A = (A, Q, E, I, T) được gọi là otomat đơn định hữu hạn nếu I có một phần tử và từ điều kiện (p, a, q), (p, a, q′) ∈E suy ra q = q′ Do đó, ta có thể xem các otomat đơn định hữu hạn như là các trường hợp đặc biệt của otomat đa định hữu hạn, với các hạn chế
δ(p, ε) = ∅ và |δ(p, a)| = 1
Trang 23- 21 -
Một ngôn ngữ L ⊆ A* được gọi là đoán nhận được nếu L = L(A), với
A là otomat đa định (đơn định) hữu hạn nào đó
Định lý 1.1.7 (xem [18, tr 156]) Một ngôn ngữ L là đoán nhận được khi
và chỉ khi L là ngôn ngữ chính quy
mã là mã, đặc biệt tập rỗng cũng là mã và mọi từ mã đều không chứa từ rỗng (do ε.ε = ε)
Một đơn cấu β: B* → A* được gọi là đồng cấu mã hay một phép mã hóa Điều kiện cần và đủ về phép mã hoá, biểu diễn qua đơn cấu vị nhóm được thể hiện qua mệnh đề sau
Mệnh đề 1.2.2 (xem [9, tr 38]) Nếu tập con X của A*
là mã thì mọi đồng cấu β: B* → A*, cảm sinh một song ánh từ bảng chữ cái B nào đó lên X,
sẽ là đơn cấu Ngược lại, nếu tồn tại một đơn cấu β: B* → A* sao cho
β(B) = X thì X là mã
Với khái niệm trên, quá trình mã hoá có thể coi là việc thay thế mỗi
từ b1b2 bn thuộc B* bằng từ mã β(b1)β(b2) β(bn) được xác định bởi đồng cấu mã β Sự kiện β là đơn ánh đảm bảo rằng từ mã có thể được giải mã duy nhất để thu được bản rõ ban đầu
Ví dụ 1.2.3 (a) Mã Morse XM là mã trên bảng chữ { , ∧ , − } dùng để
mã hóa các chữ a, b, …, z
Trang 24(b) Mã ASCII XA là một mã trên {0, 1} Ta thấy các từ của XM có độ dài khác nhau, còn mọi từ của XA có độ dài là 8
Từ Mệnh đề 1.2.2, ta có hệ quả sau:
Hệ quả 1.2.4 (xem [9, tr 39]) Cho α: A* → C* là một đơn cấu Nếu X là
mã trên A thì α(X) là mã trên C Nếu Y là mã trên C thì α–1(Y) là mã trên A
Hệ quả 1.2.5 (xem [9, tr 40]) Nếu X ⊆ A+ là mã thì Xn là mã, với mọi số nguyên n > 0
Cho tập X ⊆ A*, khi đó X gọi là tập prefix nếu không có từ nào trong
X là khúc đầu thực sự của một từ khác trong X Nói cách khác, tập X là prefix nếu với mọi x, y ∈X, nếu x là prefix của y thì x = y Hoặc X là prefix nếu X –1X = ∅
Ta có thể thấy rằng nếu X là tập prefix và chứa từ rỗng thì X = {ε} Ngược lại với định nghĩa tập prefix ta có định nghĩa tập suffix Tập X được gọi là tập suffix nếu không có từ x nào trong X là khúc đuôi thực sự của một từ y khác trong X Tập X được gọi là tập bifix nếu nó vừa là tập prefix, vừa là tập suffix Tập các prefix thực sự của tập X bất kỳ được ký hiệu là Pref(X), tương tự ta có tập Suff(X) Dễ thấy rằng Pref(X) = X(A+)−1 và Suff(X)=(A+)−1X
Ví dụ 1.2.6 Tập X = {abb, bb, bab} trên A = {a, b}, là tập prefix vì không tồn tại từ nào trong X có chứa khúc đầu cũng là từ trong X Tuy nhiên X không phải là suffix vì từ abb thuộc X có khúc đuôi bb thuộc X
Do đó X không phải là tập suffix
Ví dụ 1.2.7 Tập X = {abb, baa, bab} trên A = {a, b }, là tập prefix vì không tồn tại từ nào trong X có chứa khúc đầu cũng là từ trong X và
X cũng là suffix Do đó X là tập bifix
Từ định nghĩa mã và tập prefix, suffix và bifix, ta có các mệnh đề sau: Mệnh đề 1.2.8 (xem [9, tr 40]) Mọi tập prefix (suffix, bifix) khác {ε} đều
là mã
Trang 25do và mã
Mệnh đề 1.2.10 (xem [25, tr 103]) Một vị nhóm con M của A* là vị nhóm tự do khi và chỉ khi, với mọi w ≠ ε thuộc M, w có duy nhất một phân tích thành tích của các phần tử của X, với X = (M – {ε}) − (M − {ε})2
Cho M là một vị nhóm con của vị nhóm tự do A* Với mọi w ≠ ε
thuộc M, ta có thể viết w = w1w2 wn, với wi ∈X = (M − {ε}) − (M − {ε})2, i = 1,…,n Do đó, tập X là tập sinh của M Nếu X′ ⊆ (M − {ε}) là một tập sinh khác của M thì, với mọi w′ ∈X, w′ có thể viết thành w′ = w1′w2′ … wn′, với wi′ ∈X′ Hơn nữa, nếu n = 1 và w′ ∈X′ thì
X ⊆ X′ Ta có mệnh đề sau:
Mệnh đề 1.2.11 (xem [18, tr 106]) Mọi vị nhóm con M của vị nhóm tự
do A* có tập sinh cực tiểu duy nhất X = (M − {ε}) − (M − {ε})2 Khi đó,
X được gọi là cơ sở của M
Ví dụ 1.2.12 Cho A = {a, b }, với tập M = {ai| i ∈0, i ≠ 1} Tập X = { a2, a3} là cơ sở của M Dễ thấy, M không là vị nhóm tự do trên X, vì
a6 ∈M thừa nhận hai phân tích trong C : a6 = a2a2a2 = a3a3 Theo Mệnh đề 1.2.11, M không là vị nhóm tự do
Ví dụ 1.2.13 Cho A = {a, b }, với tập M = {w | |w| a ≡ 0 mod 2 } Ta có
X = (M − {ε}) − (M − {ε})2 = b ∪ ab*a
Trang 26Từ định nghĩa của vị nhóm con tự do, ta có các kết quả sau :
Mệnh đề 1.2.14 (xem [19, tr 270]) Cho M là vị nhóm con của vị nhóm tự
do A* Khi đó, X là tập sinh cực tiểu của M khi và chỉ khi
X ∩ X (M − {ε}) = ∅ (1.13)
Mệnh đề 1.2.15 (xem [18, tr 106]) Cho M là vị nhóm con của vị nhóm tự
do A* Các điều kiện sau là tương đương :
Mệnh đề 1.2.16 (xem [9, tr 43]) Cho M là vị nhóm con của vị nhóm tự
do A* Nếu M là vị nhóm tự do thì tập sinh nhỏ nhất của M là mã Ngược lại, nếu X ⊆ A* là mã, khi đó vị nhóm con X* của A* là vị nhóm con tự do
và X là tập sinh nhỏ nhất
Một vị nhóm con M của A* là vị nhóm con tự do nếu tồn tại một đẳng cấu α: B* → M, với B* ⊆ A* Trong trường hợp này thì α được gọi
là phép mã hóa của B trên A
Từ các mệnh đề trên, ta có hệ quả sau:
Hệ quả 1.2.17 (xem [9, tr 43]) Cho X và Y là mã trên A Nếu X* = Y*thì X = Y
Cho X ⊆ A* và đặt U0 = X, Ui = { w ∈A+ | Ui –1w ∩ X ≠ ∅ hoặc
X w ∩ Ui–1 ≠ ∅ }, với mọi i ≥ 1 Mệnh đề sau là cơ sở để xây dựng thủ tục kiểm tra một tập X có là mã hay không (A A Sardinas và C W Patterson [25])
Mệnh đề 1.2.18 (xem [18, tr 109]) Cho X ⊆ A+ Khi đó, X là mã khi và chỉ khi X ∩ Ui = ∅, với mọi i ≥ 1
Trang 27- 25 -
Chú ý rằng, nếu X là hữu hạn thì độ dài của các từ trong Ui,
i = 0,1, là giới nội bởi độ dài lớn nhất của các từ trong X Vì vậy, tồn
tại một số hữu hạn các Ui khác nhau
Ví dụ 1.2.19 Cho A = {a, b } và X = {a, aaab, aba} Ta có
U0 = X, U1 = {aab, ba}, U2 = {ab}, U3 = {a, b };
Vì X ∩ U3 ≠ ∅, suy ra X không là mã
Ví dụ 1.2.20 Cho A = {a, b} và X = {a, aab, bab, bb} Ta có
U0 = X, U1 = {ab }, U2 = {b}, U3 = {ab, b} = U4 = … ;
Từ X ∩ Ui = ∅, với i ≥ 1, suy ra X là mã
1.2.2 Thủ tục Sardinas-Patterson kiểm tra tính chất mã
Cho tập các từ X trên bảng chữ A, bài toán kiểm tra tính chất mã
của X là một bài toán cơ bản khi nghiên cứu mã Trong mục này ta đề
cập đến thủ tục Sardinas – Patterson ([25]) Thủ tục này không cần sử
dụng các tính chất nâng cao của mã mà dựa trên cách tổ chức thực hiện
tính toán để kiểm tra một ngôn ngữ cho trước có thỏa định nghĩa mã hay
không Trong trường hợp X hữu hạn (tổng quát hơn là đoán nhận được)
thì số bước tính toán là hữu hạn
Thủ tục tính toán các tập thương Ui, i = 1, 2, để tìm hai phân
tích khác nhau trên X của một từ w ∈A* bất kỳ (đoạn sai khác giữa hai
cách phân tích) Thủ tục dừng khi xuất hiện phần dư là từ rỗng, tương
ứng với việc tìm được từ có hai phân tích khác nhau Các tập thương Ui,
i = 1, 2, sẽ được xác định một cách đệ quy qua các bước như sau:
U1 = X –1 X − {ε},
Ui+1 = Ui–1X ∪ X–1Ui , i ≥ 1 (1.14)
Trang 28Định lý và mệnh đề sau đây khẳng định tính đúng đắn của thủ tục Định lý 1.2.21 (xem [9, tr 51]) Tập X ⊆ A+ là mã khi và chỉ khi không có tập (Ui)i ≥1 nào chứa từ rỗng
Mệnh đề sau đây khẳng định sự tồn tại của thuật toán Sardinas−
Patterson khi X là tập đoán nhận được
Mệnh đề 1.2.22 (xem [1, tr 53]) Nếu X ⊆ A+
là tập đoán nhận được, thì lớp các tập (Ui)i ≥1 được xác định theo công thức (1.14) là hữu hạn
Ví dụ 1.2.23 Cho A = {a, b } và X = {b, abb, abbba, bbba, baabb}, ta có
U1 = {ba, bba, aabb }, X–1U1 = {a, ba}, U1–1X = {abb},
U2 = {a, ba, abb }, X–1U2 = {ε, a}, U2–1X = {ε, bb, bba, ba, abb }
U3 = {ε, a, bb, bba, ba, abb }
Vì ε ∈U3 nên X không là mã
Ví dụ 1.2.24 Cho A = {a, b } và X = {aa, ba, bb, baa, bba}, ta có
U1 = {a}, U2 = U1 Vì vậy Un = {a} với ∀n ≥ 1, suy ra X là mã
Nhận xét 1.2.25 Cho X là ngôn ngữ chính quy và đặt Y = {ε} Theo
Hệ quả 1.1.4, thì A(X, Y) có cỡ 2|P |, với P là vị nhóm thỏa đồng thời cả X
và Y Theo thủ tục Sardinas−Patterson, các tập Ui sẽ nhận được sau mỗi bước tính toán nhờ áp dụng hữu hạn các phép ∪, −, phép thương trái
Do đó, ϕ thỏa tất cả các tập Ui , i = 1,2, , nghĩa là số các tập Ui là hữu hạn và không vượt quá số tập con của P (bằng 2|P |) Trong trường hợp xấu nhất, các tập Ui ⊆ A(X, Y) là rời nhau Vì vậy, thủ tục kiểm tra tính chất mã theo Sardinas−Patterson có độ phức tạp cỡ O(2|P |)
Trang 29đề xuất hai lớp mã mới dựa trên phân tích luân phiên (mã luân phiên yếu trái, mã luân phiên yếu phải) và thiết lập mới một số tính chất của tích không nhập nhằng, mã luân phiên chẵn, mã luân phiên yếu trái (yếu phải), mã luân phiên trong quan hệ với mã truyền thống
2.1 Tích không nhập nhằng
Khái niệm tích không nhập nhằng được đề xuất bởi Marcel−Paul Schützenberger [26] và được nghiên cứu mở rộng bởi Jean−Eric Pin [24, 35] Trong [32], Pascal Weil đã sử dụng otomat nhập nhằng, vị nhóm quan hệ nhập nhằng để làm công cụ thiết lập tích quan hệ Z = X οY, với
X, Y là mã hữu hạn trong quan hệ lý thuyết đa tạp của ngôn ngữ Trong [15, 16], Phan Trung Huy và Đỗ Long Vân đã thiết lập được kết quả biểu diễn ω−ngôn ngữ chính quy của các từ được đoán nhận bởi V−otomat Büchi không nhập nhằng
Trang 30Sau đây, ta nhắc lại khái niệm tích không nhập nhằng của hai ngôn ngữ:
Định nghĩa 2.1.1 Cho bảng chữ A và X, Y ⊆ A* Cặp (X,Y) được gọi là
có tích không nhập nhằng (hay tích XY là không nhập nhằng) nếu, với
mọi w ∈ XY, có duy nhất một cặp (x, y), với x ∈X, y ∈Y, sao cho w = xy Hay nói cách khác, tích XY là không nhập nhằng nếu, với mọi
x, x′ ∈X, y, y′ ∈Y, từ đẳng thức xy = x′y′ suy ra x = x′ và y = y′ Trong
trường hợp ngược lại thì ta gọi tích XY là nhập nhằng
Từ Định nghĩa 2.1.1, ta có các mệnh đề sau:
Mệnh đề 2.1.2 Cho X, Y ⊆ A* Khi đó, tích XY là không nhập nhằng khi
và chỉ khi
X–1X ∩ Y Y–1 − {ε} = ∅ (2.1) Chứng minh (⇒) Ta chứng minh, nếu tích XY là không nhập nhằng thì
X–1X ∩ Y Y–1 − {ε} = ∅
Phản chứng, giả sử X–1X ∩ Y Y–1 − {ε} ≠ ∅, khi đó sẽ tồn tại từ u
∈A+ và x, x′ ∈X, y, y′ ∈Y sao cho xu = x′ và y = u y′ Do đó x y = xuy′
= x′y′, với x ≠ x′, y ≠ y′, nghĩa là tích XY là nhập nhằng, mâu thuẫn
(⇐) Ta chứng minh, nếu X–1X ∩ Y Y–1 − {ε} = ∅ thì tích XY là
không nhập nhằng
Phản chứng, giả sử tích XY là nhập nhằng, khi đó ta có x, x′ ∈X và
y, y′ ∈Y, với x ≠ x′, y ≠ y′ sao cho x y = x′y′ Không làm mất tính tổng
quát, giả sử |x| < |x′|, khi đó sẽ tồn tại một từ u ∈A+ sao cho x u = x′ và
y = u y′ Suy ra X–1X ∩ Y Y–1 − {ε} ≠ ∅, mâu thuẫn
Mệnh đề sau cho ta mối quan hệ giữa mã, mã prefix, mã suffix với
tích không nhập nhằng:
Mệnh đề 2.1.3 Cho X ⊆ A+ Khi đó
(i) X là mã khi và chỉ khi tích X*X (hoặc tích XX*) là không nhập nhằng (ii) X là mã prefix khi và chỉ khi tích XA* là không nhập nhằng
Trang 31- 29 - (iii) X là mã suffix khi và chỉ khi tích A*X là không nhập nhằng
Chứng minh (i) Chứng minh X là mã khi và chỉ khi tích X*X (hoặc tích
XX*) là không nhập nhằng
Giả sử X là mã Theo Định nghĩa 1.2.1, thì sẽ không xảy ra đẳng thức u x = u′x′ (hoặc x u = x′u′), với x, x′ ∈X (x ≠ x′) và u, u′ ∈X* Nghĩa là tích X*X, (hoặc tích XX*) là không nhập nhằng
Ngược lại, giả sử tích X*X (hoặc tích XX*) là không nhập nhằng Nếu X không là mã, thì tồn tại từ w ∈X*X (hoặc w ∈XX*), w có hai phân tích khác nhau thành tích của các từ trong X: w = u x = u′x′ (hoặc w =
x u = x′u′), với x, x′ ∈X, u, u′ ∈X* và x ≠ x′, mâu thuẫn với giả thiết tích
X*X (hoặc tích XX*) là không nhập nhằng
(ii) Chứng minh X là mã prefix khi và chỉ khi tích XA* là không nhập nhằng
Phản chứng, giả sử X không là mã prefix Theo Mệnh đề 1.2.9 ta có
XA+ ∩ X ≠ ∅, khi đó tồn tại x, x′ ∈X (x ≠ x′), u ∈A+ sao cho x = x′u Hay ta có thể viết xε = x′u, mâu thuẫn với giả thiết tích XA* là không nhập nhằng
Ngược lại, giả sử tích XA* là nhập nhằng, khi đó ta có x, x′ ∈X và
u, u′ ∈ A*, với x ≠ x′, u ≠ u′ sao cho x u = x′u′ Không làm mất tính tổng quát, giả sử |u| < |u′|, khi đó sẽ tồn tại một từ v ∈A+ sao cho vu = u′, suy ra x = x′v Do đó XA+ ∩ X ≠ ∅, theo Mệnh đề 1.2.9 suy ra mâu thuẫn (iii) Chứng minh X là mã suffix khi và chỉ khi tích A*X là không nhập nhằng
Ta chứng minh tương tự như trong (ii)
Qua mệnh đề 2.1.3.(i) cho ta thấy, đặc trưng của mã có thể được biểu diễn qua khái niệm tích không nhập nhằng, vì vậy có thể xem tích không nhập nhằng như trường hợp tổng quát của biểu diễn tích đối với
mã Từ đó, dựa vào khái niệm tích không nhập nhằng, ta có thể xây dựng nhiều lớp mã mới, sẽ được trình bày trong các phần tiếp theo
Trang 322.2 Mã luân phiên
Một hình thức mở rộng khác của tích không nhập nhằng đã được đề xuất bởi P T Huy, V T Nam (xem [5], 2004) bằng cách tích lặp nhiều lần Từ đó cho phép thiết lập hai lớp mã mới (gọi là mã luân phiên, mã luân phiên chẵn) và một số tính chất đặc trưng của mã luân phiên, mã luân phiên chẵn với cặp ngôn ngữ có tích không nhập nhằng Sau đây, ta
sẽ trình bày lại một số kết quả trong [5] và thiết lập mới một số kết quả nhằm làm phong phú thêm cho các lớp mới này
Cho X, Y ⊆ A+, ta định nghĩa phân tích luân phiên theo hai tập ngôn ngữ X, Y như sau:
Định nghĩa 2.2.1 Cho bảng chữ A và X, Y ⊆ A+, w ∈A+ Ta nói rằng: (i) Từ w có một phân tích luân phiên theo (X,Y) nếu w = u1u2 un
(n≥2), trong đó, u1 ∈X, nếu ui ∈X thì ui+1 ∈Y và nếu ui ∈Y thì
ui+1 ∈X, với i = 1, ,n−1
(ii) Từ w có một phân tích luân phiên theo {X,Y} nếu w có một phân
tích luân phiên theo (X,Y) hoặc (Y,X)
(iii) Hai phân tích luân phiên theo {X,Y} được gọi là cùng kiểu trái
(t.ứng, cùng kiểu phải) nếu chúng cùng bắt đầu (t.ứng, cùng kết thúc) với các từ trong X hoặc trong Y
(iv) Hai phân tích luân phiên theo {X,Y} được gọi là cùng kiểu nếu
chúng vừa là cùng kiểu trái, vừa là cùng kiểu phải
Ví dụ 2.2.2 Cho X = {a, ba } và Y = {b, aba } Khi đó, từ w = ababa có hai phân tích luân phiên theo {X,Y} như sau:
f1 : (a).(b).(a).(b).(a) là một phân tích luân phiên theo (X,Y)
f2 : (aba).(ba) là một phân tích luân phiên theo (Y,X)
Dựa trên khái niệm tích không nhập nhằng và khái niệm phân tích luân phiên, cho phép ta định nghĩa lại một cách chặt chẽ khái niệm mã luân phiên, mã luân phiên yếu trái (yếu phải) và mã luân phiên chẵn như sau:
Trang 33- 31 -
Định nghĩa 2.2.3 Cho X, Y ⊆ A+ Cặp {X,Y} được gọi là mã luân phiên nếu, với mỗi từ w ∈A+, w có không quá một phân tích luân phiên theo {X,Y}
Ta ký hiệu LC là lớp mã (thông thường) và LALT là lớp mã luân phiên Theo định nghĩa dễ thấy rằng, điều kiện cần để {X,Y} ∈ LALT là
X ∩Y = ∅ Do đó, từ nay trở đi, khi nghiên cứu về mã luân phiên thì ta luôn quy ước điều kiện cần này luôn được thỏa mãn
Trong trường hợp {X, Y} ∉ LALT thì tồn tại từ w ∈A+ sao cho các Overlap của hai phân tích của từ w là khác ε (xem Hình 2.1)
Hình 2.1 Các Overlap của hai phân tích của từ w
Các ví dụ sau cho ta thấy rằng: có {X,Y} ∉ LALT cho dù X, Y ∈ LC,
và có X, Y ∉ LC nhưng {X,Y} ∈ LALT
Ví dụ 2.2.4 Cho X = {ab, ba }, Y = {a } ∈ LC, nhưng {X,Y} ∉ LALT Vì, với từ w = aba ∈A+ có hai phân tích luân phiên khác nhau theo {X,Y}:
w = (ab).(a) = (a).(ba)
Ví dụ 2.2.5 Cho X = {a, aa }, Y = {b, bb } ∉ LC, nhưng {X,Y} ∈ LALT
Ví dụ sau cho ta thấy rằng, XY ∈ LC nhưng {X,Y} ∉ LALT
Ví dụ 2.2.6 Cho X = {a, aa }, Y = {b, ab }, dễ thấy XY = {ab, aab, aaab} là mã prefix, suy ra XY ∈ LC, nhưng {X,Y} ∉ LALT Vì, với từ w
= aba∈A+ có hai phân tích luân phiên khác nhau theo {X,Y} là:
w = (a).(b).(a) = (ab).(a)
Trang 34Định nghĩa 2.2.7 Cho X, Y ⊆ A+ Cặp {X,Y} được gọi là mã luân phiên yếu trái (t.ứng, yếu phải) nếu không có từ nào trong A+ có hai phân tích luân phiên cùng kiểu trái (t.ứng, cùng kiểu phải) khác nhau theo {X,Y} Định nghĩa 2.2.8 Cho X, Y ⊆ A+ Cặp {X,Y} được gọi là mã luân phiên chẵn hay mã luân phiên cùng kiểu nếu không có từ nào trong A+ có hai phân tích luân phiên cùng kiểu khác nhau theo {X,Y}
Từ Định nghĩa 2.2.7 và Định nghĩa 2.2.8 dễ thấy rằng, nếu cặp {X,Y} là mã luân phiên chẵn thì cặp {Y,X} cũng là mã luân phiên chẵn,
và nếu cặp {X,Y} là mã luân phiên yếu trái (yếu phải) thì cặp {Y,X} là
mã luân phiên yếu trái (yếu phải)
Ta ký hiệu LWLALT (t.ứng, LWRALT, LEALT) là lớp mã luân phiên yếu trái (t.ứng, mã luân phiên yếu phải, mã luân phiên chẵn)
Ví dụ sau thể hiện tính phổ dụng của mã luân phiên, mã luân phiên chẵn đối với biểu diễn thông tin trong máy tính:
Ví dụ 2.2.9 (a) Với mỗi tệp nhị phân có thể biểu diễn như một xâu các bit 0, 1 Chẳng hạn:
w = 101011000011001101100001011101 Đặt X = {1}+, Y = {0}+, khi đó w là một phân tích luân phiên theo {X,Y} Nếu ta bổ sung một bit 1 vào đầu w và một bit 0 vào cuối w thì xâu kết quả luôn là một xâu phân tích luân phiên theo {X,Y} Cụ thể, với w ở trên, ta có
w ′ = 11010110000110011011000010111010
(b) Bộ mã Unicode là bộ mã chuẩn quốc tế được thiết kế để dùng làm bộ mã duy nhất cho tất cả các ngôn ngữ khác nhau trên thế giới Môi chữ được mã hóa bởi 2 byte (x, y), trong đó byte x thể hiện mã chữ và byte y thể hiện mã trang - quốc gia Như vậy, có thể xem các xâu thông tin được mã hóa bằng bộ mã Unicode là các xâu được biểu diễn theo mã luân phiên chẵn {X,Y}, với X = Y = {0, 1}8 là tập các xâu 8 bít trên bảng chữ nhị phân
Trang 35- 33 -
Các ví dụ sau cho ta thấy, có {X,Y} ∈ LEALT nhưng {X,Y} ∉ LWLALT
Và có {X,Y} ∈ LWLALT nhưng {X,Y} ∉ LALT
Ví dụ 2.2.10 Cho X = {ab, abba }, Y = {b }, dễ thấy {X,Y} ∈ LEALTnhưng {X,Y} ∉ LWLALT Vì, với từ w = abbab∈A+ có hai phân tích luân phiên cùng kiểu trái khác nhau theo {X,Y} là:
w = (ab).(b).(ab) = (abba).(b)
Ví dụ 2.2.11 Cho X = {b }, Y = {ab, ba }, dễ thấy {X,Y} ∈ LWLALTnhưng {X,Y} ∉ LALT Vì, với từ w = bab ∈A+ có hai phân tích luân phiên khác nhau theo {X,Y} là:
w = (b).(ab) = (ba).(b)
Trong Mục 1.2.1 Chương 1, ta đã xét tính chất mã trong quan hệ với phép đồng cấu (xem Mệnh đề 1.2.2, Hệ quả 1.2.4) Tiếp theo, ta sẽ thiết lập một kết quả tương tự cho mã luân phiên, mã luân phiên chẵn Cho bảng chữ A Đặt B = A ∪ {e, f }, với e, f, (e ≠ f ) là các chữ cái mới không thuộc A Khi đó, ta định nghĩa đồng cấu xóa ϕ : B* → A* được cho bởi:
(1) ϕ(e) = ϕ(f ) = ε (2) ϕ(a) = a , ∀a ∈A
Đặt S = { ewf , ewe , fwe , fwf | w ∈A+ } ⊆ B+ Trên S, ta định nghĩa một phép tích “.” : ∀x = i1u j1, y = i2v j2 ∈B+,
với 0 ∉ B+ là phần tử zero mới, 1 là phần tử đơn vị mới của S^ = S ∪ {1,0} Dễ kiểm tra, S^ là một vị nhóm
Cho X, Y ⊆ A+, ta xét UX,Y = { exf , fye | x ∈X, y ∈Y } ⊆ S và
VX,Y = <UX,Y> là vị nhóm con của S^ sinh bởi UX,Y, khi đó VX,Y = U+X,Y
(2.2)
x y = i (2.3) 1uv j2 nếu j1 = i2
0 nếu j1 ≠ i2
Trang 36Mệnh đề 2.2.12 {X,Y} ∈ LALT khi và chỉ khi ϕ|VX,Y là đơn ánh
Chứng minh (⇒) Ta chứng minh {X,Y} ∈ LALT thì ϕ|VX,Y là đơn ánh
Thật vậy, giả sử ngược lại ϕ|VX,Y không là đơn ánh Khi đó ta có thể
chọn hai phần tử khác nhau, chẳng hạn u = ex1fy1ex2fy2 ≠ v = f y1′e x1′
f y2′e x2′ và ϕ(u) = ϕ(v) Suy ra x1y1x2y2 = y1′x1′y2′x2′ , mâu thuẫn
với giả thiết {X,Y} ∈ LALT Các trường hợp còn lại ta cũng suy ra được
mâu thuẫn
(⇐) Ta chứng minh ϕ|VX,Y là đơn ánh thì {X,Y} ∈ LALT
Thật vậy, giả sử ngược lại {X,Y} ∉ LALT Khi đó, tồn tại từ w ∈A+
có hai phân tích luân phiên khác nhau theo {X,Y} Chẳng hạn, xét
trường hợp x1y1x2y2 = y1′x1′y2′x2′
Xét hai từ u = e x1f y1e x2f y2 , v = f y1′e x1′f y2′e x2′ trong VX,Y .Ta
có ϕ(u) = x1y1x2y2 = y1′x1′y2′x2′ = ϕ(v) Suy ra ϕ(u) = ϕ(v), mâu
thuẫn với giả thiết ϕ|VX,Y là đơn ánh Các trường hợp còn lại ta cũng suy
Mệnh đề 2.2.13 Cho A, B là hai bảng chữ rời nhau, khác rỗng và
C = A∪ B Cho đồng cấu vị nhóm β: C* → D*, D là bảng chữ hữu hạn,
đặt X=β(A), Y =β(B), X ∩Y = ∅, U là tập tất cả các từ u ∈C+, u có ít
nhất một phân tích luân phiên theo {A,B}, và V ⊆ U là tập tất cả các từ
có dạng a1b1 anbn , n ≥1, ai ∈ A, bi ∈B, i=1, ,n Khi đó:
(i) β|U là đơn ánh khi và chỉ khi {X,Y} ∈ LALT và β|C là đơn ánh
(ii) β|V là đơn ánh khi và chỉ khi {X,Y} ∈ LEALT và β|C là đơn ánh
Chứng minh (i) β|U là đơn ánh khi và chỉ khi {X,Y} ∈ LALT và β|C là
đơn ánh
(⇒) Ta chứng minh, nếu β|U là đơn ánh thì {X,Y} ∈ LALT và β|C là đơn
ánh Thật vậy, giả sử ngược lại {X,Y} ∉ LALT hoặc β|C không là đơn
ánh Xét hai trường hợp sau:
Trang 37- 35 -
+ Trường hợp 1: {X,Y} ∉ LALT Khi đó, tồn tại từ w ∈C+ có hai phân tích luân phiên khác nhau theo {X,Y} Chẳng hạn, như trường hợp sau:
w = x1y1 xnyn = x1′y1′ xm′ym′ (2.4) với m, n ≥ 1, xi, xj′ ∈X, yi, yj′ ∈Y, i = 1, ,n, j = 1, ,m Không mất tính tổng quát, để xét hai phân tích khác nhau, ta có thể giả sử x1 ≠ x1′ Xét các từ β(ai) = xi, β(bi) = yi, β(aj′) = xj′, β(bj′) = yj′, với ai,
aj′ ∈A, bi, bj′ ∈B, i = 1, ,n, j = 1, ,m Từ hệ thức (2.4) và x1 ≠ x1′, ta có: β(a1)β(b1) β(an)β(bn) = β(a1′)β(b1′) β(am′)β(bm′) và β(a1) ≠
β(a1′)
Mặt khác, β là đồng cấu, suy ra:
β(a1b1 anbn) = β(a1′b1′ am′bm′) , a1 ≠ a1′ (2.5)
Do đó u = a1b1 anbn ≠ u′ = a1′b1′ am′bm′ Từ hệ thức (2.5), ta
có β(u) = β(u′), mâu thuẫn với giả thiết β|U là đơn ánh
Các trường hợp còn lại trong sự phân tích của w, chứng minh tương tự ta cũng suy ra được mâu thuẫn
+ Trường hợp 2: β|C không là đơn ánh Khi đó ta có thể chọn hai phần
tử khác nhau u, v ∈C sao cho β(u) = β(v) Theo giả thiết X ∩Y = ∅,
do đó u, v cùng thuộc A hoặc cùng thuộc B
Xét trường hợp u = a1 ≠ v = a1′, a1, a1′ ∈ A Từ β(u) = β(v), suy
ra β(a1b) = β(a1′b), với b ∈ B, mâu thuẫn với giả thiết β|U là đơn ánh Trường hợp u, v ∈B ta cũng suy ra được mâu thuẫn
(⇐) Ta chứng minh, nếu {X,Y} ∈ LALT và β|C là đơn ánh thì β|U là đơn ánh
Xét hai phân tích luân phiên của một từ theo {A,B}: c1c2 cn =
c1′c2′ cm′, với m, n ≥ 1, nếu ci ∈A thì ci+1 ∈B và nếu ci ∈B thì ci+1 ∈A,
i= 1, ,n−1 Và nếu cj′ ∈A thì cj+1′ ∈B và nếu cj′∈B thì cj+1′∈A,
j= 1, ,m−1
Trang 38Đặt u = c1c2 cn , u′ = c1′c2′ cm′ Giả sử β(u) = β(u′), suy
ra β(c1)β(c2) β(cn) = β(c1′)β(c2′) β(cm′) là hai phân tích luân phiên theo {X,Y}
Theo giả thiết {X,Y} ∈ LALT, suy ra m = n và β(ui) = β(ui′),
i= 1, ,n Mặt khác, β|C là đơn ánh, suy ra ui = ui′, i = 1, ,n hay u = u′ (ii) β|V là đơn ánh khi và chỉ khi {X,Y} ∈ LEALT và β|C là đơn ánh Chứng minh tương tự như trường hợp (i)
2.3 Đặc trưng của mã luân phiên
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 yếu trái (yếu phải),
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 yếu trái (yếu phải), mã luân phiên trong phần sau
Định lý 2.3.1 Cho X, Y ⊆ A+ Khi đó, {X,Y} ∈ LEALT 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
Trang 39- 37 -
xi′yi′, 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 = XY
∈ LC thì {X,Y} ∈ LEALT
Giả sử (X,Y) có tích không nhập nhằng và Z = XY ∈ LC Khi đó, từ
hệ thức x1y1x2y2 xnyn = x1′y1′x2′y2′ xm′ym′, đặt zi = xiyi, zj′ = xj′yj′,
ta có z1 zn = z1′ zm′ với zi , zj′ ∈Z, i = 1, ,n , j = 1, ,m Do Z ∈ LCnên m = n, zi = zi′ hay xiyi = xi′yi′, i = 1, ,n
Từ giả thiết (X,Y) có tích không nhập nhằng và từ hệ thức xiyi = xi′yi′,
i= 1, ,n , suy ra xi = xi′, yi = yi′ Vì vậy, {X,Y} ∈ LEALT
Định lý 2.3.2 Cho X, Y ⊆ A+ Khi đó, {X,Y} ∈ LWLALT khi và chỉ khi hai điều kiện sau được thỏa mãn:
(i) {X,Y} ∈ LEALT
(ii) (XY)+X–1 ∩ (XY)+ = ∅
Chứng minh (⇒) Phản chứng, giả sử {X,Y} ∈ LWLALT, nhưng {X,Y} ∉
LEALT hoặc (XY)+X–1 ∩ (XY)+ ≠ ∅
Xét hai trường hợp sau:
+ Trường hợp 1: {X,Y} ∉ LEALT Từ Định nghĩa 2.2.7 và Đinh nghĩa 2.2.8, dễ dàng suy ra mâu thuẫn
+ Trường hợp 2: (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
Hình 2.2 Hai phân tích của w trong (XY)+ và (XY)+X–1
Trang 40Đặt w = u x ∈(XY)+, ta có w = z1′z2′ zm′ Mà u ∈(XY)+ suy ra
u = x1y1 xnyn Do đó w = x1y1 xnynx = x1′y1′ xm′ym′ Suy ra,
{X,Y} ∉ LWLALT, mâu thuẫn Vì vậy, (XY)+X–1 ∩ (XY)+ ≠ ∅
(⇐) Phản chứng, giả sử {X,Y} ∈ LEALT và (XY)+X–1 ∩(XY)+ = ∅,
nhưng {X,Y} ∉ LWLALT
Khi đó, tồn tại từ w ∈A+ có hai phân tích luân phiên cùng kiểu trái
khác nhau theo {X,Y}: w = u1u2 un = u1′u2′ um′, với u1 ≠ u1′, m, n ≥ 1,
nếu ui ∈X thì ui+1 ∈Y và nếu ui ∈Y thì ui+1 ∈X, i = 1, ,n−1 Và nếu
uj′ ∈X thì uj+1′ ∈Y và nếu uj′∈Y thì uj+1′∈X, j = 1, ,m−1
Vì w có hai phân tích luân phiên cùng kiểu trái khác nhau, do đó ta
có hai trường hợp: u1, u1′ ∈X hoặc u1, u1′ ∈Y,
+ Trường hợp 1: u1, u1′ ∈X Xét tính chẵn lẻ của n và m, ta có:
− Với n và m đều chẵn (n = 2l, m = 2k) Khi đó ta có: w = x1y1x2y2
xlyl = x1′y1′x2′y2′ xk′yk′, suy ra Z = XY ∉ LC hay {X,Y} ∉ LEALT,
mâu thuẫn
− Với n và m đều lẻ (n = 2l+1, m = 2k+1) Khi đó ta có: w = x1y1x2y2
xl+1 = x1′y1′x2′y2′ xk+1′ Nhân y ∈Y vào cuối hai phân tích của từ w,
ta có: w′ = x1y1x2y2 xl+1y = x1′y1′x2′y2′ xk+1′y, đây là hai phân
tích khác nhau trong Z =XY Do đó Z =XY ∉ LC hay {X,Y} ∉ LEALT ,
mâu thuẫn
− Với n chẵn và m lẻ (n = 2l, m = 2k+1) Khi đó ta có: w = x1y1x2y2
ylxl = x1′y1′x2′y2′ xk+1′ Đặt u = x1′y1′x2′y2′ xk′yk′ ∈(XY)+, thì
w = u xk+1′ ∈(XY)+ Khi đó u ∈(XY)+X–1, mâu thuẫn với (XY)+X–1 ∩
(XY)+ = ∅
− Với n lẻ và m chẵn (n = 2l+1, m = 2k) Khi đó ta có: w = x1y1x2y2
xl+1 = x1′y1′x2′y2′ xk′yk′ Đặt u = x1y1x2y2 xlyl ∈ (XY)+, thì
w = u xl+1∈(XY)+ Khi đó u ∈(XY)+X–1, mâu thuẫn với (XY)+X–1 ∩
(XY)+ = ∅
+ Trường hợp 2: u1, u1′ ∈Y Lập luận tương tự như trên với vai trò của
Y thay cho X, ta đạt được sự mâu thuẫn Vì vậy, {X,Y} ∈ LWLALT