Tải bản đầy đủ (.pdf) (107 trang)

(Luận án tiến sĩ) một số vấn đề lý thuyết và ứng dụng của các mô hình otomat nâng cao

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.53 MB, 107 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
---------------------------------------

Đặng Quyết Thắng

MỘT SỐ VẤN ĐỀ LÝ THUYẾT VÀ ỨNG DỤNG
CỦA CÁC MƠ HÌNH OTOMAT NÂNG CAO

LUẬN ÁN TIẾN SĨ TOÁN HỌC

Hà Nội – 2013


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
---------------------------------------

Đặng Quyết Thắng

MỘT SỐ VẤN ĐỀ LÝ THUYẾT VÀ ỨNG DỤNG
CỦA CÁC MƠ HÌNH OTOMAT NÂNG CAO

Chun ngành: Bảo đảm tốn học cho máy tính và hệ thống tính tốn
Mã số: 62 46 35 01

LUẬN ÁN TIẾN SĨ TỐN HỌC

NGƢỜI HƢỚNG DẪN KHOA HỌC:

1. PGS. TS. Phan Trung Huy


2. GS. TS. Đặng Huy Ruận

Hà Nội – 2013


LỜI CAM ĐOAN

Tơi xin cam đoan đây là cơng trình nghiên cứu khoa học của riêng tôi và
chƣa từng đƣợc ai cơng bố trong bất kỳ cơng trình nào khác. Các kết quả 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.
Tác giả

Đặng Quyết Thắng


LỜI CẢM ƠN

Tơi xin bày tỏ lịng biết ơn sâu sắc tới PGS. TS. Phan Trung Huy và GS. TS.
Đặng Huy Ruận - những ngƣời thầy đã tận tình hƣớng dẫn, chỉ ra cho tôi hƣớng
nghiên cứu lý thú và động viên khích lệ tơi hồn thành luận án này.
Tơi xin chân thành cảm ơn Ban Giám đốc, Khoa Sau đại học, Ban đào tạo,
Đại học Quốc gia Hà Nội; Ban Giám hiệu, Phịng Sau đại học, Khoa Tốn - Cơ Tin học, Bộ môn Tin học, Trƣờng Đại học Khoa học Tự nhiên đã tạo mọi điều kiện
thuận lợi cho tơi trong q trình học tập và nghiên cứu.
Tơi xin cảm ơn các nhà khoa học, các đồng nghiệp trong các xêmina tại Bộ
mơn Tin học thuộc Khoa Tốn - Cơ - Tin học, Trƣờng Đại học Khoa học Tự nhiên;
Bộ mơn Tin học thuộc Viện Tốn ứng dụng và Tin học, Trƣờng Đại học Bách khoa
Hà Nội; phòng Cơ sở Toán học của Tin học thuộc Viện Toán học, Viện Hàn lâm
Khoa học và Công nghệ Việt Nam đã tạo điều kiện cho tơi trình bày một phần nội
dung cơ bản của luận án và góp ý giúp tơi hồn thiện luận án này.
Tơi cũng xin chân thành cảm ơn Ban giám hiệu - Trƣờng Đại học Sƣ phạm

Kỹ thuật Nam Định đã tạo điều kiện thuận lợi cho tôi trong công tác, học tập và
nghiên cứu.
Những lời biết ơn sâu nặng xin đƣợc dành cho những ngƣời thân, đặc biệt là
mẹ và vợ con, cùng các bạn đồng nghiệp đã thơng cảm, khích lệ và sẻ chia khó khăn
trong thời gian tơi thực hiện luận án này.
Tác giả

Đặng Quyết Thắng


MỤC LỤC

LỜI CAM ĐOAN .......................................................................................................3
LỜI CẢM ƠN .............................................................................................................4
MỤC LỤC .................................................................................................................5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ..............................................8
DANH MỤC CÁC BẢNG VÀ HÌNH VẼ .................................................................9
MỞ ĐẦU

...............................................................................................................10

Chƣơng 1. CÁC KIẾN THỨC CƠ SỞ ...................................................................19
1.1. Một số khái niệm..........................................................................................19
1.1.1. Cấu trúc đại số cơ bản và ngơn ngữ ......................................................19
1.1.1.1. Vị nhóm ........................................................................................19
1.1.1.2. Nửa vành .......................................................................................20
1.1.1.3. Ngôn ngữ ......................................................................................20
1.1.1.4. Khoảng cách soạn thảo .................................................................22
1.1.1.5. Xâu con chung dài nhất ................................................................25
1.1.2. Một số loại mã .......................................................................................25

1.1.2.1. Mã .................................................................................................25
1.1.2.2. ω - mã ...........................................................................................26
1.1.2.3. Z - mã ............................................................................................27
1.1.2.4. Độ trễ giải mã ...............................................................................29
1.2. Máy biến đổi và otomat ...............................................................................29
1.2.1. Khái niệm ..............................................................................................29
1.2.2. Hợp thành của hai máy biến đổi ............................................................32


1.3. Đồ thị hữu hạn..............................................................................................35
1.3.1. Khái niệm cơ bản ...................................................................................35
1.3.2. Biểu diễn đồ thị trong máy tính .............................................................36
1.3.2.1. Phƣơng pháp ma trận kề ...............................................................36
1.3.2.2. Phƣơng pháp danh sách kề ...........................................................36
1.3.3. Tìm kiếm theo chiều sâu........................................................................37
1.3.4. Tìm đƣờng đi ngắn nhất nguồn đơn ......................................................38
1.4. Chuỗi hình thức ............................................................................................39
1.4.1. Khái niệm ..............................................................................................39
1.4.2. Định lý Schützenberger .........................................................................40
1.5. Kết luận chƣơng 1 ........................................................................................42
Chƣơng 2. KHOẢNG CÁCH SOẠN THẢO CỦA HAI NGÔN NGỮ .................43
2.1. Xâu con chung dài nhất của hai ngôn ngữ ...................................................43
2.1.1. Bài tốn ..................................................................................................43
2.1.2. Hình thức hóa khái niệm LCS ...............................................................43
2.1.3. Thuật tốn tìm đƣờng đi dài nhất nguồn đơn ........................................45
2.1.4. Xác định LCS của hai ngôn ngữ theo otomat .......................................47
2.1.4.1. Chi phí của một dãy sánh LCS .....................................................47
2.1.4.2. Thuật tốn .....................................................................................48
2.2. Khoảng cách DL hạn chế của hai ngôn ngữ ................................................50
2.2.1. Hình thức hóa khái niệm khoảng cách DL hạn chế ..............................51

