Chương 6: Đại số Boole

36
07-09-2007 Bài giảng Môn học 1 Chương 6: Đại số Boole

description

Chương 6: Đại số Boole. 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 - PowerPoint PPT Presentation

Transcript of Chương 6: Đại số Boole

Page 1: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 1

Chương 6:

Đại số Boole

Page 2: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 2

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

Page 3: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 3

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.

Page 4: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 4

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

Ví dụ: F(x, y, z) = xy + z• Có hàm Boole bậc n khác nhau ?

n22

Page 5: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 5

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

Page 6: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 6

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

Page 7: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 7

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 y + z x(y + z) xy xz xy + xz

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

Page 8: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 8

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 ?

= x – luật?

Page 9: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 9

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ó.

Page 10: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 10

Đị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.

Luật đồng nhất

Luật nuốt

Luật kết hợp

)()(

)()(

0

1

1

0

zyxzyx

zyxzyx

xx

xx

xx

xx

Page 11: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 11

Định nghĩa trừu tượng của đại số Boole (tt)

Luật giao hoán

Luật phân phối

)()()(

)()()(

zxyxzyx

zxyxzyx

xyyx

xyyx

Page 12: Chương 6: Đại số Boole

07-09-2007 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ụ: 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

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

0

0

1

0

0

0

0

0

0

1

0

0

0

1

0

0

Page 13: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 13

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

G(x, y, z) = xyz + xyzx y z F G

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

0

0

1

0

0

0

0

0

0

1

0

0

0

1

0

0

Page 14: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 14

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:

F(x, y, z) = ?

x y z x + y z (x + y) z

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

1

1

1

1

1

0

0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

Page 15: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 15

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.

Page 16: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 16

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 = ? .11 = ? , 10 = ? , 01 =? ,0 0 = ? .)

Page 17: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 17

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ì: ?

Page 18: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 18

Các cổng logic

• Các loại cổng cơ bản:– Cổng NOT hay bộ đảo: x x

– Cổng AND:

– Cổng OR

yx xy

xy x + y

Page 19: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 19

Các cổng logic (tt)

• Các cổng có n đầu vào:

x1 x2… xn

x1x2

xn

x1 + x2 +…+ xn

x1x2

xn

Page 20: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 20

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)

b) ?

xy

z

x + y

x

(x + y)x

Page 21: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 21

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)

Page 22: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 22

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ố:

yx

zy

zx xy + xz + yz

xy

xz

yz

Page 23: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 23

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.

• Bảng giá trị của bộ nữa cộng:

Bộ nửa cộng

x

ys

c

x y s c

1

1

0

0

1

0

1

0

0

1

1

0

1

0

0

0

Page 24: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 24

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 cin s cout

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

1

0

1

0

0

0

Page 25: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 25

Bộ cộng (tt)

• Bộ cộng đầy đủ:

Bộ cộng đầy đủ

x

y s

coutcin

Page 26: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 26

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)

Bộ nữa cộng

xo

yo

soco Bộ cộng đầy đủ

x1

y1

s1`

c1 Bộ cộng đầy đủ

x2

y2

s2

c2 = s3

Page 27: Chương 6: Đại số Boole

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 .

. Ta có: xyz +xyz = (y + y)xz

= 1.xz

= xz

Page 28: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 28

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

zx xz

xyz

x

y

z

y

xyz

xyz

xyz + xyz

Page 29: Chương 6: Đại số Boole

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: 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.

Page 30: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 30

Cực tiểu hóa các mạch (tt)

• Bản đồ Karnaugh hai biến:

• Ví dụ: Tìm bảng đồ Karnaugh cho

a) xy + xy b) xy + xy c) xy + xy + xy

? ?

xy xy

xy xy

x

x

y y

1 1

0 0

x

x

y y

x

x

y y

x

x

y y

Page 31: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 31

Cực tiểu hóa các mạch (tt)

• Bản đồ Karnaugh hai biến:

• Ví dụ: Tìm bảng đồ Karnaugh cho

a) xy + xy b) xy + xy c) xy + xy + xy

? ?

xy + xy = x , xy + xy = ? , xy + xy + xy =?

xy xy

xy xy

x

x

y y

1 1

0 0

x

x

y y

x

x

y y

x

x

y y

Page 32: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 32

Cực tiểu hóa các mạch (tt)

• Bảng đồ Karnaugh ba biến:

x

x

yz yz yz yz

Page 33: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 33

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:

zyxzyxyzxzyxzyxzxyxyzc

zyxzyxyzxzyxzyxb

zyxyzxzyxzxya

)

)

)

Page 34: Chương 6: Đại số Boole

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:

a)

1 1

1 1

x

x

yz yz yz yz

yzxzyzxzyxyzxzyxzxy

Page 35: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 35

Cực tiểu hóa các mạch (tt)

Giải:

b)

1 1

1 1 1

x

x

yz yz yz yz

? zyxzyxyzxzyxzyx

Page 36: Chương 6: Đại số Boole

07-09-2007 Bài giảng Môn học 36

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:

?

?

?

?

? ? ? ?

zyxwyzxwzyxwzyxwzyxwyzxwzywxzwxywxyz