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

Về một cấu trúc vị nhóm mới và mã

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.72 MB, 112 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-----------

-----------

HỒ NGỌC VINH

VỀ MỘT CẤU TRÚC VỊ NHÓM MỚI VÀ MÃ
Chuyên ngành: Đảm bảo toán học cho máy tính và các hệ thống tính toán
Mã số: 62.46.35.01

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

Hà Nội – 2012


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-----------

-----------

HỒ NGỌC VINH

VỀ MỘT CẤU TRÚC VỊ NHÓM MỚI VÀ MÃ
Chuyên ngành: Đảm bảo toán học cho máy tính và các hệ thống tính toán
Mã số: 62.46.35.01


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


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

-1-


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

-2-


-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


-4-

DANH 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

L

C

Lớp

-mã

L

WLC


Lớp

-mã yếu trái

L

WRC

Lớp

-mã yếu phải

L

SC

Lớp

-mã chặt

SPC

Thủ tục kiểm tra -mã
(the Sardinas−Patterson for Codes of bounded
words)

Thủ tục kiểm tra

MSPC


-mã mở rộng
(the Modification of Sardinas−Patterson for
Codes of bounded words)

SPSC

Thủ tục kiểm tra -mã chặt
(the Sardinas−Patterson for Strict Codes of
bounded words)


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

-5-


MỞ ĐẦU
Lý thuyết mã bắt nguồn từ lý thuyết thông tin do C. E. Shannon
khởi xướng [27] đã đặt nền móng toán học cho lý thuyết thông tin hiện đại.
Do nhu cầu thực tiễn, lý thuyết mã phát triển theo nhiều hướng khác
nhau, chẳng hạn như hướng nghiên cứu liên quan đến mã độ dài cố định,
điển hình là mã sửa sai, ứ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; hay một hướng nghiên cứu khác có liên quan đến mã
độ 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ư

-6-


-7đồng cấu mã, kiểm tra tính chất mã đã được nghiên cứu cho trường hợp
Z-mã bởi Đỗ Long Vân, B. L. Saec, I. Litovsky, M. Madonia S. Salemi,
T. Sportelli (xem [23], [28], [29]).
Đến cuối những năm 1990, xuất hiện một hướng mở rộng khái niệm
tích khác, được đề xuất bởi A. Salomaa - tích trộn có điều khiển (shuffle
on trajectory ), trong đó, tích của hai từ x, y là phép trộn các chữ cái theo
thứ tự được điều khiển bởi xâu bit t (tổng quát hơn, xâu điều khiển là
một từ trên bảng chữ 2 ký tự), dẫn đến lớp mã theo tích trộn (được gọi là
T-mã). Các đặc trưng đại số của tích trộn và mã theo tích trộn đã được
nghiên cứu bởi A. Salomaa, A. Kadrie, A. Mateescu, G. Rozenberg (xem
[33], [20], [21]).
Trong [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


-8đâ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* .


-93)

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.


- 10 Chươ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;


- 11 −

Hội thảo khoa học quốc gia lần thứ IV “Nghiên cứu cơ bản và ứng
dụng Công nghệ thông tin” (FAIR 2009), Hà nội, 25 - 26/12/2009.



Hội thảo quốc gia lần thứ XIII “Một số vấn đề chọn lọc của Công
nghệ thông tin và truyền thông”, Hưng Yên, 19 - 20/8/2010.



Hội thảo quốc tế lần thứ 2 “Computational Collective IntelligenceTechnologies and Applications” (ICCCI 2010), Kaohsiung, Taiwan,

10 - 12/11/2010.



Hội thảo quốc tế lần thứ 3 “Computer and Electrical Engineering”
(ICCEE 2010), Chengdu, China, 16 - 18/11/2010.



Hội nghị toàn quốc lần thứ III về Ứng dụng toán học, Hà Nội, 23 25/12/2010.



Hội thảo quốc tế lần thứ 9 “IEEE-International Conference on
Computing and Communication Technologies Research, Innovation,
and Vision for the Future” (IEEE-RIVF 2012), Ho Chi Minh City,
February 27 - March 01, 2012.

Luậ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.


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 .

- 12 -


- 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

ϕ (m1 m2) = ϕ (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 .


- 14 -

1.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 = a1 a2 ... 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 –1 A. 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 đó:

w

=



a ∈A

w

a

(1.4)

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 ≠ ε ).