2.2.2. Mở rộng kiểu 1 của otomat....................................................................54
2.2.3. Xác định khoảng cách DL hạn chế của hai ngôn ngữ theo otomat .......55
2.2.3.1. Chi phí của một dãy sánh DL hạn chế ..........................................55
2.2.3.2. Thuật toán .....................................................................................56
2.3. Kết luận chƣơng 2 ........................................................................................58


Chƣơng 3. KIỂM ĐỊNH

-MÃ VÀ Z-MÃ...........................................................59

3.1. Phép toán trên otomat ..................................................................................59
3.1.1. Lƣỡng cực hóa, mở rộng kiểu 2 và kiểu 3 của otomat ..........................59
3.1.2. Tích otomat ............................................................................................60
3.1.3. Tích hợp otomat.....................................................................................62
3.2. Sự tồn tại đƣờng đi kiểu 1 và kiểu 2 ............................................................64
3.3. Kiểm định ω-mã theo otomat.......................................................................68
3.4. Kiểm định Z-mã theo otomat .......................................................................71
3.5. Kết luận chƣơng 3 ........................................................................................77
Chƣơng 4. XÁC ĐỊNH ĐỘ KHÔNG NHẬP NHẰNG VÀ ĐỘ TRỄ GIẢI MÃ .......
...............................................................................................................78
4.1. Độ không nhập nhằng của ngôn ngữ ...........................................................78
4.2. Mở rộng kiểu 4 và kiểu 5 của otomat ..........................................................79
4.3. Giá của đƣờng đi kiểu 2 và sự tồn tại đƣờng đi kiểu 3 ................................80
4.4. Xác định độ không nhập nhằng của ngôn ngữ theo otomat .........................86
4.5. Xác định độ trễ giải mã theo otomat ............................................................91
4.6. Kết luận chƣơng 4 ........................................................................................98
KẾT LUẬN ...............................................................................................................99
DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN
ĐẾN LUẬN ÁN ......................................................................................................101

TÀI LIỆU THAM KHẢO .......................................................................................103


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Các ký hiệu
ε

Từ (xâu) rỗng

|A|

Lực lƣợng của tập A

w(i)

Khúc đầu có độ dài i của xâu w

w[i]

Ký tự thứ i trong xâu w

wg[e]

Trọng số của cung e trên otomat hoặc máy biến đổi

wg[π]

Trọng số của đƣờng đi π


wg[(u, v)]

Trọng số của cạnh (u, v) trên đồ thị



Bảng chữ cái

*

Tập hợp tất cả các từ trên bảng chữ cái 

L

Ngôn ngữ trên bảng chữ cái 

L+

Lặp cắt của ngôn ngữ L

L

Tập các từ đảo ngƣợc của các từ thuộc ngôn ngữ L



ω - ngôn ngữ

Các chữ viết tắt
DL


Damerau–Levenshtein

LCS

Xâu con chung dài nhất (Longest Common Subsequence)


DANH MỤC CÁC BẢNG VÀ HÌNH VẼ

Bảng 1.1. Độ dài LCS của khúc đầu của x và y………………………………

24

Hình 1.1. Hợp thành của otomat hữu hạn với máy biến đổi trên nửa vành
Tropical…………………………………………………………………………

33

Hình 1.2. Đồ thị có hƣớng……………………………………………………..

35

Hình 1.3. Mảng danh sách kề của đồ thị G…………………………………..

36

Hình 1.4. Otomat có trọng số đốn nhận chuỗi hình thức...………………..

41


Hình 2.1. Máy biến đổi  thực hiện Ψ* trên bảng chữ cái Ω ………………..

47

Hình 2.2. Mở rộng kiểu 1 của otomat hữu hạn………………………………

54

Hình 2.3. Máy biến đổi  thực hiện Ψ* trên bảng chữ cái Γ ………………..

56

Hình 3.1. Tích hai otomat……………………………………………………..

60

Hình 3.2. Nhãn của đƣờng đi giữa hai trạng thái kế tiếp cùng dạng……….

61

Hình 3.3. Tích hợp hai otomat………………………………………………..

62

Hình 3.4. Hai kiểu hai ω -phân tích phải khác nhau của từ w………………

69

Hình 3.5. Bốn kiểu hai Z-phân tích khác nhau của từ w…………………….


71

Hình 4.1. Tính độ trễ giải mã của L…………………………………………..

91


MỞ ĐẦU

Lý thuyết otomat nghiên cứu về lớp các thuật toán  đối tƣợng quan trọng
trong toán học và khoa học máy tính. Năm 1936, A.M. Turing đã đề xuất vấn đề
thuật tốn có thể giải quyết bởi phƣơng tiện máy mà sau này gọi là máy Turing
[66]. Năm 1943, W.S. McCulloch và W.H. Pitts đã đề xuất mơ hình tốn học của tế
bào thần kinh [47]. Sau đó, S.C. Kleene đã phát triển báo cáo RAND của ông năm
1951, trong đó mơ hình của W. S. McCulloch và W.H. Pitts đã đƣợc đƣa ra dạng
toán học chi tiết [36]. Các đề xuất này đƣợc xem là nền tảng của lý thuyết otomat.
Otomat và ngôn ngữ đƣợc ứng dụng trong nhiều lĩnh vực nhƣ thiết kế mạch
[54], thiết kế chƣơng trình dịch [12], biểu diễn biểu thức chính quy [27], tìm kiếm
mẫu [21], xử lý ngơn ngữ tự nhiên [57], mã hóa thơng tin [42], tạo chuỗi các con số
[29], mơ tả thuật tốn trong lý thuyết nhóm [63], phát triển lý thuyết đại số của các
ngơn ngữ đốn nhận trong phạm vi lý thuyết nửa nhóm hữu hạn [55], D.B.A.
Epstein cho thấy otomat là một công cụ quan trọng trong lý thuyết nhóm tổ hợp và
hình học [26]…
Ngơn ngữ có thể đƣợc biểu diễn bởi một tập các xâu, biểu thức chính quy,
văn phạm, cây, otomat hay đồng cấu vị nhóm… Nhƣng ngơn ngữ biểu diễn bởi
otomat đƣợc sử dụng khá rộng rãi vì tính đơn giản trong cài đặt. Ứng dụng khả
năng biểu diễn ngôn ngữ của otomat, sử dụng các kỹ thuật trên otomat để thiết kế
các thuật tốn hiệu quả  có độ phức tạp thời gian đa thức bậc thấp, nhằm giải quyết
các bài toán trọng tâm trong xử lý thơng tin nhƣ: bài tốn so mẫu xấp xỉ, bài toán

