You are on page 1of 29

Chương 7: ĐẠI SỐ BOOLE

Hàm Boole
Giới thiệu
- Đại số Boolean cung cấp các phép toán và quy tắc làm việc với
tập hợp {0, 1}. Các công tắc điện tử và quang học có thể được
nghiên cứu bằng cách sử dụng tập hợp này và các quy tắc đại số
Boole.
- Ba phép tính trong đại số Boole:
► Phép bù của một phần tử, được ký hiệu bằng thanh
ngang, được xác định bởi = 1 và = 0.
► Phép lấy tổng Boole, được ký hiệu bằng + hoặc OR, có
các giá trị sau:
1 + 1 = 1, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0
► Phép lấy tích Boole, được ký hiệu bằng ⋅ hoặc AND, có
các giá trị sau:
1 ⋅ 1 = 1, 1 ⋅ 0 = 0, 0 ⋅ 1 = 0, 0 ⋅ 0 = 0
1
►Trừ khi sử dụng dấu ngoặc đơn, các quy tắc ưu tiên cho
phép toán Boole là: phép bù, phép lấy tích Boole, phép lấy tổng
Boole
Ví dụ 1: Tìm giá trị

Phép bù, phép tổng Boole và phép tích Boole tương ứng với các
phép toán logic, ¬ , ∨ và ∧, trong đó 0 tương ứng với F (sai) và 1
tương ứng với T (đúng). Các đẳng thức trong đại số Boole có thể
được chuyển trực tiếp thành các mệnh đề tương đương. Ngược lại,
sự tương đương của mệnh đề ghép có thể được chuyển thành đẳng
thức trong đại số Boole.

2
Ví dụ: biến đổi:
thành một tương đương logic.
Ta đạt được:

3
Biểu thức Boole và Hàm Boole

Cho B = {0, 1}. Khi đó Bn = {(x1, x2, … , xn) ∣ xi ∈ B với 1 ≤ i ≤ n}.


Biến x được gọi là biến Boole nếu nó lấy các giá trị từ B, nghĩa là các
giá trị của nó chỉ có thể là 0 và 1. Hàm từ Bn đến B được gọi là hàm
Boole bậc n.
Ví dụ: Hàm F(x, y) = x từ tập các cặp biến Boole sắp thứ tự đến tập
{0, 1} là hàm Boole bậc 2 với F(1, 1) = 0, F(1, 0) = 1, F(0, 1) = 0, và
F(0, 0) = 0.

4
► Các hàm Boole có thể được biểu diễn bằng các biểu thức được tạo
thành từ các biến và các phép toán Boole.
► Mỗi biểu thức Boole biểu thị cho một hàm Boole. Các giá trị của
hàm này có được bằng cách thay thế 0 và 1 cho các biến trong biểu
thức.
Ví dụ: Tìm các giá trị của hàm Boole được biểu thị bởi:
F(x, y, z) = xy +

5
- Hàm Boole F và G của n biến bằng nhau khi và chỉ khi:
F(b1, b2, … , bn) = G(b1, b2, … , bn) bất cứ khi nào b1, b2, … , bn
thuộc về B.
- Hai biểu thức Boole khác nhau biểu diễn cùng một hàm
được gọi là tương đương.
Ví dụ: các biểu thức Boole: xy, xy + 0 và xy ⋅ 1 là tương đương

► Phép bù của hàm Boole F là hàm , trong đó


(x1, … , xn) =

► Cho F và G là các hàm Boole bậc n. Phép tổng Boole F + G và


phép tích Boole FG được xác định bởi:
(F + G)(x1, … , xn) = F(x1, … , xn) + G(x1, … , xn),
(FG)(x1, … , xn) = F(x1, … , xn)G(x1, … , xn)
► Có bao nhiêu hàm Boole bậc n khác nhau?
Có hàm Boole bậc n khác nhau 6
Các đẳng thức của đại số Boolean

(Luật bù kép)

(Luật lũy đẳng)

