1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng ôtômát hữu hạn nâng cao trong mã hóa và an toàn dữ liệu

87 192 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 87
Dung lượng 1,55 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hành vi của mọi máy tuần tự các thao tác thực hiện tuần tự đều có thể biểu diễn được bằng một ôtômát Sau đây chúng ta xét định nghĩa hình thức về ôtômát hữu hạn trạng thái gọi tắt là ôt

Trang 1

MỤC LỤC

CHƯƠNG 1 6

LÝ THUYẾT MÃ 6

1.1 Nửa nhóm và vị nhóm 6

1.2 Từ và ngôn ngữ 7

1.3 Mã của các từ hữu hạn 10

1.4 Mã prefix 12

1.4.1 Định nghĩa 12

1.4.2 Biểu diễn hình học (cấu trúc cây) của mã prefix 15

1.5 Tiêu chuẩn kiểm định mã 18

1.6 Độ trễ giải mã 18

CHƯƠNG 2 20

LÝ THUYẾT ÔTÔMÁT 20

2.1 Ôtômát hữu hạn 20

2.1.1 Các tính chất của hàm chuyển trạng thái 23

2.1.2 Các phương pháp biểu diễn ôtômát 24

2.1.3 Ngôn ngữ đoán nhận được của ôtômát 26

2.2 Ôtômát hữu hạn không đơn định 27

2.3 Sự tương đương của ôtômát đơn định và không đơn định 31

2.4 Cực tiểu hoá ôtômát hữu hạn 36

2.5 Ôtômát của mã Prefix 41

2.6 Các phép toán trên mã Prefix 45

CHƯƠNG 3 48

MỘT SỐ ỨNG DỤNG CỦA ÔTÔMÁT TRONG MÃ HÓA BẢO MẬT 48

3.1 Tính chất không nhập nhằng của ngôn ngữ 48

3.1.1 Tích không nhập nhằng và mã 48

3.1.2 Xác định độ không nhập nhằng kiểu 1 51

3.1.3 Xác định độ không nhập nhằng kiểu 2 57

3.2 Phân bậc ngôn ngữ theo tính không nhập nhằng 68

3.2.1 Phân bậc kiểu 1 68

3.2.2 Phân bậc kiểu 2 70

Độ trễ giải mã 71

Trang 2

3.3.1 Độ trễ giải mã và độ không nhập nhằng 71

3.3.2 Xác định độ trễ giải mã 71

3.3.3 Thuật toán xác định độ trễ giải mã của-mã 83

KẾT LUẬN 85

TÀI LIỆU THAM KHẢO 87

Trang 3

DANH MỤC HÌNH VẼ

Trang

Hình 1.1 Một overlap của hai từ liên hợp x và y 9

Hình 1.2 Một X-phân tích của từ w 9

Hình 1.3 Khởi đầu một phân tích kép của từ w 11

Hình 1.4 Biểu diễn của A = {a, b} và A = {a, b, c} 16

Hình 1.5 Biểu diễn của X = {a, ba, baa} 16

Hình 1.6 Biểu diễn của X = {aa, ab, bb, baa} 16

Hình 1.7 Biểu diễn của X = {a, b, ca, cbba, cbcc } 16

Hình 1.8 Biểu diễn của X = a*b 17

Hình 1.9 Biểu diễn của X có 26 phần tử 17

Hình 2.1 Mô hình của ôtômát rời rạc 20

Hình 2.2 Thanh ghi dịch chuyển 4 bit sử dụng D-flip flaps 21

Hình 2.3 Máy hữu hạn trạng thái thực hiện thanh ghi dịch chuyển 4 bit 21

Hình 2.4 Sơ đồ khối của ôtômát hữu hạn 22

Hình 2.5 Biểu diễn đồ thị của ôtômát 26

Hình 2.6 Biểu diễn đồ thị của ôtômát hữu hạn M cho trước 27

Hình 2.7 Hệ biến đổi biểu diễn ôtômát hữu hạn không đơn định 28

Hình 2.8 Ôtômát không đơn định M 29

Hình 2.9 Đồ thị chuyển trạng thái của ví dụ 2.9 38

Hình 2.10 Ôtômát cực tiểu của ôtômát ở Hình 2.9 40

Hình 2.11 Biểu diễn chữ của X 42

Hình 2.12 Biểu diễn otomat của X 42

Hình 2.13 Biểu diễn otomat chữ của X 42

Trang 4

Hình 2.14 Biểu diễn otomat tối thiểu của X 42 Hình 2.15 Biểu diễn otomat chữ của X 43 Hình 2.16 Biểu diễn otomat tối thiểu của X 43 Hình 3.1 Minh họa một trường hợp tính toán các tập Ui , Vi+1 theo công thức (3.1) 51

Trang 5

DANH MỤC BẢNG

Trang

Bảng 2.1 Bảng chuyển trạng thái của M 25

Bảng 2.2 Bảng các trạng thái của M 33

Bảng 2.3 Bảng các trạng thái của M' 34

Bảng 2.4 Bảng các trạng thái của M' 34

Bảng 2.5 Bảng các trạng thái của M 35

Bảng 2.6 Bảng các trạng thái của M ' 36

Bảng 2.7 Bảng các trạng thái của M 39

Bảng 2.8 Bảng các trạng thái của ôtômát cực tiểu 40

Trang 6

Ví dụ 1.1 M = {0,1} là vị nhóm nhân với phần tử đơn vị là 1

Ví dụ 1.2 Với vị nhóm M bất kỳ, ta trang bị cấu trúc vị nhóm cho tập tất cả các tập

con 𝒫(M) của M bằng cách định nghĩa, với X, Y  M,

tự đồng cấu

Một tương đẳng trên một vị nhóm M là một quan hệ tương đương trên M sao cho với mọi m,m' M, u,v M

Trang 7

m m' mod   umv = um'v mod

Nếu : M N là một đồng cấu vị nhóm thì quan hệ (hạt nhân) trên ,

cho bởi m   m' mod  (m) = (m’) là một tương đẳng trên M Ngược lại, nếu

là một tương đẳng trên vị nhóm M, tập thương M/ với phép toán [x] [y] =

[xy], ở đó [x] ký hiệu lớp tương đương theo  chứa x , là một vị nhóm thương của M với tương đẳng và ta có đồng cấu tự nhiên 

: M M/ cho bởi 

[m] = [m] với mọi m M

Trang 8

w = (a 1 , a 2 , , a n ), a i A Tập tất cả các từ trên bảng chữ A đƣợc ký hiệu là A *

và đƣợc trang bị phép nhân (tích) ghép có tính chất kết hợp

(a1,a2, ,a n )(b1,b2, ,b m )= (a1,a2, ,a n ,b1,b2, ,b m )

Vì vậy, để thuận tiện ta viết