kiểm định mã, nghiên cứu các đặc tính của mã, hay ngơn ngữ hình thức trong mối
quan hệ với mã. Tăng tốc độ tính tốn cho các thuật toán giải quyết các bài toán
này, trong môi trƣờng bùng nổ thông tin là một vấn đề nghiên cứu mở, có tính thời
sự và ln thu hút sự quan tâm của cộng đồng nghiên cứu.


Trong lĩnh vực khoa học máy tính, so mẫu xấp xỉ là một bài toán quan trọng
đƣợc ứng dụng rộng rãi trong tìm kiếm, tính tốn, trích rút thơng tin, xử lý tín hiệu
và nhận dạng... So mẫu xấp xỉ là bài tốn tìm sự xuất hiện của một mẫu trong văn
bản, trong đó sự “khớp” giữa mẫu và xuất hiện của nó có thể chấp nhận một số
“lỗi”. Mơ hình lỗi đƣợc dùng phổ biến nhất là khoảng cách soạn thảo (edit distance)
[52], các phép toán soạn thảo gồm phép xóa, chèn, thay thế một ký tự và đổi chỗ hai
ký tự khác nhau liền kề. Do vai trò quan trọng của bài tốn xấp xỉ, đã có nhiều cơng
trình [11, 23, 30, 31, 32, 34, 35, 40, 51, 52, 71] nghiên cứu khoảng cách soạn thảo
giữa hai xâu. Năm 2003, M. Mohri đã giải quyết bài toán xác định khoảng cách
soạn thảo Levenshtein (gồm ba phép toán soạn thảo là phép xóa, chèn, thay thế một
ký tự) của hai otomat hữu hạn [48]. Không thể áp dụng một cách hiệu quả các
phƣơng pháp cổ điển, hay áp dụng trực tiếp phƣơng pháp của M. Mohri để giải
quyết bài tốn xác định khoảng cách soạn thảo của hai ngơn ngữ, trong trƣờng hợp
hai phép tốn soạn thảo (phép xóa, chèn) hoặc bốn phép tốn soạn thảo (phép xóa,
chèn, thay thế một ký tự, đổi chỗ hai ký tự khác nhau liền kề). Từ đó, bài tốn thứ
nhất đặt ra là: cho hai otomat hữu hạn đốn nhận hai ngơn ngữ L1 và L2 (hữu hạn
hoặc vô hạn) tương ứng. Sử dụng kỹ thuật otomat, có thể xây dựng phương pháp
xác định xâu con chung dài nhất (phép toán soạn thảo gồm phép xóa, chèn), hay
tập các xâu con chung dài nhất của hai ngôn ngữ L1 và L2, cũng như xác định
khoảng cách soạn thảo Damerau–Levenshtein (phép toán soạn thảo gồm bốn phép
nói trên) của hai ngơn ngữ L1 và L2, với các thuật tốn có độ phức tạp thời gian là
đa thức bậc thấp hay không?
Lý thuyết mã bắt nguồn từ lý thuyết thông tin do C. Shannon đề xuất năm
1949 [62]. Những năm sau đó, lý thuyết mã phát triển theo nhiều hƣớng khác nhau

xuất phát từ nhu cầu của thực tiễn. Một hƣớng nghiên cứu liên quan đến mã độ dài
cố định, ứng dụng để phát hiện và sửa lỗi xuất hiện trên các kênh truyền tin. Đến
năm 1955, M.P. Schüzenberger đề xuất hƣớng nghiên cứu về mã có độ dài biến đổi.
Từ đó, nhiều cơng trình đã nảy sinh, phát triển và nhận đƣợc những kết quả phong


phú trong cả lý thuyết và ứng dụng. Lý thuyết mã có vai trị thiết yếu trong nhiều
lĩnh vực nhƣ xử lý thông tin, nén dữ liệu, truyền thông và mật mã… có liên hệ chặt
chẽ với lý thuyết tổ hợp trên từ, lý thuyết otomat, ngơn ngữ hình thức và lý thuyết
nửa nhóm. Bài tốn kiểm định mã và bài tốn nghiên cứu các đặc tính của mã, hay
ngơn ngữ hình thức trong mối quan hệ với mã, là những bài toán đƣợc nhiều nhà
khoa học quan tâm nghiên cứu, vì vai trị sâu sắc và rất cơ bản của chúng trong lý
thuyết và ứng dụng.
Xét một chuỗi thông báo đƣợc mã hóa nào đó, chúng ta có thể biết điểm khởi
đầu và không biết điểm kết thúc hoặc không biết cả điểm khởi đầu và kết thúc của
bản mã. Do đó, nội dung của bản mã có thể không đƣợc giải mã. Sử dụng ω -mã
hay Z-mã, ta có thể mã hóa và giải mã những bản mã là chuỗi vơ hạn các từ một
phía hoặc cả hai phía. Đã có nhiều nghiên cứu về kiểm định và các đặc trƣng của

ω -mã [3, 15, 19, 20, 24, 33, 45, 53] cũng nhƣ Z-mã [3, 24, 25, 33, 38, 43, 53, 56,
64, 67, 68, 70]. Các nghiên cứu này chủ yếu tập trung vào khía cạnh tốn học, nếu
có thuật tốn thì mơ tả ở mức thơ, khơng có những đánh giá về độ phức tạp thời
gian của thuật tốn, hoặc có độ phức tạp thời gian là hàm mũ. Nghiên cứu trong [3]
đề xuất thuật toán kiểm định ω -mã cũng nhƣ Z-mã với đầu vào là đồng cấu vị
nhóm biểu diễn ngơn ngữ, có độ phức tạp thời gian là đa thức theo kích thƣớc của
vị nhóm. Tuy nhiên, với đầu vào là otomat hữu hạn, nếu muốn áp dụng thuật tốn
trong [3] thì ta phải chuyển đổi từ otomat hữu hạn sang vị nhóm hữu hạn tƣơng ứng,
với thuật tốn có độ phức tạp thời gian là hàm mũ. Hiện nay, với đầu vào là otomat
đơn định, thuật toán kiểm định ω -mã tốt nhất đƣợc biết đến có độ phức tạp thời
gian trong trƣờng hợp xấu nhất là (n3), ở đó n là số trạng thái của otomat đầu vào

