Transcript pps

Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
Mantıksal Tasarım
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.1. Enküçük Deyim
 Yinelemesiz deyim: Çarpımlar toplamı biçimindeki bir deyimde ne çarpım terimlerinin
herhangi biri, ne de çarpım terimlerindeki çarpanların herhangi biri artık değilse bu
deyim yinelemesizdir.
 Örnek: (a + a’b) = (a + b)
(a’b’ + b’c + ac) = (a’b’ + ac)
(a’b’ + a’c’ + ab + ac)
Yinelemesiz değil
Yinelemesiz değil
Yinelemesiz
Bir deyimin en küçük olabilmesi için:
 Öncelikle çarpım (ya da toplam) terimi sayısının en küçük olması,
 Çarpım (ya da toplam) terimi sayısı en küçük deyimler arasında da literal
sayısının (çarpan ya da toplanan sayısının) en küçük olması
gereklidir.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.2. Cebirsel Yalınlaştırma
 Sistematik olmayan sezgisel bir yöntemdir.
 Cebirsel yöntemle en küçük deyimin çok kısa sürede bulunması mümkün olduğu gibi,
çok uzun uğraşlara rağmen en küçük deyimin bulunamaması da mümkündür.
 Ayrıca belirli indirgemelerden sonra elde edilen bir deyimin en küçük olup olmadığını
anlamak için kullanılabilecek bir yöntem de yoktur.
 Bu nedenle Boole işlevlerinin yalınlaştırılmasında genellikle sistematik yöntemleri
kullanmak gerekir.
 f(a,b,c,d,e) = (ab(c’d+cd’)’+ab(c’+de’))’ = (ab(c’d+cd’)’)’ (ab(c’+de’))’
= (a’+b’+(c’d+cd’))(a’+b’+(c’+de’)’)
= (a’+b’+c’d+cd’)(a’+b’+c(de’)’) = (a’+b’+c’d+cd’)(a’+b’+c(d’+e))
= (a’+b’+c’d+cd’)(a’+b’+cd’+ce) = a’+ b’+cd’
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3. Harita Yöntemiyle Yalınlaştırma
 Harita yönteminde Karnaugh haritaları kullanılarak sistematik yöntemle en küçük
deyim ya da deyimler bulunur.
 Haritalar doğruluk çizelgelerinin çok boyutlu gösterimleri olarak da görülebilir.
Haritalarda, minterm ya da maxterm’lere karşı gelen hücreler bulunur.
 Harita yöntemi 2, 3 ve 4 değişkenli Boole işlevlerinin yalınlaştırılması için çok
kullanışlı bir yöntemdir. Bu yöntem 5 ve 6 değişkenli işlevlerin yalınlaştırılmasında
ise, biraz güçlükle de olsa kullanılabilir. Değişken sayısı daha çok olan işlevlerin
yalınlaştırılması için, harita yöntemi kullanılabilir bir yöntem değildir.
 Haritalar, yalınlaştırma dışında birden çok Boole işlevinin eşdeğer olup olmadığının
araştırılması; verilen bir işlev için, istenilen yapıdaki deyimlerin uluşturulması;
verilen bir işlev için, çarpımlar toplamı ya da toplamlar çarpımı biçimindeki en küçük
deyimlerin tümünün bulunması gibi işlemlerde kullanılabileck yararlı bir araçtır.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3.1. İki Değişkenli Haritalar

a b
0
0 m0
1
m1
1 m2
m3
 Örnek f1(a,b) = a + a’b = (1, 2, 3)
a b
a b
0
1
1
0
0 1
1
1
1
0
1
 Örnek f 2(a,b) = a’b’ + a’b + ab’= (0, 1, 2)
En küçük deyim: f1(a,b) = a + b
1
1
1
En küçük deyim: f2(a,b) = a’ + b’
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3.2. Üç Değişkenli Haritalar

a bc
00 01
0 m0 m1
1 m4
11
m3
10
m2
m5 m7
m6
 Örnek f3(a,b,c) = (2, 3, 4, 6, 7)
a bc
00
0
1
1
01
 Örnek f4(a,b,c) = (0, 1, 2, 5)
11
1
10
1
a bc
00
0 1
01
1
1
1
1
1
En küçük deyim: f3(a,b,c) = b + ac’
11
10
1
En küçük deyim: f4(a,b,c) = a’c’ + b’c
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3.3. Dört Değişkenli Harita
 Örnek :
