ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)ĐẠI SỐ BOOLE (TOÁN RỜI RẠC, CẤU TRÚC RỜI RẠC)
Trang 1BÀI THUYẾT TRÌNH
CHƯƠNG 4: ĐẠI SỐ BOOLE
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2N I DUNG CHÍNH ỘI DUNG CHÍNH
Đ i s logic ại số logic ố logic B
Đ i s Boole ại số logic ố logic
Công th c đa th c t i thi u ức đa thức tối thiểu ức đa thức tối thiểu ố logic ểu
Bi u đ Karnaugh c a hàm Boole ểu ồ Karnaugh của hàm Boole ủa hàm Boole
Ph ương pháp Quine – McCluskey ng pháp Quine – McCluskey
Các c ng logic ổng logic
05/13/202
Trang 3Đ i s logic ại số logic ố logic B
Trên t p logic ập logic B =0, 1 xét các phép
toán logic
(tích Boole)tích Boole) x y
(tích Boole)t ng Boole)ổng Boole) x y
(tích Boole)phép bù)) x
trong đó x, y B g i là các bi n logic ọi là các biến logic ến logic
ho c bi n Boole.ặc biến Boole ến logic
Trang 405/13/202
Trang 5Các h ng đ ng th c logic ằng đẳng thức logic ẳng thức logic ức đa thức tối thiểu
Trang 6M t s phép toán 2 – ngôi ột số phép toán 2 – ngôi ố logic
khác trên đ i s logic ại số logic ố logic B
1) Tổng modulo 2, x + y 2) Kéo theo x y
3) Tương đương x y 4) Vebb (NOR) x y 5) Sheffer (NAND) x y
05/13/202
Trang 8Đ i s Boole ại số logic ố logic
Định nghĩa:
Cho tập A có ít nhất 2 phần tử, trong đó có 2
phần tử đặc biệt được ký hiệu là 0 và 1
Trên A xét các phép toán 2 – ngôi và , và
Trang 9Giao hoánKết hợpPhân phối Phần tử trung hoàPhần tử bù
Tập A cùng với các phép toán này được gọi là một
đại số Boole nếu các phép toán này có tính chất:
Trang 10Ví d : ụ:
Cho U là t p b t kỳ, trên A = ập logic ất kỳ, trên A = P(tích Boole)U)
(tích Boole)t p các t p con c a U ập các tập con của U ập các tập con của U ủa U ) xét phép
Trang 11Ví d : ụ:
Tích Descartes AB c a các đ i s Boole A, ủa hàm Boole ại số logic ố logic
B là m t đ i s Boole, trong đó: ột số phép toán 2 – ngôi ại số logic ố logic
(tích Boole)a 1 ,b 1 ) (tích Boole)a 2 ,b 2 ) = (tích Boole)a 1 b 1 , a 2 b 2 ),
(tích Boole)a 1 ,b 1 ) (tích Boole)a 2 ,b 2 ) = (tích Boole)a 1 b 1 , a 2 b 2 ),
Trang 12Nếu không nói gì thêm, tất cả các tập được nói
đến trong chương này đều là tập hữu hạn
Nhắc lại: Một tập hữu hạn sắp thứ tự luôn luôn
có phần tử tối tiểu/tối đại
Trên một đại số Boole tổng quát chúng ta cũng
Trang 13Trang 14
Hàm Boole
Đ nh nghĩa:ịnh nghĩa:
Ánh x f: Bại số logic nB g i là m t hàm Boole n ọi là các biến logic ột số phép toán 2 – ngôi
bi n.ến logic
Hàm đ ng nh t b ng 1 ký hi u là 1, ồ Karnaugh của hàm Boole ất kỳ, trên A = ằng đẳng thức logic ệt,
hàm đ ng nh t b ng 0 ký hi u là 0 T p ồ Karnaugh của hàm Boole ất kỳ, trên A = ằng đẳng thức logic ệt, ập logic
t t c các hàm Boole n – bi n ký hi u là ất kỳ, trên A = ả các hàm Boole n – biến ký hiệu là ến logic ệt,
Fn
05/13/202
Trang 15Cho f và g là hai hàm Boole n bi n Chúng taến logic
có các đ nh nghĩa nh sau:ịnh nghĩa: ư
1) (tích Boole)f g)(tích Boole)x1, …, xn) = f(tích Boole)x1, …, xn) g(tích Boole)x1, …, xn)
2) (tích Boole)f g)(tích Boole)x1, …, xn) = f(tích Boole)x1, …, xn) g(tích Boole)x1, …, xn)
3) f/ (tích Boole)x1, …, xn) = (tích Boole)f(tích Boole)x1, …, xn))/
v i m i xới mọi x ọi là các biến logic 1, …, xn
Trang 17Cách thông thường nhất để xác định một hàm
Boole là dùng bảng giá trị
Hàm Boole 2 biến
Trang 18Xé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
05/13/202
Trang 19Khi đó f là hàm Bool theo 3 biến x,y,x có bảng
chân trị như sau:
Trang 20Chúng ta cũng có thể xác định hàm Boole
bằng một biểu thức Boole Đó là một biểu
thức gồm các biến Boole và các phép toán
(hội), (tuyển), / (phép lấy bù)
Mỗi biểu thức Boole cũng được xem như một
hàm Boole
05/13/202
Trang 21Tích s c p ơng pháp Quine – McCluskey ất kỳ, trên A =
Biến x gọi là biến Boole nếu x chỉ
nhận một trong hai giá trị 0/1.
Giả sử x là một biến Boole Khi đó ký
hiệu x1 = x, x0 = x
Trang 22Các phép toán trên hàm Boole:
• Phép cộng Boole :
Với f, g Fn, ta định nghĩa tổng Boole của f và g:
,
(f g)(x) = f(x) + g(x) – f(x)g(x)f g)(x) = f(x) + g(x) – f(x)g(x))(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x)) = f(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x)) + g)(x) = f(x) + g(x) – f(x)g(x)(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x)) – f(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x))g)(x) = f(x) + g(x) – f(x)g(x)(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x))
05/13/202
Trang 23• Phép nhân Boole :
Với f,g Fn, ta định nghĩa tích Boole của f và g:
,
(f g)(x) = f(x) + g(x) – f(x)g(x)fg)(x) = f(x) + g(x) – f(x)g(x))(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x)) = f(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x))g)(x) = f(x) + g(x) – f(x)g(x)(f g)(x) = f(x) + g(x) – f(x)g(x)x) = f(x) + g(x) – f(x)g(x))
• Phép lấy phần bù:
Trang 24
Biểu thức Boole:
Là một biểu thức được tạo bởi các biến và các
phép toán Boole
VD: E= (xy z (z
Để dễ đọc hơn, người ta có thể viết:
E = xyz + z
05/13/202
Trang 25Dạng nối rời chính tắc của hàm Boole:
Xét tập hợp các hàm Boole n biến Fn theo n biến x1, x2, …,xn.
• Mỗi hàm Boole xi hay i được gọi là một 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 (đơn thức 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 Boole
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 Boole
thành tổng của các từ tối tiểu.
Trang 26
VD: Xét hàm boole, với 3 biến: x, y, z
Trang 27Cho , có thể viết dưới dạng sau:
(*)
Với là các đơn thức tối tiểu bậc
(*) được gọi là dạng nối rời chính tắc của
Ví dụ: Trong có dạng biểu diễn sau đây:
có dạng nối rời chính tắc của hàm Bool
…
Trang 28
Có 2 cách để xác định dạng nối rời chính tắc một hàm Bool:
Cách 1 : Bổ sung 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 đơn thức thu được ở bước 1, ta nhân đơn thức đó với các tổng dạng với x i 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ụ: Trongtìm dạng nối rời chính tắc
có dạng nối rời chính tắc của hàm Bool.
05/13/202
Trang 29Cách2: Dùng bảng chân trị Để ý đến các vector boole trong bảng chân trị mà tại đó
Tại đó Vector bool thứ là,…,và,…,
Ví dụ: Cho
Tìm biểu thức dạng nối rời chính tắc của
Lập bảng chân trị của
Các thể hiện làm cho là
lập được các từ tối tiểu tương ứng.
Vậy dạng nối rời chính tắc của là
Trang 30Công thức đa thức tối tiểu:
1 Đơn giản hơn:
Cho hai công thức đa thức của một hàm Boole:
F = m123 mk
G = M123 Ml
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:
sao cho với mọi thì số từ đơn của không nhiều hơn
số từ đơn của
05/13/202
Trang 312 Đơ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.
Ví dụ:
Trang 32f F ∈ F 4 có 3 dạng đa thức f(x,y,z,t): f1 = x V yz V x V xyz (1)
Trang 33
Trang 343 Công thức đa thức tối tiểu:
Công thức F của hàm Boole f được gọi là
Công thức đa thức 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
05/13/202
Trang 35B n đ Karnaugh ả các hàm Boole n – biến ký hiệu là ồ Karnaugh của hàm Boole
• Sử dụng bảng Karnaugh là phương pháp xác định
công thức đa thức tối tiểu.
• Quy tắc gom nhóm:
- Gom các tiểu hạng mang biểu diễn là số 1.
- Khi gom Ô kế cận sẽ loại được n biến Những
biến bị loại là những biến khi ta đi vòng qua các ô kế
cận mà giá trị của chúng thay đổi.
- Các vòng phải được gom sao cho số ô có thể vào
trong vòng là lớn nhất và để đạt được điều đó, thường
ta phải gom cả những ô đã gom vào trong các vòng
khác.
- Vòng gom phải là 1 hình chữ nhật.
Trang 36
Karnaugh 2 bi n ến logic
• Đối với hàm Boole 2 biến x, y :
• Bảng karnaugh 2 biến có 4 ô vuông, trong đó:
Ô được đánh số 1 để biểu diễn tiểu hạng có
mặt trong hàm
Các ô được cho là liền nhau nếu các tiểu hạng
mà chúng biểu diễn chỉ khác nhau 1 biến
Trang 39Gom nhóm:
Ví dụ: F =
Trang 40Ví dụ: B =
05/13/202
Trang 44VD: Dùng)(x) = f(x) + g(x) – f(x)g(x) bảng)(x) = f(x) + g(x) – f(x)g(x) Karnaug)(x) = f(x) + g(x) – f(x)g(x)h 4 biến để rút g)(x) = f(x) + g(x) – f(x)g(x)ọn hàm sau:
Trang 45Ph t i ti u c a m t t p ủa hàm Boole ố logic ểu ủa hàm Boole ột số phép toán 2 – ngôi ập logic
Việc tìm tất cả các tổng chuẩn tắc
không dư thừa của hàm Boole f, từ
các tsc tối đại của f, là một vấn đề khá phức tạp
Trước hết, chúng ta xét bài toán tìm
phủ tối tiểu của một tập như sau.
Trang 46Phủ của tập X
Cho S = X1, …, Xn là họ các tập con của
X S gọi là phủ của X nếu X = Xi
Phủ tối tiểu của X
Giả sử S là một phủ của X S gọi là phủ tối
tiểu của X nếu với mọi i, S\Xi không phủ X
05/13/202
Trang 47Ví dụ:
X = a, b, c, d
A = a,b B = c,d
C = a,d D = b,c
A, B, C, D phủ không tối tiểu
A, B, C, D là các phủ tối tiểu
A, C, D phủ không tối tiểu
B, D không phủ
Trang 49Bước 4: Xác định các phủ tối tiểu g)(x) = f(x) + g(x) – f(x)g(x)ồm các tế bào lớn :
o Loại bỏ các phủ không)(x) = f(x) + g(x) – f(x)g(x) tối tiểu, ta tìm được
tất cả các phủ tối tiểu g)(x) = f(x) + g(x) – f(x)g(x)ồm các tế bào lớn
Trang 50Bước 5: Xác định các công)(x) = f(x) + g(x) – f(x)g(x) thức đa thức tối tiểu
của f.
• Từ các phủ tối tiểu g)(x) = f(x) + g(x) – f(x)g(x)ồm các tế bào lớn của
kar(f g)(x) = f(x) + g(x) – f(x)g(x)f) tìm được ở bước 4 ta x) = f(x) + g(x) – f(x)g(x)ác định được các
công)(x) = f(x) + g(x) – f(x)g(x) thức đa thức tương)(x) = f(x) + g(x) – f(x)g(x) ứng)(x) = f(x) + g(x) – f(x)g(x) của f.
Trang 51Ví dụ 1
Tìm các công thức đa thức tối tiểu của hàm :
(x,y,z,t) = xyzt x x yz xy xy
Trang 52B3: Chọn tế bào lớn nhất thiết phải chọn:
(Vì chúng chứa các các ô không nằm trong
tế bào nào khác – minh hoạ với ô vàng)
Trang 53B4: Xác định họ phủ của các tế bào lớn:
Ta thấy các tế bào chọn ở bước 3 đã phủ hết bảng
đây là họ phủ tối thiểu gồm các tế bào
Kar(): x yz B5: Ứng với họ phủ tối thiểu của tế bào lớn tìm
được ta được duy nhất 1 công thức đa thức tối tiểu
Trang 5605/13/202
Trang 57B4: Xác định họ phủ tối thiểu của các tế bào lớn:
Trang 58B5: Xác định công thức đa thức cực tiểu:
Ta thấy 2 công thức đơn giản như nhau cho nên
công thức đa thức tối thiểu của hàm là:
xzt z xzt zt
05/13/202
Trang 59Về cơ bản, phương pháp Quine-McCluskey
có hai phần Phần đầu là tìm các số hạng là ứng
viên để đưa vào khai triển cực tiểu của hàm
Boole như dưới dạng chuẩn tắc tuyển Phần thứ
hai là xác định xem trong số các ứng viên đó,
các số hạng nào là thực sự dùng được
Phương pháp Quine-McCluskey
Trang 60Phương pháp Quine-McCluskey tìm dạng tổng
chuẩn tắc thu gọn:
Bước 1: Viết vào cột thứ nhất các biểu diễn của
các nguyên nhân hạng n của hàm Boole F Các
biểu diễn được chia thành từng nhóm, các biểu
diễn trong mỗi nhóm có số các ký hiệu 1 bằng
nhau và các nhóm xếp theo thứ tự số các ký hiệu 1
tăng dần
05/13/202
Trang 61Bước 2: Lần lượt thực hiện tất cả các phép dán
các biểu diễn trong nhóm i với các biểu diễn
trong nhóm i+1 (i=1, 2, …) Biểu diễn nào tham
gia ít nhất một phép dán sẽ được ghi nhận một
dấu * bên cạnh Kết quả dán được ghi vào cột
tiếp theo
Bước 3: Lặp lại Bước 2 cho cột kế tiếp cho đến
khi không thu thêm được cột nào mới Khi đó
tất cả các biểu diễn không có dấu * sẽ cho ta tất
cả các nguyên nhân nguyên tố của F
Trang 6205/13/202
Trang 63Ph ương pháp Quine-McCluskey tìm dạng ng pháp Quine-McCluskey tìm d ng ạng
t ng chu n t c t i thi u: ổng chuẩn tắc tối thiểu: ẩn tắc tối thiểu: ắc tối thiểu: ối thiểu: ểu:
B ước 1: c 1: Phát hi n t t c các nguyên ệt, ất kỳ, trên A = ả các hàm Boole n – biến ký hiệu là
nhân nguyên t c t y u ố logic ố logic ến logic
B ước 1: c 2: Xoá t t c các c t đất kỳ, trên A = ả các hàm Boole n – biến ký hiệu là ột số phép toán 2 – ngôi ược phủ bởi c ph b i ủa hàm Boole ởi
các nguyên nhân nguyên t c t y u ố logic ố logic ến logic
B ước 1: c 3: Trong b ng còn l i, xoá n t ả các hàm Boole n – biến ký hiệu là ại số logic ố logic
nh ng dòng không còn d u + và sau đó n u ững dòng không còn dấu + và sau đó nếu ất kỳ, trên A = ến logic
có hai c t gi ng nhau thì xoá b t m t c t ột số phép toán 2 – ngôi ố logic ới mọi x ột số phép toán 2 – ngôi ột số phép toán 2 – ngôi
B ước 1: c 4: Sau các bưới mọi xc trên, tìm m t h S ột số phép toán 2 – ngôi ệt,
các nguyên nhân nguyên t v i s bi n ít ố logic ới mọi x ố logic ến logic
nh t ph các c t còn l iất kỳ, trên A = ủa hàm Boole ột số phép toán 2 – ngôi ại số logic
Trang 65Các cổng logic
1 Các phép toán ở đại số boole
Phép cộng thể hiện qua hàm OR
Phép nhân thể hiện qua hàm AND
Phép phủ định thể hiện qua hàm NOT
Các phép tính trên khi áp dụng cho logic 0 và 1
Trang 67Cổng)(x) = f(x) + g(x) – f(x)g(x) NAND
Cổng)(x) = f(x) + g(x) – f(x)g(x) NOR
Cổng)(x) = f(x) + g(x) – f(x)g(x) XOR
Chỉ = 0 khi tất cả ng)(x) = f(x) + g(x) – f(x)g(x)õ vào =1
Chỉ = 1 khi tất cả ng)(x) = f(x) + g(x) – f(x)g(x)õ vào =0
2 ng)(x) = f(x) + g(x) – f(x)g(x)õ khác nhau thì =1
Cổng)(x) = f(x) + g(x) – f(x)g(x) X-NOR 2 ng)(x) = f(x) + g(x) – f(x)g(x)õ g)(x) = f(x) + g(x) – f(x)g(x)iống)(x) = f(x) + g(x) – f(x)g(x) nhau thì =1
Trang 68Sự chuyển đổi giữa các cổng cơ bản sang cổng NAND
05/13/202
Trang 69Sự chuyển đổi giữa các cổng cơ bản sang cổng NOR
Trang 70VD: Viết lại biểu thức logic sau từ mạch logic:
Trang 71Các bước thiết kế logic tổng hợp:
Bước 1: Đặt các biến cho ngõ vào và các hàm
Bước 4: Tìm công thức đa thức tối tiểu của biểu
thức logic vừa tìm được
Bước 5: Từ biểu thức logic rút gọn chuyển sang
mạch logic tương ứng
Trang 72Ví dụ:
Một ngôi nhà có 3 công tắc, người chủ nhà muốn
bóng đèn sáng khi cả 3 công tắc đều hở, hoặc khi
công tắc 1 và 2 đóng còn công tắc thứ 3 hở Hãy
thiết kế mạch logic thực hiện sao cho số cổng là
Trang 73 Bước 2:
Từ yêu cầu bài toán ta có bảng chân trị:
Trang 74A B C
Y
Bước 3: Từ bảng chân trị ta có biểu thức logic ngõ ra
Bước 4: Rút gọn biểu thức logic:𝑌 = ´𝐴 ´𝐵 ´𝐶+ 𝐴𝐵 ´𝐶
Bước 5: Mạch logic tương ứng của biểu thức
05/13/202
Trang 75 Ng)(x) = f(x) + g(x) – f(x)g(x)oài ra, ta cũng)(x) = f(x) + g(x) – f(x)g(x) có thể sử dụng)(x) = f(x) + g(x) – f(x)g(x) cổng)(x) = f(x) + g(x) – f(x)g(x) XOR cho bài toán như
sau:
Trang 76CHÂN THÀNH CẢM ƠN CÔ
VÀ CÁC BẠN
ĐÃ LẮNG NGHE VÀ THEO DÕI