[15] (để đơn giản trong trình bày luận án, khi đề cập đến độ phức tạp thời gian của
thuật tốn thì ln đƣợc hiểu là độ phức tạp thời gian trong trƣờng hợp xấu nhất).
Từ đó, bài tốn thứ hai được đặt ra là: cho otomat hữu hạn đốn nhận ngơn ngữ L.
Sử dụng kỹ thuật otomat, có thể xây dựng phương pháp kiểm định ω -mã cũng như
Z-mã đối với L, cùng các thuật tốn có độ phức tạp thời gian là đa thức bậc thấp


hay khơng?
Trong các nghiên cứu về ngơn ngữ hình thức có quan hệ với mã, hai bài tốn
về tính khơng nhập nhằng và độ trễ giải mã đƣợc nhiều tác giả nghiên cứu khá sơi
động bởi các cơng trình [3, 4, 5, 10, 13, 14, 17, 24, 25, 28, 37, 39, 44, 60, 64, 65,
69]. Đến nay, phƣơng pháp giải hai bài toán này chủ yếu dựa trên cách tiếp cận tổ
hợp và ý tƣởng từ thủ tục Sardinas-Patterson kiểm tra tính chất mã của một ngơn
ngữ, hay xác định một máy biến đổi có là hàm hay khơng. Cũng theo các phƣơng
pháp này, trong [3] đề xuất thuật toán xác định độ không nhập nhằng và độ trễ giải
mã, nhƣng đầu vào là đồng cấu vị nhóm biểu diễn ngơn ngữ. Ta cũng khơng thể áp
dụng thuật tốn trong [3] cho các bài toán này với đầu vào là otomat hữu hạn. Khái
niệm tích khơng nhập nhằng trên ngơn ngữ có liên quan chặt chẽ với mã. Đối với
ngơn ngữ là mã, một từ là tích ghép của các từ thuộc ngơn ngữ đều có một phân tích
duy nhất trên ngôn ngữ. Đối với ngôn ngữ không là mã, một từ là tích ghép của một
số từ (nhỏ hơn hoặc bằng k nào đó) thì có một phân tích duy nhất trên ngơn ngữ,
một từ là tích ghép của một số từ (lớn hơn k) thì có nhiều hơn một phân tích trên
ngơn ngữ. Từ đó, khái niệm độ không nhập nhằng của ngôn ngữ đƣợc đề xuất [7]
(xem Danh mục các cơng trình khoa học của tác giả liên quan đến luận án). Về mặt
ứng dụng, ta có thể sử dụng những ngơn ngữ có độ khơng nhập nhằng đủ lớn,
khơng nhất thiết là mã để mã hóa thông tin mật. Đối phƣơng tấn công vào các hệ
mã khơng là mã sẽ phức tạp hơn, chi phí cao hơn tấn cơng vào các hệ mã là mã.
Vậy có một phƣơng pháp hiệu quả, với đầu vào là otomat hữu hạn đốn nhận ngơn
ngữ L, cho phép xác định độ không nhập nhằng của ngôn ngữ L hay không? Mặt
khác, nghiên cứu về độ trễ giải mã ta xem xét ví dụ sau: cho ngơn ngữ L = {b, ba,

aa} là mã. Xét thông điệp baaaa…, khi giải mã, một tham số mà cho ta quyết định
đƣợc khởi đầu là b hay ba đã đƣợc E.N. Gilbert và E.F. Moore đề xuất [28]. Đó là
khái niệm độ trễ giải mã, nó phản ánh độ khó của q trình giải mã. Thuật tốn tốt
nhất đƣợc biết, có độ phức tạp thời gian là (h4logh), ở đó h là số đỉnh và cung
(kích cỡ) của otomat hữu hạn đầu vào [65]. Từ các vấn đề đặt ra về độ không nhập


nhằng và độ trễ giải mã, bài toán thứ ba được đặt ra là: cho otomat hữu hạn đốn
nhận ngơn ngữ L. Sử dụng kỹ thuật otomat, có thể xây dựng phương pháp xác định
độ không nhập nhằng của ngôn ngữ L, cũng như xác định độ trễ giải mã của L, với
các thuật tốn có độ phức tạp thời gian là đa thức bậc thấp hay không?
Từ các bài tốn đặt ra ở trên, mục tiêu chính của luận án là sử dụng các kỹ
thuật trên otomat và máy biến đổi, đề xuất các phƣơng pháp mới, giải quyết các bài
toán đƣợc nhiều ngƣời quan tâm về so mẫu xấp xỉ, kiểm định mã, các đặc trƣng của
mã và ngơn ngữ hình thức có quan hệ với mã. Các phƣơng pháp này cho phép thiết
kế các thuật toán hiệu quả - độ phức tạp thời gian là đa thức bậc thấp, với đầu vào là
otomat hữu hạn đoán nhận ngơn ngữ. Kết quả đạt đƣợc sẽ đóng góp về lý thuyết
cũng nhƣ ứng dụng trong ngơn ngữ hình thức và mã.
Phƣơng pháp nghiên cứu đƣợc sử dụng trong luận án là các phƣơng pháp và
công cụ đại số, tổ hợp trên từ, ngơn ngữ hình thức và otomat, đồ thị hữu hạn, chuỗi
hình thức và độ phức tạp thời gian của thuật tốn.
Các đóng góp chính của luận án:
Đóng góp thứ nhất của luận án là đề xuất phương pháp xác định xâu con
chung dài nhất và khoảng cách soạn thảo DL hạn chế của hai ngôn ngữ được đốn
nhận bởi hai otomat hữu hạn tương ứng, cơng bố tại các cơng trình [2, 3] (xem
Danh mục các cơng trình khoa học của tác giả liên quan đến luận án). Các phƣơng
pháp này, đƣợc cải tiến từ phƣơng pháp của M. Mohri [48] bằng cách: hình thức
hóa các khái niệm theo dãy sánh LCS, theo dãy sánh DL hạn chế; chi phí của mỗi
phép tốn soạn thảo là một số tùy ý; ứng dụng thuật tốn tìm đƣờng đi dài nhất
(ngắn nhất) nguồn đơn; kỹ thuật mở rộng kiểu 1 của otomat cho một otomat có các

