1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Silde bài giảng cấu trúc rời rạc phần đại số boole

36 553 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 192,5 KB

Nội dung

Chương 6: Đại số Boole 07-09-2007 Bài giảng Môn học 1 Mở đầu • Đại số Boole đưa ra các phép toán làm việc với tập {0, 1} • Các phép toán thường dùng trong đại số Boole: – Phép lấy phần bù được định nghĩa bởi : 0 = 1 và 1=0 – Phép lấy tổng Boole, ký hiệu ‘+’: 1 + 1 = 1, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0 – Phép lấy tích Boole, ký hiệu ‘.’: 1.1 = 1, 1.0 = 0, 0.1 = 0, 0.0 = 0 07-09-2007 Bài giảng Môn học 2 Mở đầu (tt) • Phép lấy phần bù, tổng và tích Boole tương ứng với các toán tử logic ¬, ∨, ∧, trong đó 0 tương ứng với F (false, sai) và 1 tương ứng với T (true, đúng). Các kết quả của đại số Boole có thể được dịch trực tiếp thành mệnh đề và ngược lại. 07-09-2007 Bài giảng Môn học 3 Hàm Boole • Định nghĩa: Cho B = {0,1}. – Biến x được gọi là biến Boole nếu nó chỉ nhận giá trị từ B – Một hàm đi từ Bn B được gọi là hàm Boole bậc n • Hàm Boole thường đượ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à phép toán Boole n Ví22dụ: F(x, y, z) = xy + z • Có hàm Boole bậc n khác nhau ? 07-09-2007 Bài giảng Môn học 4 Các hằng đẳng thức của đại số Boole Hằng đẳng thức Tên gọi x=x Luật phủ định kép x+x=x x.x = x Luật lũy đẳng x+0=x x.1 =x Luật đồng nhất x+1=1 x.0 = 0 Luật nuốt x+y=y+x x.y = y.x Luật giao hoán 07-09-2007 Bài giảng Môn học 5 Các hằng đẳng thức của đại số Boole (tt) Hằng đẳng thức Tên gọi (x + y) + z = x + (y + z) (x.y).z = x.(y.z) Luật kết hợp x + yz = (x + y)(x + z) x(y +z) = xy +xz Luật phân phối (xy) = x + y x+y=x.y Luật De Morgan 07-09-2007 Bài giảng Môn học 6 Chứng minh các hằng đẳng thức • Ví dụ 1: Chứng minh sự đúng đắn của luật phân phối x(y +z) = xy +xz x y z 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 07-09-2007 y+z x(y + z) xy xz Bài giảng Môn học xy + xz 7 Chứng minh các hằng đẳng thức(tt) • Dùng các hằng đẳng thức đã có để chứng minh các hằng đẳng thức khác • Ví dụ: Chứng minh luật hấp thu x(x + y) = x bằng cách dùng các hằng đẳng thức của đại số Boole. Giải: x(x +y) = (x+0)(x +y) – luật ? = x + 0.y – luật ? = x + 0 – luật ? = 0 – luật? 07-09-2007 Bài giảng Môn học 8 Tính đối ngẫu • Đối ngẫu của biểu thức Boole nhận được bằng cách các tổng và tích Boole đổi chỗ cho nhau, các số 0 và 1 đổi chỗ cho nhau Ví dụ: Đối ngẫu của biểu thức x. 1 + (y +z) là ? • Một hằng đẳng thức giữa các hàm biểu diễn bởi bởi các biểu thức Boole vẫn còn đúng nếu ta lấy đối ngẫu hai vế của nó. 07-09-2007 Bài giảng Môn học 9 Định nghĩa trừu tượng của đại số Boole • Định nghĩa: Đại số Boole là một tập B có hai phần tử 0 và 1 với hai phép toán hai ngôi ∨ và ∧, và một phép toán một ngôi sao cho các tính chất sau đây đúng với mọi x, y, z thuộc B. x ∨ 0 = x Luật đồng nhất   x ∧1 = x  x ∨ x =1   x ∧ x = 0 ( x ∨ y ) ∨ z = x ∨ ( y ∨ z)  ( x ∧ y ) ∧ z = x ∧ ( y ∧ z) 07-09-2007 Luật nuốt Luật kết hợp Bài giảng Môn học 10 Định nghĩa trừu tượng của đại số Boole (tt) x ∨ y = y ∨ x  x ∧ y = y ∧ x  x ∨ ( y ∧ z) = ( x ∨ y ) ∧ ( x ∨ z)   x ∧ ( y ∨ z) = ( x ∧ y ) ∨ ( x ∧ z) 07-09-2007 Luật giao hoán Luật phân phối Bài giảng Môn học 11 Biểu diễn các hàm Boole • Khai triển tổng các tích (dạng tuyển chuẩn tắc) Ví dụ: Tìm các biểu thức Boole biểu diễn các hàm F(x, y, z) và G(x, y, z) có các giá trị được cho trong bảng sau: x y z G F 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 07-09-2007 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 Bài giảng Môn học 12 Biểu diễn các hàm Boole • Khai triển tổng các tích (dạng tuyển chuẩn tắc) Ví dụ 1: Tìm các biểu thức Boole biểu diễn các hàm F(x, y, z) và G(x, y, z) có các giá trị được cho trong bảng sau:  F(x, y, z) = xyz x y z G F G(x, y, z) = xyz + xyz 1 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 07-09-2007 Bài giảng Môn học 13 Biểu diễn các hàm Boole(tt) • Ví du 2: Tìm khai triển tổng các tích của hàm F(x, y, z) = (x + y) z Giải: Bảng giá trị của hàm F: (x + y) z x y z x+y z  F(x, y, z) = ? 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 07-09-2007 Bài giảng Môn học 14 Biểu diễn các hàm Boole(tt) • Khai triển tích các tổng (dạng hội chuẩn tắc): Lấy đối ngẫu từ khai triển tổng các tích. Ví dụ: Tìm dạng khai triển tích các tổng của hàm F(x, y, z) và G(x, y, z) ở ví dụ 1. 07-09-2007 Bài giảng Môn học 15 Tính đầy đủ • Tất cả các hàm Boole đều có thể bằng cách dùng các phép toán Boole . , + , . – Khi đó ta nói tập hợp {. , + , } là đầy đủ Ta có: – Tập {., } là đầy đủ ? – Tập {+, } là đầy đủ ? – Tập {., +} không phải là đầy đủ ? – Tập {|} là đầy đủ, tập {↓} là đầy đủ ? (phép | hay NAND và ↓ hay NOR được định nghĩa: 1|1 = ? , 1|0 = ? ,0|1 = ? ,0|0 = ? . 1↓1 = ? , 1↓0 = ? , 0↓1 =? ,0↓ 0 = ? .) 07-09-2007 Bài giảng Môn học 16 Tính đầy đủ (tt) • • • • Tập {., } là đầy đủ vì: x + y = x y Tập {+, } là đầy đủ vì: x.y = ? Tập {|} là đầy đủ vì: x = x|y xy = (x|y)|(y|x) Tập {↓} là đầy đủ vì: ? 07-09-2007 Bài giảng Môn học 17 Các cổng logic • Các loại cổng cơ bản: – Cổng NOT hay bộ đảo: x – Cổng AND: x y – Cổng OR x y 07-09-2007 Bài giảng Môn học x xy x+y 18 Các cổng logic (tt) • Các cổng có n đầu vào: x1 x2 xn x1 x2 xn 07-09-2007 x1 x2… xn x1 + x2 +…+ xn Bài giảng Môn học 19 Mạch tổ hợp • Ví dụ 1: Dựng các mạch tạo các đầu ra sau: a) (x + y)x ; b) (x + y +z)( x y z ) Giải: a) x x+y (x + y)x y z b) ? 07-09-2007 x Bài giảng Môn học 20 Mạch tổ hợp (tt) • Ví dụ 2: Một ủy ban gồm ba thành viên phải quyết định các vấn đề của một tổ chức. Mỗi thành viên bỏ phiếu tán thành hoặc không cho mỗi một đề nghị được đưa ra. Một đề nghị được thông qua nếu nó nhận được ít nhất hai phiếu tán thành. Hãy thiết kế một mạch cho phép xác định được một đề nghị có được thông qua hay không. (Lưu ý: Các mạch mà đầu ra chỉ phụ thuộc vào đầu vào chứ không phụ thuộc vào trạng thái hiện thời của mạch, được gọi là các mạch tổ hợp) 07-09-2007 Bài giảng Môn học 21 Mạch tổ hợp (tt) Giải: Biểu diễn của hàm Boole có giá trị đầu ra là: xy + xz + yz  Mạch bỏ phiếu theo đa số: x y xy x z xz y z yz 07-09-2007 Bài giảng Môn học xy + xz + yz 22 Bộ cộng • Bộ nửa cộng: Cộng hai bit, không xét đến số nhớ từ phép cộng trước. x y Bộ nửa cộng s c • Bảng giá trị của bộ nữa cộng: x y s c 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 07-09-2007 Bài giảng Môn học 23 Bộ cộng (tt) • Bộ công đầy đủ: Dùng để tính bit tổng và bit nhớ khi hai bit được cộng cùng với số nhớ từ trước. • Bảng giá trị cho bộ cộng đầy đủ x y 1 1 1 1 0 0 0 0 07-09-2007 1 1 0 0 1 1 0 0 cin s 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 Bài giảng Môn0học cout 1 1 1 0 1 0 0 0 24 Bộ cộng (tt) • Bộ cộng đầy đủ: x y cin 07-09-2007 Bộ cộng đầy đủ s cout Bài giảng Môn học 25 Bộ cộng (tt) • Ví dụ: Mạch cộng hai số nguyên dương ba bit (x0 x1 x2) và (y0 y1 y2) xo yo x1 y1 Bộ nữa cộng co Bộ cộng đầy đủ so s1` c1 x2 y2 07-09-2007 Bài giảng Môn học Bộ cộng đầy đủ 26 s2 c2 = s3 Cực tiểu hóa các mạch • Ví dụ: Dựng mạch có đầu ra ra bằng 1 nếu và chỉ nếu x = y = z = 1 hoặc x = z = 1 và y = 0. Giải Cách 1: Cách 2: Khai triển tổng các tích của Khai triển tổng các tích của mạch là: xyz + xyz mạch là: xyz + xyz . . Ta có: xyz +xyz = (y + y)xz = 1.xz = xz 07-09-2007 Bài giảng Môn học 27 Cực tiểu hóa các mạch • Ví dụ: Dựng mạch có đầu ra ra bằng 1 nếu và chỉ nếu x = y = z = 1 hoặc x = z = 1 và y = 0. Giải Cách 1: Cách 2: Khai triển tổng các tích của Khai triển tổng các tích của mạch là: xyz + xyz mạch là: xyz + xyz . x . Ta có: xyz +xyz = (y + y)xz xyz y = 1.xz z xyz + xyz = xz x x xyz y xz y z z 07-09-2007 Bài giảng Môn học 28 Cực tiểu hóa các mạch (tt) • Bản đồ Karnaugh: Cho chúng ta một phương pháp trực quan để rút gọn khai triển tổng các tích. 07-09-2007 Bài giảng Môn học 29 Cực tiểu hóa các mạch (tt) • Bản đồ Karnaugh hai biến: x y xy y xy x xy xy • Ví dụ: Tìm bảng đồ Karnaugh cho a) xy + xy b) xy + xy c) xy + xy + xy x y 1 y 1 x x 0 0 x 07-09-2007 y y y Bài giảng Môn học ? x y ? x 30 Cực tiểu hóa các mạch (tt) • Bản đồ Karnaugh hai biến: x y xy y xy x xy xy • Ví dụ: Tìm bảng đồ Karnaugh cho a) xy + xy b) xy + xy c) xy + xy + xy x y 1 y 1 x x 0 0 x y  xy + xy = x , xy + xy = ? 07-09-2007 y y Bài giảng Môn học ? y x ? x , xy + xy + xy =? 31 Cực tiểu hóa các mạch (tt) • Bảng đồ Karnaugh ba biến: yz yz yz yz x x 07-09-2007 Bài giảng Môn học 32 Cực tiểu hóa các mạch (tt) • Ví dụ: Dùng bảng đồ Karnaugh rút gọn khai triển tổng các tích sau: a) xy z + x y z + xyz + x y z b) x yz + x y z + xyz + x yz + x y z c) xyz + xy z + x yz + x y z + xyz + x yz + x y z 07-09-2007 Bài giảng Môn học 33 Cực tiểu hóa các mạch (tt) Giải: a) yz x x 1 yz yz 1 1 yz 1 ⇒ xy z + x y z + xyz + x y z = x z + y z + xyz 07-09-2007 Bài giảng Môn học 34 Cực tiểu hóa các mạch (tt) Giải: b) yz x x 1 yz yz yz 1 1 1 1 ⇒ x yz + x y z + xyz + x yz + x y z = ? 07-09-2007 Bài giảng Môn học 35 Cực tiểu hóa các mạch (tt) • Bảng đồ Karnaugh bốn biến: ? ? ? ? ? ? ? ? • Ví dụ: Dùng bảng đồ Karnaught rút gọn khai triển tổng các tích: wxyz + wxy z + wx y z + w xyz + w x yz + w x y z + wx yz + w xyz + w xy z 07-09-2007 Bài giảng Môn học 36 [...]... 07-09-2007 Bài giảng Môn học 21 Mạch tổ hợp (tt) Giải: Biểu diễn của hàm Boole có giá trị đầu ra là: xy + xz + yz  Mạch bỏ phiếu theo đa số: x y xy x z xz y z yz 07-09-2007 Bài giảng Môn học xy + xz + yz 22 Bộ cộng • Bộ nửa cộng: Cộng hai bit, không xét đến số nhớ từ phép cộng trước x y Bộ nửa cộng s c • Bảng giá trị của bộ nữa cộng: x y s c 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 07-09-2007 Bài giảng Môn... 0 0 Bài giảng Môn học 12 Biểu diễn các hàm Boole • Khai triển tổng các tích (dạng tuyển chuẩn tắc) Ví dụ 1: Tìm các biểu thức Boole biểu diễn các hàm F(x, y, z) và G(x, y, z) có các giá trị được cho trong bảng sau:  F(x, y, z) = xyz x y z G F G(x, y, z) = xyz + xyz 1 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 07-09-2007 Bài giảng Môn học 13 Biểu diễn các hàm Boole( tt)... 0 0 1 0 0 0 0 0 0 0 1 0 07-09-2007 Bài giảng Môn học 14 Biểu diễn các hàm Boole( tt) • Khai triển tích các tổng (dạng hội chuẩn tắc): Lấy đối ngẫu từ khai triển tổng các tích Ví dụ: Tìm dạng khai triển tích các tổng của hàm F(x, y, z) và G(x, y, z) ở ví dụ 1 07-09-2007 Bài giảng Môn học 15 Tính đầy đủ • Tất cả các hàm Boole đều có thể bằng cách dùng các phép toán Boole , + , – Khi đó ta nói tập hợp...Định nghĩa trừu tượng của đại số Boole (tt) x ∨ y = y ∨ x  x ∧ y = y ∧ x  x ∨ ( y ∧ z) = ( x ∨ y ) ∧ ( x ∨ z)   x ∧ ( y ∨ z) = ( x ∧ y ) ∨ ( x ∧ z) 07-09-2007 Luật giao hoán Luật phân phối Bài giảng Môn học 11 Biểu diễn các hàm Boole • Khai triển tổng các tích (dạng tuyển chuẩn tắc) Ví dụ: Tìm các biểu thức Boole biểu diễn các hàm F(x, y, z) và G(x, y, z) có các... 1↓0 = ? , 0↓1 =? ,0↓ 0 = ? ) 07-09-2007 Bài giảng Môn học 16 Tính đầy đủ (tt) • • • • Tập {., } là đầy đủ vì: x + y = x y Tập {+, } là đầy đủ vì: x.y = ? Tập {|} là đầy đủ vì: x = x|y xy = (x|y)|(y|x) Tập {↓} là đầy đủ vì: ? 07-09-2007 Bài giảng Môn học 17 Các cổng logic • Các loại cổng cơ bản: – Cổng NOT hay bộ đảo: x – Cổng AND: x y – Cổng OR x y 07-09-2007 Bài giảng Môn học x xy x+y 18 Các cổng logic... bit tổng và bit nhớ khi hai bit được cộng cùng với số nhớ từ trước • Bảng giá trị cho bộ cộng đầy đủ x y 1 1 1 1 0 0 0 0 07-09-2007 1 1 0 0 1 1 0 0 cin s 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 Bài giảng Môn0học cout 1 1 1 0 1 0 0 0 24 Bộ cộng (tt) • Bộ cộng đầy đủ: x y cin 07-09-2007 Bộ cộng đầy đủ s cout Bài giảng Môn học 25 Bộ cộng (tt) • Ví dụ: Mạch cộng hai số nguyên dương ba bit (x0 x1 x2) và (y0 y1 y2) xo... xz y z z 07-09-2007 Bài giảng Môn học 28 Cực tiểu hóa các mạch (tt) • Bản đồ Karnaugh: Cho chúng ta một phương pháp trực quan để rút gọn khai triển tổng các tích 07-09-2007 Bài giảng Môn học 29 Cực tiểu hóa các mạch (tt) • Bản đồ Karnaugh hai biến: x y xy y xy x xy xy • Ví dụ: Tìm bảng đồ Karnaugh cho a) xy + xy b) xy + xy c) xy + xy + xy x y 1 y 1 x x 0 0 x 07-09-2007 y y y Bài giảng Môn học ? x y... 07-09-2007 y y Bài giảng Môn học ? y x ? x , xy + xy + xy =? 31 Cực tiểu hóa các mạch (tt) • Bảng đồ Karnaugh ba biến: yz yz yz yz x x 07-09-2007 Bài giảng Môn học 32 Cực tiểu hóa các mạch (tt) • Ví dụ: Dùng bảng đồ Karnaugh rút gọn khai triển tổng các tích sau: a) xy z + x y z + xyz + x y z b) x yz + x y z + xyz + x yz + x y z c) xyz + xy z + x yz + x y z + xyz + x yz + x y z 07-09-2007 Bài giảng Môn học... 07-09-2007 Bài giảng Môn học 34 Cực tiểu hóa các mạch (tt) Giải: b) yz x x 1 yz yz yz 1 1 1 1 ⇒ x yz + x y z + xyz + x yz + x y z = ? 07-09-2007 Bài giảng Môn học 35 Cực tiểu hóa các mạch (tt) • Bảng đồ Karnaugh bốn biến: ? ? ? ? ? ? ? ? • Ví dụ: Dùng bảng đồ Karnaught rút gọn khai triển tổng các tích: wxyz + wxy z + wx y z + w xyz + w x yz + w x y z + wx yz + w xyz + w xy z 07-09-2007 Bài giảng Môn... đầy đủ so s1` c1 x2 y2 07-09-2007 Bài giảng Môn học Bộ cộng đầy đủ 26 s2 c2 = s3 Cực tiểu hóa các mạch • Ví dụ: Dựng mạch có đầu ra ra bằng 1 nếu và chỉ nếu x = y = z = 1 hoặc x = z = 1 và y = 0 Giải Cách 1: Cách 2: Khai triển tổng các tích của Khai triển tổng các tích của mạch là: xyz + xyz mạch là: xyz + xyz Ta có: xyz +xyz = (y + y)xz = 1.xz = xz 07-09-2007 Bài giảng Môn học 27 Cực tiểu hóa các ...Mở đầu • Đại số Boole đưa phép toán làm việc với tập {0, 1} • Các phép toán thường dùng đại số Boole: – Phép lấy phần bù định nghĩa : = 1=0 – Phép lấy tổng Boole, ký hiệu ‘+’: +... kết đại số Boole dịch trực tiếp thành mệnh đề ngược lại 07-09-2007 Bài giảng Môn học Hàm Boole • Định nghĩa: Cho B = {0,1} – Biến x gọi biến Boole nhận giá trị từ B – Một hàm từ Bn B gọi hàm Boole. .. n • Hàm Boole thường biểu diễn cách dùng biểu thức tạo biến phép toán Boole n Ví22dụ: F(x, y, z) = xy + z • Có hàm Boole bậc n khác ? 07-09-2007 Bài giảng Môn học Các đẳng thức đại số Boole Hằng

Ngày đăng: 01/10/2015, 14:25

TỪ KHÓA LIÊN QUAN