Tải bản đầy đủ (.pdf) (13 trang)

Bài giảng điện tử số part 2 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (184.27 KB, 13 trang )

Chng 2. i s BOOLE Trang 13
f. nh lí 6 (nh lý nut)
∀x, y ∈ B, ta có:
x + x. y = x
x.(x + y) = x
g. nh lí 7 (Quy tc tính i vi hng)
i 0, 1 ∈ B, ta có:
0
= 1
1
= 0
2.2. HÀM BOOLE VÀ CÁC PHNG PHÁP BIU DIN
2.2.1. Hàm Boole
1. nh ngha
Hàm Boole là mt ánh x ti s Boole vào chính nó. Ngha là ∀x, y ∈ B c gi là các
bin Boole thì hàm Boole, ký hiu là f, c hình thành trên c s liên kt các bin Boole bng các
phép toán + (cng logic), x / . (nhân logic), nghch o logic (-).
Hàm Boole n gin nht là hàm Boole theo 1 bin Boole, c cho nh sau:
f(x) = x, f(x) =
x
, f(x) = α (α là hng s )
Trong trng hp tng quát, ta có hàm Boole theo n bin Boole c ký hiu nh sau:
f(x
1
, x
2
, , x
n
)
2. Các tính cht ca hàm Boole
u f(x


1
, x
2
, , x
n
) là mt hàm Boole thì:
- α.f(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
-
f
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
u f
1
(x
1
, x
2
, , x
n

) và f
2
(x
1
, x
2
, , x
n
) là nhng hàm Boole thì:
- f
1
(x
1
, x
2
, , x
n
) + f
2
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
- f
1
(x
1

, x
2
, , x
n
).f
2
(x
1
, x
2
, , x
n
) cng là mt hàm Boole.
y, mt hàm Boole f cng c hình thành trên c s liên kt các hàm Boole bng các
phép toán + (cng logic), x (.) (nhân logic) hoc nghch o logic (-).
3. Giá tr ca hàm Boole
Gi s f(x
1
, x
2
, , x
n
) là mt hàm Boole theo n bin Boole.
Trong f ngi ta thay các bin x
i
bng các giá tr c th α
i
(
n,1i = ) thì giá tr f (α
1

, α
2
, , α
n
)
c gi là giá tr ca hàm Boole theo n bin.
Ví d 2.3:
Xét hàm f(x
1
, x
2
) = x
1
+ x
2
Xét trong tp B = B* ={0,1} ta có các trng hp sau (lu ý ây là phép ng logic hay còn gi
phép toán HOC / phép OR):
- x
1
= 0, x
2
= 0 → f(0,0) = 0 + 0 = 0
Bài ging N T S 1 Trang 14
- x
1
= 0, x
2
= 1 → f(0,1) = 0 + 1 = 1
- x
1

= 1, x
2
= 0 → f(1,0) = 1 + 0 = 1
- x
1
= 1, x
2
= 1 → f(1,1) = 1 + 1 = 1
Ta lp c bng giá tr ca hàm trên.
Ví d 2.4
:
Xét hàm cho bi biu thc sau: f(x
1
, x
2
, x
3
) = x
1
+ x
2
.x
3
Xét tp B = B* = {0,1}. Hoàn toàn tng t ta lp c bng giá tr ca hàm:
x
1
x
2
x
3

f (x
1
, x
2
, x
3
) = x
1
+ x
2
.x
3
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1

0
1
0
1
0
1
0
0
0
1
1
1
1
1
2.2.2. Các phng pháp biu din hàm Boole
1. Phng pháp biu din hàm bng bng giá tr
ây là phng pháp thng dùng  biu din hàm s nói chung và cng c s dng  biu
din các hàm logic. Phng pháp này gm mt bng c chia làm hai phn:
- Mt phn dành cho bin  ghi các t hp giá tr có th có ca bin vào.
- Mt phn dành cho hàm  ghi các giá tr ca hàm ra tng ng vi các t hp bin vào.
Bng giá tr còn c gi là bng chân tr hay bng chân lý (TRUE TABLE). Nh vy vi mt
hàm Boole n bin bng chân lý s có:
- (n+1) t: n ct tng ng vi n bin vào, 1 ct tng ng vi giá tr ra ca hàm.
- 2
n
hàng: 2
n
giá tr khác nhau ca t hp n bin.
Ví d 2.5
: Hàm 3 bin f(x

1
, x
2
, x
3
) có thc cho bng bng giá tr nh sau:
x
1
x
2
x
3
f (x
1
, x
2
, x
3
)
0
0
0
0
1
1
1
1
0
0
1

1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
1
1
Trong các ví d 2.3 và 2.4 chúng ta cng ã quen thuc vi phng pháp biu din hàm bng
ng giá tr.
x
1
x
2
f(x
1
, x

2
) = x
1
+ x
2
0
0
1
1
0
1
0
1
0
1
1
1
Chng 2. i s BOOLE Trang 15
2. Phng pháp gii tích
ây là phng pháp biu din hàm logic bng các biu thc i s. Phng pháp này có 2 dng:
ng ca các tích s hoc tích ca các tng s.
ng tng ca các tích s gi là dng chính tc th nht (Dng chính tc 1 – CT1).
ng tích ca các tng s gi là dng chính tc th hai (Dng chính tc 2 – CT2).
Hai dng chính tc này là i ngu nhau.
ng tng các tích s còn gi là dng chun tc tuyn (CTT), dng tích các tng s còn gi là
ng chun tc hi (CTH).
a. Dng chính tc 1(Dng tng ca các tích s)
Xét các hàm Boole mt bin n gin: f(x) = x, f(x) =
x
, f(x) = α (α là hng s).

ây là nhng trng hp có th có i vi hàm Boole 1 bin.
Chúng ta si chng minh biu thc tng quát ca hàm logic 1 bin si vi dng chính tc 1.
Sau ó áp dng biu thc tng quát ca hàm 1 bin  tìm biu thc tng quát ca hàm 2 bin vi
vic xem 1 bin là hng s. Cui cùng, chúng ta suy ra biu thc tng quát ca hàm logic n bin cho
trng hp dng chính tc 1 (tng các tích s).
Xét f(x) = x:
Ta có: x =0.
x
+ 1.x
t khác:
( )
()
( )



=
=
⇒=
00f
11f
xxf
Suy ra: f(x) = x có th biu din:
f(x) = x = f(0).
x
+ f (1).x
trong ó: f (0), f (1) c gi là các giá tr ca hàm Boole theo mt bin.
Xét f(x) =
x
:

Ta có:
x
= 1.
x
+ 0. x
t khác:
( )
()
( )



=
=
⇒=
10f
01f
xxf
Suy ra: f(x) =
x
có th biu din:
f(x) =
x
= f(0).
x
+ f(1).x
Xét f(x) = α (α là hng s):
Ta có: α = α.1 = α.(x +
x
) = α.

x
+ α.x
t khác:
( )
()
( )



=
=
⇒=
0f
1f
xf
Suy ra f(x) = α có th biu din:
f(x) = α = f(0).
x
+ f(1).x
t lun
: Dù f(x) = x, f(x) =
x
hay f(x) = α, ta u có biu thc tng quát ca hàm mt bin vit
theo dng chính tc th nht nh sau:
Bài ging N T S 1 Trang 16
f(x) = f(0).
x
+ f(1).x
y f(x) = f(0).
x

+ f(1).x, trong ó f(0), f(1) là giá tr ca hàm Boole theo mt bin, c gi là
biu thc tng quát ca hàm 1 bin vit  ng chính tc th nht (dng tng ca các tích).
Biu thc tng quát ca hàm hai bin f(x
1
, x
2
):
Biu thc tng quát ca hàm 2 bin vit theo dng chính tc th nht cng hoàn toàn da trên
cách biu din ca dng chính tc th nht ca hàm 1 bin, trong ó xem mt bin là hng s.
 th là: nu xem x
2
là hng s, x
1
là bin s và áp dng biu thc tng quát ca dng chính tc
th nht cho hàm 1 bin, ta có:
f(x
1
,x
2
) = f(0,x
2
).
x
1
+ f(1,x
2
).x
1
Bây gi, các hàm f(0,x
2

) và f(1,x
2
) tr thành các hàm 1 bin s theo x
2
. Tip tc áp dng biu
thc tng quát ca dng chính tc th nht cho hàm 1 bin, ta có:
f(0,x
2
) = f(0,0).
x
2
+ f(0,1).x
2
f(1,x
2
) = f(1,0).
x
2
+ f(1,1).x
2
Suy ra:
f(x
1
,x
2
) = f(0,0).
x
1
x
2

+ f(0,1).
x
1
x
2
+ f(1,0).x
1
x
2
+ f(1,1).x
1
x
2
ây chính là biu thc tng quát ca dng chính tc th nht (dng tng ca các tích s) vit cho
hàm Boole hai bin s f(x
1
,x
2
).
Biu thc tng quát này có th biu din bng công thc sau:
f(x
1
,x
2
) =
2

2
1


12
1
0
e
1
x)x,f(
2
2


=
Trong ó e là s thp phân tng ng vi mã nh phân (α
1

2
) và:
x
1
nu α
1
= 1
x
1
nu α
1
= 0
x
2
nu α
2

= 1
x
2
nu α
2
= 0
Biu thc tng quát cho hàm Boole n bin
:
T biu thc tng quát vit  dng chính tc th nht ca hàm Boole 2 bin, ta có th tng quát
hoá cho hàm Boole n bin f(x
1
,x
2
, ,x
n
) nh sau:
f(x
1
,x
2
, ,x
n
) =
n
n
2
21
xx)x, ,,f(
n2
1

n
2
0e
1



1



=
trong ó e là s thp phân tng ng vi mã nh phân (α
1

2
, ,α
n
);
và: x
i
nu α
i
= 1
x
i
nu α
i
= 0 (vi i = 1, 2, 3,…,n)
1

1
x

=
2
2
x

=
i
i

x
=
Chng 2. i s BOOLE Trang 17
Ví d 2.6:
Vit biu thc ca hàm 3 bin theo dng chính tc 1:
f(x
1
,x
2
,x
3
) =


=
12
0e
3

f (α
1

2

3
).x
1
α1
.x
2
α2
.x
3
α3
ng di ây cho ta giá tr ca s thp phân e và t hp mã nh phân (α
1

2

3
) tng ng:
e
α
1
α
2
α
3
0 0 0 0

1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Biu thc ca hàm 3 bin vit theo dng tng các tích nh sau:
f(x
1
, x
2
, x
3
) = f(0,0,0)
x
1
x
2
x
3
+ f(0,0,1)
x
1
x
2
x
3
+ f(0,1,0)
x

1
x
2
x
3
+ f(0,1,1)
x
1
x
2
x
3
+ f(1,0,0) x
1
x
2
x
3
+ f(1,0,1)x
1
x
2
x
3
+ f(1,1,0) x
1
x
2
x
3

+ f(1,1,1) x
1
x
2
x
3
y dng chính tc th nht là dng tng ca các tích s mà trong mi tích s cha y
 các bin Boole di dng tht hoc dng bù (nghch o).
b. Dng chính tc 2 (tích ca các tng s):
ng chính tc 2 là dng i ngu ca dng chính tc 1 nên biu thc tng quát ca dng
chính tc 2 cho n binc vit nh sau:
f(x
1
, x
2
, , x
n
) =


=
12
0e
n
[f(α
1

2

3

) + x
1
α1
+ x
2
α2
+ + x
n
αn
)]
trong ó e là s thp phân tng ng vi mã nh phân (α
1

2
, ,α
n
);
và:
x
i
nu α
i
= 1
x
i
nu α
i
= 0 (vi i = 1, 2, 3,…,n)
Ví d 2.7
: Biu thc ca hàm Boole 2 bin  dng tích các tng s (dng chính tc 2) c vit

