Tải bản đầy đủ (.docx) (48 trang)

Khóa luận tốt nghiệp toán Mối liên hệ giữa đại số, ôtômat và logic

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 (473.45 KB, 48 trang )

TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2 KHOA TOÁN
PHAN THỊ HƯỚNG
MỐI LIÊN HỆ GIỮA ĐẠI số, ÔTÔMAT VÀ LOGIC
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành:TOÁN ỨNG DỤNG
Người hướng dẫn khoa học
GS. TRẦN VĨNH ĐỨC
LCU CAM ON
Em xin bay to long biet dn sau sac tdi thay Tran Vinh Du”c - NgiicJi
thay da trtfc tiep tan tinh hildng dan va giup dd em hoan thanh bai khoa
luan cua minh. Dong thcJi em xin chan thanh cam dn cac thay co trong to
Ling dung va cac thay co trong khoa Toan - TrUdng Dai hoc Sii pham Ha
Noi 2, Ban chu nhiem khoa Toan da tao dieu kien cho em hoan thanh tot
bai khoa luan nay.
Trong khuon kho co han cua mot bai khoa luan, do dieu kien thcJi gian,
do trinh do co han va cung la lan dau tien nghien ciiu khoa hoc cho nen
khong tranh khoi nhiing han che, thieu sot nhat dinh. Vi vay, em kinh
mong nhan diidc nhiing gop y cua cac thay co va cac ban.
Em xin chan thanh cam dn !
Ha Noi, thdng 05 ndm 2014 Sinh vien
Phan Thi Hif6ng
LOl CAM DOAN
Khoa luan nay la ket qua cua ban than em trong qua trinh hoc tap va
nghien ctiu. Ben canh do em dildc svt quan tarn cua cac thay co giao trong
khoa Toan, dac biet la sii hiidng din tan tinh cua TS.Tran Vinh Dilc.
Trong khi nghien ciiu hoan thanh khoa luan nay em da tham khao mot
so tai lieu da ghi trong phan tai lieu tham khao.
Em xin khang dinh ket qua cua de tai “Moi lien he gifla dai so, otomat
va logic” khong co sii trung lap vdi ket qua cua cac de tai khac.
Ha Noi, thdng 05 ndm 2014
Sinh vien


Phan Thi Hif6ng
Mục lục
Từ các công thức đến biểu thức chính quy mở rộng
Tương đương Myhill-Nerode và ôtômat tối tiểu
Từ otomat đến công thức monadic bậc hai
Ôtômat tối tiểu và yị nhóm cú pháp
Tính duy nhất và tối tiểu của A
M

N
(L)
Mỏ đầu
Chương 1.
1.1.
1.2.
1.3.
1.4.
Định lý Kleene-Bũchỉ
Công thức monadic bậc hai
Công thức bậc nhất
Logic: Tính toán dãy của Biichi
Otomat và logic
Bảng chữ, từ và ngôn ngữ 3
3
6
1 1
1 1
14
17
17

17
2
8
29
30
29
3
3

3
6
41
42
Một số phép toán trên ngôn ngữ
Otomat
1.4.1.
1.4.2.
Chương 2.
2.1.
2.2.
Chương 3.
3.1.
3.2.
3.3.
3.4.
3.5.
Thuật toán tính toán otomat tối tiểu
Vị nhóm chuyển của ôtômat
VỊ nhóm cú pháp
Kết luận

Tài liệu tham khảo
3
Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con
người với nhau, giao tiếp giữa người với máy. Ngôn ngữ để con người có thể giao tiếp
với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh, tiếng Nga, tiếng
Việt, là các ngôn ngữ tự nhiên. Các quy tắc cú pháp của ngôn ngữ tự nhiên nói chung
là rất phức tạp nhưng các yêu cầu nghiêm ngặt về mặt ngữ nghĩa thì lại thiếu chặt chẽ,
chẳng hạn cùng một từ hay cùng một câu ta có thể hiểu chúng theo ngữ nghĩa khác
nhau tùy theo từng ngữ cảnh cụ thể. Con người muốn giao tiếp với máy tính tất nhiên
cũng thông qua ngôn ngữ.Để có sự giao tiếp giữa người với máy và giữa máy với nhau,
cần phải có một ngôn ngữ với các quy tắc cú pháp chặt chẽ hơn so với các ngôn ngữ tự
nhiên, nói cách khác, với một từ hay một câu thì ngữ nghĩa của chúng phải là duy nhất
mà không phụ thuộc vào ngữ cảnh. Để xác định các ngôn ngữ như vậy người ta đã sử
dụng ôtômat. Ôtômat dịch nghĩa là máy tự động, được hiểu là các "máy" trừu tượng có
cơ cấu và hoạt động rất đơn giản nhưng có khả năng đoán nhận ngôn ngữ. Logic là nội
dung trung tâm của khoa học máy tính từ khi ngành này được hình thành.Trong những
năm 1950 và 1960, các nhà nghiên cứu dự đoán rằng khi tri thức của con người có thể
được biểu diễn bằng logic và các ký hiệu toán học, sẽ có khả năng tạo ra một máy tính
có khả năng lập luận, hay nói cách khác là trí tuệ nhân tạo.
Ôtômat và logic sinh ra các ngôn ngữ hình thức, có mối
liên hệ chặt chẽ với nhau, góp phần rất quan trọng
trong việc mô tả các dãy tính toán và điều khiển tự
động, được phát sinh trong nhiều ngành khoa học khác
nhau, từ hệ thống tính toán, ngôn ngữ đến sinh học.
Khi nghiên cứu với tư cách là đối tượng toán học, lý
thuyết này đề cập đến những vấn đề cơ bản của khoa học
3
máy tính, và các kết quả nghiên cứu đã có nhiều ứng
dụng ngay đối với ngành toán học trừu tượng.
8. Cấu trúc khóa luận

