Hàm Bool

Tài liệu tham khảo

• [1] Ts.Trần Ngọc Hội, Toán rời rạc. • [2] Gs.Ts Nguyễn Hữu Anh, Toán rời rạc,

Nhà xuất bản giáo dục.

B = { 0, 1}

• Trên tập hợp B ta định nghĩa các phép

toán cộng, nhân và phép lấy bù của các phần tử thuộc B như sau: – 0 + 0 = 0; 0 + 1 = 1 + 0 = 1 + 1 = 1 – 0 . 0 = 0 . 1 = 1 . 0 = 0; 1 . 1 = 1 =

=

0 1, 1

0

luật phủ định của phủ định, luật lũy đẳng, luật về phần tử trung hòa, luật về phần tử trung bù, luật giao hoán, luật kết hợp, luật phân bố, luật De Morgan, luật thống trị.

Định nghĩa hàm Bool

ạ ộ ộ ế M t hàm Bool n bi n là m t ánh x

f : Bn (cid:0) B , trong đó B = {0, 1}.

ế ạ ộ ộ ố M t hàm Bool n bi n là m t hàm s  có d ng :

1, x2,…, xn ch  ỉ

ế ỗ

ậ ậ ị ị f = f(x1,x2,…,xn), trong đó m i bi n trong x nh n hai giá tr  0, 1 và f  nh n giá tr  trong B = {0, 1}.

1,p2,…,pn) theo n bi n pế

1, p2,…,

ế

