Professional Documents
Culture Documents
Chuong06 - Dai So Boolean
Chuong06 - Dai So Boolean
www.dtu.edu.vn
Chương 6
Đại số Boolean
(Thời lượng:4g)
2 Hàm Boole
3 Mạch logic
Cựctiểu
4 Cực tiểuhóa
hóamạch
mạchlogic
Logic
Ứng dụng
Mạch điện tử
Chuyển mạch quang học
Định nghĩa: Tập hợp khác rỗng S cùng với các phép toán ký
hiệu nhân (.), cộng (+), lấy bù (’)(hoặc ) được gọi là một
đại số Boole nếu các tiên đề sau đây được thoả mãn với mọi
a, b, c S.
4. Tồn tại phần tử trung hoà: Tồn tại hai phần tử
1. Tính giao hoán: ký hiệu là 1,0S:
a) a.b=b.a, a) a.1 = 1.a = a. (1 phần tử trung hoà của phép .)
b) a+b = b+a. b) a+0 = 0+a = a. (0 phần tử trung hoà của phép +)
2. Tính kết hợp: 5. Tồn tại phần tử bù: Với mọi a S, tồn tại duy
a) (a.b).c = a.(b.c), nhất phần tử a’ S sao cho:
b) (a+b)+c = a+(b+c). a) a.a’ = a’.a = 0,
3. Tính phân phối: b) a+a’ = a’+a = 1.
a) a.(b+c) = (a.b)+(a.c), a’ gọi là phần tử bù của a.
b) a+(b.c) = (a+b).
(a+c).
Đại số Boolean Cấu trúc đại số thao tác trên các biến
luận lý nhị phân
Lưu ý:
1. Biến luận lý: Biểu diễn trạng thái của 1 hoạt động hoặc
tính chất của 1 sự kiện, sự vật nào nào đó; không phải
là số 0 hoặc 1.
Ví dụ: Sáng/tối, đóng/mở, 0/1, đúng/sai, tăng/giảm v.v…
2. Thao tác luận lý: Các phép toán tác động lên các biến
luận lý. Ví dụ:
Thao tác nhân “.”: AND, hội (), giao () v.v…
Thao tác cộng “+”: OR, tuyển (), hợp () v.v…
Thao tác phủ định: NOT ( ,
Ví du: x + 1
Ví dụ: F(x,y,z) = xy +
Biểu thức
Boole
Một số ví dụ:
Ví dụ 1: Đại số lôgic là một đại số Boole, trong đó S là tập hợp
các mệnh đề, các phép toán (hội), (tuyển), − (phủ định)
tương ứng với . , +, ’, các hằng T (đúng), F (sai) tương ứng
với các phần tử trung hoà 1, 0.
Tính chất Tính chất Tính chất Tính chất
Tính chất 4
1 2 3 5
Một số ví dụ (tt):
Ví dụ 2: Đại số tập hợp là một đại số Boole, trong đó S là tập
hợp P(X) gồm các tập con của tập khác rỗng X, các phép
toán (giao), (hợp), \ (hiệu) tương ứng với . , +, ’, các
tập X, Ø tương ứng với các phần tử trung hoà 1, 0.
Bài toán: Cho mạch điện cầu thang 2 công tắc như
hình vẽ sau:
Định nghĩa 2: Cho B = {0, 1} với các phép toán bù, tổng và
tích Boole. Biểu thức Boole với các biến x1,…,xn được định
nghĩa đệ quy như sau:
0, 1, x1,…,xn là biểu thức Boole.
Nếu E là biểu thức Boole, thì E cũng là biểu thức Boole.
Nếu E1 và E2 là các biểu thức Boole, thì E1+E2 và E1.E2 cũng là biểu thức
Boole.
E1 = f1(x,y) = x+y (x,y chỉ lấy 2 trạng thái [0,1])
E1: Biểu thức Boole.
E2 = f2(x,y) = xy E2 : Biểu thức Boole
E1+E2 = x+y+ xy Biểu thức Boole
E1.E2 = xy(x+y) -- > Biểu thức Boole
Định nghĩa 2: Cho B = {0, 1} với các phép toán bù, tổng và
tích Boole. Biểu thức Boole với các biến x1,…,xn được định
nghĩa đệ quy như sau:
0, 1, x1,…,xn là biểu thức Boole.
Nếu E là biểu thức Boole, thì E cũng là biểu thức Boole.
Nếu E1 và E2 là các biểu thức Boole, thì E1+E2 và E1.E2 cũng là biểu thức
Boole.
Định nghĩa 3: Hai hàm n biến F và G được gọi là bằng nhau
nếu F(a1, a2, …, an) = G(a1, a2, …,an) với mọi a1, a2, …, an B.
Hai biểu thức Boole khác nhau biểu diễn cùng một hàm Boole
được gọi là tương đương nhau.
Ví dụ: F1 = xy + xy’, F2 = x
F1 và F2 được gọi là tương đương
Định nghĩa 5:
Một biến Boole hoặc bù của nó gọi là một tục biến/đơn tử.
(Literal)
Tích Boole: y1.y2...yn , trong đó: yi = xi hoặc yi = xi , i=1, 2,
…,n
Với xi là các biến Boole, yi được gọi là một tiểu hạng (Minterm)
Ví dụ: F(x,y,z) = xyz ; G(x,y,f) =
Một tiểu hạng có giá trị 1 khi và chỉ khi: xi = 1 (i=1, 2, …,n)
Tức là: xi = 1, nếu yi = xi xi = 0, nếu yi = xi (i=1, 2, …,n)
Ví dụ: Tìm các tiểu hạng có giá trị 1 của 2 biến biểu diễn 2
công tắc trong bài toán mạch điện cầu thang?
Tìm các biểu diễn tiểu hạng =1, đại hạng = 0.
Tìm những trường hợp mà tuyển chuẩn tắc =1, hội chuẩn
tắc = 0
Hàm Boole của đèn: f(x,y)
f(x,y) =1 sáng
F(x,y) = 0 tối
Có nhiều cách để biểu diễn trạng thái
của đèn này:
1. f(x,y) = x.y //(x=1,y=1) f=1
đèn sáng
2. f(x,y) = x.(y) //(x=0, y=0) f=1
đèn sáng // tiểu hạng bằng 1 và đại hạng bằng
0
3. f(x,y) = x.y //( x=0, y=1) f=1 đèn
sáng
x y 4. f(x,y) = x. (y) //(x=1, y=0) f=1 đèn
sáng
4 biểu thức này là tương đương vì
cùng biểu diễn cho 1 hàm Boolean
Chương 6 - Đại số Boole
Hàm Boole LOGO
Ví dụ: Tìm các tiểu hạng có giá trị 1 của 2 biến biểu diễn 2
công tắc trong bài toán mạch điện cầu thang?
Tìm các biểu diễn tiểu hạng =1, đại hạng = 0.
Tìm những trường hợp mà tuyển chuẩn tắc =1, hội chuẩn tắc = 0
Đáp án:
x.y (khi x=1, y=1)
x.(y) (khi x=0, y=0)
x.y (khi x=0, y=1)
x.(y) (khi x=1, y= 0)
Đây chính là các tiểu hạng giá trị 1
x y
xi ai =1
Trong đó: yi =
j=1,…,n
xi ai =0
Một biểu thức dưới dạng tổng của tích (còn gọi là
“dạng chuẩn tuyển” – disjunctive normal form)
Ví dụ: Trong bài toán mạch điện cầu thang, tìm dạng tuyển
chuẩn tắc của hàm f(x,y) biểu diễn trạng thái của bóng đèn.
x y f(x,y)
0 0 1
Trước tiên tìm các giá trị của hàm f 0 1 0
Tiếp theo ta tìm các tiểu hạng tương ứng 1 0 0
1 1 1
với các bộ giá trị làm cho hàm f có giá trị 1.
Tại các hàng 1, 4 hàm f có giá trị 1. Ta có:
m1 m2
f(x, y) = (x).(y) + x.y
Đây là dạng tuyển chuẩn tắc của hàm f(x,y)
Ví dụ: Tìm các đại hạng có giá trị 0 của 2 (đại hạng) biến
biểu diễn 2 công tắc trong bài toán mạch điện cầu thang?
Đáp án:
x+y (khi x=0, y=0)
x+(y) (khi x=1, y=1)
x+y (khi x=1, y=0)
x+(y) (khi x=0, y= 1)
Đây chính là các đại hạng giá trị 0
Một biểu thức dưới dạng tích của tổng (còn gọi là
“dạng chuẩn hội” – conjunctive normal form)
Giải quyết:
Gọi x, y, z lần lượt là các biến biểu diễn cho 3 lá phiếu
của 3 người
x =1 nếu người thứ 1 tán thành, x=0 nếu không tán thành
Tương tự cho 2 biến y, z.
f(x,y,z): kết quả bỏ phiếu, f(x,y,z) =1 nếu kết quả là tán
thành, và ngược lại f(x,y,z)= 0.
Nhận thấy: f(x,y,z) =1 khi 2 hoặc 3 biến x, y, z có giá trị
1
(x).y.z 1 0 0 0
0 1 1 1
Vẽ mạch cho hàm Boole trên? 0 1 0 0
Mạch tổ hợp theo hàm f này rất phức 0 0 1 0
tạp và phải dùng rất nhiều cổng . 0 0 0 0
Quá trình biến đổi tìm mạch tương đương với số cổng
nhỏ nhất gọi là cực tiểu hóa mạch tổ hợp
Bản đồ Karnaugh
Dùng để tìm các số hạng tổ hợp được đối với các hàm Boole có
số biến tương đối nhỏ.
Phương pháp này đã được Maurice Karnaugh đưa ra vào năm
1953 dựa trên một công trình trước đó của E.W. Veitch.
Các bản đồ Karnaugh cho ta một phương pháp trực quan để rút
gọn các khai triển tổng các tích, nhưng chúng không thích hợp
với việc cơ khí hoá quá trình này.
Trước hết, ta sẽ minh hoạ cách dùng các bản đồ Karnaugh để rút
gọn biểu thức của các hàm Boole hai biến.
1 0 1 1
0 1 0 0 2
2 1 0 0
3 1 1 1 1 1 1 1 1 3
Bảng chân trị Bìa Karnaugh Các vị trí trên bìa Karnaugh
- Nhóm vị trí 0,1: B thay đổi (0,1) bỏ B, A có giá trị 0:
- Nhóm ở vị trí 1,3: A thay đổi (0,1) bỏ A, B có giá trị 1: B
Vậy biểu thức rút gọn biểu thứ trên là:
Chú ý: Đây là cực tiểu hoá biểu thức logic theo dạng tuyển chuẩn tắc
bằng bìa Karnaugh. Sinh viên có thể cực tiểu hoá biểu thức theo dạng
hội chuẩn tắ
0 0 0 0 1
1 0 0 1 0
2 0 1 0 1
3 0 1 1 1 Đúng
4 1 0 0 0 AB
C 00 01 11 10
5 1 0 1 1
6 1 1 0 0 0 0 2 6 4
7 1 1 1 0 1 1 3 7 5
Bảng chân trị Bìa Karnaugh Các vị trí trên bìa Karnaugh
(
0 0 2 6 4
1 1 3 7 5
0 0 2 6 4
1 1 3 7 5
Áp dụng
Hãy nhóm các ô ở các bìa Karnaugh sau đây:
Áp dụng
Hãy nhóm các ô ở các bìa Karnaugh sau đây:
Xyz 111 3
101 2
011 2
001 1
000 0
Chương 6 - Đại số Boole
zxy
Sau đó ta tạo các tích bằng cách lấy tổng Boole của các tích đã
có, được thể hiện qua bảng sau:
Lần 1 Lần 2
Số hạng Xâu bit Số hạng Xâu Số hạng Xâu
7 xyz 111 (7,5) xz 1-1 (7,5,3,1) z --1
5 z 101 (7,3) yz -11
3 011 (5,1) -01
1 001 (3,1) 0-1
0 000 (1,0) 00-
x x
z
z+
y y 𝑥𝑦
x x
Bài 1: tìm khai triển tổng các tích của các hàm Boole ba biến
x, y, z:
F(x, y, z) = x + y + z
F(x,y,z) = (x + z).y
Bài 2: Tìm khai triển tổng các tích của các hàm Boole F(x, y,
z) biết F=1 nếu và chỉ nếu
x=0
x.y=0
x + y =0
Bài 3: Tìm biểu thức cực tiểu tương đương của các biểu thức
sau và vẽ mạch tổ hợp có được
F(x,y,z) = (x)yz + (x)(y) z + (x)(y)(z)
F(x,y,z) = xyz + x(y) z + (x)yz + (x)(y) z