cung với nhãn ghép, cho phép phản ánh phép đổi chỗ hai ký tự khác nhau liền kề.
Từ đó, nhận đƣợc hai thuật tốn đó là:
- Thuật tốn xác định xâu con chung dài nhất của hai ngôn ngữ, với độ phức
tạp thời gian (hl), ở đó h, l lần lƣợt là kích cỡ của hai otomat hữu hạnđầu vào. Từ


thuật tốn này, cịn cho phép xác định tập các LCS của hai ngơn ngữ.
- Thuật tốn xác định khoảng cách soạn thảo DL hạn chế của hai ngơn ngữ,
có độ phức tạp thời gian là (hl).
Đóng góp thứ hai của luận án là đề xuất phương pháp kiểm định ω -mã và
Z-mã đối với ngơn ngữ được đốn nhận bởi otomat hữu hạn, cơng bố tại các cơng
trình [5, 6, 8, 10, 12] (xem Danh mục các cơng trình khoa học của tác giả liên quan
đến luận án). Các phƣơng pháp này đƣợc thực hiện nhờ những đề xuất: ứng dụng
lƣỡng cực hóa otomat, cho phép đƣa otomat về dạng có một trạng thái ban đầu và
một trạng thái kết thúc; kỹ thuật mở rộng kiểu 2 của otomat, cho phép otomat đốn
nhận ngơn ngữ Lω; kỹ thuật mở rộng kiểu 3 của otomat, cho phép otomat đốn nhận
ω

ngơn ngữ L ; đƣờng đi kiểu 1 (là đƣờng đi mà đỉnh đầu là đỉnh khởi đầu, đỉnh cuối
trùng với đỉnh trên đƣờng đi tạo nên chu trình, chu trình này lần lƣợt đi qua ít nhất 2
đỉnh thuộc 2 tập đỉnh khóa tƣơng ứng) và đƣờng đi kiểu 2 (là đƣờng đi mà đỉnh đầu
là đỉnh khởi đầu, đỉnh cuối là đỉnh kết thúc và đi qua ít nhất một đỉnh thuộc 1 tập
đỉnh khóa) trên đồ thị có gán nhãn và tô màu đỉnh, cùng với kỹ thuật tìm kiếm xác
định sự tồn tại của chúng; thiết lập một số tính chất trên đồ thị đƣợc tạo nên từ tích
và tích hợp các otomat, có mối liên hệ với đƣờng đi kiểu 1 và kiểu 2. Các đề xuất
này cho phép thiết kế các thuật toán kiểm định ω -mã và Z-mã, có độ phức tạp thời
gian là (n3) với đầu vào là otomat đơn định, là (n5) với đầu vào là otomat đa
định, ở đó n là số trạng thái của otomat đầu vào. Phƣơng pháp đề cập trên, cho phép
không phải chuyển đổi từ otomat đa định sang otomat đơn định, với giá phải trả là
độ phức tạp thời gian hàm mũ.

Đóng góp thứ ba của luận án là đề xuất phương pháp xác định độ không
nhập nhằng và độ trễ giải mã của ngôn ngữ được đốn nhận bởi otomat hữu hạn,
cơng bố tại các cơng trình [1, 4, 7, 9, 11] (xem Danh mục các cơng trình khoa học
của tác giả liên quan đến luận án). Các phƣơng pháp này dựa trên các đề xuất: kỹ
thuật mở rộng kiểu 4 của otomat, cho phép otomat đốn nhận ngơn ngữ L+; kỹ thuật


mở rộng kiểu 5 của otomat, cho phép otomat đoán nhận ngôn ngữ L+*; xác định
giá của đƣờng đi kiểu 2 và sự tồn tại của đƣờng đi kiểu 3 (là đƣờng đi mà đỉnh đầu
là đỉnh khởi đầu, đỉnh cuối trùng với đỉnh trên đƣờng đi tạo nên chu trình, chu trình
này đi qua ít nhất 1 đỉnh thuộc 1 tập đỉnh khóa) trên đồ thị có gán nhãn và tơ màu
đỉnh; một số tính chất trên đồ thị đƣợc tạo nên từ tích các otomat, có mối liên hệ với
giá của đƣờng đi kiểu 2 và sự tồn tại đƣờng đi kiểu 3. Từ đó, ta nhận đƣợc hai thuật
tốn đó là:
- Thuật tốn xác định độ khơng nhập nhằng của ngơn ngữ, có độ phức tạp
thời gian là (n4) với đầu vào là otomat đa định, là (n2logn) với đầu vào là otomat
đơn định.
- Thuật toán xác định độ trễ giải mã, với độ phức tạp thời gian (h3), với đầu
vào là otomat đa định.
Các kết quả chính của luận án đƣợc cơng bố tại các cơng trình [1-12] (xem
Danh mục các cơng trình khoa học của tác giả liên quan đến luận án) và đã đƣợc
trình bày tại:
-

Xêmina của Phịng Cơ sở Tốn học của Tin học, Viện Tốn học, Viện
Hàn lâm Khoa học và Cơng nghệ Việt Nam.

-

Xêmina của Bộ mơn Tốn tin, Viện Tốn ứng dụng và Tin học, Trƣờng

Đại học Bách khoa Hà Nội.

-

Xêmina của Bộ mơn Tin học, Khoa Tốn – Cơ – Tin học, Trƣờng Đại học
Khoa học Tự nhiên, Đại học Quốc gia Hà Nội.

-

Hội thảo quốc tế 2010 IEEE-RIVF International Conference on
Computing

and

Communication

Technologies,

Hanoi,

Vietnam,

November 1-4, 2010.
-

Hội thảo quốc tế New Challenges for Intelligent Information and
Database Systems - Studies in Computational Intelligence, Daegu, Korea,
April 20-22, 2011.



-

Hội thảo quốc tế Future Information Technology, Application, and
Service - Lecture Notes in Electrical Engineering, Vancouver, Canada,
June 26-28, 2012.

-

Hội thảo quốc tế the 9th IFIP International Conference on Network and
Parallel Computing (NPC 2012)- Lecture Notes in Computer Science,
Gwangju, Korea, Septemper 6-8, 2012.