nh sau:
f(x
1
,x
2
)=[f(0,0)+x
1
+x
2
][f(0,1)+x
1
+
x
2
][f(1,0)+
x
1
+x
2
][f(1,1)+
x
1
+
x
2
]
Ví d 2.8
: Biu thc ca hàm Boole 3 bin  dng chính tc 2:
f(x
1

,x
2
,x
3
) = [f(0,0,0)+x
1
+ x
2
+x
3
].[f(0,0,1)+x
1
+x
2
+
x
3
].
[f(0,1,0)+x
1
+
x
2
+x
3
].[f(0,1,1)+x
1
+
x
2

+
x
3
].
[f(1,0,0)+
x
1
+x
2
+x
3
].[f(1,0,1)+
x
1
+x
2
+
x
3
].
[f(1,1,0)+
x
1
+
x
2
+x
3
].[f(1,1,1)+
x

1
+
x
2
+
x
3
]
i
i
x

=
Bài ging N T S 1 Trang 18
y, dng chính tc th hai là dng tích ca các tng s mà trong ó mi tng s này
cha y  các bin Boole di dng tht hoc dng bù.
Ví d 2.9
:
Hãy vit biu thc biu din cho hàm Boole 2 bin f(x
1
,x
2
)  dng chính tc 1, vi bng giá tr
a hàm c cho nh sau:
x
1
x
2
f(x
1

,x
2
)
0 0 0
0 1 1
1 0 1
1 1 1
Vit di dng chính tc 1 ta có:
f(x
1
,x
2
) = f(0,0).
x
1
x
2
+ f(0,1).
x
1
.x
2
+ f(1,0).x
1
.
x
2
+ f(1,1).x
1
.x