w = a1,a2, ,a n thay cho w = (a1,a2, ,a n ) Một phần tử a A đƣợc gọi là một chữ cái Từ rỗng

đƣợc ký hiệu là  đóng vai trò là phần tử đơn vị trong phép nhân ghép Do đó, tập

A * có cấu trúc vị nhóm và A * đƣợc gọi là vị nhóm tự do trên A Tập tất cả các từ khác rỗng trên A đƣợc ký hiệu là A +

Ta có A + = A * - {}

Độ dài |w| của từ w = (a1,a2, ,a n ) với a i A là n Quy ƣớc || = 0 Ánh xạ w

|w| là một đồng cấu từ A * đến vị nhóm cộng Với n 0, ta ký hiệu

A <n = {w A * | |w| < n - 1}

An = { w A * ||w| n}

Đặc biệt, A <0 =  và A0 = {}

Một từ w A * là một khúc con của một từ X A * nếu tồn tại u,v A * sao cho

x = uwv Quan hệ ―là một khúc con của‖ là một quan hệ thứ tự bộ phận trên A * Một khúc con w của x là khúc con thực sự nếu w ≠ x Một từ w A * là một khúc đầu (t.ƣ khúc đuôi) của một từ X A * nếu tồn tại một từ u A * sao cho X = wu (t.ƣ x = uw) Quan hệ ―là một khúc đầu của‖ (t.ƣ ―là một khúc đuôi của‖ ) cũng

là một quan hệ thứ tự bộ phận trên A *

Ta viết w p x (t.ƣ w s x) khi w là một khúc đầu (t.ƣ khúc đuôi) của x và w < p x (t.ƣ w < s x) khi w p x và w ≠ x (t.ƣ w

s x và w ≠ x) Thứ tự này có tính chất cơ bản sau đây Nếu có từ x,

w ≤p x, w' ≤p x (t.ƣ w ≤s x, w' ≤s x), thì w và w' so sánh đƣợc với nhau, tức là

Trang 9

w ≤p w' hoặc w' ≤p w (t.ư w ≤s w' hoặc w' ≤s w) Tập con X của A * được gọi là tập prefix nếu không có từ nào của X là khúc đầu thực sự của một từ khác trong X

Hai từ x, y A * được gọi là liên hợp nếu tồn tại các từ u, v sao cho X = uv, y =

vu (Xem Hình 1.1) Khi đó ta cũng gọi v là một overlap của x v à y

Hình 1.1 Một overlap của hai từ liên hợp x và y Một tập con của A *

được gọi là một ngôn ngữ trên A

Với một ngôn ngữ X thuộc A * , ta ký hiệu X * vị nhóm con sinh bởi X,

X* = { x1x2… x n | n ≥ 0, x i X } Tương tự, ta ký hiệu X + nửa nhóm con sinh bởi X ,

X + = { x1x2… x n | n ≥ 1, x i X }

Ta có

Một phân tích của một từ w A * theo các từ của X cho bởi đẳng thức w =

x1x2… x n , x i X ,i ≥ 1 Khi đó, ta cũng nói w có một X-phân tích Theo định nghĩa, mỗi từ w X * có ít nhất một X-phân tích Để dễ hình dung, ta thường biểu

diễn một X-phân tích w = x1x2… x n bằng hình sau

Hình 1.2 Một X-phân tích của từ w Cho X, Y A * là các ngôn ngữ Tích của X và Y, thương trái, thương phải của

w

y

Trang 10

X bởi V là các ngôn ngữ được định nghĩa ở mục trước với vị nhóm M = A * Với u, v

M, ta sẽ viết uv thay cho u.v Khi đó

Trong phần này ta xem xét định nghĩa và một số tính chất quan trọng của

mã Trước hết ta nhắc lại khái niệm tích không nhập nhằng là cơ sở để xây dựng khái niệm mã

Cho A là một bảng chữ và X, Y A * là các ngôn ngữ Tích XY là không nhập nhằng nếu mỗi từ w XY có duy nhất một phân tích w = xy với x X, y  Y

Định nghĩa 1.1 Giả sử A là một bảng chữ hữu hạn Tập X A + là mã trên A nếu với mọi n,m ≥ 1 và với mọi x1,x2, …, x n , y1,y2, ,y m X nếu có

x1x2 … x n = y1y2 … y m thì khi đó

n = m và x i = y i với i = 1, ,n

Cho X A * là một ngôn ngữ Từ định nghĩa của mã ta suy ra các tính chất sau

Tính chất 1.2 X là mã nếu mỗi từ w A * (t.ư w X *) có nhiều nhất (t.ư chỉ có

duy nhất) một X-phân tích

Tính chất 1.3 X là mã khi và chỉ khi X- 1X X * (X*)-1 = {ε}

Ví dụ 1.4 Ngôn ngữ X = {ab, abb, bb} trên bảng chữ A = {a, b} là mã Thật vậy, giả sử X không là mã Khi đó tồn tại một từ w X + có độ dài tối tiểu thừa nhận hai X-phân tích khác nhau,

w = x1x 2 … x n = y1y 2 … y m với x1 y 1

Trang 11

( n , m ≥ 1 , x i, y i X ) Từ x1  y1 suy ra x1 là khúc đầu của y1 hoặc ngƣợc lại Giả

sử x1 là khúc đầu của y1 Với X nhƣ trên, ta có x1 = ab và y1 = abb Từ đó suy ra x2

= bb,y 2 = bb Vậy y1 = x1b , y1y2 = x1x2b Thực hiện chứng minh quy nạp theo k

≥ 1, ta có x k+1 = bb và y k+1 = bb Từ đó suy ra y1y 2 … y k+1 = x1x 2 … x k+1 với mọi k

≥ 1 Điều này có nghĩa là không thể có từ w hữu hạn thừa nhận hai X-phân tích

khác nhau, trái với giả thiết

Hình 1.3 Khởi đầu một phân tích kép của từ w

Ví dụ 1.5 Cho A = {a, b} và X = {b, abb, abbba, bbba, baabb} Ngôn ngữ X không là mã vì tồn tại từ w = abbbabbbaabb, w có hai X-phân tích khác nhau,

w = (abbba)(bbba)(abb) = (abb)(b)(abb)(baabb)

Định nghĩa mã theo cách sau đây cho phép ta diễn tả ý nghĩa của thuật ngữ mã

Mệnh đề 1.1 Nếu X A* là mã thì mỗi đồng cấu 𝛽: B* → A*

cảm sinh một song

ánh từ bảng chữ B đến X là đơn cấu Ngƣợc lại, nếu tồn tại một đơn cấu 𝛽: B* → A*

sao cho X = 𝛽( B ) , th ì X l à m ã

Một đơn cấu 𝛽: B * → A * với X = 𝛽( B ) đƣợc gọi là một đồng cấu mã đối với