-

Tạp chí Tin học và Điều khiển học.

Luận án gồm phần mở đầu và 4 chƣơng, 3 chƣơng cuối trình bày các đóng
góp mới của luận án, sau đó là phần kết luận, danh mục các cơng trình khoa học của
tác giả liên quan đến luận án và tài liệu tham khảo, trong đó:
Chƣơng 1– Các kiến thức cơ sở. Chƣơng này nhắc lại khái niệm cơ sở về
đại số, ngôn ngữ và mã, máy biến đổi, otomat, đồ thị hữu hạn và chuỗi hình thức.
Các kiến thức cơ sở này đƣợc sử dụng trong các chƣơng tiếp theo của luận án.
Chƣơng 2 – Khoảng cách soạn thảo của hai ngơn ngữ. Chƣơng này trình
bày các kết quả đóng góp mới của luận án về phƣơng pháp xác định xâu con chung
dài nhất của hai ngôn ngữ và phƣơng pháp xác định khoảng cách soạn thảo DL hạn
chế của hai ngôn ngữ. Các phƣơng pháp này dựa trên những đề xuất về hình thức
hóa khái niệm; kỹ thuật mở rộng kiểu 1 của otomat; ứng dụng kỹ thuật hợp thành
của hai máy biến đổi, thuật tốn tìm đƣờng đi dài nhất (ngắn nhất) nguồn đơn.
Chƣơng 3 – Kiểm định ω-mã và Z-mã. Chƣơng này trình bày các kết quả
đóng góp mới của luận án về phƣơng pháp kiểm định ω –mã cũng nhƣ Z–mã. Các

phƣơng pháp này dựa trên các đề xuất về đƣờng đi kiểu 1, kiểu 2 trên đồ thị có gán
nhãn và tơ màu đỉnh, kỹ thuật xác định sự tồn tại của chúng; ứng dụng lƣỡng cực
hóa otomat; kỹ thuật mở rộng kiểu 2, kiểu 3 của otomat; kỹ thuật tích và tích hợp
otomat.
Chƣơng 4 – Xác định độ không nhập nhằng và độ trễ giải mã. Chƣơng
này trình bày các kết quả đóng góp mới của luận án về phƣơng pháp xác định độ


không nhập nhằng của ngôn ngữ và phƣơng pháp xác định độ trễ giải mã. Các
phƣơng pháp này dựa trên các đề xuất về xác định giá của đƣờng đi kiểu 2, sự tồn
tại của đƣờng đi kiểu 3 trên đồ thị có gán nhãn và tơ màu đỉnh; kỹ thuật mở rộng
kiểu 4, kiểu 5 của otomat; kỹ thuật tích otomat.


Chƣơng 1.

CÁC KIẾN THỨC CƠ SỞ

Chƣơng thứ nhất trình bày các kiến thức cơ sở cần thiết, đƣợc sử dụng trong
các chƣơng tiếp theo của luận án. Ở đó, ta nhắc lại một số khái niệm trong đại số, lý
thuyết mã, lý thuyết ngơn ngữ hình thức và đồ thị hữu hạn. Về kiến thức cơ sở liên
quan, đƣợc tham khảo tại các tài liệu [2, 6, 7, 8, 9, 17, 18, 22, 23, 24, 37, 40, 41, 48,
49, 50, 52, 68, 71].
1.1. Một số khái niệm
1.1.1. Cấu trúc đại số cơ bản và ngơn ngữ
1.1.1.1. Vị nhóm
Vị nhóm M là tập hợp, đƣợc trang bị phép tốn hai ngơi có tính chất kết hợp
và phần tử trung hịa. Phép tốn hai ngơi thƣờng gọi là phép nhân. Phần tử trung
hòa là duy nhất, thƣờng gọi là phần tử đơn vị và ký hiệu là 1. Vị nhóm M gọi là vị
nhóm giao hốn nếu phép nhân có tính chất giao hốn.

Với vị nhóm M bất kỳ, tập (M) – tập các tập con của M cũng có cấu trúc vị
nhóm với phép tốn hai ngơi đƣợc định nghĩa nhƣ sau:
XY = {xy | x  X, y  Y}, X, Y  M và phần tử đơn vị là tập {1}.
Tập con N  M gọi là vị nhóm con của vị nhóm M nếu tập N là đóng với
phép toán trên M và chứa phần tử đơn vị của M (NN  N và 1  N).
Đồng cấu từ vị nhóm M vào vị nhóm N là hàm φ thỏa:
x, y  M sao cho φ (xy ) = φ (x )φ (y ) và φ(1) = 1.
Nếu φ là đơn ánh, tồn ánh, song ánh thì ta lần lƣợt gọi φ là đơn cấu, toàn
cấu và đẳng cấu tƣơng ứng.


1.1.1.2. Nửa vành
Định nghĩa 1.1. Một hệ thống (,, , 0 , 1 ) là nửa vành nếu:
i) (, , 0 ) là vị nhóm giao hốn cùng với phần tử đơn vị 0 .
ii) (, , 1 ) là vị nhóm cùng với phần tử đơn vị 1 .
iii) Phép  phân phối đối với phép .
iv) 0 là phần tử triệt tiêu đối với phép : a  , a  0 = 0  a = 0 .
Ví dụ 1.1. Hệ thống ({0, 1}, , , 0, 1) là nửa vành Boolean, (+, +, , 0, 1) là nửa
vành Probability, ( {-, +}, log, +, +, 0) là nửa vành Log, (  {-, +},
min, +, +, 0) là nửa vành Tropical. Phép toán log đƣợc định nghĩa nhƣ sau: a, b
   {}, a logb = -log(exp(-a)+exp(-b)), trong đó: exp(-) = 0, -log(0) = .
1.1.1.3. Ngôn ngữ
Tập hữu hạn khác rỗng  gọi là bảng chữ cái, phần tử a   gọi là ký tự hay
chữ cái. Trên bảng chữ cái , mỗi từ hay xâu w độ dài n > 0 là một dãy gồm n chữ
cái w = a1a2...an, ai  , i = 1,.., n. Quy ƣớc từ rỗng là từ có độ dài bằng 0 và ký
hiệu ε. Độ dài của w ký hiệu là |w|. Ký hiệu w[i] là ký tự thứ i trong w (w[i] = ai),
w(i) là khúc đầu có độ dài i của w (w(i) =a1...ai). Từ đảo ngược của w ký hiệu là w
và đƣợc xác định nhƣ sau: w = an...a2a1.
Tập hợp tất cả các từ (bao gồm từ rỗng) trên bảng chữ cái  ký hiệu là *.
Với mọi v, w  *, phép đặt cạnh nhau vw gọi là phép ghép v với w. Từ rỗng là