(Luật đồng nhất)

(Luật nuốt)

(Luật giao hoán)

7
(Luật kết hợp)

(Luật phân phối)

(Luật De Morgan)

(Luật hấp thụ)

(Tính chất đơn vị)

(Tính chất zero)

8
9
Ví dụ 2: Biến đổi luật phân phối x + yz = (x + y)(x + z) thành một
tương đương logic.
Để chuyển một đẳng thức Boole thành một tương đương logic, ta
thay đổi các biến Boole x, y và z thành các biến mệnh đề p, q và r.
Tiếp theo, ta thay đổi mỗi phép tổng Boole thành một phép nối rời
và mỗi phép tích Boole thành một phép nối liền.
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)
Ví dụ 3: chứng minh luật hấp thụ x(x + y) = x bằng cách sử dụng các
đẳng thức khác của đại số Boole trong Bảng 5.

10
Tính đối ngẫu

Đối ngẫu của biểu thức Boole nhận được bằng cách hoán đổi các
tổng Boole và tích Boole và hoán đổi các số 0 và 1.
Ví dụ 1: tìm các đối ngẫu của x(y + 0) và ⋅ 1 + ( + z)

Hoán đổi dấu ⋅ và dấu + và hoán đổi 0 và 1 trong các biểu thức này
sẽ tạo ra các đối ngẫu của chúng. Các đối ngẫu lần lượt là x + (y ⋅
1) và ( + 0)( . z).
► Một đẳng thức giữa các hàm được biểu diễn bằng các biểu thức
Boole vẫn còn đúng khi lấy đối ngẫu của cả hai vế của đẳng thức.
Kết quả này, được gọi là nguyên lý đối ngẫu, rất hữu ích cho việc
nhận được các đẳng thức mới.

Ví dụ 2: Xây dựng một đẳng thức từ luật hấp thụ x(x + y) = x bằng
cách lấy đối ngẫu.
x + xy = x 11
Định nghĩa trừu tượng của đại số Boole

Định nghĩa 1: Đại số Boole là một tập hợp B có hai phép toán hai ngôi
∨ và ∧, các phần tử 0 và 1, và một phép toán một ngôi ¯ sao cho các
tính chất sau đúng với mọi x, y và z thuộc B.

12
Biểu diễn các hàm Boole
Khai triển tổng các tích (Sum-of-Products Expansions)
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), cho trong Bảng 1

Một biểu thức có giá trị 1 khi x = z = 1 và y


= 0, và còn không thì có giá trị 0, là cần
thiết để biểu diễn F. Biểu thức như vậy có
thể được hình thành bằng cách lấy tích
Boole của x, và z. Tích xz có giá trị 1 khi
và chỉ khi x = = z = 1.

13
Để biểu diễn G, ta cần một biểu thức bằng 1 khi x = y = 1 và z = 0
hoặc x = z = 0 và y = 1.
Ta có thể tạo một biểu thức bằng cách lấy phép tổng Boole của hai
tích Boole khác nhau.
- Tích Boole xycó giá trị 1 khi và chỉ khi x = y = 1và z = 0.
- Tích Boole y có giá trị 1 khi và chỉ khi x = z = 0 và y = 1.
Tổng Boole của hai tích này là: xy + y.
Định nghĩa:
- Một literal là một biến Boole hoặc phần bù của nó.
- Một minterm của các biến Boole x1, x2, … , xn là một tích Boole
y1y2 ⋯ yn, trong đó yi = xi hoặc yi = . Do đó, một minterm là tích của
n literal, với một literal cho một biến.
► Một minterm y1y2 … yn có giá trị là 1 khi và chỉ khi
mỗi yi bằng 1, và điều này xảy ra khi và chỉ khi xi = 1 khi yi = xi
và xi = 0 khi yi = .
14
Ví dụ 1: Tìm một minterm bằng 1 nếu x1 = x3 = 0 và x2 = x4 = x5 =
1, và còn không thì bằng 0 .
Minterm x2 x4x5 có tập giá trị đúng

