nh+¦m 5 - -Éߦíi sß+æ bool

55
Lớp MAT04 Giảng viên: TS. Cao Thanh Tình Đại số Bool 1 Nhóm 4: Lê Bá Nhựt -10520397 Thị Hường -10520528 Thị Ánh Tuyết -10520641 Nguyễn Đức Duy - 10520502

Upload: bul-gii

Post on 12-Aug-2015

68 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Nh+¦m 5 - -Éߦíi sß+æ Bool

Lớp MAT04 Giảng viên: TS. Cao Thanh Tình

Đại số Bool

1

Nhóm 4: Lê Bá Nhựt -10520397 Lê Thị Hường -10520528 Lê Thị Ánh Tuyết -10520641 Nguyễn Đức Duy - 10520502

Page 2: Nh+¦m 5 - -Éߦíi sß+æ Bool

Nội Dung Chính

Hàm Bool Các dạng biểu diễn hàm Bool Biểu đồ Karnaugh cho hàm Bool Thuật toán tìm công thức đa thức tối tiểu cho hàm Bool Hàm Bool của mạch điện Bài tập

2

HÀM BOOL

Đại số Bool

Page 3: Nh+¦m 5 - -Éߦíi sß+æ Bool

Nội Dung Chính (tt) I. Hàm Bool

1. Đại số Bool nhị phân 2. Hàm Bool 3. Đại số Bool của các hàm Bool

II. Các Dạng Biểu Diễn Hàm Bool 1. Từ đơn 2. Đơn thức 3. Đơn thức tối tiểu trong Fn

4. Đa thức trong Fn

5. Dạng nối rời chính tắc của hàm Bool 6. Cách tìm dạng nối rời chính tắc của hàm Bool 7. Mệnh đề 8. So sánh các dạng đa thức của hàm Bool 9. Công thức đa thức tối tiểu cho hàm Bool

Đại số Bool

3

Page 4: Nh+¦m 5 - -Éߦíi sß+æ Bool

Nội Dung Chính (tt) III. Biểu Đồ Karnaugh Cho Hàm Bool

1. Bảng mã 2. Biểu đồ Karnaugh cho hàm Bool 3. Nhận xét 4. Tính chất 5. Biểu đồ của 1 đơn thức 6. Biểu đồ của đa thức 7. Tế bào và tế bào lớn

IV. Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool 1. Họ phủ và họ phủ tối tiểu 2. Thuật toán

V. Đại Số Các Mạch Điện 1. Hàm Bool của mạch điện 2. Các loại cổng cớ bản 3. Thiết kế mạng các cổng tổng hợp hàm Bool 4. Tối ưu hóa việc thiết kế mạng các cổng tổng hợp hàm Bool

VI. Bài Tập

Đại số Bool

4

Page 5: Nh+¦m 5 - -Éߦíi sß+æ Bool

HÀM BOOL

Đại số Bool 5

Page 6: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool

Đại số Bool

6

George Boole (1815-1864)

Page 7: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 1. Đại số Bool nhị phân: Đại số bool của các số nhị phân cũng thỏa các trường hợp (luật) như trong

mệnh đề.

Đại số Bool

7

Luât phủ định kép ¬ ¬E <=> E

Luật lũy đẳng E ˄ E <=> E

E ˅ E <=> E

Luật giao hoán F˄ E <=> E ˄ F

F ˅ E <=> E ˅ F

Luật kết hợp (E ˄ F) ˄ G <=> E ˄ (F ˄ G)

(E ˅ F) ˅ G <=> E ˅ (F ˅ G)

Luật phân phối E ˄ (G ˅ F) <=> (E ˄ G) ˅ (E ˄ F)

E ˅ (G ˄ F) <=> (E ˅ G) (E ˅ F)

Luật phủ định De-Morgan ¬ (E ˄ F) <=> ¬E ˅ ¬F

¬ (E ˅ F) <=> (¬E) ˄ (¬F)