- 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 = u1 u2 ... 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 * = { x1 x2 . . . 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.
X + = { x1 x2 . . . xn | n ≥ 1, xi ∈X }

(1.6)

Vì vậy, ta có
X

+

X * − {ε }

=

X

Nếu ε ∉ X

*


(1.7)

Ngược lại

Giả sử X và Y là các ngôn ngữ trên A. Ta gọi thương trái (thương phải)
của X với Y là ngôn ngữ Y –1 X (tương ứng XY –1) được xác định bởi:
Y –1 X = { w ∈A* | y w ∈X, y ∈Y }
XY

–1

*

(1.8)

= { w ∈A | w y ∈X, y ∈Y }

Nếu Y = {u} chỉ có một phần tử thì ta ký hiệu Xu, uX u–1 X, Xu–1
thay cho XY, YX, Y –1 X, XY –1 tương ứng.

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,


- 16 + 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) = L 1 ∪ L2, L(E 1.E2) = L 1.L2, L(E 1*) = 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).


- 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,
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 ⊆ P ′ và
ϕ : A* → P là toàn cấu, suy ra ϕ (u) = ϕ ′(u). Vậy ϕ : A* → P thỏa đồng
thời cả X và Y.



- 18 Ví 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 =
ϕ (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 − .
–1

Theo định nghĩa: C –1D = { m ∈P | ∃c ∈C, c m = d ∈D ⊆ P } ⇒
X –1 Y = ϕ –1 (C –1D). Do đó ϕ thỏa ngôn ngữ X –1 Y. 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 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 –1 Y, 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:


- 19 Theo giả thiết X = ϕ –1 (C), đặt K = ϕ (X +) và K1 = C, khi đó ta có
K = C +. Từ K1 = C, ta có K 2 = (K 1 ∪ {1P}).C ⊆ P, K 3 = (K 2 ∪ {1P}).C
⊆ P, . . . , K i +1 = (K i ∪ {1P}).C ⊆ P. Nếu K i +1 = K i thì dừng và ta thu
được nửa nhóm K = Ki = C 1 ∪ C 2 ∪ ... 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 K i +1 từ K i có cỡ |P|2. Vì
dãy K i là dãy tăng dần và bị chặn bởi |P|, do đó số bước tính các tập K i
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 +) –1 Y, 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 +) –1 Y = ϕ –1 (K –1 D).
Với mọi w ∈(X +) –1 Y, ta có x1 x2 ... xn w = y, xi ∈X, y ∈Y, i = 1,...,n .
Suy ra ϕ (x1) ϕ (x2) ... ϕ (xn) ϕ (w) = ϕ (y) ∈D. Từ ϕ (xi) ∈C, ta có ϕ (w)
∈(C +) –1 D. Vì vậy, w ∈ ϕ –1 (K –1 D).
Ngược lại, chọn w ∈ ϕ –1 (K –1 D), ta có ϕ (w) ∈K –1 D = (C +) –1 D, 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 = ϕ (x1 x2 ... xp). Do đó, c.ϕ (w) = ϕ (x1 x2
... xp w), suy ra x1 x2 ... xp w ∈ ϕ –1 (D) = Y. Vì vậy w ∈(X +) –1 Y.
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.


- 20 Mỗ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à:
a
→ qj
qi 

(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

a3
an
a1
a2
→ . . . qn –1 →

→ q1 
→ q2 
q0 
qn

(1.10)

trong đó, n gọi là độ dài của đường đi P, từ w = a1 a2 … an tạo thành bởi
các nhãn ai được gọi là nhãn của đường đi P. q0 là trạng thái bắt đầu của P,
qn là trạng thái kết thúc của P. Ta ký hiệu:
w
P : q0 → qn

(1.11)

Quy ước rằng, ∀q ∈Q, đường đi từ q đến q có độ dài 0. Nhãn của nó là
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.


- 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 A là một bảng chữ cái. Một tập con X của vị
nhóm tự do A* được gọi là mã trên A nếu ∀n, m ≥ 1 và x1, x2, ..., xn ,
x1′, x2′, ..., xm′ ∈X,
x1 x2 ... xn = x1′x2′ ... xm′

⇒ m = n và xi = xi′ (với i = 1, ..., n).

Nói cách khác, một tập X là mã nếu mọi từ trong A* có không quá một

cách phân tích thành các từ trong X. Dễ thấy rằng, mỗi tập con của một
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ừ b1 b2 ... 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.


- 22 (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ì X n 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 –1 X = ∅.

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+)−1 X.
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ã.


- 23 Mã X được gọi là 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 X là mã thì X * là vị nhóm tự do và nếu M là vị nhóm tự do thì
tập sinh cực tiểu của M là mã. Do đó, tiếp theo sau đây, ta sẽ trình bày
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ự
do 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 = w1 w2 . . . 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 =
{ a 2, a 3 } 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 : a 6 = a 2 a 2 a2 = a 3 a 3 . 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.


×