X Mệnh đề 1.1 trình bày nghĩa gốc của thuật ngữ mã vì các từ của X mã hóa các chữ cái của bảng chữ B Thủ tục mã kết hợp một từ bản rõ b1b2 … b n (b i ∈ B) với một từ mã 𝛽( b1) … 𝛽( b n) bởi sử dụng đồng cấu mã 𝛽 Sự kiện 𝛽 là đơn cấu đảm bảo từ mã đƣợc giải mã theo một cách duy nhất thành từ bản rõ ban đầu

Trang 12

Ta nhắc lại rằng một vị nhóm con M của A * là tự do khi và chỉ khi mọi m ∈ M- {} có duy nhất một phân tích trong X = (M - {})-(M- {})2 Mã X cảm sinh vị

nhóm con tự do M của A * đƣợc gọi là cơ sở của M Mối liên hệ giữa mã và vị nhóm

con sinh bởi mã đƣợc thiết lập qua các tính chất sau đây

Mệnh đề 1.3 Giả sử A là một bảng chữ Khi đó, mỗi vị nhóm con M của A* có một

tập sinh cực tiểu duy nhất X = (M- {})- (M - {})2

Ví dụ 1.5 Tập M = {a i , i ∈ , i ≠ 1} là một vị nhóm con của A * với A = {a, b} Cơ

sở của M là X = { a2

, a3} Tuy nhiên, M không phải là vị nhóm con tự do vì a6 ∈ M

có hai phân tích khác nhau trong X , a6 = a2 a2 a2 = a3.a3

Mệnh đề 1.2 Nếu M là một vị nhóm con tự do của A*, thì khi đó tập sinh cực tiểu

của M là mã Ngƣợc lại, nếu X A* là mã, thì vị nhóm con X* của A* là tự do có tập

x y 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 = {1}

Ngƣợc lại với định nghĩa prefix ta có định nghĩa suffix Tập X đƣợc gọi là suffix nếu không có từ x nào trong X là khúc đuôi thật sự của từ y khác trong X Tập X đƣợc gọi là bifix nếu nó vừa là prefix, vừa là suffix

Ví dụ 1.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 thừa số bên trái cũng là từ trong X Tuy nhiên X không phải là

Trang 13

suffix vì từ abb thuộc X có thừa số bên phải bb thuộc X Do đó X không phải là tập

Mệnh đề 1.3 Mọi tập prefix khác {1} đều là mã

Hoàn toàn tương tự, ta có mệnh đề với tập suffix

Mệnh đề 1.4 Với mọi tập con X A* thì ta có:

Trang 14

Mệnh đề sau cho ta quan hệ giữa mã prefix với idian phải Mệnh đề này cho ta

phương pháp xây dựng mã prefix từ các từ trong A*

Chứng minh:

1 Từ X = L - LA+ ta có X L, kéo theo XA+ LA+, do đó

X XA+ X LA+ = 

Vế đầu chứng tỏ X là prefix Để ý rằng L XA *

Thật vậy, xét u L, khi đó có hai khả năng: Nếu u X thì u XA*, còn nếu u

LA + thì u = u’w với w A + Do độ dài hữu hạn nên ta có u’XA*, vậy u XA*

Từ hệ thức L XA * nên ta có LA XA * Chiều ngược lại, do XL suy ra XA *

LA * Vậy XA*

= LA *

2 Giả sử x X Khi đó x = mu, với m M và u A * Tương tự m = x’v, với x’

X và v A * Từ đó x = x’uv Bởi vì X là prefix do đó ta có uv = 1 Vậy X M

Từ XA *

= MA * ta có XA * A = MA * A hay XA + = MA + Suy ra XM - MA + Thật

vậy, nếu ngược lại, cho m M - MA + khi đó m = xu, với x X và u A * Nếu u

1 thì xu XA + mà XA + = MA + , như thế m = xu MA + trái với giả thiết m M -

MA + Vậy u = 1 và x M - MA +

Tập X = L - LA + được gọi là tập khởi tạo hoặc cơ sở của Idian phải LA *

Hệ quả 1.4 Cho X và Y là các tập con Prefix của A * Nếu XA * = YA * thì X = Y

Ví dụ 1.8: Cho tập A = {a, b} và L = A *

aA * (tập các từ có chứa a) Khi đó

Trang 15

X = L - LA + = b * a

Ví dụ 1.9: Cho tập A = {a, b} và L = A * ab (tập các từ kết thúc bằng ba) Khi đó X

= L - LA + = A*ab - A * abA + = b * a * ab Dễ thấy rằng X là tập prefix vì X là tập các từ kết thúc bằng ab nhưng không chứa chuỗi ab nào khác ở giữa

Ví dụ 1.10: Cho tập A = {a, b} và L = {aa, ba, aab, aaa, bba, bab} Khi đó

X = L - LA + = {aa, ba, bba} là tập prefix

Cũng như tập mã cực đại, tập con X của A * là tập prefix cực đại nếu nó prefix

và nó không bị chứa hoàn toàn trong một tập prefix khác của A * , tức là nếu với Y

A * là prefix và X Y X = Y

Dễ dàng nhận thấy tập {1} là prefix cực đại Mọi tập prefix cực đại khác với

{1} là mã Mọi tập mã cực đại có tính prefix đều là mã prefix cực đại

1.4.2 Biểu diễn hình học (cấu trúc cây) của mã prefix

Chúng ta xét biểu diễn hình học của mã nói chung và mã prefix nói riêng trên

2 hoặc 3 chữ cái Biểu diễn hình học cho ta mối liên hệ giữa mã và cấu trúc cây sao cho mỗi từ của mã tương ứng với một nút trên cây

Trước tiên ta xây dựng cây vô hạn cho tập A * như sau: Bảng chữ cái được sắp theo thứ tự các từ có cùng độ dài được sắp theo thứ tự từ điển (lexicography) Như

thế mỗi nút của cây tương ứng với một từ trong A* Từ có độ dài ngắn hơn nằm trước (nút cha) từ dài hơn, các từ có cùng độ dài được phân nhánh theo thứ tự từ

điển Nếu tồn tại nhánh đi từ u đến v khi và chỉ khi v = ua, với a là chữ cái nào đó của A Cấu trúc cây xây dựng như trên được gọi là biểu diễn chữ của A *

Ví dụ 1.11: Xây dựng cây cho A với A = {a, b} và A = {a, b, c}

Trang 16

Hình 1.4 Biểu diễn của A = {a, b} và A = {a, b, c}

Cho tập X A*, ứng với một cây con bằng cách giữ lại các nút tương ứng với

các từ trong X cùng với các nút trên đường đi từ gốc đến nó Cây con thu được gọi

là biểu diễn chữ của X

