Toán rời rạc P6
Chia sẻ bởi Trương Nhân |
Ngày 14/10/2018 |
20
Chia sẻ tài liệu: Toán rời rạc P6 thuộc Tư liệu tham khảo
Nội dung tài liệu:
1
Phần VI
Đại Số Bool và hàm Bool
Biên soạn :Nguyễn Viết Đông
2
George Boole
(1815-1864)
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 bản giáo dục.
[2] TS.Trần Ngọc Hội, Toán rời rạc
4
Đại Số Bool
Một đại số Bool (A,?,?) là một tập hợp A ? ? với hai phép toán ?, ?, tức là hai ánh xạ:
?: A?A ? A
(x,y) ?x?y
và ?: A?A ? A
(x,y)?x?y
thỏa 5 tính chất sau:
5
Đại Số Bool
Tính giao hoán: ?x,y?A
x?y = y?x;
x?y = y?x;
Tính kết hợp: ?x,y,z?A
(x?y) ?z = x?(y ?z);
(x?y) ?z = x? (y ?z).
Tính phân bố: ?x,y,z?A
x?(y ?z) = (x?y) ?(x?z);
x? (y? z) = (x?y) ? (x?z).
6
Đại Số Bool
Có các phần tử trung hòa 1 và 0: ?x ?A
x?1 = 1?x = x;
x?0 = 0?x = x.
Mọi phần tử đều có phần tử bù: ?x ?A,
? ?A,
x ? = ? x = 0;
x ? = ? x = 1.
7
Đại Số Bool
Ví dụ:
Xét F là tập hợp tất cả các 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 ?, trong đó ta đồng nhất các dạng mệnh đề tương đương. Khi đó F là một đại số Bool với phần tử 1 là hằng đúng 1, phần tử 0 là hằng sai 0, phần tử bù của dạng mệnh đề E là dạng mệnh đề bù
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 ?,? như sau:
Khi đó, B trở thành một đại số Bool
9
Đại Số Bool
Cho đại số Bool (A,?,?). Khi đó với mọi x,y?A, ta có:
1) x?x = x; x?x = x.
2) x?0 = 0?x =0; x?1 =1?x = 1.
3)Phần tử bù của x là duy nhất
và = x;
Công thức De Morgan:
5) Tính hấp thụ:x?(x?y) = x; x? (x?y) = x.
10
Định nghĩa hàm Bool
Hàm Bool n biến là ánh xạ
f : Bn ? B , trong đó B = {0, 1}.
Nhu v?y 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 chỉ nhận hai giá trị 0, 1 và f nhận giá trị trong B = {0, 1}.
Ký hiệu Fn để chỉ tập các hàm Bool biến.
Ví dụ: Dạng mệnh đề E = E(p1,p2,.,pn) theo n biến p1, p2,., pn là một hàm Bool n biến.
11
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
Bảng chân trị
12
Ví dụ
Xét kết qủa f trong việc thông qua một quyết định dựa vào 3 phiếu bầu x, y, z
Mỗi phiếu chỉ lấy một trong hai giá trị: 1 (tán thành) hoặc 0 (bác bỏ).
Kết qủa f là 1 (thông qua quyết định) nếu
được đa số phiếu tán thành, là 0 (không thông
qua quyết định) nếu đa số phiếu bác bỏ.
13
Hàm Bool
Khi đó f là hàm Bool theo 3 biến x, y, z có bảng chân trị như sau:
14
Các phép toán trên hàm Bool
Các phép toán trên Fn được định nghĩa như sau:
Phép cộng Bool ?:
Với f, g ? Fn ta định nghĩa tổng Bool của f và g:
f g = f + g – fg
15
Các phép toán trên hàm Bool
x = (x1,x2,…,xn) Bn,
(f g)(x) = f(x) + g(x) – f(x)g(x)
f ? g ? Fn và (f ? g)(x) = max{f(x), g(x)}
Dễ thấy
16
Các phép toán trên hàm Bool
Phép nhân Bool ?:
Với f, g ?Fn ta định nghĩa tích Bool của f và g
f g = fg
17
Các phép toán trên hàm Bool
x=(x1,x2,…,xn)Bn,
(f g)(x) = f(x)g(x)
Dễ thấy:
f ? g ?Fn và (f ? g)(x) = min{f(x), g(x)}
Ta thường viết fg thay cho f ? g
18
Các phép toán trên hàm Bool
3) Phép lấy hàm bù:
Với f ? Fn ta định nghĩa hàm bù của f như sau:
19
Dạng nối rời chính tắc của Hàm Bool
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 được gọi là từ đơn.
Đơn thức là tích khác không của một số hữu hạn từ đơn.
Từ tối tiểu là tích khác không của đú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 của các đơn thức.
Dạng nối rời chính tắc là công thức biểu diễn hàm Bool thành tổng của các từ tối tiểu.
Dạng nối liền chính tắc của hàm Bool
Từ tối đại là phần bù của các từ tối tiểu.Mỗi từ tối đại là tổng Boole của n từ đơn.
Công thức biểu diễn hàm Boole f thành tích của các từ tối đại gọi là dạng nối liền chính tắc của hàm Boole f
20
21
Công thức đa thức tối tiểu
Đơn giản hơn
Cho hai công thức đa thức của một hàm Bool :
f = m1 m2 …. mk (F)
f =M1 M2 … Ml (G)
Ta nói rằng công thức F đơn giản hơn công thức G nếu
tồn tại đơn ánh h: {1,2,..,k} → { 1,2,…, l} sao cho với mọi
i {1,2,..,k} thì số từ đơn của mi không nhiều hơn số từ
đơn của Mh(i)
22
Công thức đa thức tối tiểu
Đơn giản như nhau
Nếu F đơn giản hơn G và G đơn giản hơn F
thì ta nói F và G đơn giản như nhau
** Công thức đa thức tối tiểu:
Công thức F của hàm Bool f được gọi là tối
tiểu nếu với bất kỳ công thức G của f mà đơn
giản hơn F thì F và G đơn giản như nhau
Phương pháp biểu đồ Karnaugh.
Xét f là một hàm Bool theo n biến x1,x2,.,xn với n = 3 hoặc 4.
f là hàm Bool theo 3 biến x, y, z. Khi đó bảng chân trị của f gồm 8 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 8 ô, tương ứng với 8 hàng của bảng chân trị, được đánh dấu như sau:
Trường hợp n = 3:
Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x =1, bởi thì tại đó x =0, tương tự cho y, z.
Với qui ước:
Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được đánh dấu được gọi là biểu đồ Karnaugh của f, ký hiệu là kar(f).
f là hàm Bool theo 4 biến x, y, z, t. Khi đó bảng chân trị của f gồm 16 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 16 ô, tương ứng với 16 hàng của bảng chân trị, được đánh dấu như sau:
Trường hợp n = 4:
Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x =1, bởi thì tại đó x =0, tương tự cho y, z, t.
Với qui ước:
Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được đánh dấu được gọi là biểu đồ karnaugh của f, ký hiệu là kar(f).
Trong cả hai trường hợp, hai ô được gọi là kề nhau (theo nghĩa rộng), nếu chúng là hai ô liền nhau hoặc chúng là ô đầu, ô cuối của cùng một hàng (cột) nào đó. Nhận xét rằng, do cách đánh dấu như trên, hai ô kề nhau chỉ lệch nhau ở một biến duy nhất.
Định lý
Cho f, g là các hàm Bool theo n biến x1,x2,.,xn. Khi đó:
a) kar(fg) = kar(f)?kar(g).
b) kar(f?g) = kar(f)?kar(g).
c) kar(f) gồm đúng một ô khi và chỉ khi f là một t? tối tiểu
Tế bào là hình chữ nhật (theo nghĩa rộng) gồm 2n-k ô
Tế bào
Nếu T là một tế bào thì T là biểu đồ karnaugh của một đơn thức duy nhất m, cách xác định m như sau: lần lượt chiếu T lên các cạnh, nếu toàn bộ hình chiếu nằm trọn trong một từ đơn nào thì từ đơn đó mới xuất hiện trong m.
Ví du 1:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 2:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 3:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 4:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 5:
Xét các hàm Bool theo 4 biến x, y, z, t.
Tế bào sau:
Là biểu đồ Karnaugh của đơn thức nào?
Cho hàm Bool f. Ta nói T là một tế bào lớn của kar(f) nếu T thoả hai tính chất sau:
Tế bào lớn.
a) T là một tế bào và T ? kar(f).
b) Không tồn tại tế bào T` nào thỏa T` ? T và
T ? T` ? kar(f).
Ví dụ: Xét hàm Bool f theo 4 biến x, y, z, t có biểu đồ karnaugh như sau:
Kar(f) có 6 tế bào lớn như sau:
Thuật toán.
Bước 1: Vẽ biểu đồ karnaugh của f.
Bước 2: Xác định tất cả các tế bào lớn của kar(f).
Bước 3: Xác định các tế bào lớn m nhất thiết phải chọn.
Ta nhất thiết phải chọn tế bào lớn T khi tồn tại một ô của kar(f) mà ô này chỉ nằm trong tế bào lớn T và không nằm trong bất kỳ tế bào lớn nào khác.
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn.
Nếu các tế bào lớn chọn được ở bước 3 đã phủ được kar(f) thì ta có duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f).
Nếu các tế bào lớn chọn được ở bước 3 chưa phủ được kar(f) thì xét một ô chưa bị phủ, sẽ có ít nhất hai tế bào lớn chứa ô này, ta chọn một trong các tế bào lớn này. Cứ tiếp tục như thế ta sẽ tìm được tất cả các phủ gồm các tế bào lớn của kar(f). Loại bỏ các phủ không tối tiểu, ta tìm được tất cả các phủ tối tiểu gồm các tế bào lớn của kar(f).
Thuật toán.
Bước 5: Xác định các công thức đa thức tối tiểu của f.
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. So sánh các công thức trên . Loại bỏ các công thức đa thức mà có một công thức đa thức nào đó thực sự đơn giản hơn chúng. Các công thức đa thức còn lại chính là các công thức đa thức tối tiểu của f.
Thuật toán.
Một số ví dụ
Ví dụ 1:
Tìm tất cả các công thức đa thức tối tiểu của hàm Bool:
Giải
Ta có
Bước 1: Vẽ kar(f)
Bước 3: Xác định các tế bào lớn nhất thiết phải chọn.
Ô 1 nằm trong một tế bào lớn duy nhất x. Ta chọn x.
Ô 3 nằm trong một tế bào lớn duy nhất yz. Ta chọn yz.
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn.
Các ô được các tế bào lớn đã chọn ở bước 3 phủ như sau:
Ta được duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f): x; yz.
Bước 5: Xác định các công thức đa thức tối tiểu của f.
Ứng với phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được duy nhất một công thức đa thức tối tiểu của f:
Ví dụ 2: Tìm tất cả các công thức đa thức tối tiểu của hàm Bool:
Giải
Ta có
Bước 1: Vẽ kar(f):
Bước 2: Kar(f) có các tế bào lớn như sau:
Bước 3: Xác định các tế bào lớn nhất thiết phải chọn
Ô 1 nằm trong một tế bào lớn duy nhất
Ta chọn
Ô 4 nằm trong một tế bào lớn duy nhất xzt
Ta chọn xzt
Ô 6 nằm trong một tế bào lớn duy nhất
Ta chọn
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn
Các ô được các tế bào lớn đã chọn ở bước 3 phủ như sau:
Bước 5: Xác định các công thức đa thức tối tiểu của f.
Ứng với hai phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được hai công thức đa thức của f:
Ta thấy hai công thức trên đơn giản như nhau. Do đó, chúng đều là hai công thức đa thức tối tiểu của f.
Víd? 3(BÀI 7D?2007)
Hãy xác định các công thức đa thức tối tiểu của hàm Bool:
Biểu đồ Karnaugh: (0,25đ)
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) có thể nằm trong 2 tế bào lớn
Do đó có 2 công thức đa thức tương ứng với phủ tối tiểu: (0, 5đ)
Trong đó chỉ có công thức thứ hai là tối tiểu (0,25đ)
Mạng logic (Mạng các cổng)
Định nghĩa
Một mạng logic hay một mạng các cổng là một hệ thống có dạng:
trong đó: - Input: x1, x2,..., xn là các biến Bool.
- Output f(x1, x2,..., xn) là hàm Bool.
Ta nói mạng logic trên tổng hợp hay biểu diễn hàm Bool f.
Một mạng logic bất kỳ luôn luôn được cấu tạo từ một số mạng sơ cấp mà ta gọi là các cổng.
Cổng NOT
Cổng AND
Cổng OR
Cổng NAND
Cổng NOR
x
inverter
x
y
x + y
OR gate
AND gate
x
y
x y
x1
x1+x2+…+xn
OR gate with n inputs
x2
xn
x1
x2
xn
x1x2…xn
AND gate with n inputs
Basic Gates
x
x
y
OR
y
x y
We combine gates by allowing output of one gate to become input of other gates
x
y
x y
x
x
y
y
x + y + z
Example. Construct the circuit that provides the output
z
z
Example of Circuits
Example. Design a circuit to simulate the voting of a committee of three persons based on the majority
Solution. The voting of three persons are represented by three Boolean variables x, y, z : 1 for YES and 0 for NO
y
x
y
z
x y
x
z
x z
y z
x y + x z + y z
Example of Circuits
Example. Design a circuit for a light controlled by two switches
Solution. The switches are represented by two Boolean variables x, y : 1 for CLOSED and 0 for OPEN
Let F(x, y) =1 when the light is ON and 0 when it is OFF
Assume that F(1, 1) =1 when both switches are closed
Then the Boolean function F(x, y) is determined by the truth table
The corresponding circuit
x
x
y
y
x y
Example. Design a circuit for a light controlled by three switches
Solution. The switches are represented by three Boolean variables x, y, z : 1 for CLOSED and 0 for OPEN
Then the Boolean function F(x, y, z) is determined by the truth table
Assume that F(1, 1, 1) =1 when three switches are closed
Let F(x,y,z) =1 when the light is ON and 0 when it is OFF
x
x
y
z
x y z
z
y
x
y
z
x
z
y
The corresponding circuit
x
z
This formula contains only three literals. It allows us to design a circuit to represent f with only one OR gate with three inputs
x
The corresponding circuit
y
z
w
Đề thi
2009.
Xét hàm Bool
Hãy tìm các từ tối tiểu m sao cho m
Suy ra cách biểu diễn f như là tích của các từ tối đại , trong đó mỗi từ tối đại là tổng Bool của 4 từ đơn
Phần VI
Đại Số Bool và hàm Bool
Biên soạn :Nguyễn Viết Đông
2
George Boole
(1815-1864)
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 bản giáo dục.
[2] TS.Trần Ngọc Hội, Toán rời rạc
4
Đại Số Bool
Một đại số Bool (A,?,?) là một tập hợp A ? ? với hai phép toán ?, ?, tức là hai ánh xạ:
?: A?A ? A
(x,y) ?x?y
và ?: A?A ? A
(x,y)?x?y
thỏa 5 tính chất sau:
5
Đại Số Bool
Tính giao hoán: ?x,y?A
x?y = y?x;
x?y = y?x;
Tính kết hợp: ?x,y,z?A
(x?y) ?z = x?(y ?z);
(x?y) ?z = x? (y ?z).
Tính phân bố: ?x,y,z?A
x?(y ?z) = (x?y) ?(x?z);
x? (y? z) = (x?y) ? (x?z).
6
Đại Số Bool
Có các phần tử trung hòa 1 và 0: ?x ?A
x?1 = 1?x = x;
x?0 = 0?x = x.
Mọi phần tử đều có phần tử bù: ?x ?A,
? ?A,
x ? = ? x = 0;
x ? = ? x = 1.
7
Đại Số Bool
Ví dụ:
Xét F là tập hợp tất cả các 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 ?, trong đó ta đồng nhất các dạng mệnh đề tương đương. Khi đó F là một đại số Bool với phần tử 1 là hằng đúng 1, phần tử 0 là hằng sai 0, phần tử bù của dạng mệnh đề E là dạng mệnh đề bù
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 ?,? như sau:
Khi đó, B trở thành một đại số Bool
9
Đại Số Bool
Cho đại số Bool (A,?,?). Khi đó với mọi x,y?A, ta có:
1) x?x = x; x?x = x.
2) x?0 = 0?x =0; x?1 =1?x = 1.
3)Phần tử bù của x là duy nhất
và = x;
Công thức De Morgan:
5) Tính hấp thụ:x?(x?y) = x; x? (x?y) = x.
10
Định nghĩa hàm Bool
Hàm Bool n biến là ánh xạ
f : Bn ? B , trong đó B = {0, 1}.
Nhu v?y 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 chỉ nhận hai giá trị 0, 1 và f nhận giá trị trong B = {0, 1}.
Ký hiệu Fn để chỉ tập các hàm Bool biến.
Ví dụ: Dạng mệnh đề E = E(p1,p2,.,pn) theo n biến p1, p2,., pn là một hàm Bool n biến.
11
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
Bảng chân trị
12
Ví dụ
Xét kết qủa f trong việc thông qua một quyết định dựa vào 3 phiếu bầu x, y, z
Mỗi phiếu chỉ lấy một trong hai giá trị: 1 (tán thành) hoặc 0 (bác bỏ).
Kết qủa f là 1 (thông qua quyết định) nếu
được đa số phiếu tán thành, là 0 (không thông
qua quyết định) nếu đa số phiếu bác bỏ.
13
Hàm Bool
Khi đó f là hàm Bool theo 3 biến x, y, z có bảng chân trị như sau:
14
Các phép toán trên hàm Bool
Các phép toán trên Fn được định nghĩa như sau:
Phép cộng Bool ?:
Với f, g ? Fn ta định nghĩa tổng Bool của f và g:
f g = f + g – fg
15
Các phép toán trên hàm Bool
x = (x1,x2,…,xn) Bn,
(f g)(x) = f(x) + g(x) – f(x)g(x)
f ? g ? Fn và (f ? g)(x) = max{f(x), g(x)}
Dễ thấy
16
Các phép toán trên hàm Bool
Phép nhân Bool ?:
Với f, g ?Fn ta định nghĩa tích Bool của f và g
f g = fg
17
Các phép toán trên hàm Bool
x=(x1,x2,…,xn)Bn,
(f g)(x) = f(x)g(x)
Dễ thấy:
f ? g ?Fn và (f ? g)(x) = min{f(x), g(x)}
Ta thường viết fg thay cho f ? g
18
Các phép toán trên hàm Bool
3) Phép lấy hàm bù:
Với f ? Fn ta định nghĩa hàm bù của f như sau:
19
Dạng nối rời chính tắc của Hàm Bool
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 được gọi là từ đơn.
Đơn thức là tích khác không của một số hữu hạn từ đơn.
Từ tối tiểu là tích khác không của đú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 của các đơn thức.
Dạng nối rời chính tắc là công thức biểu diễn hàm Bool thành tổng của các từ tối tiểu.
Dạng nối liền chính tắc của hàm Bool
Từ tối đại là phần bù của các từ tối tiểu.Mỗi từ tối đại là tổng Boole của n từ đơn.
Công thức biểu diễn hàm Boole f thành tích của các từ tối đại gọi là dạng nối liền chính tắc của hàm Boole f
20
21
Công thức đa thức tối tiểu
Đơn giản hơn
Cho hai công thức đa thức của một hàm Bool :
f = m1 m2 …. mk (F)
f =M1 M2 … Ml (G)
Ta nói rằng công thức F đơn giản hơn công thức G nếu
tồn tại đơn ánh h: {1,2,..,k} → { 1,2,…, l} sao cho với mọi
i {1,2,..,k} thì số từ đơn của mi không nhiều hơn số từ
đơn của Mh(i)
22
Công thức đa thức tối tiểu
Đơn giản như nhau
Nếu F đơn giản hơn G và G đơn giản hơn F
thì ta nói F và G đơn giản như nhau
** Công thức đa thức tối tiểu:
Công thức F của hàm Bool f được gọi là tối
tiểu nếu với bất kỳ công thức G của f mà đơn
giản hơn F thì F và G đơn giản như nhau
Phương pháp biểu đồ Karnaugh.
Xét f là một hàm Bool theo n biến x1,x2,.,xn với n = 3 hoặc 4.
f là hàm Bool theo 3 biến x, y, z. Khi đó bảng chân trị của f gồm 8 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 8 ô, tương ứng với 8 hàng của bảng chân trị, được đánh dấu như sau:
Trường hợp n = 3:
Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x =1, bởi thì tại đó x =0, tương tự cho y, z.
Với qui ước:
Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được đánh dấu được gọi là biểu đồ Karnaugh của f, ký hiệu là kar(f).
f là hàm Bool theo 4 biến x, y, z, t. Khi đó bảng chân trị của f gồm 16 hàng. Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 16 ô, tương ứng với 16 hàng của bảng chân trị, được đánh dấu như sau:
Trường hợp n = 4:
Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x =1, bởi thì tại đó x =0, tương tự cho y, z, t.
Với qui ước:
Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được đánh dấu được gọi là biểu đồ karnaugh của f, ký hiệu là kar(f).
Trong cả hai trường hợp, hai ô được gọi là kề nhau (theo nghĩa rộng), nếu chúng là hai ô liền nhau hoặc chúng là ô đầu, ô cuối của cùng một hàng (cột) nào đó. Nhận xét rằng, do cách đánh dấu như trên, hai ô kề nhau chỉ lệch nhau ở một biến duy nhất.
Định lý
Cho f, g là các hàm Bool theo n biến x1,x2,.,xn. Khi đó:
a) kar(fg) = kar(f)?kar(g).
b) kar(f?g) = kar(f)?kar(g).
c) kar(f) gồm đúng một ô khi và chỉ khi f là một t? tối tiểu
Tế bào là hình chữ nhật (theo nghĩa rộng) gồm 2n-k ô
Tế bào
Nếu T là một tế bào thì T là biểu đồ karnaugh của một đơn thức duy nhất m, cách xác định m như sau: lần lượt chiếu T lên các cạnh, nếu toàn bộ hình chiếu nằm trọn trong một từ đơn nào thì từ đơn đó mới xuất hiện trong m.
Ví du 1:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 2:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 3:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 4:
Xét các hàm Bool theo 4 biến x, y, z, t.
Ví dụ 5:
Xét các hàm Bool theo 4 biến x, y, z, t.
Tế bào sau:
Là biểu đồ Karnaugh của đơn thức nào?
Cho hàm Bool f. Ta nói T là một tế bào lớn của kar(f) nếu T thoả hai tính chất sau:
Tế bào lớn.
a) T là một tế bào và T ? kar(f).
b) Không tồn tại tế bào T` nào thỏa T` ? T và
T ? T` ? kar(f).
Ví dụ: Xét hàm Bool f theo 4 biến x, y, z, t có biểu đồ karnaugh như sau:
Kar(f) có 6 tế bào lớn như sau:
Thuật toán.
Bước 1: Vẽ biểu đồ karnaugh của f.
Bước 2: Xác định tất cả các tế bào lớn của kar(f).
Bước 3: Xác định các tế bào lớn m nhất thiết phải chọn.
Ta nhất thiết phải chọn tế bào lớn T khi tồn tại một ô của kar(f) mà ô này chỉ nằm trong tế bào lớn T và không nằm trong bất kỳ tế bào lớn nào khác.
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn.
Nếu các tế bào lớn chọn được ở bước 3 đã phủ được kar(f) thì ta có duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f).
Nếu các tế bào lớn chọn được ở bước 3 chưa phủ được kar(f) thì xét một ô chưa bị phủ, sẽ có ít nhất hai tế bào lớn chứa ô này, ta chọn một trong các tế bào lớn này. Cứ tiếp tục như thế ta sẽ tìm được tất cả các phủ gồm các tế bào lớn của kar(f). Loại bỏ các phủ không tối tiểu, ta tìm được tất cả các phủ tối tiểu gồm các tế bào lớn của kar(f).
Thuật toán.
Bước 5: Xác định các công thức đa thức tối tiểu của f.
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. So sánh các công thức trên . Loại bỏ các công thức đa thức mà có một công thức đa thức nào đó thực sự đơn giản hơn chúng. Các công thức đa thức còn lại chính là các công thức đa thức tối tiểu của f.
Thuật toán.
Một số ví dụ
Ví dụ 1:
Tìm tất cả các công thức đa thức tối tiểu của hàm Bool:
Giải
Ta có
Bước 1: Vẽ kar(f)
Bước 3: Xác định các tế bào lớn nhất thiết phải chọn.
Ô 1 nằm trong một tế bào lớn duy nhất x. Ta chọn x.
Ô 3 nằm trong một tế bào lớn duy nhất yz. Ta chọn yz.
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn.
Các ô được các tế bào lớn đã chọn ở bước 3 phủ như sau:
Ta được duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f): x; yz.
Bước 5: Xác định các công thức đa thức tối tiểu của f.
Ứng với phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được duy nhất một công thức đa thức tối tiểu của f:
Ví dụ 2: Tìm tất cả các công thức đa thức tối tiểu của hàm Bool:
Giải
Ta có
Bước 1: Vẽ kar(f):
Bước 2: Kar(f) có các tế bào lớn như sau:
Bước 3: Xác định các tế bào lớn nhất thiết phải chọn
Ô 1 nằm trong một tế bào lớn duy nhất
Ta chọn
Ô 4 nằm trong một tế bào lớn duy nhất xzt
Ta chọn xzt
Ô 6 nằm trong một tế bào lớn duy nhất
Ta chọn
Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn
Các ô được các tế bào lớn đã chọn ở bước 3 phủ như sau:
Bước 5: Xác định các công thức đa thức tối tiểu của f.
Ứng với hai phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được hai công thức đa thức của f:
Ta thấy hai công thức trên đơn giản như nhau. Do đó, chúng đều là hai công thức đa thức tối tiểu của f.
Víd? 3(BÀI 7D?2007)
Hãy xác định các công thức đa thức tối tiểu của hàm Bool:
Biểu đồ Karnaugh: (0,25đ)
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) có thể nằm trong 2 tế bào lớn
Do đó có 2 công thức đa thức tương ứng với phủ tối tiểu: (0, 5đ)
Trong đó chỉ có công thức thứ hai là tối tiểu (0,25đ)
Mạng logic (Mạng các cổng)
Định nghĩa
Một mạng logic hay một mạng các cổng là một hệ thống có dạng:
trong đó: - Input: x1, x2,..., xn là các biến Bool.
- Output f(x1, x2,..., xn) là hàm Bool.
Ta nói mạng logic trên tổng hợp hay biểu diễn hàm Bool f.
Một mạng logic bất kỳ luôn luôn được cấu tạo từ một số mạng sơ cấp mà ta gọi là các cổng.
Cổng NOT
Cổng AND
Cổng OR
Cổng NAND
Cổng NOR
x
inverter
x
y
x + y
OR gate
AND gate
x
y
x y
x1
x1+x2+…+xn
OR gate with n inputs
x2
xn
x1
x2
xn
x1x2…xn
AND gate with n inputs
Basic Gates
x
x
y
OR
y
x y
We combine gates by allowing output of one gate to become input of other gates
x
y
x y
x
x
y
y
x + y + z
Example. Construct the circuit that provides the output
z
z
Example of Circuits
Example. Design a circuit to simulate the voting of a committee of three persons based on the majority
Solution. The voting of three persons are represented by three Boolean variables x, y, z : 1 for YES and 0 for NO
y
x
y
z
x y
x
z
x z
y z
x y + x z + y z
Example of Circuits
Example. Design a circuit for a light controlled by two switches
Solution. The switches are represented by two Boolean variables x, y : 1 for CLOSED and 0 for OPEN
Let F(x, y) =1 when the light is ON and 0 when it is OFF
Assume that F(1, 1) =1 when both switches are closed
Then the Boolean function F(x, y) is determined by the truth table
The corresponding circuit
x
x
y
y
x y
Example. Design a circuit for a light controlled by three switches
Solution. The switches are represented by three Boolean variables x, y, z : 1 for CLOSED and 0 for OPEN
Then the Boolean function F(x, y, z) is determined by the truth table
Assume that F(1, 1, 1) =1 when three switches are closed
Let F(x,y,z) =1 when the light is ON and 0 when it is OFF
x
x
y
z
x y z
z
y
x
y
z
x
z
y
The corresponding circuit
x
z
This formula contains only three literals. It allows us to design a circuit to represent f with only one OR gate with three inputs
x
The corresponding circuit
y
z
w
Đề thi
2009.
Xét hàm Bool
Hãy tìm các từ tối tiểu m sao cho m
Suy ra cách biểu diễn f như là tích của các từ tối đại , trong đó mỗi từ tối đại là tổng Bool của 4 từ đơn
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trương Nhân
Dung lượng: 872,73KB|
Lượt tài: 0
Loại file: rar
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)