CHƯƠNG 4 LÔGIC 4.1 LÔGIC MỆNH ĐÈ 4.1.1 Mệnh đề
Khái niệm: Mệnh đề toán học là một phát biểu khẳng định đúng hoặc sai, chứ không vừa đúng vừa sai
Ví dụ 1: Những câu sau đều là mệnh đề:
Hà Nội là thủ đô nước Cộng hoà xã hội chủ nghĩa Việt Nam(1)
Với a, b là số thực dương thì a 5 b < Jab (2) Câu (1) là phát biểu đúng, câu (2) là phát biểu sai
Ví dụ 2: Xét các phát biêu sau:
~ Hôm nay trời mưa phải không? qd)
~ Thang 2 c6 29 ngay (2)
Câu (1) không phải là câu khẳng định, nó là câu nghỉ vấn, không khăng định đúng hoặc sai nên không phải mệnh đê
Câu (2) là câu có thể đúng cũng có thể sai tuỳ thuộc vào năm nên không phải là mệnh đê
Trang 2mệnh đẻ đúng, giá trị chân lý của một mệnh đề là sai ký hiệu là F nếu nó là mệnh đề sai
Các mệnh đề nói ở trên là các mệnh đề đơn Làm thế nào để ta có thể phát biểu khẳng định đúng, sai diễn đạt câu phức hợp
Phương pháp đó được gọi là tổ hợp Tổ hợp các mệnh đề đơn ta được mệnh đề phức hợp Việc tô hợp được thực hiện nhờ các toán
tr Légic
4.1.2 Các toán tử lôgic
Phép phú định: Giả sử p là một mệnh đề Khi đó câu: “Không phải là” là một mệnh đề mới, được gọi là mệnh đề phủ định của mệnh đề P, ký hiệu là hoặc là p
Bảng giá trị chân lý là bảng thể hiện mỗi quan hệ giữa các giá trị chân lý của các mệnh đề với nhau
Mất quan hệ giữa p và p được cho bởi bảng giá trị chân lý:
Mệnh đề p Pp
Giá trị chân lý
Có thể quan niệm phủ định của mệnh để là một mệnh đề mới
thu được từ mệnh đề cũ sau khi có tác động của toán tử phủ định
lên mệnh đề đó
Pháp bội: Giả sử có hai mệnh đề p, q Mệnh đề “p và q” ký hiệu
p^q, nhận giá trị đúng khi đồng thời p và q nhận giá trị đúng, nhận
giá trị sai khi ít nhất một trong 2 mệnh để p và q nhận giá trị sai
Trang 3Pháp tuyển: Giả sử có 2 mệnh đề p, q Mệnh để “p hoặc q”, ký
hiệu là pvq nhận giá trị sai khi đồng thời p và q đều nhận giá trị sai, nhận giá trị đúng trong trường các trường hợp còn lại Mệnh để pvq được gọi là tuyến của hai mệnh dé p va q
Pháp tuyển loại: Giả sử có 2 mệnh đề p q Mệnh dé tuyển loại của p và q, ký hiệu là p®q, nhận giá trị đúng khi một trong mệnh để p, q là đúng, nhận giá trị sai trong các trường hợp còn lại
Pháp kéo theo: Giả sử có 2 mệnh đề p, q Mệnh để p kéo theo mệnh đề p, ký hiệu p—>q, nhận giá trị chỉ sai khi p đúng và q sai, nhận giá trị đúng trong các trường hợp còn lại
Trong mệnh đề kéo theo p—>q, p được gọi là giả thiết, q được gọi là kết luận Trong toán học mệnh đề kéo theo còn được gọi như sau:
Nếu p thì q p kéo theo q
p là điền kiện đủ của q q là điều kiện cần của p
Mệnh đề p—›q là mệnh đề thuận, mệnh đề q—>p được gọi là
mệnh dé dao
Mệnh để p —› q là mệnh đề thuận, mệnh đề q —› p được gọi là mệnh đề đảo cửa p — q, mệnh đề —¬q —> ¬p được gọi là mệnh để phản đảo
Phép tương đương: Giả sử có 2 mệnh đề p, q Mệnh đề tương đương p ©> q là mệnh đề chí nhận giá trị đúng khi p và q có cùng giá trị chân lý và sai trong trường hợp còn lại
Trang 4T T F F q PAQ pra -p Pp9q poq p$đq T T T F F T T F F T F T T F T F T T T F F F F F T F T T
Tử bảng trị chân lý của p ©› q ta nhận thấy p © q là đúng khi 2 mệnh đề p —> q và q —> p đều đúng Vì vậy p c> q còn được thay thé bai “ p nếu và chỉ nêu q” hoặc là “p là cần và đủ đối với q” 4.2 ĐẠI SỐ BOOLE VÀ HÀM BOOLE
4.2.1 Đại số Boole
Qui ước giá trị chân lý T là 1, gia trị chân lý F là 0
Trang 5Đối với xe B tồn tại phần tử xe B sao cho x x =0 và x + x = l,
Với Vx, y,z€B
Định nghĩa 2: Đại số Lôgic là đại số Boole gồm 2 phần tử 0, 1
4.2.2 Hàm Boole và các dạng chính quy
Định nghĩa I- Xét tập E = {0, L} Một hàm đại số Lôgic của n đối số là một ánh xạ f: Eạ — E Kí hiệu y = f(x) voi y € {0, 1}
X =GI, X¿, Xa), Xị € E = {0, 1}
Định nghĩa 2: Xét tập E = {0, 1} Một hàm đại số Lôgic của n
đổi số là một ánh xạ f: Eạ — Em Kí hiệu y = f(x), y = (y1, Yass
Ya) € En; (KI, X2, , Xa) € En
Dưới đây ta chỉ xét hàm đại số Lôgic m = l
Hàm đại số Lôgic thường được xác định bởi bảng giá trị của nó, bằng cách liệt kê {tất cá ảnh của các phần tử tập nguồn Thí dụ: hàm
Trang 7> >
@(X1, X2) duge goi 1a ham hdi: gi(x1, X2) = X1.x2 (hay tich)
22(X1, X2) duge goi la hàm tuyén: 2o(X1, X2) = X1 VX2 3(X1, X2) duge goi la ham cong: ga(x1, x2) = X1 + x2 (mod 2)
g4(X1, Xz) duge goi 1a ham kéo theo: g4(Xị, X2) = Xị —> X2 85(X1, X2) duoc goi 14 ham tuong duong: gs(X1, X2) = X1
& xX
B6(X1, X2) được gọt là hàm Vebb: ge(x1, x2) = x10Xx2 27(X1, X2) duge goi la ham Sheffer; g7(x1, X2) = X1 | Xa
Hàm tuyển, hội, phủ định là những hàm quan trọng Trong kỹ thuật các hàm tuyển, hợp, phủ định được thực hiện nhờ những linh kiện đơn giản Mặt khác, mọi hàm đại số Lôgic đều có thể đưa về 3 hàm cơ sở này, nghĩa là có thể thực hiện một hàm đại số Lôgic tổng quát bằng các linh kiện đơn giản
Ki hiéu: 8 € {0, 1}, x6 = x - nếuö=l
x néud=0
Dễ dàng chứng minh được xổ = 1 © x = 8 (*)
Gia str {f, : 1 € I} la ho cdc ham dai số Légic
Kihiéu: vf, va A f la tuyển và hội của các hàm trong họ
1E
iel
Ki hiéu: Tf = {(Xt, Xạ, , Xn) : Í(XỊ, X¿, , Xa) = L}
Và gọi là tập đặc trưng của hàm f
Dễ dàng chứng mình được các tính chất của hàm đặc trưng sau:
Tf= TẾ, TỶ v g= Tf U Tg, Tf A g = TỶ ¬ Tạ
Trang 8F(X,,Xạ, X,„) = VHT KE OFS, 015 Xiah seer X) Trong đó ¡ là số tự nhiên 1 <¡ <n Chứng mình: Giả sử về trái là ding => ÍỢŒx, Xe) = Í > (Xị, , Xa) € TẾ Khi d6 5, = xy, ,8; = x; thi x5 (theo *) => x5 x5 £(8, 5), , 49) = Ì —> về phải bằng t
Giá sử về phải bang 1 => 1 số hang xƒ! x? f(ỗi, ỗ, , xu) =
exh =e x! = 1 và f(ỗi, i, , Xa) = Ì © xị = ỗi => f(x1, , Xn) = 1, định lý được chứng minh
Chọn ¡ = I Ta được hệ quả sau:
Trang 9Áp dụng định lý trên ta có:
Xi, Xa, X3) = X, -Xy Xs v X, -X2.X3 v XX, X5 v Xi.X; Xg v
X1.X2.X3
Kết luận: Mọi hàm đại số lôgic đều có thể xây dựng từ các biến nhờ các hàm tuyển, hội, phủ định Bằng luật đối ngẫu có thể thay phép biểu diễn trên qua phép hội các tuyển
Đôi với hàm f(xị, xạ, xạ) cho bởi bảng trên là:
£(X1, Xạ, X3) = (Xi V X¿ V X3) A (X) V Xa V X;) A (x,v X,V X3) Qua định lý trên phép tuyển, hội, phủ định tạo thành các phép toán đầy đủ để biểu diễn một hàm lôgic Hệ phép toán đó được gọi
là một hệ đây đủ
Chúng ta có thể chứng minh những hệ hàm sau đây là đầy đủ:
{0, Í, xị + Xạ, Xi.X2}; (Ki, XIV X‡}; {XI, XIA Xa}
4.2.3 Tối thiếu hod ham Boole
4.2.3.1 Các khát niệm cơ bản
Giả sử có n biến xị, X¿, , xạ Số hạng xi!Gi! xi?Gi/ được gợi là một hội sơ cấp của n biến xị, xạ, ., xụ Số các biển xuất hiện Tf một hội sơ cấp được gọi là hạng của hội sơ cấp đó
Ham f(x), X2, ., Xn) biểu diễn dưới dạng tuyển của các hội sơ
câp được gọi là dạng tuyên chuân tác
Số lần các biến xuất hiện trong đạng chuẩn tắc được gọi là độ
phức tạp của dạng chuân tắc
Ví đụ 2: X + y = X.y v x y là dạng chuẩn tắc của x + y và có độ phức tạp là 4
Dạng tuyển chuẩn tắc của f có độ phức tạp bé nhất được gọi là
Trang 10g(X1, Xa, ., Xa) là một nguyên nhân của Í(Xị, x2, ., Xn) nếu Tg
< Tf Hay ndi céch khdc (g > f) nhan giá trị là 1
Trong dang tuyén chuẩn tắc của f(X1, X2, -.-, Xn), hội SƠ cấp A là nguyên nhân của f, nếu xoá bớt đi 1 biến trong A thi rất có thể nó
sẽ không là nguyên nhân nữa Một hội A được gọi là nguyên nhân nguyên tô nếu nó là nguyên nhân của f và khơng thể xố bới đi bất
kỳ I biến nào dé A vẫn là nguyên nhân của f
4.2.3.2 Dạng tuyên chuân tắc thu gọn
Cho ham ldgic f(x), X;, ., xạ) Dạng tuyển chuẩn tắc thu gọn
của f là tuyển của tất cá các nguyên nhân nguyên tố của f
Liên quan đến các nguyên nhân nguyên tố của f ta có các tính chất sau:
Tính chất 1: Tuyển của một số bất kỳ các nguyên nhân của f cũng là nguyên nhân của f
Tính chất 2: Giả sử S là hệ đầy đủ các nguyên nhân của f Khi đó tuyên của tất cả các nguyên nhân tron g 5 sé tring voi f
Tính chất 3: Tuyén của tất cả các nguyên nhân nguyên tổ của hàm f là thực hiện f
Hệ các nguyên nhân nguyên tố của f là hệ đây đủ
Nhận xét: Dạng tuyến chuẩn tắc thu gọn là bước quan trọng đề đi đến dạng tuyển chuẩn tắc tối thiểu
— Ví dụ 3: Hầm (x + y) V Z(XV y) có dạng chuẩn tắc thu gọn là: XY VX.YVXZV yz
Trang 114.2.3.3 Dạng tuyển chuẩn tắc nghên
Một hệ nguyên nhân nguyên tỗ của f được gọi là nghẽn nếu nó
là hệ thống đầy đủ và không một hệ con thực sự nào của nó là đầy đủ (Hệ đầy đủ nhỏ nhất thực hiện ) Nếu S là hệ nghẽn thì tuyến
của tất cả các thành viên của nó sẽ thực hiện f
Tóm lại: Dạng tuyển chuẩn tắc nghẽn của f là dạng tuyển chuẩn tắc gồm các nguyên nhân nguyên tố của f, thực hiện f, không thế bỏ bớt đi bat kỳ một số hạng nào để vẫn thực hiện f
Định lý: Mọi dạng tuyển chuẩn tối thiểu của f đều là một dạng tuyển chuẩn tắc nghẽn của hàm đó
Chứng mình: Giả sử p là hội sơ cấp của đạng tuyển chuẩn tắc tối thiểu của f Ta chứng minh p là nguyên nhân nguyên tổ của f
Thật vậy ta có,f=pv p(p là tuyển của các hội sơ cấp của f) Giả sử p không phải là nguyên tố, nghĩa là có thể bỏ bớt Tí p đi
một số kí hiệu để được q mà q v p=f>f=pv pkhông phải là
tối thiểu Mâu thuẫn suy ra điều phải chứng minh
Điều ngược lại của định lý là sai: Có những dạng tuyến chuẩn tắc nghẽn mà không phải là tuyển chuẩn tắc tối thiểu Vi du 4: F(x1, X;, X3) = (Xị + Xã) V (XI + Xã) Có dạng tuyển chuẩn tắc nghẽn là: Xi.X;V X1.X, Vv Xx, X2V x, -X3 Nhưng nó không phai 1 téi thiéu Téi thiéu cua f Ja: F = x).x, Vv x, ,X¿.V X; Xã
Trang 124.2.3.4 Các thuật toán tìm dạng chuẩn tắc thu gọn và tối thiếu
Chúng ta sẽ sử dụng các tính chất sau để biến đổi thuật toán: - Phép nuốt sơ cấp: AB v A = A - Phép din: Ax VAX =A - Phép dán không đầy da: Ax v AX =Av Axv Ax - Phép dán mở rộng: AC v BC = AC vBCv AB A, B,C là các biểu thức bất kỳ, x là biến
Định lý: Một nguyên nhân hạng k của hàm f (hội sơ cấp gồm k
kí hiệu) là kết quả của phép dán hai nguyên nhân hạng k + l của hàm f
Một nguyên nhân hạng k của hàm f là nguyên nhân nguyên tố của f nêu không thể dán được với bất kỳ một nguyên nhan hang k nào của f
_ Chứng minh: Giả sử A là nguyên nhân hạng k của f Khi đó Ax
VAXE=A Trong đó Ax là 2 nguyên nhân của f và hạng là k + 1 Giả sử A là nguyên nhân không phải nguyên tố Khi đó A = B.x Mà B vẫn là nguyên nhân của f có hạng là ( — 1) va A’ = B.x cũng là nguyên nhân của f có hạng là k Ta có:
Av Bx =Bx v Bx, hay Á có thể dán được với một nguyên
nhân hạng k Mâu thuẫn đó suy ra điều phải chứng mình
Từ định lý trên ta có thuật toán Quinn sau đây để tìm dạng chuẩn tắc thu gọn của ham Í(X\, X¿, , Xa)
Bước 7: Tìm dạng tuyển chuẩn tắc hoàn toàn của f, kí hiéu 12 fo
Trang 13dán không đây đủ đối với hội sơ cấp hạng n - ¡, sau đó xoá tất cả các hội sơ cấp hạng n — ¡ có thê được bằng phép nuốt
Bước 3: Thực hiện bước 2 cho dén khi fy = fk + 1 Khi đó f, là
dạng chuẩn tắc thu gọn của f
Theo bước 2 có thể chứng minh qui nạp: Trong mỗi f; có mặt tắt
cả các nguyên nhân nguyên tố hạng > n — k + l VÀ tất cả các nguyên nhân hạng n — k của f, và chỉ có chúng mà thôi
Nếu f\„ ¡ = f; theo phần b của định lý, mọi nguyên nhân hạng n — k của f trong f, đều là nguyên tố và như vậy fy chứa tất cả các nguyên nhân nguyên tổ của f, do đó nó là dạng chuẩn tắc thu gon cua f
Vi du 5: Tim dang chuẩn tắc thu gọn của hàm
Ê= XI.X2.Xã V XỊ X2.X3 V XI X; X3 V XI.X2.X; V XI X;.X:
Ta có fo = f Dùng phép dán không đầy đủ đối với các hội sơ cấp hạng 3 ta được: X2X3 V XyX3 -V XyX2 V XI.X2.Xã V X¡ X2.Xã V XỊ.X; Xã V XI.X2.X; V XI .X;.X; Sau đó dùng các phép nuốt sơ cấp ta được: fy = XgX3 V X]X3 V X1X2 VX, Xy-X3
Các hội sơ cấp hạng 2 không dán được tức là f; = fi Vậy ft là dạng tuyển chuẩn tắc thu gọn
Thuật tốn Quinn khơng nêu rõ tìm hết các phép dán có thể có Vì vậy McLuskey đề nghị bô sung thủ tục hình thức dưới đây:
Trang 14bởi n kí hiệu {0, I, } với qui ước số 1 ở kí tự thứ ¡ nếu xuất hiện x; trong số hạng, số 0 nếu có x, và (—) nếu không có Xị
Ví đụ: 5 biến xu, xạ, , xs có biểu diễn số hạng xị x; xs là I - 0 - I
Hai hội sơ cấp được gọi là lân cận nhau nếu nó có biểu diễn khác nhau ở đúng I vị trí Rõ ràng rằng các hội sơ cấp chỉ có thể dán được với nhau nếu chúng ở lân cận nhau
Thuật toán Quinn - McLnskey lập một bảng gồm nhiều cột để ghỉ các kết quả của phép dán Sau đó thực hiện các bước:
Bước 1: Viết vào bảng cột thứ nhất, các biểu điễn của các
nguyên nhân hạng n của hàm f Các biểu diễn được chia thành từng
nhóm có số các kí hiệu 1 bằng nhau, các nhóm được xếp theo thứ ty tang dần của số các số 1 Các nhóm được đánh số bắt đầu từ 1
Bước 2: Thực hiện tất cả các phép dán các biểu dién ở nhóm i
với nhóm ¡ + 1 ( = I1, 2, ) Biểu diễn nào tham gia it nhat một
phép dán sẽ được ghi nhận một dấu * bên cạnh Kết quả dán được ghi vào cột tiếp theo
Bước 3: Lặp lại bước 2 cho cột tiếp theo, đến khi không thu thêm được cột nào mới (tức là tại cột này không thực hiện được phép dán nào cả) Khi đó tất cả các biểu diễn không có dán * sẽ cho tat ca cdc nguyén nhan nguyén tố của f
Vi dy 6: Tìm dạng tuyển chuẩn tắc thu gọn của:
Í(XI, X2, X3 Xã) = X X;.XyX4 V XI X2X; X4 V X, Xz X3Xq V
XIX¿ ÄXị X4 V XỊX; X3X¿V XI X2X3X¿ V XỊX2X‡X4
Trang 150001" 0-01" 0 1 8101 00-11 0 1 00112 -001* -0-1 10011 01-1 1 -0111 10111 0-11 0111” 10-17 1-11" -111 1111
Cột thứ 3 là không dán được nên: Í = Xị Xạ V X; X4 V X3X4 Vi du 7: Tim dạng tuyên chuẩn tặc thu gọn của:
Í = XỊX;X:X, V XỊị X2X3X4 V XIX¿X3X4 V XIX2X; X„ V
XIX2X; Xa V XỊIX2X3X V XIX¿2X3X4
Trang 16f= x, XK, X3 V X;X3X¿ VXỊX3X4 V XỊX¿
Thuật toán tính dạng tuyên chuẩn tắc tối thiểu
Sau khi tìm được dạng chuẩn tắc thu gọn, tức là tìm được tất cả các nguyên nhân nguyên tế của f, tiếp tục tim dạng tuyển chuẩn tắc tối thiểu như sau: Lập bảng chữ nhật, mỗi cột ứng với một nguyên
nhân của f (từ cấu tạo đơn vị của và mỗi dòng ứng với một
nguyên nhân nguyên tố vừa tính được cua f Tai 6 (i, j) ta đánh dấu (+) nếu nguyên nhân nguyên tổ ứng với hàng ¡ là phần cong của
cấu tạo đơn vị cột j Một hệ các nguyên nhân nguyên tố của f được
gọi là phủ hàm f, néu moi c4u tạo đơn vị của f đều được phủ ít nhất bởi một thành phần thuộc hệ Rõ ràng, hệ là phủ hàm f thì nó là đầy đủ, nghĩa là tuyến các thành phần trong hệ sẽ phủ f Một nguyên nhân nguyên tô được gọi là cết yếu nếu thiếu nó thì sẽ không phủ
được f Nó được tính như sau: Tại những cột có duy nhất một dấu
() thì hàng có dấu (+) này, ứng với nó là nguyên nhân nguyên tổ cốt yếu
Từ nhận xét trên, thuật toán Quinn - McLuskey sẽ đưa ra cách
tìm dạng tuyên chuẩn tắc tôi thiêu:
Bước 1: Phát hiện tất cả các nguyên nhân nguyên tổ cốt yếu Bước 2: Xóa tất cả các cột được phủ bởi các nguyên nhân nguyên tô côt yêu, tức là tât cả các cột có ít nhât một dâu (+) tại những dòng ứng với các nguyên nhân nguyên tế cốt yếu
Bước 3: Trong bảng còn lại, xóa nốt những dòng không còn dâu (+) và nêu có 2 cột giông nhau thì xóa bớt một cột
Bước 4: Tìm một hệ các nguyên nhân nguyên tổ với số biến ít
Trang 17Tuyển các nguyên nhân nguyên tố cốt yêu và các nguyên nhân trong hệ ở bước 4 sẽ tìm dạng tuyến chuẩn tắc tối thiểu
Ví dụ 6: Tìm dạng tuyển chuẩn tắc tối thiểu của Í(XI, X¿, X3) =
XIX2X3 V X, X;Xs V XIX; Xã v X1X2X, v X, X; X; (Trong ví dụ trước) Ta có dạng tuyến chuẩn tắc thu gọn là: f = XịX; V XỊX4 V XzXz V XXX X1XoXg XiXX XX¿Xs XXS¿X: Ky Xy XG X1X¿ + + XxIX + + XzXa + + XỊị X; ÄX¿ +
Từ các cột có duy nhất một dẫu (+) ta có các hàng tương ứng
với nguyên nhân nguyên tố cốt yếu là: X2X3, X1X3, XịXạ Xoá các cột
này ta còn bảng chỉ còn cột x¡x2x: Mặt khác xịx; là nguyên nhân ít biến nhất phủ cột này nên đạng tối thiểu của f là:
Í= xIX¿ V XỊX3 VX2X3 V X, XK, Xy
Vi dy 9: Tim dang tuyén chuẩn tắc tối thiểu của hầm f trong ví dụ 2 Dùng thuật toán Quinn - McLuskey ta có dạng thu gọn:
Trang 19CHƯƠNG 5
OTO MAT
5.1 ÔTÔ MÁT HỮU HẠN 5.1.1 Máy bán hàng tự động
Các linh kiện máy tính, có thể được mơ hình hố nhờ một cấu trúc gọi là máy hữu hạn trạng thái Máy hữu hạn trạng thái dùng để
mơ hình hố nhiều bài toán tự động trong thực tế Máy hữu hạn
trạng thái gồm một tập hữu hạn các trạng thái, trong đó có trạng thái xuất phát So, một bộ chữ cái đầu vào và một hàm chuyển gán một cặp gồm trạng thái và một đầu vào đến một trạng thái mới,
đồng thời với cặp (trạng thái, đầu vào) qua hầm đầu ra
Đề hình dung ra được vấn đề, trước khi đưa ra được định nghĩa máy hữu hạn đầu ra, chúng ta cùng xem xét nguyên lý của một máy bán hàng tự động
Một máy bán hàng sẽ nhận được các loại đồng 5 xu, 10 xu, 25 xu Giá của một cốc nước cam và một cốc nước táo đều là 30 xu Khi ta bỏ vào máy các đồng xu mà tổng mệnh giá lớn hơn hoặc bằng 30 xu thì máy sẽ trả lại số tiền thừa so với 30 xu mà người
mua có thể thu được cốc nước cam nếu ấn nút màu da cam, thu
Trang 20máy bán tự động này là chuyên các trạng thái mỗi lần bỏ xu, chừng nào đến trạng thái cuối thì việc ấn các nút mới có hiệu lực Việc chuyên trạng thái này sang trạng thái kia phụ thuộc vào đầu vào đi cặp với trạng thái hiện thời trước khi sang trạng thái mới (đầu vào trong trường hợp này là mệnh giá của các đồng xu bỏ vào) Đồng thời với việc chuyển được sang trạng thái mới, ta lại thu được giá trị đầu ra (đầu ra trong trường hợp này là mệnh giá của các đồng xu được trả lại dư so với 30 xu) Chúng ta có thể mô phỏng như sau:
Thiết lập 7 trang thai So, Si, ., 5; trơng ứng với tại đó máy đã nhận được 0 xu, 5 xu, .30 xu Các đầu vào là 5 xu, 10 xu, 25 xu
Núm màu da cam là (0), núm màu đỏ là (R) Đầu ra có thể là 0 xu
(ký hiệu là n), 5 xu, 10 xu, 20 xu, 25 xu, cốc nước cam và cốc nước
táo
Giả sử ta bỏ vào máy đồng 10 xu, sau đó bỏ tiếp vào 25 xu Máy sẽ trả lại 5 xu và ấn nút màu đa cam ta thu được cốc nước cam
Máy bắt đầu ở trạng thái xuất phat So Dau vào tại trạng thái này là 10 xu, làm cho máy chuyên sang trạng thái S; vào không cho đầu
ra nào (vì chưa vượt 30 xu, nên không có số đư) Cho đầu 25 xu tại
trạng thái S2, máy sẽ chuyển đến trạng thai Ss va cho đâu ra 5 xu trả lại Đầu vào tiếp theo là nút màu da cam tại trạng thái kết thúc S nên máy sẽ cho cốc nước cam và chuyên trang thái về
xuất phát So
Nguyên lý hoạt động của máy bán hàng thực hiện qua việc thay
đổi trạng thái ứng với đầu vào và cho đầu ra tại mỗi trạng thái sẽ
Trang 21Bảng trạng thái của máy bán hàng Đầu vào Trạng 5 10 25 0 h thái Trạng thái tiếp theo/đầu ra So S/n Sz/n Szn Sơn Sơn Sy S;z/n S,/n S./5 S,/n Sin 9; Szn Sưn Sen Sz/n Sz/n S Sưn Sưn $,/10 Sựn S,/n Sa S,/n S,/n §,/25 Sin S/n Ss Szn Sz5 Sz/20 Szn Szn Se Sz5 Sz/10 Sz/25 Sz/cam Sgtáo
Cam: cốc Hước cam Táo: cốc nước táo
Trang 22
5.1.2 Máy hữu hạn trạng thái có đầu ra
Định nghĩa: Một máy hữu hạn trạng thái M = (S, L, o, f, g, So)
gồm tập hữu hạn S các trạng thái, một bộ chữ cái hữu hạn đầu vào
1, một bộ chữ cái hữu hạn đầu ra o, một hàm f chuyển gán cho mỗi
cặp trạng thái và một đầu vào cho một trạng thái mới, một hàm ø đầu ra gắn cho mỗi cặp trạng thái và đầu vào cho một đầu ra, một trạng thái ban đầu So
Để biểu diễn các phép gán f và g trong máy hữu hạn M ta sử
dụng bảng trạng thái, hoặc đồ thị biểu diễn việc chuyên đổi trạng
thái ứng với đần vào, ra (được gọi là giản đồ) Ví đụ 1:
Cho S = { So, $1, S2, 83}, I= {0, 1}, o = {0, 1} Hàm chuyển f và ø được gán như bảng trạng thái sau:
Trang 23f g Trạng thải Đầu vào Đầu vào 0 1 0 1 So $s; So 1 0 S S3 So 1 1 5% S; Se 0 1 Sa So Sy 0 0 Với bảng trạng thái đó, giản đồ tương ứng sẽ là:
Ví dụ 2: Lập bảng trạng thái cho một máy hữu hạn trạng thái với giản đỗ trạng thái như sau: (số ghi x, y trên một cạnh lần lượt là
đầu vào của f và đầu ra của g)
Trang 24Xuất phát Từ giản đồ trên ta có bảng trạng thái tương ứng như sau: Đầu vào Đầu vào Trạng f g thải 0 1 0 1 Trạng thái chuyển Trạng thái chuyển So Si S; 1 0 S Si 5% 1 1 5 Se Sa 0 0 9 Sì So 0 0 Sa Ss % 0 0
Giả sử chúng ta có một xâu ky tu x = x) X2 Xk dau vao, khi đó máy hữu hạn trạng thái sẽ xuất phát từ So va doc dau vao x,
trang thai S; = f(5o, xị) sẽ được xác định, máy tiếp tục đọc ký tự X2 Va chuyén dén trang thai S2 = f( Sy, xa), tiép tuc cho dén khi
Sk = (Ski, Xx) Cùng với việc chuyển trạng thái mỗi khi doc | ký tự
đầu vào, máy sẽ cho một ký tự đầu ra tương ứng thông qua hàm g
Gọi các tự đầu ra lần lượt là y¡, Y¿ ,y¿ ta có:
Trang 25yt = Ø (So, xt), oes Yk = BC Skt, Xk) ta sẽ thu được xâu đầu ra
Y =VIY: yy ứng với xâu đầu vào x = Xị Xa Xụ VÌ vậy có thể viết y = g(x)
Vi du: Tim y = g (101011) véi may cho béi vi du trén
Ta có bảng thể hiện đầu vào, chuyển trạng thái vào đầu ra như sau: Đầu vào 1 0 1 0 1 1 - Trang thai So S3 Sĩ So S S S3 Dau ra 0 0 1 0 0 0 -
5.2 MÁY HỮU HAN TRANG THAI CO DAU RA
Một trong những ứng dụng của máy hữu hạn trạng thái là sự chấp nhận ngôn ngữ, nó đóng vai trò cơ bản trong việc thiết kế và xây dựng các chương trình địch cho các ngôn ngữ lập trình Trong phần 5.1, với máy hữu hạn trạng thái có đầu ra, có thể chấp nhận
duoc mét x4u yiy2 yk= y đầu ra nếu tồn tại một xâu đầu vào
x=xiX¿ xạ để y = g(x), khi đó đầu ra cho gid trj 1A 1, ngược lại nếu máy không chấp nhận xâu y= yny: yx thì đầu ra sẽ là 0
Trong phần này chúng ta sẽ nghiên cứu loại máy không có đầu ra nhưng chuyên để chấp nhận ngôn ngữ Thay vì có đầu ra, ta có trạng thái kết thúc Một xâu được chấp nhận nếu và chỉ nếu nó đưa trạng thái xuất phát về trạng thái kết thúc
5.2.1 Tập các xâu
Định nghĩa ï: (phép ghép)
Trang 26A và B là tập tất cả các xâu có dang xy trong đó x là xâu € A và y là xâu c B Ví đụ 1: Cho A= { 0, LL}, B= { 1, 10, 110} tim AB, BA Ta có AB = { 01, 010, 0110, 111, 1110, 11110} BA = { 10, 111, 100, 1011, 1100, 11011} R6 rang AB# BA Tổng quát hoá ta có: Ay = Áa+A với quí ước Ao= { À} Định nghĩa 2:
Cho A là tập con của v* khi đó bao đóng Kleen của A là tập gơnÌ các phép ghép một số tuỳ ý các xâu thuộc A (ký hiệu là A*) nghĩa là: A*= U AK k=0 Vi du 2: Tim bao đóng Kleen cla A = { 0}, B={ 0, 1}, C={ 1, 1} Ta có: A*={0"|n=0, 1, } Bt =V*=({0,1}* C*={ 12n\n=0, 1, 2, .} 5.2.2 Ôtô mát hữu hạn
Máy hữu hạn không có đầu ra dùng để chấp nhận ngôn ngữ còn được gọi là ôtô mát hữu hạn Như phần trên đã đề cập máy không có đầu ra sẽ đưa trạng thái xuất phát với một xâu mà máy chấp nhận về trạng thái kết thúc
Định nghĩa I: Một ôtô mát hữu hạn M = (S, I, f, So, F) bao gồm một tập hữu hạn trạng thái S, một bộ chữ cái đầu vào I, một
Trang 27Cũng như phần trước, chúng ta có thé biểu diễn một ôtô mát hữu
hạn bằng.cách dùng các bảng trạng thái hoặc các giản dé trang thai Các trạng thái kết thúc được thế hiện bằng các vòng tròn kép trong giản đỗ trạng thái
Vi du 1: ChoM =(S, I, f, So, F) với S = { So, Si, S2, S3}, T= {0, 1}, F = (So, S;), hàm chuyển f được cho bởi bang trạng thái: f Trang thai Đầu vào 0 1 Trang thai chuyén So So 5: Sĩ So S2 S2 So So Sz Se 5 Với hàm f cho bởi bảng trạng thái, ta có giản đỗ của máy như sau:
Hàm trạng thái có thể mở rộng chuyển trạng thái cho cặp trạng thái và một xâu Nếu đầu vào không phải là một ký tự mà là một xâu ký tự thì máy thực hiện chuyển trạng thái như thế nào?
Trang 28Giả sử có một xâu x = Xị Xz Xạ là xâu đầu vào máy sẽ thực
hiện hàm f bắt đầu từ trạng thái Š¡ hiện tại đầu vào là ký tự xì, f sẽ
chuyển cặp (S¡,xi) Tại trạng thái S; máy thực hiện f với đầu vào
là ký tự tiếp theo từ trái qua phải trong xâu x ta được S3 = f(S2, x2) Quá trình này tiếp tục cho đến S¿ = f(S+, xy) lúc này ta nói f
chuyển trạng thái Š với xâu đầu vào x = XịX3 Xn đến trạng thái
Sx Ta cũng có thể viết f(ðy, x) =f Ka, Xe)
Mot x4u x = x; x, duge goi IA duge chap nhan boi may M=(S, 1, f, So, F) nếu nó đưa trạng thái xuất phát So tới một trạng
thái kết thúc, tức là S = f(xo, x) là một trạng thái thực F, ngôn ngữ được chấp nhận bởi máy M Hai ôtô mát hữu hạn được gọi là tương đương, nếu chúng cùng chấp nhận một ngôn ngữ
Trang 29Giải: a Trạng thái kết thúc của M¡ là trạng thái duy nhất Sọ vì vậy xâu đưa Sọ về trạng thái kết thúc Sọ là À, 1, 11, 111, , 11 1 do đó L(MI)= (In|n=0,1,2, }
b Trạng thái kết thúc của M;ạ là So va $3 Tir trạng thái xuất phát
Sa đến kết thúc Sạ là các xâu A, 0, 00, ., Ủn, Từ trạng thái xuất phát So đến S; là các xâu 0n10x với x là xâu chứa 0,1 tuỳyý,neN
Vi vay I(M2) = {0", 0°10x | n =0, 1, 2, x tuỳ ý}
Các ôtô mát đã xét ở trên với trạng thái hiện tại và một đầu vào sẽ chuyển tới một trạng thái duy nhất qua hàm chuyển S = f(S, X} vì vậy ôtô mát còn được gọi là ôtô mát tất định
Thực tế có những ôtô mát mà với bộ trạng thái và đầu vào qua hàm chuyển f sẽ có những trạng thái khả đĩ không phải duy nhất ôtô mát này được gọi là ôtô mát không tất định sẽ chấp nhận ngôn
ngữ đa dạng hơn ôtô mát tất định
Dinh nghia 2: Ơtơ mát hữu hạn khơng tất dinh M = (S, I, f, So, F) gồm tập S các trạng thái, một bộ chữ cái đầu vào l, một hàm
chuyển f gắn cho mỗi cặp trạng thái và đầu vào với một tập các trạng thái, tập các trạng thái Sọ và tập con F của S là tập các trạng
thái kết thúc
Cũng giống như ôtô mát tắt định, hàm chuyển dịch trạng thái có
Trang 30thê được cho bởi bảng trạng thái hoặc giản đồ các trạng thái Bảng trạng thái sẽ thể hiện với mỗi bảng trạng thái khả dĩ tương ứng Giản đồ trạng thái sẽ là các đỉnh và các cạnh nối với mỗi trạng thái tới tất cả các trạng thái trong tập khả dĩ cùng với các giá trị đầu vào hoặc các đầu vào dẫn tới các chuyển dịch đó
Trang 31Đối với một ôtô mát không tất định việc chuyển trạng thái từ S qua đầu vào là xâu x = x1X2 Xx cũng sẽ được thực hiện tượng tự như ôtô mát tất định, tuy nhiên ở mỗi bước chuyên trạng thái f( Si, xi)
thi két qua không phải là | trang thai duy nhất mà là một tập trạng
thái S¡ = (Su,Sø, } Máy tiếp tục đọc dau vao x41 và việc chuyển
trạng thái được thực hiện qua hàm chuyên f Ta thu được tập trạng thái mới là: S¡¿¡ = {f(S¡ Xi¡), (Si, xi.¡), } Quá trình lại lập lại cho đến khi đầu vào là ký tự xạ
Một xâu x = xị, x: .Xy được gọi là được chấp nhận ôtô mát
không tất định M nếu tập f( So, xạ) chứa ít nhất 1 trạng thái kết thúc trong F
Ngôn ngữ được chấp nhận bởi một ôtô mát không tất định M là
tập L(M) bao gầm tất cả các xâu được chấp nhận bởi M
Ví dụ 4: Tìm ngôn ngữ được chấp nhận bởi ôtô mát hữu hạn không tất định được cho bởi giản đề: 0 | Xuất phát
Vi So dén Sq qua giá trị đầu vào 0 nên ôtô mát chấp nhận các
xâu là rỗng và các xâu có chứa 0n, n= 0, 1, 2, So qua S;, §; qua S¿ kết thúc nên ôtô mát chấp nhận On 01, n = 0, 1, 2, Sq qua Si,
Trang 32Sz¡ qua S4 nên ôtô mát chấp nhận Ôn11, n = 0,1 Tóm lại : L(M)
= (0°,0°01,0°11,n=0,1,2, }
Liệu một ngôn ngữ được chấp nhận bởi ôtô mát không tất định M thì có thế được chấp nhận bởi ôtô mát chấp nhận không ?
Định lý 1: Nếu ngôn ngữ L được chấp nhận bởi ôtô mát hữu hạn không tất định Mọ thì L cũng được chấp nhận bởi ôtô mát hữu han tat dinh My
Ching minh: Ching ta sé chi ra cách xây dựng ôtô mát hữu hạn
M; từ ôtô mát hữu hạn không tất định Mụ Giả sử các trạng thái của
Mp 18 Sạ, Sụ, ,Sạ với các đầu vào là x va tập kết thúc F Mụ là ôtô mát hữu hạn tất định xác định như sau:
> Đầu vào của M¡ là đầu vào của Mụạ
> Các trạng thái của Mì 14 So, S1, ,Sx
Trong đó S, là tap con cdc trang thai {So, ŠSị , Šạ } Việc xác
nh §¡ sẽ trình bày sau R6 rang M; cé nhiéu nhất 2n trạng thái "` S
di
5, Loree ke
Trang thái xuất phát của M¡ chính là tập trạng thái {So} Tập các trang t thái kết thúc của M, 1a tap các trạng thái $1 Sj je ma trong
mdi S,, 8; chứa ít nhất một trạng thái kết thúc có trong F Hàm chuyển trạng thái cla My duoc xảy ra từ hàm f chuyển trạng thái trong Mụ như sau:
Bước 0: Xuất phát từ trạng thái xuất phát trong M: là tập {So} = Bước = Giả sử đã xây dựng được trạng thái S; = ee
Sino Si, } việc chuyển trạng thái Si sang S¡„¡ với đầu vào x:
Sii= =F Six) =(£ (Si x) UF(Sin x) U UE(Si, x}
Bước 2: Kiểm tra E(§,, x)= Sui = Ø (không chuyên được
Trang 33>_ Nếu S¿.¡ = Ø thì dừng và đó là ôtô mát tất định cần tìm
> Nếu S¡‡#Ø,i¡=i+1, quay lại bước 1
Theo cách xây dựng các trạng thái trên của Mị từ Mẹ có thể dễ dàng kiểm tra được rằng: Giả sử một xâu đầu vào x được chấp nhận bởi Mạ thì một trong số các trạng thái từ Sạ tới nhờ xâu đầu vào này là một trạng thái kết thúc trong E Điều này có nghĩa là
trong cách xây dựng M¡ trên xâu đầu vào này dẫn từ tệp {Sg} tới
một tập các trang thai của Mo có chứa một trạng thái kết thúc, cũng có nghĩa là trạng thái ứng với tập các trạng thái này trong M¡ là
trạng thái kết thúc, M¡ chấp nhận xâu x
Tương tự có thể lý luận nếu một xâu x không được Mẹ chấp nhận thì cũng không được M; chấp nhận Điều đó chứng tỏ
L(Mo) = L(M))
Ví dụ 5: Tim 6 tô mát tất định chấp nhận ngôn ngữ của ôtô mát
không tất định Mụ cho bởi ví dụ 4
Với đầu vào 0, {So} sẽ chuyển đến {So, S2}
Với đầu vào 1, tập {Sọ, S2} sé chuyển tới {S;, Sa} Cứ tiếp tục
xây dựng theo thuật toán ở trên ta sẽ thu được ôtô mát tật định M¿ cho như hình dưới đây :
Xuất phát
Trang 34TÀI LIỆU THAM KHẢO
1 Toán học rời rạc, Nhà xuất bản Đại học Quốc gia Hà Nội
2 Toán hoc roi rac teng dung trong tin hoc, Kenneth H.Rosen
Trang 35MỤC LỤC
008.98 000 A., 3 Chương 1: Tối ưu tổ hợp
1.1 MG DAU
1.1.1 Thuật toán và độ phức tạp thuật tốn
1.1.2 Bài tốn tơi ưu tổ hợp - +ccccccccvccsrrrererrrerrrrerrrey
1.2 MỘT SỐ BÀI TOÁN THỰC TẾ cccevveecce, 1.2.1 Bài toán người du lịch -ccrserrrreriierre
IV non nh
1.2.3 Bài toán cho thuê máy, - «2224221 211exexrrer
1.2.4 Bài tốn phân việc ”
1.3 THUAT TOAN DUYET TOAN BO VA NHANH CAN suy 16 1.3.1 Duyệt toàn bộ 1.3.2 Thuật toán nhánh cận 1.3.3 Bài toán lập lịch gia công trên hai máy - thuật toán Johnson - vn Hư 21 Chương 2: Đồ thị cnH— H22 30
2.1 CÁC KHÁI NIỆM CƠ BẢN
2.1.1 Khái niệm đỗ thị, á 20c EccccccEtc.r.cerre
2.1.2 Phân loại đỗ thí ccccckerrrereee 30 2.1.3 Một số tính oh ac cua 00 tr
2.2 BIEU DIEN DO THI TREN MAY TINH
2.2.1 Biểu diễn bằng danh sách kề 2.2.2 Biểu diễn bằng ma trận liền kề
2.2.3 Ma trận liên thuộc
2.3 CÂY VÀ CÂY KHUNG NHỎ NHẤT
2.3.1 Cây khung nhỏ nhất ss 22cccceeEEEEAxietrtrerrrrrrks
2.3.2 Thuật toán tìm cây khung nhỏ nhất
Trang 36
2.4 BÀI TOÁN ĐƯỜNG ĐI NGẮN NHÁT 45
2.4.1 Các khái niệm
2.4.2 Tim đường đi ngăn nhất khi biết độ dài của chúng se 47 2.4.3 Độ dài đường đi ngắn nhất xuất phát từ một đỉnh 48
2.4.4 Thuật toán Dijktra đối với ma trận trọng số không âm 53
2.4.5 Thuật toán tìm đường đi ngắn nhất đối với đỗ thị
không có chu trình
2.4.6 Đường đi ngắn nhất giữa tất cả các cặp đỉnh
Chương 3: Luồng cực đại trong mạng c -
3.1 MẠNG - LUÔNG TRONG MẠNG cccccc cee 3.2 LÁT CẮT - ĐƯỜNG TĂNG LUÔNG 3.3 CÁC BÀI TỐN LNG TỎNG QUÁT
3.3.1 Mạng với nhiều điểm phát và điểm thu
3.3.2 Mạng với khả năng thông qua của các cung và các đỉnh 75 Chương 4: Lôgỉc S5 HH0 re 77 4.1 LÔGIC MỆNH ĐỀẺ 022120 22x cctrrrrrrrtrrrirrrrrree 77 FNN 7n (d4 77
4.1.2 Các toán tử ÏÔgIC - <5 cà S412” Hư 78
4.2 ĐẠI SÓ BOOLE VÀ HÀM BOOLE
4.2.1 Đại số Boole 80
4.2.2 Hàm Boole và các dạng chính quy 81
4.2.3 Tối thiêu hoá hàm Boole ccceccccccccvcee 85
Chirong 5: Ot6 mateo ececccceccecsssssescsssseesessssessessssesessnsneeceesnsetes 95
5.1 ÔTÔ MÁT HỮU HẠN . 2/2c22cLccrrrrrrrrerrrreee 95
5.1.1 Máy bán hàng tự động - ii 95 5.1.2 Máy hữu hạn trạng thái có đầu ra 98
5.2 MAY HUU HAN TRANG THAI CO DAU RA 101
5.2.1 Tập các xâu - reerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrie 101 5.2.2 Ơtơ mát hữu hạn s-555-ccccccrrtcrrerrirrrrre 102