2
= 0.
x
1
x
2
+ 1.
x
1
.x
2
+ 1.x
1
.
x
2
+ 1.x
1
.x
2
=
x
1
.x
2
+ x
1
.
x
2

+ x
1
.x
2
Nhn xét:
• ng chính tc th nht, tng ca các tích s, là dng lit kê tt c các t hp nh
phân các bin vào sao cho tng ng vi nhng t hp ó giá tr ca hàm ra bng 1
→ ch cn lit kê nhng t hp bin làm cho giá tr hàm ra bng 1.
• Khi lit kê nu bin tng ng bng 1 c vit  dng tht (x
i
), nu bin tng ng
ng 0 c vit  dng bù (
x
i
).
Ví d 2.10:
Vit biu thc biu din hàm f(x
1
,x
2
,x
3
)  dng chính tc 2 vi bng giá tr ca hàm ra c cho
nh sau:
x
3
x
2
x
1

f(x
1
,x
2,
x
3
)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Vit di dng chính tc 2 (tích các tng s):
f(x
1
,x
2
,x
3
) = (0+x
1
+x
2
+x
3
).(0+x
1

+x
2
+
x
3
).(0+x
1
+
x
2
+x
3
).
(1+x
1
+
x
2
+
x
3
).(1+
x
1
+x
2
+x
3
).(1+
x

1
+x
2
+
x
3
).
(1+
x
1
+
x
2
+x
3
).(1+
x
1
+
x
2
+
x
3
)
Chng 2. i s BOOLE Trang 19
Áp dng tiên  v phn t trung hòa 0 và 1 ta có:
x + 1 = 1, x . 1 = x
x + 0 = x, x . 0 = 0
nên suy ra biu thc trên có th vit gn li:

f(x
1
,x
2
,x
3
) = (x
1
+x
2
+x
3
).(x
1
+x
2
+
x
3
).(x
1
+
x
2
+x
3
)
Nhn xét:
• ng chính tc th hai là dng lit kê tt c các t hp nh phân các bin vào sao cho
ng ng vi nhng t hp ó giá tr ca hàm ra bng 0 → ch cn lit kê nhng t

p bin làm cho giá tr hàm ra bng 0.
• Khi lit kê nu bin tng ng bng 0 c vit  dng tht (x
i
), nu bin tng ng
ng 1 c vit  dng bù (
x
i
).
Ví dn gin sau giúp SV hiu rõ hn v cách thành lp bng giá tr ca hàm, tìm hàm mch
và thit k mch.
Ví d 2.11
Hãy thit k mch n sao cho khi công tc 1 óng thì èn , khi công tc 2 óng èn , khi
 hai công tc óng èn  ?
i gii:
u tiên, ta qui nh trng thái ca các công tc và bóng èn:
- Công tc h : 0 èn tt : 0
- Công tc óng : 1 èn  : 1
ng trng thái mô t hot ng ca mch nh sau:
Công tc 1 Công tc 2 Trng thái èn
x
1
x
2
f(x
1
,x
2
)
0
0

1
1
0
1
0
1
0
1
1
1
 bng trng thái có th vit biu thc ca hàm f(x
1
,x
2
) theo dng chính tc 1 hoc chính tc 2.
- Theo dng chính tc 1 ta có:
f(x
1
, x
2
) =
x
1
.x
2
+ x
1
.
x
2