phần tử đơn vị của phép ghép, ε w = wε = w với mọi w  *. Phép ghép có tính chất
kết hợp, nên * trở thành vị nhóm tự do sinh bởi , với phần tử đơn vị là từ rỗng.
Tập tất cả các từ trên bảng chữ cái  không kể từ rỗng, đƣợc ký hiệu là +, ta
có + = *–{ε}.
Tập L  * gọi là ngôn ngữ trên bảng chữ cái . Một phân tích của một từ w
 * trên L là một dãy w1, w2,…, wn, với wi  L, i = 1,…, n sao cho w = w1w2…wn.


Cho các ngôn ngữ L1, L2, L  *. Khi đó ta định nghĩa các phép tốn trên
ngơn ngữ nhƣ sau:
Tích ghép của hai ngơn ngữ L1, L2 là một ngôn ngữ trên bảng chữ cái  ký
hiệu L1L2 và đƣợc xác định nhƣ sau:
L1L2 = {uv  * u  L1 và v  L2}.

(1.1)

Đối với tích ghép LL...L (n lần) ta ký hiệu Ln. Quy ƣớc L1 = L, L0 ={ε}.
Hợp của hai ngôn ngữ L1, L2 là một ngôn ngữ trên bảng chữ cái  ký hiệu L1
 L2 và đƣợc xác định nhƣ sau:
L1  L2 = {u  * u  L1 hoặc u  L2 }.

(1.2)

Giao của hai ngôn ngữ L1, L2 là một ngôn ngữ trên bảng chữ cái  ký hiệu
L1  L2 và đƣợc xác định nhƣ sau:
L1  L2 = {u  *  u  L1 và u  L2}.

(1.3)

Hiệu của hai ngôn ngữ L1, L2 là một ngôn ngữ trên bảng chữ cái  ký hiệu

L1\ L2 (hoặc L1 - L2) và đƣợc xác định nhƣ sau:
L1\ L2 = {u  *  u  L1 và u  L2 }.

(1.4)

Phần bù của ngôn ngữ L là ngôn ngữ trên bảng chữ cái  ký hiệu C(L) và
đƣợc xác định nhƣ sau:
C(L) = {u  * u  L } = * \ L.

(1.5)

Lặp hay bao đóng của ngôn ngữ L là ngôn ngữ trên bảng chữ cái  ký hiệu
L* và đƣợc xác định nhƣ sau:
L = L  L  L ... =
*

0

1

2



 Li , với L 0 = {ε}, Li = LLi-1, i  1.

(1.6)

i 0


Lặp cắt của ngôn ngữ L là ngôn ngữ trên bảng chữ cái  ký hiệu L+ và đƣợc
xác định nhƣ sau: L+ = L1  L2  ... =



 Li . Hiển nhiên L+ = L* \ {ε}.

i 1


1.1.1.4. Khoảng cách soạn thảo
Phép thực hiện biến đổi ký tự này thành ký tự khác hoặc đổi chỗ hai ký tự
khác nhau liền kề gọi là phép toán soạn thảo. Ký hiệu (ε, b), (a, ε), (a, b), (ab, ba)
với a, b   và a  b lần lƣợt là phép chèn, phép xóa, phép thay thế một ký tự và
phép đổi chỗ hai ký tự khác nhau liền kề, ở đó ε, a, a, ab lần lƣợt gọi là đầu vào và
b, ε, b, ba lần lƣợt gọi là đầu ra của phép toán soạn thảo tƣơng ứng. Hai phép toán
soạn thảo gọi là chồng nhau nếu có đầu ra hoặc ký tự thuộc đầu ra của phép toán
soạn thảo này lại là đầu vào hoặc ký tự thuộc đầu vào của phép toán soạn thảo kia, ở
đó ta có quan tâm đến vị trí của ký tự.
Khoảng cách soạn thảo Levenshtein giữa hai xâu đƣợc xác định bởi số ít
nhất các phép tốn soạn thảo cần thiết biến đổi xâu này thành xâu kia, ở đó phép
toán soạn thảo là phép chèn, phép xoá, phép thay thế một ký tự [40, 41].
Ví dụ 1.2. Nếu chi phí của mỗi phép tốn soạn thảo là 1 thì khoảng cách soạn thảo
Levenshtein giữa xâu "kittenabb" và "sittinbag" là 5, vì 5 phép tốn dƣới đây biến
đổi xâu này thành xâu kia, mà khơng có cách nào thực hiện ít hơn 5 phép tốn đó.
kittenabb → sittenabb (phép thay thế một ký tự (k, s)),
sittenabb → sittinabb (phép thay thế một ký tự (e, i)),
sittinabb → sittinbbb (phép thay thế một ký tự (a, b)),
sittinbbb → sittinbab (phép thay thế một ký tự (b, a)),
sittinbab → sittinbag (phép thay thế một ký tự (b, g)).

Khoảng cách soạn thảo Damerau–Levenshtein (DL) giữa hai xâu đƣợc xác
định bởi số ít nhất các phép toán soạn thảo cần thiết biến đổi xâu này thành xâu kia,
ở đó phép tốn soạn thảo là phép chèn, phép xoá, phép thay thế một ký tự và phép
đổi chỗ hai ký tự khác nhau liền kề [23]. Cịn gọi tắt là khoảng cách DL.
Ví dụ 1.3. Giả sử chi phí của mỗi phép tốn soạn thảo là 1. Khoảng cách DL giữa