Luật hấp thụ E ˄ (E ˅ F) <=> E ; E ˅ (E ˅ F) <=> E

Luật trung hòa E ˄ 1 <=> E

E ˅ 0 <=> E

Luật thống trị E ˄ 0 <=> 0

E ˅ 1 <=> 1

Luật bù E ˄ ¬E <=> 0

E ˅¬E <=> 1

Luật kéo theo E → F <=> ¬E ˅ F

Phủ định kéo theo ¬( E → F) <=> E ˄ ¬F

Page 8: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 2. Hàm Bool:

a. Định nghĩa Cho và . Hàm Bool n biến là ánh xạ f : Bn → B, trong đó B = {0, 1} Một hàm Bool n biến là một hàm số có dạng f = f(x1 ,x2,…,xn), trong đó

mỗi biến trong x1, x2,…, xn và f chỉ nhận giá trị trong B = {0, 1}

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

Ví dụ: Biểu thức logic E = E(p1,p2,…,pn) theo n biến p1, p2,…, pn là một hàm Bool n biến.

Đại số Bool

8

1≥n Nn∈

Page 9: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 2. Hàm Bool:

b. Bảng chân trị Xét hàm Bool n biến f(x1,x2,…,xn) Vì mỗi biến xi chỉ nhận hai giá trị 0, 1 nên chỉ có 2n trường hợp của bộ biến (x1,x2,…,xn).

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

Đại số Bool

9

Page 10: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 2. Hàm Bool:

b. Bảng chân trị Ví dụ: cho mạch điện như hình vẽ

Tùy theo cách trạng thái cầu dao A, B, C mà ta sẽ có dòng điện đi qua

MN. Bảng giá trị

Đại số Bool

10

A

C

M N B

Page 11: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 3. Các phép toán trên hàm Bool:

Với ta định nghĩa tổng, tích, bù hàm Bool của f và g như sau

Đại số Bool

11