+ x
1
.x
2
=
x
1
.x
2
+ x
1
(
x
2
+ x
2
)
=
x
1
.x
2
+ x
1
= x
1
+ x
2
- Theo dng chính tc 2 ta có:
f(x

1
, x
2
) = (0+x
1
+x
2
) = x
1
+ x
2
T biu thc mô t trng thái /tt ca èn f(x
1
,x
2
) thy rng có th thc hin mch bng phn
 logic HOC có 2 ngõ vào (cng OR 2 ngõ vào).
Bài tp áp dng
: Mt hi ng giám kho gm 3 thành viên. Mi thành viên có th la chn
NG Ý hoc KHÔNG NG Ý. Kt qu gi là T khi a s các thành viên trong hi ng
giám kho NG Ý, ngc li là KHÔNG T. Hãy thit k mch gii quyt bài toán trên.
Bài ging N T S 1 Trang 20
3. Biu din hàm bng bng Karnaugh (bìa Karnaugh)
ây là cách biu din li ca phng pháp bng di dng bng gm các
ô vuông nh hình bên.
Trên bng này ngi ta b trí các bin vào theo hàng hoc theo ct ca
ng. Trong trng hp s lng bin vào là chn, ngi ta b trí s lng
bin vào theo hàng ngang bng s lng bin vào theo ct dc ca bng.
Trong trng hp s lng bin vào là l, ngi ta b trí s lng bin vào
theo hàng ngang nhiu hn s lng bin vào theo ct dc 1 bin hoc ngc li.

Các t hp giá tr ca bin vào theo hàng ngang hoc theo ct dc ca bng c b trí sao cho
khi ta i t mt ô sang mt ô lân cn vi nó ch làm thay i mt giá tr ca bin
, nh vy th t
 trí hay sp xp các t hp giá tr ca bin vào theo hàng ngang hoc theo ct dc ca bng
Karnaugh hoàn toàn tuân th theo mã Gray.
Giá tr ghi trong mi ô vuông này chính là giá tr ca hàm ra tng ng vi các t hp giá tr ca
bin vào.  nhng ô mà giá tr hàm là không xác nh (có th bng 0 hay bng 1), có ngha là giá tr
a hàm là tùy ý (hay tùy nh), ngi ta kí hiu bng ch X.
u hàm có n bin vào s có 2
n
ô vuông
.
Phng pháp biu din hàm bng bng Karnaugh ch thích hp cho hàm có ti a 6 bin, nu
t quá vic biu din s rt rc ri.
i ây là bng Karnaugh cho các trng hp hàm 2 bin, 3 bin, 4 bin và 5 bin:
2.3. TI THIU HÓA HÀM BOOLE
2.3.1. i cng
Trong thit b máy tính ngi ta thng thit k gm nhiu modul (khâu) và mi modul này
c c trng bng mt phng trình logic. Trong ó, mc  phc tp ca s tùy thuc vào
phng trình logic biu din chúng. Vic t c n nh cao hay không là tùy thuc vào
phng trình logic biu din chúng  dng ti thiu hóa hay cha.  thc hin c u ó, khi
thit k mch s ngi ta t ra vn  ti thiu hóa các hàm logic. u ó có ngha là phng
f(x
1
,x
2
)
x
1
x

2
0
1
0 1
f
x
1
x
2
x
3
0
1
00 01 11 10
f
x
1
x
2
x
3
x
4
00
01
11
10
00 01 11 10
f
x

2
x
3
x
4
x
5
00
01
11
10
00 01 11 10 10 11 01 00
x
1
=0 x
1
=1
Chng 2. i s BOOLE Trang 21
trình logic biu din sao cho thc s gn nht (s lng các phép tính và s lng các sc biu
din di dng tht hoc bù là ít nht).
Các k thut t c s thc hin hàm Boole mt cách n gin nht ph thuc vào nhiu
u t mà chúng ta cn cân nhc:
t là s lng các phép tính và s lng các s (s lng literal) c biu din di dng tht
hoc bù là ít nht, u này ng ngha vi vic s lng dây ni và s lng u vào ca mch là ít
nht.
Hai là s lng cng cn thit  thc hin mch phi ít nht, chính s lng cng xác nh kích
thc ca mch. Mt thit kn gin nht phi ng vi s lng cng ít nht ch không phi s
ng literal ít nht.
Ba là s mc logic ca các cng. Gim s mc logic s gim tr tng cng ca mch vì tín hiu
 qua ít cng hn. Tuy nhiên nu chú trng n vn  gim tr s phi tr giá s lng cng tng

