Từ các phủ tối tiểu gồm các tế bào lớn của kar(f) tìm được ở bước 4 ta xác định được các công thức đa thức tương ứng của f. Loại bỏ các công thức đa thức mà có một công thức đa thức n[r]
(1)LOGO
TOÁN RỜI RẠC
Lê Văn Luyện
email: luyen26@yahoo.com
Chương
(2)Chương
Chương IV Đại số Bool Đại Số Bool
Hàm Bool
(3)Xét mạch điện hình vẽ
Tùy theo cách trạng thái cầu dao A, B, C mà ta có dịng điện qua MN Như ta có bảng giá trị sau
(4)Mở đầu
A B C MN
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Câu hỏi: Khi mạch điện gồm nhiều cầu dao, ta kiểm
soát
(5)5
I Đạ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 : AA A (x,y)xy
(6)6
I Đại Số Bool
- Tính giao hốn: x, y A xy = yx;
xy = yx;
- Tính kết hợp: x, y, z A
(xy) z = x(y z); (xy) z = x (y z)
- Tính phân phối : x, y, z A
(7)7
- 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 =
x
x x
x x
(8)8
Ví dụ.
Xét F tập hợp tất dạng mệnh đề theo n biến p1, ơip2,…,pn với hai phép tốn hội , phép tốn tuyển , ta đồng dạng mệnh đề tương đương Khi F đại số Bool với phần tử 1, phần tử
hằng sai 0, phần tử bù dạng mệnh đề E dạng mệnh đề bù E
(9)9
Xét tập hợp B = {0, 1} Trên B ta định nghĩa hai phép toán , sau:
(10)10 II Hàm Bool
Hàm Bool n biến ánh xạ
f : Bn B , B = {0, 1}
Như 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)11
Xé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 (x1,x2,…,xn)
Do đó, để mơ tả f, ta lập bảng gồm 2n hàng ghi tất
cả giá trị f tùy theo 2n trường hợp biến Ta gọi
(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
Mỗi phiếu lấy hai giá trị: (tán thành)
0 (bác bỏ)
(13)13
Hàm Bool
Khi f hàm Bool theo biến x, y, z có bảng chân trị sau:
x y z f
0 0
0
0 0
0 1
1 0
1 1
1 1
(14)14 Các phép toán hàm Bool
Các phép toán Fn định nghĩa sau:
Phép cộng Bool :
Với f, g Fn ta định nghĩa tổng Bool f g: f g = f + g – fg
0 1
0
1 1
(15)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)
(16)16
Các phép toán hàm Bool
Phép nhân Bool :
Với f, g Fn ta định nghĩa tích Bool f g f g = fg
x=(x1,x2,…,xn)Bn,
(f g)(x) = f(x)g(x)
Dễ thấy:
(17)17
Các phép toán hàm Bool
Phép lấy hàm bù:
Với f Fn ta định nghĩa hàm bù f sau:
1
(18)18
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 xi 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 là 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
(19)(20)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ừ
đơn Mh(i)
(21)21
Công thức đa thức tối tiểu Đơn giản
Nếu F đơn giản G G đơn giản F ta nói F G đơn giản nhau
** Công thức đa thức tối tiểu:
(22)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:
(23)Với qui ước:
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)
(24)f 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:
(25)Với qui ước:
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)
Trong hai trường hợp, hai ô gọi kề
(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
(26)Đị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)
(27)Tế bào hình chữ nhật (theo nghĩa rộng) gồm 2n-k ô
Tế bào
Nếu T tế bào T biểu đồ karnaugh đơn thức m, cách xác định m sau:
(28)(29)(30)Ví dụ 3.
(31)Ví dụ 4.
(32)Ví dụ 5. Xét hàm Bool theo biến x, y, z, t.
Tế bào sau:
(33)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)
(34)(35)(36)(37)(38)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)
(39)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ủ 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) thì:
Xét chưa bị phủ, có hai tế bào lớn chứa này, ta chọn tế bào lớn Cứ tiếp tục ta tìm tất phủ gồm tế bào lớn
kar(f)
(40) 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
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
(41)Ví dụ 1
Tìm tất công thức đa thức tối tiểu hàm
Bool:
( , , , ) ( )
f x y z t xyzt xy xz yz xy z t
xyzt xy xz yz xyz xyt
(42)( , , , )
(43)( , , , ) x
(44)( , , , )
(45)( , , , )
(46)( , , , )
(47)( , , , )
(48)Bước 1:Vẽ kar(f): ( , , , )
(49)Bước 2: Kar(f) có tế bào lớn sau:
x
yz
( , , , )
(50)1 2 3
4 5 6 7 8 9 10 10
Bước 3: Xác định tế bào lớn thiết phải chọn:
x
2
yz - Ô nằm tế bào lớn x Ta chọn x
- Ô nằm tế bào lớn yz Ta chọn yz
( , , , )
(51)1 2 3 4 5 6 7 8
9 10
Bước 4: Xác định phủ tối tiểu gồm tế bào lớn
x
yz
1
4
7 10
1
4
7
9 10
1 2 3 4 5 6 7 8
9 10
1 2 3 4 5 6 7 8
9 10
Ta phủ tối tiểu gồm tế bào lớn kar(f):
(52) Bước 5: Xác định công thức đa thức tối tiểu
của f
Ứng với phủ tối tiểu gồm tế bào lớn tìm bước ta tìm cơng thức đa thức tối tiểu f:
x yz
( , , , )
(53)1 2
3 4 5
6 7 8 9
B1: Vẽ Kar(f)
(54)1 2 3 4 5 6 9
B2: Xác định tế bào lớn
1 2 3 4 5 6 9
1 2 3 4 5 6 9 1 2
3 4 5 6 9
1 2 3 4 5 6 9
(55)1 2 3 4 5 6 9
B3: Xác định tế bào lớn thiết phải chọn
1 2 3 4 5 6 9
1 2 3 4 5 6 9 1 2
3 4 5 6 9
1 2 3 4 5 6 9
(56) Bước 3: Xác định tế bào lớn thiết phải chọn
Ô nằm tế bào lớn Ta
chọn
Ô nằm tế bào lớn
Ta chọn
Ô nằm tế bào lớn xzt
Ta chọn xzt
zt zt
xt xt
(57)1 2 3 4 5 6 9
1 2 3 4 5 6 9
1 2 3 4 5 6 9 1 2
3 4 5 6 9
1 2 3 4 5 6 9
1 2 3 4 5 6 9 f yzt yzt yzt xyzt xzt
zt xt xzt
(58)1 2 3 4 5 6 9
B4: Xác định phủ tối tiểu gồm tế bào lớn
1 2 3 4 5 6 9
1 2 3 4 5 6 9
Cịn lại chưa bị phủ
Ô nằm tế bào lớn: cách chọn f yzt yzt yzt xyzt xzt
(59)1 2 3 4 5 6 9
B4: Xác định phủ tối tiểu gồm tế bào lớn
1 2 3 4 5 6 9
Cịn lại chưa bị phủ
Ơ nằm tế bào lớn: cách chọn f yzt yzt yzt xyzt xzt
(60)1 2 3 4 5 6 9
B4: Xác định phủ tối tiểu gồm tế bào lớn
1 2 3 4 5 6 9
Cịn lại chưa bị phủ
Ô nằm tế bào lớn: cách chọn f yzt yzt yzt xyzt xzt
(61) Bước 5: Xác định công thức đa thức tối tiểu f
f yzt yzt yzt xyzt xzt
zt xt xzt xyz
(62)Hãy xác định công thức đa thức tối tiểu
haøm Bool:
) (
)
( y t x z t z yt x y z
x
(63)(64)Các tế bào lớn:
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, ,
(65)Do có công thức đa thức tương ứng với phủ tối
tiểu:
Trong có cơng thức thứ hai tối tiểu
(66)IV Mạng logic (Mạng cổng)
(67)Các cổng
NOT:
Nếu đưa mức HIGH vào ngõ vào cổng, ngõ mức LOW ngược lại
Kí hiệu cổng
( )
F x x
X not X 1
(68)Các cổng
AND:
x y x y x y xy , , & ,
x and y xy xy
X Y X and Y
0 0
0
1 0
1 1
Bảng chân trị
Cổng AND có ngõ vào
(69)Các cổng
OR:
x y x y x y , , |
x or y x
y x v y X Y X or Y
0 0
0 1
1
1 1
Bảng chân trị:
(70)Các cổng
NAND:
X Y Z 0 1 1 1
X nand Y = not (X and Y) = xy
Là cổng bù AND
(71)Các cổng
NOR:
X Y Z 0 1 0 1
X nor Y = not (X or Y) = x y
Là cổng bù OR
(72)(73)(74)(75)Thiết kế mạch điều khiển cầu dao
Mỗi cầu dao xem biến x, y : bật tắt Cho F(x, y) =1 đèn sáng đèn tắt
Giả sử F(x, y) =1 hai bật tắt
x y F(x, y)
1 1
1 0
0
0
(76)x x x
y
y
x y
y x y
(77)Giả sử F(x,y,z) =1 cái bật
x y z F(x, y)
1 1
1 0
1
1 0
0 1
0 1
0 1
0 0
Thiết kế mạch điều khiển cầu dao
Mỗi cầu dao xem biến x, y : bật tắt Cho F(x, y) =1 đèn sáng đèn tắt
(78)x
z
x y
z
x y z
z y x y
x y z x y z
x y z x y z