Khóa luận gồm:
Chương 1. Ô tômat và logic.
Chương 2.Định lý K Ỉ E E N E — B Ử C H I .
Chương 3.Ôtômat tối tiểu và vị nhóm cú pháp.
Chương 1
Otomat và logỉc
1.1. Bảng chữ, từ và ngôn ngữ
B Ả N G C H Ữ C Á I là một tập hữu hạn khác rỗng. Mỗi phần tử của bảng chữ cái
được gọi là một chữ cái hay một ký hiệu. Một T Ừ trên bảng chữ cái A là một dãy hữu
hạn (gồm một số lớn hơn hoặc bằng không) chữ cái của A .
ví dụ 1.1. Tập A = { A , B , C } là một bảng chữ cái và A A B A C B A là một từ trên A .
Độ dài của một từ W , ký hiệu là |w| là số các chữ cái trong W . Ví dụ, Ị A B C A Ị =
4 . Từ không chứa ký hiệu nào gọi là từ rỗng và ký hiệu là E . Theo định nghĩa |e| = 0.
Tập hợp gồm tất cả các từ trên bảng chữ cái A được ký hiệu là A * , và tập hợp gồm tất
cả các từ khác rỗng trên bảng chữ cái A được ký hiệu là A
+
. Rõ ràng
A
+
=A*-{e}.
3
Xét hai từ U và V trên bảng chữ A , phép ghép hai từ này là từ U V tạo được bằng cách
đặt V liền ngay sau u. Rõ ràng phép ghép có tính chất kết hợp và không giao hoán trên
A * (trừ khi bảng chữ A chỉ gồm một phần tử). Dễ thấy, ghép của hai từ có tính chất
sau:
|hv| = \u\ + I vỊ
u£ = £u = u
ngữ) trên bảng chữ cái A . Tập rỗng 0 là ngôn ngữ trên mọi bảng chữ cái: ngôn ngữ
không chứa một từ nào. Chú ý rằng ngôn ngữ rỗng 0 khác với ngôn ngữ chỉ gồm một từ
rỗng {e}.

Ví dụ 1.2. Tập A * là ngôn ngữ gồm tất cả các từ trên A , tập A
+
là ngôn ngữ
gồm tất cảcác từ khác từ rỗngtrên A . Còn tập
{£,0,1,01,10,00,11,011,100}
là một ngôn ngữ trên bảng chữ nhị phân {0,1}.
1.2. Một số phép toán trên ngôn ngữ
Từ các ngôn ngữ có trước, ta có thể thu được một ngôn ngữ mới nhờ áp dụng các
phép toán trên ngôn ngữ. Trước hết nhờ ngôn ngữ là một tập hợp, nên các phép toán
trên tập hợp như hợp, giao, hiệu và phần bù đều có thể áp dụng lên ngôn ngữ. Ngoài ra,
phép ghép có thể có mở rộng tự nhiên cho ngôn ngữ. Ghép của hai ngôn ngữ К và L
trên bảng chữ cái A là ngôn ngữ
KL = {uv I и G К và V G L}
3
Chúng ta cũng sử dụng ký hiệu lũy thừa cho các ngôn ngữ. Xét N là một số nguyên
dương, và L là một ngôn ngữ, ngôn ngữ L
N
được định nghĩa một cách đệ quy như sau
f
{e}, nếu N
= 0
LL
n
~
l
, nếu n > 0
Phép lặp của ngôn ngữ L là ngôn ngữ
L* = ỊJ L
n
.