lên.
i vy trong thc t không phi lúc nào cng t c li gii ti u cho bài toán ti thiu hóa.
2.3.2. Các bc tin hành ti thiu hóa
• Dùng các phép ti thiu  ti thiu hóa các hàm s logic.
• Rút ra nhng tha s chung nhm mc ích ti thiu hóa thêm mt bc na các phng
trình logic.
2.3.3. Các phng pháp ti thiu hóa
Có nhiu phng pháp thc hin ti thiu hoá hàm Boole và có tha v 2 nhóm là bin i
i s và dùng thut toán. Phng pháp bin i i s (phng pháp gii tích) da vào các tiên ,
nh lý, tính cht ca hàm Boole  thc hin ti thiu hoá.
 nhóm thut toán có 2 phng pháp thng c dùng là: phng pháp bng Karnaugh (còn
i là bìa Karnaugh – bìa K) dùng cho các hàm có t 6 bin tr xung, và phng pháp Quine-
Mc.Cluskey có th s dng cho hàm có s bin bt k cng nh cho phép thc hin tng theo
chng trình c vit trên máy tính.
Trong phn này ch gii thiu 2 phng pháp i din cho 2 nhóm:
• Phng pháp bin i i s (nhóm bin i i s).
• Phng pháp ng Karnaugh (nhóm thut toán).
1. Phng pháp bin i i s
ây là phng pháp ti thiu hóa hàm Boole (phng trình logic) da vào các tiên , nh lý,
tính cht ca i s Boole.
Ví d 2.12
Ti thiu hoá hàm f(x
1
,x
2
) =
x
1
x
2

+ x
1
x
2
+ x
1
x
2
f(x
1
,x
2
) =
x
1
x
2
+ x
1
x
2
+ x
1
x
2
= (
x
1
+ x
1

).x
2
+ x
1
x
2
= x
2
+ x
1
x
2
= x
2
+ x
1
Ví d 2.13
Ti thiu hoá hàm 3 bin sau
f(x
1
,x
2
,x
3
) =
x
1
x
2
x

3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
Bài ging N T S 1 Trang 22
=
x
1
x

2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
x
3
+ x
1
x
2
(
x
3
+ x
3
)
=
x
1
x
2

x
3
+ x
1
x
2
(
x
3
+ x
3
) + x
1
x
2
=
x
1
x
2
x
3
+ x
1
(
x
2
+ x
2
)

=
x
1
x
2
x
3
+ x
1
= x
1
+ x
2
x
3
Ví d 2.14
Rút gn biu thc: f =
BCACAB +++
Áp dng nh lý De Morgan ta có:
f =
BCACAB ++.
= BCACBA +++ ).(
=
BCACBCA +++
=
CBCACA +++
= BCACA +++ ).1(
=
BACC ++
=

CBA
+
+
Vy,  thc hin mch này có th dùng cng OR 3 ngõ vào.
2. Phng pháp bng Karnaugh
 ti thiu hóa hàm Boole bng phng pháp bng Karnaugh phi tuân th theo qui tc v ô k
n: “Hai ô c gi là k cn nhau là hai ô mà khi ta t ô này sang ô kia ch làm thay
i giá tr ca 1 bin.”
Quy tc chung ca phng pháp rút gn bng bng Karnaugh là gom (kt hp) các ô k cn li
i nhau.
Khi gom 2 ô k cn s loi c 1 bin (2=2
1
loi 1 bin).
Khi gom 4 ô k cn vòng tròn s loi c 2 bin (4=2
2
loi 2 bin).
Khi gom 8 ô k cn vòng tròn s loi c 3 bin (8=2
3
loi 3 bin).
ng quát, khi gom 2
n
ô k cn vòng tròn s loi c n bin. Nhng bin b loi là
nhng bin khi ta i vòng qua các ô k cn mà giá tr ca chúng thay i.
Nhng u cn lu ý:
Vòng gom c gi là hp l khi trong vòng gom ó có ít nht 1 ô cha thuc vòng gom nào.
Các ô k cn mun gom c phi là k cn vòng tròn ngha là ô k cn cui cng là ô k cn
u tiên.
Vic kt hp nhng ô k cn vi nhau còn tùy thuc vào phng pháp biu din hàm Boole theo
ng chính tc 1 hoc chính tc 2, c th là:
• u biu din hàm theo dng chính tc 1 (tng các tích s) ta ch quan tâm nhng ô k

n có giá tr bng 1 và tùy nh. Kt qu mi vòng gom lúc này s là mt tích rút gn.
t qu ca hàm biu din theo dng chính tc 1 s là tng tt c các tích s rút gn ca
t c các vòng gom.
• u biu din hàm theo dng chính tc 2 (tích các tng s) ta ch quan tâm nhng ô k
n có giá tr bng 0 và tùy nh. Kt qu mi vòng gom lúc này s là mt tng rút gn.
Chng 2. i s BOOLE Trang 23
t qu ca hàm biu din theo dng chính tc 2 s là tích tt c các tng s rút gn ca
t c các vòng gom.
Ta quan tâm nhng ô tùy nh (X) sao cho nhng ô này kt hp vi nhng ô có giá tr bng 1
(nu biu din theo dng chính tc 1) hoc bng 0 (nu biu din theo dng chính tc 2) làm cho s
ng ô k cn là 2
n
ln nht. u ý các ô tùy nh (X) ch là nhng ô thêm vào vòng gom  rút
n hn các bin mà thôi.
Các vòng gom bt buc phi ph ht tt c các ô có giá tr bng 1 có trong bng (nu ti thiu
theo dng chính tc 1), tng t các vòng gom bt buc phi ph ht tt c các ô có giá tr bng 0
có trong bng (nu ti thiu theo dng chính tc 2) thì kt qu ti thiu hoá mi hp l.
Các trng hp c bit:
u tt c các ô ca bng Karnaugh u bng 1 và tunh (X) ngha là tt c các ô u k cn
→ giá tr ca hàm bng 1.
u tt c các ô ca bng Karnaugh u bng 0 và tunh (X) ngha là tt c các ô u k cn
→ giá tr ca hàm bng 0.
Ví d 2.15
: Ti thiu hóa hàm sau
0 1
0 0 1
1 1 1
Ví d 2.16:
i thiu theo chính tc 1: Ta ch quan tâm n nhng ô có giá tr bng 1 và tùy nh (X), nh
y s có 2 vòng gom  ph ht các ô có giá tr bng 1: vòng gom 1 gm 4 ô k cn, và vòng gom

2 gm 2 ô k cn (hình v).
i vi vòng gom 1: Có 4 ô = 2
2
nên loi c 2 bin. Khi i vòng qua 4 ô k cn trong vòng
gom ch có giá tr ca bin x
1
không i (luôn bng 1), còn giá tr ca bin x
2
thay i (t 1→0) và
giá tr ca bin x
3
thay i (t 0→1) nên các bin x
2
và x
3
b loi, ch còn li bin x
1
trong kt qu
a vòng gom 1. Vì x
1
=1 nên kt qu ca vòng gom 1 theo dng chính tc 1 s có x
1
vit  dng
tht: x
1
i vi vòng gom 2: Có 2 ô = 2
1
nên s loi c 1 bin. Khi i vòng qua 2 ô k cn trong vòng
gom giá tr ca bin x
2

và x
3
không i, còn giá tr ca bin x
1
thay i (t 0→1) nên các bin x
2

x
3
c gi li, ch có bin x
1
b loi. Vì x
2
=1 và x
3
=1 nên kt qu ca vòng gom 2 theo dng chính
c 1 s có x
2
và x
3
vit  dng tht: x
2
.x
3
t hp 2 vòng gom ta có kt qu ti gin theo chính tc 1:
f(x
1
,x
2
,x

3
) = x
1
+ x
2
.x
3
00 01 11 10
0 0 0 1 1
1 0 1 1 1
x
1
x
2
f(x
1
,x
2
)
i thiu hoá theo chính tc 2:
f(x
1
,x
2
) = x
1
+ x
2
x
1

,x
2
x
3
f(x
1
,x
2
,x
3
)
Vòng gom 2: x
2
.x
3
Vòng gom 1: x
1
Bài ging N T S 1 Trang 24
i thiu theo chính tc 2: Ta quan tâm n nhng ô có giá tr bng 0 và tùy nh (X), nh vy
ng có 2 vòng gom (hình v), mi vòng gom u gm 2 ô k cn.
i vi vòng gom 1: Có 2 ô = 2
1
nên loi c 1 bin, bin b loi là x
2
(vì có giá tr thay i t
0→1). Vì x
1
=0 và x
3
=0 nên kt qu ca vòng gom 1 theo dng chính tc 2 s có x

1
và x
3
 dng
tht: x
1
+ x
3
.
i vi vòng gom 2: Có 2 ô = 2
1
nên loi c 1 bin, bin b loi là x
3
(vì có giá tr thay i t
0→1). Vì x
1
=0 và x
2
=0 nên kt qu ca vòng gom 2 theo dng chính tc 2 s có x
1
và x
2
 dng
tht: x
1
+x
2
.
t hp 2 vòng gom có kt qu ca hàm f vit theo dng chính tc 2 nh sau:
f (x

1
,x
2
,x
3
) = (x
1
+x
3
).(x
1
+x
2
)
= x
1
.x
1
+ x
1
.x
2
+ x
1
.x
3
+ x
2
.x
3

= x
1
+ x
1
.x
2
+ x
1
.x
3
+ x
2
.x
3
= x
1
(1+ x
2
+ x
3
) + x
2
.x
3
= x
1
+ x
2
.x
3

Nhn xét:
Trong ví d này, hàm ra vit theo dng chính tc 1 và hàm ra vit theo dng chính tc 2
là ging nhau. Tuy nhiên có trng hp hàm ra ca hai dng chính tc 1 và 2 là khác nhau, nhng
giá tr ca hàm ra ng vi mt t hp bin u vào là duy nht trong c 2 dng chính tc.
Chú ý:
Ngi ta thng cho hàm Boole di dng biu thc rút gn. Vì có 2 cách biu din hàm
Boole theo dng chính tc 1 hoc 2 nên s có 2 cách cho giá tr ca hàm Boole ng vi 2 dng
chính tc ó:
ng chính tc 1: Tng các tích s.
f(x
1
,x
2
,x
3
) =
Σ
(3,4,7) + d(5,6)
Trong ó ký hiu d ch giá tr các ô này là tùy nh (d: Don’t care)
Lúc ó bng Karnaugh sc cho nh hình trên. T biu thc rút gn ca hàm ta thy ti các ô
ng vi t hp nh phân các bin vào có giá tr là 3, 4, 7 hàm ra có giá tr bng 1; ti các ô ng vi
 hp nh phân các bin vào có giá tr là 5, 6 hàm ra có giá tr là tùy nh; hàm ra có giá tr bng 0
 nhng ô còn li ng vi t hp các bin vào có giá tr là 0, 1, 2.
ng chính tc 2: Tích các tng s.
Phng trình trên cng tng ng vi cách cho hàm nh sau:
f(x
1
,x
2
,x

3
) =
Π
(0, 1, 2) + d(5, 6)
00 01 11 10
0 0 0 1 1
1 0 1 1 1
00 01 11 10
0 0 0 X 1
1 0 1 1 X
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Vòng gom 2: x
1
+ x
2
Vòng gom 1: x
1
+ x

3
x
1
,x
2
x
3
f(x
1
,x
2
,x
3
)
Chng 2. i s BOOLE Trang 25
Ví d 2.17: Ti thiu hóa hàm 4 bin cho di dng biu thc sau:
f(x
1
,x
2
,x
3
,x
4
) =
Σ
(2,6,10,11,12,13) + d(0,1,4,7,8,9,14,15)
Thc hin ti thiu hóa theo dng chính tc 1: t bn  Karnaugh ta có 2 vòng gom, vòng gom 1
m 8 ô k cn và vòng gom 2 gm 8 ô k cn. Kt qu ti thiu hóa nh sau:
Vòng gom 1:

x
1
Vòng gom 2: x
4
y: f(x
1
,x
2
,x
3
,x
4
) =
x
1
+ x
4
00 01 11 10
00
X X 1 X
01
X 0 1 X
11
0 X X 1
10
1 1 X 1
00 01 11 10
00
X X 1 X
01

X 0 1 X
11
0 X X 1
10
1 1 X 1
x
4
x
3
x
2
x
1
f(x
1
,x
2
,x
3
,x
4
)
x
4
x
3
x
2
x
1

f(x
1
,x
2
,x
3
,x
4
)
Vòng gom 2
Vòng gom 1

×