, Fgf n∈

)( gfgf +=∨

gffggf .==∧

ff −=1

Page 12: Nh+¦m 5 - -Éߦíi sß+æ Bool

I. Hàm Bool 3. Các phép toán trên hàm Bool: Ví dụ: n = 2

Đại số Bool

12

X1 1 1 0 0

X2 1 0 1 0

0(x1, x2) 0 0 0 0

1(x1, x2) 1 1 1 1

f(x1, x2) 0 1 0 1

g(x1, x2) 1 1 0 0

¬ f(x1, x2) 1 0 1 0

¬ g(x1, x2) 0 0 1 1

f g(x1, x2) 0 1 0 0

f V g(x1, x2) 1 1 0 1

Page 13: Nh+¦m 5 - -Éߦíi sß+æ Bool

Các Dạng Biểu Diễn Hàm Bool

Đại số Bool 13

Page 14: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 1. Từ đơn: Xét tập hợp các hàm Bool của n biến Fn theo n biến x1 ,x2,…,xn. Mỗi hàm bool xi hay ¬ xi được gọi là từ đơn. Ví dụ: x1, x2, x3,…

2. Đơn thức: Là tích khác không của một số hữu hạn từ đơn. Hay có thể hiểu là: Tích Bool của 1 hay nhiều từ đơn sao cho tích này khác 0. Ví dụ: Trong F4 xét x3, x1x2, x1x2x3x4 (bậc của đơn thức là số thành phần x) Trong Fn các đơn thức có bậc từ 1 đến n x, ¬x, y, ¬y, z, ¬z, t, ¬t là các từ đơn x¬yz ¬t, ¬x ¬yt là các đơn thức

Đại số Bool

14

Page 15: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 3. Đơn thức tối tiểu trong Fn:

Là đơn thức có bậc cao nhất bằng n trong Fn.

Dạng tổng quát m = y1y2...yn, yi = xi hoặc ¬xi 1 ≤ i ≤n

Ví dụ: Trong F4 xét các đơn thức tối tiểu bậc 4

x1x2x3x4, x1¬x2x3x4, x1x2x3x4, ¬x1¬x2¬x3¬x4

4. Đa thức trong Fn:

Là tổng Bool các đơn thức f = u1 V u2 V u3 V…V uk, trong đó ui là các đơn thức. Ví dụ: Trong F5 xét đa thức f(x1,x2,x3,x4) = x1¬x5 V ¬x2x3¬x4 V ¬x3 V ¬x1x3x4x5 => Tổng Bool 4 đơn thức f(1,0,1,1,0)=1¬0V¬01¬1V¬1V¬1110 = 1

Đại số Bool

15

Page 16: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 5. Dạng nối rời chính tắc của hàm Bool: Cho f thuộc Fn , f có thể viết dưới dạng sau f = m1 V m2 V m3 V …V mk, (*) với mi là các đơn thức tối tiểu bậc = n (i = 1…n ) (*) được gọi là dạng nối rời chính tắc của f Ví dụ: Trong F4 có dạng biểu diễn sau đây f(x,y,z,t) = x¬y¬zt V ¬xyzt V xy¬z¬t có dạng (*)

Đại số Bool

16

Page 17: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 6. Cách tìm dạng nối rời chính tắc của hàm Bool: Có 2 cách để xác định dạng nối rời chính tắc của một hàm Bool

Cách 1: Bổ sung từ đơn còn thiếu vào các đơn thức

Bước 1: Khai triển hàm Bool thành tổng của các đơn thức Bước 2: Với mỗi từ đơn thu được ở bước 1, ta nhân đơn thức đó với

các tổng dạng với xi là những từ đơn bị thiếu trong đơn thức đó Bước 3: Tiếp tục khai triển hàm thu được ở bước 2 và loại bỏ những

đơn thức bị trùng. Công thức đa thức thu được chính là dạng nối rời chính tắc của hàm Bool ban đầu

Ví dụ: Trong F3 tìm dạng nối dời chính tắc f(x,y,z)= ¬x V ¬yz V xy¬z

f = ¬x(y V ¬y).(z V ¬z) V (¬x V x)¬yz V xy¬z f = ¬xyz V ¬xy¬z V ¬x¬yz V ¬x¬y¬z V ¬x¬yz V x¬yzVxy¬z (*) (*) Chính là dạng nối rời chính tắc

Đại số Bool

17

Page 18: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 6. Cách tìm dạng nối rời chính tắc của hàm Bool: Có 2 cách để xác định dạng nối rời chính tắc của một hàm Bool

Cách 2: dùng bảng chân trị. Để ý đến các vector bool trong bảng chân trị

mà f=1, tại đó Vector bool thứ k là u1, u2,…, un mà f(u1, u2,…, un) = 1. Ví dụ: cho f(x,y) = x V ¬y. Tìm biểu thức dạng nối rời chính tắc của f Lập bảng chân trị của f Các thể hiện làm cho f = 1 là 00, 10, 11 lập được các từ tối tiểu tương ứng.

Vậy dạng nối rời chính tắc của f là f(x,y) = ¬x ¬y V x ¬y V xy

Đại số Bool

18

Page 19: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 7. Mệnh đề: f ∈ Fn Khi đó,

f có thể có nhiều dạng đa thức khác nhau , ta chọn ra các công thức đơn giản nhất có thể được. Chúng chính là các công thức đa thức tối tiểu của f.

f chỉ có một dạng nối dời chính thức duy nhất (không tính sự hoán đổi của các đơn thức).

Đại số Bool

19

Page 20: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 8. So sánh các dạng đa thức của hàm Bool: f ∈ Fn và f có 2 dạng đa thức f = u1 V u2 V… V up (1) f = v1 V v2 V… V vq (2)

a. Ta nói (1) và (2) đơn giản ngang nhau nếu p = q deg(uj) = deg(vj) (1 ≤ j ≤ p) b. Ta nói (1) đơn giản hơn (2) hay (2) phức tạp hơn (1) p ≤ q

deg(uj) ≤ deg(uj) (1 ≤ j ≤ p) chú ý:

Có thể hoán vị v1, v2, …,vq trước khi so sánh bậc nếu cần thiết Có thể có những cặp đa thức không so sánh được

Đại số Bool

20

Page 21: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 8. So sánh các dạng đa thức của hàm Bool: Ví dụ:

a. f ∈ F4 có 3 dạng đa thức f(x,y,z,t) = x ¬y ¬t V ¬xyz V x ¬z ¬ t V xyz (1) = x ¬y ¬t V ¬xyz V xy ¬z V yzt (2) = x ¬y ¬t V ¬xyzt V ¬xyz ¬t V xy ¬z V yzt (3) (1) và (2) đơn giản ngang nhau vì p = q = 4 deg(uj) = deg(vj) = 3 (2) đơn giản hơn (3) hay (3) phức tạp hơn (2) vì q = 4 < r = 5 deg(vj) ≤ deg(qj)

Đại số Bool

21

Page 22: Nh+¦m 5 - -Éߦíi sß+æ Bool

II. Các Dạng Biểu Diễn Hàm Bool 8. So sánh các dạng đa thức của hàm Bool: Ví dụ:

b. g ∈ F4 có 2 dạng đa thức g(x,y,z,t) = x ¬yz V z ¬t V ¬xyz V ¬xy ¬zt (4) = z ¬t V x ¬yzt V ¬xyzt V ¬xy ¬zt (5) ta thấy: p = q = 4 d(u1) > d(v1); d(u2) < d(v2) nên cần phải hoán vị (5) x ¬yzt V z ¬t V ¬xyzt V ¬xy ¬zt (5`) (q` = 4) (4) đơn giản hơn 5` vì p = q` = 4 deg(uj) ≤ deg(wj)

Đại số Bool

22

Page 23: Nh+¦m 5 - -Éߦíi sß+æ Bool

BIỂU ĐỒ KARNAUGH

Đại số Bool 23

Page 24: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh 1. Công thức đa thức tối tiểu: Với f ∈ Fn khi đó:

f có thể có 1 hay nhiều dạng đa thức khác nhau. Ta chọn ra các dạng đa thức đơn giản nhất có thể được, đó chính là các công thức đa thức tối tiểu của hàm bool f.

Ta có thể tìm các đa thức tối tiểu của hàm bool bằng phương pháp biểu đồ karnaugh(Hàm bool không quá 4 biến).

Đại số Bool

24

Page 25: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh 2. Bảng mã: B = {0;1}

Bảng mã cho B2 ( 2 biến bool x và y)

11 01 10 00

xy

y

x

Bảng mã cho B3 (3 biến bool x, y, z)

x x101 111 011 001 100 110 010 000

x x

yy y yzz

Đại số Bool

25

Page 26: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh

x x x x

yy y y

z

z

Bảng mã cho B4 (4 biến pool x, y, z, t)

t

t1010 1110 0110 0010 1011 1111 0111 0011

1001 1101 0101 0001

1000 1100 0100 0000

t

t

z

z

Đại số Bool

26

Page 27: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh 3. Ghi chú:

Khái niệm kề nhau trong bảng mã được hiểu như sau:

Dòng (cột) 1 kề với dòng (cột) 2 Dòng (cột) 2 kề với dòng (cột) 3 Dòng (cột) 3 kề với dòng (cột) 4 Dòng (cột) 4 kề với dòng (cột) 1

2 ô kề nhau trong bảng mã có mã số sai khác nhau 1 vị trí

Đại số Bool

27

Page 28: Nh+¦m 5 - -Éߦíi sß+æ Bool

4. Biểu đồ Karnaugh cho hàm Bool:

III. Biểu Đồ Karnaugh f ∈ Fn (n ≤ 4) và xét bảng chân trị của f.

Ký hiệu: kar(f) – biểu đồ karnaugh của f

Ta quan tâm các vector bool mà f =1tại đó. Đánh dấu các ô đó của bảng mã. Tập hợp các ô được đánh dấu gọi là biểu đồ karnaugh của hàm bool F.

x 1 1 1 1 0 0 0 0 y 1 1 0 0 1 1 0 0 z 1 0 1 0 1 0 1 0

f(x,y,z) 0 1 0 1 1 0 1 1 x

101 111 011 001 100 110 010 000

x

yyzz

x x

y y

S=kar(f)

Ví dụ: f ∈ F3 có bảng chân trị

Đại số Bool

28

Page 29: Nh+¦m 5 - -Éߦíi sß+æ Bool

5. Nhận xét: Một hàm bool f ∈ Fn được xác định nếu ta biết 1 trong 4 yếu tố sau

đây: Bảng chân trị của f. Một dạng đa thức của f. Dạng nối rời chính tắc (1 dạng đa thức đặc biệt cùa f). S = kar(f) ((n ≤ 4)).

III. Biểu Đồ Karnaugh

Đại số Bool

29

Page 30: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh 6. Tính chất: f, g f ∈ Fn (n ≤ 1)

a. Kar(¬f): phần bù của biều đồ kar(f) trong bảng. b. Kar(f g) = kar(f.g) = kar(f) kar(g). c. Kar(f V g) = kar(f) V kar(g).

Đại số Bool

30

Page 31: Nh+¦m 5 - -Éߦíi sß+æ Bool

7. Biểu đồ karnaugh của một đơn thức: Cho đơn thức m ∈ Fn (n ≤ 4)

a. m là đơn thức bậc p (1 ≤ p ≤ n kar(m) là hình chữ nhật (mở rộng) có 2n-p ô.

b. m là đơn thức tối tiểu bậc n kar(m) là hình chữ nhật (mở rộng) có 2n-n =1 ô.

III. Biểu Đồ Karnaugh

Ví dụ: n=4 4 1a. m=z kar(z) có 2 8 ô−=> = 4 2b. m = yt=> kar(yt) có2 = 4 ô−

4 3c. m=xyz => kar(xyz)có2 = 2 ô − ( ) 4 4d. m = xyzt => kar xyzt có2 = 1 ô−

t

Đại số Bool

31

Page 32: Nh+¦m 5 - -Éߦíi sß+æ Bool

8. Biểu đồ karnaugh của một đa thức: Cho đa thức f ∈ Fn (n ≤ 4) f = u1 V u2 V … V uk (u1, u2 ,…,uk các đơn thức) Ta có: kar(f) = kar(u1) V kar(u2) V kar(u3) V kar(u4)

III. Biểu Đồ Karnaugh

Ví dụ: f ∈ F4 có ( )f x, y, z, t = xyzt xyt yz z∨ ∨ ∨

( ) ( ) ( )kar f = kar(xyzt) kar xyt kar(yz) kar z∨ ∨ ∨( )S = kar f 12 ô=

Đại số Bool

32

Page 33: Nh+¦m 5 - -Éߦíi sß+æ Bool

9. Tế bào và tế bào lớn f ∈ Fn (n ≤ 4) và S = kar(f)

Một tế bào trong S là một hình chữ nhật (mở rộng) có 2r ô (r = 0, 1, 2, 3, 4 ; 2r = 1, 2, 4, 8, 16).

Một tế bào lớn trong S là tế bào tối đại trong S (không có tế bào của S chứa nó và to hơn nó).

III. Biểu Đồ Karnaugh

Ví dụ 1: Các tế bào 1 ô và 2 ô

1

2

3

4

T (1 ô) = xyzt.

T (1 ô) = xyzt.T (2 ô) = yzt.

T (2 ô) = yzt.Đại số Bool

33

Page 34: Nh+¦m 5 - -Éߦíi sß+æ Bool

9. Tế bào và tế bào lớn:

III. Biểu Đồ Karnaugh

Ví dụ 2: Các tế bào lớn 4 ô

Ví dụ 3: Các tế bào lớn 8 ô

1

2

3

4

T (8 ô) = x.

T (8 ô) = y.

T (8 ô) = z.

T (8 ô) = t.

1

2

3

4

T (4 ô) = yz.

T (4 ô) = yt.

T (4 ô) = zt.T (4 ô) = yz.

Đại số Bool

34

Page 35: Nh+¦m 5 - -Éߦíi sß+æ Bool

III. Biểu Đồ Karnaugh 9. Tế bào và tế bào lớn:

Ví dụ 4: Các tế bào lớn:

T1(4 ô), S chứa T1 và không có tế bào T’1 thỏa T’1 chứa T1 => T1 lớn T2(2 ô), T1 chứa T2 => T2 không lớn T3(2 ô), T1 chứa T3 => T3 không lớn T4(2ô), S chứa T4 và không có tế bào T’4 thỏa T’4 chứa T4 => T4 lớn

Đại số Bool

35

Page 36: Nh+¦m 5 - -Éߦíi sß+æ Bool

THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Đại số Bool 36

Page 37: Nh+¦m 5 - -Éߦíi sß+æ Bool

Đại số Bool

37

IV. Thuật Toán Tìm Công Thức Đa Thức Tối Tiểu Cho Hàm Bool 1. Họ phủ và họ phủ tối tiểu: Cho các tập hợp A1, A2,…, Ak và S

Nếu A1 V A2 V…V Ak = S thì ta nói {A1, A2,…, Ak} là một họ phủ của S. Nếu A1 V A2 V…V Ak = S ∀ j ∈ {1, 2,…,k}:A1 V Aj-1 V Aj+1 V…V Ak ⊊ S thì ta nói

{A1, A2,…, Ak} là một họ phủ tối tiểu của S.

Ví dụ: S = {1, 2, 3, 4, 5, 6} a. A1 = {1, 5}, A2 = {2, 3}, A3= {4, 5, 6}Type equation here.

A1 V A2 V A3 = S A2 V A3 ⊊ S => {A1, A2,A3} là một họ phủ tối tiểu của S A1 V A3 ⊊ S A1 V A3 ⊊ S

b. B1= {1, 4}, B2 = {3, 5, 6}, B3= {2, 5}, B4= {1, 3} B1 V B2 V B3 V B4 = S Nhưng B1 V B2 V B3 = S => {B1,B2,B3, B4} là một họ phủ chưa tối tiểu của S

Page 38: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Thuật toán tìm đa thức tối tiểu 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:Chọn các ô chỉ thuộc một tê ́ bào lớn

Đại số Bool

38

Page 39: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn

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

Đại số Bool

39

Page 40: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU 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.

Đại số Bool

40

Page 41: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU Ví dụ: f ∈ F4:

𝑓 = 𝑥𝑥𝑥 + 𝑥𝑥̅𝑡 + 𝑥𝑥̅𝑡̅ + �̅�𝑥𝑥𝑡 + �̅�𝑥�𝑡 Ta có biểu đồ S = 𝑘𝑘𝑘(𝑓) 𝑥 𝑥 𝑥 𝑥 𝑡

𝑡 𝑡 𝑡 Ta viết ra các tế bào lớn:

𝑇1 = 𝑥𝑥; 𝑇2= 𝑥𝑥̅; 𝑇3= 𝑥𝑥𝑡; 𝑇4 = �̅�𝑥𝑡; 𝑇5 = �̅�𝑥�𝑡; 𝑇5 = 𝑥�𝑥̅𝑡,

Đại số Bool

41

x x x x

x x x x

Page 42: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Đại số Bool

42

Ta bắt đầu với những ô chỉ thuộc một tế bào lớn 1,2 ∈ 𝑇1 và 4,1 ∈ 𝑇2

Ta được 𝑇1 → 𝑇2

Ta thấy 𝑆\{𝑇1 ∪ 𝑇2} ≠ ∅ Ta xét các ô thuộc 2 tế bào lớn (2,2) cùng nằm trong 𝑇3 với (2,2) đã bị chọn (vì

nằm trong 𝑇1). (3,4) cùng nằm trong 𝑇6 với (3,1) đã bị chọn (vì

nằm trong 𝑇2). (2,4) không nằm trong các ô đã bị chọn.-> Ta chọn

(2,4)

Page 43: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Đại số Bool

43

2,3 ∈ 𝑆(𝑇1 ∪ 𝑇2) và � 2,4 ∈ 𝑇42,4 ∈ 𝑇5

Ta được:

3,4 ∈ 𝑆(𝑇1 ∪ 𝑇2 ∪ 𝑇4) và � 3,4 ∈ 𝑇53,4 ∈ 𝑇6

Ta được Ta thấy: 𝑆\(𝑇1 ∪ 𝑇2 ∪ 𝑇4 ∪ 𝑇5) = ∅ ⇒ 𝑆 = 𝑇1 ∪ 𝑇2 ∪ 𝑇4 ∪ 𝑇5; 𝑆\(𝑇1 ∪ 𝑇2 ∪ 𝑇4 ∪ 𝑇6) = ∅ ⇒ 𝑆 = 𝑇1 ∪ 𝑇2 ∪ 𝑇4 ∪ 𝑇6.

Page 44: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Đại số Bool

44

2,3 ∈ 𝑆(𝑇1 ∪ 𝑇2 ∪ 𝑇5) và � 2,3 ∈ 𝑇32,3 ∈ 𝑇4

Ta được Ta thấy: 𝑆\(𝑇1 ∪ 𝑇2 ∪ 𝑇5 ∪ 𝑇3) = ∅ ⇒ 𝑆 = 𝑇1 ∪ 𝑇2 ∪ 𝑇5 ∪ 𝑇3; 𝑆\(𝑇1 ∪ 𝑇2 ∪ 𝑇5 ∪ 𝑇4) = ∅ ⇒ 𝑆 = 𝑇1 ∪ 𝑇2 ∪ 𝑇5 ∪ 𝑇4 .

Page 45: Nh+¦m 5 - -Éߦíi sß+æ Bool

IV. THUẬT TOÁN TÌM CÔNG THỨC ĐA THỨC TỐI TIỂU

Đại số Bool

45

Vậy ta có 𝑓 𝑥,𝑥, 𝑥, 𝑡 = 𝑥𝑥 ∨ 𝑥𝑥̅ ∨ �̅�𝑥𝑡 ∨ �̅�𝑥�𝑡 = 𝑥𝑥 ∨ 𝑥𝑥̅ ∨ �̅�𝑥𝑡 ∨ 𝑥�𝑥̅𝑡 = 𝑥𝑥 ∨ 𝑥𝑥̅ ∨ �̅�𝑥�𝑡 ∨ 𝑥𝑥𝑡 = 𝑥𝑥 ∨ 𝑥𝑥̅ ∨ �̅�𝑥�𝑡 ∨ �̅�𝑥𝑡 Do 4 đa thức trên đều đơn giản ngang nhau, do đó ta có 4 đa thức tối tiểu của bài toán ban đầu

Page 46: Nh+¦m 5 - -Éߦíi sß+æ Bool

ĐẠI SỐ MẠCH ĐIỆN

Đại số Bool 46

Page 47: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 1. Hàm Bool của mạch điện:

a. Mạch điện: dây dẫn và công tắc điện Công tắc điện tương đương 1 biến bool (0,1) Trên dây dẫn 2 công tắc: mắc nối tiếp và mắc song song

t(a,b) = a b = a.b 1 nếu có điện qua dây t(a,b) = 0 nếu không có điện qua dây t(a,b) = aVb

Đại số Bool

47

A a B b t(a,b)

t(a,b)

A a

B b

Page 48: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện

1. Hàm bool của mạch điện: b. Mạch điện có n công tắc điện A1, A2,…An(n biến bool a1, a2,…,an).

Hàm Bool cho mạch điện: f: Bn B 0 (không có điện) (a1, a2,…,an) f (a1, a2,…,an) = 1 (có điện)

Từ các cấu trúc mắc nối tiếp và mắc song song trong mạch ta có thể biểu diễn f thành công thức đa thức theo a1, a2,…,an

Ví dụ:

f(a,b,c,d) = {[a.(bVc)] V (¬c. ¬a)}.d = (a.b V a.c V ¬a. ¬c).d = abc V acd V ¬a¬cd

Đại số Bool

48

f(a,b,c,d) A

¬C

B

C

¬A

D

Page 49: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 2. Các loại cổng cơ bản:

a. Bộ đảo (cổng NOT)

Bảng chân trị

Ví dụ: Cho đầu vào A= 01001. Khi đó sau khi qua bộ đảo, đầu ra là ¬A = 10110

Đại số Bool

49

x ¬x

Page 50: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện

2. Các loại cổng cơ bản: b. Cổng OR

Bảng chân trị

Ví dụ: Cho đầu vào A = 011101, B = 100110. khi đó đầu ra của cổng OR là X=A+B =

111111

Đại số Bool

50

x1 x2

xn

x1 + x2 +…+ xn

Page 51: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 2. Các loại cổng cơ bản:

c. Cổng AND

Bảng chân trị

Ví dụ: Cho đầu vào A = 110001, B = 011100. Khi đó đầu ra của cổng AND là X = A.B = 010000

Đại số Bool

51

x1.x2…xn

Page 52: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 3. Thiết kế mạng các cổng tổng hợp hàm Bool:

f ∈ Fn và f có dạng đa thức: f = U1 V u2 V ... V Uk (u1, u2,uk là các đơn thức).

f ∈ F3 dùng các cổng AND, OR, NOT để thiết kế mạng tổng hợp f.

Ví dụ: Có f(x,y,z) = xyz V x¬y¬z V x¬y¬z V xy¬z V ¬xy¬z (dạng đa

thức) Mạng các cổng tổng hợp f:

4 cổng AND loại 3 dây 3 cổng NOT 1 cổng loại 4 dây

Đại số Bool

52

f

Page 53: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 4. Tối ưu hóa việc thiết kế mạng các cổng tổng hợp hàm bool: Việc thiết kế mạng cho f dựa vào 1 công thức đa thức nào đó của F. F có

nhiều dạng đa thức khác nhau, ta sẽ chọn 1 công thức đa thức tối tiểu của f để thiết kế mạng cho nó. Như vậy ta sẽ tiết kiệm được chi phí mua cổng và dây dẫn.

Ví dụ: f ∈ F3 có f(x,y,z) = xyz V x¬y¬z V x¬y¬z V xy¬z V ¬xy¬z (dạng đa thức)

Kar(f) = Kar(xyz) V Kar(x¬y¬z) V Kar(x¬y¬z) V Kar(¬xy¬z) Biểu đồ Karnaugh của f Các tế bào lởn trong S:

T1 = x.y T2 = x.¬z T3 = y.¬z

Chọn Ô (1,2) ∈ S và (1,2) ∈ T1

Chọn Ô (2,1) ∈ S\ T1 và (2,1) ∈ T2

Chọn Ô (2,3) ∈ S\(T1 V T2) và (2,3) ∈ T3 Chọn Ô S\(T1 V T2 V T3) = 0 => S = T1 V T2 V T3

f(x,y,z,t) = x.y V x¬z V y¬z (công thức tối tiểu của f)

Đại số Bool

53

Page 54: Nh+¦m 5 - -Éߦíi sß+æ Bool

V. Đại số các mạch điện 4. Tối ưu hóa việc thiết kế mạng các cổng tổng hợp hàm Bool:

Mạng các cổng tổng hợp f: 3 cổng AND loại 2 dây 1 cổng NOT 1 cổng OR loại 3 dây

Đại số Bool

54

f( x,y,z)=x.y V x¬z V y¬z

Page 55: Nh+¦m 5 - -Éߦíi sß+æ Bool

Đại số Bool

55