"kittenabb" và "sittinbag" là 4, vì 4 phép tốn dƣới đây biến đổi xâu này thành xâu
kia, mà khơng có cách nào thực hiện ít hơn 4 phép tốn đó.
kittenabb → sittenabb (phép thay thế một ký tự (k, s)),
sittenabb → sittinabb (phép thay thế một ký tự (e, i)),
sittinabb → sittinbab (phép đổi chỗ hai ký tự khác nhau liền kề (ab, ba)),
sittinbab → sittinbag (phép thay thế một ký tự (b, g)).
Khoảng cách soạn thảo Damerau–Levenshtein hạn chế giữa hai xâu đƣợc
xác định bởi số ít nhất các phép toán soạn thảo cần thiết biến đổi xâu này thành xâu
kia, mà khơng có hai phép tốn soạn thảo nào chồng nhau. Ở đó, phép tốn soạn
thảo là phép chèn, phép xoá, phép thay thế một ký tự và phép đổi chỗ hai ký tự khác
nhau liền kề [23]. Còn gọi tắt là khoảng cách DL hạn chế.
Cho xâu x , y, |x|=m, |y|=n, chỉ số của xâu bắt đầu là 1. Ký hiệu d(i, j) là
khoảng cách DL hạn chế của x(i) và y(j). Vậy d(m, n) là khoảng cách DL hạn chế
của x và y. Khi đó d(m, n) đƣợc xác định đệ quy nhƣ sau (xem [23]):
nÕun  0
m
n
nÕum  0

min( d (m  1, n )  1,d (m , n  1)  1,
d (m , n )  
d (m  1, n  1)  cost ,d (m  2, n  2)  cost )



nÕum  1, n  1, x [m ]  y [n  1], x [m  1]  y [n ]

min( d (m  1, n )  1,d (m , n  1)  1,d (m  1, n  1)  cost ) ng-ỵc l¹i

(1.7)

với cost = 0 khi x[m] = y[n], cost =1 khi x[m]  y[n].
Ví dụ 1.4. Giả sử chi phí của mỗi phép toán soạn thảo là 1. Khoảng cách DL giữa
hai xâu "ost" và "to" là 2.
ost → ot (phép xóa (s, ε)),
ot → to (phép đổi chỗ hai ký tự khác nhau liền kề (ot, to)).
nhƣng khoảng cách DL hạn chế giữa hai xâu "ost" và "to" là 3.


ost → tst (phép thay thế một ký tự (o, t)),
tst → tot (phép thay thế một ký tự (s, o)),
tot → to (phép xóa (t, ε)).
Khoảng cách DL có chi phí biến đổi xâu này thành xâu kia ít hơn hoặc bằng
khoảng cách DL hạn chế, khoảng cách DL hạn chế có chi phí biến đổi xâu này
thành xâu kia ít hơn hoặc bằng khoảng cách soạn thảo Levenshtein. Tuy gần nhau
về định nghĩa, các thuật toán cho tới nay chủ yếu tính khoảng cách soạn thảo
Levenshtein và khoảng cách DL hạn chế. Thực chất lỗi soạn thảo xảy ra thƣờng là
dạng khoảng cách DL hạn chế, mặt khác do khó khăn để tìm đƣợc một thuật tốn
hiệu quả tính khoảng cách DL [23].
Thuật tốn 1.1 xác định khoảng cách DL hạn chế của hai xâu x, y [23]:
Thuật toán 1.1. RDL(x, y)
Input: Xâu x, y.
Ouput: Khoảng cách DL hạn chế giữa hai xâu x và y.
1.


2.

for i ← 0 to m do d(i, 0) ← i;

// i phép xóa

for j ← 1 to n do d(0, j) ← j;

// j phép chèn

for i ← 1 to m do
for j ← 1 to n do

2.1.

if x[i] = y[j] then cost ← 0 else cost ← 1;

2.2.

d(i, j)← min(d(i-1, j) + 1, d(i, j-1) + 1, d(i-1, j-1)+cost );
// phép xóa, phép chèn, phép thay thế một ký tự

2.3.

if (i > 1 and j >1 and x[i] =y[j-1] and x[i-1] = y[j]) then
d(i, j) ← min(d(i, j), d(i-2, j-2) + cost );
//1 phép đổi chỗ hai ký tự khác nhau liền kề

3.


Return d(m, n);
Thuật tốn 1.1 xét chi phí của mỗi phép toán soạn thảo là 1. Nhƣng điều này

là tùy ý cho trƣờng hợp tổng quát đƣợc xét ở phần sau.


1.1.1.5. Xâu con chung dài nhất
Dãy con của xâu x là một xâu thu đƣợc bằng cách giữ nguyên x hoặc xóa đi
một số ký tự trong x. Xâu z gọi là xâu con chung của hai xâu x và y nếu z vừa là dãy
con của x và vừa là dãy con của y. Xâu con chung của hai xâu x, y có độ dài lớn
nhất gọi là xâu con chung dài nhất (LCS) của x và y. Ký hiệu LCS(x, y), L(x, y) lần
lƣợt là tập các LCS và độ dài LCS của hai xâu x và y.
Cho xâu x, y trên bảng chữ cái , |x| = m, |y| = n. Khi đó, độ dài LCS của hai
xâu x, y đƣợc xác định một cách đệ quy nhƣ sau (xem [71]):

nÕum  0 hc
n 0
0

L (x (m ), y (n ))  L (x (m  1), y (n  1))  1
nÕux [m ]  y [n ].
max( L (x (m  1), y (n )), L (x (m ), y (n 1))) ng-ợc lại


(1.8)

Vớ dụ 1.5. x = “xmjyauz”, y = “mzjawxu”. Vậy L(x, y)=4, LCS(x, y) = {mjau}. Giá
trị ô hàng i, cột j trong Bảng 1.1 là độ dài LCS của x(i) và y(j) theo (1.8).
Bảng 1.1. Độ dài LCS của khúc đầu của x và y

0
0
1
2
3
4
5
6
7

m
z
j
a
w
x
u

0
0
0
0
0
0
0
0

1
x
0

0
0
0
0
0
1
1

2
m
0
1
1
1
1
1
1
1

3
j
0
1
1
2
2
2
2
2


4
y
0
1
1
2
2
2
2
2

5
a
0
1
1
2
3
3
3
3

6
u
0
1
1
2
3
3

3
4

7
z
0
1
2
2
3
3
3
4

1.1.2. Một số loại mã
1.1.2.1. Mã
Định nghĩa 1.2. [17, tr. 38] Cho bảng chữ cái , tập L  * đƣợc gọi là mã nếu với
mọi m, n  1 và với mọi x1,..., xn, y1,..., ym  L, nếu có:
x1... xn = y1...ym thì suy ra m = n và xi = yi với i = 1,…, n.


×