Ví dụ 1.12: Cây biễu diễn tập của các tập X = {ab, bb, aab}

Hình 1.7 Biểu diễn của X = {a, b, ca, cbba, cbcc }

Hình 1.5 Biểu diễn của

X = {a, ba, baa} Hình 1.6 Biểu diễn của

X = {aa, ab, bb, baa}

Trang 17

Hình 1.8 Biểu diễn của X = a*b

Dựa trên biểu diễn cây, ta nhận thấy một từ là thừa số bên trái thực sự của từ

khác nếu có nằm trên đường đi từ gốc đến từ thứ hai Như vậy, tập X là prefix khi

và chỉ khi trên cây biểu diễn chữ của X, mọi từ trong X là nút lá của cây Cách biễu diễn chữ giúp ta dễ dàng hình dung về tập X và có thể biễu diễn tập với nhiều phần

tử

Hình 1.9 Biểu diễn của X có 26 phần tử

Trang 18

1.5 Tiêu chuẩn kiểm định mã

Thuật toán kiểm định mã là một thuật toán cốt lõi và kinh điển trong lý thuyết

mã, cần thiết cho các nghiên cứu về mã truyền thống và các hình thức mã mới Trong phần này, ta nhắc lại thuật toán kinh điển Sardinas-Patterson

Cho một ngôn ngữ X A + , ta xem xét các tập phần dƣ U i kết hợp với X đƣợc

định nghĩa đệ quy nhƣ sau

Ví dụ 1.12 Cho A = {a, b} và X = {b, abb, abbba, bbba, baabb} Tập X không là

mã vì tồn tại từ w = abbbabbbaabb, w có hai phân tích khác nhau trong X,

w = (abbba)(bbba)(abb) = (abb)(b)(abb)(baabb)

Sử dụng thuật toán kiểm tra mã, ta có

U1 = {ba, aabb, ba}, U2 = {a, ba, abb}, U3 = {, a, ba, bb, bbba, abb}

Vì  U3, suy ra X không là mã

Nhận xét 1.1 Giả sử V i (i 1), V1  V2  A* là một dãy tăng bất kỳ sao

cho mọi tập V i cùng thỏa bởi một toàn cấu vị nhóm h : A * P,với P là một vị nhóm hữu hạn Khi đó tồn tại một dãy tăng K1  K2  …  P sao cho V ¡ =h-1(K i ) với i = 1,2,… Dãy tăng này là hữu hạn và tổng số phần tử của nó không vƣợt quá Card(P) Nhận xét này cung cấp một kỹ thuật để ta xây dựng các tiêu chuẩn kiểm

định mã mới

1.6 Độ trễ giải mã

Khái niệm độ trễ giải mã đƣợc giới thiệu nhằm mở rộng các khái niệm của mã

(1.1)

Trang 19

prefix cho trường hợp mã thông thường Ta biết rằng lớp mã prefix có độ trễ 0, do

đó mã có độ trễ giải mã giới nội là trường hợp tổng quát của mã prefix Ta nhắc lại

rằng ngôn ngữ X A * là mã prefix khi và chỉ khi X là mã và X là tập prefix Khái

niệm độ trễ giải mã được định nghĩa như sau

Định nghĩa 1.2 Giả sử X là một tập con của A+ Khi đó X được gọi là có độ trễ

giải mã hữu hạn nếu có một số nguyên d 0 sao cho

x,x’ X,y X d , u A * , xyu x’X * x=x’ (1.2)

Dễ thấy rằng nếu hệ thức (1.2) 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 (1.2) được gọi là độ trễ giải mã của X, số nguyên bất kỳ thỏa hệ thức (1.2) được gọi là độ trễ giải mã yếu của X

Ví dụ 1.13 Cho A = {a, b} Khi đó tập X = {ab, abb, baab} có độ trễ giải mã d = 1

và tập Y = {a, ab, b2} có độ trễ giải mã vô hạn

Ta có mệnh đề sau đây về mối quan hệ giữa mã và độ trễ giải mã

Mệnh đề 1.6 Cho X A * Nếu X có độ trễ giải mã hữu hạn thì X là mã

Ví dụ 1.14 Cho tập X như trong Ví dụ 1.13 Bằng định nghĩa, ta có thể kiểm tra tập

X là mã

Trang 20

CHƯƠNG 2

LÝ THUYẾT ÔTÔMÁT 2.1 Ôtômát hữu hạn

Chúng ta sẽ tìm hiểu về một định nghĩa tổng quát nhất của ôtômát và sau đó

thu hẹp cho phù hợp với các ứng dụng của khoa học máy tính Một ôtômát được định nghĩa như là một hệ thống , trong đó năng lượng, vật chất hoặc thông tin được

biến đổi; được truyền đi và được sử dụng để thực hiện một số chức năng nào đó mà không cần có sự tham gia trực tiếp của con người Ví dụ như máy phô-tô-copy tự động, máy trả tiền tự động ATM,

Trong khoa học máy tính, thuật ngữ ôtômát có nghĩa là máy xử lý tự động trên

dữ liệu rời rạc Mỗi ôtômát được xem như là một cơ chế biến đổi thông tin gồm một bộ điều khiển, một kênh vào và một kênh ra

Hình 2.1 Mô hình của ôtômát rời rạc

Trong đó có các thành phần:

1 Đầu vào (input) Ở mỗi thời khoảng (rời rạc) t1, t2, , các dữ liệu vào I1, I2,

, là những số hữu hạn các giá trị từ bảng chữ cái A đầu vào

2 Đầu ra (Output) O1, O2, Om: các kết quả xử lý của hệ thống là các số hữu hạn các giá trị xác định kết quả đầu ra

3 Trạng thái Tại mỗi thời điểm, ôtômát có thể ở một trong các trạng thái

Trang 21

4 Quan hệ giữa các trạng thái Trạng thái tiếp theo của ôtômát phụ thuộc vào

hiện trạng và đầu vào hiện thời, nghĩa là được xác định phụ thuộc vào một hay nhiều trạng thái trước và dữ liệu hiện thời

5 Quan hệ kết quả Kết quả của ôtômát không những chỉ phụ thuộc vào các

hiện trạng mà còn phụ thuộc vào các đầu vào Như vậy, kết quả (đầu ra, output) của ôtômát được xác định theo đầu vào và các trạng thái thực hiện của nó

Ví dụ 2.1 Xét thanh ghi dịch chuyển như sau

Hình 2.2 Thanh ghi dịch chuyển 4 bit sử dụng D-flip flaps

Thanh ghi dịch chuyển trên còn được gọi là máy hữu hạn trạng thái có 24 = 16 trạng thái (0000, 0001, , 1111), một dãy vào và một dãy ra, bảng chữ cái vào (tín hiệu vào) A = {0, 1}và bảng chữ cái đầu ra (tín hiệu ra) O = {0, 1} Thanh ghi dịch chuyển 4 bit trên có thể được mô tả bởi ôtômát sau:

Hình 2.3 Máy hữu hạn trạng thái thực hiện thanh ghi dịch chuyển 4 bit

Nhận xét2.1 Hành vi của mọi máy tuần tự (các thao tác thực hiện tuần tự) đều có

thể biểu diễn được bằng một ôtômát

Sau đây chúng ta xét định nghĩa hình thức về ôtômát hữu hạn trạng thái gọi tắt

là ôtômát hữu hạn.Một ôtômát hữu hạn làm việc theo thời gian rời rạc như tất cả các mô hình tính toán chủ yếu Như vậy, ta có thể nói về thời điểm ―kế tiếp‖ khi

Ôtômát

q1, q2, … q16

D Q D Q D Q D Q

Trang 22

―đặc tả‖ hoạt động của một ôtômát hữu hạn Một cách hình thức hơn, ôtômát được định nghĩa như sau

Định nghĩa 2.1 Ôtômát hữu hạn đơn định (gọi tắt là ôtômát hữu hạn), có thể biểu

diễn được bởi bộ 5 thành phần M = (A, Q, , q0, F), trong đó:

(i) A là tập hữu hạn khác rỗng các ký hiệu đầu vào (bảng chữ cái)

(ii) Q là tập hữu hạn khác rỗng các trạng thái,

(iii) là ánh xạ từ A × Q Q và được gọi là hàm chuyển trạng thái Hàm này mô

tả sự thay đổi trạng thái của ôtômát và thường được cho biết dưới dạng bảng chuyển trạng thái hay đồ thị chuyển trạng thái

(1) q 0 Q là trạng thái khởi đầu,

(2) F Q là tập các trạng thái kết thúc Tổng quát: | F|  1

Hình 2.4 Sơ đồ khối của ôtômát hữu hạn

Ôtômát hữu hạn trạng thái gồm các thành phần sau:

(i) Băng dữ liệu vào Băng dữ liệu vào được chia thành các ô, mỗi ô chứa

một ký tự từ bảng chữ cái A, trong đó ô đầu được đánh dấu cho sự bắt đầu bằng ©

và ô cuối dùng $ để đánh dấu kết thúc Khi không sử dụng các ô đánh dấu đó thì băng dữ liệu vào sẽ được xem như có độ dài vô hạn

Đầu đọc R Xâu được xử lý

Băng dữ liệu vào

Trang 23

(ii) Đầu đọc R Mỗi lần đầu đọc chỉ xem xét một ô và có thể dịch qua

phải hoặc qua trái một ô Để đơn giản, chúng ta giả thiết đầu đọc chỉ dịch qua phải sau mỗi lần xử lý

(iii) Bộ điều khiển hữu hạn Bộ này điều khiển hoạt động của ôtômát mỗi khi đọc một dữ liệu vào Khi đọc một ký hiệu vào, ví dụ a, ở trạng thái q có thể cho

các kết quả sau:

(1) Đầu đọc R vẫn ở nguyên tại chỗ, không dịch chuyển,

(2) Chuyển sang trạng thái khác được xác định theo (q,a)

Ví dụ 2.2 Hệ thống thang máy của một toà nhà nhiều tầng có thể mô hình hóa như

là một ôtômát hữu hạn Thông tin vào gồm các yêu cầu đi lên, đi xuống tại mọi thời điểm khi người sử dụng có nhu cầu Trạng thái được xác định bởi thông tin về các yêu cầu vẫn chưa được đáp ứng (về những tầng cần đi tới từ bên trong thang máy, hay ở trên các tầng), về những vị trí hiện tại của thang máy (lên hay xuống) Trạng thái tiếp theo luôn được xác định bởi trạng thái hiện tại và thông tin vào Từ các trạng thái hiện tại cũng xác định được thông tin ra mô tả hành vi của hệ thống thang máy

Để hiểu được hoạt động của các ôtômát, chúng ta cần phải tìm hiểu các tính chất, đặc trưng của hàm chuyển trạng thái

2.1.1 Các tính chất của hàm chuyển trạng thái

Hàm chuyển trạng thái được xác định trong định nghĩa ôtômát hữu hạn là một ánh xạ xác định trên các cặp trạng thái và ký hiệu vào, do vậy không thể sử dụng trực tiếp để đoán nhận các xâu, mà phải mở rộng  thành ánh xạ

Trang 24

đổi khi có dữ liệu vào (2.1)

Chứng minh: Qui nạp theo |y|, nghĩa là theo số ký tự trong y

Cơ sở: Khi |y| = 1, y = a, thì (q, xa) = ((q, x), a) đúng theo tính chất (2.2b) Giả sử rằng (2.3) đúng với mọi xâu x và với những xâu y có n phần tử, |y| = n Khi xâu y có độ dài là n+1, ta có thể viết y = y1a, với | y1| = n Khi đó

(q, xy) = (q, xy1a) = (q, x1a), với x1 = xy i

Do vậy, tính chất (2.3) đúng với mọi xâu x, y

2.1.2 Các phương pháp biểu diễn ôtômát

Cho một ôtômát thực chất là chỉ cần cho biết hàm chuyển trạng thái của nó Hàm chuyển trạng thái có thể cho dưới dạng bảng chuyển trạng thái hoặc dưới dạng

đồ thị

A/ Phương pháp cho bảng chuyển trạng thái

Bảng cho trước một ôtômát có thể cho dưới dạng bảng chuyển trạng thái

Trang 25

B/ Phương pháp biểu diễn bằng đồ thị

Bảng 2.1 Bảng chuyển trạng thái của M

qf

Trang 26

Hàm chuyển trạng thái có thể biểu diễn dưới dạng đồ thị có hướng, trong đó

mỗi trạng thái là một đỉnh Nếu từ ký tự vào a A, và từ trạng thái q ôtômát chuyển sang trạng thái p((q, a) = p) thì sẽ có cung đi từ q đến p với nhãn là a Đỉnh ứng với trạng thái bắt đầu (q0) có mũi tên đến, những đỉnh ứng với các trạng

thái kết thúc (thuộc tập F) được khoanh trong vòng tròn kép, những đỉnh còn lại

được khoanh trong vòng tròn đơn

Ví dụ 2.4 Ôtômát hữu hạn có hàm chuyển trạng thái được xác định theo bảng ở ví

dụ 2.3 được biểu diễn bằng đồ thị như sau:

Hình 2.5 Biểu diễn đồ thị của ôtômát

2.1.3 Ngôn ngữ đoán nhận được của ôtômát

Định nghĩa 2.2 Một xâu X được đoán nhận bởi ôtômát hữu hạn M = (A, Q, , q0,

F) nếu (q0, x) = q, với q F, nghĩa là (q0, x) F