ứ Ví d :  bi u th c logic E = E(p pn  là m t hàm Bool n bi n.

ể ỉ ậ ế Ký hi u  ệ Fn đ  ch  t p các hàm Bool  bi n.

Bảng chân trị

ế

Xét hàm Bool n bi n  f(x

1,x2,…,xn)

ậ ế ợ ủ ộ ế

ỗ  Vì m i bi n x ờ 2n trư ng h p c a b  bi n (x

i  ch   nh n hai giá tr  0, 1 nên ch  có  1,x2,…,xn).

ể ậ

f, ta có th  l p b ng g m 2

ồ ờ

ả ể n hàng    Do đó, đ  mô t ợ ủ n trư ng h p c a  ị ủ ấ ả t c  các giá tr  c a f tùy theo  2 ghi t ị ủ   bi n. ế Ta g i ọ đây là b ng chân tr  c a f ả

Ví dụ

ế

ế ủ ự

ế

ệ Xét k t q a f trong vi c thông qua m t Quy t  ầ ị đ nh d a vào 3 phi u b u x, y, z

ỗ ỉ ấ ế ị

2. K t  q a  f  là  1  (thông  qua  Quy t

ế đ nh)  n u

ế ủ ố

ế

ế

ế đư c ợ đa  s   phi u  tán  thành,  là  0  (không  thông  qua  ỏ ế đa s  phi u bác b .  ị Quy t ế đ nh) n u

ế

Khi đó f là hàm Bool theo 3 bi n x, y, z có b ng chân  tr  nhị ư sau:

ộ 1. M i phi u ch  l y m t trong hai giá tr : 1 (tán  ỏ ặ thành)  ho c 0 (bác b ).

Hàm Bool

Các phép toán trên hàm Bool

=

1

f

(

x1 x2 ,

,

,

xn )

f x1 x2 , ,

(

,

xn )

(f+g) (x1, x2, …, xn) = f(x1, x2, …, xn) + g(x1, x2,

…, xn)

(f.g) (x1, x2, …, xn) = f(x1, x2, …, xn) . g(x1, x2,

…, xn)

(cid:0) - (cid:0)

Dạng nối rời chinh tắc của Hàm Bool

• Xét tập hợp các hàm Bool của n biến Fn theo n biến x1

,x2,…,xn.

ix • Mổi hàm bool xi hay được gọi là 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 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 Bool 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 Bool

thành tổng của các từ tối tiểu.

=

+

xyz

yz +

f =

+

+

+

t

x

=

( +

t +

+

xyz t ( + xyzt

) xyzt

xyzt

x yz t ( ) + x yzt

) xyzt

x yzt

Xét hàm Bool f có b ng chân tr

ở : ị đ nh b i

f = xyz+xyz+xyz+xyz

ạ M ng logic (M ng các c ng)

Các cổng

f = xz + yz + xt + yt + xyz

f = xz + yz + xt + yt + xyz

Công thức đa thức tối tiểu

• Đơn giản hơn Cho hai công thức đa thức của một hàm Bool

:

f = m1+ m2 +…. +mk (F) f =M1 + M2 +… + Ml (G) Ta nói rằngcông thức F đơn giản hơn công thức G nếu tốn tại đơn ánh h: {1,2,..,k} → { 1,2,…, l} sao cho với mọi i(cid:0) {1,2,..,k} thì số từ đơn của mi không nhiều hơn số từ đơn của Mh(i)

Công thức đa thức tối tiểu

• Đơ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

** Công thức đa thức tối tiểu: Công thức F của hàm Bool f được gọi là

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

Phương pháp biểu đồ Karnaugh

ượ

c đánh d u b i x thì t

i đó

x

ươ

ằ ộ Khi m t ô n m trong dãy đ x =1, b i ở       thì t

i đó

ng t

cho y, z, t.

x =0, t

• Tập các ô tại đó f bằng 1 được gọi là

biểu đồ karnaugh của f, ký hiệu là kar(f)

x

x

t

z

z

t

y

y

t

y

ủ ơ

ứ yzt

Bi u đ  karnaugh c a đ n th c

x

x

t

z

t

y

y

z

y

• Hai ô được gọi là kề nhau (theo nghĩa

rộng), nếu chúng là hai ô liền nhau hoặc chúng là ô đầu, ô cuối của cùng một hàng (cột) nào đó

• Tế bào: hình chữ nhật gồm một lũy thừa

của 2 những ô kề nhau.

Tế bào

tế bào 2

16 16

Tế bào 4

4 16

Tế bào 4

4 1

Tế bào 8

4 4

Tế bào lớn

• Cho hàm Bool f. Ta nói T là một tế bào lớn

của kar(f) nếu T thoả hai tính chất sau: – T là một tế bào và T(cid:0) – Không tồn tại tế bào T’ nào thỏa T’ (cid:0)

kar(f)

T(cid:0)

kar(f)

ế ể ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

ế ể ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

ể ế ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

ế ể ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

ế ể ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

ế ể ồ Xét hàm Bool f theo 4 bi n x, y, z, t có bi u đ  karnaugh

Thuật toán

• Bước 1: Vẽ biễu đồ karnaugh của f. • Bước 2: Xác định tất cả các tế bào lớn

của kar(f).

• Bước 3: Xác định các tế bào lớn nhất thiết

phải chọn Ta nhất thiết phải chọn tế bào lớn T khi tồn

tại một ô của kar(f) mà ô này chỉ nằm trong tế bào lớn T và không nằm trong bất kỳ tế bào lớn nào khác.

Thuật toán

• Bước 4: Xác định các phủ tối tiểu gồm các

Nếu các tế bào lớn chọn được ở bước 3 đã phủ được kar(f) thì ta có duy nhất một phủ tối tiểu gồm các tế bào lớn của kar(f).

Nếu các tế bào lớn chọn được ở bước 3

chưa phủ được kar(f) thì:

xét một ô chưa bị phủ, sẽ có ít nhất hai tế bào

lớn chứa ô này, ta chọn một trong các tế bào lớn này.

Cứ tiếp tục như thế ta sẽ tìm được tất cả các

phủ gồm các tế bào lớn của kar(f).

Loại bỏ các phủ không tối tiểu, ta tìm được tất

cả các phủ tối tiểu gồm các tế bào lớn của kar(f).

tế bào lớn

• Bước 5: Xác định các công thức đa thức

tối tiểu của f. Từ các phủ tối tiểu gồm các tế bào lớn của

kar(f) tìm được ở bước 4 ta xác định được các công thức đa thức tương ứng của f.

Loại bỏ các công thức đa thức mà có một

công thức đa thức nào đó thực sự đơn giản hơn chúng.

Các công thức đa thức còn lại chính là các

công thức đa thức tối tiểu của f.

Ví dụ 1

• Tìm tất cả các công thức đa thức tối tiểu của

=

+

+

+

+

+

xyzt

xy

xz

yz

t

f x y z t , )

