Cách tìm dạng nối rời chính tắc của hàm Bool 7.. Cách tìm dạng nối rời chính tắc của hàm Bool: Có 2 cách để xác định dạng nối rời chính tắc của một hàm Bool Cách 1: Bổ xung từ đơn còn
Trang 2N i Dung Chính ộ
Trang 3I. Hàm Bool
1. Đại số Bool nhị phân
2. Hàm Bool
3. Đại số Bool của các hàm Bool
II. Các Dạng Biểu Diễn Hàm Bool
1. Từ đơn
2. Đơn thức
3. Đơn thức tối tiểu trong Fn
4. Đa thức trong Fn
5. Dạng nối rời chính tắc của hàm Bool
6. Cách tìm dạng nối rời chính tắc của hàm Bool
7. Mệnh đề
8. So sánh các dạng đa thức của hàm Bool
9. Công thức đa thức tối tiểu cho hàm Bool
Trang 4III. Biểu Đồ Karnaugh Cho Hàm Bool
1. Bảng mã
2. Biểu đồ Karnaugh cho hàm Bool
3. Nhận xét
4. Tính chất
5. Biểu đồ của 1 đơn thức
6. Biểu đồ của đa thức
Trang 5I Hàm Bool
George Boole
(1815-1864)
Trang 6I Hàm Bool
1. Đại số Bool nhị phân:
Cho B ={0,1} ta đặt các phép toán như sau:
x y = xy
x V y = (x + y) – (xy)
¬ x = 1 – x
B y
Trang 71. Đại số Bool nhị phân:
Đại số bool của các số nhị phân cũng thỏa các trường hợp (luật) như trong mệnh đề.
Luât phủ định kép ¬ ¬E <=> E Luật lũy đẳng E E <=> E
E V E <=> E Luật giao hoán F E <=> E F
F V E <=> E V F Luật kết hợp (E F) G <=> E (F G)
(E V F) V G <=> E V (F V G) Luật phân phối E (G V F) <=> (E G) V (E F)
E V (G F) <=> (E V G) (E V F) Luật phủ định De-Morgan ¬ (E F) <=> ¬E V ¬F
¬ (E V F) <=> ¬E ¬F Luật hấp thụ E (E V F) <=> E ; E V (E F) <=> E Luật trung hòa E 1 <=> E
E V 0 <=> E Luật thống trị E 0 <=> 0
E V 1 <=> 1 Luật bù E ¬E <=> 0
Trang 82. Hàm Bool:
a Định nghĩa Cho và
Hàm Bool n biến là ánh xạ f : Bn → B, trong đó B = {0, 1}
Một hàm Bool n biến là một hàm số có dạng f = f(x1 ,x2,…,xn), trong đó mỗi biến trong x1, x2,…, xn và f chỉ nhận giá trị trong B = {0, 1}
Ký hiệu Fn để chỉ tập các hàm Bool n biến
Trang 92. Hàm Bool:
b. Bảng chân trị Xét hàm Bool n biến f(x1,x2,…,xn)
Vì mỗi biến xi chỉ nhận hai giá trị 0, 1 nên chỉ có 2n trường hợp của bộ biến (x1,x2,…,xn).
Do đó, để mô tả f ta có thể lập bảng gồm 2n hàng ghi tất cả các giá trị của f tùy theo 2n trường hợp của biến Ta gọi đây là bảng chân trị của f.
Trang 113. Các phép toán trên hàm Bool:
f ∧ =
f
Trang 123. Các phép toán trên hàm Bool:
Trang 131. Từ đơn:
Xét tập hợp các hàm Bool của n biến Fn theo n biến x1 ,x2,…,xn.
Mỗi hàm bool xi hay ¬ xi được gọi là từ đơn.
Ví dụ: x1, x2, x3,…
2. Đơn thức:
Là tích khác không của một số hữu hạn từ đơn.
Hay có thể hiểu là: Tích Bool của 1 hay nhiều từ đơn sao cho tích này khác 0
Ví dụ: Trong F4 xét x 3 , x 1 2 x x x x (bậc của đơn thức là số thành phần x) Trong Fn các đơn thức có bậc từ 1 đến n
x, ¬x, y, ¬y, z, ¬z, t, ¬t là các từ đơn x¬yz ¬t, ¬x ¬yt là các đơn thức
II Các Dạng Biểu Diễn Hàm Bool
Trang 143. Đơn thức tối tiểu trong Fn:
Là đơn thức có bậc cao nhất bằng n trong Fn.
Dạng tổng quát m = y1y2 yn, yi = xi hoặc ¬xi 1 ≤ i ≤n
Ví dụ: Trong F4 xét các đơn thức tối tiểu bậc 4 x1x2x3x4, x1¬x2x3x4, x1x2x3x4, ¬x1¬x2¬x3¬x3
4. Đa thức trong Fn:
Là tổng Bool các đơn thức f = u1 V u2 V u3 V…V uk, trong đó Ui là các đơn thức.
Ví dụ: Trong F5 xét đa thức f(x1,x2,x3,x4) = x1¬x5 V ¬x2x3¬x4 V ¬x3 V ¬x1x3x4x5 => Tổng Bool 4 đơn thức f(1,0,1,1,0)=1¬0V¬01¬1V¬1V¬1110 = 1
II Các Dạng Biểu Diễn Hàm Bool
Trang 155. Dạng nối rời chính tắc của hàm Bool:
Cho f thuộc Fn , f có thể viết dưới dạng sau
f = m1 V m2 V m3 V …V mk, (*) với mi là các đơn thức tối tiểu bậc = n (i = 1…n )
(*) được gọi là dạng nối rời chính tắc của f
Ví dụ: Trong F4 có dạng biểu diễn sau đây f(x,y,z,t) = x¬y¬zt V ¬xyzt V xy¬z¬t có dạng (*)
II Các Dạng Biểu Diễn Hàm Bool
Trang 166. Cách tìm dạng nối rời chính tắc của hàm Bool:
Có 2 cách để xác định dạng nối rời chính tắc của một hàm Bool
Cách 1: Bổ xung từ đơn còn thiếu vào các đơn thức
Bước 1: Khai triển hàm Bool thành tổng của các đơn thức
Bước 2: Với mỗi từ đơn thu được ở bước 1, ta nhân đơn thức đó với các tổng dạng với xi là những từ đơn bị thiếu trong đơn thức đó
Bước 3: Tiếp tục khai triển hàm thu được ở bước 2 và loại bỏ những đơn thức bị trùng Công thức đa thức thu được chính
là dạng nối rời chính tắc của hàm Bool ban đầu
Ví dụ: Trong F3 tìm dạng nối dời chính tắc f(x,y,z)= ¬x V ¬yz V xy¬z
f = ¬x(y V ¬y).(z V ¬z) V (¬x V x)¬yz V xy¬z
f = ¬xyz V ¬xy¬z V ¬x¬yz V ¬x¬y¬z V ¬x¬yz V x¬yzVxy¬z (*)
(*) Chính là dạng nối dời chính tắc
II Các Dạng Biểu Diễn Hàm Bool
Trang 176. Cách tìm dạng nối rời chính tắc của hàm Bool:
Có 2 cách để xác định dạng nối rời chính tắc của một hàm Bool
Cách 2: dùng bảng chân trị Để ý đến các vector bool trong bảng chân trị
Ví dụ: cho f(x,y) = x V ¬y Tìm biểu thức dạng nối rời chính tắc của f
Lập bảng chân trị của f
Vậy dạng nối rời chính tắc của f là f(x,y) = ¬x ¬y V x ¬y V xy
II Các Dạng Biểu Diễn Hàm Bool
Trang 187. Mệnh đề:
f F ∈ n Khi đó,
f có thể có nhiều dạng đa thức khác nhau , ta chọn ra các công thức
đơn giản nhất có thể được Chúng chính là các công thức đa thức tối tiểu của f.
f chỉ có một dạng nối dời chính thức duy nhất (không tính sự hoán
đổi của các đơn thức).
II Các Dạng Biểu Diễn Hàm Bool
Trang 198. So sánh các dạng đa thức của hàm Bool:
chú ý:
Có thể hoán vị v1, v2, …,vq trước khi so sánh bậc nếu cần thiết
Có thể có những cặp đa thức không so sánh được
II Các Dạng Biểu Diễn Hàm Bool
Trang 208. So sánh các dạng đa thức của hàm Bool:
Ví dụ:
a f F ∈ 4 có 3 dạng đa thức f(x,y,z,t) = x ¬y ¬t V ¬xyz V x ¬z ¬ t V xyz (1) = x ¬y ¬t V ¬xyz V xy ¬z V yzt (2) = x ¬y ¬t V ¬xyzt V ¬xyz ¬t V xy ¬z V yzt (3) (1) và (2) đơn giản ngang nhau
vì p = q = 4 deg(uj) = deg(vj) = 3
(2) đơn giản hơn (3) hay (3) phức tạp hơn (2)
vì q = 4 < r = 5 deg(vj) ≤ deg(qj)
II Các Dạng Biểu Diễn Hàm Bool
Trang 218. So sánh các dạng đa thức của hàm Bool:
Ví dụ:
b g F ∈ 4 có 3 dạng đa thức g(x,y,z,t) = x ¬yz V z ¬t V ¬xyz V ¬xy ¬zt (4) = z ¬t V x ¬yzt V ¬xyzt V ¬xy ¬zt (5)
ta thấy: p = q = 4 d(u1) > d(v1); d(u2) < d(v2)
nên cần phải hoán vị (5) x ¬yzt V z ¬t V ¬xyzt V ¬xy ¬zt (5`) (q` = 4) (4) đơn giản hơn 5`
vì p = q` = 4
deg(uj) ≤ deg(wj)
II Các Dạng Biểu Diễn Hàm Bool
Trang 22III Biểu đồ karnaugh cho hàm Bool
1 Bảng mã: xét B = {0,1}
a. Bảng mã cho B2 (2 biến bool x và y)
b. Bảng mã cho B 3 (3 biến bool x, y, z)
c. Bảng mã cho B4 (4 biến pool x, y, z, t)
Trang 23
III Biểu đồ karnaugh cho hàm Bool
Trang 24III Biểu đồ karnaugh cho hàm Bool
3. Biểu đồ Karnaugh cho hàm Bool:
Biểu đồ Karnaugh chỉ dùng cho 4 biến trở xuống
f ∈ F n (n ≤ 4) và xét bảng chân trị của f Ta quan tâm các vector bool mà f=1 tại đó Đánh dấu các ô đó của bảng mã Tập hợp
các ô được đánh dấu gọi là biểu đồ karnaugh của hàm bool F
Trang 25III Biểu đồ karnaugh cho hàm Bool
a Kar(¬f): phần bù của biều đồ kar(f) trong bảng.
b Kar(f g) = kar(f.g) = kar(f) kar(g).
c Kar(f V g) = kar(f) V kar(g).
Trang 26III Biểu đồ karnaugh cho hàm Bool
6. Biểu đồ karnaugh của một đơn thức:
Trang 27III Biểu đồ karnaugh cho hàm Bool
7. Biểu đồ karnaugh của một đa thức:
Cho đa thức f F ∈ n (n ≤ 4)
f = u1 V u2 V … V uk (u1, u2 ,…,uk các đơn thức)
Ta có kar(f) = kar(u1) V kar(u2) V kar(u3) V kar(u4)
Ví dụ: f F ∈ 4 có
f(x, y, z, t) = ¬xy ¬zt V ¬y ¬z ¬t V ¬xz V x
kar(f) = kar(¬xy ¬zt) V kar(¬y ¬z ¬t) V kar(¬xz) V kar(x)
S = kar(f) = 15 ô
Trang 28III Biểu đồ karnaugh cho hàm Bool
Trang 29III Biểu đồ karnaugh cho hàm Bool
Trang 30III Biểu đồ karnaugh cho hàm Bool
8. Tế bào và tế bào lớn:
Ví dụ:
d Các tế bào lớn
T6 (1ô), T5 chứa T6 => T6 không lớn
Trang 31IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
1. Họ phủ và họ phủ tối tiểu:
Cho các tập hợp A1, A2,…, Ak và S
Nếu A1 V A2 V…V Ak = S thì ta nói {A1, A2,…, Ak} là một họ phủ của S.
Nếu A1 V A2 V…V Ak = S j {1, 2,…,k}:A ∀ ∈ 1 V Aj-1 V Aj+1 V…V Ak S thì ta nói {A1, A2,…, Ak} là một họ phủ tối tiểu của S.
Ví dụ: S = {1, 2, 3, 4, 5, 6}
a. A1 = {1, 5}, A2 = {2, 3}, = A3= {4, 5, 6}
A1 V A2 V A3 = S A2 V A3 S => {A1, A2,A3} là một họ phủ tối tiểu của S A1 V A3 S
A1 V A3 S
b. B1= {1, 4}, B2 = {3, 5, 6}, B3= {2, 5}, B4= {1, 3}
B1 V B2 V B3 V B4 = S Nhưng => {B1,B2,B3, B4} là một họ phủ chưa tối tiểu của S B1 V B2 V B3 = S
Trang 32IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
2. Thuật toán:
a Ý tưởng chung
Tìm tất cả các tế bào lớn trong S = Kar(f)
Tìm 1 số phép phủ của S (phủ bằng các tế bào lớn) rồi chọn ra các phép phủ tối tiểu cho S
Viết các công thức đa thức cho f (từ các phép phủ tối tiểu của S) rồi chọn ra các công thức đa thức tối tiểu
Trang 33IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
2. Thuật toán:
b Thuật toán cụ thể
Tìm tất cả các tế bào lớn của S = Kar(f)
Chọn Ô P1 tùy ý S và tế bào lớn T∈ 1 tùy ý mà P1 T∈ 1
Chọn Ô P2 tùy ý S\T∈ 1 và tế bào lớn T2 tùy ý mà P2 T∈ 2
Chọn Ô P3 tùy ý S\(T∈ 1 V T2) và tế bào lớn T3 tùy ý mà P3 T∈ 3
Chọn Ô P4 tùy ý S\(T∈ 1 V T2 V T3) và tế bào lớn T4 tùy ý mà P4 T∈ 4
Tiếp tục như vậy cho đến khi S\(T1 V T2 V T3 V Tk) = 0, nghĩa là
S = T1 V T2 V T3 V Tk (1 phép phủ của S, phủ bằng các tế bào lơn)
Việc chọn các Ô P1, P2, P3… là tùy ý, tuy nhiên ta ưu tiên chọn trước cácÔ chỉ thuộc 1 tế bào lớn, tiếp đến là các Ô chỉ thuộc 2
tế bào lớn,…
Ta sẽ thu được 1 hoặc nhiều phép phủ cho S (phủ bằng các tế bào lớn)
Nếu chỉ có 1 phép phủ cho S thì đó là phép phủ tối tiểu Viết công thức đa thức cùa f tương ứng với phép phủ tối tiểu đó Và đây
là công thức đa thức tối tiểu của S
Nếu có nhiều phép phủ cho S thì ta chọn ra các phép phủ tối tiểu Viết các công thức đa thức của f tương ứng với các phép phủ tối tiểu đó, ta chọn ra các công thức đơn giản nhất có thể được Và đó là các công thức đa thức tối tiểu của S
Trang 34IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
3. Ví dụ:
a. Ví dụ 1: Tìm công thức đa thức tối tiểu cho hàm Bool f có 4 biến với
S = Kar(f) như sau:
S = {(1,1),(3,1),(4,1),(2,2),(3,2),(4,2),(3,1),(3,3),(4,3),(4,1),(3,4),(4,4)}
Các tế báo lớn trong T1 = ¬z, T2 = ¬x¬t, T3 = ¬y¬t, T4 = xyt
Chọn Ô (3,1) S và (3,1) ∈ ∈ T1 Chọn Ô (1,1) S\ T ∈ 1 và (1,1) ∈ T3 Chọn Ô (1,3) S\ (T ∈ 1 V T3) và (1,3) ∈ T2 Chọn Ô (2,2) S\ (T ∈ 1 V T3 V T2) và (1,3) ∈ T4 S\(T1 V T3 V T2 V T4) = 0 => S = T1 V T2 V T3 V T4(phép phủ tối tiểu) T1 → T3 → T2 → T4
f(x,y,z,t) = ¬z V ¬x¬t V ¬y¬t V xyt là công thức đa thức tối tiểu của f
Trang 35
IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
3. Ví dụ:
b. Ví dụ 2: Tìm công thức đa thức tối tiểu cho hàm Bool g có 4 biến với
S = Kar(f) như sau:
S = {(3,1),(4,1),(1,2),(2,2),(3,2),(2,3),(2,4),(3,4)}
Các tế báo lớn trong S T1 = xz ¬t, T2 = yz ¬t, T3 = ¬xyz T4 = ¬xyt, T5 = y ¬zt, T6 = ¬x ¬y ¬z ¬t Chọn Ô (1,1) S và (1,1) ∈ ∈ T1
Chọn Ô (3,2) S\ T ∈ 1 và (3,2) ∈ T5 Chọn Ô (4,4) S\ (T ∈ 1 V T5) và (4,4) ∈ T6 Chọn Ô (1,3) S\ (T ∈ 1 V T5 V T6) và (1,3) ∈ T3, T2 Chọn Ô (2,3) S\ (T ∈ 1 V T5 V T6 V T2) và (2,3) ∈ T3, T4 S\(T1 V T5 V T6 V T2 V T3) = 0 => S = T1 V T5 V T6 V T2 V T3(1) S\(T1 V T5 V T6 V T2 V T4) = 0 => S = T1 V T5 V T6 V T2 V T4(2) S\(T1 V T5 V T6 V T3) = 0 => S = T1 V T5 V T6 V T3(3)
Công thức đa thức cho (2) và (3) g(x,y,z,t) = xz ¬t V y ¬zt V ¬x ¬y ¬z ¬t V yz ¬t V ¬xyt = xz ¬t V y ¬zt V ¬x ¬y ¬z ¬t V ¬xyz g(x,y,z,t) = xz ¬t V y ¬zt V ¬x ¬y ¬z ¬t V ¬xyz (công thức đa thức tối tiểu)
Trang 36IV Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool
3. Ví dụ:
c. Ví dụ 3: Tìm công thức đa thức tối tiểu cho hàm Bool g có 4 biến với
S = Kar(f) như sau:
S = {(1,1),(1,2),(3,2),(1,3),(2,3),(3,3),(4,4)}
Các tế báo lớn trong S T1 = xy, T2 = x ¬z, T3 = yzt T4 = ¬xzt, T5 = ¬ x ¬ yt, T6 = ¬y ¬z t Chọn Ô (1,2) S và (1,2) ∈ ∈ T1
Chọn Ô (4,1) S\ T ∈ 1 và (4,1) ∈ T2 Chọn Ô (2,4) S\ (T ∈ 1 V T2) và (2,4) ∈ T4, T5 Chọn Ô (3,4) S\ (T ∈ 1 V T2 V T4) và (3,4) ∈ T5 , T6 S\(T1 V T2 V T4 V T5) = 0 => S = T1 V T2 V T4 V T5 (1) S\(T1 V T2 V T4 V T6) = 0 => S = T1 V T2 V T4 V T6 (2) Chọn Ô (2,3) S\ (T ∈ 1 V T2 V T5) và (2,3) ∈ T3, T4 S\(T1 V T2 V T5 V T3) = 0 => S = T1 V T2 V T5 V T3 (3) Công thức đa thức cho (1), (2) và (3)
h(x,y,z,t) = xy V x ¬z V ¬xzt V ¬x ¬yt = xy Vx ¬z V ¬xzt V ¬y ¬zt = xy V x ¬z V ¬ x¬yt V yzt
Trang 37V Đại số các mạch điện
1. Hàm Bool của mạch điện:
a Mạch điện: dây dẫn và công tắc điện
Công tắc điện tương đương 1 biến bool (0,1)
Trên dây dẫn 2 công tắc: mắc nối tiếp và mắc song song
t(a,b) = a b = a.b
1 nếu có điện qua dây t(a,b) = 0 nếu không có điện qua dây
t(a,b) = aVb
t(a,b)
A a B b
Trang 38V Đại số các mạch điện
1 Hàm bool của mạch điện:
b. Mạch điện có n công tắc điện A1, A2,…An(n biến bool a1, a2,…,an)
Hàm Bool cho mạch điện:
Trang 40V Đại số các mạch điện
2. Các loại cổng cơ bản:
b Cổng OR
Bảng chân trị
Ví dụ: Cho đầu vào A = 011101, B = 100110 khi đó đầu ra của cổng OR là X=A+B
Trang 41V Đại số các mạch điện
2. Các loại cổng cơ bản:
c Cổng AND
Bảng chân trị
Ví dụ: Cho đầu vào A = 110001, B = 011100 Khi đó đầu ra của cổng AND là
X = A.B = 010000
x 1 x 2 …x n
Trang 42V Đại số các mạch điện
3. Thiết kế mạng các cổng tổng hợp hàm Bool:
f F ∈ n và f có dạng đa thức: f = U1 V u2 V V Uk (u1, u2,uk là các đơn thức).
f F ∈ 3 dùng các cổng AND, OR, NOT để thiết kế mạng tổng hợp f.
Trang 43V Đại số các mạch điện
4. Tối ưu hóa việc thiết kế mạng các cổng tổng hợp hàm bool:
Việc thiết kế mạng cho f dựa vào 1 công thức đa thức nào đó của F F có nhiều dạng đa thức khác nhau, ta sẽ chọn 1 công thức đa thức tối tiểu của f để thiết kế mạng cho nó Như vậy ta
sẽ tiết kiệm được chi phí mua cổng và dây dẫn.
Ví dụ: f F ∈ 3 có f(x,y,z) = xyz V x¬y¬z V x¬y¬z V xy¬z V ¬xy¬z (dạng đa thức)
Kar(f) = Kar(xyz) V Kar(x¬y¬z) V Kar(x¬y¬z) V Kar(¬xy¬z)
Biểu đồ Karnaugh của f
Các tế bào lởn trong S:
T1 = x.y
T2 = x.¬z
T3 = y.¬z Chọn Ô (1,2) S và (1,2) T ∈ ∈ 1 Chọn Ô (2,1) S\ T ∈ 1 và (2,1) T ∈ 2 Chọn Ô (2,3) S\(T ∈ 1 V T2) và (2,3) T ∈ 3 Chọn Ô S\(T1 V T2 V T3) = 0 => S = T1 V T2 V T3 f(x,y,z,t) = x.y V x¬z V y¬z (công thức tối tiểu của f)
Trang 45
VI Bài Tập
1. Tìm dạng nối rời chính tắc cho các hàm Bool sau đây:
a. f(x,y,z) = ¬x V ¬y V x(y V z)
b. f(x,y,z,t) = (xy V zt)(x V z) (xz V yt)(xt V yz)
c. f(x,y,z) = (¬x V yz)(¬y V xz)(¬z V xy)
2. Tìm các công thức đa thức tối tiểu cho các hàm Bool f có 4 biến với S = Kar(f) như sau
a. S = {(1,1),(1,3),(2,2),(2,4),(3,1),(3,3),(4,2),(4,4)}
b. S chứa hết các Ô trừ ra các Ô (2,3) và (3,2)
c. S = {(1,1),(1,2),(1,3),(2,3),(3,1),(4,2),(4,3),(4,4)}
3. Tìm các công thức đa thức tối tiểu cho các hàm Bool f có 4 biến có dạng đa thức như sau:
a. f(x,y,z,t) = ¬x¬y V x¬zt V x¬y¬t
b. f(x,y,z,t) = xyzt V ¬x¬y V x¬zt V y¬z¬t
c. f(x,y,z,t) = x¬y¬z V y¬zt V xy¬z V ¬xyz
d. f(x,y,z,t) = y¬t V xy¬z V ¬xyz V x¬yz¬t V ¬x¬y¬z¬t