Định nghĩa 2.3 Tập tất cả các xâu (còn được gọi là ngôn ngữ) được đoán nhận bởi

ôtômát hữu hạn M = (A, Q, , q0, F), được ký hiệu là

Trang 27

= (qh, 1) = (q0, ) = q0

Ví dụ 2.6 Xét ôtômát hữu hạn M được cho như ở hình sau

Hình 2.6 Biểu diễn đồ thị của ôtômát hữu hạn M cho trước

Dựa vào các tính chất và cách biểu diễn của hàm chuyển trạng thái trên đồ thị định hướng, chúng ta nhận thấy:

Một xâu (một từ) đoán nhận được bởi M là dãy các ký tự đầu vào (các nhãn

trên các cung) trên đường đi từ đỉnh bắt đầu đến một trạng thái kết thúc nào

đó

Ngôn ngữ đoán nhận được bởi M là tập tất cả các xâu được ghép từ các nhãn

trên tất cả các đường đi từ đỉnh bắt đầu đến các đỉnh kết thúc

Từ nhận xét trên, ta suy ra ngôn ngữ đoán nhận được bởi M sẽ là

T(M) = {a(ba) n a, b m | n 0, m > 0}

2.2 Ôtômát hữu hạn không đơn định

Chúng ta đã nghiên cứu những ôtômát mà từ một trạng thái (chưa kết thúc) và một ký tự vào thì trạng thái tiếp theo của chúng được xác định duy nhất Tiếp theo chúng ta xét trường hợp những ôtômát hữu hạn mà trạng thái tiếp theo như trên không xác định duy nhất

a

Trang 28

Chúng ta xét ôtômát đƣợc cho bởi đồ thị chuyển trạng thái nhƣ Hình 2.7

Hình 2.7 Hệ biến đổi biểu diễn ôtômát hữu hạn không đơn định Khi ở trạng thái q0 và dữ liệu vào là 0, thì ôtômát chuyển đến trạng thái nào?

Theo hệ thống trên thì nó có thể hoặc chuyển đến ql hoặc quay vòng trở lại chính

q0 Nhƣ vậy, trạng thái tiếp theo của ôtômát không xác định duy nhất khi nhận dữ

liệu vào 0 Những ôtômát nhƣ vậy đƣợc gọi là ôtômát hữu hạn không đơn định

(không tất định)

Định nghĩa 2.4 Một ôtômát hữu hạn không đơn định, gọi tắt là ôtômát không đơn

định, là bộ 5 phần tử M = (A,Q, , q0, F), trong đó

(i) A là tập hữu hạn khác rỗng các ký hiệu vào (bảng chữ cái), với A Q ≠ ∅,

(ii) Q là tập hữu hạn khác rỗng các trạng thái,

(iii)  là ánh xạ từ Q × A vào 2Q (tập tất cả các tập con của Q),

(iv) q0 Q là trạng thái khởi đầu,

(v) F Q là tập các trạng thái kết thúc Tổng quát thì |F|  1

Chúng ta nhận thấy sự khác nhau giữa đơn định (tất định) và không đơn định của ôtômát chỉ là ở hàm chuyển trạng thái  Đối với ôtômát đơn định, kết quả của

0 1

Trang 29

chỉ là một trạng thái, là một phần tử của Q; còn đối với ôtômát không đơn định,

kết quả của hàm chuyển trạng thái  là một tập con các trạng thái của Q

Tương tự như đối với ôtômát đơn định, hàm chuyển trạng thái được xác định trong định nghĩa ôtômát không đơn định là một ánh xạ xác định trên các cặp trạng thái và ký hiệu vào, do vậy không thể sử dụng trực tiếp để đoán nhận các xâu, mà phải mở rộng  thành ánh xạ

(iv) S Q, a A, w A*, (S, aw) = ((S, a), w)

Định nghĩa 2.5 Xâu w A* đoán nhận được bởi một ÔTKĐĐ M nếu (q0, w) có

chứa một số (ít nhất một) trạng thái kết thúc

Ví dụ 2.7 Xét ôtômát không đơn định được biểu diễn bằng biểu đồ chuyển trạng

thái như hình Hình 2.8

(2.4) (2.5) (2.6)

(2.7)

Trang 30

Dãy các trạng thái xác định bởi dãy vào 0100 được mô tả qua hàm chuyển trạng thái như sau:

Tương tự, dãy 0100 cũng chính là dãy của các nhãn trên đường đi từ q0, q0, q3,

q4, và kế thúc ở q4, nên nó được đoán nhận bởi M (Hình 2.8)

Từ đó, chúng ta có tập tất cả các từ đoán nhận bởi một ôtômát được định nghĩa như sau

Định nghĩa 2.6 Tập các xâu (từ) được M (đơn định hoặc không đơn định) đoán

nhận là tập tất cả các xâu dữ liệu (dãy các ký tự) đầu vào được đoán nhận bởi M; ký hiệu T(M)

T(M) = {w A * | (q 0 , w) F ≠∅}

Tập các xâu được đoán nhận (hay đoán nhận được) bởi một ôtômát thể hiện khả năng tính toán của hệ thống và mô tả hành vi của một ôtômát Tập đoán nhận

Trang 31

được bởi một ôtômát thường còn được gọi là ngôn ngữ được đoán nhận bởi ôtômát

đó

2.3 Sự tương đương của ôtômát đơn định và không đơn định

Ở trên chúng ta đã phân biệt hai loại ôtômát đơn định và không đơn định Vấn

đề quan trọng là chúng có quan hệ với nhau như thế nào?, nghĩa là ngôn ngữ đoán nhận bởi ôtômát đơn định và không đơn định có quan hệ với nhau hay không? Một cách trực quan chúng ta nhận thấy:

 Ôtômát đơn định có thể mô phỏng hành vi của ôtômát không đơn

định bằng cách gia tăng số các trạng thái Nói cách khác, ôtômát đơn định (A,

Q, , q0, F) có thể xem như ôtômát không đơn định (A, Q, ’, q0, F’) bằng

cách định nghĩa '(q, a) = {(q, a)}, nói cách khác ôtômát đơn định là trường

hợp đặc biệt của ôtômát không đơn định

 Ôtômát không đơn định là tổng quát hơn, song có vẻ như không mạnh hơn, nghĩa là tập mà nó đoán nhận không nhiều hơn ôtômát đơn định Điều thứ hai được khẳng định bởi định lý sau

Định lý 2.1 Với mọi ôtômát không đơn định M luôn tồn tại ôtômát đơn định M'