( ,

,

xy z (

)

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

hàm Bool:

=

+

+

+

+

+

yzt x

xy

xz

z y

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

y x

xz

yz

xy z

y x t

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

x z

yz

y x z

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

y x

xz

yz

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

ướ

B c 1:V  kar(f):

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

ướ

ế

ư

B c 2: Kar(f) có các t

bào l n nh  sau:

x

yz

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

ướ

ế

ế

B c 3: Xác đ nh các t

bào l n nh t thi

ọ : t ph i ch n

ộ ế ộ ế

ằ ằ

ọ ọ

ớ ớ

­ Ô 1 n m trong m t t ­ Ô 3 n m trong m t t

ấ  bào l n duy nh t x. Ta ch n x. ấ  bào l n duy nh t yz. Ta ch n yz.

1

2

4

5

x

7

8

9

10

1 3 2

4 6 5

2

3

5

6

7 8

9 10

yz

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

ướ

ủ ố ể

ế

ị B c 4: Xác đ nh các ph  t

bào l n

ồ i ti u g m các t 2 1

3

4 6 5

1 1 1 3 3 3 2 2 2

x 7 8

4 4 4 6 6 6 5 5 5

9 10

7 7 7 8 8 8

1 3 2 9 9 9 10 10 10

4 6 5

yz

7 8

ượ

ủ ố ể ồ

ế

ớ ủ

Ta đ

c duy nh t m t ph  t

i ti u g m các t

bào l n c a kar(f):

ấ x + yz.

9 10

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

• Bước 5: Xác định các công thức đa thức tối tiểu

Ứng với phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được duy nhất một công thức đa thức tối tiểu của f:

x + yz

của f.

=yzt + yzt+yzt+xyzt+xzt

f

1 2

5 3 4

6 7 8 9

ẽ B1: V  Kar(f)

=yzt + yzt+yzt+xyzt+xzt

f 1 2 5

3 4 1 2 5 3 4 1 2 5 3 4

6 7 8 9 6 7 8 9 6 7 8 9

1 2 5 3 4

1 2 5 3 4 1 2 5 3 4

6 7 8 9

6 7 8 9 6 7 8 9

ế

B2: Xác đ nh t

bào l n

=yzt + yzt+yzt+xyzt+xzt

f 1 2 5

3 4 1 2 5 3 4 1 2 5 3 4

6 7 8 9 6 7 8 9 6 7 8 9

1 2 5 3 4

1 2 5 3 4 1 2 5 3 4

6 7 8 9

6 7 8 9 6 7 8 9

ế

ế

ị B3: Xác đ nh các t

bào l n nh t thi

t ph i ch n

=yzt + yzt+yzt+xyzt+xzt

f

• Bước 3: Xác định các tế bào lớn nhất thiết

zt

phải chọn – Ô 6 nằm trong một tế bào lớn duy nhất . Ta

zt

chọn

xt

xt Ta chọn

– Ô 1 nằm trong một tế bào lớn duy nhất .

– Ô 4 nằm trong một tế bào lớn duy nhất xzt .

Ta chọn xzt

=yzt + yzt+yzt+xyzt+xzt

f 1 2 5

3 4 3 4

+

6 7 8 9 1 2 5 zt 6 7 8 9 1 2 3 4 5 + xzt xt 6 7 8 9

1 2 5 3 4

1 2 5 3 4 1 2 5 3 4

6 7 8 9

6 7 8 9 6 7 8 9

ủ ố ể ồ

ế

B4: Xác đ nh các ph  t

i ti u g m các t

bào l n

=yzt + yzt+yzt+xyzt+xzt

i ô 5 ch a b  ph

ư ị ủ ế

ạ ằ

Còn l Ô 5 n m trong 2 t

bào l n: 2 cách ch n

f 1 2 5

3 4

+

+

zt

xt

xzt

6 7 8 9

1 2 5 3 4 1 2 5 3 4

6 7 8 9 6 7 8 9

ủ ố ể ồ

ế

B4: Xác đ nh các ph  t

i ti u g m các t

bào l n

=yzt + yzt+yzt+xyzt+xzt

i ô 5 ch a b  ph

ư ị ủ ế

ạ ằ

Còn l Ô 5 n m trong 2 t

bào l n: 2 cách ch n

f 1 2 5

3 4

+

+

+

zt

xt

xzt

xyz

6 7 8 9 1 2 5 3 4

6 7 8 9

ủ ố ể ồ

ế

B4: Xác đ nh các ph  t

i ti u g m các t

bào l n

=yzt + yzt+yzt+xyzt+xzt

i ô 5 ch a b  ph

ư ị ủ ế

ạ ằ

Còn l Ô 5 n m trong 2 t

bào l n: 2 cách ch n

f 1 2 5

3 4

+

+

+

6 7 8 9

zt

xt

xzt

yzt

1 2 5 3 4

6 7 8 9

ủ ố ể ồ

ế

B4: Xác đ nh các ph  t

i ti u g m các t

bào l n

=yzt + yzt+yzt+xyzt+xzt

f

• Bước 5: Xác định các công thức đa thức

tối tiểu của f

+

+

+

zt

xt

xzt

xyz

+

+

+

zt

xt

xzt

yzt

=

+

+

+

+

+

yzt x

xy

xz

z y

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

y x

xz

yz

xy z

y x t

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

x z

yz

y x z

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

x

y

xz

yz

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,

=

+

+

+

+

+

xyzt

xy

xz

yz

xyz

xyt

f x y z t , )

( ,

,