1. Trang chủ
  2. » Công Nghệ Thông Tin

Thuật toán kiểm tra tính chất mã bằng otomat hữu hạn

75 396 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 1,39 MB

Nội dung

Một số bài toán cơ bản trong nghiên cứu lý thuyết mã, tính chất mã và ứng dụng là: bài toán kiểm định mã, nghiên cứu các đặc tính của mã, … được nhiều nhà khoa học quan tâm nghiên cứu vì

Trang 1

LỜI CẢM ƠN

Với tình cảm chân thành và lòng biết ơn sâu sắc, tôi xin trân trọng gửi lời cảm ơn tới TS Hồ Ngọc Vinh, người thầy trực tiếp hướng dẫn khoa học đã nhiệt tình chỉ bảo và giúp đỡ tôi trong suốt quá trình nghiên cứu để hoàn thành bản luận văn này

Xin chân thành cảm ơn Ban Giám Hiệu, các thầy cô giáo khoa sau đại học, các thầy cô giáo viện Công nghệ thông tin và Truyền thông – trường Đại học Bách Khoa Hà Nội đã đào tạo và giúp đỡ để em hoàn thành khoá học

Tôi xin chân thành cảm ơn Ban Giám Hiệu, phòng Tổ chức-Cán bộ, phòng Đào tạo-NCKH, Trung tâm Ngoại ngữ-Tin học và HTHT – Trường Cao đẳng Sư phạm tỉnh Điện Biên cùng bạn bè và đồng nghiệp đã tạo điều kiện thuận lợi cho tôi trong quá trình học tập và thực hiện đề tài

Nhân dịp này, tôi xin bày tỏ lòng biết ơn sâu sắc nhất tới gia đình, những người thân đã quan tâm giúp đỡ và tạo mọi điều kiện thuận lợi nhất để tôi hoàn thành tốt luận văn này

Trang 2

LỜI CAM ĐOAN

Luận văn thạc sĩ này là do tôi nghiên cứu và thực hiện dưới sự hướng dẫn của thầy giáo TS Hồ Ngọc Vinh Để hoàn thành bản luận văn này, ngoài các tài liệu tham khảo đã liệt kê, tôi cam đoan không sao chép toàn văn các công trình của người khác

Hà Nội, ngày 18 tháng 8 năm 2016

Phan Đình Lập

Trang 3

MỤC LỤC

Trang

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

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

DANH MỤC CÁC BẢNG BIỂU 6

DANH MỤC CÁC HÌNH VẼ 7

MỞ ĐẦU 8

CHƯƠNG 1 GIỚI THIỆU VỀ OTOMAT VÀ ỨNG DỤNG 10

1.1 Một số khái niệm 10

1.1.1 Bảng chữ cái 10

1.1.2 Từ (Xâu) 10

1.1.3 Xâu con chung dài nhất 11

1.1.4 Các phép toán trên từ (xâu) 12

1.1.5 Ngôn ngữ 13

1.1.6 Các phép toán trên ngôn ngữ 13

1.1.7 Vị nhóm 14

1.1.8 Nửa vành 14

1.2 Otomat hữu hạn 15

1.2.1 Otomat hữu hạn đa định 15

1.2.2 Otomat hữu hạn đơn định 17

1.2.3 Một số cách biểu diễn otomat hữu hạn 18

1.2.4 Một số thuật toán trên otomat hữu hạn 20

1.3 Đồ thị hữu hạn 24

1.3.1 Khái niệm cơ bản 24

Trang 4

1.3.2 Biểu diễn đồ thị trong máy tính 25

CHƯƠNG 2 MỘT SỐ LỚP MÃ VÀ OTOMAT 27

2.1 Mã và các tính chất của mã 27

2.1.1 Mã 27

2.1.2 -mã 30

2.1.3 -mã 33

2.1.4 Z–mã 35

2.1.5 Độ trễ giải mã 36

2.2 Máy biến đổi và otomat 37

2.2.1 Khái niệm 37

2.2.2 Hợp thành của hai máy biến đổi 40

2.2.3 Lưỡng cực hoá, mở rộng kiểu 2 và kiểu 3 của otomat 43

2.2.4 Tích otomat 44

2.2.5 Tích hợp otomat 47

2.2.6 Sự tồn tại đường đi kiểu 1 và kiểu 2 48

CHƯƠNG3 KIỂM ĐỊNH -MÃ, ω-MÃ VÀ Z-MÃ 53

3.1 Tính toán độ trễ giải mã cho -mã theo otomat 53

3.2 Kiểm định ω-mã theo otomat 63

3.3 Kiểm định Z-mã theo otomat 67

KẾT LUẬN VÀ KIẾN NGHỊ 73

TÀI LIỆU THAM KHẢO 74

Trang 5

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

-mã Mã của các từ định biên

-mã Mã của các từ vô hạn

Z-mã Mã zigzag

LCS Xâu con chung dài nhất

(Longest Common Subsequence)

DFA Otomat hữu hạn đơn định

(Deterministic Finite Automata) DFS Tìm kiếm theo chiều sâu

(Depth First Search)

Trang 6

DANH MỤC CÁC BẢNG BIỂU

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

Bảng 1.2 Bảng chuyển trạng thái của otomat  18

Bảng 1.3 Bảng chuyển của otomat  19

Bảng 1.4 Bảng chuyển của otomat  trong Ví dụ 1.12 23

Bảng 1.5 Bảng chuyển của otomat đơn định M trong Ví dụ 1.12 24

Trang 7

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Đồ thị chuyển trạng thái của otomat1 19

Hình 1.2 Quá trình đoán nhận xâu w = ababbab trên1 20

Hình 1.3 Đồ thị chuyển trạng thái của otomat  21

Hình 1.4 Đồ thị có hướng 26

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

Hình 2.1 Độ trễ giải mã hữu hạn d 36

Hình 2.2 Hợp thành của otomat với máy biến đổi trên nữa vànhTropical 42

Hình 2.3 Tích hai otomat 45

Hình 2.4 Nhãn của đường đi giữa hai trạng thái kế tiếp cùng dạng 46

Hình 2.5 Tích hợp hai otomat 47

Hình 3.1 Phân tích zV d1X hoặc z (Y +)1(V d1X) 57

Hình 3.2 Phân tích zX-1V d hoặc zU d1Y+ 58

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

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

Trang 8

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Sự phát triển của khoa học máy tính, nhu cầu sử dụng mã trong biểu diễn, bảo mật thông tin ngày càng quan trọng và cần thiế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ã Một số bài toán cơ bản trong nghiên cứu lý thuyết mã, tính chất mã và ứng dụng là: bài toán kiểm định mã, nghiên cứu các đặc tính của mã, … đượ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 sự phát triển của ngôn ngữ hình thức và lý thuyết biểu diễn thông tin nói chung, 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 hữu hạn Để đáp ứng được các yêu cầu đòi hỏi khắt khe của các hệ thống đối với mỗi bài toán, mỗi ứng dụng đặt ra vấn đề về chất lượng, độ chính xác, độ

