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 6
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
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
Thủ tục kiểm tra -mã mở rộng ( the Modification of Sardinas −Patterson for Codes of bounded words)
SPSC Thủ tục kiểm tra (the Sardinas −Patterson for Strict Codes of -mã chặt
bounded words)
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 trong (w XY) + và (XY)+ X–1 37
Hình 2.3 Các lớp thương U i, 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 58 L 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 96 d Hình 4.3 Các lớp cắt V d 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à -mã) Các vấn đề cơ bản đối với mã truyền thống như Z
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ữ trên một bộ chữ nào đó thì mã luân Xphiê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
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ữ , cho trước có là mã luân phiên chẵn, mã luân phiên yếu trái X Y(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)
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ữ , cho trước có là mã X Yluâ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 là một tập Một phép toán hai ngôi trên là một ánh xạ M M
T M M: × → M Thay vì viết ( , ), ta viết T x y 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 ( , ) là T x y xy (gọi là tích của x và y ), còn khi được viết theo lối cộng “+” thì ta viết ( , ) là T T x y
Một tập khác rỗng được gọi là M nửa nhóm nếu trên được trang M
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ử của nửa nhóm được gọi là e M phần tử đơn vị nếu,
∀ ∈x M x e, = = x ex Phần tử đơn vị của nếu có thì xác định một Mcách duy nhất Do vậy, ta thường ký hiệu đơn vị của là 1M M
Trang 15- 13 -
Một tập khác rỗng được gọi là M vị nhóm nếu là một nửa nhóm M
và có phần tử đơn vị Vị nhóm con của là tập con , đóng kín đối với M N
phép toán của và chứa phần tử đơn vị của M M, nghĩa là NN ⊆ và N
1M∈N
Một phần tử của vị nhóm được gọi là x M khả nghịch nếu tồn tại phần tử sao cho x′ ∈ M xx′ = 1 M = x x′ Khi đó, được xác định duy x′nhất bởi và được gọi là x phần tử nghịch đảo của x, ký hiệu là x –1 (nếu phép toán được viết theo lối cộng thì phần tử nghịch đảo của được T x
gọi là phần tử đối của x, ký hiệu là - ) Một vị nhóm được gọi là x nhómnế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 vào một nửa nhóm sao cho M N ∀m 1, m2∈M
ϕ(m1m2) = ϕ(m1)ϕ(m2) (1.1)
Nếu = thì đồng cấu M N ϕ 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 Mvào một vị nhóm thỏa mãn điều kiện (1.1) và N
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 , là nhóm thì mọi đồng cấu nửa M N
nhóm từ đến là đồng cấu vị nhóm và là đồng cấu nhóm từ đến M N M N
Một đồng cấu ϕ : là một M → N đẳng cấu nếu tồn tại một đồng cấu
β N: →M sao cho ϕ ◦β = IdN và β ◦ϕ = Id M
Trang 161.1.3 Từ và ngôn ngữ
Cho tập hợp các ký tự gọi là bảng chữ cái Một trên là một A từ w Axâu hữu hạn các phần tử của , = (A w a 1, a2, , a n), ai ∈A Một ngôn ngữ (hình thức) là một tập hợp các từ của bảng chữ cái nào đó Tập tất L A
cả các từ trên bảng chữ cái , ký hiệu là A 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, , a n) (b1, b2, , bm) = (a 1, a2, , a n, 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 = a 1a2 a n thay cho cách viết = (w a 1, a2, , a n) 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 Có thể thấy A
A* = A0 ∪ A1 ∪ A2 … An … , với A0 = {ε}, A1 = và A A n = An–1A Tập tất cả các từ khác rỗng trên được ký hiệu là A A + Do đó, ta có:
Số tất cả các xuất hiện của các chữ trong từ là độ dài của , ký w whiệu là | |w , quy ước |ε| = 0 Với mỗi số nguyên dương , ký hiệu n 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 Khi đó: w
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 {u 1, u2, u, n}, với 0, n ≥
un ∈A*, = 1, , sao cho = i n w u 1u2 u n Với ⊆ AX *, ta biểu diễn X * là
vị nhóm con sinh bởi , với đơn vị là X ε
X* = { x1x2 x n 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 là bảng chữ cái hữu hạn Biểu thức rỗng (A ∅) và các biểu thức
a ∈ hoặc = A 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 là các biểu thức được định nghĩa đệ Aquy như sau:
+ Các biểu thức sơ cấp trên là các biểu thức chính quy trên , A A
X+ = X (1.7)
* {− ε} Nếu ε ∉ X
X* Ngược lại
(1.8)
Trang 18+ Nếu E 1 và E2 là các biểu thức chính quy trên , thì các biểu thức A
E1 + E 2, 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 được gọi là A 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
Ta nói rằng ngôn ngữ được định nghĩa ( ) như trên là giá trị của L E
biểu thức chính quy Do đó, mỗi tập dạng { }, E 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 trùng với tập hợp các ngôn ngữ chính quy khác rỗng A
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 Như vậy từ định nghĩa suy ra: lớp các ngôn ngữ chính quy A
trên là lớp bé nhất chứa các ngôn ngữ hữu hạn và ngôn ngữ Atrố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 bởi vị nhóm con M ϕ(A*) của ) Nếu M L ⊆ A* thỏa mãn ϕ–1(ϕ( )) = thì ta nói rằng thỏa bởi L L Lđồng cấu vị nhóm ϕ Vậy thỏa bởi đồng cấu L ϕ ⇔ ∃N ⊆ sao cho M
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 được gọi là vị nhóm biểu diễn ngôn ngữ M 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
ε (1→ M, 1N) = 1P′ , với 1P′ là đơn vị của P′
Theo giả thiết, tồn tại C ⊆ , M D ⊆ mà = N X α –1( ), = C Y β–1( ) Đặt D
C′ = × = { ( , ) | ∈ , ∈ }, C N c n c C n N
D ′ = × = { ( , ) | mM D m d ∈ , ∈ } M d D Sau đây ta sẽ chứng minh: ϕ′–1( ) = , C ′ X ϕ′–1( ) = Thật vậy, D′ Y
với = X α –1( ), C ∀ ∈x X, ta có = c α( ), x c ∈C, ϕ′( ) = (x α( ), x β( )) = x
( ,c β( ))x ∈ ′C như vậy ϕ′(X) ⊆ C ′
Ngược lại, với y∈ϕ′(C ) ⊆A′ *, ϕ′( ) y ∈ ′C , ϕ′( ) = (y α( ), y β( )) = y
( , )c n ∈ ′C Từ đó ta có thể viết:
ϕ′(C′) = = X ϕ –1(C′∩ ), ″ = ′∩ ⊆ P C C P P
ϕ′(D′) = = Y ϕ –1(D′∩ ), ″ = ′∩ ⊆ P D D P P
X = ϕ–1(C″), = Y ϕ–1(D″) Suy ra X và Y đồng thời thỏa bởi ϕ′ Từ ϕ′(A*) = P ⊆ và P′
ϕ : A* là toàn cấu, suy ra → P ϕ(u) = ϕ′(u) Vậy ϕ: A* thỏa đồng → P
thời cả và X Y
Trang 20Ví dụ 1.1.3 Cho vị nhóm U 1 = {0, 1}, với phần tử đơn vị là 1 và phần tử
zero là 0 và cho ngôn ngữ thỏa bởi một đồng cấu vị nhóm X α : A* , → Mngô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ả và cùng thỏa bởi X Y
toàn cấu ϕ: A* , với → P P ⊆ ×M U 1 , được xác định bởi: ∀u ∈A*, ϕ(u) =
(α(u), 0), 1P = ϕ(ε) = (1 M, 1) Khi đó, là vị nhóm được sinh bởi P ϕ(u),
∀ ∈u A* Nếu | | là hữu hạn thì | | 2.| | M P ≤ 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 , ta có Y ϕ( ) 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
phép XY –1
Từ kết quả trên, ta có nhận xét sau:
Nhận xét 1.1.5 Cho , là hai ngôn ngữ chính quy trên và toàn cấu X Y A
vị nhóm ϕ : A* thỏa đồng thời cả và , với có cỡ | |.| | Theo → P X Y P M N
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 , ⊆ Suy C D P
ra = L ϕ–1(K), với K C D K C D K C= ∪ , = ∩ , = −D K, = C –1D,
K = CD –1, K ⊆ Khi đó, để tính thì mất không quá | |P K 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 21Chứng minh Theo giả thiết = X ϕ–1(C Y), = ϕ–1(D), với , ⊆ Đặt C D P
ra tồn tại c∈C + sao cho c ϕ( ) w ∈D Từ c ∈C+, suy ra = c c 1c2 cp, với
ci∈C i, = 1, , Theo giả thiết, p ϕ 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) = Vì vậy (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 là bảng chữ cái hữu hạn Một otomat đa định hữu hạn trên A A
là một bộ gồm 5 thành phần A = ( , , , , ), với là tập hữu hạn A Q E I T Qcá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ộ (q i, , a qj), với a ∈A q, i, qj Q∈ Khi đó, ta gọi là đường đi từ trạng thái q i đến trạng thái q j với nhãn a và được biểu diễn là:
Quy ước rằng, ∀ ∈q Q, đường đi từ đến có độ dài 0 Nhãn của nó là q q
từ rỗng Một đường đi : P q 0 → qn được gọi là đường đi thành công nếu
q0 ∈I q, n 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 q: 0 → qi, với q0∈I
Hàm chuyển trạng thái δ: Q A × được xác định bởi → Q q∈ δ( , ), p a
L(A) = { w ∈A* q| ∃ 0∈I sao cho δ(q0, ) w ∈T } (1.12)
Một otomat hữu hạn A = ( , , , , ) được gọi là A Q E I T otomat đơn định hữu hạn nếu có một phần tử và từ điều kiện ( , , ), ( , , ′I p a q p a q ) ∈Esuy ra = Do đó, ta có thể xem các otomat đơn định hữu hạn như là q q′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à |δ( , )| = 1 p a
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
1.2 Mã và các tính chất của mã
1.2.1 Mã và vị nhóm tự do
Định nghĩa 1.2.1 Cho là một bảng chữ cái Một tập con của vị A X
nhóm tự do A * được gọi là mã trên nếu A ∀n m ≥, 1 và x 1, x2, x, n ,
đượ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 X M là mã trên bảng chữ { , , } dùng để ∧ −
mã hóa các chữ , , …, a b z
Trang 24(b) Mã ASCII X A là một mã trên {0,1} Ta thấy các từ của X M có độ dài khác nhau, còn mọi từ của X A 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ì X n là mã, với mọi số nguyên n > 0
Cho tập X ⊆ A*, khi đó gọi là X 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 Nói cách khác, tập là X X
prefix nếu với mọi , x y ∈X, nếu là prefix của thì = x y x y Hoặc là Xprefix nếu X –1X = ∅
Ta có thể thấy rằng nếu là tập prefix và chứa từ rỗng thì = {X 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ừ nào trong là khúc đuôi thực sự x Xcủa một từ khác trong Tập được gọi là y X X 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 bất kỳ được ký X
Do đó không phải là tập suffix X
Ví dụ 1.2.7 Tập = {X abb baa bab, , } trên = { , }, là tập prefix vì A a bkhông tồn tại từ nào trong có chứa khúc đầu cũng là từ trong và X X
X cũng là suffix Do đó là tập bifix X
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 25- 23 -
Mã được gọi là X mã prefix (t.ứng, suffix bifix) nếu nó là tập prefix ,
(t.ứng, suffix, bifix) Ta có mệnh đề sau:
Mệnh đề 1.2.9 (xem [25, tr 108]) Cho X là mã trên A Khi đó, X là mã
prefix t.ứng, suffix ( ) khi và chỉ khi XA + = ∩ X ∅ t.ứng, A( +X ∩ = X ∅)
Tính chất của mã có quan hệ rất gần với khái niệm vị nhóm tự do
bởi vì nếu là mã thì X X * là vị nhóm tự do và nếu là vị nhóm tự do thì M
tập sinh cực tiểu của là mã Do đó, tiếp theo sau đây, ta sẽ trình bày M
một số kết quả cơ sở của vị nhóm tự do và mối quan hệ giữa vị nhóm tự
thuộc , ta có thể viết = M w w 1w2 wn, với wi ∈X = ( M − {ε}) − (M − {ε})2, = 1,…, Do đó, tập là tập sinh của i n X M Nếu X′ ⊆ (M − {ε}) là một tập sinh khác của thì, với mọi M w ′ ∈X w′ có thể viết ,
thành = w′ w 1′w2′ … wn′, với wi′ X Hơn nữa, nếu = 1 và ∈ ′ n w′ ∈ ′X thì
X ⊆ Ta có mệnh đề sau: X′
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 = { , }, với tập = {A a b M a i | i ∈ 0, 1} Tập = i ≠ X
{ a2, a3} là cơ sở của Dễ thấy, không là vị nhóm tự do trên , vì M M X
a6 ∈M thừa nhận hai phân tích trong : C a 6 = a2a2a2 = a 3a3 Theo Mệnh đề 1.2.11, không là vị nhóm tự do M
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 của M 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 U 0 = , X U i = { w ∈A+ | Ui–1w ∩ X ≠ ∅ hoặc
Xw ∩Ui–1 ≠ ∅ }, với mọi 1 Mệnh đề sau là cơ sở để xây dựng thủ tục i≥kiểm tra một tập có là mã hay không (A A Sardinas và C W XPatterson [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 là hữu hạn thì độ dài của các từ trong X U i,
i = 0,1, là giới nội bởi độ dài lớn nhất của các từ trong Vì vậy, tồn X
tại một số hữu hạn các U i khác nhau
Ví dụ 1.2.19 Cho = { , A a b} và = {a aaab abaX , , } Ta có
1.2.2 Thủ tục Sardinas-Patterson kiểm tra tính chất mã
Cho tập các từ trên bảng chữ , bài toán kiểm tra tính chất mã X A
của là một bài toán cơ bản khi nghiên cứu mã Trong mục này ta đề X
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 hữu hạn (tổng quát hơn là đoán nhận được) X
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 U i, = 1, 2, để tìm hai phân i
tích khác nhau trên của một từ X 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 U i,
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 , 1 i ≥ (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 (U i)i ≥1 nào chứa từ rỗng
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}, U 1–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 không là mã X
Ví dụ 1.2.24 Cho = { , A a b} và = { , , , X aa ba bb baa bba, }, ta có
U1 = { }, a U 2 = U1 Vì vậy U n = { } với a ∀n ≥ 1, suy ra là mã X
Nhận xét 1.2.25 Cho là ngôn ngữ chính quy và đặt = {X Y ε} Theo
Hệ quả 1.1.4, thì (A X, Y) có cỡ 2 | |P , với là vị nhóm thỏa đồng thời cả P X
và Theo thủ tục SardinasY −Patterson, các tập U i 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 U i , = 1,2, , nghĩa là số các tập i U i là hữu hạn và không vượt quá số tập con của (bằng 2P | |P ) Trong trường hợp xấu nhất, các tập U i ⊆ (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[20], [21], [22], [33], [34], ) Để làm giàu thêm các tính chất của lý thuyết mã, đã có nhiều kết quả khi nghiên cứu tích không nhập nhằng trong quan hệ với mã, ω−mã, otomat, đại số (xem thêm [4], [5], [7], [8], [10], [16], [17], [23], [28], [29], [30], [31], ) Như là sự mở rộng của khái niệm tích không nhập nhằng, trong chương này trình bày lại khái niệm tích không nhập nhằng, mã luân phiên, mã luân phiên chẵn Từ đó,
đề 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, −
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ữ và , A 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 ( , ), với x y x∈X y ∈Y, , sao cho = w xyHay nói cách khác, tích XY là không nhập nhằng nếu, với mọi
x x, ′∈ , , ′ ∈ , từ đẳng thức = X y y Y xy x y′ ′ suy ra = và = Trong x x′ y y′trường hợp ngược lại thì ta gọi tích XY nhập nhằng là
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 = và = x′ y u y′ Do đó x y x uy′ =
= x y′ ′, với , , nghĩa là tích x ≠ x′ y ≠ y′ 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 ≠ ′ sao cho y x y = ′ ′ Không làm mất tính tổng x yquát, giả sử | | < | |, khi đó sẽ tồn tại một từ x x′ u ∈A + sao cho xu = và x′
y uy = ′ 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 là mã khi và chỉ khi tích XX *X (hoặc tích
XX*) là không nhập nhằng
Giả sử là mã Theo Định nghĩa 1.2.1, thì sẽ không xảy ra đẳng X
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 không là mã, thì tồn tại từ X w ∈X *X (hoặc w∈XX*), có hai phân wtích khác nhau thành tích của các từ trong : = X w u x u x = ′ ′ (hoặc = w
xu = ′ ′), với x, x u x′∈X u u, , ′∈X * và , mâu thuẫn với giả thiết tích x ≠ x′
X*X (hoặc tích XX *) là không nhập nhằng
(ii) Chứng minh là mã prefix khi và chỉ khi tích X XA * là không nhập nhằng
Phản chứng, giả sử không là mã prefix Theo Mệnh đề 1.2.9 ta có X
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 , sao cho x ≠ x′ u ≠ u′ xu = x u′ ′ Không làm mất tính tổng quát, giả sử | | < | |, khi đó sẽ tồn tại một từ u u′ 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 là mã suffix khi và chỉ khi tích X 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ữ , như sau: X Y
Định nghĩa 2.2.1 Cho bảng chữ và A X Y, ⊆ A+, w∈A+ Ta nói rằng: (i) Từ có một phân tích luân phiên theo (X Yw , ) nếu = w u 1u2 un(n≥2), trong đó, u 1 ∈X, nếu ui ∈X thì ui+1 ∈Y và nếu ui ∈Y thì
ui+1 ∈X, với = 1, ,i n−1
(ii) Từ có một phân tích luân phiên theo {X Yw , } nếu có một phân wtí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 hoặc trong X 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+, có không quá một phân tích luân phiên theo w{X Y, }
Ta ký hiệu L C là lớp mã (thông thường) và L ALT 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, } ∈ L ALT 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, } ∉ L ALT thì tồn tại từ w ∈A + sao cho các Overlap của hai phân tích của từ là khác w ε (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, } ∉ L ALT 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 ∈ L C, 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} ∉ L C, nhưng {X Y, } ∈ LALT
Ví dụ sau cho ta thấy rằng, XY ∈ L C nhưng {X Y, } ∉ LALT
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 L WLALT (t.ứng, L WRALT , 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 = {1}X +, = {0}Y +, khi đó là một phân tích luân phiên theo w{X Y, } Nếu ta bổ sung một bit 1 vào đầu và một bit 0 vào cuối thì w wxâ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 ở trên, ta có w
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 ( , ), trong đó byte thể hiện mã chữ và x y xbyte thể hiện mã trang - quốc gia Như vậy, có thể xem các xâu thông ytin đượ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 = = {0, 1}X Y 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, } ∈ L EALT nhưng {X Y, } ∉ LWLALT
Và có {X Y, } ∈ LWLALT nhưng {X Y, } ∉ L ALT
Ví dụ 2.2.10 Cho = { , X ab abba}, = { }, dễ thấy {X YY b , } ∈ L EALTnhư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, } ∈ L WLALT
như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ữ Đặt = { , }, với , , (A B A ∪ e f e f e ≠ f ) là các chữ cái mới không thuộc Khi đó, ta định nghĩa A đồng cấu xóa ϕ : B* → A* được cho bởi:
Cho , X Y ⊆ A+, ta xét U X,Y = {exf fye, | x ∈X y ∈Y ⊆ và , } S
VX Y, = <U X Y, > là vị nhóm con của ^ sinh bởi S U X Y, , khi đó VX Y, = U +X Y,
(2.2)
x y = i (2.3) 1uv j2 nếu j 1 = i 2
0 nếu j 1 ≠ i2
Trang 36Mệnh đề 2.2.12 {X Y , }∈ L ALT khi và chỉ khi ϕ|VX Y, là đơn ánh
Chứng minh ( ) Ta chứng minh {⇒ X Y, } ∈ L ALT 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 ex 1fy1ex2fy2 = ≠ 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, } ∈ L ALT 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, } ∈ L ALT
Thật vậy, giả sử ngược lại {X Y, } ∉ L ALT 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 = y 1′x1′y2′x2′
Xét hai từ = u e x 1f y1e x2f y2 , = v f y1′e x1′f y2′e x2′ trong VX Y , Ta
có ϕ( ) = u x1y1x2y2 = y 1′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
ra được mâu thuẫn
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 a nbn , n ≥ 1, ai A, b∈ i 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 , } ∈ L ALT và β|C là đơn ánh
( ) Ta chứng minh, nếu⇒ β|U là đơn ánh thì {X Y, } ∈ L ALT và β|C là đơn ánh Thật vậy, giả sử ngược lại {X Y, } ∉ L ALT 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, } ∉ L ALT 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 x= 1y1 xnyn = x1′y1′ xm′ym′ (2.4) với , 1, m n ≥ xi, xj ′∈X y, i, yj′ Y i∈ , = 1, , , = 1, , Không mất n j mtính tổng quát, để xét hai phân tích khác nhau, ta có thể giả sử x 1 ≠ x1′ Xét các từ β(ai) = x i, β(bi) = y i, β(aj′) = xj′, β(bj′) = y j′, với ai,
aj ′∈A b, i, bj′ B i∈ , = 1, , , = 1, , Từ hệ thức (2.4) và xn j m 1 ≠ 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′) , a 1 ≠ a1′ (2.5)
Do đó = u a 1b1 anbn ≠ ′ u = a 1′b1′ am′bm′ Từ hệ thức (2.5), ta
có β( ) = u β( ), mâu thuẫn với giả thiết u′ β|U là đơn ánh
Các trường hợp còn lại trong sự phân tích của , chứng minh wtươ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 β( ) Theo giả thiết v X ∩Y = ∅,
do đó , cùng thuộc hoặc cùng thuộc u v A B
Xét hai phân tích luân phiên của một từ theo {A B, }: c 1c2 cn =
c1′c2′ cm′, với , m n 1, nếu c ≥ i∈A thì ci+1 ∈B và nếu ci∈B thì ci+1 ∈A,
i= 1, , −1 Và nếu cn j′∈A thì cj+1′∈B và nếu cj′∈B thì cj+1′∈A,
j= 1, , −1 m
Trang 38Đặt = u c 1c2 cn , = u′ c 1′c2′ cm′ Giả sử β( ) = u β( ), suy u′
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, } ∈ L ALT, suy ra = và m n β(ui) = β(ui′),
i= 1, , Mặt khác, n β|C là đơn ánh, suy ra u i = u i′, = 1, , hay = i n u u ′(ii) β|V là đơn ánh khi và chỉ khi { X Y , }∈ L EALT 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:
Trang 39- 37 -
xi′yi′, với xi , xj′ X y∈ , i , yj′ Y i ∈ , = 1, , , = 1, , Rõ ràng, đây là hai n j mphâ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 ∈ L C Khi đó, từ
hệ thức x1y1x2y2 xnyn = x 1′y1′x2′y2′ xm′ym′, đặt zi = xiyi, zj′ = xj′yj′,
ta có z1 zn = z1′ zm′ với zi , zj′ Z i ∈ , = 1, , , = 1, , Do Ln j m Z ∈ Cnên = , m n z i = zi′ hay xiyi = xi′yi′, = 1, ,i n
Từ giả thiết (X Y, ) có tích không nhập nhằng và từ hệ thức x iyi = xi′yi′,
i= 1, , , suy ra n x i = xi′, yi = yi′ Vì vậy, {X Y, } ∈ LEALT
Định lý 2.3.2 Cho X, Y ⊆ A+ Khi đó, {X Y, } ∈ L WLALT 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, } ∈ L WLALT, 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, } ∉ L EALT Từ Định nghĩa 2.2.7 và Đinh nghĩa 2.2.8, dễ dàng suy ra mâu thuẫn
Trang 40Đặt = w u x (∈ XY) +, ta có = w z 1′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, } ∈ L EALT 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 u, }: = 1u2 un = u 1′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, , −1 m
Vì có hai phân tích luân phiên cùng kiểu trái khác nhau, do đó ta w
có hai trường hợp: u 1, u1′ X hoặc u∈ 1, u1′ Y, ∈
+ Trường hợp 1: u 1, u1′ X∈ Xét tính chẵn lẻ của và , ta có: n m
− Với và đều chẵn ( = 2 , = 2 ) Khi đó ta có: = n m n l m k w x 1y1x2y2
xlyl = x1′y1′x2′y2′ xk′yk′, suy ra = Z XY ∉L C hay {X Y, } ∉ LEALT,
mâu thuẫn
− Với và đều lẻ ( = 2 +1, = 2 +1) Khi đó ta có: = n m n l m k w x 1y1x2y2
xl+1 = x 1′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 ′ = x 1y1x2y2 xl+1 y = x1′y1′x2′y2′ xk+1′y, đây là hai phân
tích khác nhau trong =Z XY Do đó =Z XY∉ L C hay {X Y, } ∉ LEALT ,
mâu thuẫn
− Với chẵn và lẻ ( = 2 , = 2 +1) Khi đó ta có: = n m n l m k w x 1y1x2y2
ylxl = x1′y1′x2′y2′ xk+1′ Đặt = u x 1′y1′x2′y2′ xk′yk′ (XY)∈ +, thì
w u x = k+1′ ∈ (XY)+ Khi đó (u ∈ XY)+X–1, mâu thuẫn với (XY) +X–1 ∩
(XY)+ = ∅
− Với lẻ và chẵn ( = 2 +1, = 2 ) Khi đó ta có: = n m n l m k w x 1y1x2y2
xl+1 = x 1′y1′x2′y2′ x k′yk′ Đặt = u x 1y1x2y2 x lyl ∈ 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: u 1, u1′ Y Lập luận tương tự như trên với vai trò của ∈
Y thay cho , ta đạt được sự mâu thuẫn Vì vậy, {X YX , } ∈ L WLALT