п> 0
Nếu A và В là các bảng chữ cái, một đồng cấu từ A * đến B * là một ánh xạ Ẹ thoả
mãn hai điều kiện
3
ư = <
1. <p(e) = e
2. Vu,V G А*, Ф (uv) = Ç (U )Ç (v)
Để xác định một đồng cấu như trên, ta chỉ cần xác định ảnh của các chữ cái của A qua
Ф. Ảnh của mỗi từ , U = 0102 -0/1 € A * thu được bằng cách ghép ảnh của các chữ,
có nghĩa rằng
ẹ{u) = ẹ{a{]ẹ{a
2
) ẹ{a
n
).
. Phép toán này mở rộng một cách tự nhiên cho ngôn ngữ bằng cách đặt
ẹ (L) = {ẹ (и) I и € L}
với mỗi ngôn ngữ L ç A * .
Nghiên cứu các phép toán cơ bản hợp, ghép và lặp trên ngôn ngữ đưa ta đến định
nghĩa tự nhiên của lớp ngôn ngữ chính quy. Các phép toán này được gọi là các phép
toán chính quy. Một ngôn ngữ trên bảng chữ cái A được gọi là chính quy nếu nó có
thể thu được từ các chữ cái của A bằng cách áp dụng (một số hữu hạn) các phép toán
chính quy. Định nghĩa hình thức như sau.
Lớp các ngôn ngữ chính quy trên bảng chữ cái A , ký hiệu RatA*, là lớp nhỏ nhất các
ngôn ngữ được định nghĩa bởi
1. Ngôn ngữ 0 và {a} là chính quy, với mỗi chữ cái A G А .
2. Nếu К và L là các ngôn ngữ chính quy thì K \ J L , K L và L * cũng là chính quy.
Ví dụ 1.3. Xét các ngôn ngữ sau.
3
• Ngôn ngữ

(ự{ab)*A*nA*(ba)*)
2

là chính quy.
Ngôn ngữ {e} chỉ gồm từ rỗng là chính quy vì {e} = 0*.
3
• Mọi ngôn ngữ hữu hạn (tức là chỉ gồm hữu hạn từ) là chính quy.
Ví dụ 1.4. Cho A , B € A là các chữ cái phân biệt. Hai ngôn ngữ sau trên A là chính quy.
1. Ngôn ngữ gồm tất cả các từ không chứa hai chữ A liên tiếp.
2. Ngôn ngữ gồm tất cả các từ chứa từ con A B nhưng không chứa từ con B A .
Chúng ta cũng xem xét các phép toán chính quy mở rộng bao gồm các phép toán chính
quy, và phép giao, lấy phần bù và lấy ảnh đồng cấu. Một ngôn ngữ được gọi là được chính
quy mở rộng nếu nó có thể thu được từ các chữ cái của A bằng cách áp dụng (một số hữu
hạn lần) phép toán chính quy mở rộng. Lớp của các ngôn ngữ chính quy mở rộng trên A
được ký hiệu là X — R A T A * . Rõ ràng, tất cả các ngôn ngữ chính quy đều là chính quy
mở rộng.
1.3. Otomat
Một otomat trên bảng chữ cái A là một bộ bốn S É = (Q , T , I , F ) trong đó Q là một
tập hữu hạn, được gọi là tập trạng thái; T là một tập con của Q X A X Q được gọi là tập
các chuyển; I và F là tập con của Q tương ứng được gọi là tập trạng thái bắt đầu và tập
trạng thái kết thúc. Các trạng thái kết thúc cũng được gọi là trạng thái chấp nhận.
Đồ thị của một otomat S É = (Q , T , I , F ) có các đỉnh là các phần tử của tập trạng thái
Q và các cạnh có dạng Q A Q ' nếu (Q , A , Q ') là một chuyển, có nghĩa rằng nếu
(Q , A , Q ' ) E T . Các trạng thái bắt đầu được thể hiện bởi một mũi tên từ ngoài đi vào,
các trạng thái kết thúc thể hiện bởi mũi tên đi ra ngoài.
Ví dụ 1.5. Cho bảng chữ cái A = { A , B } . Hình Ịl.lỊ biểu diễn otomat S Ứ = (6,T,/,F),ađó6
= {l,2,3},/={l},F = {3}và
Hình 1.1: Một ôtômat chấp nhận A*a bA*
Một đường đi trên otomat S Ể là một dãy cạnh liên tiếp
P = ( Q


, A I , Q I ) (qi,a
2
,q2) • ■ •
(Q
N
- \ , A
N
, Q
N
) cũng được thể hiện bởi dãy mũi tên
P =
q ữ
a
-\
q i
a
ìqi
a
-$qr,
Ta nói P là một đường đi có độ dài N từ <70 đến Q
N
gán nhãn bởi từ từ U = A I A 2- - - -
A
N
. Theo định nghĩa, mỗi trạng thái Q , tồn tại một đường đi rỗng từ Q đến Q gán nhãn
bởi từ rỗng.
Ví dụ 1.6. Trong otomat ở hình|l.lị từ A
3
B A là nhãn của đúng 4 đường đi: từ 1 đến 1, từ 1

đến 2, từ 1 đến 3 và từ 3 đến 3.
Một đường đi P gọi là thành công nếu trạng thái bắt đầu thuộc / và trạng thái kết thúc
thuộc F . Một từ W được chấp nhận bởi A nếu tồn tại một con đường thành công toong
otomat với nhãn W . Và ngôn ngữ được chấp nhận bởi A là tập nhãn của mọi đường đi
thành công trên A , và ký hiệu bởi L ( A ) .
Ví dụ 1.7. Otomat của hìnhỊl.lỊchấp nhận tập mọi từ có ít nhất một lần xuất hiện của A B ,
cụ thểA*aM*, ở đó A = { A , B } .
Các otomat khác nhau có thể chấp nhận cùng ngôn ngữ. Nếu A và
R
Ĩ > là hai otomat
chấp nhận cùng một ngôn ngữ, tức là L (yi) = L Ự Ỉ > ) , chúng ta nói rằng A và 3 là
tương đương.
Ví dụ 1.8. Ngôn ngữ A * A B A * , được chấp nhận bởi otomat trong hìnhỊTXỊ cũng
được chấp nhận bởi otomat trong hình 1.2
Hình 1.2: Một ôtômat khác chấp nhận A*a bA*
Một otomatA = (Q , T , I , F ) trên bảng chữ cái A được gọi là đủ nếu mỗi trạng thái Q
và mỗi chữ cái A , tồn tại ít nhất một chuyển có dạng ( Q , A , Q ' ) .
Có nghĩa rằng, cho mỗi chữ cái A đều có một cạnh gán nhãn bởi A từ mỗi trạng thái.
Một cách tự nhiên, điều này đơn chỉ ra rằng, với mỗi trạng thái Q và mỗi từ W GẨ*, tồn tại
ít nhất một con đường dán nhãn W bắt đầu tại Q .
Mỗi otomat có thể dễ dàng chuyển đổi thành một otomat đủ tương đương như sau. Nếu
A = (Q , T , I , F ) là không đủ, có nghĩa rằng otomata đầy của A là otomat A
C O M P
=
( Q ' , T ' , I , F ) nhận được từ S Ể bằng cách thêm trạng thái mới Z và T ' thu được bằng
cách thêm vào T các chuyển (Z , A , Z ) với mỗi A € A và các chuyển (Q , A , Z ) với mỗi Q €
Q và A € A . Nếu A là đủ, chúng ta có A
C O M P
= A . Trong mỗi trường hợp trên,
A

C O M P
là đủ và L (A
comp
) = L (Л).
Chúng ta có thể thấy rằng trên sự làm đầy A
C O M P
của một otomat không đầy đủ A ,
trạng thái Z không thuộc đường đi thành công nào: nó là trên một con đường trạng thái vô
ích. Ngược lại với Otomat đầy, otomat rút gọn là otomat bỏ đi các trạng thái vô ích giúp
cho thiết bị gọn hơn.
Một trạng thái Q của một otomat A được nói là đạt được nếu tồn tại một đường đi trên
A bắt đầu từ một trạng thái ban đầu và kết thúc tại Q . Trạng thái Q gọi là đối đạt được nếu
tồn tại một đường đi trong A bắt đầu từ Q và kết thúc tại một trạng thái chấp nhận. Một
trạng thái là cả đạt được và đối đạt được nếu và chỉ nếu nó nằm trên ít nhất một con đường
thành công.
Một otomat được gọi là rút gọn nếu tất cả các trạng thái là đạt được và đối đạt được. Có
nghĩa rằng, trong otomat rút gọn, mọi trạng thái là đều có ích: nó được sử dụng để chấp
nhận một số từ thuộc ngôn ngữ L ( A ) . Tất nhiên, mỗi otomat
A là tương đương với một otomat rút gọn, ta viết A T R I M là otomat thu được từ S Ể bằng
cách loại bỏ các trạng thái không đạt được hoặc không đối đạt được và các chuyển liên
quan.
Để thuận tiện ta cũng xem xét một mở rộng định nghĩa của otomat cho £ — otomat. Sự
khác biệt cơ bản so với otomat thông thường là E — otomat cho phép chuyển có nhãn E ,
tức chuyển có dạng (P , E , Q ) với P , Q G Q .
Một otomat A = (Q , T , I , F ) được gọi là đơn định nếu nó có đúng một trạng thái bắt
đầu, và với mỗi chữ cái A và các trạng thái Q , Q ' , Q " , điều kiện
{q,a,q'), (<ĩ,a,q”) e T
chỉ ra rằng Q ' = Q ” .
Mệnh đề 3.1. Cho A là một otomat đơn định và w là một từ.
1. Với mỗi trạng thái q của A, đều tồn tại ít nhất một đường đi gán

nhãn w bắt đầu tại q.
2. Nếu w E L(A), vậy w là nhãn của đúng một đường đi thành công.
Đặc biệt, ta có thể mô tả các chuyển của otomat đơn định A = (Q , T , I , F ) bởi hàm
chuyển: hàm bộ phận 8 : Q X A —> Q mà ánh xạ mỗi cặp ( Q , À ) G Q X A đến
trạng thái Q ' sao cho(<7, A , Q ' ) e T (nếu nó tồn tại). Hàm này được mở rộng tự nhiên
cho tập Q X A * \ nếu Q G Q và W € A * , ỗ(ạ,w) là trạng thái Q ' thoả mãn tồn tại một
đường đi từ Q đến Q ' gán nhãn bởi W trong A (nếu như trạng thái này tồn tại). Vậy nên
otomat đơn định có thể được định nghĩa bởi bộ bốn (Q , 8 , I , F ) thay cho ( Q , T , {ỉ} , F )
tương ứng. Chúng ta có đặc trưng cơ bản sau đây của hàm 8 .
Mệnh đề 3.2. Cho A = (Q, 8,i,F) là một otomat đơn định. Vậy ta có
S(q,e) = q
8(5(q,u),a), nếu cả 8 (q,u) và 5 (8 (q,u) ,a) tồn tại , không
định nghĩa ngược lại', и G L(æ^) nếu và chỉ nếu ổ (ỉ, и) € F.
với mỗi trạng thái q, mỗi từ и G A* và mỗi chữ cái a G A.
Cho A = (Q , T , I , F ) là một otomat. Hàm chuyển tập con của A là hàm
ổ:?(Ổ)xA^?(Ổ) được định nghĩa bởi, với mỗi P C Q , V Ằ
mỗi A G A
5
(
p
,
a
) = {q € Q I Эр € р, (p,a,q) er}
Do đó, 5 (P , A ) là tập hợp các trạng thái của A có thể đạt được bởi một chuyển gán nhãn A
bắt đầu từ một phần tử của P . Otomat tập con của A là A
s u
b = ( ?
( P ) , 8 , I , F
S U P
) D Ă Ó F . Ĩ U P —

{PQQ\PnF ^ф}.
Do cách xây dựng, otomat A
s u
b là đơn định và đầy đủ, và hàm chuyển tập con của A là
hàm chuyển A
S U
P . Hơn nữa, nếu A C Ó N trạng thái, thì A
S U
P có 2" trạng thái.
Mệnh đề 3.3. Otomat A và A
s u
b là tương đương.
C H Ứ N G M I N H . Cho A = (Q , T , I , F ). Ta chứng minh bằng quy nạp theo |w| rằng,
với mọi P Ç Q và W E A * , giá trị 5 (p,w) là tập hợp mọi trạng thái Q E Q thoả mãn W
gán nhãn bởi một đường đi trên A bắt đầu tư một vài trạng thái trong P và kết thúc tại Q .
Do đó, một từ W được chấp nhận bởi Л nếu và chỉ nếu ít nhất một trạng thái kết thúc
nằm trong tập <5 ( I , W ) , nếu và chỉ nếu <5 ( I , W ) € F
S U
Ị , nếu và chỉ nếu W được chấp
nhận bởi A
S U
B - Đây là điều phải chứng minh. □
5(Q,UA) = <
1.4. Logic: Tính toán dãy của Bũchi
Ta bắt đầu bằng một ví dụ.
Ví dụ 1.9. Nhớ lại rằng Л là phép hội, đọc là ’’AND” và V là phép tuyển, đọc là " OR".
Chúng ta sẽ xem xét công thức kiểu như sau
ЗхЗу (x < y) A R
a
x Л Rf,y.

Công thức này có diễn dịch sau trên một từ U : tồn tại hai số tự nhiên X < Y sao cho, trong
U , chữ cái ở vị trí л: là a và chữ cái ở vị trí Y là B . Do đó công thức này xác định ngôn
ngữ gồm tất cả các từ И thoả mãn công thức trên, đó chính là ngôn ngữ A * A A * B A * .
1.4.1. Công thức bậc nhất
Ta hình thức hoá cách thể hiện trên của ngôn ngữ. cú pháp
Công thức của tính toán dãy Biichi thường sử dụng các ký hiệu logic (л, V, -i), ký hiệu
đồng nhất =, ký hiệu hằng số true, phép lượng hóa 3 và V, các kí hiệu biến (.X , Y , Z ■ ■•)
và dấu đóng mở ngoặc. Chúng cũng sử dụng ký hiệu: các quan hệ hai ngôi < và S , và ký
hiệu quan hệ một ngôi R
A
(cho mỗi chữ cái A E A ) .
Để thuận lợi chúng ta có thể giả sử rằng các biến được lấy từ tập biến cố định, đếm
được.
Các công thức nguyên thuỷ là các công thức true, X = у, X < y, S ( X , Y ) , R
A
X , với
X
và Y là các biến và A G А .
Công thức bậc nhất được định nghĩa như sau:
• Công thức nguyên thuỷ là công thức bậc nhất
• Nếu <p và Ì Ự là công thức bậc nhất, vậy thì (->ф) , ( Ọ A \ Ự ) và ( < P V v^) cũng
là công thức bậc nhất,
• Nếu <p là công thức bậc nhất và nếu X là một biến, vậy thì (Эхф) và (Vx<p) cũng là
công thức bậc nhất.
Chú ý 1.4.1. Trong các công thức logic, chúng ta sẽ hạn chế sử dụng dấu ngoặc đơn trong
các ký hiệu, ví dụ VX R
A
X thay cho (Vx ( R
A
X ) ) .

Biến xuất hiện sau một lượng từ (tồn tại hoặc phổ dụng): sự xuất hiện của các biến số
trong phạm vi của lượng từ được gọi ràng buộc. Các xuất hiện khác gọi là tự do. Một định
nghĩa (chính xác), đệ quy của tập biến tự do F V (< P ) của công thức Ẹ như sau:
• Nếu Ẹ là nguyên thuỷ, sau đó F y ( < P ) là tập mọi biến các biến số xuất hiện trong
Ẹ ,
• F V ( ф) = F V (<p)
• F V (<p Л vO = F V (ф V vO = F V ( Ọ ) V F V ( Ự )
• F V ( Ix ẹ ) = F V (Vx<p) = F V (9) \ {x }
Một số công thức không có biến tự do được gọi là một câu.
Diễn dịch của công thức
Trong tính toán dãy Biichi, các công thức được diễn dịch trong các từ: mỗi từ И có độ
dài N > 0 xác định một cấu trúc (mà chúng ta viết ngắn gọn tuy không hoàn toàn chính
xác là И ) với miền D O M (И ) = (0, . . . , N — 1) ( D O M (и) = 0 nếu И = E ) . D O M
(и) được xem như tập các vị trí trong từ И (được đánh số từ 0). Ký hiệu < được diễn dịch
trong D O M (и) như thứ tự thông thường (như (2 < 4) và -I (3 < 2) ). Ký hiệu 5 được giải
thích như các ký hiệu liền sau: Nếu X , Y E D O M . ( U ) , vậy S (X , У ) nếu và chỉ nếu У
= X + 1. Cuối cùng, với mỗi chữ cái А e A , ký hiệu quan hệ một ngôi R
A
được diễn dịch
như tập các vị trí trong И mang một ký hiệu А (đây là một tập con của D O M (и)).
Ví dụ 1.10. Nếu И = A B B A A B , vậy D O M { И ) = {0,1, , 5}, R
A
= {0,3,4} và ** =
{1,2,5}.
Một sự đánh giá trên И là một ánh xạ V từ một tập các giá trị vào miền D O M (и).
Nó sẽ hữu ích để có một ký hiệu cho sự thay đổi nhỏ của một đánh giá. Nếu V là một
đánhgiá và D là một phần tử của D O M (и), ta đặt V [* !-»•Đ \ là đánh
giá v' xác định bằngcách mở rộng miền của V bao gồm cả giá trị X và đặt
V (у ) nếu у Ф X d nếu у = X
Nếu Ẹ là một công thức, И E A * và V là một đánh giá trên И mà

miền của nó bao gồm các biến tự do của ẹ ,

vậy chúng ta định nghĩa M , V

1= Ф
(và nói rằng đánh giá V thỏa mãn Ẹ trên U , hoặc tương đương И , V thỏa mãn < P )
như sau:
• И , V 1= ( X = Y ) (tương ứng ( X < Y ) ,s (*,y) , R Q
X
) nếu và chỉ nếu V (jt)
= V (y) (tương ứng V (x) < V (y) ,s(v (*), V (y)) , R
A
V (*)) toong D O M (и);
• И , V 1= -t<p nếu và chỉ nếu И , V 1= Ф không đúng;
• И , V 1= (ф V v^) (tương ứng (фЛ yf)) nếu và chỉ nếu xảy ra ít nhất một (tương
ứng cả hai) и, V 1= <p và и, V 1= yr đúng (tương ứng cùng đúng).
• и, V 1= (Эяф) nếu và chỉ nếu tồn tại D € D O M (и) sao cho И , V [jc !->■ D ] 1= Ф
• и, V 1= (Vxtp) nếu và chỉ, với mỗi d E Dom (и) ta с Óìí,v[xi4rf] 1= <p.
Lưu ý rằng giá trị chân lý của И , V 1= Ф chỉ phụ thuộc vào giá trị được V gán cho
biến tự do của <p. Cụ thể, nếu <p là một câu, sau đó đây là một giá trị jИ với một miền
rỗng. Chúng ta nói rằng Ẹ được thỏa bởi И (hoặc И thỏa Ẹ ) , và chúng ta viết И \ =
( P cho U , jU 1= <p. Do đó mỗi câu Ẹ xác định một ngôn ngữ L(<p) gồm mọi từ И
thoả mãn И 1= ф. Lưu ý rằng sự giải thích này có ý nghĩa ngay cả khi И là từ rỗng, thì
giá trị J U vẫn được định nghĩa : mọi câu bắt đầu với một lượng từ phổ dụng đều thỏa
mãn bởi e, và không có câu nào bắt đầu với lượng từ tồn tại được thỏa mãn bởi E .
Chú ý 1.4.2. Hai câu Ф và L Ự được nói là tương đương logic nếu chúng thỏa mãn bởi
các cấu trúc giống nhau. Chúng ta sẽ sử dụng một cách tự do kết quả
v'(y) = «
tương đương logic, chảng hạn tương đương logic giữa <p A 1/A và -1 (-1<P V -I vO. hoặc
tương đương logic giữa V X ( P và -I (B^-19). Chúng ta cũng sẽ sử dụng ký hiệu kéo theo

và cùng kéo theo: <p — > Ự thay cho -|<P V 1/A và <p Ự thay cho (p-> VOMV'-» 9).
yí dụ 1.11. Cho ( P và Y / được cho bởi công thức sau
<p = 3 X ((Vy-I ( Y < *)) A R
A
X )
Y Ự = \ / X ((Vy-I ( Y < *)) — >
R
A
X )
Câu ( P khẳng định rằng có tồn tại một vị trí mà không có phần tử trước nó chứa A , trong
khi đó \ Ự khẳng định rằng mọi vị trí như vậy đều chứa một A . Sau một câu, giống như tất
cả các phép lượng hóa phổ dụng câu bậc nhất, là rỗng thỏa mãn bởi xâu rỗng. Do đó L
( Ọ ) = A A * và L (1Ự ) = A A * u {e}.
Logic bậc nhất của thứ tự tuyến tính (tương ứng của các phần tử tiếp sau), viết F O (<)
(tương ứng là FO(S)) là phần logic bậc nhất mô tả trước, nhưng trong các công thức không
dùng ký hiệu S(tương ứng <).
1.4.2. Công thức monadic bậc hai
Trong logic monadic bậc hai, chúng ta thêm một kiểu biến logic mới vào logic bậc
nhất, gọi là biến tập và thường được ký hiệu bởi chữ cái in hoa, ví dụ:
X , Y , __Công thức nguyên tử của monadic bậc hai là công thức nguyên thủy
của logic bậc nhất, và các công thức có dạng (Xj), ở đó X là một biến tập và Y là một biến
thông thường.
Định nghĩa đệ quy của công thức monadic bậc hai, bắt đầu từ các công thức nguyên
thủy, gần giống như công thức bậc nhất: nó sử dụng cùng các quy tắc và thêm quy tắc mới:
• Nếu ( P là công thức monadic bậc hai và X là một biến tập, thì (3*<p) và V X < P là
các công thức monadic bậc hai.
Khái niệm của các biến tự do được mở rộng tương tự.
Diễn dịch của công thức monadic bậc hai cũng yêu cầu mở rộng của định nghĩa của
đánh giá trên một từ U : một đánh giá monadic bậc hai là một ánh xạ
V gắn mỗi biến bậc nhất một phần tử của miền D O M (U ), và mỗi biến tập, một tập

con của D O M (U ).
Nếu V là một giá trị,x là một biến tập, và R là một tập con của D O M (U ), ta ký hiệu V [ X —
> R] đánh giáthu được từ V bởi ánh xạ X đến R.
Với định nghĩa này, chúng ta có thể đưa ra khái niệm đánh giá V thoả một công thức <p
trong một từ (U , V 1= <p): Chúng ta dùng lại các luật trong phần trước và thêm một số quy
tắc sau:
• M, V Ị= (Xy) nếu và chỉ nếu V (y) e V (X)
• U , V 1= ( ( t ư ơ n g ứng (V X Ọ )) nếu và chỉ nếu tồn tại R C D O M { U ) sao cho
(tương ứng cho mỗi R C D O M (m)), U , V [ X — > /?] 1= ( P .
Lưu ý rằng tập rỗng có thể gán cho một biến tập: Từ rỗng có thể thỏa mãn biến monadic
bậc hai ngay cả khi chúng bắt một lượng từ tồn tại.
Tính toán dãy Bủchi được mở rộng để chứa công thức monadic bậc hai. Ta ký hiệu
M S O ( < ) (tương ứng M S O ( S )) là các công thức monadic bậc hai không được sử dụng
ký hiệu S (tương ứng <). Tất nhiên, F O (<) và F O ( S ) tương ứng là tập con của
M S O { < ) và M S O ( S ) .
Ví dụ 1.12. Kiểm tra M S O (<) câu sau,
(p =
3
X [Vj:(Xx 0 ((Vy-1 (jc < j)) V (Vy-I (y < *))))
A Vx (Xx —> R
a
x) A 3xXx ]
ta thấy rằng các phần tử của X phải được ở các vị trí đầu và cuối của từ mà Ọ diễn dịch,
do đó L ( ( P ) = A A * n A * A . Ngôn ngữ này cũng có thể được mô tả bởi một câu logic
bậc nhất, có nghĩa rằng, công thức này tương đương đến một công thức bậc nhất.
ví dụ 1.13. Kiểm tra MSO(<) của câu sau,
Ẹ — 3 X (((VxVy ((* < y)) A (Vz-> ((* < Z ) A ( Z < j)))) -> ( X X - > X Y ) )
A (Vjc (Vy-I ( Y < jc)) — > X X )
A ( V X (Vy-1 (jc < y)) — >
Công thức <p khẳng định rằng có tồn tại một tập X gồm các vị trí trong từ sao cho một vị

trí thuộc X nếu và chỉ nếu vị trí tiếp theo không thuộc X (do đó X chứa các vị trí cách
nhau một), và vị trí đầu tiên là trong X , và vị trí cuối cùng là không trong X . Do đó L(<p)
là tập hợp các từ có độ dài chẵn. Ngôn ngữ này không mô tả được bằng công thức bậc nhất.
Quan hệ kế tiếp có thể được biểu thị trong F O ( < ) : S ( X , Y ) tương đương logic với
công thức sau:
( x < y ) AV z ( ( * < z ) - > ((y = z) V (y < z)))
NgứỢc lại, quan hệ thứ tự < là có thể được biểu thị trong MSO(S): Công thức tương đương
logic với công thức:
3 X (XyA^XxA [VzVí((XzAS(z,í)) -> Xf)D
Sau đó M S O (<) và M S O ( S ) có cùng khả năng biểu diễn.
Mệnh đề 4.1. Một ngôn ngữ có thể được định nghĩa bởi một câu trong
MSO(S) nếu và chỉ nếu nó có thể được định nghĩa bởi một câu trong
MSO(<).
Tuy nhiên, quan hệ thứ tự < không thể được biểu thị trong F O ( S ) . Đây là một kết
quả không tầm thường.
Mệnh đề 4.2. Nếu một ngôn ngữ được định nghĩa bởi một câu trong FO(S )
vậy nó có thể được định nghĩa bởi một câu trong FO(<). Nhưng ngược lại
không đúng.
Chương 2
Đinh lý Kleene-Bũchi
Mục đích của chương này là chứng minh của định lý sau, là kết hợp của cả định lý
Kleene và định lý Bủchi.
Định lý 2.0.1. Xét L là một ngôn ngữ trong A*. Các điều kiện sau là tương
đương:
1. L được định nghĩa bởi một câu trong MSO(<);
2. L được đoán nhận bởi otomat;
3. L là chính quy mở rộng;
4. L là chính quy.
2.1. Từ otomat đến công thức monadic bậc hai
Cho A = ( Q , I , 8 , F ) là một otomat đơn định. Ý tưởng ở đây là gắn mỗi mỗi trạng

thái Q G Q với một biến bậc hai X Q , để mã hoá tập hợp các vị trí mà đường đi cho
trước đi qua trạng thái Q . Giải thích chi của tập X Q như sau:
• Các tập X Q tạo thành một phân hoạch tập mọi vị trí (tại mỗi điểm, otomat chỉ ở
đúng một trạng thái);
• Nếu một đường đi qua trạng thái q tại thời điểm X, qua trạng thái q' tại thời điểm
X
+ 1 và nếu chữ cái ở vị trí
X
+ 1 là một a, vậy thì 8 ( Q , À ) = Q ' \
Giải thích này dẫn đến công thức sau đây. Để tiện, đặt Q là tập {<7o
5
<7i5 5<7n}>
với trạng thái bắt đầu Ỉ = <70- Chúng ta cũng sử dụng ký hiệu min và max để chỉ vị trí
đầu tiên và cuối cùng: ta có thể biểu diễn vị trí này như công thức trong F O ( S ) . Ví dụ,
R
A
min bởi công thức Vjt(Yy-i5 (y,x) — > R
A
X ); vàx max bởi công thức Vje (Vy-iS ( X ,
Y ) —»■ X X ) .
A
_|
3jc {x
q
x A Xqix) A 'ÌxX/XqX
í
Câu này luôn thoả mãn từ rỗng, và vậy thì ngôn ngữ được định nghĩa trùng với L (.A)
trong A
+
. Nếu Q O € F , nó định nghĩa chính xác L (A). Nhưng nếu Q O Ị F , chúng ta

phải xem xét hội câu này các câu này với câu 3 X true.
Đây là một câu trong M S O ( S , < ) nhưng như chúng ta biết, nó là tương đương logic
với M S O ( < ) . Lưu ý rằng thực ra nó là một câu monadic bậc hai chỉ chứa lượng từ tồn
tại.
2.2. Từ các công thức đến biểu thức chính quy mỏ rộng
Chứng minh rằng một ngôn ngữ có để định nghĩa bởi M S O (<) cũng được định nghĩa
bởi một biểu thức chính quy mở rộng phức tạp hơn. Lập luận bằng quy nạp trên định nghĩa
đệ quy của cộng thức. Thay vì gắn một ngôn ngữ chỉ với các câu (các công thức không có
biến tự do), chúng ta sẽ gắn các ngôn ngữ với tất cả các công thức nhưng các ngôn ngữ ở
đây sẽ trên bảng chữ cái lớn để cho phép ta mã hóa các biến.
Các bảng chữ cái phụ B P Q
Cho P , Q > 0 và cho B P Q = A X {о, \ }
P
X {0, \ }
Q
. Một từ trên bảng chữ cái B P
Q có thể đồng nhất với một dãy
{ U Q , U \ , . . . , U p , U p - 1-1, Up - ị - q )
ở đó Mo € А * , M , . . . , U
P
, U
P +
1, . . . , U P
+ Q
e {0,1}* và mọi U Ị đều có cùng độ
dài.
Cho K P Q bao gồm từ rỗng và các từ trong B P
Q
sao cho mỗi thành phần U I , . . . , U
P

chứa chính xác một sự xuất hiện của 1. Do đó mỗi thành phần này xác định đúng một vị trí
trong từ Mo, và mỗi thành phần U p
+
1, . . . , U p
+
q xác định một tập vị trí trong Mo-
Ví dụ 2.1. Nếu A = { A , B }, dướiđây là một từ trong K 2 1 :
Mo a b a a b a b
AVxVy S( x , y ) - > V { X
q
xA R
a
yA X
ô
(
q a )
y)
g€Q,a€Ả
Mi 0 0 0 0 1 0 0
М 2 0 0 1 0 0 0 0
из 0 1 1 0 0 1 1
Các thành phần Mi và М2 xác định các vị trí 4 và 2, tương ứng, và thành phần М3 xác định
tập {1,2,5,6}.
Các ngôn ngữ K P Q là chính quy mở rộng. Thật vậy, cho 1 < I < P , xét C I là tập
hợp các phần tử ( B O , B I , . . . , B P
+ Q
) E B P Q sao cho B Ị = 1. Vậy K P Q là tập hợp
các phần tử trong B P Q chứa ít nhất một chữ cái trong mỗi C Ị \
Kp,q={
£

} u rì (Bp,q\Ci) Ci(B
P í
q\Ci)
1
<i<p
= K,,\ и
1
<ì<p
Ngôn ngữ gắn với công thức
Bây giờ xét
ọ (xị, ,x
r
,X\,
là một công thức với các biến bậc nhất (tương ứng biến tập) tự do là Xi, ,x
r
(tương ứng là X Ị , X 2, với R < P và S < Q .
Chúng ta diễn dịch.
• R
A
như R
A
= { I e D O M (и) I Mo (ỉ) = ù};
• X ị như vị trí duy nhất của 1 trong Mị (nếu Mị Ỷ e);
• X J như tập vị trí của 1 trong U P
+
J .
Để ý rằng nếu P = Q = 0, thì <p là một câu và đây là ký hiệu thông thường trong d i ễ n
d ị c h .
H ì n h t h ứ c h ơ n , x é t ( m o , w i , . . . , U p


+ q

) l à m ộ t t ừ k h ô n g
r ỗ n g t r o n g K p q . C h o

Щ

là vị trí duy nhất của 1 trong từ Mị và cho N J là
tập các vị trí của 1 trong từ U P
+
J . Chúng ta nói rằng И = ( U O , M , . . . , U P + Q ) £
K P
Q
thỏa mãn Ẹ nếu wo,v thỏa mãn Ф

ở đ ó V l à đ á n h g i á đ ị n h
n g h ĩ a b ở i
V (Xị) = Щ với 1 < ỉ < r và V (Xj) = Nj với 1 < j < s
Chúng ta cũng nói rằng từ rỗng ( trong K P Q ) thỏa mãn Ẹ nếu e Ị= ( Ọ . Chúng đặt
L p q (ф)
=
{mẽ K p q I и thỏa mãn ọ }
Do đó mỗi công thức <p định nghĩa một tập con của K P Q , và do đó nó là ngôn ngữ
trong B +
Q
.
Ví dụ 2.2. Xét
ẹ = Эх (* < y A R
a
y).

Vậy thì FV (<p) = {y}. Và Lio(<p) là tập các cặp từ (wO)Wi) thoả mãn
UQ € A*,U\ € {0,1}*, Щ và Mi có độ dài giống nhau, Mi chỉ
có một 1 nhưng ở vị trí đầu tiên, và
UQ
có một
a ở
vị trí này.

×