ổn định, thời gian đáp ứng của hệ thống thì việc nghiên cứu, tìm hiểu các công

cụ kỹ thuật, công cụ lập trình, thuật toán mô phỏng là rất cần thiết Đề tài của

luận văn “Thuật toán kiểm tra tính chất mã bằng otomat hữu hạn” có ý nghĩa

thực tiễn và thời sự cao, có khả năng phát triển cả về mặt lý thuyết và ứng dụng trong thực tế

2 Mục tiêu nghiên cứu của luận văn

Dựa trên các thành tựu của đại số, lý thuyết otomat và lý thuyết đồ thị, thiết

lập các thuật toán kiểm định mới cho mã và các lớp mã khác như ω-mã, -mã

Z-mã với chất lượng tốt hơn

3 Phương pháp nghiên cứu

Sử dụng phương pháp và công cụ của đại số, otomat hữu hạn, lý thuyết về otomat để làm công cụ và phương tiện sử dụng nghiên cứu

4 Đóng góp mới của luận văn

Luận văn trình bày việc ứng dụng lưỡng cực hoá otomat hữu hạn đầu vào

Trang 9

cho bài toán kiểm định tính chất mã của ω-mã và Z-mã, có độ phức tạp thời gian

cỡ (n3) với đầu vào là otomat hữu hạn đơn định và n là số trạng thái của

otomat Với tiếp cận phương pháp sử dụng otomat vào bài toán kiểm định tính chất mã, đề xuất thuật toán tính toán độ trễ cho -mã, với đầu vào là otomat

hữu hạn, trình bày phương pháp kiểm định ω-mã và Z-mã, với đầu vào là otomat hữu hạn, đề xuất kết quả mở rộng phương pháp tính toán độ trễ giải mã của H.N.Vinh-N.Đ.Hân-P.T.Huy (2010) đối với một ngôn ngữ từ định biên

5 Kết cấu của luận văn

Luận văn gồm 75 trang, ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo và mục lục, nội dung của luận văn được trình bày trong ba chương với cấu trúc như sau

Chương 1: Giới thiệu về otomat và ứng dụng

Chương thứ nhất trình bày các kiến thức cơ sở cần thiết và được sử dụng trong các chương tiếp theo của luận văn Ở đó ta nhắc lại một số khái niệm trong otomat hữu hạn, otomat đa định, đơn định hữu hạn; các cách biểu diễn otomat đồng thời nêu một số thuật toán cơ bản trên otomat hữu hạn, các khái niệm trong đại số, lý thuyết mã, lý thuyết ngôn ngữ hình thức, đồ thị hữu hạn, ngôn ngữ, từ các phép toán trên từ và ngôn ngữ

Chương 2: Một số lớp mã và otomat

Trình bày các định nghĩa về các lớp mã như mã (thông thường), -mã, 

-mã, Z-mã cùng với tính chất đặc trưng của chúng, nêu các khái niệm trong máy biến đổi và otomat hữu hạn, đồng thời nêu một số thuật toán đối với máy biến đổi

Chương 3: Kiểm định -mã, ω-mã và Z -mã

Chương này trình bày các kết quả về tính toán độ trễ giải mã cho -mã,

phương pháp kiểm định ω-mã và Z-mã, với đầu vào là otomat hữu hạn Từ các

đề xuất: ứng dụng lưỡng cực hoá otomat hữu hạn đầu vào; thực hiện mở rộng kiểu 2 hoặc kiểu 3 của otomat; xây dựng các otomat  là tích hoặc tích hợp các

Trang 10

CHƯƠNG 1 GIỚI THIỆU VỀ OTOMAT VÀ ỨNG DỤNG

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 văn Ở đó ta nhắc lại một số khái niệm trong otomat hữu hạn, otomat đa định, đơn định hữu hạn; các cách biểu diễn otomat đồng thời nêu một số thuật toán cơ bản trên otomat hữu hạn, các khái niệm trong đại số, lý thuyết mã, lý thuyết ngôn ngữ hình thức, đồ thị hữu hạn, ngôn ngữ, từ các phép toán trên từ và ngôn ngữ Về kiến thức cơ sở liên quan, được tham khảo tại các tài liệu [1], [2], [4], [8], [10], [12], [14], [19]

Trang 11

Nếu w là một từ trên bảng chữ cái A, và AB thì w là từ trên bảng chữ cái B Tập tất cả các từ trên bảng chữ cái A đƣợc ký hiệu là A*, còn tập tất cả các từ

khác rỗng trên bảng chữ cái A đƣợc ký hiệu là A+ Nhƣ vậy:

A+ = A* \ {} và A* = A+ {}

Về cấu trúc đại số thì A* là một vị nhóm tự do sinh bởi A với đơn vị là từ

rỗng , còn A+ là một nửa nhóm tự do sinh bởi A

1.1.3 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áo đ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 A, |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 [20]):

Ví dụ 1.3 x = “xmjyauz”, y = “mzyawxu” 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.1)

1))1(),1((

0))

n y m x L n

Trang 12

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

1.1.4 Các phép toán trên từ (xâu)

+ Tích ghép (hay nhân ghép): Cho hai từ = a1a2…a m và  = b1b2…b n trên

bảng chữ cái A, tích ghép của hai từ  và  ký hiệu . (hay w = ) là từ w trên bảng chữ cái A đƣợc xác định

w = . = a1a2…a m b1b2…b n + Nghịch đảo (hay Phép lấy từ ngược):

Giả sử có từ w = a1a2…a m-1 a m khác rỗng Từ ngƣợc của từ  ký hiệu là w R nhận đƣợc bằng cách viết ngƣợc lại các ký hiệu của từ w Nhƣ vậy:

w R = a m a m-1 … a2a1Lưu ý: khi w =  ta quy ƣớc R

=

+ Tiền tố (Prefix) và hậu tố (Suffix): Nếu w = uv thì u đƣợc gọi là tiền tố của

w và v là hậu tố của w

Trang 13

1.1.5 Ngôn ngữ

Cho bảng chữ cái A, mỗi tập con X A * đƣợc gọi là một ngôn ngữ hình thức (hay ngôn ngữ) trên bảng chữ cái A

Tập rỗng, ký hiệu , là một ngôn ngữ không gồm một từ nào và đƣợc gọi

là ngôn ngữ rỗng Vậy ngôn ngữ rỗng là ngôn ngữ trên mọi bảng chữ cái

Chú ý rằng ngôn ngữ rỗng: X = là khác với ngôn ngữ chỉ gồm một từ

1.1.6 Các phép toán trên ngôn ngữ

Ngôn ngữ là một tập hợp, do đó tất cả các phép toán trên tập hợp đều có thể áp dụng cho ngôn ngữ Ngoài ra ngôn ngữ còn có một số phép toán quan trọng khác