tương đương theo nghĩa chúng đoán nhận cùng một tập dữ liệu, T(M) = T(M') Chứng minh: Giả sử ôtômát không đơn định M = (A, Q, , q0, F) đoán nhận L Chúng ta xây dựng một ôtômát đơn định M' = (A’, Q’, ’, q’0, F’) như sau:

Trang 32

khởi động từ q0 và với một dữ liệu vào bất kỳ, ví dụ a, M có thể chuyển sang một

trong các trạng thái của (q0, a) Để khảo sát hoạt động của M khi xử lý a, chúng ta phải xét tất cả các trạng thái có thể đạt đƣợc khi nó xử lý a Vì thế các trạng thái của M' sẽ là các tập con của Q Khi M bắt đầu với q0, q0' đƣợc định nghĩa nhƣ trên

sẽ là trạng thái khởi đầu của M' Mặt khác xâu w T(M) = L nếu M đạt đến trạng thái kết thúc khi xử lý w Do vậy, trạng thái kết thúc của M' (phần tử của F') là tập con của Q và có chứa một số trạng thái kết thúc của M

Tiếp theo chúng ta định nghĩa ':

(q0, x) = {q1, q2, , qi} với mọi x trong A* (2.8)

Chúng ta chứng minh điều kiện cần của (2.8) qui nạp theo |x|

'(q0, y) = {pl, p2, , pk} (2.10)

Mặt khác, {r1, r2, ., r1} = (q0, ya) = ((q0, y), a) = ({p1, p2, …, pk}, a) Theo

Trang 33

định nghĩa của ',

'({p1, p2, …, pk}, a) = {r1, r2, , r1} (2.11)

Do vậy, '(q0', x) = '(q0', ya) = '('(q0', y), a) = '({p1, p2, …, pk}, a)

= {r1, r2, , r1} theo (2.11)

Suy ra (2.9) được chứng minh với x = ya

Điều kiện đủ chứng minh tương tự

Từ đó suy ra, x ∈ L = T(M) khi và chỉ khi (q, x) chứa một trạng thái của F

Bởi vì (q 0 , x) chứa trạng thái thuộc F khi và chỉ khi '(q0', x) nằm trong F' Điều đó khẳng định x ∈ T(M) ↔ x ∈ T(M'), đồng nghĩa với việc M' cũng đoán nhận đúng L

Ví dụ 2.8 Xét ôtômát không đơn định M = ({q0 , q1}, {0, 1}, , q0, {q0}) với hàm chuyển trạng thái  được xác định theo Bảng 2.2

Bảng 2.2 Bảng các trạng thái của M Xây dựng ôtômát đơn định tương đương M' theo định lý 2.1, có các thành phần:

Trang 34

(iv) ' đƣợc định nghĩa nhƣ trong Bảng 2.3

Trong bảng chuyển trạng thái 2.3 trạng thái ∅ là không đạt đến đƣợc từ trạng

thái bắt đầu {q0} nên có thể loại bỏ đi Ngoài ra, để cho tiện lợi chúng ta có thể ký

hiệu lại tập các trạng thái, ví dụ s0 = {q0}, s1 = {q1}, s2 = {q0, q1} và Q' = { s0, s1,

s1} Khi đó, ôtômát có hàm chuyển trạng thái nhƣ trên sẽ đƣợc viết thành

Trang 35

đơn định hóa)

Input: Cho trước ôtômát M = (A, Q, , q0, F) không đơn định

Output: Hàm chuyển trạng thái ' của ôtômát đơn định tương đương

, {a, b}, ', {q0}, F'), trong đó F' = {{q2}, {q 0 , q2}, {q1, q2}, {q0, q1, q2}} Thực hiện theo thuật toán 2.1 ta thu được ' như ở Bảng 2.6

Trang 36

Bảng 2.6 Bảng các trạng thái của M '

2.4 Cực tiểu hoá ôtômát hữu hạn

Trong phần này chúng ta xét vấn đề tìm ôtômát có số trạng thái cực tiểu tương đương (cùng đoán nhận một ngôn ngữ) với ôtômát cho trước

Trên tập các trạng thái Q chúng ta định nghĩa một số quan hệ tương đương

Định nghĩa 2.7 Hai trạng thái q1 và q2 được gọi là tương đương, ký hiệu q1 ≅ q2, nếu cả hai (q1, x) và (q2, x) đều là những trạng thái kết thúc hoặc cả hai đều không kết thúc với mọi x ∈ A*

Số các xâu (từ) được xây dựng từ bảng ký tự vào A thường là khá lớn (có khi

là vô hạn), nhưng trong phần này chúng ta chỉ xét những trường hợp hữu hạn

Định nghĩa 2.8 Hai trạng thái q1 và q2 được gọi là k-tương đương ( k ≥ 0), ký hiệu

q1 ≅k q2, nếu cả hai (q1, x) và (q2, x) đều là những trạng thái kết thúc hoặc cả hai đều không kết thúc với mọi x ∈ A* có độ dài nhỏ hơn k

Hiển nhiên, hai trạng thái kết thúc hoặc hai trạng thái không kết thúc đều là 0- tương đương

Các quan hệ trên có một số tính chất như sau

Tính chất 2.3 Hai quan hệ ≅ và ≅ k là các quan hệ tương đương (có tính phản xạ, bắc cầu và đối xứng)

Trang 37

Tính chất 2.4 Các lớp tương đương của hai quan hệ ≅ và ≅ k sẽ tạo ra hai phân hoạch π, πk của Q; các phần tử của πk là các lớp k-tương đương

Tính chất 2.5 Nếu q1 ≅ q2 thì q1 ≅ k q2, với mọi k ≥ 0

Tính chất 2.6 Nếu q1 ≅ (k+1 ) q2 thì q1 ≅ k q2

Tính chất 2.7 Tồn tại n để πn = πn+1

Mệnh đề sau sẽ là cơ sở để xây dựng ôtômát cực tiểu

Mệnh đề 2.2 Hai trạng thái q1 và q 2 được gọi là (k+1)- tương đương nếu

(a) Chúng là k-tương đương,

(b) (q1, a) và (q2, a) cũng là k-tương đương với mọi a ∈ A

Chứng minh: Chúng ta chứng minh bằng phản chứng Giả sử q1 và q2 không phải là

(k+1)-tương đương Khi đó tồn tại w = aw1 với độ dài k+1 sao cho (q1, aw1) là trạng thái kết thúc nhưng (q2, aw1) lại không phải là trạng thái kết thúc Như vậy,

(q1, aw1) = ((q1, a), w1) là trạng thái kết thúc và (q2, aw1) = ((q2, a), w1) không phải là trạng thái kết thúc Từ đó suy ra (q1, a) và (q2, a) không phải là k-

tương đương, mâu thuẫn với giả thiết (b)

Dựa vào các tính chất trên chúng ta có thể xây dựng các lớp (k+1)-tương đương khi biết các lớp k-tương đương trên tập các trạng thái và từ đó xây dựng

được thuật toán cực tiểu hoá ôtômát (có số trạng thái cực tiểu) tương đương với ôtômát cho trước

Thuật toán 2.2 Xây dựng ôtômát cực tiểu hoá

Input: Cho trước ôtômát M = (A, Q, , q0, F) thường là không đơn định

Output: Ôtômát đơn định và cực tiểu M' = (A, Q', ', q0', F')

1 Thiết lập phân hoạch π0 Theo định nghĩa 0-tương đương, π0 = {Q10, Q20},

trong đó Q 0 = F (tập các trạng thái kết thúc), Q 0 = Q – Q 0

Trang 38

2 Xây dựng πk+1 từ πk Xây dựng Qik, i = 1, 2, là các tập con của πk và là các

lớp (k+1)-tương đương q1 và q2 nằm trong Qik nếu chúng là (k+1) - tương đương

nghĩa là (q1, a) và (q2, a) là k-tương đương, với mọi a trong bảng chữ vào Điều

này xảy ra khi (q1, a) và (q2, a) nằm trong cùng lớp tương đương của πk Do vậy,

Qik là lớp (k+1)-tương đương Thực hiện như trên cho đến khi các tập con Qik tạo thành một phân hoạch πk+1 của Q mịn hơn πk

3 Lặp lại bước 2 để thiết lập πk với k = 1, 2, cho đến khi πk = πk+1

4 Xây dựng ôtômát cực tiểu Các trạng thái của ôtômát cực tiểu chính là các lớp tương đương được xác định như trong bước 3, đó là các phần tử của πk Bảng chuyển trạng thái thu được bằng cách thay trạng thái q bằng lớp tương đương tương

ứng [q]

Ví dụ 2.9 Xây dựng ôtômát cực tiểu tương đương với ôtômát có đồ thị chuyển

trạng thái như trong Hình 2.9

Hình 2.9 Đồ thị chuyển trạng thái của ví dụ 2.9

Từ đồ thị chuyển trạng thái ở hình 2.9 chúng ta có bảng chuyển trạng thái

a

b

Trang 39

Bảng 2.7 Bảng các trạng thái của M Theo thuật toán trên ta có Q10 = {q3}, Q20 = { q0, q1, q2, q4, q5, q6, q7} và

π0 = {{q3},{ q0, q1, q2, q4, q5, q6, q7}}

Chúng ta xét tiếp quan hệ 1-tương đương để tính π1 Trước tiên ta có Q11

=

{q3} Dựa vào Bảng 2.7 chúng ta dễ kiểm tra được q0 là 1-tương đương với q1 q5, q6

vì (q0, t) và (qi, t), i = 1, 5, 6 và t = a, b là cùng kết thúc hoặc cùng không phải là trạng thái kết thúc Vậy Q21 = {q0, q1, q5, q6}

Tương tự ta có thể kiểm tra được q2 -tương đương với q4 và Q31 = {q2, q4}

Hiển nhiên còn lại Q41 = {q7} Từ đó chúng ta có

lớp 1-tương đương Kiểm tra ta thấy q1 là 2-tương đương với q5, nên Q32 = {q1, q5}

Tương tự q2 vẫn là 2-tương đương với q4, vì thế Q42 = {q2, q4} và còn lại Q52 = {q7}

Trang 40

Vì π2 = π3, nên các lớp tương đương trong π2 sẽ làm cơ sở để xây dựng

ôtômát cực tiểu M' = (Q', {a, b}, ', q0', {q3}) Trong đó Q' = π2 = {{q3}, {q0, q6},

Bảng 2.8 Bảng các trạng thái của ôtômát cực tiểu

Hình 2.10 Ôtômát cực tiểu của ôtômát ở Hình 2.9

b

Ngày đăng: 15/07/2017, 23:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] J. Berstel and D. Perrin, Theory of Codes, Academic Press Inc., NewYork, 1985 Sách, tạp chí
Tiêu đề: Theory of Codes
[2] Samuel Eilenberg, Automata, languages and machines. Vol. A, Academic Press, New York and London, 1974 Sách, tạp chí
Tiêu đề: Automata, languages and machines
[3] Phan Đinh Diệu, Lý thuyết otomat và thuật toán, NXB Đại học và Trung học chuyên nghiệp, 1977 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
[4] J. E. Hopcroft, J. D. Ulmann, Introduction to Automata Theory Language and Computation, Addision Wesley Publishing Company, 1979 Sách, tạp chí
Tiêu đề: Introduction to Automata Theory Language and Computation
[5] A. A. Sardinas and C. W. Patterson. A Necessary and Sufficient Condition for the Unique Decomposition of Coded Messages, IRE Intern. Conv. Record 8, pp. 104-108, 1953 Sách, tạp chí
Tiêu đề: A Necessary and Sufficient Condition for the Unique Decomposition of Coded Messages
[6] Nguyễn Đình Hân, Hồ Ngọc Vinh, Phan Trung Huy, Đỗ Long Vân. Thuật toán xác định tính chất mã của ngôn ngữ chính quy. Tạp chí Tin học và điều khiển học (Đã nhận đăng) Sách, tạp chí
Tiêu đề: Thu"ậ"t toán xác "đị"nh tính ch"ấ"t mã c"ủ"a ngôn ng"ữ "chính quy
[7] P. T. Huy, and V. T. Nam, Mã luân phiên và mã tiền ngữ cảnh. Kỷ yếu Hội thảo quốc gia lần thứ VII ―Một số vấn đề chọn lọc của Công nghệ thông tin và Truyền thông‖, 2004, pp. 188-197 Sách, tạp chí
Tiêu đề: Mã luân phiên và mã ti"ề"n ng"ữ "c"ả"nh". Kỷ yếu Hội thảo quốc gia lần thứ VII ―"M"ộ"t s"ố "v"ấ"n "đề "ch"ọ"n l"ọ"c c"ủ"a Công ngh"ệ "thông tin và Truy"ề"n thông
[8] Vũ Thành Nam. Mã dựa trên một số loại tích mới. Luận án tiến sỹ toán học. Mã số: 40.65.36.01, Trường Đại học Bách Khoa Hà Nội, 2007 Sách, tạp chí
Tiêu đề: Mã d"ự"a trên m"ộ"t s"ố "lo"ạ"i tích m"ớ"i
[9] Phan Trung Huy, Nguyễn Đình Hân, Phạm Minh Chuẩn, Mã luân phiên chẵn - Phân bậc độ nhập nhằng và Tiêu chuẩn kiểm tra. Kỷ yếu 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, 171-185 Sách, tạp chí
Tiêu đề: Mã luân phiên ch"ẵ"n - Phân b"ậ"c "độ "nh"ậ"p nh"ằ"ng và Tiêu chu"ẩ"n ki"ể"m tra". Kỷ yếu 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

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm