Karnaugh Haritası Oluşturucu'nun Özellikleri

Uygulama 2 değişkenden 6 değişkene kadar, tüm tabloları çizebilir ve sonuçlarını verebilir. Uygulamanın en büyük özelliği insan aklının hesaplamakta zorlandığı 5'inci ve 6'değişkenin gruplandığı 3'üncü boyuta kadar hesaplayabiliyor olmasıdır. İnternette online Karnaugh Haritası uygulamaları olsa da bunlar genellikle 2 boyutlu olarak hesaplamaktadır ve bu da en fazla 4 değişken demektir.

Ayrıca uygulama; değişken isimlerinin kullanıcının da girebilmesine imkan sağladığından dolayı, kullanıcının çalışmasıyla daha alakalı sonuçlar üretecek ve kullanıcıya zaman kazandıracaktır.

Tabloyu ters çizme özelliği de oldukça etkili ve kullanıcıya zaman kazandıran başka bir etkendir. Aksi halde, kullanıcı çıkışların "0" olduğu durumların fonksiyonunu istediği zaman, çıkış değerlerinin tersini tespit edip yazmalıydı.

Uygulama, istenirse Don't Care durumlarını da hesaba katabilir. Bu durumda amaca yönelik daha uygun sonuçlar üretilmiş olur.

Gruplamalar

Uygulamanın minimum operatör üretmesi için yazdığım algoritma oldukça akıllıdır. Gruplandırma işlemi, büyük hacimden* küçük hacme sırayla kontrol edilerek yapılır. Yeni oluşacak gruptaki tüm hücreler zaten başka bir grubun üyesi ise o grup iptal olur. Ancak bu gereksiz grupları engellemek için yeterli değildir, çünkü birbirini takip eden grup tespitleri sona erdikten sonra ortaya yine bazı gereksiz grupların oluştuğu görülür. Bunun nedeni örneğin; ilk başta, düşünün ki çizilecek bir X grubunun A hücresi hariç tüm hücreleri başka bir gruba dahil, ve sadece o A hücresi için çiziliyor. Ardından başka bir nedenden ötürü başka bir Y grubu çiziliyor ancak bu Y grubu da A hücresini kapsadı. Bu durumda ilk çizilen X grubu gereksiz duruma düşmüştür. Bu uygulamanın, en büyük özelliklerinden biri de bu örnekte olduğu gibi sinsice oluşan gereksiz tüm durumları ortadan kaldırmasıdır. Özellikle işin içinde 3'üncü boyut veya Don't Care durumları var ise, gözden kaçabilecek tüm ihtimaller kontrol edilmiş olur.

* Hacim kelimesinden kastım, grubun büyüklüğüdür ve 4'ten fazla giriş parametresi içeren algoritmalar için 3'üncü bir derinlik boyutu açılacağından, artık gruplar genişlik, yükseklik ve derinlik boyutlarına sahip olacaktır.

Gruplar hacimlerine göre ve takibi anlaşılsın diye farklı renklerde çizilmektedir;

Grupsuz, yalnız x=1, y=1 ve z=1 ise
2 boyutlu düzlem üzerinde grup x veya y > 1 ve z=1 ise
Tablolar arası derinliğe sahip grup z > 1 ise (5 ve 6 değişkenli fonksiyonlar için)

Ayrıca çizilen gruplar görsel olarak üst üste çakışarak kaybolmasınlar diye, küçük miktarlarda farklı boyutlarda çizilerek bu durum engellenmiştir. Bu özellik simetrik görünüm açısından hafif bozulmalara neden olsa da, grupların çakışıp takibinin zorlaşmasına oranla daha iyi olduğuna karar verdim.