Giả sử X và Y là các ngôn ngữ trên bảng chữ cái A:

Trang 14

+ Phép luỹ thừa: X n

= XX X … X(n lần) = X.X n-1 , với X0 = {}

+ Phép bao đóng: X*

=X0X1X2…….X n + Phép nghịch đảo tương đương: X +

= X1X2……X n

Lưu ý: X *

=X + {} và X + = X.X * = X * X

1.1.7 Vị nhóm

Vị nhóm M là tập hợp, được trang bị phép toán hai ngôi có tính chất kết hợp

và phần tử trung hoà Phép toán hai ngôi thường gọi là phép nhân Phần tử trung hoà 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 hoán nếu phép nhân có tính chất giao hoá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 toán hai ngôi được định nghĩa như sau:

XY = {xy | xX, yY }, với X, YM và phần tử đơn vị là tập {1} Tập con NM 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 (NNN và 1 N )

Đồng cấu từ vị nhóm M vào vị nhóm N là hàm  thoả:

x, yM sao cho (xy) = (x)(y) và (1) = 1

Nếu  là đơn ánh, toà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 tứng

1.1.8 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 hoán cùng với phần tử đơn vị 0

ii) (, ,1) là vị nhóm giao hoán cùng với phần tử đơn vị 1

iii) Phép  phân phối đối với phép 

Trang 15

iv) 0 là phần tử triệt tiêu đối với phép : a, a0  0 a 0

Ví dụ1.6 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log b = -log(exp(-a)+exp(-b)), trong đó: exp(-) = 0, - log(0) =

1.2 Otomat hữu hạn

Otomat hữu hạn là một mô hình toán học của hệ thống với sự mô tả bởi các input và output Tại mỗi thời điểm, hệ thống có thể được xác định ở một trong số hữu hạn các cấu hình nội bộ gọi là các trạng thái (states) Mỗi trạng thái của hệ thống thể hiện sự tóm tắt các thông tin liên quan đến những input đã chuyển qua

và xác định các phép chuyển kế tiếp trên dãy input tiếp theo

Một cách không hình thức, một otomat hữu hạn gồm một tập hợp các trạng thái và các điều khiển dịch chuyển từ trạng thái này sang trạng thái khác khi nhận dữ liệu vào

Lý thuyết về otomat hữu hạn thường được dùng đến nhiều cho việc thiết kế các công cụ xử lý chuỗi hiệu quả Lý do quan trọng nhất cho việc nghiên cứu các

hệ thống trạng thái hữu hạn là tính tự nhiên của khái niệm và khả năng ứng dụng

đa dạng trong nhiều lĩnh vực thực tế Otomat hữu hạn được chia thành 2 loại: Otomat đơn định và otomat không đơn định hay còn gọi là otomat đa định Cả hai loại otomat hữu hạn đều có khả năng nhận dạng chính xác tập chính quy Otomat hữu hạn đơn định có khả năng nhận dạng ngôn ngữ dễ dàng hơn otomat hữu hạn đa định, nhưng thay vào đó thông thường kích thước của nó lại lớn hơn

so với otomat hữu hạn đa định tương ứng

1.2.1 Otomat hữu hạn đa định

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ộ 5 thành phần  = (A, Q, E, I, T ) trong đó:

Trang 16

+ Q là một tập hữu hạn khác rỗng, được gọi là tập các trạng thái, trong đó q0

Q được gọi là trạng thái khởi đầu;

+ I Q là tập các trạng thái khởi đầu

trong đó n gọi là độ dài của đường đi P, từ w = a1a2…a n tạo thành bởi các nhãn

a i được gọi là nhãn của đường đi P q0 là trạng thái bắt đầu của P, q n là trạng thái

Quy ước rằng qQ đườ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  q n được gọi là đường đi thành công nếu q0I,

q nT Tập tất cả các đường đi thành công của otomat  được ký hiệu là L() và

được gọi là ngôn ngữ đoán nhận bởi  Một trạng thái q i Q được gọi là trạng thái đạt được nếu có một đường đi P:q0  q n với q0I

Hàm chuyển trạng thái (hàm chuyển) : Q × A → Q được xác định bởi q

a a

q q

q q

Trang 17

Ví dụ1.7 Cho otomat hữu hạn đa định  = (A, Q, E, I, T ), với A = {a, b}, Q= {q0, q1, q2, q3, q4}, I = {q0}, T = {q2, q4} và

E= {(q0, a, q0), (q0, a, q3), (q0, b, q4)}

Một cách khác, ta cũng có thể cho otomat hữu hạn dưới dạng  = (A, Q, ,

I, T ), trong đó  là hàm chuyển trạng thái của otomat 

Với otomat  đã cho trong Ví dụ 1.7 ta có thể trình bày lại như sau: Cho

otomat hữu hạn đa định  = (A, Q, , I, T ), với A = {a, b}, Q = {q0, q1, q2, q3,

q4}, I = {q0},T = {q2, q4} và hàm chuyển trạng thái  với

1.2.2 Otomat hữu hạn đơn định

Một otomat hữu hạn = (A, Q, E, I, T ), được gọi là otomat đơn định hữu hạn nếu I chỉ có một phần tử và nếu có (p,a,q), (p,a,p)  E thì 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

Ví dụ 1.8 Cho otomat hữu hạn đơn định = (A, Q, E, I, T ), với A = {a, b}, Q = {q0, q1, q2, q3}, I = {q0}, T= {q3} và E = {(q0, a, q1), (q0, b, q2), (q1, a, q1), (q1, b,

q2), (q2, a, q3), (q2, a, q2), (q3, a, q3), (q3, a, q3)}

Ta có thể trình bày lại như sau: Cho otomat hữu hạn = (A, Q,, I, T ), với

A = {a,b}, Q = {q0, q1, q2, q3}, I = {q0}, T = {q3} và hàm chuyển trạng thái  với:

(q0, a) = q1, (q0, b) = q2,

Trang 18

(q2, a) = q3, (q2, b) = q2,

(q3, a) = q3, (q3, b) = q3

1.2.3 Một số cách biểu diễn otomat hữu hạn

Hàm chuyển trạng thái là một bộ phận quan trọng của một otomat hữu hạn Cho một otomat thực chất là cho hàm chuyển trạng thái của nó, ta có thể biểu diễn otomat hữu hạn dưới dạng bảng chuyển hoặc cho dưới dạng đồ thị chuyển

a) Biểu diễn otomat bằng bảng chuyển

Cho otomat  = (A, Q, , I, T) với Q = {q0, q1, q2,…, q m} là tập trạng thái,

q0I là trạng thái khởi đầu và bảng chữ cái A = {a1, a2,…, a n}, khi đó hàm

chuyển trạng thái có thể cho bởi một bảng 2 chiều trong đó dòng i cột j của bảng

là ô trống nếu (q i , a j) Q × A, tức là (q i , a j) không xác định (xem Bảng 1.2)

Nếu cho bảng chuyển trạng thái, và chỉ rõ tập trạng thái kết thúc T, ta sẽ

Bảng 1.2 Bảng chuyển trạng thái của otomat 

Ví dụ 1.9 Cho otomat hữu hạn đa định  = (A, Q, , I, T ), với A = {a, b, c}, Q = {q0, a1, q2}, I = {q0}, T = {q1, q2} và hàm chuyển trạng thái  với (q0, a) = q1,

(q0, b) = {q1, q2}, (q0, c) = q2, (q1, a) = q2, (q1, c) = {q0, q2}, (q2, a) = q1,

(q2, b) = q1, (q2, c) = q2 Khi đó bảng chuyển otomat  được biểu diễn trong bảng sau (xem Bảng 1.3):

Trang 19

Bảng 1.3 Bảng chuyển của otomat 

b) Biểu diễn otomat bằng đồ thị chuyển

Cho otomat  = (A, Q, , I, T ) Hàm chuyển có thể cho bằng một đa đồ thị

có hướng, có khuyên G sau đây, đƣợc gọi là đồ thị chuyển của otomat  Tập đỉnh của G đƣợc gán nhãn bởi các phần tử thuộc Q, còn các cung đƣợc gán nhãn bởi các phần tử thuộc A, tức là nếu aA và từ trạng thái q chuyển sang trạng thái p

theo công thức (q, a)= p thì sẽ có một cung từ đỉnh q tới đỉnh p đƣợc gán nhãn a Các đỉnh vào của đồ thị chuyển là các đỉnh ứng với trạng thái ban đầu q iI

Các đỉnh sẽ đƣợc khoanh bởi các vòng tròn, tại các đỉnh vào có mũi tên đi vào, riêng đỉnh với trạng thái kết thúc đƣợc phân biệt bởi vòng tròn đậm, hoặc nét đôi Nói chung, với việc cho đồ thị chuyển là hoàn toàn xác định đƣợc otomat 

Ví dụ 1.10 Cho otomat hữu hạn đơn định: 1 = (A, Q, , I, T ), với A = {a, b, c},

Q = {q0, q1, q2}, I = {q0}, T ={q1, q2} và hàm chuyển trạng thái  với (q0, a) =

q0, (q0, b) = q1, (q1, a) = q0, (q1, b) = q2, (q2, a) = q2, (q2, b) = q2 Ta có đồ thị chuyển trạng thái của otomat 1 nhƣ sau (xem Hình 1.1)

Hình 1.1 Đồ thị chuyển trạng thái của otomat 1

Trang 20

Dãy trạng thái của otomat 1 trong quá trình đoán nhận xâu vào w = ababbab được biểu diễn trong Hình 1.2 như sau:

Hình 1.2 Quá trình đoán nhận xâu w = ababbab trên1

1.2.4 Một số thuật toán trên otomat hữu hạn

a) Thuật toán mô tả quá trình đoán nhận xâu vào của otomat hữu hạn đơn định đầy đủ  = (A, Q, , I, T )

Thuật toán 1.1 Đoán nhận xâu;

Input:  = (Q, A, E, I, F ) là otomat hữu hạn đơn định đầy đủ,

xâu w = a0 a1 a2 … a n

Output: TRUE nếu  đoán nhận xâu w, FALSE ngược lại

Các bước thực hiện

1 S0 = q0; C = a0

2 Lặp:// Biết trạng thái khởi đầu, lần lượt xác định các trạng thái kế tiếp

dựa vào các kí hiệu trong xâu

Si = (S i-1 ,C ); // Xác định trạng thái tiếp theo

C = ký hiệu tiếp theo;

Dừng: Khi đã duyệt hết xâu w

3 if S T  thì Return (TRUE)

Else Return (FALSE)

q0 q0 q1 q0 q1 q2 q2 q2T

Trang 21

Ví dụ 1.11 Cho một otomat  = (A, Q, , I, T ) có bảng chữ cái A = {a, b}, tập trạng thái Q = {q0, q1, q2, q3, q4, q5}, I = {q0}, T = {q4} đồ thị chuyển trạng thái được biểu diễn trong hình 1.3 như sau:

Hình 1.3 Đồ thị chuyển trạng thái của otomat 

Dễ thấy otomat  đoán nhận được xâu w = abaabb Thật vậy thực hiện các

bước của thuật toán trên ta có:

Trang 22

b) Thuật toán đơn định hoá các otomat

Trước hết ta cần nhắc lại rằng hai otomat hữu hạn  và  (đơn định hay

đa định) được gọi là tương đương nếu chúng cùng đoán nhận một ngôn ngữ, tức

Thuật toán 1.2 Đơn định hoá Otomat;

Input:  = (Q, A, E, I, F ) là otomat hữu hạn đa định với q0 I

Output: M = (A, Q,, I, T) là otomat hữu hạn đơn định

a q P

),(

2 Xác định tập trạng thái mới Q = {s0, s1, …, s kk ≤ 2Q -1}:

2.1 Đặt s0 = {q0}, s1 = {q1},…s i = {q i}  {q0}, {q1}, …, {q i} Q 2.2 Đặt s i +1 = B1, s i+2 = B2,… B1, B2,… Q mà (q j , a) = B j

2.3 Nếu otomat  là không đầy đủ, đặt s k =  và thêm vào hàm chuyển

 các giá trị (s k , a) = s kaA để otomat M là otomat đầy đủ

2.4 Trạng thái khởi đầu của otomat M là s0

2.5 Tập trạng thái kết thúc của otomat M là T = {sQ sT}

3 Xác định hàm chuyển : Q× AQ của otomat M: sQ, aA thì

(s, a) = P(s,a)

Ta dễ dàng chứng minh được L() = L(M )

Trang 23

Ví dụ 1.12 Cho otomat hữu hạn đa định  = (A, Q, , I, T ), với A = {a, b, c}, Q

= {q0, q1, q2}, I = {q0}, T = {q1, q2} và hàm chuyển trạng thái  cho bởi bảng sau (xem Bảng 1.4):

Bảng 1.4 Bảng chuyển của otomat  trong Ví dụ 1.12

Hãy xây dựng otomat M = (A, Q, , I, T) với A = {a, b, c}, I = {s0} đơn định và đầy đủ, tương đương với otomat 

Trang 24

Bảng 1.5 Bảng chuyển của otomat đơn định M trong Ví dụ 1.12

Rõ ràng otomat M = {A, Q, , I, T) với A = {a, b, c}, Q = {s0, s1, s2, s3,

s4, s5}, I = {s0},T= {s1, s2, s3, s4} với hàm chuyển  cho bởi bảng trên là otomat hữu hạn đơn định và đầy đủ Có thể thấy rằng otomat M là tương đương với otomat 

1.3 Đồ thị hữu hạn

1.3.1 Khái niệm cơ bản

Định nghĩa 1.2 Cho V là tập hữu hạn khác rỗng các phần tử và E V × V Một cặp G = (V, E) được gọi là đồ thị hữu hạn

Mỗi phần tử uV gọi là đỉnh và mỗi phần tử e = (u, v) E gọi là cạnh của

đồ thị hữu hạn G, vì thế người ta còn gọi V là tập các đỉnh và E là tập các cạnh của G Nếu e = (u, u) E thì cạnh e gọi là khuyên

Nếu với mọi cạnh e = (u, v) E ta không phân biệt thứ tự của các đỉnh u và

v (tức là từ u đến v không kể hướng) thì ta nói đồ thị hữu hạn G là đồ thị hữu hạn

vô hướng, hay còn gọi tắt là đồ thị vô hướng Trong trường hợp ngược lại, nếu với mọi cạnh e = (u, v) E là một cặp đỉnh có thứ tự (hay có hướng từ u đến v) thì ta nói rằng G là đồ thị hữu hạn có hướng, hay còn gọi tắt là đồ thị có hướng Mỗi cạnh của đồ thị có hướng còn gọi là một cung

Trang 25

Cho đồ thị hữu hạn G=(V, E) (có hướng hoặc vô hướng) và e=(u, v) E là một cạnh nối đỉnh u với đỉnh v Khi đó u, v gọi là hai đỉnh kề nhau Ký hiệu Next(u) = {vV(u, v) E} Cho cạnh e 1 = (u, v) E và e 2 = (z, t) E, nếu đỉnh

v trùng với đỉnh z thì hai cạnh e1 và e2 gọi là hai cạnh kề nhau

Định nghĩa 1.3 Đường đi từ đỉnh u đến đỉnh v trên đồ thị hữu hạn (vô hướng

hoặc có hướng) G = (V, E) là dãy đỉnh: u0, u1,…, u n-1 , u n , trong đó u = u0, v = u n,

1.3.2 Biểu diễn đồ thị trong máy tính

Ở đây, ta đề cập đến phương pháp ma trận kề và danh sách kề [2, 6]

a) Phương pháp ma trận kề

Cho đồ thị G = (V, E), với V = {u1, u2, , u n} Ta xây dựng ma trận vuông

A cấp n biểu diễn G như sau: A[i, j] = d nếu cặp đỉnh ui, uj có d cạnh (cung) nối với nhau Khi cặp đỉnh ui, uj không có cạnh (cung) nào nối với nhau thì A[i, j] =

0, i, j = 1, , n Bằng cách đó ta nhận được ma trận kề biểu diễn đồ thị đã cho

Ma trận kề của đồ thị vô hướng là đối xứng, đối với đồ thị có hướng nói chung là không đối xứng

b) Phương pháp danh sách kề

Với mỗi đỉnh của đồ thị, ta xây dựng một danh sách liên kết (danh sách kề) chứa các đỉnh kề với nó Một đồ thị biểu diễn bằng một mảng các danh sách kề

Trang 27

CHƯƠNG 2 MỘT SỐ LỚP MÃ VÀ OTOMAT

Chương này trình bày các định nghĩa về các lớp mã như mã (thông thường), -mã, -mã, Z-mã cùng với tính chất đặc trưng của chúng Trong chương trình còn nhắc lại một số khái niệm trong máy biến đổi và otomat hữu hạn, đồng thời nêu một số thuật toán đối với máy biến đổi Về kiến thức cơ sở liên quan, được tham khảo tại các tài liệu [1], [4], [5], [6], [8], [10], [11], [14], [15], [16], [17]

2.1 Mã và các tính chất của mã

2.1.1 Mã

Định nghĩa 2.1 Cho bảng chữ cái A, tập X A* được gọi là mã nếu với mọi m,

n 1 và với mọi x1,…, x n , y1,…, y m X, nếu có:

x1 x2…x n = y1 y2…y m m = n và x i = y i (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 đề 2.1 (xem [8, 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 b n thuộc B* bằng từ mã (b1)(b2) (b n) được xác định bởi đồng cấu mã 

Trang 28

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ụ 2.1 (a) Mã Morse X M là mã trên bảng chữ { ,  ,  } dùng để mã hóa các

chữ a, b, …, z

(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 đề 2.1, ta có hệ quả sau:

Hệ quả 2.1 (xem [8, 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ả 2.2 (xem [8, tr 40]) Nếu X A+ là mã thì X n là mã, với mọi số nguyên

n > 0

Ví dụ 2.2 Với bất kỳ bảng chữ cái A, tập X = A luôn là mã

Ví dụ 2.3 Tập X = {aa, baa, ba} trên bảng chữ cái A = {a, b} là mã Thực vậy, giả sử ngƣợc lại X không là mã, suy ra tồn tại từ w X +, có độ dài nhỏ nhất và

có hai phân tích khác nhau w = x1x2…x n = y1y2…y m , với m, n 1, x i , y jX, vì w

có độ dài nhỏ nhất nên x1  y1 Không mất tính tổng quát, giả sử x1 là khúc đầu

thực sử của y1 Vì x1, y1X, suy ra x1 = ba, y1 = baa, kéo theo x2 = aa, y2 = aa, ta

có y1 = x1a, y1y2 = x1x2a Nếu có y1y2…y p = x1x2…x p a thì y1y2…y p+1 = x1x2…x p+1

Vậy không có từ w có hai phân tích khác nhau, trái với giả thiết

Ví dụ 2.4 Tập X = {a, ab, ba} không là mã vì từ w = aba có hai phân tích khác nhau: w = (ab)a = a(ba)

Hệ quả 2.3 (xem [8, tr 43]) Cho X và Y là mã trên A Nếu X* = Y* thì X = Y Cho X A*

và đặt U0 = X, U i = { w A+ | U i –1 w X  hoặc X wU i –1

}, với mọi i 1 Mệnh đề sau là cơ sở để xây dựng thủ tục kiểm tra một tập X

có là mã hay không (A A Sardinas và C W Patterson [17])

Trang 29

Mệnh đề 2.2 (xem [14, tr 109]) Cho X A+ Khi đó, X là mã khi và chỉ khi

XU i =, với mọi i 1

Chú ý rằng, nếu X là hữu hạn thì độ dài của các từ trong U i , i = 0,1, là giới nội bởi độ dài lớn nhất của các từ trong X Vì vậy, tồn tại một số hữu hạn các U i khác nhau

Ví dụ 2.5 Cho A = {a, b } và X = {a, aaab, aba } Ta có

U0 = X, U1 = {aab, ba }, U2 = {ab }, U3 = {a, b };

Vì XU3 , suy ra X không là mã

Ví dụ 2.6 Cho A = {a, b } và X = {a, aab, bab, bb } Ta có

U0 = X, U1 = {ab }, U2 = {b }, U3 = {ab, b } = U4 = … ;

Từ XU i = , với i 1, suy ra X là mã

* Thủ tục Sardinas-Patterson kiểm tra tính chất mã

Cho tập các từ X trên bảng chữ A, bài toán kiểm tra tính chất mã của X là

một bài toán cơ bản khi nghiên cứu mã Trong mục này ta đề cập đến thủ tục Sardinas – Patterson ([17]) Thủ tục này không cần sử dụng các tính chất nâng cao của mã mà dựa trên cách tổ chức thực hiện tính toán để kiểm tra một ngôn

ngữ cho trước có thỏa định nghĩa mã hay không Trong trường hợp X hữu hạn

(tổng quát hơn là đoán nhận được) thì số bước tính toán là hữu hạn

Thủ tục tính toán các tập thương U i , i = 1, 2, để tìm hai phân tích khác nhau trên X của một từ w A* bất kỳ (đoạn sai khác giữa hai cách phân tích) Thủ tục dừng khi xuất hiện phần dư là từ rỗng, tương ứng với việc tìm được từ

có hai phân tích khác nhau Các tập thương U i , i = 1, 2, sẽ được xác định một

cách đệ quy qua các bước như sau:

Trang 30

Ví dụ 2.7 Cho A = {a, b } và X = {b, abb, abbba, bbba, baabb }, ta có

U1 = {ba, bba, aabb }, X–1U1 = {a, ba }, U1–1X = {abb },

U2 = {a, ba, abb }, X–1U2 = {, a }, U2–1X ={, bb, bba, ba, abb },

U3 = {, a, bb, bba, ba, abb } Vì U3 nên X không là mã

Ví dụ 2.8 Cho A = {a, b } và X = {aa, ba, bb, baa, bba }, ta có

U1 = {a }, U2 = U1 Vì vậy U n = {a } với n 1, suy ra X là mã

Nhận xét 2.1 Cho X là ngôn ngữ chính quy và đặt Y = {} Theo [5] thì (X, Y)

có cỡ 2|P | , với P là vị nhóm thỏa đồng thời cả X và Y Theo thủ tục

SardinasPatterson, các tập 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 , i = 1,2, , nghĩa là số các tập U i là hữu hạn và không vượt quá số tập con của P

(bằng 2|P | ) Trong trường hợp xấu nhất, các tập U i (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ỡ (2|P |)

Trang 31

A*= { (0, w, 1) wA*} {, e }

A*= { (1, w, 0) wA*} {, e }

A*= { (0, w, 0)wA*} {, e }

A*={ (1, w, 1)wA*} {, e } Mỗi bộ (i,w, j), wA* được gọi là một -từ (từ định biên với biên i,j), là mở rộng của từ w Hai -từ mới e, A* là hai phần tử đóng vai trò như là phần tử

đơn vị và phần tử zero của A*

khi ta trang bị một phép toán (gọi là tích biên),

được định nghĩa như sau: x1 = (i1, w1, j1), x2 = ( i2, w2, j2) A*,

và xA*, x. = .x = , x.e = e.x = x

Dễ thấy A* lập thành một vị nhóm với phép toán tích biên, có phần tử zero

là  và phần tử đơn vị là e Ta gọi A* là -vị nhóm (trên bảng chữ A) Và ta có

thể quy ước rằng, các ký hiệu , , , ,  như là các toán tử mở rộng của A*thành A*, A*, A*, A*, A* tương ứng

Cho M là vị nhóm tùy ý với đơn vị là 1 M Đặt M= { (i, m, j ) |mM, i,jB}{e,}, dễ thấy Mlà -vị nhóm (theo tích biên) được mở rộng từ vị

nhóm M Đặc biệt, với M = A* thì M = A*

Tổng quát, nếu một vị nhóm M đẳng cấu với một -vị nhóm M thì ta cũng

gọi M là một -vị nhóm Cho M là một vị nhóm tùy ý, có phần tử đơn vị là 1 M

Xét nửa nhóm B = {(0,0), (0,1), (1,0), (1,1), 0}, với phép toán được xác định như

sau: (i, j), (i, j) B, (i, j).(i, j) = (i, j) nếu j = i, ngược lại (i, j).(i, j) = 0

Một tập X A*

 được gọi là một -ngôn ngữ trên A Một -từ xA*được

gọi là có một phân tích trên X nếu x có thể biểu diễn dưới dạng x = x1 x2 x n ,

với n1, x iX, i = 1, , n

x1 x2 =

(i1, w1w2, j2) nếu j1 = i2

nếu j1 ≠ i2

Trang 32

Định nghĩa 2.2 Một -ngôn ngữ X A+

 đƣợc gọi là -mã nếu n, m1, x1,

x2, , x n , x1, x2, , x mX,

x1x2 x n = x1x2 x m   m = n, x i = x i, (với i = 1, ,n)

Nói cách khác, một -ngôn ngữ X là -mã nếu với mọi x   thuộc A+, x

có không quá một phân tích trong X Dễ thấy rằng, X là -mã thì X không chứa

e, và (i, , i), iB

Ví dụ 2.9 Cho X = {(0, a, 1), (0, b, 1), (1, abb, 0)} Khi đó, theo định nghĩa dễ thấy rằng, X là -mã

Ví dụ 2.10 Cho X= {(0, a, 1), (1, b, 0), (0, ab, 0), (0, ba, 1)} Dễ thấy, X không

là -mã, vì -từ x = (0, ab, 0) có hai phân tích khác nhau trong X:

(0, ab, 0) = (0, a, 1).(1, b, 0)

Cho M là một vị nhóm bất kỳ với phần tử đơn vị là 1 và có chứa phần tử

zero là 0 và : A*M là một ánh xạ Khi đó,  đƣợc gọi là -đồng cấu vị nhóm nếu thỏa mãn các điều kiện sau:

(1) x, y A*và x y  thì (x y) =(x).(y)

(2) (e) = 1

(3) () = 0 Một -đồng cấu vị nhóm  đƣợc gọi là một -đơn cấu (t.ứng, -toàn cấu,-đẳng cấu) nếu  là-đồng cấu vị nhómvà là đơn ánh (t.ứng, toàn ánh, song ánh)

Cho X A*

và vị nhóm M Ta nói rằng, vị nhóm M thỏa X nếu tồn tại một

-đồng cấu vị nhóm : A* M sao cho X = –1

(N), với N M nào đó

Định lý 2.2.(xem [5]) ChoXA*

Khi đó, các điều kiện sau đây là tương đương:

Trang 33

(i) X thỏa bởi một vị nhóm hữu hạn

(ii) X là -đoán nhận được bởi một -otomat đơn định hữu hạn (iii) X là -ngôn ngữ chính quy

2.1.3 -mã

Cho bảng chữ cái A Từ vô hạn phía phải (còn gọi là -từ) là tích ghép vô

hạn phía phải các ký tự của A (u = u1u2 … u n …, với u i A, i > 0) Ký hiệu A là

tập tất cả các từ vô hạn phía phải trên A Tập con của A gọi là -ngôn ngữ

Cho X A* Ta ký hiệu X = {wAw = w1w2…, với w i X, I > 0} Một

-phân tích phải của một từ wA trên X là một dãy vô hạn w1,w2,…, w n,… các

từ của X sao cho w = w1w2…w n

Định nghĩa 2.3 Một ngôn ngữ X A* là -mã nếu mỗi từ w bất kỳ thuộc A có nhiều nhất một -phân tích phải trong X (hay mỗi từ w bất kỳ thuộc X có duy nhất một -phân tích phải trong X)

Ví dụ 2.11 Tập X = {aa, baa, ba} trên bảng chữ cái A = {a, b} Khi đó, X không

là -mã, vì từ w = baaaa… X có hai -phân tích phải khác nhau trong X:

(baa) (aa) (aa) (aa)… = (ba) (aa) (aa) (aa) a…

Ví dụ 2.12 Tập X = {aa, ab, bb} trên bảng chữ cái A = {a, b} là -mã Thực vậy, giả sử ngƣợc lại X không là -mã, suy ra tồn tại từ wX, có hai -phân

tích phải khác nhau:

w = x1x2…x n = y1y2…y m …, với x i , y j X,i, j

Không mất tính tổng quát ta luôn giả sử đƣợc x1  y1, suy ra x1 là khúc đầu

thực sự của y1 hoặc ngƣợc lại Điều này là mâu thuẫn, vì không thể tìm đƣợc x1,

y1X sao cho x1 là khúc đầu thực sự của y1 hoặc ngƣợc lại

Trang 34

Cho bảng chữ cái A Từ vô hạn phía trái là tích ghép vô hạn phía trái các ký

tự của A (u = …u -n …u -2 u -1 , với u iA, i) Từ vô hạn hai phía là tích ghép vô hạn phía trái và phía phải các ký tự của A (u = u -n …u -2 u -1 u0u1…u m …, với u iA, i)

Ký hiệu A, A lần lượt là tập các từ vô hạn phía trái, vô hạn hai phía tương

ứng Cho X A*, ta ký hiệu X, Xlà tập các tích ghép vô hạn phía trái và vô

hạn hai phía những từ khác rỗng của X tương ứng

Một -phân tích trái của một từ wA trên X là một dãy vô hạn…,w -n ,…,w

-2,w -1 các từ của X, sao cho w =…w -n …w -2 w -1 Một -phân tích trái hay -phân tích phải trên X của từ vô hạn phía trái hay vô hạn phía phải tương ứng

Cho w A có dạng w =…a -2 a -1 a0a1a2…, với a iA Một phân tích trên X của từ vô hạn hai phía w là một hàm tăng nghiêm ngặt : Z Z thoả mãn x i =

a(i)+1 …a(i+1) X, iZ Hai phân tích  và  gọi là bằng nhau ký hiệu là  = 

nếu có tZ sao cho (i+t) = (i), iZ Ngược lại,  và  gọi là khác nhau (ký hiệu là  ) nếu (Z)  (Z); hay nói cách khác là tồn tại từ u A+, hai dãy vô

hạn hai phía những từ của X:…x -2 , x -1 , x0, x1, x2…và…y -2 , y -1 , y0, y1, y2… sao cho:

… x -2 x -1 u = …y -1 y0,u ≤ x0 (2.1)

x0x1x2… = uy1y2…,u ≤ y0, với u x0 hoặc u y0 (2.2)

Định nghĩa 2.4 Giả sử A là một bảng chữ Tập X ⊆ A+ là ω-mã bên trái

một X-phân tích

Ví dụ 2.13 Cho A = {a, b} Ngôn ngữ Y = {a, b} là ω-mã bên phải và đồng thời

là ω-mã bên trái Tuy nhiên, ngôn ngữ X = {aa, baa, ba} là ω-mã bên trái nhưng không là ω-mã bên phải vì từ vô hạn w = baaa ··· có hai X-phân tích khác nhau

Từ nay về sau, nếu không sợ nhầm lẫn, ta sẽ dùng thuật ngữ ω-từ ngôn ngữ, ω-mã) thay cho thuật ngữ ω-từ bên phải (t.ư ω-ngôn ngữ của các ω-

(t.ư.ω-từ bên phải, ω-mã bên phải)

Trang 35

2.1.4 Z–mã

Định nghĩa 2.5 Ngôn ngữ XA+ là Z -mã nếu tất cả các Z -phân tích trên X của

mỗi từ vô hạn hai phía bất kỳ là bằng nhau

Ví dụ 2.14 Tập X = {aa, ab, bb} trên bảng chữ cái A = {a, b} là ω -mã, nhưng X

không là Z -mã Thật vậy, ta xét hai dãy vô hạn gồm các từ của X:

…a(aa)(bb)b… = …(aa)(ab)(bb)…

Rõ ràng, tồn tại bA+ sao cho:

…a(aa)b= …(aa)(ab) b≤bb

(bb)b… = b(bb)… b≤ab , với b bb hoặc b ab

Ví dụ 2.15 Tập X={a, ab, bb} không là ω -mã vì (a)(bb)(bb)… = (ab)(bb)(bb)…

và cũng không là Z -mã Thực vậy, ta xét hai dãy vô hạn gồm các từ của X:

…(a)(a)(a)(bb)(bb)… = … (a)(a)(ab)(bb)b…

Rõ ràng, tồn tại bA+ sao cho:

…(a)(a)(a)b= …(a)(a)(ab) b≤bb

(bb)(bb)… = b(bb)b… b≤ab , với bbb hoặc b ab

Ví dụ 2.16 Tập X = {aab, bba} trên bảng chữ cái A = {a, b} là Z-mã Thực vậy,

giả sử X không là Z -mã, ta xét các khả năng chọn uA+ và hai dãy vô hạn hai

Với các trường hợp còn lại ta xét tương tự

Không có cách chọn uA+ để X không là Z -mã Vậy X là Z-mã

Trang 36

Trong [6], tác giả H.N.Vinh, N.Đ.Hân, P.T.Huy đã đưa ra khái niệm độ trễ giải mã của -mã, mối quan hệ giữa -ngôn ngữ có độ trễ giải mã hữu hạn với

-mã và đề xuất thủ tục cho phép xác định chính xác độ trễ giải mã cho -mã

và cho mã luân phiên

Định nghĩa 2.6 Cho X A+-ngôn ngữ không chứa Khi đó X có độ trễ giải mã hữu hạn d (với d là một số nguyên dương) nếu x0, x1, , x d , x X, z

A *,

x0.x1 x d z x.X*  x0 = x (2.3)

Dễ thấy rằng nếu hệ thức (2.3) thoả mãn với d nào đó thì nó cũng đúng với mọi d d Nếu X có độ trễ giải mã hữu hạn thì số nguyên nhỏ nhất thoả hệ thức (2.3) được gọi là độ trễ giải mã của X

Tương tự như trong mã thông thường, kết quả sau cho ta mối liên hệ giữa

-ngôn ngữ có độ trễ giải mã hữu hạn với tính chất -mã

Mệnh đề 2.4.(xem [38, tr 50]) Nếu X A + có độ trễ giải mã hữu hạn thì X cũng là -mã Ngược lại không đúng

Trang 37

Chứng minh Giả sử X có độ trễ giải mã hữu hạn là d và X không là -mã Khi

đó,  X theo Định nghĩa 4, sẽ tồn tại một -từ x   thuộc X* có hai phân tích khác nhau:

Tính chất 2.1 Nếu X A+\-mã có độ trễ giải mã hữu hạn d thì mọi tập

con khác rỗng của X sẽ có độ trễ giải mã hữu hạn bé hơn hoặc bằng d

Tính chất 2.2 Nếu X A+\-mã và các -từ x,x0, x1, , x d X sao cho x0

x và x0.x1 x d < p x z, với z X * thì X có độ trễ giải mã bé nhất là d+1

2.2 Máy biến đổi và otomat

2.2.1 Khái niệm

Định nghĩa 2.7 Máy biến đổi trạng thái hữu hạn có trọng số T (gọi tắt là máy

biến đổi) trên nửa vành  là một bộ 8 T= (Q, A, , e, I, f, , ) ở đó: Q là tập hữu hạn các trạng thái, A là bảng chữ cái vào hữu hạn,  là bảng chữ cái ra hữu

hạn, E Q × (A {} × ( {} × ×Q là tập hữu hạn các phép biến đổi, IQ

Ngày đăng: 25/07/2017, 21:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu (1977) Lý thuyết otomat và thuật toán. NXB Đại học và Trung học chuyên nghiệp Sách, tạp chí
Tiêu đề: Lý thuyết otomat và thuật toán
Nhà XB: NXB Đại học và Trung học chuyên nghiệp
[2] Phan Trung Huy (1992) Đa tạp các vị nhóm hữu hạn và đa tạp ngôn ngữ từ vô hạn. Luận án Tiến sĩ, Thƣ viện Quốc gia, Viện Toán học Việt Nam Sách, tạp chí
Tiêu đề: Đa tạp các vị nhóm hữu hạn và đa tạp ngôn ngữ từ vô hạn
[3] Nguyễn Đức Nghĩa, Nguyễn Tô Thành (1997), Toán rời rạc, Nhà xuất bản Giáo dục, Hà Nội Sách, tạp chí
Tiêu đề: Toán rời rạc
Tác giả: Nguyễn Đức Nghĩa, Nguyễn Tô Thành
Nhà XB: Nhà xuất bản Giáo dục
Năm: 1997
[4] Đặng Quyết Thắng (2012) 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ĩ, Thƣ viện Quốc gia, Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Một số vấn đề lý thuyết và ứng dụng của các mô hình otomat nâng cao
[5] Hồ Ngọc Vinh (2012) Về một cấu trúc vị nhóm mới và mã. Luận án Tiến sĩ, Thư viện Quốc gia, Trường Đại học Bách khoa Hà Nội Sách, tạp chí
Tiêu đề: Về một cấu trúc vị nhóm mới và mã
[6] Hồ Ngọc Vinh, Nguyễn Đình Hân, Phan Trung Huy (2010) Mã với từ định biên và Độ trễ giải mã.Tạp chí Công nghệ Thông tin và Truyền thông, TậpV-1, Số 4 (24), pp. 46-56.Tiếng Anh Sách, tạp chí
Tiêu đề: Mã với từ định biên và Độ trễ giải mã
[7] K.A. Berman, J.L Paul (2005) Algorithms - Sequential, parallel, and distributed, Thomson Learning, Inc Sách, tạp chí
Tiêu đề: Algorithms - Sequential, parallel, and distributed
[8] J. Berstel, D. Perrin (1985) Theory of Codes. Academic Press Inc., NewYork Sách, tạp chí
Tiêu đề: Theory of Codes
[9] T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein (2009), Introduction to Algorithms (3rd ed.), MIT Press and McGraw-Hill Sách, tạp chí
Tiêu đề: Introduction to Algorithms
Tác giả: T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein
Năm: 2009
[10] S. Eilenberg (1974) Automata, languages and Machines. Vol. A, Academic Press, New York and London Sách, tạp chí
Tiêu đề: Automata, languages and Machines
[11] E. N. Gilbert, E. F. Moore (1959)Variable length binary encodings. Bell System Technical Journal, Vol. 38, pp. 933-967 Sách, tạp chí
Tiêu đề: Variable length binary encodings
[12] J. E. Hopcroft, J. D. Ullman (1969) Formal languages and their relation to Automaton. Addison-Wesley Publishing Company Sách, tạp chí
Tiêu đề: Formal languages and their relation to Automaton
[13] S. Julia and T.V. Duc (2007) Reduced languages as omega-generators. Developments in Languages Theory, pages 266–277 Sách, tạp chí
Tiêu đề: Reduced languages as omega-generators
[14] G. Lallement (1979) Simigroups and combinatorial applications.John Wiley &amp; Sons Inc Sách, tạp chí
Tiêu đề: Simigroups and combinatorial applications
[15]M. Mohri, F. Pereira, M. Riley (2000) The design principles of a weighted finite-state transducer library, Theoretical Computer Science, 231(1), pp.17-32 Sách, tạp chí
Tiêu đề: The design principles of a weighted finite-state transducer library
[16] M. Mohri, F. Pereira, M. Riley (2007) Speech Recognition with Weighted Finite-State Transducers, Handbook on Speech Processing and Speech Communication, Part E: Speech recognition, Springer Heidelberg, pp.1-31 Sách, tạp chí
Tiêu đề: Speech Recognition with Weighted Finite-State Transducers
[17] A. A. Sardinas, C. W. Patterson (1953) A Necessary and Sufficient Condition for the Unique Decomposition of Coded Messages. IRE Intern.Conv. Record 8, pp. 104-108 Sách, tạp chí
Tiêu đề: A Necessary and Sufficient Condition for the Unique Decomposition of Coded Messages
[18] M. P. Schützenberger (1966) On a question concerning certain free submonoids. Journal of Combinatorial Theory, Vol. 1, No. 4, pp. 437-442 Sách, tạp chí
Tiêu đề: On a question concerning certain free submonoids. Journal of Combinatorial Theory
[19] L. Staiger (1986) On infinitary finite length codes. Informatique théorique et applications, 20(4):483–494, 1986 Sách, tạp chí
Tiêu đề: On infinitary finite length codes
[20] R.A. Wagner, M.J. Fischer (1974) The string-to-string correction problem, Journal of the ACM, 21(1), pp. 168-173 Sách, tạp chí
Tiêu đề: The string-to-string correction problem

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w