Ví dụ 2: Tìm khai triển tổng tích của hàm F(x, y, z) = (x + y).

Chúng ta sẽ tìm khai triển tổng các tích của F(x, y, z) theo hai cách.
Cách 1: ta sẽ sử dụng các đẳng thức Boole để khai triển tích
và đơn giản hóa.

15
Cách 2: ta có thể xây dựng khai triển tổng các tích bằng cách xác
định các giá trị của F cho tất cả các giá trị có thể có của các biến x,
y và z

16
Cổng logic
Các loại cổng cơ bản

17
Cổng có n đầu vào

18
Sự kết hợp của các cổng
Ví dụ: Hình vẽ mô tả mạch tạo ra đầu ra xy + y

Hai cách để vẽ cùng một mạch

19
Ví dụ: xây dựng các mạch tạo ra các đầu ra sau:
(a) (x + y)

20
(b)

21
(c) (x + y + z)()

22
Ví dụ về mạch
Ví dụ 1: Một ủy ban gồm ba cá nhân quyết định các vấn đề cho một
tổ chức. Mỗi cá nhân bỏ phiếu có hoặc không cho mỗi đề xuất phát
sinh. Một đề xuất được thông qua nếu nhận được ít nhất hai phiếu
đồng ý. Thiết kế mạch xác định xem đề xuất có được thông qua hay
không.
Giả sử:
x = 1 nếu cá nhân thứ nhất bỏ phiếu đồng ý và x = 0 nếu
cá nhân này bỏ phiếu không;
y = 1 nếu cá nhân thứ hai bỏ phiếu đồng ý và y = 0 nếu cá
nhân này bỏ phiếu không;
z = 1 nếu cá nhân thứ ba bỏ phiếu đồng ý và z = 0 nếu cá
nhân này bỏ phiếu không.
Một mạch phải được thiết kế để tạo ra đầu ra 1 từ các đầu
vào x, y và z khi hai hoặc nhiều x, y và z bằng 1.
Một biểu diễn của hàm Boolean có đầu ra này là xy + xz + yz 23
Ví dụ 2: Đôi khi các thiết bị chiếu sáng được điều khiển bởi nhiều
hơn một công tắc. Các mạch điện cần phải được thiết kế sao cho
việc bật bất kỳ công tắc nào của thiết bị sẽ bật đèn khi nó tắt và tắt
đèn khi bật.
Thiết kế các mạch thực hiện được điều này khi có hai công tắc và
khi có ba công tắc.
24
- Thiết kế một mạch điều khiển bởi 2 công tắc:
Mỗi công tắc xem như là biến x, y : 1 là bật, 0 là tắt
Cho F(x, y) = 1 khi đèn sáng và 0 khi đèn tắt
Giả sử F(x, y) =1 khi cả hai cái đều bật hoặc cùng tắt

25
26
Mạch điện được điều khiển bằng ba công tắc
- Đặt x, y và z là các biến Boole cho ba công tắc.
- Các biến x, y, z bằng 1 khi công tắc bật và 0 khi nó tắt
- Đặt F(x, y, z) = 1 khi đèn sáng và F(x, y, z) = 0 khi đèn tắt.

Ta có thể tùy ý chỉ định rằng đèn sẽ sáng khi cả ba công tắc đều bật:
F(1, 1, 1) = 1.
- Khi một công tắc tắt, đèn sẽ tắt, do đó:
F (1, 1, 0) = F(1, 0, 1) = F(0, 1, 1) = 0.
- Khi tắt công tắc thứ hai, đèn sáng nên:
F(1, 0, 0) = F(0, 1, 0) = F(0, 0, 1) = 1.
- Khi bật công tắc thứ ba, đèn lại tắt nên F(0, 0, 0) = 0.

27
Hàm F có thể được biểu diễn bằng
khai triển tổng các tích là:

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

28
29

You might also like