Bài giảng Toán rời rạc - Chương III: Ðại số Bool. Hàm Bool

1. ðại Số Bool

Một ñại số Bool (A,+,.) là một tập hợp A ≠

với hai phép toán (+), (.), thỏa 5 tính chất sau:

• Tính giao hoán: x,y A

x.y = y.x;

x+y = y+x

pdf11 trang | Chuyên mục: Cấu Trúc Rời Rạc | Chia sẻ: yen2110 | Lượt xem: 372 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Toán rời rạc - Chương III: Ðại số Bool. Hàm Bool, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, B trở thành một ñại số Bool
. 0 1
0 0 0
1 0 1
+ 0 1
0 0 0
1 0 1
06/05/2010 7
1. ðạ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;
4. Công thức De Morgan:
5. Tính hấp thụ:
x(x+y) = x; x+(xy) = x.
= +
+ =
xy x y;
x y xy.
x
= =1 0; 0 1.
06/05/2010 8
2. Hàm Bool
ðịnh nghĩa
Một hàm Bool n biến là một á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
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 n biến.
06/05/2010
3
06/05/2010 9
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.
2. Hàm Bool
06/05/2010 10
Xét kết quả f trong việc thông qua một Quyết ñịnh dựa
vào 3 phiếu bầu x, y, z.
1. Mỗi phiếu chỉ lấy một trong hai giá trị: 1 (tán thành)
hoặc 0 (bác bỏ).
2. Kết quả 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ỏ.
Khi ñó f là hàm Bool theo 3 biến x, y, z có bảng chân
trị như sau:
2. Hàm Bool
Ví dụ:
06/05/2010 11
2. Hàm Bool
x y z f
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 0
0 0 0 0
06/05/2010 12
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:
1. Phép cộng Bool +:
Với f, g ∈ Fn ta ñịnh nghĩa tổng Bool của f và g:
2. 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
06/05/2010
4
06/05/2010 13
2. Phép nhân Bool .:
Với f, g ∈Fn ta ñịnh nghĩa tích Bool của f và g 
2. Hàm Bool
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)}
06/05/2010 14
3. Phép lấy hàm bù:
Với f ∈ Fn ta ñịnh nghĩa hàm bù của f như sau:
1f f= −
2. Hàm Bool
Các phép toán trên hàm Bool
06/05/2010 15
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.
ix
2. Hàm Bool
06/05/2010 16
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ằngcô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)
2. Hàm Bool
06/05/2010
5
06/05/2010 17
• ðơ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
2. Hàm Bool
Công thức ña thức tối tiểu
06/05/2010 18
2. Hàm Bool
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.
Trường hợp n = 3: 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:
x x
z 101 111 011 001
100 110 010 000
y y
x x
z
y y
06/05/2010 19
2. Hàm Bool
Phương pháp biểu ñồ Karnaugh
Với qui ước: 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.
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).
x
06/05/2010 20
2. Hàm Bool
Trường hợp n = 4: 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:
x x
z 1010 1110 0110 0010
z 1011 1111 0111 0011 t
1001 1101 0101 0001 t
1000 1100 0100 0000
y y
Phương pháp biểu ñồ Karnaugh
x x
z
y y
z
t
t
06/05/2010
6
06/05/2010 21
2. Hàm Bool
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.
Phương pháp biểu ñồ Karnaugh
06/05/2010 22
2. Hàm Bool
Tế bào
Xét các hàm Bool theo n biến x1,x2,,xn. Khi ñó, nếu f
là một ñơn thức có dạng tích của k từ ñơn phân biệt thì
kar(f) là một hình chữ nhật gồm 2n-k ô kề nhau. Những
hình chữ nhật gồm một lũy thừa của 2 những ô kề nhau
ñược gọi là các tế bào. Như vậy, biểu ñồ Karnaugh của
một ñơn thức là một tế bào. Ngược lại, 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.
06/05/2010 23
2. Hàm Bool
Ví dụ: Xét các hàm Bool theo 4 biến x, y, z, t.
Biểu ñồ Karnaugh của ñơn thức xyzt
x x
z
z t
t
y y
x x
z
y y
z
t
t
06/05/2010 24
2. Hàm Bool
Ví dụ: Xét các hàm Bool theo 4 biến x, y, z, t.
Biểu ñồ Karnaugh của ñơn thức 
x x
z
z t
t
y y
x x
z
y y
z
t
t
yzt
06/05/2010
7
06/05/2010 25
2. Hàm Bool
Ví dụ: Xét các hàm Bool theo 4 biến x, y, z, t.
Biểu ñồ Karnaugh của ñơn thức 
x x
z
z t
t
y y
x x
z
y y
z
t
t
yt
06/05/2010 26
2. Hàm Bool
Ví dụ: Xét các hàm Bool theo 4 biến x, y, z, t.
Biểu ñồ Karnaugh của ñơn thức 
x x
z
z t
t
y y
x x
z
y y
z
t
t
t
06/05/2010 27
2. Hàm Bool
Tế bào lớn
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:
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).
06/05/2010 28
2. Hàm Bool
Ví dụ:
Xét hàm Bool f theo 4 biến x, y, z, t có biểu ñồ
Karnaugh như sau:
x x
z
z t
t
y y
x x
z
y y
z
t
t
06/05/2010
8
06/05/2010 29
2. Hàm Bool
Kar(f) có 6 tế bào lớn như sau:
x x
z
z t
t
y y
x x
z
y y
z
t
t
x x
z
z t
t
y y
x x
z
y y
z
t
t
xz yz
06/05/2010 30
2. Hàm Bool
x x
z
z t
t
y y
x x
z
y y
z
t
t
x x
z
z t
t
y y
x x
z
y y
z
t
t
xt xy
06/05/2010 31
2. Hàm Bool
x x
z
z t
t
y y
x x
z
y y
z
t
t
x x
z
z t
t
y y
x x
z
y y
z
t
t
yzt yt
06/05/2010 32
2. Hàm Bool
Thuật toán xác ñịnh tất cả các công thức ña thức
tối tiểu của hàm Bool f
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 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.
06/05/2010
9
06/05/2010 33
2. Hàm Bool
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).
06/05/2010 34
2. Hàm Bool
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.
06/05/2010 35
2. Hàm Bool
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
Ta có:
Bước 1:Vẽ kar(f):
( , , , ) ( )f x y z t xyzt x y xz yz xy z t= + + + + +
f xyzt x y xz yz xyz xyt= + + + + +
x x
z 1 2 3
z 4 5 6 t
7 8 t
9 10
y y
x x
z
y y
z
t
t
06/05/2010 36
2. Hàm Bool
Bước 2: Kar(f) có các tế bào lớn như sau:
x x
z 1 2
z 4 5 t
7 8 t
9 10
y y
x x
z
y y
z
t
t
x x
z 2 3
z 5 6 t
t
y y
x x
z
y y
z
t
t
x yt
06/05/2010
10
06/05/2010 37
2. Hàm Bool
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.
06/05/2010 38
2. Hàm Bool
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.
x x
z 1 2 3
z 4 5 6 t
7 8 t
9 10
y y
x x
z
y y
z
t
t
06/05/2010 39
2. Hàm Bool
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:
f x yz= +
06/05/2010 40
3. 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:
x1
x2
xn
f(x1,x2,..., xn)
06/05/2010
11
06/05/2010 41
3. Mạng logic (Mạng các cổ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
06/05/2010 42
3. Mạng logic (Mạng các cổng)
Cổng NOT 
Cổng AND 
Cổng OR 
06/05/2010 43
3. Mạng logic (Mạng các cổng)
x
x
y
OR
y
x y
yx
yxxy +
x
x
y
x y
yx
yxxy +
x

File đính kèm:

  • pdfbai_giang_toan_roi_rac_chuong_iii_ai_so_bool_ham_bool.pdf