8.6.1. Định nghĩa
Cho E {0, 1}; ánh xạ f : En E gọi là một hàm đại số logic của n biến; một hàm đại số thường được xác định bởi bảng giá trị của nó; trong đó liệt kê mọi bộ giá trị có thể có của các biến cùng với giá trị tương ứng của f.
Thí dụ.
x y z f (x, y, z)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Vì E 2 nên En 2n nên ta có 2n bộ trị số khác nhau của các biến, do đó
số các hàm đại số logic khác nhau của n biến là 22n, chẳng hạn với n 3 thì có
8 bộ giá trị khác nhau của biến và 28 256 hàm đại số logic khác nhau của 3 biến.
Các hàm đại số logic phụ thuộc thực sự vào các biến được gọi là hàm đại số logic sơ cấp; với n 2 ta có các hàm thông dụng sau đây:
x y f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
0 0 0 0 0 1 1 1 1 1 0 0
0 1 1 0 1 1 0 0 1 0 1 0
1 0 1 0 1 0 0 0 1 1 0 1
1 1 1 1 0 1 1 0 0 1 0 0
Trong đó:
f1 x y Tuyển của x và y
f2 x y Hội của x và y
f3 x y Tuyển loại của x và y
10
f4 x y Hàm kéo theo (x kéo theo y)
f5 x y Gọi là hàm tương đương
f6 x y Gọi là hàm Vebb của x và y (x y x y)
f7 x | y Gọi là hàm Sheffer của x và y (x | y x y)
f8 x y
9 8
f f x y
10 4
f f (xy) x y
Trong các hàm trên quan trọng nhất là hàm tuyển và hội. Các hàm khác được suy ra từ hàm tuyển, hội cùng với phép toán phủ định.
Ta thấy rằng mỗi một biểu thức logic, ta có thể lập được bảng giá trị của nó,
do đó nó có một hàm đại số logic tương đương logic với biểu thức logic đó, nghĩa là chúng có cùng một bảng giá trị như nhau. Nói gọn lại mỗi một biểu thức logic tương ứng với một hàm đại số logic; và ngược lại mỗi hàm đại số logic cũng có thể cho bởi một biểu thức logic.
Bằng các phép thay thế logic, ta có thể thấy rằng một hàm đại số logic có thể cho bởi nhiều biểu thức logic có dạng khác nhau (nhưng có cùng bảng giá trị như nhau). Vì vậy ta quan tâm đến những dạng nào có ít phép toán nhất.
8.6.2. Dạng chuẩn tắc của hàm đại số logic
a) Tuyển sơ cấp
Tuyển sơ cấp của các biến logic một tuyển trong đó mỗi biến và phủ định của
nó chỉ xuất hiện tối đa 1 lần. Giả sử có 3 biến logic x, y, z thì các tuyển sau đây là tuyển sơ cấp:
x y z; x y z; x y z; x y, …
Các tuyển có đủ cả 3 biến ta gọi là tuyển sơ cấp cực đại;
b) Hội sơ cấp
Hội sơ cấp của các biến logic; là một hội, trong đó mỗi biến và phủ định của
nó chỉ xuất hiện tối đa 1 lần.
Thí dụ.
x y z ; x y z; x y z; x y,…
Nếu hội có đủ các biến, ta gọi đó là hội cực đại. Tương tự với tuyển sơ cấp, ta thấy hội sơ cấp là dạng chứa ít phép toán nhất.
c) Tuyển chuẩn tắc
Tuyển chuẩn tắc là tuyển của các hội sơ cấp khác nhau.
Thí dụ.
1) (x y z) (x y z)(x y z) 2) (x y z) (x y) (x z)
11 Nếu tất cả các hội sơ cấp đều là cực đại thì tuyển chuẩn tắc gọi là đầy đủ; trong thí dụ trên thì 1) là tuyển chuẩn tắc đầy đủ; còn 2) là không đầy đủ.
Dễ thấy rằng tuyển chuẩn tắc cũng là dạng chứa ít phép toán nhất trong các dạng tuyển biểu diễn hàm F(x, y, z).
d) Hội chuẩn tắc
Hội chuẩn tắc là hội của các tuyển sơ cấp khác nhau. Nếu tất cả các tuyển sơ cấp đều là cực đại thì hội chuẩn tắc là đầy đủ
Thí dụ.
(x y z)(x y z) (x y z)
là hội chuẩn tắc đầy đủ.
Hội chuẩn tắc cũng là dạng chứa ít phép toán nhất trong các dạng hội biểu diễn hàm F(x, y, z).
7.6.3. Tìm dạng chuẩn tắc của các hàm đại số logic
a) Tìm dạng tuyển chuẩn tắc
Ta tiến hành theo trình tự sau đây:
- Lập bảng giá trị của hàm đại số logic.
- Tìm các hội sơ cấp.
- Tìm tuyển của các hội sơ cấp.
Thí dụ.
Tìm dạng tuyển chuẩn tắc của hàm đại số logic cho bởi biểu thức logic sau đây:
F(x, y, z) (x | y) (y z)
- Trước tiên ta lập bảng giá trị của F(x, y, z).
x y z x | y y z F(x, y, z)
0 0 0 1 0 0
0 0 1 1 1 1 H1 x y z
0 1 0 1 1 1 H2 x y z
0 1 1 1 0 0
1 0 0 1 0 0
1 0 1 1 1 1 H3 x y z
1 1 0 0 1 1 H4 x y z
1 1 1 0 0 1 H5 x y z
- Tìm các hội sơ cấp.
12
Ta quan tâm đến các giá trị 1 của F(x, y, z). Trong bảng có 5 số 1, tương ứng với 5 hội sơ cấp khác nhau: H , H , H , H , H1 2 3 4 5.
Ta thấy rằng hội của các mệnh đề có giá trị 1 khi mọi mệnh đề có giá trị 1 nên
dễ dàng tìm được:
H1 x y z
H2 x y z
H3 x y z
H4 x y z
H5 x y z
- Vậy dạng tuyển chuẩn tắc của F(x, y, z) là:
1 2 3 4 5
F(x, y, z) H H H H H
(x y z) (x y z) (x y z) (x y z) (x y z)
b) Tìm dạng hội chuẩn tắc
Ta cũng tiến hành theo trình tự như khi tìm dạng tuyển chuẩn tắc, chỉ có điều khác là sau khi lập bảng giá trị của hàm F(x, y, z), thay cho việc tìm hội sơ cấp, chúng ta tìm tuyển sơ cấp.
Khi tìm tuyển sơ cấp ta quan tâm đến các giá trị 0 của hàm F(x, y, z). Trong bảng giá trị của hàm F(x, y, z) có 3 số 0 tương ứng với các bộ trị số của x, y, z như sau:
x y z F(x, y, z)
0 0 0 0 T1 x y z
0 1 1 0 T2 x y z
1 0 0 0 T3 x y z
Ta biết rằng tuyển của các mệnh đề có giá trị 0 khi mọi mệnh đề lấy giá trị 0, nên ta dễ dàng tìm được:
T1 x y z
T2 x y z
T3 x y z
và do đó dạng hội chuẩn tắc của F(x, y, z) là
F(x, y, z) T1 T2 T3
(x y z) (x y z) (x y z)
.
13
Ta cũng thấy rằng dạng tuyển chuẩn tắc và hội chuẩn tắc mà chúng ta vừa tìm được đều là dạng chuẩn tắc đầy đủ.
7.6.4. Biểu diễn các hàm đại số logic chỉ bằng 2 phép tính
Dạng chuẩn tắc của một hàm đại số logic cho dù có bao nhiêu biến cũng chỉ
có 3 phép tính: tuyển, hội và phủ định. Ta tìm cách biểu diễn một hàm đại số logic chỉ bằng 2 phép tính: hoặc là tuyển và phủ định hoặc là hội và phủ định.
a) Chỉ có dấu tuyển và phủ định
Muốn vậy ta phải làm mất các dấu hội chứa trong biểu thức của F(x, y, z);
ta chỉ việc áp dụng luật phủ định của phủ định và luật DeMorgan.
A A và A B A B
Thí dụ
F(x, y, z) (x y z) (x y z)(x y z) (x y z)(x y z) (x y z)
(x y z) (x y z) (x y z)
b) Chỉ có dấu hội và phủ định
Ta sẽ làm mất dấu tuyển bằng cách áp dụng 2 công thức:
A A và A B A B
Thí dụ
F(x, y, z) (x y z) (x y z) (x y z) (x y z) (x y z) (x y z)
(x y z) (x y z) (x y z)