Neáu T laø moät teá baøo thì T laø bieåu ñoà karnaugh cuûa moät ñôn thöùc duy nhaát m, caùch xaùc ñònh m nhö sau: laàn löôït chieáu T leân caùc caïnh, neáu toaøn boä hình chi[r]
(1)Phần VI
(2)2
(3)Tài liệu tham khảo
[1] GS.TS Nguyễn Hữu Anh, Toán rời rạc, Nhà xuất giáo dục.
(4)4
Đại Số Bool
Một đại số Bool (A,,) tập hợp A với hai phép
toán , , tức hai ánh xạ: : AA A
(x,y) xy
vaø : AA A
(x,y)xy
(5)Đại Số Bool
Tính giao hoán: x,yA
xy = yx;
xy = yx;
Tính kết hợp: x,y,zA
(xy) z = x(y z);
(xy) z = x (y z) Tính phân bố: x,y,zA
x(y z) = (xy) (xz);
(6)6
Đại Số Bool
Có phần tử trung hịa 0: x A
x1 = 1x = x;
x0 = 0x = x
Mọi phần tử có phần tử bù: x A,
A,
x = x = 0;
x = x = 1.
x
(7)Đại Số Bool
Ví dụ:
Xét F tập hợp tất dạng mệnh đề theo n biến p1, p2,…,pn với hai phép toán nối liền , phép
toán nối rời , ta đồng dạng
(8)8
Đại Số Bool
Xét tập hợp B = {0, 1} Trên B ta định nghĩa hai phép toán , sau:
(9)Đại Số Bool
Cho đại số Bool (A,,) Khi với x,yA, ta có:
1) xx = x; xx = x.
2) x0 = 0x =0; x1 =1x = 1.
3)Phần tử bù x và = x;
4) Cơng thức De Morgan:
5) Tính hấp thuï:x(xy) = x; x (xy) = x.
x y x y; x y x y
(10)10
Định nghĩa hàm Bool
Hàm Bool n biến là ánh xaï
f : Bn B , B = {0, 1}
Nh v y hàm Bool n biến hàm số có dạng :ư ậ
f = f(x1,x2,…,xn), biến x1, x2,…, xn nhận hai giá trị 0, f nhận giá trị B = {0, 1}.
Ký hiệu Fn để tập hàm Bool biến
(11)Xeùt hàm Bool n biến f(x1,x2,…,xn)
Vì biến xi nhận hai giá trị 0, nên có 2n trường hợp biến (x
1,x2,…,xn)
Do đó, để mơ tả f, ta lập bảng gồm 2n hàng
ghi tất giá trị f tùy theo 2n trường hợp
biến Ta gọi bảng chân trị f
(12)12 Ví dụ
Xét kết qủa f việc thông qua định dựa vào phiếu bầu x, y, z
1 Mỗi phiếu lấy hai giá trị: (tán thành) (bác bỏ)
(13)Hàm Bool
(14)14
Các phép toán hàm Bool
Các phép toán Fn định nghĩa sau:
1 Phép cộng Bool :
Với f, g Fn ta định nghĩa tổng Bool f g:
(15)Các phép toán hàm Bool
x = (x1,x2,…,xn) Bn,
(f g)(x) = f(x) + g(x) – f(x)g(x)
f g Fn vaø (f g)(x) = max{f(x), g(x)}
(16)16 Các phép toán hàm Bool
2 Phép nhân Bool :
Với f, g Fn ta định nghĩa tích Bool f g
(17)Các phép toán hàm Bool
x=(x1,x2,…,xn)Bn,
(f g)(x) = f(x)g(x)
Dễ thấy:
f g Fn vaø (f g)(x) = min{f(x), g(x)}
(18)18 Các phép toán hàm Bool
3) Phép lấy hàm bù:
Với f Fn ta định nghĩa hàm bù f sau:
1
(19)Dạng nối rời chính tắc Hàm Bool Xét tập hợp hàm Bool n biến Fn theo n biến x1 ,x2,…,xn
Mỗi hàm bool x
i hay gọi từ đơn
Đơn thức là tích khác khơng số hữu hạn từ đơn Từ tối tiểu là tích khác khơng n từ đơn
Công thức đa thức công thức biểu diễn hàm Bool thành
tổng đơn thức.
Dạng nối rời tắc là cơng thức biểu diễn hàm Bool thành
tổng từ tối tiểu
i
(20)Dạng nối liền tắc hàm Bool
Từ tối đại phần bù từ tối tiểu.Mỗi
từ tối đại tổng Boole n từ đơn.
Công thức biểu diễn hàm Boole f thành tích
của từ tối đại gọi dạng nối liền tắc của hàm Boole f
(21)Công thức đa thức tối tiểu
Đơn giản
Cho hai công thức đa thức hàm Bool : f = m1 m2 … mk (F)
f =M1 M2 … Ml (G)
Ta nói cơng thức F đơn giản công thức G
tồn đơn ánh h: {1,2, ,k} → { 1,2,…, l} cho với i {1,2, ,k} số từ đơn mi khơng nhiều số từ
(22)22
Công thức đa thức tối tiểu
Đơn giản nhau
Nếu F đơn giản G G đơn giản F thì ta nói F G đơn giản nhau
** Công thức đa thức tối tiểu:
(23)Phương pháp biểu đồ Karnaugh Xét f hàm Bool theo n biến x1,x2,…,xn với n =
f hàm Bool theo biến x, y, z Khi bảng chân trị f gồm hàng Thay cho bảng chân trị f ta vẽ bảng chữ nhật gồm ô, tương ứng với hàng bảng chân trị, đánh dấu sau:
(24)1.Khi ô nằm dãy đánh dấu bởi x x =1, x =0, tương tự cho y, z.
Với qui ước:
2.Các ô f đánh dấu (tơ đậm gạch chéo) Tập ô đánh dấu gọi biểu đồ Karnaugh f, ký hiệu kar(f).
(25)f là hàm Bool theo biến x, y, z, t Khi bảng chân trị f gồm 16 hàng Thay cho bảng chân trị f ta vẽ bảng chữ nhật gồm 16 ô, tương ứng với 16 hàng bảng chân trị, đánh dấu sau:
(26)1 Khi ô nằm dãy đánh dấu x x =1, x =0, tương tự cho y, z, t
Với qui ước:
2 Các f đánh dấu (tô đậm gạch chéo) Tập ô đánh dấu gọi biểu đồ karnaugh f, ký hiệu kar(f)
3 Trong hai trường hợp, hai ô gọi kề nhau (theo nghĩa rộng), chúng hai ô liền chúng ô đầu, ô cuối hàng (cột) Nhận xét rằng, cách đánh dấu trên, hai ô kề lệch biến
(27)Định lý
Cho f, g hàm Bool theo n biến x1,x2,…,xn Khi đó:
a) kar(fg) = kar(f)kar(g).
b) kar(fg) = kar(f)kar(g).
(28)Tế bào là hình chữ nhật (theo nghĩa rộng) gồm 2n-k ơ
Tế bào
(29)Ví du 1ï:
(30)Ví dụ 2:
(31)Ví dụ 3:
(32)Ví dụ 4:
(33)Ví dụ 5:
Xét hàm Bool theo biến x, y, z, t
Tế bào sau:
(34)Cho hàm Bool f Ta nói T tế bào lớn kar(f) T thoả hai tính chất sau:
Tế bào lớn.
a) T tế bào T kar(f).
b) Không tồn tế bào T’ thỏa T’ T vaø
(35)(36)(37)(38)(39)Thuật toán.
Bước 1: Vẽ biểu đồ karnaugh f.
Bước 2: Xác định tất tế bào lớn kar(f).
Bước 3: Xác định tế bào lớn mà nhất thiết
phải chọn.
(40)Bước 4: Xác định phủ tối tiểu gồm tế bào lớn
Nếu tế bào lớn chọn bước phủ được kar(f) ta có phủ tối tiểu gồm tế bào lớn kar(f).
Nếu tế bào lớn chọn bước chưa phủ kar(f) xét chưa bị phủ, có nhất hai tế bào lớn chứa ô này, ta chọn trong tế bào lớn Cứ tiếp tục ta sẽ tìm tất phủ gồm tế bào lớn kar(f) Loại bỏ phủ khơng tối tiểu, ta tìm tất phủ tối tiểu gồm tế bào lớn kar(f).
(41)Bước 5: Xác định công thức đa thức tối tiểu f
Từ phủ tối tiểu gồm tế bào lớn kar(f) tìm bước ta xác định công thức đa thức tương ứng f So sánh công thức trên Loại bỏ công thức đa thức mà có cơng thức đa thức thực đơn giản chúng Các cơng thức đa thức cịn lại cơng
(42)Một số ví dụ Ví dụ 1:
Tìm tất cơng thức đa thức tối tiểu hàm Bool:
(43)Giải
Ta có f xyzt xy xz yz xyz xyt
(44)(45)Bước 3: Xác định tế bào lớn thiết phải chọn
- Ô nằm tế bào lớn x Ta chọn x - Ô nằm tế bào lớn yz Ta chọn yz
Bước 4: Xác định phủ tối tiểu gồm tế bào lớn
Các ô tế bào lớn chọn bước phủ sau:
(46)Bước 5: Xác định công thức đa thức tối tiểu f.
Ứng với phủ tối tiểu gồm tế bào lớn tìm bước ta tìm một cơng thức đa thức tối tiểu f:
(47)Ví dụ 2: Tìm tất cơng thức đa thức tối tiểu hàm Bool:
f (x, y,z, t) y(zt zt) y(zt xzt) xzt
Giải
Ta có f yzt yzt yzt xyzt xzt
(48)(49)(50)Bước 3: Xác định tế bào lớn thiết phải chọn
1 Ô nằm tế bào lớn Ta chọn
xt xt
2 Ô nằm tế bào lớn xzt
Ta chọn xzt
3 Ơ nằm tế bào lớn Ta chọn
zt zt
Bước 4: Xác định phủ tối tiểu gồm tế bào lớn
(51)(52)Bước 5: Xác định công thức đa thức tối tiểu f Ứng với hai phủ tối tiểu gồm tế bào lớn tìm bước ta tìm hai cơng thức đa thức f:
(53)Vídụ 3(BÀI 7Đề2007)
• Hãy xác định công thức đa thức tối tiểu của hàm Bool:
) (
)
( y t x z t z yt x y
z x
(54)(55)• Các tế bào lớn: (0,5đ)
• Các tế bào lớn bắt buộc phải chọn là
• Cịn lại ô (1,4) nằm tế bào lớn t y x t z x zt z y
xz, , , ,
t z x zt
xz, ,
(56)• Do có cơng thức đa thức tương ứng với phủ tối tiểu: (0, 5đ)
• Trong có cơng thức thứ hai tối tiểu
(57)