LÝ DO CHỌN ĐỀ TÀI Trong môn Toán rời rạc cho tin học, chúng ta được học phần đại số Boole, do học phần này có rất nhiều chương, mà thời lượng chương trình thì có hạn, nên ta không thể
Trang 1HÀM BOOLE
Giáo viên hướng dẫn Sinh viên thực hiện
T.S Trương Quốc Bảo Trương Hoàng Vinh
MSSV: 1090137
Cần Thơ, tháng 5 năm 2013
Trang 2LỜI CẢM ƠN
Thấm thoắt thì bốn năm đại học của chúng em cũng đã qua đi Chúng em sẽ
rời xa giảng đường đại học, thầy cô, và bạn bè, nơi đã khắc sâu vào mỗi chúng em
những kỉ niệm không bao giờ quên được
Giờ đây, chúng em đã lớn khôn và nên người, đã hiểu được những điều mà
thầy cô mong đợi ở chúng em Tuy cũng có những lúc chúng em làm thầy cô phiền
lòng khi đứng trên bục giảng, nhưng tất cả giờ đây đã thuộc về ký ức Nhưng ký ức
đó để lại cho chúng em những bài học quý báu Chúng em xin hứa sẽ cố gắng phấn
đấu thật nhiều để xứng đáng với những món quà vô giá, những công sức mà thầy cô
đã ban tặng cho chúng em trong suốt những năm học vừa qua
Với những cảm xúc chân thành, em xin gửi lời chúc sức khỏe và thành đạt
đến quý thầy cô trường Đại học Cần Thơ nói chung và bộ môn Toán - Khoa Sư
phạm nói riêng Em xin gửi lời cảm ơn đến cha mẹ em đã có công nuôi dưỡng em,
động viên em trong suốt quá trình học tập, đặc biệt là thầy TS Trương Quốc Bảo đã
hướng dẫn em hoàn thành luận văn tốt nghiệp này, bên cạnh đó em xin gửi lời cám
ơn đến cô Phạm Thị Vui đã cung cấp cho em những kiến thức nền tảng để em có
thể hoàn thành đề tài luận văn này Ngoài ra em xin chân thành cám ơn cô CVHT
Nguyễn Thị Thảo Trúc đã dìu dắt chúng em, hướng dẫn chúng em trong suốt quá
trình học tập, thầy Đỗ Quang Huy, thầy PGS TS Nguyễn Phú Lộc đã động viên
tinh thần cho em vượt qua mọi khó khăn trong quá trình học tập, thầy Bùi Anh
Tuấn đã cho em những phương pháp, những bài học về kinh nghiệm sống, cho em
hành trang vững vàng để đi tiếp, sau cùng em xin cám ơn thầy Lâm Quốc Anh
trưởng bộ môn Toán - Khoa Sư Phạm - Trường Đại học Cần Thơ đã tạo điều kiện
cho em bảo vệ luận văn này
Trang 3Dù đã cố gắng để hoàn thành đề tài của mình, nhưng em chắc rằng luận văn
tốt nghiêp này không thể tránh khỏi những thiếu sót Em rất mong nhận được những
ý kiến đóng góp quý báu của thầy cô và các bạn để đề tài này được hoàn thiện hơn
Chân thành cám ơn!
Sinh viên thực hiện đề tài
Trương Hoàng Vinh
Trang 4DANH MỤC CÁC BẢNG
Trang
Bảng 1 1 - Tính chất 3 18
Bảng 1 2 - Tính chất 3 19
Bảng 1 3 - Tính chất 4 (Bảng 1) 21
Bảng 1 4 - Tính chất 4 (Bảng 2) 22
Bảng 1 5 - Tính chất 5 (Bảng 1) 24
Bảng 1 6 - Tính chất 5 (Bảng 2) 25
Bảng 1 7 - Tính chất 5 (Bảng 3) 26
Bảng 1 8 - Bảng các giá trị của hàm Boole : F (x, y, z) = xy+z 29
Bảng 1 9 – Bảng chân trị biểu diễn cho kết quả việc bỏ phiếu bầu 30
Bảng 2 1 – Bảng chân trị cho mạch logic 33
Bảng 2 2 - Tìm tổng x+y 36
Bảng 2 3 - Hàm Boole s và c theo biến x,y 37
Bảng 2 5 - Phương pháp bảng đồ Karnaugh 2 biến 42
Bảng 2 6 - Bảng đồ Karnaugh 3 biến 43
Bảng 2 7 - Phương pháp bảng đồ Karnaugh 3 biến (Bảng 1) 44
Bảng 2 8 - Phương pháp bảng đồ Karnaugh 3 biến (Bảng 2) 44
Bảng 2 9 - Phương pháp bảng đồ Karnaugh 3 biến (Bảng 3) 44
Bảng 2 10 - Phương pháp bảng đồ Karnaugh 3 biến (Bảng 4) 45
Bảng 2 11 - Phương pháp bảng đồ Karnaugh 3 biến (Bảng 5) 45
Bảng 2 12 - Phương pháp bảng đồ Karnaugh 3 biến(Bảng 6) 45
Bảng 2 13 - Bảng đồ Karnaugh 4 biến 46
Bảng 2 14 - Phương pháp bảng đồ Karnaugh 4 biến (Bảng 1) 47
Bảng 2 15 - Phương pháp bảng đồ Karnaugh 4 biến (Bảng 2) 47
Bảng 2 16 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 1) 57
Bảng 2 17 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 2) 57
Bảng 2 18 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 3) 57
Bảng 2 19 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 4) 58
Bảng 2 20 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 5) 59
Bảng 2 21 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu (Bảng 6) 59
Trang 5Bảng 2 22 - Bảng chân trị mạch điều khiển 2 cầu dao 60
Bảng 2 23 - Bảng chân trị mạch điều kiển 3 cầu dao 61
Trang 6DANH MỤC CÁC HÌNH
Trang
Hình 2 1 – Cổng logic 31
Hình 2 2 – Cổng NOT 31
Hình 2 3 -Cổng AND 32
Hình 2 4 - Cổng OR 32
Hình 2 5 – Mạch logic thực hiện hàm 34
Hình 2 6 – Mạch logic thực hiện hàm F (x, y, z) = 34
Hình 2 7 – Cổng NAND 35
Hình 2 8 – Cổng NOR 35
Hình 2 9 – Cổng XOR 36
Hình 2 10 – Mạch Cộng 36
Hình 2 11 – Mạch cộng bán phần 37
Hình 2 12 – Mạch cộng toàn phần 38
Hình 2 13– Mạch cộng tổng hợp 39
Hình 2.14 – Mạch cộng 2 số 4 bits 39
Hình 2.15 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 1) 51
Hình 2 16 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 2) 51
Hình 2 17 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 3) 52
Hình 2 18 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 4) 53
Hình 2 19 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 5) 54
Hình 2 20 - Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn (Hình 6) 55
Hình 2 21 – Mạch điều khiển 2 cầu dao 60
Hình 2 22 - Mạch điều khiển 3 cầu dao 62
Hình 3.1 - Hình giao diện 63
Hình 3 2 - Giao diện để nhập hàm (Hình 1) 64
Hình 3 3 - Giao diện để nhập hàm (Hình 2) 65
Hình 3 4 - Đọc hàm Boole (Hình 1) 66
Hình 3 5 - Đọc hàm Boole (Hình 2) 66
Trang 7Hình 3 6 - Lập bảng chân trị (Hình 1) 67
Hình 3 7 - Lập bảng chân trị (Hình 2) 68
Hình 3 8 - Phương pháp bảng đồ Karnaugh (Hinh 1) 69
Hình 3 9 - Phương pháp bảng đồ Karnaugh (Hình 2) 69
Hình 3 10 - Phương pháp QUINE-MCCLUSKEY (Hình 1) 70
Hình 3 11 - Phương pháp QUINE-MCCLUSKEY (Hình 2) 71
Trang 8MỤC LỤC
Trang
A PHẦN MỞ ĐẦU 9
1 LÝ DO CHỌN ĐỀ TÀI 9
2 MỤC ĐÍCH NGHIÊN CỨU 9
3 ĐỐI TƯỢNG NGHIÊN CỨU 9
4 PHƯƠNG PHÁP NGHIÊN CỨU 9
5 CẤU TRÚC CỦA LUẬN VĂN 9
B PHẦN NỘI DUNG 12
Chương 1 12
ĐẠI SỐ BOOLE 12
1 1 ĐỊNH NGHĨA 12
1 2 KHÁI NIỆM 13
1 3 TÍNH CHẤT 13
1 3 1 Nguyên lý đối ngẫu 13
1 3 2 Một số định lý cơ bản 13
a) Định lý 1 13
b) Định lý 2 14
c) Định lý 3 (Luật DeMorgan) 15
1 4 MỘT SỐ TÍNH CHẤT 15
1 4 1 Tính chất 1 15
1 4 2 Tính chất 2 16
1 4 3 Tính chất 3 16
1 4 4 Tính chất 4 20
1 4 5 Tính chất 5 23
1 5 HÀM BOOLE 27
1 5 1 Định nghĩa 27
1 5 2 Khái niệm 27
1 5 3 Tính chất 27
a) Hệ quả 1 28
1 5 4 Một số ví dụ 28
a) Ví dụ 1 28
b) Ví dụ 2: 29
1 6 BẢNG CHÂN TRỊ 30
1 6 1 Định nghĩa 30
1 6 2 Ví dụ: 30
Chương 2 31
MẠCH LOGIC 31
Trang 92 1 CỔNG LOGIC 31
2 1 1 Cổng logic NOT/AND/OR 31
2 1 2 Cổng NOT 31
2 1 3 Cổng AND 32
2 1 4 Cổng OR: 32
2 2 MẠCH LOGIC 33
2 2 1 Tổ hợp các cổng 33
2 2 2 Một số ví dụ 33
a) Ví dụ 1: 33
b) Ví dụ 2 34
2 3 MẠCH CỘNG 36
2 4 CÁC PHƯƠNG PHÁP CỰC TIỂU HÓA HÀM BOOLE 40
2 4 1 Phương pháp bảng đồ Karnaugh 40
a) Cơ sở lý thuyết của phương pháp 40
b) Bảng đồ Karnaugh 2 biến 41
c) Bảng đồ Karnaugh 3 biến 43
d) Bảng đồ Karnaugh 4 biến 46
2 4 2 Phương pháp Quine-McCluskey: 48
a) Mở đầu 48
b) Định nghĩa: 48
c) Mệnh đề: 48
e) Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc thu gọn: 49
i Cơ sở lý thuyết của phương pháp 49
ii Thuật toán 49
iii Ví dụ: 50
f) Phương pháp Quine-McCluskey tìm dạng tổng chuẩn tắc tối thiểu: 55
i Cơ sở lý thuyết của phương pháp 55
ii Thuật toán 56
iii Ví dụ : 56
2 5 ỨNG DỤNG 59
2 5 1 Ví dụ 1 59
2 5 2 Ví dụ 2 60
Chương 3 63
CHƯƠNG TRÌNH ỨNG DỤNG 63
3 1 ĐỌC HÀM BOOLE 65
3.2 BẢNG CHÂN TRỊ 67
3 3 BẢNG ĐỒ KARNAUGH 68
3 3 PHƯƠNG PHÁP QUINE-MCCLUSKEY 70
C PHẦN KẾT LUẬN 72
D TÀI LIỆU THAM KHẢO 73
Trang 10A PHẦN MỞ ĐẦU
1 LÝ DO CHỌN ĐỀ TÀI
Trong môn Toán rời rạc cho tin học, chúng ta được học phần đại số Boole,
do học phần này có rất nhiều chương, mà thời lượng chương trình thì có hạn, nên ta
không thể tìm hiểu một cách cụ thể và chuyên sâu được, trong khi những sinh viên
ngành Sư phạm Toán - Tin, Sư phạm Lý - Tin chỉ được tìm hiểu một cách đơn giản
về Đại số Boole mà chưa phân tích sâu lý thuyết và các ứng dụng thực tế Trong
quá trình nghiên cứu về học phần này tôi nhận nhận thấy đại số Boole được ứng
dụng rất nhiều trong đời sống như thiết kế một mạch điện tích hợp, mạch cầu dao
điện, công tắc, mạch điều khiển…Chính vì vậy tôi chọn đề tài này là để có điều
kiện tìm hiểu sâu hơn về lý thuyết Đại số Boole và các ứng dụng của đại số Boole
trong đời sống
2 MỤC ĐÍCH NGHIÊN CỨU
Trọng tâm của đề tài này là đi vào nghiên cứu sâu hơn về lý thuyết Đại số
Boole và “Một số phương pháp để cực tiểu hóa hàm Boole” Chúng ta đã biết, trong
đại số Boole vấn đề quan trọng là khi đưa ra một hàm Boole là chúng ta phải đọc
được hàm Boole đó, dùng một số phương pháp để cực tiểu hóa hàm Boole nhằm
tìm ra công thức chuẩn, tối ưu đáp ứng được mục tiêu đề ra Trong đề tài này, bên
cạnh cụ thể hóa lý thuyết về Đại số Boole, tôi còn ứng dụng phần mềm tin học để
giải quyết một số bài toán cực tiểu hóa hàm Boole một cách dễ dàng
3 ĐỐI TƯỢNG NGHIÊN CỨU
Lý thuyết về Đại số Boole, hàm Boole, Cổng logic, Mạch loogic, một số
phương pháp cực tiểu hóa hàm Boole và một vài ứng dụng của Đại số Boole trong
thực tế
4 PHƯƠNG PHÁP NGHIÊN CỨU
- Đọc sách và tham khảo tài liệu
- Phương pháp diễn giải, phân tích
- Kết hợp sự lập trình tin học
- Phương pháp đàm thoại trao đổi với giáo viên hướng dẫn
5 CẤU TRÚC CỦA LUẬN VĂN
A PHẦN MỞ ĐẦU
1 LÝ DO CHỌN ĐỀ TÀI
Trang 112 MỤC ĐÍCH NGHIÊN CỨU
3 ĐỐI TƯỢNG NGHIÊN CỨU
4 PHƯƠNG PHÁP NGHIÊN CỨU
5 CẤU TRÚC LUẬN VĂN
Trang 13B PHẦN NỘI DUNG Chương 1
ĐẠI SỐ BOOLE
1 1 ĐỊNH NGHĨA
Cho B là một tập hợp, trên đó ta trang bị hai phép toán hai ngôi là và phép ,
cùng với phép toán một ngôi, kí hiệu là ' Hai phần tử khác nhau trong B là 0,1 Khi
đó bộ <B, , ,', 0, 1> được gọi là một đại số Boole nếu thỏa mãn các tiên đề sau:
Trang 141 2 KHÁI NIỆM
- Phần tử e được gọi là phần tử trung hòa của phép (phần tử đơn vị)
- Phần tử được gọi là phần tử trung hòa của phép (phần tử không)
-a' được gọi là phần bù của a
- Kết quả của phép toán , được gọi là tổng
- Kết quả của phép toán , được gọi là tích
- Đối ngẫu của một mệnh đề là mệnh đề nhận được bằng cách đổi chỗ hai phép
toán và *, đổi chỗ 0 và 1, tương ứng trong mệnh đề gốc
1 3 TÍNH CHẤT
1 3 1 Nguyên lý đối ngẫu
Đối ngẫu của một định lý bất kỳ trong đại số Boole cũng là một định lý
Chứng minh: Ta có đối ngẫu của tập các tiên đề trong B là giống như tập
hợp các tiên đề gốc Theo đó nếu một mệnh đề bất kỳ là kết quả của những tiên đề
của đại số Boole, khi đó đối ngẫu của nó cũng là kết quả của các tiên đề đó, bởi vì
mệnh đề đối ngẫu có thể được chứng minh bằng cách sử dụng đối ngẫu của từng
bước trong chứng minh của mệnh đề gốc
1 3 2 Một số định lý cơ bản
a) Định lý 1
Cho a, b, c là các phần tử bất kỳ trong một đại số Boole B Khi đó:
(i) (5a) aa=a; (5b) a*a=a (Tính chất lũy đẳng)
(ii) (6a) a1=a; (6b) a*0=0 (Tính chất bị chặn)
(iii) (7a) a(a*b)=a; (7b) a*(ab)=a (Tính chất hấp thu)
(iv) (8a) (ab)c=a(bc)
(8b) (a*b)*c=a*(b*c) (Tính chất kết hợp)
Chứng minh:
(5b): a=a*1=a*(aa')=a*aa*a'=a*a0=a*a
(5a): là đối ngẫu của (5b)
Trang 15(6b):
(6a): là đối ngẫu của (6b)
(7b): a*(ab)=(a0)*(ab)=a(0*b)=a(b*0)=a0=a
(7a): là đối ngẫu của (7b) (8b): Cho M (a*b)*c và N a*(b*c)
Sử dụng tính chất hấp thu ta có:
a c a a c a b a a c b a a M
a c b a a c b a a a c b a a N
Từ đó ta có: aM aN
)(
*
)(
*))(
*1(
))(
*)(
*)((
)(
*))
*((
)
*)
*((
c b a
c a b a
c a b a a a
c a b a a
c b a a M a
*((
*1))
*((
*)(
))
*(
*
a N
N a M
a
N N a N a M a M a M
a M a
a M M
(8a): suy ra từ (8b) đối ngẫu
b) Định lý 2
Cho a là một phần tử bất kỳ trong đại số Boole B Khi đó ta có:
(a) Tính duy nhất của phần tử bù: Nếu ax 1và a*x 0 thì xa
Trang 16(c) Ta có: 0 1 1; 0*1 0 suy ra 1 là phần tử bù của 0 suy ra 1 0 Đối ngẫu
Ngoài các phép toán , , ', Tập B = {0,1} với ba phép toán hội , tuyển
, và phép phủ định cũng đƣợc gọi là đại số Boole nếu x y z, , B ta
luôn có các tính chất sau:
Trang 17Vậy đại số logic là một đại số Boole
Ta thường bỏ đi kí hiệu và thay bởi dấu trống và kí hiệu được thay
bởi dấu + Khi đó tiên đề 2a và 2b có thể viết lại như sau:
2a a + bc = (a + b) (a + c) 2b a (b + c) = ab + ac
Quy ước nếu không có dấu ngoặc đơn thì phép toán lấy bù ' ưu tiên hơn
và ưu tiên hơn
Trang 18- B1 (Tiên đề giao hoán)
Trang 21Ta kiểm tra 4 tiên đề :
- B1 (Tiên đề giao hoán)
(1) (2)
Trang 22- B2 (Tiên đề phân phối)
Trang 24 Vậy: tập B = {m,n} cùng với hai phép toán hai ngôi, và một phép toán
một ngôi thỏa các tiên đề B1, B2, B3, B4 B là đại số Boole
1 4 5 Tính chất 5
Xét tập S là tập hợp tất cả các tập hợp con của một tập hợp không rỗng V
(gọi là tập hợp vũ trụ), với các phép toán quen thuộc trên S (phép giao, phép hợp
của hai tập hợp, phép bù của một tập hợp vào V) Cho A, B là hai tập hợp con bất
kỳ của V Khi đó:
Giao của A và B (Kí hiệu AB) là tập con của V gồm
những phần tử vừa thuộc A vừa thuộc B
Hợp của A và B (Kí hiệu AB) là tập hợp con của V gồm
những phần tử thuộc ít nhất một trong hai tập A,B
S cùng với các phép toán trên lập thành một đại số tập hợp Và các phép
toán trên có tính giao hoán, kết hợp và tính phân phối
Trang 25 Xét x là phần tử tùy ý của V và A là một tập hợp con bất kì của V
Nếu xA ta gán cho A kí hiệu là 1
Nếu xA ta gán cho A kí hiệu là 0
Nếu A, B là tập con của V ta có 4 khả năng xảy ra đối với x
Trang 261 1 1;1 0 0; 0 1 0; 0 0 0
1 1 1;1 0 1; 0 1 1; 0 0 0 1' 0; 0 ' 1
Ta kiểm tra xem có thỏa bốn tiên đề B1, B2, B3, B4 không?
- B1 (Tiên đề giao hoán)
Trang 28Hàm Boole n biến là ánh xạf B: n B, trong đó B{0,1}
Như vậy hàm Boole n biến là một hàm số có dạng : f F x x ( , , , )1 2 x n ,
trong đó mỗi biến trong x x1, , ,2 x chỉ nhận hai giá trị 0, 1 và f nhận giá trị trong n
{0,1}
B Ký hiệu F để chỉ tập các hàm Boole n biến n
1 5 2 Khái niệm
- Biểu thức Boole là biểu thức được tạo bởi các biến và các phép toán Boole
- Một biến Boole hoặc phần bù của nó được gọi là một tục biến
- Tích của các tục biến được gọi là một tiểu hạng
- Tổng chuẩn tắc là tổng các tiểu hạng và các tiểu hạng này không có cái nào
được chứa trong cái khác
1 5 3 Tính chất
Mọi hàm Boole F bậc n đều có thể biểu diễn dưới dạng:
1 1
( , , )
i n
Chứng minh: Gọi G là hàm Boole ở vế phải của (1) Cho (x1, x2, …, xn) T F Khi
đó số hạng ứng với bộ giá trị 1= x1, …, i= xi trong tổng ở vế phải của (1) bằng
1, do đó (x1, x2, …, xn) T G Đảo lại, nếu (x1, x2, …, xn) T G tức là vế phải bằng 1
thì phải xảy ra bằng 1 tại một số hạng nào đó, chẳng hạn tại số hạng ứng với bộ giá
Trang 29trị ( 1, …, i), khi đó x1=1, …, xi= i và f ( 1,…, i, xi+1,…, xn) =1 hay (x1, x2,
…, xn) T F Vậy T F =T G hay F=G
Cho i=1 trong mệnh đề trên và nhận xét rằng vai trò của các biến xi là như
nhau, ta được hệ quả sau
a) Hệ quả 1
Mọi hàm Boole F bậc n đều có thể được khai triển theo một biến xi:
),,,1,,,()
,,,0,,,()
,
,
(x1 x n x i F x1 x i 1 x i 1 x n x i F x1 x i 1 x i 1 x n
Cho i=n trong mệnh đề trên và bỏ đi các nhân tử bằng 1 trong tích, các số
hạng bằng 0 trong tổng, ta được hệ quả sau
1 1
Từ Hệ quả 1, ta suy ra rằng mọi hàm Boole đều có thể biểu diễn dưới
dạng tổng (tuyển) chuẩn tắc hoàn toàn Như vậy mọi hàm Boole đều có thể
biểu diễn bằng một biểu thức Boole chỉ chứa ba phép tích (hội), tổng (tuyển),
bù (phủ định) Ta nói rằng hệ {tích, tổng, bù} là đầy đủ
Bằng đối ngẫu, ta có thể chứng minh một kết quả tương tự bằng việc
thay tích bởi tổng và ngược lại, từ đó dẫn tới việc biểu diễn F qua một tích các tổng
Biểu diễn này được gọi là dạng tích (hội) chuẩn tắc hoàn toàn của F:
) , , (
1 1
1
()
,,(
Trang 30Bảng 1 8 - Bảng các giá trị của hàm Boole : F (x, y, z) = xy+z
b) Ví dụ 2:
Mệnh đề E E p p ( , , , )1 2 p n theo n biến p p1, , ,2 p là một hàm Boole n biến n
Các hàm Boole cũng có thể được biểu diễn bằng cách dùng các biểu thức
được tạo bởi các biến và các phép toán Boole Các biểu thức Boole với các biến
Mỗi một biểu thức Boole biểu diễn một hàm Boole Các giá trị của hàm này
nhận được bằng cách thay 0 và 1 cho các biến trong biểu thức đó
Hai hàm n biến F và G được gọi là bằng nhau nếu:
( , , , )n ( , , , ),n , , , n
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 Phần bù của hàm Boole F là hàm F với
1 2
( , , , )n
F+G và tích Boole FG được định nghĩa bởi:
Trang 31(FG) (x1, x2, …, xn) =F (x1, x2, …, xn) G (x1, x2, …, xn)
1 6 BẢNG CHÂN TRỊ
1 6 1 Định nghĩa
Xét hàm Boole n biến F x x( , , , )1 2 x Vì các giá trị n x chỉ nhận hai giá trị 0 i
và 1 nên có 2ntrường hợp của bộ biến ( , , , )x x1 2 x n
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 2ntrường hợp của biến Ta gọi đây là bảng chân trị của F
1 6 2 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
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ỏ
Bảng chân trị cho bài toán này là hàm Boole F theo 3 biến x, y, z:
Trang 32Xét một thiết bị như hình trên, có một số đường vào (dẫn tín hiệu vào) và chỉ
có một đường ra (phát tín hiệu ra) Giả sử các tín hiệu vào x1, x2, …, xn (ta gọi là
đầu vào hay input) cũng như tín hiệu ra F (đầu ra hay output) đều chỉ có hai trạng
thái khác nhau, tức là mang một bit thông tin, mà ta ký hiệu là 0 và 1
Ta gọi một thiết bị với các đầu vào và đầu ra mang giá trị 0, 1 như vậy là một
mạch logic
Đầu ra của một mạch logic là một hàm Boole F của các đầu vào x1, x2, …,
xn Ta nói mạch logic trong hình trên thực hiện hàm F
Các mạch logic được tạo thành từ một số mạch cơ sở, gọi là cổng logic Các
cổng logic sau đây thực hiện các hàm phủ định, hội và tuyển
2 1 2 Cổng NOT
Cổng NOT thực hiện hàm phủ định Cổng chỉ có một đầu vào Đầu ra F (x)
là phủ định của đầu vào x
Trang 332 1 3 Cổng AND
Cổng AND thực hiện hàm hội Đầu ra F (x,y) là hội (tích) của các đầu vào
Cổng AND có ít nhất hai ngõ vào
- Ngõ ra là 1 khi tất cả các ngõ vào là 1 và ngƣợc lại là 0
xz
F=x+y+z+t
yt
Trang 34Chẳng hạn, hai xâu bit 1100101011 và 0101100110 qua cổng OR cho
1101101111
2 2 MẠCH LOGIC
2 2 1 Tổ hợp các cổng
Các cổng logic có thể lắp ghép để được những mạch logic thực hiện các
hàm Boole phức tạp hơn Như ta đã biết rằng một hàm Boole bất kỳ có thể biểu
diễn bằng một biểu thức chỉ chứa các phép −, , + Từ đó suy ra rằng có thể lắp ghép
thích hợp các cổng NOT, AND, OR để được một mạch logic thực hiện một hàm
Boole bất kỳ
2 2 2 Một số ví dụ
a) Ví dụ 1:
Xây dựng một mạch logic thực hiện hàm Boole cho bởi bảng sau
Bảng 2 1 – Bảng chân trị cho mạch logic
Theo bảng này, hàm F có dạng tổng (tuyển) chuẩn tắc hoàn toàn là:
( , , )
Hình dưới đây vẽ mạch logic thực hiện hàm F đã cho
Trang 35Hình dưới đây cho ta mạch logic thực hiện hàm F (x, y, z) = xy xyz
Hình 2 6 – Mạch logic thực hiện hàm F (x, y, z) = xy xyz
Hai mạch logic trong hai hình trên thực hiện cùng một hàm Boole, ta nói đó
là hai mạch logic tương đương, nhưng mạch logic thứ hai đơn giản hơn
Vấn đề tìm mạch logic đơn giản thực hiện một hàm Boole F cho trước gắn
liền với vấn đề tìm biểu thức đơn giản nhất biểu diễn hàm ấy Đây là vấn đề khó và
lý thú, tuy ý nghĩa thực tiễn của nó không còn như mấy chục năm về trước
Trang 36Ta vừa xét việc thực hiện một hàm Boole bất kỳ bằng một mạch logic chỉ
gồm các cổng NOT, AND, OR
Dựa vào đẳng thức x y x y cũng nhƣ xy x y, cho ta biết hệ { , −} và
hệ {+, −} cũng là các hệ đầy đủ Do đó có thể thực hiện một hàm Boole bất kỳ bằng
một mạch logic chỉ gồm có các cổng NOT, AND hoặc NOT, OR
y
x
xy
Trang 370 ,( , )
Nhiều bài toán đòi hỏi phải xây dựng những mạch logic có nhiều đường ra,
cho các đầu ra F 1 , F 2 , …, F k là các hàm Boole của các đầu vào x1, x2, …, xn
Hình 2 10 – Mạch Cộng
Chẳng hạn, ta xét phép cộng hai số tự nhiên từ các khai triển nhị phân của
chúng Trước hết, ta sẽ xây dựng một mạch có thể duợc dùng để tìm x+y với x, y là
hai số 1-bit Đầu vào mạch này sẽ là x và y Đầu ra sẽ là một số 2-bit cs , trong đó s