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ü