f5(a,b,c,d) = (0, 1, 2, 3, 5, 6, 7, 8, 13, 15)
ab cd
00
ab cd
01
11
10
00 m0 m1
m3
m2
00
01 m4 m5
m7
m6
00
01
11
10
1
1
1
1
01
1
1
1
11 m12 m13 m15 m14
11
1
1
10 m8 m9
10
m11 m10
1
En küçük deyim:
f5(a,b,c,d) = a’d + a’c + bd + b’c’d’
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek : f6(a,b,c,d) = (0, 6, 7, 8, 9, 10, 12, 13, 14)
ab cd
00
00
01
11
10
1
1
1
01
11
1
1
1
10
1
1
1
En küçük deyim: f6(a,b,c,d) = ac’ + ad’ + a’bc + b’c’d
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3.4. Beş Değişkenli Harita
cde
ab 000 001 011 010 110 111 101 100
00 m0 m1
m3 m2 m6
01 m8
m11 m10 m14 m15 m13 m12
m9
m7
m5 m4
11 m24 m25 m27 m26 m30 m31 m29 m28
10 m16 m17 m19 m18 m22 m23 m21 m20
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek. f7(a,b,c,d,e) = (8, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 25, 27, 29, 31)
cde
ab 000 001 011 010 110 111 101 100
00
01
1
11
10
1
1
1
1
1
1
1
1
1
1
1
1
1
1
En küçük deyimler:
f7(a,b,c,d,e) = ae + ab’c’d’ + a’be’ + bde
= ae + ab’c’d’ + a’be’ + a’bd
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.3.5. En Küçük Deyimlerin Toplamlar Çarpımı
Biçiminde Bulunması
 Örnek:
f8(a,b,c) = a’b + a’c + a(bc + b’c’)’
= a’b + a’c + a(b’c + bc’)
= a’b + a’c + abc’ + ab’c
=  (1, 2, 3, 5, 6) =  (0, 4, 7)
f9(a,b,c) = a’(b’ + c’) + b’(a’ + c)
= a’b’ + a’c’ + b’c
=  (0, 1, 2, 5) =  (3, 4, 6, 7)
a bc
a bc
00
0 0
1
 Örnek:
0
01
11
10
00
0
0
En küçük deyim :
f8(a,b,c) = (b + c)(a’ + b’ + c’)
1
0
01
11
0
10
0
0
En küçük deyim :
f9(a,b,c) = (a’ + c)(b’ + c’)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek : f10(a,b,c,d) =  (0, 2, 3, 5, 7, 8, 9, 13, 15) =  (1, 4, 6, 10 , 11, 12, 14)
ab cd
00
00
01
11
10
0
01
0
0
11
0
0
10
0
0
En küçük deyim: f10(a,b,c,d) = (b’ + d)(a’ + b + c’)(a + b + c + d’)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek: f11(a,b,c,d) = abd’ + (a + b’ + c)(bc’ + a’d + c’d’)
= abd’ + abc’ + ac’d’ + a’b’d + b’c’d’ + a’cd
=  (0, 1, 3, 7, 8, 12, 13, 14) =  (2, 4, 5, 6, 9, 10, 11, 15)
ab cd
00
01
11
00
01
0
0
0
11
10
10
0
0
0
0
0
En küçük deyimler:
f11(a,b,c,d) = (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(a’ + b + c’)(a + c’ + d)
= (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(b + c’ + d)(a + c’ + d)
= (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(b + c’ + d)(a + b’ + d)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.4. Eksik Tanımlanmış İşlevlerin Yalınlaştırılması
 Eğer değişkenler birbirinden tam bağımsız değilse, normal çalışma koşullarında kimi
birleşimlerin oluşması mümkün değildir ve bu birleşimler için işlevin değeri önem
taşımamaktadır. Ya da değişkenler birbirinden bağımsız olmasına rağmen, kimi
birleşimler için işlevin değeri önemsiz, belirsiz ya da tanımsızdır. Bu tür işlevlere
eksik tanımlanmış işlev denir.
 Eksik tanımlanmış işlevler için, n değişkenin 2n birleşiminden bir ya da birkaçı
önemsiz birleşimlerdir (don’t care conditions).
Örnek: f12(a,b,c) = a’b’c + a’bc’
Üç değişkenli f12(a,b,c) işlevinde,
birden çok değişkenin değerinin aynı
anda 1 olamıyacağını varsayalım.
Buna göre 3, 5, 6, ve 7 numaralı
birleşimler önemsiz birleşimlerdir.
a bc
00
0
01
1
11
Æ
10
1
1
Æ
Æ
Æ
En küçük deyim :
f12(a,b,c) = b’ + c’
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek: f13(a,b,c,d) = 1 (0, 1, 3, 7, 8) + Æ (10, 11, 12, 13, 14, 15)
ab cd
00
01
11
00 1
1
1
01
1
11 Æ
Æ
10 1
ab cd
00
01
Æ
Æ
Æ
Æ
11
10
00
0
01
0
0
11
Æ
Æ
10
10
0
0
Æ
Æ
Æ
En küçük deyim:
f13(a,b,c,d) = cd + ad’ + a’b’c’
En küçük deyim:
f13(a,b,c,d) = (b’ + c)(a’ + d’)(c’ + d)
Æ
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.5. En Küçük Deyimlerin Özellikleri
 Örtme: f(a,b,c, ….) ve g(a,b,c, ….) aynı değişkenler üzerinde tanımlı iki Boole işlevi
olsun. Eğer g işlevinin değerinin 1 olduğu tüm birleşimler için f işlevinin
değeri de 1 ise, f işlevi g işlevini örter denir.
 İçerik (implicant): Eğer g bir çarpım terimi ise ve f g yi örüyorsa,
g f nin bir içeriğidir denir.
 Asal içerik (prime implicant): Eğer p f nin bir içeriği ise ve p nin çarpanlarından
biri atılarak elde edilecek çarpım terimlerinden hiç biri f nin içeriği değilse,
p f nin bir asal içeriğidir denir.
 Asıl Asal İçerik (essential prime implicant): Eğer p f nin bir asal içeriği ise ve p nin
örttüğü minterm’lerden en az biri, f nin asal içeriklerinden yalnız p tarafından
örtülüyorsa, p f için bir asıl asal içeriktir.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek: f14(a,b,c,d) = (2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15)
İşlevin harita gösterimi:
ab cd
00
01
00
01
11
10
1
1
1
 İşlevin asal içerikleri (7 tane):
ab’, ac’, ad, b’c, bc’d’, a’cd’, a’bd’
1
11
1
1
1
10
1
1
1
1
 3 ve 15 numaralı minterm’leri örten
asal içerik sayısı birdir. Bu yüzden
asal içeriklerden ikisi (b’c ve ad)
asıl asal içeriklerdir.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Bir Boole işlevine eşdeğer çarpımlar toplamı biçimindeki en küçük deyim ya da
deyimlerin bulunması:
1. İşlevin içerdiği tüm minterm’ler bulunur.
2. İşlevin tüm asal içerikleri ve asal içeriklerden hangilerinin asıl asal içerik olduğu
bulunur.
3. Asıl asal içerikler enküçük deyime alınır. Asıl asal içerikler tarafından örtülmeyen
minterm’leri örten en az sayıda asal içerik belirlenir ve enküçük deyime eklenir.
 Bir Boole işlevine eşdeğer toplamlar çarpımı biçimindeki en küçük deyim ya da
deyimlerin bulunması:
1. İşlevin içerdiği tüm maxterm’ler bulunur.
2. İşlevin tüm asal içerikleri ve asal içeriklerden hangilerinin asıl asal içerik olduğu
bulunur.
3. Asıl asal içerikler enküçük deyime alınır. Asıl asal içerikler tarafından örtülmeyen
maxterm’leri örten en az sayıda asal içerik belirlenir ve enküçük deyime eklenir.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek. f15(a,b,c,d) = (0, 1, 2, 5, 7, 10, 11, 12, 13, 14, 15)
İşlevin harita gösterimi:
ab cd
00
01
00 0
0
01
0
0
11 0
0
0
0
0
0
10
11
10
0
 İşlevin toplam terimi biçimindeki
asal içerikleri (7 tane)
(a’ + b’), (a’ + c’), (b’ + d’),
(a + b + c), (a + b + d),
(b + c’ + d), (a + c + d’)
 İşlevin asal içeriklerinden üç
tanesi asıldır :
(a’ + b’), (a’ + c’), (b’ + d’)
 Asıl asal içerikler tarafından
örtülmeyen maxterm’ler: 0, 1 ve 2
numaralı maxterm’ler. Bunları
örtmek için enküçük deyime iki
asal içerik eklemek gerekir.
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
3.6. Çizelge Yöntemiyle Yalınlaştırma
 İki adımda gerçekleştirilir:
1. Adım: Asal içeriklerin bulunması
2. Adım: Asıl asal içeriklerin bulunması ve en küçük deyimin oluşturulması.
 Örnek: f16(a,b,c,,d) = (0, 1, 2, 8, 10, 11, 14, 15)
a
0
0
a
b
c
d
0-1
0
0
0
-
0-2
0
0
-
0 √
0-8
-
0
0
0 √
2-10
-
0
1
0 √
b c d
0 0 0
√
1
0
0 0 1
√
2
0
0 1 0
√
8
1
0 0 0
√
8-10
1
0
-
0 √
10
1
0 1 0
√
10-11
1
0
1
- √
11
1
0 1 1
√
10-14
1
-
1
0 √
14
1
1 1 0
√
11-15
1
-
1
1 √
√
14-15
1
1
1
- √
15
1
1 1 1
(1)
a
b
c
d
0-2-8-10
-
0
-
0
10-11-14-15
1
-
1
-
(3)
Asal içerikler:
a’b’c’
b’d’
(2)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
ac
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Asal İçerikler Çizelgesi
Minterm ®
0
1
2
8
10
11
14
15
Asal içerik ↓
Ö
Ö
Ö
Ö
Ö
Ö
Ö
Ö
a’b’c’
´
Ä
b’d’
´
ac
*
Ä
Ä
´
´
En küçük deyim:
f16(a,b,c,d) = a’b’c’ + b’d’ + ac
*
Ä
Ä Ä
*
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek: f17(a,b,c,d) = (0, 1, 2, 6, 9, 11, 13 ) + Æ (4, 5, 7, 8, 10, 15)
0
1
2
4
8
5
6
9
10
7
11
13
15
a
0
0
0
0
1
0
0
1
1
0
1
1
1
b
0
0
0
1
0
1
1
0
0
1
0
1
1
(1)
c
0
0
1
0
0
0
1
0
1
1
1
0
1
d
0
1
0
0
0
1
0
1
0
1
1
1
1
√
√
√
√
√
√
√
√
√
√
√
√
√
0-1
0-2
0-4
0-8
1-5
1-9
2-6
2-10
4-5
4-6
8-9
8-10
5-7
5-13
6-7
9-11
10-11
7-15
11-15
13-15
a
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
b
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
c
0
0
0
0
0
1
1
0
0
0
1
1
1
1
(2)
d
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
a
b
c
d
0-1-4-5
0
-
0
-
0-1-8-9
-
0
0
-
0-2-4-6
0
-
-
0
0-2-8-10
-
0
-
0
1-5-9-13
-
-
0
1
4-5-6-7
0
1
-
-
8-9-10-11
1
0
-
-
5-7-13-15
-
1
-
1
9-11-13-15
1
-
-
1
(3)
İşlevin asal içerikleri (9 tane):
a’c’ b’c’ a’d’
b’d’ c’d
a’b ab’ bd
ad
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Asal İçerikler Çizelgesi
Minterm ®
Asal içerik ↓
0
1
a’c’
´
´
b’c’
´
´
a’d’
´
´
b’d’
´
´
c’d
a’b
ab’
2
6
9
11
 Asal içeriklerden hiçbiri asıl değil.
En küçük deyimi bulmak için satır
sütun üstünlüklerinden yararlanılır.
´
´
´
´
´
´
´
 En küçük deyimler:
f17(a,b,c,d) = a’d’ + a d + b’c’
= a’d’ + a d + c’d
´
´
bd
ad
13
´
´
´
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Örnek: f18(a,b,c,d) =  (0, 4, 6, 7, 8, 9, 13, 14, 15 )
En küçük deyimin toplamlar çarpımı biçiminde bulumak istendiği düşünelim.
a b c d
a
b c d
6-7-14-15
0
0 0 0 0
Ö
0-4
0
-
4
0 1 0 0
Ö
0-8
-
0 0 0
8
1 0 0 0
Ö
4-6
0
1 -
6
0 1 1 0
Ö
8-9
1
0 0 -
9
1 0 0 1
Ö
6-7
0
1 1 -
Ö
7
0 1 1 1
Ö
6-14
-
1 1 0
Ö
13
1 1 0 1
Ö
9-13
1
-
14
1 1 1 0
Ö
7-15
-
1 1 1
15
1 1 1 1
Ö
13-15
1
1 -
14-15
1
1 1 -
(1)
0 0
a
b
c
d
-
1
1
-
(3)
0
0 1
Ö
İşlevin asal içerikleri (7 tane):
(a + c + d)
(b + c + d) (a + b’ + d)
(a’ + b + c)
(a’ + c + d’)
(a’ + b’ + d’) (b’ + c’)
1
Ö
(2)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Bölüm 3 : Boole İşlevlerinin Yalınlaştırılması
 Asal İçerikler Çizelgesi
Maxterm ®
Asal içerik ↓
0
a+c+d
´
b+c+d
´
a + b’ + d
4
6
Ö
7
9
13
14
15
Ö
Ö
Ö
´
´
´
´
´
a’ + b + c
´
´
a’ + c + d’
´
´
a’ + b’+ d’
b’ + c’
8
´
Ä
´
Ä
´
*
En küçük deyimler:
f18(a,b,c,d) = (b’+c’)(a+c+d)(a’+b+c)(a’+c+d’) = (b’+c’)(a+c+d)(a’+b+c)(a’+b’+d’)
= (b’+c’)(a+c+d)(b+c+d)(a’+c+d’) = (b’+c’)(b+c+d)(a+b’+d)(a’+c+d’)
Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü