183
i ÖZET Doktora Tezi ÇOKLU DEĞERLİ MANTIK (ÇDM) FONKSİYONLARININ KÜÇÜLTÜLMESİNDE AYRIŞTIRMA KULLANIMI VE UYUMSUZ ÇOKLU DEĞERLİ MANTIK FONKSİYONLARI Sabri Onur ORAL Ankara Üniversitesi Fen Bilimleri Enstitüsü Elektronik Mühendisliği Anabilim Dalı Danışman: Yrd. Doç. Dr. Ziya TELATAR İkili Mantık (Boolean) fonksiyonlarını da kapsayan Çoklu Değerli Mantık (ÇDM) uygulamaları giderek yazılım ve donanım sanayinde yerini almaktadır. ÇDM fonksiyonları kullanılarak gerçekleştirilen mantık sentezi çalışmalarında, sentezin daha hızlı, doğru ve etkin yapılmasını sağlayacak yeni teori ve uygulamalara ihtiyaç duyulmaktadır. Bu çerçevede, özellikle daha büyük fonksiyonların analizi konusunda yapılan birçok akademik çalışmanın arasında mantık fonksiyonlarının ayrıştırma kullanılarak bölünmesi ve bölünmüş fonksiyonlar üzerinde daha etkin sentez imkânının oluşturulması bulunmaktadır. Bu tez çalışması kapsamında, mantık fonksiyonlarının ikili ayrıştırma algoritmaları kullanılarak bölünmesi ve küçültülmelerini destekleyen “Boolean Ayrık Hesaplama Metodu Hipotezi” genelleştirilerek ÇDM fonksiyonları için “ÇDM Ayrık Hesaplama Teoremi” adı altında geliştirilmiştir. Teorem, Enbüyük ve Enküçük işleci ile ikiye ayrıştırılmış ÇDM Fonksiyonlarının Enbüyük ve Enküçük değerleri için asal belirleyici sayılarının ön kestiriminin yapılmasını sağlamaktadır. Çıkış ara değerleri için asal belirleyici sayısı hakkında önkestirme yapmanın mümkün olmadığı da yapılan deneyler sonunda gösterilmiştir. Bu teorem, Boolean fonksiyonlarda da herhangi bir değişikliğe ihtiyaç göstermeden kullanılabilmektedir. Bu tez çalışmasının bir diğer sonucu da ÇDM Ayrık Hesaplama Teoremi için uyumsuz fonksiyonların varlığının gösterilmesidir. Ayrıca, tez süresince kullanılan Karar Çizenekleri gösterim metodunun ihtiyaç duyduğu çizeneklerin ve işleçlerin oluşturulması maksadıyla “Çok Amaçlı CASE Algoritmasıadlı yeni bir algoritma oluşturulmuştur. Bu algoritma kullanılarak giriş ve çıkış değerleri serbestçe tanımlanabilen bir fonksiyon tablosu sayesinde bütün ÇDM işlemleri yapılabilmektedir. Bahse konu algoritmanın mantık sentezi dışında, ÇDM fonksiyonlarının uygulama alanı bulduğu Veri Madenciliği “Data Mining” ve Bulanık Mantık “Fuzzy Logic” alanlarında da araştırmacılar için faydalı bir araç olabileceği değerlendirilmektedir. 2005, 173 sayfa ANAHTAR KELİMELER: Çoklu Değerli Mantık, Karar Çizenekleri, Mantık Sentezi, Ayrık Hesaplama Metodu Teoremi

i ÖZET Doktora Tezi ÇOKLU DEĞERLİ MANTIK (ÇDM

  • Upload
    vandieu

  • View
    249

  • Download
    1

Embed Size (px)

Citation preview

i

ÖZET

Doktora Tezi

ÇOKLU DEĞERLİ MANTIK (ÇDM) FONKSİYONLARININ KÜÇÜLTÜLMESİNDE AYRIŞTIRMA KULLANIMI VE UYUMSUZ ÇOKLU

DEĞERLİ MANTIK FONKSİYONLARI

Sabri Onur ORAL

Ankara Üniversitesi Fen Bilimleri Enstitüsü

Elektronik Mühendisliği Anabilim Dalı

Danışman: Yrd. Doç. Dr. Ziya TELATAR İkili Mantık (Boolean) fonksiyonlarını da kapsayan Çoklu Değerli Mantık (ÇDM) uygulamaları giderek yazılım ve donanım sanayinde yerini almaktadır. ÇDM fonksiyonları kullanılarak gerçekleştirilen mantık sentezi çalışmalarında, sentezin daha hızlı, doğru ve etkin yapılmasını sağlayacak yeni teori ve uygulamalara ihtiyaç duyulmaktadır. Bu çerçevede, özellikle daha büyük fonksiyonların analizi konusunda yapılan birçok akademik çalışmanın arasında mantık fonksiyonlarının ayrıştırma kullanılarak bölünmesi ve bölünmüş fonksiyonlar üzerinde daha etkin sentez imkânının oluşturulması bulunmaktadır. Bu tez çalışması kapsamında, mantık fonksiyonlarının ikili ayrıştırma algoritmaları kullanılarak bölünmesi ve küçültülmelerini destekleyen “Boolean Ayrık Hesaplama Metodu Hipotezi” genelleştirilerek ÇDM fonksiyonları için “ÇDM Ayrık Hesaplama Teoremi” adı altında geliştirilmiştir. Teorem, Enbüyük ve Enküçük işleci ile ikiye ayrıştırılmış ÇDM Fonksiyonlarının Enbüyük ve Enküçük değerleri için asal belirleyici sayılarının ön kestiriminin yapılmasını sağlamaktadır. Çıkış ara değerleri için asal belirleyici sayısı hakkında önkestirme yapmanın mümkün olmadığı da yapılan deneyler sonunda gösterilmiştir. Bu teorem, Boolean fonksiyonlarda da herhangi bir değişikliğe ihtiyaç göstermeden kullanılabilmektedir. Bu tez çalışmasının bir diğer sonucu da ÇDM Ayrık Hesaplama Teoremi için uyumsuz fonksiyonların varlığının gösterilmesidir. Ayrıca, tez süresince kullanılan Karar Çizenekleri gösterim metodunun ihtiyaç duyduğu çizeneklerin ve işleçlerin oluşturulması maksadıyla “Çok Amaçlı CASE Algoritması” adlı yeni bir algoritma oluşturulmuştur. Bu algoritma kullanılarak giriş ve çıkış değerleri serbestçe tanımlanabilen bir fonksiyon tablosu sayesinde bütün ÇDM işlemleri yapılabilmektedir. Bahse konu algoritmanın mantık sentezi dışında, ÇDM fonksiyonlarının uygulama alanı bulduğu Veri Madenciliği “Data Mining” ve Bulanık Mantık “Fuzzy Logic” alanlarında da araştırmacılar için faydalı bir araç olabileceği değerlendirilmektedir. 2005, 173 sayfa ANAHTAR KELİMELER: Çoklu Değerli Mantık, Karar Çizenekleri, Mantık Sentezi, Ayrık Hesaplama Metodu Teoremi

ii

ABSTRACT

Ph.D. Thesis

DECOMPOSITION USAGE ON THE MINIMIZATION OF MULTIPLE VALUED LOGIC FUNCTIONS AND NON-ORTHODOX MULTIPLE VALUED

LOGIC FUNCTIONS

Sabri Onur ORAL

Ankara University Graduate School of Natural and Applied Sciences

Department of Electronics Engineering

Supervisor: Asst.Prof. Dr. Ziya TELATAR Multi Valued Logic (MVL) applications comprised of Boolean functions have been an important element in the software and hardware industry. The logic synthesis phase of the design process to minimize a function that will be implemented on a Very Large Scale Integrated (VLSI) Circuit is a cornerstone in MVL applications as well as in Binary Logic applications. The requirement of methods for efficient minimization of the functions brought out the logic synthesis theory and applications to improve the minimization process. One of the methods which aimed to accomplish the minimization goal is dividing the function into two disjoint parts using decomposition, thus solving two small problems instead of a big one. However this study was only done for Binary Logic functions. In this dissertation, we introduce the availability of the MVL Disjoint Computation Scheme Theorem (MVL DCST) which can be used to divide and minimize the MVL functions using bi-decomposition algorithms. Throughout the study, the representation of MVL functions has been made using the Decision Diagrams which are accepted as the current representation forms. A new algorithm; the “Multi Function CASE Algorithm” has been developed to implement the MVL Operators needed to operate on the MVL decision diagrams. Through the use of this algorithm, all operators whose input and output values could be defined freely by a function table can be constructed. This algorithm is considered to be a useful tool for the researchers in the areas of Data Mining and Fuzzy Logic in which MVL functions are also used. The experiments carried out using software tools based on the Multi Function CASE Algorithm showed that MVL DCST is applicable for output Min and Max values. The intermediate values are not bound by the MVL DCST. The experiments also showed that there are functions which do not obey the theorem’s outcome. These functions are called non-orthodox functions. 2005, 173 pages Key Words: Multi Valued Logic, Decision Diagrams, Logic Synthesis, MVL Disjoint Computation Scheme Theorem (MVL DCST), CASE Algorithm

iii

ÖNSÖZ VE TEŞEKKÜR

Çoklu Değerli Mantık (ÇDM) konusunda geniş kapsamlı çalışmaları olan Elena

Dubrova, ÇDM fonksiyonları ile uğraşmayı tüm renkleri kullanarak resim yapmaya

benzetmektedir. Dubrova, Bir kere bu renk seçeneklerine alıştıktan sonra yeniden siyah

ve beyaza dönmenin zor olduğunu ifade etmektedir.

ABD. Deniz Kuvvetleri Yüksek Lisans Okulunda gerçekleştirdiğim Çoklu Değerli

Mantık fonksiyonlar üzerindeki tez çalışmaları, beni de bu renk cümbüşünün

kullanımına hayranlıkla yaklaşmama neden olmuştur. Çoklu değerli mantık’ın mantık

sentezi maksadıyla kullanımının küçük bir bilim adamı grubunun ilgi sahası olarak

kaldığı da yazılı dizindeki inceleme sonucunda açıkça görülmektedir. Bu tez

çalışmasının başlangıç noktası yüksek lisans eğitimim süresince ABD’deki tez

danışmanım Jon T. Butler’ın uyumlu ve uyumsuz fonksiyonlar konusunda o tarihte

henüz yayınlanmamış olan makalesini göstermesi ile başlamıştır. Aynı kavramların

çoklu değerli mantık için geçerli olup olmadığının araştırılması bir ilgi çeken husus

olmuştur. Yapılan çalışmalarda karşılaşılan en büyük sorun, çalışmaların

yayınlanabileceği bir dergi bulunması olmuştur. Konunun çok küçük bir ilgi grubu

olması kaynaklarda da görülebileceği gibi yayınların sadece Uluslararası ÇDM

Seminerinde (IMVLS) sunulmasını sonucunu getirmektedir. Dolayısıyla bu tez

kapsamında yapılan çalışmaların daha geniş bir ilgi topluluğu olan Veri Madenciliği ve

Bulanık Mantık konuları ile ilgili yayınlarda yayınlaması düşünülmektedir.

Bana, Ortadoğu Teknik Üniversitesinde haberleşme konusunda başladığım doktora

çalışmalarımı yatay geçiş yapmama destek vererek mantık sentezi konusuna taşımamı

sağlayan rahmetli Sayın Prof.Dr. Önder Tüzünalp’i saygıyla anmak isterim. Yaptığım

çalışmalarda bana destek veren tez danışmanım Sayın Yrd.Doç.Dr. Ziya Telatar’a, bana

uzun bir dönemi kapsayan tez inceleme komitelerinde yön gösteren ve teşvik eden

Sayın Prof.Dr. Mümtaz Yılmaz ile Sayın Prof.Dr. Aydan Erkmen’e, onlara

ayırabileceğim zamanı tez çalışmaları için ayırmamı hoşgörü ile karşılayan eşim Martha

ve kızım Deniz’e teşekkür ederim.

S.Onur ORAL Ankara, Haziran 2005

iv

İÇİNDEKİLER ÖZET i ABSTRACT.....................................................................................................................ii ÖNSÖZ VE TEŞEKKÜR..............................................................................................iii İÇİNDEKİLER ..............................................................................................................iv SİMGELER DİZİNİ ......................................................................................................vi ŞEKİLLER DİZİNİ ......................................................................................................vii ÇİZELGELER DİZİNİ .................................................................................................ix 1. GİRİŞ .........................................................................................................................1 1.1. Tezin Motivasyonu ............................................................................................3 1.2. Tez Yöntemi.......................................................................................................5 1.3. Tezin Akışı .........................................................................................................8 1.4. Tez Çalışması ile Sağlanan Katkıların Özeti .....................................................9 2. YAZILI DİZİN TARAMASI VE KURAMSAL TEMELLER...........................10 2.1. Kaynak Özetleri ...............................................................................................10 2.2. Mantık Sentezi .................................................................................................19 2.3. Çoklu Değerli Mantık ve Bulanık Mantık .......................................................22 2.4. Mantık Fonksiyonları .......................................................................................24 2.4.1. Boolean Fonksiyonları .....................................................................................24 2.4.2. Boolean Fonksiyonlarının Gösterimi ...............................................................32 2.4.3. İkili Giriş ve Çoklu Değerli Çıkışlara Sahip Fonksiyonlar..............................36 2.4.4. Çoklu Değerli Giriş ve İkili Çıkışlara Sahip Fonksiyonlar..............................37 2.4.5. Çoklu Değerli Giriş ve İkili Çıkış Mantık Gösterimi ......................................39 2.4.6. Çoklu Değerli Giriş ve Çıkışlara Sahip Fonksiyonlar......................................40 2.4.7. Çoklu Değerli Mantık Shannon Açılımı ..........................................................44 2.4.8. Çoklu Değerli Mantık Gösterimi .....................................................................45 2.4.9. CASE İşleci......................................................................................................47 2.5. Ashenhurst ve Curtis Fonksiyonel Ayrıştırması ..............................................49 2.5.1. Genel Ayrıştırma..............................................................................................49 2.5.2. İkili Fonksiyonel Ayrıştırma............................................................................50 2.6. Uyumlu ve Uyumsuz Fonksiyonlar .................................................................52 3. GELİŞTİRİLEN YÖNTEM...................................................................................56 3.1. Temel Deney Adımları.....................................................................................56 3.2. Veri Üretme Yazılım Programı ........................................................................57 3.3. TruthTablesSingleRun Yazılım Programı........................................................64 3.3.1. Temel Fonksiyonların Üretimi.........................................................................65 3.3.2. ENB ve ENK Dosyalarının Üretilmesi ............................................................67 3.3.3. Küçültme İşlemi ...............................................................................................68 3.3.4. Espresso Çalışma Süresi Sınırlaması ...............................................................71 3.3.5. Deney Sonuçlarının Üretimi ............................................................................72 3.4. Çok Amaçlı CASE Algoritması ve JMVDD Yazılımı ....................................74 3.4.1. JADE Yazılımı .................................................................................................75 3.4.2. Çok Amaçlı CASE Algoritması .......................................................................77 3.4.3. Java Tabanlı Çoklu Değerli Mantık Karar Çizenekleri (JMVDD) Yazılımı ...87 4. ARAŞTIRMA BULGULARI.................................................................................90 4.1. ÇDM Ayrık Hesaplama Metodu (ÇDM AHM) Teoremi ................................90 4.2. Deney Sonuçları ...............................................................................................95

v

4.2.1. Çoklu Değerli Giriş ve İkili Çıkışlara Sahip Fonksiyonlar İçin Elde Edilen Veriler Üzerinde Gerçekleştirilen Analizler ......................................................97

4.2.2. Çoklu Değerli Giriş ve Çıkışlara Sahip Fonksiyonlar için elde edilen veriler..... ........................................................................................................................106 4.3. Uyumlu ve Uyumsuz Fonksiyonlar ...............................................................116 4.3.1. Boolean Uyumsuz Fonksiyonlar ....................................................................116 4.3.2. Çoklu Değerli Uyumsuz Fonksiyonlar...........................................................121 5. SONUÇ ve ÖNERİLER........................................................................................128 5.1. Sonuçların İrdelenmesi...................................................................................128 5.2. Katkıların Doğurduğu Sonuçlar .....................................................................130 5.3. Öneriler ..........................................................................................................131 5.4. Genel Değerlendirme .....................................................................................132 KAYNAKLAR ............................................................................................................133 EKLER 146 EK 1 Deneyler...............................................................................................................147 EK 2 TruthTablesSingleRunDos Programı JavaDoc....................................................150 EK 3 JMVDD Yazılım Paketi Javadoc.........................................................................156 EK 4 Web CD Haritası..................................................................................................159 (CD Ankara Üniversitesi Elektronik Mühendisliği Bölümündedir.) ............................159 EK 5 İngilizce Yayın Taslağı ………………………………………………………..160 ÖZGEÇMİŞ

vi

SİMGELER DİZİNİ

AB Asal Belirleyici

AHM Ayrık Hesaplama Metodu

AHMH Ayrık Hesaplama Metodu Hipotezi (Boolean)

AHMT Ayrık Hesaplama Metodu Teoremi (ÇDM)

ASÇDKÇ Azaltılmış Sıralı Çoklu Değerli Karar Çizeneği

ASİKÇ Azaltılmış Sıralı İkili Karar Çizeneği

CAD Computer Aided Design

ÇDKÇ Çoklu Değerli Karar Çizeneği

ÇDM Çoklu Değerli Mantık

DCST Disjoint Computation Scheme Theorem

DD Decision Diagram

EBBKK En Büyük Bağımsız Küçükterim Kümesi

EKÇT En Küçük Çarpanların Toplamı

ENB Enbüyük

ENK Enküçük

GML Graphic Modelling Language

ITE if-then-else

JADE Java Based Decision Diagram Package

JMVDD Java Based Multivalued Decision Diagram Package

KÇ Karar Çizeneği

MVL Multi-Valued Logic

PLA Programmable Logic Array

ROBDD Reduced Ordered Binary Decision Diagram

SÇDKÇ Sıralı Çoklu Değerli Karar Çizeneği

UML Unified Modeling Language

VLSI Very Large Scale Integrated

vii

ŞEKİLLER DİZİNİ Şekil 2.1. Test çalışmaları ana akış çizeneği .................................................................7 Şekil 3.1. Files (2000) Doktora tezi akış şeması ..........................................................16 Şekil 3.2. Örnek Karar Çizeneği ..................................................................................26 Şekil 3.3. Tamamen tanımlanmış bir Boolean fonksiyonun doğruluk tablosu

gösterimi ........................................................................................................26 Şekil 3.4. Boolean küp gösterimi..................................................................................27 Şekil 3.5. Köşe Örnekleri ..............................................................................................27 Şekil 3.6. f=ab+ac+bc fonksiyonu için kaplama..........................................................29 Şekil 3.7. Vazgeçilmez küp tanımlaması .....................................................................30 Şekil 3.8. Asal belirleyici için örnek.............................................................................31 Şekil 3.9. Gerekli vazgeçilmez küçükterim .................................................................31 Şekil 3.10. F = ab + a c+ bc ..........................................................................................32 Şekil 3.11. Mantık fonksiyon gösterim ve algoritmalarının evrimi ..........................33 Şekil 3.12. Espresso algoritması ...................................................................................34 Şekil 3.13. İki ve çok seviyeli mantık devreleri...........................................................35 Şekil 3.14. Boolean giriş, çoklu değerli çıkışa sahip fonksiyon dönüşümü ..............37 Şekil 3.15. 2-bit kod çözücülü VEYA programlanabilir mantık dizilimi.................38 Şekil 3.16 Çoklu değerli giriş, ikili çıkış fonksiyon örneği ........................................38 Şekil 3.17. Çoklu değerli giriş ve ikili çıkışa sahip bir örnek fonksiyon gösterimi .40 Şekil 3.18. Post Zinciri ..................................................................................................42 Şekil 3.19. Çoklu Değerli Mantık örnek işleçler.........................................................44 Şekil 3.20. ÇDM gösterim örnekleri ............................................................................45 Şekil 3.21. ÇDM Karar Çizeneği Örneği ....................................................................47 Şekil 3.22 Fonksiyonel ayrıştırma................................................................................50 Şekil 3.23 Fonksiyonel ayrıştırma tipleri ....................................................................51 Şekil 3.24 Ayrıştırma çizenekleri .................................................................................51 Şekil 3.25 Uyumlu ve Uyumsuz fonksiyonlar .............................................................53 Şekil 3.26. 4 değişkenli uyumsuz fonksiyon ................................................................53 Şekil 3.27. Enbüyük Bağımsız Küçükterim Kümesi ..................................................55 Şekil 4.1. Temel deney adımları ...................................................................................57 Şekil 4.2. Doğruluk tablosundan parametre üretimi arayüzü ..................................58 Şekil 4.3. ENB ve ENK fonksiyonlarının yaratılması için tasarlanan yazılım

programı ........................................................................................................58 Şekil 4.4. Deneylerde kullanılmak üzere hazırlanan yazılımın giriş ve çıkışları.....59 Şekil 4.5. TruthTablesSingleRun programı akış şeması ...........................................60 Şekil 4.6. 3r4vo3rENB oluşturulmasında sistem kaynak kullanım durumu...........61 Şekil 4.7. PI küçültme esnasındaki kaynak kullanım durumu .................................62 Şekil 4.8. PI küçültme esnasında işlemler ve işlemci kullanım durumları ..............63 Şekil 4.9. Veri dosyalama yapısı ..................................................................................65 Şekil 4.10. Temel fonksiyon yapısı ...............................................................................66 Şekil 4.11. 2r2vo3r0 temel fonksiyonuna ait karar çizeneği......................................66 Şekil 4.12. 3r4vo3r0.mv dosya iç formatı ....................................................................67 Şekil 4.13. .mvmax ve .mvmin dosyasının üretilmesi.................................................68 Şekil 4.14. Tam çözüm ve hüristik “espresso” algoritma kullanımı akış şeması ....71 Şekil 4.15. .mvo dosya yapısı ........................................................................................72

viii

Şekil 4.16. Deney Sonuçları Dosya Yapısı ...................................................................73 Şekil 4.17 JADE yazılımı arayüzü ...............................................................................75 Şekil 4.18. Değişken sıralaması öncesi karar çizeneği ...............................................76 Şekil 4.19. Dinamik değişken sıralaması algoritması kullanımı ...............................76 Şekil 4.20. Örnek fonksiyon doğruluk tabloları .........................................................78 Şekil 4.21. Düğüm yapısı...............................................................................................79 Şekil 4.22. Sonlu düğüm ...............................................................................................79 Şekil 4.23. İkili ve üçlü değerler için örnek kenar ve sonlu düğümler .....................80 Şekil 4.24. Detaylı CASE algoritması ..........................................................................80 Şekil 4.25. Çok Amaçlı CASE algoritması ..................................................................82 Şekil 4.26. İki fonksiyonun ENB ile işleme tutulması birinci adım ..........................82 Şekil 4.27. İki fonksiyonun ENB ile işleme tutulması ikinci adım ............................83 Şekil 4.28. İki fonksiyonun ENB ile işleme tutulması üçüncü adım .........................83 Şekil 4.29. İki fonksiyonun ENB ile işleme tutulması dördüncü adım .....................83 Şekil 4.30 Çok amaçlı CASE algoritması Ölçke Toplam (3) ilk adım......................85 Şekil 4.31 Çok amaçlı CASE algoritması Ölçke Toplam (3) ikinci adım.................85 Şekil 4.32 Bulanık mantık içinde Çok Amaçlı CASE Algoritması kullanımı..........87 Şekil 4.33. JMVDD tazılımı giriş arayüzü ..................................................................88 Şekil 4.34. JMVDD düz yazı çıktısı..............................................................................88 Şekil 4.35. JMVDD grafik gösterimi ...........................................................................89 Şekil 5.1. “0” sonucu için ENK işlemi .........................................................................97 Şekil 5.2. “1” sonucu için ENK işlemi .........................................................................98 Şekil 5.3. 24 numaralı fonksiyona ait AB sayıları ......................................................99 Şekil 5.4. f’e ait doğruluk ve AB tabloları.................................................................100 Şekil 5.5. g fonksiyonu AB tablosu ............................................................................100 Şekil 5.6. 24 no’lu testte kullanılan fonksiyon AB’leri.............................................102 Şekil 5.7. 2 değişken ve 3 değerli fonksiyonlar örnek test sonuçları.......................104 Şekil 5.8. 296 numaralı fonksiyonun dönüşümü ......................................................118 Şekil 5.9. 296 numaralı fonksiyonun tüm Asal Belirleyicileri ve EBBKK.............118 Şekil 5.10. 296 numaralı fonksiyonun En Küçük Çarpanların Toplamı ...............118 Şekil 5.11. 330 Numaralı Fonksiyona Ait Tüm Asal Belirleyiciler ve EKÇT........119 Şekil 5.12. 2330 numaralı fonksiyonun En Küçük Çarpanların Toplamı .............120 Şekil 5.13. 330 numaralı test fonksiyonuna ait dönüşüm işlemi .............................120 Şekil 5.14. 3 giriş ve çıkış değerli, 4 değişkenli uyumsuz fonksiyon (ENB) ...........122 Şekil 5.15. 3 giriş ve çıkış değerli, 4 değişkenli uyumsuz fonksiyon (ENK) ...........123

ix

ÇİZELGELER DİZİNİ Çizelge 3.1. Test için gerçek değerler ..........................................................................22 Çizelge 3.2. Değerlerin Boolean Mantık'a çevrilmesi ...............................................23 Çizelge 3.3. Değerlerin Bulanık Mantık çevrilmesi ...................................................23 Çizelge 3.4. Bulanık Mantık için ÇDM Tablosu ........................................................24 Çizelge 3.5. Örnek Doğruluk Tablosu .........................................................................25 Çizelge 3.6. Tamamen tanımlanmış iki çıkışlı bir Boolean fonksiyonun doğruluk

tablosu gösterimi .......................................................................................28 Çizelge 3.7. Sheffer-Stroke işleci doğruluk tablosu ...................................................41 Çizelge 4.1. Deney fonksiyonları veri boyutları..........................................................64 Çizelge 4.2. Espresso -Dexact ve Hüristik Seçeneği Arasındaki Süre Farkı ...........70 Çizelge 4.3. Deney Sonuçları Üretimi ..........................................................................73 Çizelge 3.4. Yeni fonksiyon yaratmak için gerekli ENB ve ENK işleç sayıları .......84 Çizelge 5.1. Örnek test fonksiyonları ..........................................................................96 Çizelge 5.2. Giriş, çıkış değerleri ve değişken sayısının tanım kümesine etkileri....96 Çizelge 5.3. Boolean fonksiyon ENK işleci test sonuçları ..........................................99 Çizelge 5.4 gf ∧ fonksiyonu doğruluk ve AB tabloları ........................................101 Çizelge 5.5. Boolean fonksiyon ENB işleci test sonuçları ........................................102 Çizelge 5.6. gf ∨ Fonksiyonu Doğruluk ve AB Tabloları ......................................103 Çizelge 5.7. 3r2vo2r4 testine ait fonksiyonların sonuçları ......................................105 Çizelge 5.8. 3r2vo2r4 testine ait fonksiyonların sonuçları ......................................105 Çizelge 5.9. 3 değerli giriş ve çıkışa sahip 2 değerli fonksiyonlara ait test sonuçları.......................................................................................................................................106 Çizelge 5.10. 3r2vo3r fonksiyonlarına ait test sonuçları..........................................107 Çizelge 5.11. 3r2vo3r4, 3r2vo3r6 ve 3r2vo3r35 fonksiyonlarına ait doğruluk

tabloları .................................................................................................107 Çizelge 5.12. 3r2vo3r4, 3r2vo3r6 ve 3r2vo3r35 fonksiyonlarına ait AB tabloları. ...........................................................................................................108 Çizelge 5.13. 3r2vo3r4-ENB AB tablosu ...................................................................108 Çizelge 5.14. 3r2vo3r4ENB “Karnaugh” haritası ....................................................109 Çizelge 5.15. 3r2vo3r6ENB AB tablosu ....................................................................110 Çizelge 5.16. 3r2vo3r6ENB “Karnaugh” haritası ....................................................110 Çizelge 5.17. 3r2vo3r35ENB AB tablosu ..................................................................111 Çizelge 5.18. 3r2vo3r35ENB “Karnaugh” Haritası .................................................112 Çizelge 5.19. Giriş ve çıkış değer sayısı 4 olan 2 değişkenli test fonksiyonları ......113 Çizelge 5.20. Ara değerlerin farklılıklarını gösteren iki örnek fonksiyon .............114 Çizelge 5.21. 4r2vo4r17ENK ve 4r2vo4r57ENK fonksiyonlarına ait AB’ler ........114 Çizelge 5.22. 4r2vo4r17 fonksiyonu “Karnaugh” haritası ......................................115 Çizelge 5.23. 4r2vo4r57 fonksiyonu “Karnaugh” haritası ......................................115 Çizelge 5.24. 4 değişkenli fonksiyonlar için uyumsuz fonksiyon şablonu ..............116 Çizelge 5.26. 296 numaralı test için uyumsuz fonksiyon şablonu ...........................117 Çizelge 5.27. 330 numaralı test için uyumsuz fonksiyon şablonu ...........................119 Çizelge 5.28. Değişken sayısına göre uyumsuz fonksiyon oranları.........................121 Çizelge 5.29. 3 giriş ve çıkış değerli, 4 değişkenli fonksiyonlar...............................122 Çizelge 5.30. ENK işlemi sonucunda ulaşılan uyumsuz fonksiyon.........................123 Çizelge 5.31 3r4vo3r8 test fonksiyonu için gerçekleştirilen analiz tabloları..........124

x

Çizelge 5.32. 3r4vo3r14 test fonksiyonu için gerçekleştirilen analiz tabloları.......125 Çizelge 5.33. 3r4vo3r23 test fonksiyonu için gerçekleştirilen analiz tabloları.......126 Çizelge 5.34. 3r4vo3r23 için doğruluk tabloları .......................................................127

1

1. GİRİŞ Günümüzde kullanılan bilgisayarlar, 0 ve 1 değerlerinin karşılığı olan ikili mantık

(Boolean Logic) ile çalışabilecek şekilde tasarlanmışlardır. Ancak, gerçek hayattaki

birçok durum, bilgisayarların tasarım mantığına aykırı olarak; var-yok, siyah-beyaz

veya evet-hayır gibi değerler ile sınırlı olmadan birçok değerlendirme ile ifade

edilmektedir. Bu nedenle, değerlerini eleman sayısı ikiden fazla olan bir ayrık kümeden

alan problemler, analog-sayısal çeviriciler kullanılarak ikili mantık ile kodlanmakta ve

bilgisayar ortamına taşınmaktadır. Bu kodlama işleminin getirdiği ilave basamağın

ortadan kaldırılabilmesi amacıyla araştırmacılar, 1970 yıllarından bu yana “Üçlü

Değerli Mantık” fonksiyonlarından başlamak üzere, Çoklu Değerli Mantık (ÇDM)

kullanımının getireceği yeni yetenekler üzerinde çalışmaktadır (Sasao 1988). Çoklu

Değerli Mantık, akademik dünyada ilgi görmesine rağmen, yeterince gelişmiş bir

teknolojik altyapının olmaması donanım sanayinin konuya uzak durmasına neden

olmuştur (Hassoun and Sasao 2001).

Son yıllarda tümleşik devre teknolojisindeki gelişmeler çerçevesinde, ikiden daha fazla

seviyede sinyali kullanabilen elektronik devrelere olan ilgi artmış ve aynı zamanda bu

elektronik devrelerin üretimi daha maliyet-etkin hale gelmiştir. Çoklu Değerli Mantık

devreleri olarak adlandırılan bu teknoloji, mevcut Çok Büyük Ebatlı Tümleşik (VLSI)

devrelerin tasarımı ve üretiminde birçok yeni imkânlar sunmaktadır. Bir tümleşik

devrenin dış dünya ile kurduğu irtibatı sağlayan pinlerin sayısındaki teknik ve fiziksel

sınırlamalar ile yine bazı VLSI devre tasarımında karşılaşılan iç bağlantı hatlarının

sayısının getirdiği sorunlara, sayısal devre üzerinde müsaade edilen sinyal seviyesinin

iki ile sınırlanmayıp, üç veya daha üzeri olması durumunda çözüm bulunabildiği

görülmüştür. Bu yeni teknolojinin kullanılmasının mantık tasarımına getirdiği yenilikler

ile devre etkinliğini, yonga alanı, çalışma sürati ve güç kullanımı açısından arttırdığı

gösterilmiştir. (Hahnle 2001).

ÇDM Bellek tasarımında en büyük ilerleme ise Intel’in 1997 yılında geliştirdiği Çoklu

Değerli Saklama yetenekli 64 Mbit StrataFlash Flash Bellek cihazıdır. Her bir bellek

hücresi 0.45 mikron teknolojisi kullanılarak gerçekleştirilmiş bir NOR transistorundan

2

oluşmaktadır. Hücredeki transistorun “polysilicon floating gate”i dört değişik seviyede

yüklenerek iki bit’lik bilgi saklanabilmektedir. Sonuç olarak hücre alanı küçültülmüş,

piyasadaki en düşük maliyet olan megabit başına 45 cent’e düşürülmüştür. Intel’in bu

başarısından sonra Mitsubishi ve SGS-Thomson da 64 Mbit Çoklu Değerli hücreye

sahip bellek geliştirdiklerini açıklamışlardır (Dubrova 2002).

VLSI teknolojisinin gelişimi, Programlanabilir Mantık Dizilimleri (Programmable

Logic Array-PLA)’nin gerçekleştirilmesini ve kullanımını kolaylaştırmıştır.

Programlanabilir Mantık Dizilimleri, kullanımlarının ve test edilebilirliklerinin kolaylığı

nedeniyle tüm yonga tasarımlarında geniş olarak kullanılmaya başlamıştır. Kullanım

sahasındaki genişleme, kullanım kolaylığını artırıcı çalışmalara yönelmeye neden

olmuştur.

Mantık sentezi, VLSI devrelerin tasarım otomasyonunda özel bir rol oynamaktadır.

Mantık sentezi için geliştirilen yazılım araçları, Bilgisayar Destekli Tasarım-CAD

alanında gerçekleştirilen en önemli araçlar olarak kabul edilmektedir. Bu araçların

yardımıyla tasarımcı, oldukça zahmetli bir çalışma olan düşük seviyeli1 devre

tasarımında her zaman bir sorun olarak ortaya çıkan yüksek hata oranlarından kaçındığı

gibi, ilgisini daha çok yapısal ve mantıksal seviyedeki çözümlere yöneltebilmektedir.

Mantık sentezi üç ana basamaktan oluşmaktadır. Öncelikle yüksek seviyeli bir dil

kullanılarak (Donanım tanımlama dilleri olan VHDL veya Verilog gibi) tasarlanacak

devre bir boolean ağı2 şekline getirilir. Daha sonra boolean ağı mantık “optimizasyon”

araçları kullanılarak küçültülür. En son olarak ise küçültülmüş3 boolean ağı mantık

hücrelerinden oluşan kütüphaneler ile eşleştirilir. Tüm bu işlemler yapılırken bazı

tasarım kısıtlamalarına uyulduğu gibi (gecikmenin azaltılması, kullanılacak alan,

harcanacak güç vb.), kullanıcının istek ve kısıtlamalarına da uyulması gereklidir. Bu

basamakların arasında en önemli yeri, mantık optimizasyonu ”küçültme” almaktadır.

Gerçekleştirilen sentezin başarısı esas olarak bu basamağa bağlıdır. Ancak sentezi

yapılacak fonksiyonların boyutları ve değişken sayısı büyüdükçe çözüm de logaritmik

1 Low level 2 Boolean Network 3 Minimized

3

olarak zorlaşmaktadır. Dolayısıyla problemin değişken sayısı açısından boyutları

çözüme nasıl ulaşılacağına direkt etkili olmaktadır.

Çoklu Değerli Mantık fonksiyonlarının önemli bir diğer kullanım yeri ise Bulanık

Mantık “fuzzy logic” uygulamalarında görülmektedir. 1965 yılında Bulanık Mantık’ın

babası Lotfi Zadeh, Boolean Mantık’ta kullanılan değer kümesini genişleterek Bulanık

Mantık Teorisini aslında Çoklu Değerli Mantık üzerine kurmuştur. Bulanık Mantık

uygulamalarında Çoklu Değerli Mantık’ın kullanılmasının getireceği birçok kolaylık

mevcuttur. Bu kolaylık her şeyden önce Bulanık Mantık’ın doğal yapısının Boolean

Mantık’a nazaran Çoklu Değerli Mantık’a daha fazla benzemesinden gelmektedir. Bu

doğal bağlantı dikkate alındığında hâlihazırda binary bilgisayarlar kullanılarak

gerçekleştirilen bulanık mantık uygulamaları, Çoklu Değerli Mantık kullanan

bilgisayarların yaygınlaşması ile daha hızlı ve etkin olarak gerçekleştirilebilecektir.

1.1. Tezin Motivasyonu

Öğrenmenin temeli, bir problemin küçük bir bölümünün değerlendirilmesi/

özümlenmesi ve anlaşılmasından sonra, problemin tamamının çözümüne gitme

yeteneğimizdir. Bu işleme ayrıştırma1, yani problemin daha küçük, daha basit parçalara

ayrıştırılması denir. Sonuçta daha kısa sürede çözülebilecek bir grup alt problemlere

ulaşılabilir.

Ayrıştırma kavramı birçok mühendislik probleminde kullanılmaktadır. Bunlardan birisi

de Boolean mantık devrelerinin optimizasyonu problemine ayrıştırma metodunun

uygulanmasıdır. Boolean mantık fonksiyonlarının, yani problemin, daha küçük ve daha

kontrol edilebilir boyutlardaki parçalara bölünerek analiz çalışmalarının yapılması

Ashenhurst (1959) tarafından ortaya atılmıştır.

Ashenhurst tarafından boolean fonksiyonları için öngörülen ayrıştırma metodu,

uygulanması için gereken işlemci gücünün büyüklüğü nedeniyle uzun yıllar

gerçekleştirilememiştir. Voight and Wegener (1989) Boolean mantık sentezi için “Ayrık

1 Decomposition

4

Hesaplama Metodu Hipotezi1 (AHMH)”ni ortaya koymuş ve uygulamasını

göstermişlerdir. Bu hipotez, yapılan işlemlerin sonucunu önceden tahmin etmeye

yönelik bir teoremdir. Voight and Wegener’in Boolean mantık için öngördüğü AHMH,

en basit anlamıyla VE işlecinin VEYA işleci üzerindeki dağılma özelliğinin

uygulamasıdır. Sasao and Butler (1997), Sasao and Butler (2001a), Ülker (2002) ve

Sasao and Butler (2004) ikili ayrık ayrıştırma2 metodu kullanımında bu hipoteze uyan

ve uymayan fonksiyon gruplarının varlığı üzerine çalışmalar gerçekleştirmişlerdir.

Files et al. (1997) ise ayrıştırma kavramını Çoklu Değerli Mantık sahasına taşıyarak,

ÇDM Karar Çizenekleri kullanımıyla fonksiyonel ayrıştırmanın problemin daha küçük

parçalara bölünmesini sağlayabileceğini göstermişlerdir. Burada dikkatin çekilmesi

gereken en önemli konu, Boolean Mantık’tan, ÇDM’ye geçildiğinde giriş ve çıkış değer

seviyelerinin artması nedeniyle sentez ile ilgili kesin çözüme ulaşma hedefinin daha zor

ulaşılabilir hale geldiğidir. Files et al.’in çalışması, ayrıştırma kullanımı ile problemin

daha kolay çözülebileceğini ortaya koymuştur. Öngörülen ayrıştırma hüristik3’inin

işlem hızı ve gerçekleştirilebilir boyutlar içerisinde kalma açısından faydası açıkça

görülmektedir. Bununla beraber, ulaşılan sonuçların en küçük fonksiyonu bulmaktan

uzak olması nedeniyle, bu alanda gerçekleştirilen çalışmalar sona erdirilmemiştir.

Daha önce bu alanda yapılan araştırmalar ışığında bu tez çalışması, Boolean Mantık

fonksiyonları için öne sürülen “Ayrık Hesaplama Metodu Hipotezi”nin Çoklu Değerli

Mantık için uygulanabilirliğinin araştırılmasını amaçlamaktadır. Bu kapsamda yine

Boolean Mantık’ta görülen ve rapor edilen uyumlu ve uyumsuz fonksiyon

kavramlarının varlığının incelenmesi de araştırma konuları arasına alınmıştır.

Tez çalışmasında, mantık fonksiyonları gösteriminde ulaşılan en son yenilik olan ÇDM

Karar Çizenekleri kullanılmıştır. ÇDM Karar Çizenekleri üzerinde işlem yapmayı

sağlayacak bir yazılım paketinin açık kaynaklarda mevcut olmaması nedeniyle, bu

paketin geliştirilmesi de tez çalışmasının kapsamı içerisine alınmıştır. Bu kapsamda,

yalnızca Mantık Tasarımı değil, Çoklu Değerli Mantık’ın kullanıldığı birçok uygulama

1 Discrete Computation Scheme Hypothesis (DCSH) 2 Disjoint bi-decomposition 3 Deneysel sonuçlara dayanan metot

5

sahasında uygulama yeri bulabilecek genel maksatlı ve ihtiyaca göre değiştirilebilen

“Çok Amaçlı CASE algoritması” geliştirilmiştir. Ayrıca, mantık tasarımında Boolean

Mantık tanım kümesinde başarı ile kullanılan “böl ve fethet” mantığı ile çalışan ayrık

ayrıştırma önkestirim metotlarının ÇDM uygulama sahasında kullanılması durumunda

elde edilecek sonuçlar konusunda “ÇDM Ayrık Hesaplama Metodu teoremi” ortaya

konulmuş, teorik olarak ispatı yapıldıktan sonra deneyler ile uygulanabilirliği

gösterilmiştir. Tez çalışmasında geliştirme çalışmaları yapılan algoritma, teorem ve

kavramlar aşağıda belirtilen başlıklar altında özetlenebilir.

• Detaylı CASE Algoritması ve Yazılımı,

• Çok Amaçlı CASE Algoritması,

• ÇDM Karar Çizeneklerini yaratma ve grafik olarak gösterme yetenekli bir

yazılım,

• ÇDM Ayrık Hesaplama Metodu Teoremi.

Yazılı literatürde Karar Çizeneklerini oluşturmaya yönelik algoritma ve yazılım sadece

Boolean mantık için mevcuttur. Tez kapsamında detaylı CASE algoritması

geliştirilerek, Çoklu Değerli Mantık Karar Çizeneklerinin yaratılmasını ve grafik olarak

gösterilmesini sağlayacak bir yazılım tasarlanmıştır. Bu yazılımın bir başka örneği

literatürde bulunmamaktadır. Kullanılan tüm yazılımlar, bu alanda bir standart olarak

kabul edilen espresso yazılımı hariç, tez çalışması kapsamında geliştirilmiştir.

Ayrıca, Boolean mantık için yazılı dizinde önerilmiş olan Ayrık Hesaplama Metodu

Hipotezi bir üst alan olan Çoklu Değerli Mantık’a taşınarak uygulanabilirliği

araştırılmıştır. Tez çalışması sonucunda yine yazılı dizinde araştırma yapıldığı rapor

edilmemiş bulunan ÇDM Ayrık Hesaplama Metodu Teoremi geliştirilmiştir.

1.2. Tez Yöntemi

Tez çalışmasının başlangıçtaki amacı, Boolean mantık için geliştirilmiş özel bir durum

olan “Ayrık Hesaplama Metodu”nun Çoklu Değerli Mantık için tümevarımıdır. Mantık

Sentezinde kullanılan Ayrık Hesaplama Metodu’nun öngörüsü; ayrı ayrı yapılan

küçültme işlemi sonucunda elde edilen asal belirleyici sayısının, dağılma özelliği

6

kullanılarak bir araya getirilmesi ile ulaşılan sonucun, problemin tamamı üzerinde

yapılan küçültme ile elde edilen Asal Belirleyici1 sayısı ile aynı olacağıdır. Bu işlemden

amaç daha az zaman ve kaynak kullanılmasıdır.

“Ayrık Hesaplama Metodu” uygulamasında önce ana fonksiyon ayrıştırılarak daha basit

iki fonksiyon elde edilmesine rağmen, tezin ana amacının ÇDM ikili ayrık ayrıştırma

algoritmalarının denenmesi veya geliştirilmesi olmaması nedeniyle deneylerde

kullanılacak fonksiyonlar, ihtiyaca yönelik bir yöntem ile oluşturulmuştur. Değişken

sayısı ve giriş/çıkış değer seviyesi belirlenmiş fonksiyonlar, Enbüyük2 ve Enküçük3

işlemlerine tabi tutularak ikili ayrık ayrıştırma özelliği olduğu önceden bilinen karmaşık

fonksiyonlar yaratılmıştır. Yapılan çalışmalar bu karmaşık ve basit deney fonksiyonları

üzerinde gerçekleştirilmiştir. İkili ayrık ayrıştırma özelliği olduğu önceden bilinen

fonksiyonlar ile bu fonksiyonları oluşturan temel fonksiyon ayrı ayrı küçültme işlemine

tabi tutularak bu fonksiyonların asgari asal belirleyici sayıları belirlenmektedir. Bu

çalışmada amaç parçalarına ayrıştırılabilen bir fonksiyon üzerinde yapılan bir küçültme

işleminin sonucunun, parçalardan her biri üzerinde gerçekleştirilen küçültme işlemi

sonucundan elde edilebileceğinin gösterilmesidir. Bu nedenle parçalara ait asal

belirleyici sayıları kullanılarak ana fonksiyonun asal belirleyici sayısına eşit olup

olmadığı araştırılmıştır. Eşit olması durumunda karmaşıklığı az fonksiyonlar olan alt

parçalar üzerinde küçültme yapılmasının daha etkin olduğu ispatlanacaktır. Yapılan

testlerin ana akış çizeneği Şekil 1.1.’de sunulmuştur.

1 Prime Implicant 2 Maximum 3 Minimum

7

Fonksiyon A

ENB/ENK

Fonksiyon2

(ENB/ENK)

EspressoEspresso

AB SayısıAB SayısıENB/ENK

AB*ABAB+AB

Karşılaştırma

SonuçUyumlu/Uyumsuz

Şekil 1.1. Test çalışmaları ana akış çizeneği Ayrık Hesaplama Metodu’nun uygulanabilir olduğu durumlarda, hesaplama süresi ve

büyük bellek gereksinimleri nedeniyle gerçekleştirilemeyecek küçültme işlemi

yapılabilmekte ve ulaşılan sonuç güvenilir olmaktadır.

Her genelleştirmenin özel durumlar için uygulanamayacağı gibi, özel durumlar için

doğru olan her hipotezin de genel için doğru olmayabileceği göz önüne alınarak

çalışmaların beklenilen sonuca ulaşmayabileceği tez başlangıcında bir risk olarak

görülmüştür.

8

1.3. Tezin Akışı Tez 5 bölümden oluşmaktadır: Birinci bölüm tez çalışmasının konusu olan Çoklu

Değerli Mantık Sentezinin önemini, tezin motivasyonunu açıklayan giriş bölümüdür.

İkinci bölümde, tezin bütününde kullanılan yöntemlerin anlaşılmasını kolaylaştırmak

üzere kaynak özetleri ve kuramsal temeller açıklanmaktadır. Bu bölüm içerisinde Çoklu

Değerli Mantık’ın alt bölümleri ve fonksiyonların gösterimlerinde kullanılan klasik

metotlar ve karar çizenekleri özet olarak anlatılmaktadır. Tez altyapısının oluşturulması

sürecinde kullanılan kaynaklardan bilgisayar ortamında olanlar, Ek-4’teki Web

CD’sinde sunularak okuyucunun ihtiyacı olduğu takdirde direkt olarak kaynaklara

başvurması amaç edinilmiştir. Çoklu Değerli Mantık Karar Çizeneklerinin ana alt

yapısını oluşturan Post Cebiri ve diğer cebirlerin tanıtımı yapılmıştır.

Üçüncü bölüm, gerçekleştirilen deneysel çalışmaların gerçekleştirilmesinde kullanılan

metodu açıklayan bölümdür. Bu bölümde teoremin doğrulanmasında kullanılan deney

yöntemi bir akış şeması ile tanımlanmış, bilahare her bir alt birim ayrı ayrı tanıtılmıştır.

Yazılı dizinde bulunan ve karar çizeneklerinin oluşturulması için kullanılan Bilgisayar

Destekli Tasarım yazılımları genel olarak tanıtılmıştır. Tez çalışmasında örnek olarak

alınan JADE yazılımı açıklanmıştır. JADE yazılım paketinin sadece Boolean mantık

fonksiyonları için geliştirilmesi nedeniyle Çoklu Değerli Mantık fonksiyonları için

kullanılabilecek bir yazılım ihtiyacı ortaya çıkmıştır.

Bu bölümde, ÇDM fonksiyonlarının karar çizenekleri ile gösterimi maksadıyla yapılan

çalışmalarda geliştirilen Çok Amaçlı CASE Algoritması tanıtılarak, kazandırdığı ilave

yetenek konusunda bilgi verilmektedir. Çok Amaçlı CASE Algoritması kullanılarak

gerçekleştirilen deney yazılımları ile bu yazılımların girdi ve çıktıları da bu bölümde

açıklanmıştır.

Dördüncü bölüm, “Çoklu Değerli Mantık Ayrık Hesaplama Metodu” teoreminin ortaya

konulduğu bölümdür. Üçüncü bölümde açıklanan deney yöntemi ile gerçekleştirilen

deneylerin sonuçları özetlenerek verilmektedir. Bu bölümde deney sonuçları Çoklu

Değerli Mantık fonksiyonlarının dört ana alt başlığı altında incelenmektedir. Teoremin

9

uygulanamadığı koşullar ise uyumlu ve uyumsuz fonksiyonlar başlıkları altında analize

tabi tutularak uyumsuz fonksiyonların varlığı belirlenmiştir.

Beşinci bölümde bütün tezin ulaştığı sonuçlar hakkında ulaşılan sonuç belirtilerek,

yazılı dizine olan katkıları vurgulanmış ve ileride yapılabilecek araştırma konuları ile

ilgili öneriler ortaya konulmuştur. Ayrıca tez çalışmasının sonuçları hakkında genel bir

değerlendirme yapılmıştır.

1.4. Tez Çalışması ile Sağlanan Katkıların Özeti

• Bu tez çalışmasının sağladığı katkılar aşağıdaki başlıklar altında özetlenebilir.

o Çoklu Değerli Mantık Karar Çizenekleri konusunda gerçekleştirilen

katkılar;

o ÇDM Shannon Açılımına uygun bir detaylı CASE algoritması,

o Serbest olarak tanımlanabilen fonksiyon tablolarını kullanılabilecek Çok

Amaçlı CASE Algoritması,

o Çoklu Değerli Mantık Karar Çizeneklerini oluşturabilen ve grafik olarak

gösterebilen bir yazılım paketi,

• Çoklu Değerli Mantık İkili Ayrık Ayrıştırma konusunda gerçekleştirilen

katkılar;

o Çoklu Değerli Mantık fonksiyonlarının ikili ayrık ayrıştırması sonucunda

elde edilecek sonuçların ön kestirimi için geliştirilen ÇDM Ayrık

Hesaplama Metodu teoremi,

o Çoklu Değerli Mantık fonksiyonları için Uyumlu ve Uyumsuz

fonksiyonlar kavramının varlığının gösterilmesi,

o Çoklu Değerli Mantık Uyumsuz Fonksiyonları için yapılan deney

çalışmaları.

10

2. YAZILI DİZİN TARAMASI VE KURAMSAL TEMELLER

Bu bölümde yazılı dizindeki araştırmalar;

• Çoklu Değerli Mantık,

• Karar Çizenekleri,

• Fonksiyon Ayrıştırma,

• Benzer çalışmaların İkili Değerli Mantık uygulamaları,

olarak gruplanarak özetlenmiştir. Ayrıca giriş bölümünde Çok Büyük Ebatlı Tümleşik

(VLSI) için önemi anlatılan mantık sentezi teknolojileri hakkında verilen kısa özeti

takiben, tez çalışmasının altyapısını oluşturan kuramsal temeller tanıtılmıştır. Bu

bölümün bir diğer amacı ise okuyucuya Çoklu Değerli Mantık ve ilgili diğer kavramlar

hakkında ünsiyet kazandırmak ve kullanılan simgelemi1 tanıtmaktır.

2.1. Kaynak Özetleri

ÇDM fonksiyonları konusunun nispeten yeni olması nedeniyle bilgi altyapısının

oluşturulması bu konu üzerinde çalıştıkları bilinen yazarlara ait web sayfalarında

yapılan araştırmalarla gerçekleştirilmiştir. IEEE tarafından düzenlenen Sayısal

Kütüphane de makalelere ulaşmak için bir başka kaynak olarak kullanılmıştır. Konu

hakkında yayınlanmış kitap sayısı oldukça sınırlı olduğundan bilgi tabanı oluşturmak

için yapılan çalışmalar daha çok makale temelinde kalmıştır. Hassoun and Sasao (2001)

tarafından yayımlanan kitap bir bütünlük içermekten ziyade makalelerin bir araya

getirilmesinden ibarettir. Yanushkevich (1998), doktora sonrası çalışmalar kapsamında

yayımladığı kitap ile sadece Diferansiyel Cebire ait çalışmalarını rapor etmiştir.

Wegener (1987)’in kitabı ise Boolean mantık ile ilgili konuları kapsamakla birlikte

yayın tarihinin 1987 olması nedeniyle sadece klasik problemleri içermektedir. Diğer

taraftan makalelerin içeriklerinin kısıtlı olması en büyük sorun olarak ortaya çıkmıştır.

Makale yazarlarının detaya girmekten kaçınmaları nedeniyle algoritmalar veya

önerdikleri yazılımlar yetersiz kalmıştır. Buna rağmen kaynaklar listesinde bulunan tüm

makaleler incelenerek birbirlerini tamamlamaları sağlanmıştır. Tez çalışması

kapsamında altyapı oluşturulmasında en büyük araç ulaşılabilen tez çalışmaları

1 Notation

11

olmuştur. Bu tez çalışmalarının sayısı az olmasına rağmen içerik açısından nitelikli

olmaları yapılan çalışmalarda büyük destek sağlamıştır.

Bu tez çalışmasını kullanacak tüm araştırmacılara faydalı olmak amacıyla bilgisayar

ortamında bulunan tüm kaynaklar Ek-4’de verilen CD’de WEB yapısı altında

sunulmuştur. Kaynak özetleri kapsamında ise tez çalışmasının sonucuna direkt destek

veren kaynakların özetlerinin verilmesine özen gösterilmiştir. Diğer kaynaklar ise tez

çalışmasının içerisinde ilgili konu başlığı altında belirtilmiştir.

Kaynak özetlerinin hazırlanmasında kullanılan kaynakları üç grup altında toplamak

mümkündür. Birinci grupta Çoklu Değerli Mantık ile ilgili kaynak özetleri, ikinci grupta

ise ayrıştırma ve üçüncü grupta ise uyumlu/uyumsuz fonksiyon kavramları ile ilgili

kaynak özetleri yer almaktadır.

Çoklu Değerli Mantık ile ilgili çalışmalar klasik olmayan mantık kavramının bir

parçasıdır. Bununla beraber klasik mantıktan çok farklı olduklarını söylemek de

mümkün değildir. En önemli faklılık olarak doğruluk değerlerinin iki değer ile sınırlı

olmamasıdır. Gottwald (2004) “Stanford Encyclopedia of Philosophy”’de “Many-

Valued Logic” olarak tanımlandığı Çoklu Değerli Mantık’ı, Anlambilim1, İspatlar,

Cebir Sistemleri, Uygulamalar, Tarih ve ilgili referanslar olarak genel tanımlamasını

yapmıştır. Bu kaynak özellikle Çoklu Değerli Mantık konusunda önce 1920’de

Lukasiewicz, daha sonra 1921’de Emil Post tarafından ortaya konulduğu zamandan

1980’lerde Zadeh tarafından bulanık mantık’ın geliştirilmesine kadar geçen süreci

anlatmakta ve özetler halinde ÇDM’de uygulama alanı bulan cebirleri tanımlamaktadır.

VLSI tasarımında Çoklu Değerli Mantık’ın kullanımı ve teknolojideki gelişmeler ise

daha detaylı olarak Dubrova (2002) tarafından gerçekleştirilen bir araştırma ile rapor

edilmiştir.

Çoklu değerli mantık’ın bilgisayar destekli tasarım’da kullanılmasında Post cebirinin ve

buna bağlı olarak Post zincirinin kullanılması Saleh (1989)’da tanımlanmıştır. Saleh bu

1 Semantics

12

makalesinde Kameyama and Higuchi (1979) tarafından önerilen T-Gate’leri

kullandığını bildirmiş, Enbüyük (ENB) ve Enküçük (ENK) işleçlerini kullanarak Çoklu

Değerli Mantık fonksiyonlarının modellenebileceğini ifade etmiştir.

Dubrova et.al. (2001) bu konuda daha önce yapılan çalışmalara dayanarak örü1lere

dayanan zincir tabanlı Post Cebirinin özel bir durumunu oluşturmuş ve iki seviyeli,

çoklu değerli mantık fonksiyonları2 için Çarpımların Toplamı gösterimini önermiştir.

Dubrova vd. tarafından önerilen, tam belirlenmemiş fonksiyonlar için i-kümeleri

oluşturarak Boolean fonksiyonlar gibi küçültme işleminin yapılmasıdır. Bu metot ile

%25 daha hızlı işlem yapıldığı görülmüştür. Tez çalışmasında esas olarak Dubrova

vd.’e ait tanımlar kullanılmış olup, küçültme işleminin gerçekleştirildiği espresso

yazılımı her bir çıkış değerini i-kümelerinde olduğu gibi ayrı ayrı küçültme işlemine

tabi tutmaktadır. Bu nedenle Dubrova vd.’de bahse konu hızlanma işlemi tez

kapsamında yapılan çalışmalar için de geçerlidir.

Boolean fonksiyonlarının grafik tabanlı algoritmalar kullanılarak işlenilmesi konusu ilk

defa Lee (1959) tarafından ortaya atılmasına rağmen, Akers (1978) tarafından

gerçekleştirilen çalışmalar sonucunda daha geniş tanınmıştır. Bryant (1986),

makalesinde Boolean fonksiyonların gösterimi için önerdiği kurallar çerçevesinde

Azaltılmış Sıralı İkili Karar Çizeneklerinin3 (ASİKÇ) kanonik olduklarını göstermiştir.

Bryant aynı makalede herhangi bir karar çizeneğinin azaltılması ve sıralanması ile

eşitlik, sağlanabilirlik ve tamlık testlerinin yapılabileceğini bildirmiştir. Brace

et.al.(1991) ise İkili Karar Çizeneklerinin altyapısını oluşturan ITE (if-then-else) işlecini

Azaltılmış Sıralı İkili Karar Çizeneklerinde kullanımını gösteren ilk makaledir.

Brace et.al.(1991) tarafından 1990 yılında “27th ACM/IEEE Conference on Design

Automation”da sunulan makale, Srinivasan et.al.(1990) tarafından geliştirilerek Çoklu

Değerli Mantık için uygulaması ilk defa rapor edilmiştir. Bu makalede Brace

et.al.(1991) tarafından öngörülen yapı uygulanmış, Çoklu Değerli Mantık Karar

Çizeneklerinin temel yapısını oluşturan CASE işleci tanıtılmıştır. Makalede Çoklu

1 Lattice 2 Two Level, Multi Valued 3 Reduced Ordered Binary Decision Diagram (ROBDD)

13

Değerli Mantık Karar Çizeneklerinin muhtemel kullanım yerleri gösterilmiş, ancak

geliştirilen Çoklu Değerli Mantık Karar Çizenek yazılım paketinin İkili Karar

Çizenekleri ile karşılaştırılmasında daha yavaş kaldığı da ifade edilmiştir.

Miller and Drechsler (1998) Çoklu Değerli Karar Çizenekleri konusunda yeni bir

çalışma yaparak C++ ile hazırlanmış bir yazılım paketini rapor etmişlerdir. Bu yazılım

paketinde karşılaşılan en büyük problemin C’de kullanılan “pointer” kullanımı ve

dinamik bellek temizleme işleminin yapılması gerekliliği olduğu görülmektedir. Bu

makalenin yazılı dizine katkısı Çoklu Değerli Mantık kenarların olumsuzlanması1 yolu

ile kenar sayısının azaltılması çabası olmuştur. Boolean Mantık’ta sadece bir tane

olumsuz var iken, Çoklu Değerli Mantıkta olumsuz sayısı değer seviyesine göre

değişmektedir. Miller ve Drechsler döngüsel olumsuzlanma2 ve tamlayan3 ile

olumsuzlanma, p={değer seviyesi} çözümlerini önermiştir. Bu çalışmada 2,3 ve 4

değerli mantık fonksiyonları dikkate alınmıştır. Büyük problemlerde Boolean Karar

Çizeneklerine nazaran iki-üç kez daha yavaş olduğu da rapor edilmiştir. Tez çalışmaları

kapsamında bahse konu yazılım paketine ulaşılmış, ancak çalıştırılamamıştır.

Brayton and Khatari (1999) tarafından Çoklu Değerli Mantık analizi konusunda

gerçekleştirilen metotların bir araştırması rapor edilmiştir. Bu çalışma sonuç olarak

çoklu değerli mantık problemlerinin çözümünde önce iyi bir kodlamayla Boolean

mantık’a dönüşümün yapılmasını, daha sonra Boolean mantık eniyileme metotlarının

kullanımı ile küçültmenin sağlanmasını öngörmektedir. Direkt çoklu değerli mantık

kullanılarak işlemlerin gerçekleştirilmesinin henüz yeterli seviyede olmadığı da ifade

edilmektedir.

Yapılan kaynak araştırması çalışmaları kapsamında Lindgren (1999) tarafından

hazırlanan tez çalışması incelenmiştir. Lindgren, Kleenan Kuvvetli Üçlü Mantık4 karar

çizenekleri üzerindeki çalışmasını bu tez ile gerçekleştirmiştir. Tez sonucunda Üçlü

Sözde-Kronecker5 Karar Çizenekleri üzerinde gerçekleştirilebilecek küçültme işlemleri

1 Negation 2 Cyclic Negation 3 Complement 4 Kleenan Strong Ternary Logic 5 Pseudo-Kronecker

14

ve bu işlemlerin etkinliği gösterilmiştir. Bir önceki makalenin sonuçları ile

karşılaştırıldığında özellikle kapsamı sınırlı çalışma alanlarında çoklu değerli mantık

için yetersiz değerlendirilmesinin Brayton ve Khatari tarafından erken yapıldığı

düşünülmektedir.

Çoklu Değerli Mantık Karar Çizeneklerinin oluşturulmasında Miller and Drechsler

(1998)’de gerçekleştirdikleri çalışmanın bir devamı şeklinde, ancak daha detaylı olarak

CASE işleci üstünde durdukları makale Miller and Drechsler (2002) ile yayımlanmıştır.

Miller and Drechsler, Boolean mantık Karar Çizeneklerinde kullanılan ITE (if-then-

else) işlecinin ÇDM uzantısı olan CASE işlecini yeniden tanıtarak algoritmalarını bu

makale’de vermişlerdir. Yapılan çalışmanın sadece mantık analizine yönelik olması ve

performans endişeleri nedeniyle ENB ve ENK işleçlerini CASE işlecini kullanmadan

uygulamasını yapmışlardır. Bu makalede Miller and Drechsler, Çoklu Değerli Karar

Çizenekleri veya Çoklu Değerli’den dönüştürülmüş İkili Karar Çizenekleri arasında

performans açısından karşılaştırma çalışmasının devam ettiğini de rapor etmişlerdir.

Çoklu Değerli Mantık Karar Çizeneklerinin sayısal devre tasarımı dışında kullanımına

yönelik olarak incelenen bir makale ise Sima and Vintan (2002) tarafından sunulmuştur.

Bu makalede Çoklu Değerli Mantık ve CASE işlecinin veri madenciliği dalında

kullanılabilirliği konusunda öneriler getirilmektedir. Sima and Vintan veri madenciliği

dalının çok kısıtlı araçlar kullandığını da belirtmektedir.

Tez çalışmasının araştırma alanlarından bir tanesi olan ikili ayrık ayrıştırma çalışmaları

Çoklu Değerli Mantık çalışmalarından farklı bir araştırma alanı olarak görülmektedir.

Karmaşık fonksiyonların daha kolay çözülebilir parçalara ayrılması ve çözümlerin daha

sonra yeniden birleştirilmesi fikri Asenhurst (1959) tarafından ortaya atılmış, daha sonra

Curtis (1963) tarafından bu teoremler kullanılarak ayrıştırma için genel bir form elde

edilmiştir. Yazılı dizinde üç adet birbirinden farklı özelliklere sahip ayrıştırma metodu

bulunmaktadır. Bunlar Curtis Ayrıştırması (Curtis 1963), Steinbach Ayrıştırması

(Steinbach and Stockert 1994) ve Perkowski Ayrıştırması (Perkowski and Brown

1988)’dır.

15

Files (1995), yüksek lisans tezinde bugüne kadar gerçekleştirilen Boolean ayrıştırma

metotları için detaylı araştırma sonuçlarını yapmış ve yeni bir hüristik ayrıştırma

algoritması geliştirdiğini rapor etmiştir. Bu tez kapsamındaki hüristik ayrıştırma

algoritması, ayrıştırma bölümleri1 içerisinden en uygununu seçmektedir. Files tarafından

geliştirilen bu hüristik, ihtiyaç duyulan süreyi giriş değişken sayılarına bağlı olarak 2 ile

100 kat arasında azaltmıştır.

Dubrova et al. (1997) tarafından ayrıştırma için kullanılabilecek ağaç yapılarının

oluşturulması konusunda yapılan çalışmalar rapor edilmiştir. Fonksiyonların ağaç

yapıları kullanılarak ayrık ayrıştırma kümeleri bulunabilmektedir. Bu kaynakta

kavramsal teoriler rapor edilmesine rağmen uygulamaya yönelik bir çalışma

yapılmadığı görülmektedir.

Çoklu Değerli Mantık alanında gerçekleştirilen birçok çalışma içerisinde Files et

al.(1997) tarafından rapor edilen çalışma özellikle bilgi araştırması kapsamında yapılan

araştırmalar içerisinde önemli bir yer almaktadır. Files makalesinde ÇDM Karar

Çizeneklerini kullanarak uygulanabilecek bir fonksiyonel ayrıştırma önermiştir. Files

tarafından önerilen yöntemde esas katkı “aldırma” değerinin karar çizeneklerinde

kullanılması olmuştur. Bu algoritmada Çoklu Değerli Mantık Karar Çizeneğindeki

düğüm sayılarının çok fazla olması ana sorun olarak rapor edilmektedir.

Files tarafından hazırlanan Doktora Tezinde (Files 2000) fonksiyonel ayrıştırma

yeniden ele alınmıştır. Files, bir benchmark fonksiyonunu ele alarak önce Çoklu Değerli

Mantık Karar Çizeneği kullanarak ayrıştırma yapmak ve sentezi uygulamak, paralel

olarak da mevcut metotları kullanarak direk senteze ulaşmak metotlarını uygulamıştır.

Aynı işlemler makine öğrenimi2 alanı için de uygulanmıştır. Yapılan çalışmaların akış

şeması Şekil 2.1.’de gösterilmiştir. Files doktora tezi çalışmalarında benchmark

fonksiyonlarını kullanmak yolu ile çalışmalarını diğer araştırma sonuçları ile

karşılaştırmıştır. Şekil 2.1.’de görüleceği üzere Files, mevcut mantık sentez ve makine

öğrenimi metotları ile elde edilen devre şemalarını3, Çoklu Değerli Mantık Karar

1 Partition 2 Machine learning 3 Layout

16

Çizenekleri kullanarak fonksiyonel ayrıştırma yolu ile elde ettiği daha küçük

fonksiyonlarından oluşan devre şemaları ile karşılaştırmıştır. Files, çarpanlarına ayrılan

fonksiyonların daha küçük devre şemaları ile gösterilebileceğini rapor etmiştir.

Şekil 2.1. Files (2000) Doktora tezi akış şeması

Files, çalışmalarının başlangıcında mantık sentezi için kullanılan analiz metotlarının

makine öğrenimi için de kullanılabileceğini değerlendirmesine rağmen, sonuç

bölümünde özellikle mantık sentezinde asgari sayıda “aldırma” kullanılması, makine

öğreniminde ise bu sayının oransal olarak büyük olması nedeniyle bu varsayımın geçerli

olmadığını ifade etmiştir. Bu sonuç aynı zamanda bu tezde de etkili olan ve tezin alanını

ayrıştırma açısından mantık sentezi ile sınırlayan bir değerlendirmedir. Bu tez çalışması,

Files tarafından hazırlanan doktora tezinin bir tamlayanı olarak değerlendirilebilir.

Files’a ait tez içerisindeki VLSI tasarımı ve Makine Öğrenimi konusundaki başlıklar bu

tezin ilgi alanı dışında kalan bölümlerdir. Bu başlıkların aslında Files (2000) için de

olmazsa olmaz bölümler olmadığı değerlendirilmiştir.

Ayrık ayrıştırma, Ashenhurst-Curtis ayrıştırmasının bir özel durumudur. Analiz

gerçekleştirilecek fonksiyonun ayrık ayrışma özelliğinin analiz öncesi belirlenebilmesi

17

analiz için harcanacak zamanın etkin kullanılması için faydalı unsurlardan bir tanesidir.

Sawada et al. (1998) kolayca tespit edilebilecek ayrık ayrıştırmaları simetrik

değişkenleri ve eşçarpanları kullanarak bulan bir algoritma öngörmüştür. Bu sonuçlara

bağlı olarak VLSI devrelerde küçülmenin artırılması ön görülmektedir. Ancak, ulaşılan

sonuçlar, sadece %9 ilerleme sağlandığını göstermektedir.

İkili ayrık ayrıştırma bir fonksiyona uygulanabildiği takdirde “böl ve fethet” kavramına

en uygun ortamı sağlamaktadır. Bu konuda yapılan çalışmalar Steinbach et al. (1999)

tarafından rapor edilmiştir. Bu tez kapsamında geliştirilen Çok Amaçlı CASE işlecinin

isteklendirme noktası da bu makalede özellikle veri madenciliği için kapsamlı bir işleç

setine sahip olunması gerektiği ifadesidir. Steinbach kullanılabilecek işleç sayısı arttıkça

uygulanabilir ayrıştırma sayının da doğal artacağını ifade etmektedir. Steinbach et al.

Çoklu Değerli Mantık için ikili ayrıştırma (ayrık olmayan) için ilk çalışmayı

gerçekleştirmiş ve sonuçlarını rapor etmiştir. Ayrıca ayrıştırmanın mantık sentezi

dışında kalan sahalar için de önemi, sonuç bölümünde vurgulanmıştır.

Ayrık ayrıştırmanın mümkün olabileceğinin bir fonksiyon içerisinde tespit edilmesi

büyük kolaylık getirebileceği gibi, olmadığının tespiti de harcanacak zamanın etkin

kullanılması nedeniyle önemli bir husustur. Sasao (1999) tarafından yapılan çalışma ile

ayrık ayrıştırmanın mümkün olmadığı fonksiyonların belirlenmesi konusunda bir

teorem ortaya konulmuştur. Bu teorem k-ayrıştırılamaz fonksiyon sayısını

belirlemektedir. Örneğin Sasao, 5 değişkenli binary fonksiyonların %87,2’sinin ikili

ayrık ayrıştırmaya uygun olmadığını (2-ayrıştırılamaz) göstermiştir. Bu teorem aslında

ayrıştırılabilir fonksiyon sayının sınırlı olduğunu da göstermektedir.

Mishchenko et al. (2001a, 2001b) tarafından ikili ayrıştırma iki farklı açıdan

incelenmiştir. Mishchenko et al.(2001a), tam olarak tanımlanamamış çok çıkışlı

fonksiyonların VE/VEYA/Dışlanmış VEYA1 kapıları kullanılarak bağlantı listeleri2

şeklinde ayrıştırılmasına yönelik yapılan çalışmaları içermektedir. Mishchenko et al.

(2001b) ise VE/VEYA/Dışlanmış VEYA kapıları için yapılan çalışmanın bir uzantısı

olarak Çoklu Değerli Mantık bağlantılar arasındaki ilişkilerinin ENB ve ENK işleçleri 1 AND/OR/EXOR 2 Network list

18

ile basitleştirilmesi maksadıyla binary olarak kodlanmış ÇDM Karar Çizeneklerinin

kullanılmasını öngörmektedir. Her iki yapıda da amaç kompakt bağlantı listeleri

oluşturabilmek, dengeli uygulama paketleri kullanımı ile tasarımda en az yer kaybını

sağlamak, kolay test edilebilir yapılar oluşturmaktır.

Mishchenko et al.(2001b)’da önerilen bağlantı listelerinin ENK ve ENB kullanılarak

basitleştirilmesi çalışmasının Çoklu Değerli Mantık fonksiyonları için uzantısı Lang and

Steinbach (2001) tarafından yapılmıştır. Bu çalışmada öngörülen ayrıştırma, ayrık

ayrıştırma olmayıp, genel Asenhurst-Curtis ayrıştırmasının ENB ve ENB işleçlerinin

kullanılması ile yapılmasıdır. Bu çalışmada da Binary kodlanmış Çoklu Değerli Mantık

Karar Çizenekleri kullanılmıştır. Lang and Steinbach, ENB ve ENK işleçleri dışında

kalan Yuvarlatılmış Toplam veya Çarpım1 gibi başka işleçlere de ihtiyaç olduğunu

vurgulamıştır.

Ayrıştırma konusunda yapılan bir diğer çalışma ise Mishchenko and Sasao (2003)

tarafından gerçekleştirilen MUSASHI algoritmasıdır. MUSASHI algoritması Espresso

algoritması çalıştırılmadan önce fonksiyona uygulanarak, böl ve fethet metodolojisinin

fonksiyon için uygulanıp uygulanamayacağını belirler. Üzerinde çalışılan fonksiyon için

ikili ayrık ayrıştırma olanağının bulunması Espresso tarafından yapılacak küçültme

işleminin daha hızlı gerçekleştirilebileceği MUSASHI algoritmasının çıkış noktasıdır.

Bu çalışma binary tanım kümesinde yapılmıştır.

Böl ve fethet adı altında geliştirilen yöntem önce problemleri çözmek için uygun bir

çözüm olarak gözükmesine rağmen 5 değişkenli fonksiyonlar için ikili ayrık ayrıştırma

ile bölünen fonksiyonların her zaman en iyi çözümü vermediği Voight and Wegener

(1989) tarafından gösterilmiştir. Sasao and Butler (2001a) ise daha basit olan 4

değişkenli binary fonksiyonlar için de bu durumun mevcut olduğunu göstermiş, uyumlu

ve uyumsuz fonksiyonlar kavramlarını geliştirmiştir.

Binary fonksiyonlar üzerinde tanımlanan uyumlu/uyumsuz fonksiyonlar üzerinde

detaylı çalışma Ülker (2002) tarafından yüksek lisans tezi kapsamında

1 Truncated Sum/Product

19

gerçekleştirilmiştir. Ülker tezinde 4, 5 ve 6 değişkenli fonksiyonlar için uyumsuz

fonksiyonları üretebilecek bir algoritma geliştirmiştir. Kapsamlı bir çalışma olan tez

sonucunda Sasao and Butler (2001a) tarafından ortaya konulan uyumsuz fonksiyonlar

hakkında detaylı araştırma yapılmıştır.

Sasao and Butler (2001a) ve Ulker (2002) tarafından yapılan çalışmalar ikili ayrık

ayrıştırma sonucunda elde edilen fonksiyonların her ikisi de uyumlu olduğu takdirde

uyumlu bir fonksiyon elde edilebileceğini öngörmektedir. Aksi takdirde elde edilen

sonuçlar uyumsuz bir fonksiyondan bekleneceği üzere en küçük formda olmayacaktır.

Bununla beraber Sasao and Butler (2004), eğer fonksiyonlardan bir tanesi uyumsuz ise

elde edilen sonucun en küçük olmasa bile en küçüğe yakın bir sonuç olacağını ortaya

koymuştur.

2.2. Mantık Sentezi

Çok Büyük Ebatlı Tümleşik (VLSI) devrelerin tasarlanmasında birçok tarz

kullanılmaktadır (Hassoun and Sasao (Eds.) 2001). Tamamen ısmarlama1 olarak

yapılan tasarımlarda müşteriden gelen istekler doğrultusunda tasarım

gerçekleştirilmektedir. Bu tasarım tipi için bilgisayar destekli tasarım teknikleri ve

yazılımları olmasına rağmen, bu yazılımlar tasarımcının tecrübesinin yerini henüz

tutamamaktadırlar. Bu nedenle ısmarlama tasarım uzun zaman almakta, dolayısıyla bu

metot ancak yüksek sayıda üretim yapılacak işlemci, bellek gibi karmaşık sistemlerin

tasarımında maliyet etkin olmaktadır.

Geçit-Dizilim2 stili tasarımda ise devre tasarımı henüz bağlantıları gerçekleştirilmemiş

ana geçit dizilim kümesi içindeki bağlantıların tamamlanarak özelleştirilmesi ile

sağlanır. Bu tasarım sabit ana geçit dizilim kümesi ve bu geçitleri birbirine bağlayacak

yolların bağlantı şekli ile sınırlıdır. Bilgisayar desteği, karmaşık devrelerin kısa bir süre

içinde tasarlanmasını sağlar. Bu tip tasarımlar küçük çaptaki üretimler ve yeni

tasarımların ilkörnekleri3 için kullanılır.

1 Custom 2 Logic-Array 3 Prototype

20

Standart Hücre1 tasarımı devrenin çok küçük bölümlere ayrılıp gerçekleştirilmesini ve

daha sonra bu standart hücrelerin yonga üzerine yerleştirilerek yol atamalarının2

bilgisayar destekli olarak yapılmasını içerir. Standart Hücre ve Geçit Dizilim tasarım

metotları kendi başlarına en iyiye ulaşımı desteklemezler. Standart Hücre tasarımı Geçit

Dizilim tasarımına göre daha esnek olmakla birlikte daha uzun zamana ihtiyaç gösterir.

Makro Hücrelerin VLSI devre tasarımında kullanılması ile Ismarlama ve Standart

Hücre tasarım metotlarının arasındaki boşluk doldurulmaktadır. Makro Hücrelerin

düzenli ve yapısal olmaları nedeni ile bilgisayar yazılımları, istenilen fonksiyona göre

Makro Hücrenin yerleşim planını3 çıkartabilmektedir. Bu Makro Hücreler grubunda

olan Programlanabilir Mantık Dizilimleri (PLA), birleşik ( VE veya VEYA Geçidi )4 ve

sıralı5 fonksiyonların tasarlanmasında oldukça etkin olarak kullanılmaktadır.

Bir Birleşik Mantık Sisteminin sentezi üç başlık altında incelenebilir (Maxwell 2004).

Bunlar Yapısal Tasarım, Mantık Tasarımı ve Fiziki Tasarım’dır.

Yapısal Tasarım, sistemin fonksiyonel özelliklerinin belirlenmesi safhasıdır. Bu safhada

devrenin mantık değişkenleri açısından giriş ve çıkışları belirlenir.

Mantık Tasarımı ise sistemin fonksiyonunun değiştirilmeden mantık simgeleminde

yapılan değişiklerdir. En iyiyi ve en küçüğü gerçekleştirmeyi amaçlayan mantık

gösterimi mantık tasarımının ana hedefidir. Mantık Tasarımında en az sayıda

belirleyici6 ve değişmez7 elde edilmesi amaçtır. Belirleyicilerin sayısının azaltılması

Programlanabilir Mantık Dizilimi tasarımında daha küçük bir alan kullanılmasını

sağlamakta, değişmezlerin sayısının azaltılması ise geçitlerin ve bağlantı noktalarının

sayısını azaltmaktadır. Her iki husus da işlev hızının ve güvenirliliğin artırılmasına

faydalı olmaktadır.

1 Standart-Cell veya Poly-Cell 2 Routing 3 Layout 4 Combinational 5 Sequantial 6 Implicant 7 Literal

21

Fiziki Tasarım tasarlanan yonganın yerleşim planının ortaya konulmasıdır. Yonganın

üretilmesi için gerekli olan maskelerin oluşturulması bu seviyede sağlanır. Aslında

fiziki tasarım bir yonganın üretilmesinde artık son safhadır. Diğer tasarım safhalarında

gerçekleştirilen tasarım bu safhada geometrik gösterime dönüştürülerek yerleşim

açısından uygunluk sağlanır.

Bilgisayar destekli mantık tasarımında birçok farklı yazılım kullanılmaktadır. Bu

yazılımlar, kullanıcıların geniş bir spektrumda değişen ihtiyaçlarını karşılamak üzere

kullanıma verilen birçok algoritmayı sunarlar. Bilgisayar destekli mantık tasarım

yazılımları için SIS, MVSIS (Gao et.al. 2001a, Gao et.al. 2001b, Chai et.al. 2003),

Espresso (Myers 1999, Devadas et.al. 2000, Gupta 2002, Grover 2003) örnek olarak

verilebilir. Bu yazılım paketleri değişik algoritma ve hüristikleri kullanmaktadır. Bu

hüristik ve algoritmalara örnek olarak Sympathy (Butler et.al. 2000), Unate Covering

Hüristik (Cordone et.al. 2001), GRMIN (Debnath and Sasao 1995), Evolutionary

Algorithms (Drechsler 2004), Implicit Algorithms (Mishcenko et.al. 2000), Reduced

Covering Function (Sasao 1993a), EXMIN2 (Sasao 1993b), Graph Algorithms-MIS

(Wattenhofer 2004) verilebilir.

Mantık tasarımında en iyiye ulaşmak için birçok değişik çözüm önerisi de gündeme

gelmektedir. Bunlara örnek olarak paralel bilgisayarların kullanılmasını öneren

komşuluk algoritmaları (Yang and Oral 1992), yeni metot arayışları içerisindeki

transeunt üçgen kullanımı (Butler et.al. 2000a, Butler et.al.2000b) kavramının ortaya

konulması, Dışlanan VEYA geçidini kullanan Çarpanların Toplamı Gösterimi (Brand

and Sasao 1993) McMillan’ın Boolean fonksiyonların birleşik kanonik açılımı

(Dubrova and Farm 2002) da sayılabilir.

Mantık tasarımında bir diğer etkinlik sağlama çabası ise fonksiyonların sınıflandırılması

ve her tip fonksiyona özel çözüm arayışlarının ve araştırma faaliyetlerinin

gerçekleştirilmesidir. Bu sınıflandırma kapsamında Reed-Muller fonksiyonları (Sasao

and Debnath 1996, Stankovic and Sasao 2001), simetrik fonksiyonlar (Butler and Sasao

1998, Butler et.al. 1997, Drechsler 1999) ve Kleene-Stone fonksiyonları (Nakashima

1996) özel araştırma çalışmalarına tabi tutulmaktadır.

22

2.3. Çoklu Değerli Mantık ve Bulanık Mantık

Lotfi A. Zadeh tarafından 1965 yılında öne sürülen Bulanık Mantık seti bir fonksiyonun

alabileceği değer kümesini {0, 1} ile sınırlamayarak [0, 1] ararsındaki tüm değerler

olarak belirlemiştir. Analog bulanık mantık değerleri 0.0 ile 1.0 arasında herhangi bir

değer alabilir. Bulanık kümeler, binary kümelerden farklı olarak ara değerlere ve

üyeliklere sahiptir. Dolayısıyla insan beyninin çalışmasına benzer şekilde karar vermek

mümkün olabilmektedir. Bulanık kümeler ve bulanık mantık’ın direk uygulaması için

en belirgin uygulama Yamakawa (1990) tarafından geliştirilen bulanık kontrol

mekanizmasıdır. Bu mekanizma bulanık bilgiyi, (ENB) Enbüyük işlemini gerçekleştiren

bir bulanık işlemci devresini kullanarak işlemektedir. Bununla beraber Yang (2005)

“Bulanık Bilgisayar: İmkânsız Görev” adlı makalesinde saf bir bulanık bilgisayarın

yapılmayacağını, yapıldığı takdirde yapıldığı takdirde mantık süratinin sıfır olacağını

belirtmektedir. Yang bulanık mantık’ın uygulanabilir olması için mutlaka bulanık’a

çevirme1 ve bulanık’tan çevirme2 kademelerine ihtiyaç olduğunu öne sürmektedir.

Bulanık mantık’ın bilgisayarlar kullanarak gerçekleştirilmesinde bulanık’a çevirme çok

önemli bir yer tutmakta ve çevirme işlemi nedeniyle gerçek zamanda bilginin işlenmesi

mümkün olmamaktadır. Binary mantık yerine, Çoklu Değerli Mantık kullanılması,

yapısı gereği binary olmayan bu bilginin işlenmesini kolaylaştıracaktır.

Örneğin Çizelge 2.1.’de gösterilen A,B ve C marka otomobillerin yakıt harcaması,

azami sürat ve hızlanma değişkenlerine bağlı olarak değerlendirme yapılmak istendiği

takdirde bulanık mantık kullanılmasının en uygun çözüm olduğu görülmektedir.

Çizelge 2.1. Test için gerçek değerler

Gerçek Değerler Yakıt Harcaması km/l Azami Sürat Km/h Hızlanma s

Oto A 10 200 8

Oto B 15 180 11

Oto C 20 160 12

1 Fuzzification 2 Defuzzification

23

Boolean mantıkta en iyi değer 1, en iyi olmayan ise 0 olarak seçilecek, dolayısıyla

Çizelge 2.2.’de gösterilen dönüşüm yapılacaktır.

Çizelge 2.2. Değerlerin Boolean Mantık'a çevrilmesi

Boolean Mantık Yakıt Harcaması km/l Azami Sürat Km/h Hızlanma s

Oto A 0 1 1

Oto B 0 0 0

Oto C 1 0 0

Bulanık mantık’ta aynı seçimin yapılması durumunda ise Çizelge 2.3.’te gösterildiği

şekilde 0 en kötü, 1 en iyi ve bunun dışında kalan değerler ara değer olarak yer alır.

Çizelge 2.3. Değerlerin Bulanık Mantık çevrilmesi

Boolean Mantık Yakıt Harcaması km/l Azami Sürat Km/h Hızlanma s

Oto A 0 1 1

Oto B 0,5 0,5 0,33

Oto C 1 0 0

Bu değerlendirme için bulanık mantık kullanılması, farklı değişkenlerin aldığı

değerlerin boolean mantık’taki dönüşüm nedeniyle kaybolmasının önüne

geçilebilmektedir.

Çoklu Değerli Mantık kullanan bilgisayarlarda da bulanık mantık ile ifade edilen ara

değerlerin fonksiyonun özelliklerini kaybetmeden dönüşümü mümkün olacaktır.

Örneğin otomobiller için yapılan değerlendirme tablosu 5-değerli mantık

kullanıldığında, Çizelge 2.4.’de gösterildiği şekli alacaktır.

24

Çizelge 2.4. Bulanık Mantık için ÇDM Tablosu

5 Değerli Mantık Yakıt Harcaması km/l Azami Sürat Km/h Hızlanma s

Oto A 0 4 4

Oto B 2 2 1

Oto C 4 0 0

Örnekten de görülebileceği üzere Çoklu Değerli Mantık kullanımı ile bulanık kümeler,

özelliklerinden kaybetmeden sayısallaştırılabilmektedir.

Kısaca, mantık dünyasında Boolean Mantık bir uçta bulunurken, analog bulanık mantık

diğer ucu işgal etmektedir. Çoklu Değerli Mantık ise aradaki boşluğu doldurmaktadır.

2.4. Mantık Fonksiyonları

Çoklu Değerli Mantık, Boolean Mantık’ı da içeren genel bir form olarak

tanımlanmaktadır. Bir diğer deyişle Boolean Mantık’ın Çoklu Değerli Mantık formları

kullanılarak tanımlanması mümkün olabilmektedir. Endüstride ve akademik dünyada

Boolean Mantık geniş olarak tanınmakta ve kullanılmaktadır. Bu nedenle, tezin konusu

Çoklu Değerli Mantık olmasına rağmen, Boolean Mantık’ın kullanımının yaygınlığı ve

nispeten basitliği nedeniyle önce tanıtılmasının ve daha sonra Çoklu Değerli Mantık’a

uzantısının ve farklılıklarının anlatılmasının daha uygun olacağı değerlendirilmiştir.

Mantık Fonksiyonları dört başlık altında incelenebilir;

• İkili Giriş ve Çıkışlara sahip fonksiyonlar (Boolean Fonksiyonları),

• İkili Giriş ve Çoklu Değerli Çıkışlara sahip fonksiyonlar,

• Çoklu Değerli Giriş ve İkili Çıkışlara sahip fonksiyonlar,

• Çoklu Değerli Giriş ve Çoklu Değerli Çıkışlara sahip fonksiyonlar.

2.4.1. Boolean Fonksiyonları

Boolean fonksiyonların değişik formlarda gösterimi mümkündür. Bu formlardan en sık

kullanılanları aşağıda belirtilmiştir.

25

• İki Seviyeli Gösterim1 (Çarpanların Toplamı2 veya Toplamların Çarpımı3),

• Çarpanların Toplamı Gösterimi 3221321 xxxxxxxf ++=

• Toplamların Çarpanı Gösterimi ( ) ( )21321 xxxxxf +⋅++=

• Doğruluk Tablosu4 Gösterimi,

Çizelge 2.5. Örnek Doğruluk Tablosu

x1 x2 x3 f

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

• Boolean Karar Çizeneği5 Gösterimi

1 Two Level Representation 2 Sum of Products 3 Product of Sums 4 Truth Table 5 Boolean Decision Diagram (BDD)

26

Şekil 2.2. Örnek Karar Çizeneği

Tanım: Tamamen tanımlanmış1 Boolean fonksiyonu Boolean uzayları arasında

yapılan bir eşlemlemedir2. Bu fonksiyon { } { }1,01,0: →nf veya BBf n →: olarak

gösterilir. Tamamen tanımlanmış Boolean Fonksiyonlarında çıkış tanım kümesi,

fonksiyona ‘0’ değeri veren girişlerden oluşan Yok Alt Kümesi ve fonksiyona ‘1’

değeri veren girişlerden oluşan Var Alt Kümesi ile tanımlanır.

Var Alt Kümesi { } ( )11)(: 11 −=== ffxfxf

Yok Alt Kümesi { } ( )00)(: 10 −=== ffxfxf

111

001

110

000

fx2x1

Var Alt Kümesi = { 01, 11 } Yok Alt Kümesi = { 00, 10 }

Şekil 2.3. Tamamen tanımlanmış bir Boolean fonksiyonun doğruluk tablosu

gösterimi

1 Completely Specified 2 Mapping

x1

x2 x2

x3 x3 x3 x3

0 0 1 1 0 1 0 1

0 1

0

0 0 0 0

01 1

1 1 1 1

27

Tanım : Boolean Uzayında gerçekleştirilen yöneysel1 işlemleri göstermek maksadıyla

kullanılan gösterime Boolean Küpü denir. Boolean Küpünün boyutu değişken sayısına

bağlı olarak değişir.

Örnek: B = { 0,1}

B2 = {0,1} x {0,1} = {00, 01, 10, 11}

B0

B1

B2

B3B4

Şekil 2.4. Boolean küp gösterimi

Tanım : Giriş değişkenlerinin yer aldığı kümeye Köşe2 adı verilir. Köşeler 0 veya 1

değerini alırlar.

x1 = 1x2 = 1x3 = 1

x1 = 1x2 = 0x3 = 0

111111

000000

xx33

xx11

xx22001001

Şekil 2.5. Köşe Örnekleri

n-girişli, m-çıkışlı bir fonksiyon mn BBf →: eşlemlemesidir. Bu fonksiyon aynı tanım

kümesini1 kullanan m adet sayıl2 fonksiyon dizilimi olarak görülebilir ve yöneysel

simgelem kullanılır.

1 Vector 2 Vertex

28

Çizelge 2.6. Tamamen tanımlanmış iki çıkışlı bir Boolean fonksiyonun doğruluk

tablosu gösterimi

x1 x2 f1 f2

0 0 0 1

0 1 1 1

1 0 0 1

1 1 1 0

Tanım : Bir değişkenin normal ve olumsuzlanmış halinin her birine değişmez3

denir.(Örneğin. 31 , xx )

Tanım : ),....,,,( 1210 −ni xxxxp ’nin tüm giriş değişmezlerinin çarpımından oluşan bir

küme olduğunun kabul edelim. Bu kümeye küçükterim4 adı verilir.

121012100 ....),....,,,( −− = nn xxxxxxxxp 121012101 ....),....,,,( −− = nn xxxxxxxxp

.

.

.

1210121012....),....,,,( −−−

= nn xxxxxxxxp n

Tanım : Eksik Tanımlanmış5 Boolean Fonksiyonu değişkenlerin tanımlanmadığı

köşelerin bulunduğu fonksiyonlara verilen isimdir. Fonksiyonda bazı girişlere karşılık

gelen çıkışlar tanımlanmamış ise bu çıkışlar, çıkış ‘aldırma6’ alt kümesini oluştururlar.

Bu fonksiyonlar Var, Yok ve Aldırma Alt Kümelerinden oluşur. Tamamen

1 Domain 2 Scalar 3 Literal 4 Minterm 5 Incompletely Specified 6 Don’t Care

29

Tanımlanmış Boolean fonksiyonları, Eksik Tanımlanmış Boolean Fonksiyonlarının özel

durumudur. Yani Aldırma Alt Kümesi = Ø dir.

Tanım : Bir Boolean Fonksiyonun gösterilmesinde bir veya birden fazla küçükterimi

içeren deyimlere ‘Belirleyici1’ adı verilir.

Örnek: x1, x2, x3 değişkenlerinde oluşan f fonksiyonuna ait x1x2 belirleyicisi, 321 xxx

ve 321 xxx küçükterimlerini içerir.

Tanım : Eğer fC ⊆ ve C bir küp ise, C bir belirleyici’dir. Eğer nBC ⊆ ve C nin k

değişmezi var ise, knC −= 2 dir. Eğer k=n ise C bir küçükterim’dir.

Örnek: 3BxyC ⊆= k=2, n=3

{ }101,100=C

2322 −==C

Tanım : Bir Boolean fonksiyonun ‘kaplama’2sı tüm küçükterimlerini kaplayan

belirleyici listesidir.

Örnek: { }321 ,, cccF = f’in bir kaplama’sıdır ve üç küpün kesişiminden oluşur.

Şekil 2.6. f=ab+ac+bc fonksiyonu için kaplama

Tanım : Eğer bir küp kaplama’dan çıkartıldığında f fonksiyonu elde edilemiyor ise

Vazgeçilmez1Küp olarak adlandırılır.

1 Implicant 2 Cover

bcbc

acacabab

cc

aa

bb

30

{ }kcccF ,.....,, 21= , ∑=

=k

iicf

1

Fci ∈ vazgeçilmezdir, eğer { } fcF i ≠\

Şekil 2.7. Vazgeçilmez küp tanımlaması

Tanım : Eğer bir küpün değişmezlerinden bir tanesinin çıkarılması halinde

fonksiyonun sonucunda değişme oluyor ise, bu değişmeze Asal Değişmez, bir küpün

içerisindeki tüm değişmezler asal ise bu küpe Asal Küp2 (Asal Belirleyici3) adı verilir.

Örnek:

bcacabf ++=

acabc ii =′= ; (b değişmezinin çıkartılmış durumu)

{ }( ) { } bcacaccF ii ++=′∪\

1 Irredundant 2 Prime Cube 3 Prime Implicant

bcbc

acaccc

aa

bb

Kaplama Harici

FF\\{ab} {ab} ≠ f

31

Şekil 2.8. Asal belirleyici için örnek

Tanım : Eğer tüm küpler Asal (Vazgeçilmez) Küp ise o kaplama’ya asal

(vazgeçilmez) kaplama adı verilir.

Tanım : f ‘nin bir vazgeçilmezi eğer diğer vazgeçilmezlerde kapsanmayan bir

küçükterimi (köşeyi) içeriyor ise o vazgeçilmeze Gerekli Vazgeçilmez1 adı verilir.

Örnek : dcdbabcf ++= asal ve vazgeçilmezdir.

abc vazgeçilmezdir, çünkü abcdabc ∈ , adveyadcveyadbdabc ∉

Şekil 2.9. Gerekli vazgeçilmez küçükterim

2.4.1.1 Shannon Açılımı 1 Essential Prime

bcbc

acacaa

cc

bb

F=F=acac + + bcbc + a =+ a =F \{ci } ∪ {c’i }

aaOrijinal Fonksiyona esit degil, Yok Alt Kümesinden bir köse

de kapsaniyor.

abcabc

bdbd

cdcd

ddaa

ccbb

32

Teorem : BBf n →:

ii xixi fxfxf +=

Teorem : F, f ‘nin bir kaplaması ise, o zaman,

ii xixi FxFxF +≡~

Bu duruma f (F)’nin xi ‘e göre açılımı denir. xi ‘e üleştiren değişken1 adı verilir.

2.4.1.2 Shannon Eşçarpanı2

Şekil 2.10. F = ab + a c+ bc

Tanım : BBf n →: bir Boolean fonksiyonu, x=(x1,x2,...,xn) f ‘e ait değişkenler olsun.

ixa = veya ixa = değişmezine göre f’in fa eşçarpanı

( ) ( )niinx xxxxfxxxfi

,...,,1,,...,,...,, 11121 +−=

( ) ( )niinx xxxxfxxxfi

,...,,0,,...,,...,, 11121 +−=

Shannon Eşçarpanı ( ) ( ) bcaabcacabbcabccbaFaaFF aa +++=+++=+=~

2.4.2. Boolean Fonksiyonlarının Gösterimi

Mantık Analizi sahasında son yirmi yılda gerçekleştirilen yoğun araştırma ve geliştirme

çalışmaları, kullanılabilecek metotların avantaj ve dezavantajlarını açıkça belirlemiş ve

mantık devrelerindeki kapı sayısının artışı ile yeni metotlar geliştirilmesi ihtiyacı

doğmuştur (Mishchenko and Brayton 2002). Bu alanda daha iyi ve etkin metotların

1 Splitting Variable 2 Shannon Cofactor

cc

aa

bb

cc

aa

bb

bcbc

Ikiye ülestirilmisbc küpü

Ikiye ülestirilmisbc küpü

33

geliştirilmesinin potansiyel olarak mümkün olduğu Rudell (1996) tarafından rapor

edilmiştir. Bu kapsamda yeni metot arayışında en büyük değişiklik Mantık

Fonksiyonlarının gösteriminde ortaya çıkmıştır. Kısaca Mantık Fonksiyonlarının

gösterimindeki tarihsel gelişim Şekil 2.11.’da gösterildiği gibidir.

Şekil 2.11. Mantık fonksiyon gösterim ve algoritmalarının evrimi

Quine-McCluskey analiz metodu, fonksiyonun küçükterim formunda gösterilmesine

ihtiyaç gösterir. Bu metot, mantık analizi konseptinin gösterilmesi veya öğretilmesi

maksadıyla kullanım açısından uygun olmasına rağmen küçükterim gösteriminin

boyutlarının giriş değişken sayısı ile üssel olarak ilişkili olması kullanımı sadece teorik

maksatlar ile sınırlamaktadır.

Pratikte kullanılabilen ilk metot, ESPRESSO (Brayton et al. 1984) algoritması olduğu

Yang and Ciesielski (2000) tarafından belirtilmektedir. ESPRESSO, küçükterim

gösterimine nazaran daha derli toplu olan Çarpanların Toplamı gösterimine

dayanmaktadır. ESPRESSO esas olarak Quine-McCluskey metodunun bir küp

gösterimi uygulamasıdır.

34

Şekil 2.12. Espresso algoritması

ESPRESSO’nun ilk kullanılan algoritma ve bilgisayar destekli tasarım yazılımı olması

nedeniyle bilgi giriş dosya formatı bir standart haline gelmiş ve yapılan akademik

çalışmalarda bu yazılım için geliştirilen test dosya paketleri kullanılmaya başlanılmıştır.

Quine-McCluskey ve ESPRESSO algoritmalarının ortak özelliği, iki seviyeli mantık

devreleri için kullanılıyor olmalarıdır. İki seviyeli mantık devresi ve çok seviyeli mantık

devresi için örnekler Şekil 2.13.’de verilmiştir.

1

35

İki Seviyeli Mantık Devreleri (PLA) Çok Seviyeli Mantık Devreleri

2 3 4

Şekil 2.13. İki ve çok seviyeli mantık devreleri

Hâlihazırda kullanılan en başarılı analiz aracının SIS (Sentovich et al. 1992) olduğu

yine Yang and Ciesielski (2000) tarafından rapor edilmiştir. SIS yazılımı esas olarak iki

seviyeli gösterim formlarını kullanmakla beraber, çok seviyeli mantık devrelerini

küçültme için geliştirilmiş bir algoritma ve yazılımdır. SIS faktörize1 edilmiş gösterimi

üst seviyede kullanır. Faktörize edilmiş gösterime örnek olarak

e)fg+(d+))ca+(ed+bc)(c+(ad =f verilebilir. Örnekten de görülebileceği üzere alt

fonksiyonlar iki seviyeli olmasına rağmen fonksiyonun tamamı çok seviyeli olarak

tanımlanmıştır. Faktörize gösterimin, Çarpanların Toplamı gösterimi ile

karşılaştırıldığında daha basit bir gösterime sahip olduğu dikkati çekmektedir. SIS

kullanımında ortaya çıkan en büyük zorluk faktörize gösterimin tamamının üzerine

uygulanabilecek algoritmaların kısıtlı olmasıdır. Bu sorunu aşmak için faktörize form

iki seviyeli alt fonksiyonlara ayrıldıktan sonra ESPRESSO kullanılarak

küçültülmektedir. Ancak bu durumda ESPRESSO için geçerli olan en iyiye ulaşamama

(en küçük forma ulaşamama) veya çözüm için çok uzun zaman gereksinimi gibi

sorunlar gündeme gelmektedir.

1 Çarpanlarına (Etmenlerine) ayırma

36

Sonuç olarak mantık analizinin tarihsel gelişmesi incelendiğinde Küçükterim ve

Çarpanların Toplamı gösterimi ile bu maksatla kullanılan işleçlerin, ancak teorik

çalışmaların ve kavramların tanıtılması maksadıyla kullanılabileceği, özellikle ihtiyaç

duyulan milyonlarca mantık kapısından oluşan devrelerin küçültülmesinde yeterli

olmayacağı değerlendirilmektedir.

Giderek daha fazla sayıda mantık kapısından oluşan fonksiyonların gösteriminde küp

gösteriminin de yetersiz kalması nedeniyle yeni bir fonksiyon gösterim biçimi arayışı

içine girilmiştir. Bu çalışmalar sonucunda İkili karar çizenekleri (Binary Decision

Diagram) ilk olarak Lee (1959) tarafından ortaya konulmuştur. Lee ikili karar ağaçları

olarak tanımladığı gösterimin, cebirsel gösterime nazaran avantajlarını gündeme

getirmiştir. İkili karar çizeneklerinin mantık sentezinde kullanımı ancak Bryant (1986)

tarafından bu maksat ile kullanılabilecek işleçlerin geliştirilmesi ile mümkün

olabilmiştir. Yang and Ciesielski (2000) makalelerinde ikili karar çizenek gösterimini

en uygun ikili fonksiyon gösterimi olarak belirtmektedir.

İkili karar çizenekleri mantık analizi sahasında kullanıldığı gibi, Yapay

Öğrenim/Makine Öğrenimi (Machine Learning) ve Veri Madenciliği (Data Mining)

sahalarında da kullanılmaktadır (Grygiel et al. 1997, Rangelow 2001).

İkili karar çizeneklerinin çoklu değerli karar çizeneklerine uyarlanması için gerekli

kavramların detayları Schmiedle et al. (2001) ve Miller and Drechsler (2002) tarafından

rapor edilmiştir.

2.4.3. İkili Giriş ve Çoklu Değerli Çıkışlara Sahip Fonksiyonlar

Özellikle Boolean Fonksiyonlarının birden fazla çıkışı olduğu takdirde her bir çıkışın

ayrı ayrı küçültülmesi, elde edilebilecek eniyileme1’yi sağlamayabilir. Bu nedenle tüm

çıkış değerlerinin bir arada eniyilemeye tabi tutulabilmesi için ikili giriş ve çoklu değerli

çıkış fonksiyonları kullanılır.

1 Optimization

37

Tanım : Boolean Giriş değişkenlerine sahip, ancak birden fazla Boolean Çıkış

fonksiyonuna sahip f fonksiyonu mn BBf →= , m>1, n = 1 şeklinde gösterilir.

Tanım : İkili değerli giriş, çoklu değerli çıkışa sahip f fonksiyonu QBf n →= ,

{ }1,...,1,0 −= ii QQ şeklinde gösterilir.

x1 x2 f0 f1

0 0 0 1

0 1 1 1

1 0 0 0

1 1 1 0

Şekil 2.14. Boolean giriş, çoklu değerli çıkışa sahip fonksiyon dönüşümü

Fonksiyonların birleştirilerek ikili değerli giriş, çoklu değerli çıkışa sahip bir fonksiyon

haline dönüştürülmesi Şekil 2.14.’te gösterilmiştir.

2.4.4. Çoklu Değerli Giriş ve İkili Çıkışlara Sahip Fonksiyonlar

Çoklu değerli giriş ve ikili çıkışlara sahip fonksiyonlar Yapay Öğrenme ve Mantık

Sentezinde kullanılmaktadır (Sasao 1993b, Shmerko et al. 1997, Debnath and Sasao

1999). Özellikle r-bit kod çözücü1lere sahip VEYA Programlanabilir Mantık Dizilimleri

2r –değerli giriş ve ikili değerli çıkış fonksiyonlarını gerçekleştirmektedir.

1 Decoder

x1 x2 fmv

0 0 1

0 1 3

1 0 0

1 1 2

38

Şekil 2.15. 2-bit kod çözücülü VEYA programlanabilir mantık dizilimi

Tanım : Çoklu değerli giriş, ikili çıkışa sahip bir fonksiyon,

( ) BPPPxxxf nn →×⋅⋅⋅×× 2121 :,...,, ye eşleştirmedir. Burada xi bir ÇDM değişkeni

olup, değerlerini Pi = {0,1,...,pi-1}, pi>1 alt kümesinden, B ise {0,1} alt kümesinden alır.

Örnek: f: P1 x P2 x P3 → B, P1 = {0,1, 2} , P2 = {0,1}, P3 = {0,1}

00

11

AldAldıırmarma

3X

1X

2X

11121012110200020111a01101010001a110101011000000

fmvx3x2x1

Şekil 2.16 Çoklu değerli giriş, ikili çıkış fonksiyon örneği

VE

VEYA

Kod

Ç

özüc

ü K

od

Çöz

ücü

39

Terminoloji : Çoklu Değerli Mantık esas olarak Boolean Mantık’ta kullanılan

terminolojiyi kullanır.

Köşe (v) : Uzayda bir nokta ni PPPP ×⋅⋅⋅××= 21

Küp (c) : iin Pccccc ⊆×⋅⋅⋅××= ,21 den oluşan alt küme

Belirleyici : Küp c, öyle ki tüm ( ) 0, ≠∈ vFcv

Var Alt Kümesi : f(v)=1 olan v köşesi. Eğer v=( c1,...,cn ) o zaman her ci ‘ın bir tek

değeri vardır.

Asal Belirleyici : cd ⊃ ’yi sağlayan d belirleyicisinin bulunmadığı c belirleyicisi.

F Kaplaması : f in içerdiği tüm Var Alt Kümesi küçükterim’lerini kapsayan

belirleyici alt kümesi.

Asal F Kaplaması: Tüm elemanların asal olduğu kaplama.

2.4.5. Çoklu Değerli Giriş ve İkili Çıkış Mantık Gösterimi

Tanım : Çoklu Değerli Mantık değişmez’i iciX aşağıda belirtilen forma sahip bir

fonksiyondur.

( ) ( ) iijkiici PcXXX i ⊆∈=+⋅⋅⋅+== γγγ ,1

iin Pccccc ⊆×⋅⋅⋅××= ,21 oluşan bir küp Çoklu Değerli Mantık değişmezleri

kullanılarak aşağıdaki belirtilen şekilde yazılabilir. nc

ncc XXX ⋅⋅⋅2121

Örnek: Yukarıda doğruluk tablosu verilen üçlü değerli giriş ve ikili değerli çıkışa sahip

fonksiyonun küpler toplamı gösterimi Şekil 2.17.’de belirtildiği gibidir.

{ } { } { } { } { } { }1

32

11

30

10

31

2 XXXXXXF ++=

40

Şekil 2.17. Çoklu değerli giriş ve ikili çıkışa sahip bir örnek fonksiyon gösterimi

2.4.6. Çoklu Değerli Giriş ve Çıkışlara Sahip Fonksiyonlar

Mantık Sentezinde mantık fonksiyonlarını en genel olarak tanımlayabilen fonksiyon tipi

ÇDM giriş ve çıkışlarına sahip fonksiyonlardır. Aslında Boolean fonksiyonları da birer

ÇDM fonksiyonudur. Her bir Boolean fonksiyonu ikili değerli mantık fonksiyonudur.

Bu nedenle tüm mantık fonksiyonlarının ÇDM formunda ifade edilmesi mümkündür.

Tanım: Çoklu Değerli Mantık Fonksiyonu

f, n değişkenli giriş ve çıkışı çoklu değerli olan bir fonksiyon olsun. Çoklu değerli

mantık değişkeni xi değerlerini Pi = {0, 1,..., pi-1}, pi>1, { }ni ,,2,1 …∈ kümesinden alır.

Fonksiyon f değerini { } 1,1,,2,1,0 >−= mmM … kümesinden alır. Fonksiyon f,

MPf n →: olan bir eşlemedir.

2.4.6.1 Çoklu Değerli Mantıkta Kullanılan Cebirler ve Post Cebiri

Yanushkevich (1998) tarafından bildirildiğine göre, Çoklu Değerli Mantık fikri ilk defa

Łukasiewicz (1920) tarafından “var-yok”a ilave olarak “belki” durumu ile rapor edilmiş

ve bunu Post (1921) ilave doğruluk tablosu değerlerine çevirerek bir cebir haline

getirmiştir.

00 11 AAllddıırrmmaa

3X

1X

2X

41

Herhangi bir m-değerli tek çıkışlı sistem işlevsel olarak tamam1 temel işleçler

kullanılarak bir cebir olarak tanımlanabilir. m ≥ 2 için işlevsel olarak tamam olan

cebirler; Post cebiri, Webb (1935) cebiri, ölçke-toplam ve ölçke çarpım cebiri, Allen

and Givone (1977) cebirleri, Hurst (1978) cebiri ve devre tasarımına yönelik

geliştirilmiş olan diğer cebirlerdir (Gottwald 2004).

Bu tez çalışmasında Post cebiri kullanılması nedeniyle bu cebir ayrıca detaylı olarak

açıklanacaktır. Diğer cebirler içerisinde önemli görülen cebirler ise özet olarak

açıklanmıştır.

Webb cebiri, işlevsel olarak tamam Sheffer-Stroke işlecinden oluşan bir cebirdir.

Sheffer-Stroke işleci: yxifxyxveyxifyx m =+=≠= mod)1(|0| , fonksiyon

doğruluk tablosu Çizelge 2.7’de gösterilmiştir.

Çizelge 2.7. Sheffer-Stroke işleci doğruluk tablosu

x y x|y

0 0 1

0 1 0

0 2 0

1 0 0

1 1 2

1 2 0

2 0 0

2 1 0

2 2 0

Ölçke-toplam ve ölçke-çarpım cebiri Bernstein (1924) tarafından öne sürülmüştür

(Yanushkevich 1998). Bu cebirde kullanılan işleçler: mm xyveyx modmod )()( + dir. Bu

cebir Çoklu Değerli Mantık tanım kümesinde Reed-Muller denklemlerinin

oluşturulmasında kullanılmaktadır.

1 Funtionally Complete

42

Post tarafından önerilen cebir iki işleç üzerine kurulmuştur. Bu işleçler; ölçke m toplam

işleci, mx mod)1( + ve Enbüyük işleci ),( yxENByx =∨ den oluşmaktadır. Bu işleçler

kullanılarak arzu edilen tüm m-değerli mantık fonksiyonları tanımlanabilmektedir.

Burada Post cebirinin vurgulanılması gereken bir özelliği, ikili değerli Post Cebirinin

işleçlerinin Boolean cebirinin Olumsuzlayan1 ve VEYA 2 işleçleri ile aynı olmasıdır.

Post cebiri esas alınarak bir çok cebir geliştirilmiştir (Orlowska 2005). Bu tezde

kullanılan cebir, Dubrova, Jiang and Brayton (2001) ve Saleh (1989)’in rapor ettiği

cebirin bazı değişiklikler ile kullanılmasıdır.

Çoklu değerli mantık fonksiyonlarının genel olarak işlenmesinde kullanılan cebir, Post

tarafından öne sürülen “Zincir Tabanlı Post Cebiri”dir. Post cebirinin en önemli özelliği

değerlerin kullanılma şeklidir. Değerler herhangi bir sayısal değeri ifade etmeyip, zincir

üzerindeki bir sembolik yeri tarif etmektedir. Dolayısıyla değerlere istenilen öznitelikler

atanabilir. Örneğin “0”, kırmızıyı, “1”, sarıyı, “2” yeşili belirtebilir. Post Zinciri Şekil

2.18.’de gösterilmiştir.

Şekil 2.18. Post Zinciri

Zincir tabanlı Post cebiri, sıralı öğelerden, Enbüyük(ENB) işlecinden, Enküçük(ENK)

işlecinden ve değişmezden oluşur. Post Cebirinin tanım kümesi ( )ini PM 1=∪∪ olarak

tanımlanır.

Tanım: Enküçük işleci (ENK)

ENK (xi, xj) , { }nji ,,2,1, …∈ , MPP ji →× . Sonuç iki değerden Post zincirinde daha

küçük değerli olanıdır ve işleç “∧ ” ile gösterilir.

Tanım: Enbüyük işleci (ENB)

1 NOT 2 OR

0 1 2 3 m-3 m-2 m-1

43

ENB (xi, xj) , { }nji ,,2,1, …∈ , MPP ji →× , Sonuç iki değerden Post zincirinde daha

büyük değerli olanıdır ve işleç “∨ ” ile gösterilir.

Tanım: Değişmez Six değişmez’i tek yönlü bir eşleşme işlevidir. MPi → ;

∉∈−

=SxSxm

xSi 0

1, ii Px ∈ , çoklu değerli değişken, iPS ⊆ , tanım kümesi olarak

tanımlanır.

Eğer S sadece tek öğeden oluşuyorsa, daha iyi bir gösterim için parantezler kullanılmaz.

(örneğin: { }jix , j

ix şeklinde yazılabilir.) Post cebirinde, sıfır1 ve tam2 öğeleri 0 ve m-1 dir.

m-1, U olarak tanımlandığı takdirde aşağıda belirtilen özellikler tanımlanabilir.

00 =∧x UUx =∨

xx =∨ 0 xUx =∧

Post cebirinin her bir öğesinin bir tamlayıcı3sı yoktur, ancak, 0 ve U her zaman

tamlayıcıya sahiptir. Post cebirinde bir küp, değişmezlerin ENK’sı olarak

tanımlanabilir. Fonksiyonun değeri olan c denkleme ENK işleci ile eklenir.

nS

nSS xxxc ∧∧∧∧ …2121 , Mc∈

Post cebirinde çarpanların toplamı denklemi küpler üzerinde gerçekleştirilen ENB

işlemidir. { } { } 1

221

12

2,01

1,01 211 xxxxxf ∧∧∨∧∧∨∧= , m=3

Bu denklem daha da küçültülerek { } { } 12

21

12

2,01

1,01 11 xxxxxf ∧∨∧∧∨∧= şeklinde

gösterilebilir. Bu denklemde m-1’in değerinin a olarak küçültülmesi,

1 Zero 2 Unary 3 Complement

44

aam =∧−1 özelliği kullanılarak gerçekleştirilmiştir. “1” değerinin sadece Post

zincirinde bir sembolik değer olduğu gözden kaçırılmamalıdır.

2.4.6.2 Çoklu Değerli Mantıkta kullanılan İşleçler

Çoklu Değerli Mantık’ta Boolean mantık’a nazaran çok daha fazla işleç kullanmak

mümkündür. Şekil 2.19.’da verilen örnek işleçler göz önüne alındığında bir kısmının

Boolean karşılıklarını hemen görmek mümkündür. Anlaşılmada kolaylık olması

amacıyla örnekler Üçlü Değerli Mantık’ta verilmiştir.

Şekil 2.19. Çoklu Değerli Mantık örnek işleçler

Bu işleçlerin ihtiyaca göre değişimi ve çeşitlendirilmesi de mümkündür. Adams

(2000).tarafından Reed-Muller açılımında kullanılmak üzere tanımlanan diferansiyel

işleç buna bir örnektir.

2.4.7. Çoklu Değerli Mantık Shannon Açılımı

Çoklu değerli karar çizenekleri kavramı, Boolean Shannon açılımının uzantısı olarak

değerlendirilebilir. Shannon açılımının uygulanmasında kullanılan ITE (if-then-else)

işleci Yang ve Ciesielski (2000), Yang et al. (2000) ve Brace, Rudell and Bryant

(1990)’da detaylı olarak incelenmiştir. ITE işleci, bir Boolean fonksiyonunun Azaltılmış

Sıralı İkili Karar Çizenekleri1 (ASİKÇ) şeklinde ifade edilmesinde kullanılır. ASİKÇ’ler

konusunda yapılan çalışmalar Yoshikawa and Koshiyama (2001), Wiklund (2000),

Mishchenko (2003), Jansenn (2001), Hörr (2001), Drechsler and Römmler (2002) ve

Bollig et al. (2002)’de rapor edilmiştir. 1 Reduced Ordered Binary Decision Diagrams (ROBDDs)

2102

1101

0000

210X1

ENKÜÇÜK

X2

2222

2111

2100

210X1

ENBÜYÜK

X2

1022

0211

2100

210X1

ÖLÇKE TOPLAM

X2

1202

2101

0000

210X1

GALOIS ÇARPIM

X2

2222

2211

2100

210X1

YUVARLATILMISTOPLAM

X2

2112

1101

1000

210X1

ORTALAMA DÜSÜK

X2

2212

2111

1100

210X1

ORTALAMA YÜKSEK

X2

2202

2101

0000

210X1

YUVARLATILMISÇARPIM

X2

0122

1011

2100

210X1

MESAFE

X2

1002

0101

0010

210X1

ESIT

X2

0112

0011

0000

210X1

BÜYÜK

X2

1112

0111

0010

210X1

BÜYÜK ESIT

X2

45

Tanım: Çoklu Değerli Shannon Açılımı

Bir çoklu değerli mantık fonksiyonu xi değişkenine göre aşağıdaki denklemde

gösterildiği gibi ifade edilebilir:

( ) ( )( )( )

11110021

121

121

021

,,1,,,

,,1,,,

,,0,,,,,,,,

−−

∧∨∨∧∨∧=

−=∧

∨=∧

∨=∧=

mi

miiiii

nimi

nii

niini

fxfxfx

xmxxxfx

xxxxfx

xxxxfxxxxxf

………………

…………

f bir eşleştirmedir, MPf n →: , { } 1,1,,2,1,0 >−= mmM … , Pi = {0, 1,..., pi-1}, pi>1,

{ }ni ,,2,1 …∈ .

Tanım: Çoklu Değerli Shannon Eşçarpanı

MPP ji →× Çoklu değerli fonksiyon ve x=(x1,x2,...,xn) f’in değişkenleri olsun. f’nin

a’ya göre ,a = xi eşçarpanı fa:

( ) ( )niiina

x xxaxxxfxxxfi

,...,,,,...,,...,, 11121 +− == olarak gösterilir.

2.4.8. Çoklu Değerli Mantık Gösterimi

Boolean gösteriminde olduğu gibi Çoklu Değerli Mantık’ta da değişik gösterim şekilleri

mevcuttur. Bu gösterim şekilleri için örnekler Şekil 2.20.’de verilmiştir.

212002111101210100fmvx2x1

2121

0110

210x1

x2

{ } { } { } { } { }12

21

12

2,01

1,01 XXXXXF ++=

Doğruluk Tablosu

Karnaugh Haritası

min ve max açılım

Şekil 2.20. ÇDM gösterim örnekleri

46

Boolean mantık çalışma sahasında olduğu gibi ÇDM’de de yeni gösterim şekli karar

çizeneklerine yönelmiştir.

Tanım: Çoklu Değerli Karar Çizeneği(ÇDKÇ)

Bir Çoklu Değerli Karar Çizeneği iki tip uç noktasına sahip bir köşe kümesini içeren

köklü1, yönlü ve döngüsüz bir grafiktir. Sonlanmayan bir köşenin m-1 kenarı mevcuttur.

Her bir kenar sonlanan veya sonlanmayan bir başka köşeye bağlıdır. Sonlanan bir

köşenin bir mantık değeri vardır ve bağlı kenarları yoktur.

Tanım: Sıralı Çoklu Değerli Karar Çizeneği (SÇDKÇ)

Bir Çoklu Değerli Karar Çizeneğinin tüm kenarları boyunca izlenen yol üzerinde belirli

bir değişken sırası var ise, örneğin x1 < x3 < x2 < … < xn gibi, Sıralı Çoklu Değerli

Karar Çizeneği olarak adlandırılır.

Tanım: Azaltılmış Sıralı Çoklu Değerli Karar Çizeneği (ASÇDKÇ)

Bir Sıralı Çoklu Değerli Karar Çizeneği aşağıda belirtilen kurallara uyduğu takdirde

azaltılabilir;

(benzersiz2) Sonlanmayan iki veya daha fazla köşenin değişken adı ve kenarları aynı

olamaz.

(izomorfik) Sonlanmayan iki veya daha fazla köşenin alt ağaç yapısı aynı olamaz.

Teorem: Azaltılmış Sıralı Çoklu Değerli Karar Çizeneğinin Tekliği3

Her bir f çoklu değerli fonksiyon için bir tane benzersiz (izomorfik dahil) Azaltılmış

Sıralı Çoklu Değerli Karar Çizeneği f’i tanımlanır; f’i tanımlayan diğer tüm fonksiyon

grafiklerinin köşe sayısı daha fazladır.

İspat: Bu teoremin ispatı Srinivasan et al. (1990)’da verilmiştir.

1 Rooted 2 Unique 3 Canonicity

47

Şekil 2.21. ÇDM Karar Çizeneği Örneği

Çoklu Değerli Karar Çizeneğinin teklik1 özelliği olan bir gösterim şekli olmaması

nedeniyle Çoklu Değerli Mantık fonksiyonlarını göstermekte Azaltılmış Sıralı Çoklu

Değerli Karar Çizenekleri kullanılır. Bu nedenle bu tez içerisinde bahsi geçen tüm çoklu

değerli mantık karar çizenekleri azaltılmış sıralı gösterim şeklidir.

2.4.9. CASE İşleci

CASE işleci İkili Karar Çizeneklerinde kullanılan ITE işlecinin eşitidir. Her bir İkili

Karar Çizeneği işleci için bir Çoklu Değerli Karar çizeneği karşılığı mevcuttur. CASE

işleci ilk defa Srinivasan et al. (1990)’da tanıtılmış ancak, üzerinde yeterince detay

verilmemiştir. Bundan sonra gelen ilk esas çalışma Kam et al. (1998)’dir. Kam et al.,

CASE işlecinin kullanımı konusunda bilgi verdikten sonra İkili Karar Çizeneğinden

Çoklu Değerli Karar Çizeneğine dönüşümü anlatmakta, ama CASE işlecini

kullanmamaktadır. CASE işlecini kullanan en son çalışma Miller and Drechsler

(2002)’e aittir. Miller ve Dreschler çalışmalarında CASE işlecini tanıtmış, bununla

beraber ENB ve ENK işleçleri için CASE algoritmasını kullanmayan özel algoritmalar

geliştirmeyi tercih etmişlerdir.

1 Canonic

48

Tanım: CASE İşleci

CASE işleci, F fonksiyonun aldığı değere göre Gi fonksiyonunu seçer ve rapor eder.

)(),,,,( 110 iFGGGGFCASE ipi=←=−… , { }1,,1,0 −= mF …

CASE işleminin sonucu yine F tanım kümesi içindedir.

Genelde CASE işlecinin girdisi Çoklu Değerli Mantık Karar Çizeneği gösterimindeki

çoklu değerli mantık fonksiyonlarıdır. Sonuç, ),,,,( 110 −=ipGGGFCASEH … şeklindeki

Çoklu Değerli Mantık Karar Çizeneğidir. Seçici olarak görev yapan F de bir fonksiyon

olabileceğinden hesaplamalar döngüsel1’dir.

Eğer seçici x değişkeni ise, sonuç en üst köşesi x değişkeni ve kenarları

),,,( 110 −ipGGG … olan bir Çoklu Değerli Mantık Karar Çizeneğidir. Bu özel köşe yapısı

aşağıda belirtildiği şekilde ifade edilebilir:

),,,,(),,,,( 110110 −− =ii pp GGGxGGGxCASE ……

Bir başka özel durum ise:

FmFCASE =− )1,,1,0,( … dir.

Çoklu Değerli Shannon Açılımı, CASE işleci kullanılarak aşağıda belirtildiği şekilde

ifade edilebilir;

( )110

110

111100

,,,,

),,,,(−

−−

=

=

∧∨∨∧∨∧=

miiii

miiii

mi

miiiii

fffx

fffxCASE

fxfxfx

………

Her bir alt satır için çoklu değerli Shannon eşçarpanının hesaplanmasıyla tüm

fonksiyonun CASE işleci kullanılarak ifade edilmesi mümkündür. Eğer değişken sırası

121 xxxx nn >>>> − … ise,

…………

……

)),,,,(,,

),,,,(,),,,,(,(

),,,,(

111

11

011

111

11

011

011

11

011

110

111100

−−−−−−

−−−−−

−−−−−

−−

=

=

∧∨∨∧∨∧=

mn

mnnnn

nm

nnnnnm

nnnnn

mnnnn

mn

mnnnnn

fffxCASE

fffxCASEfffxCASExCASE

fffxCASE

fxfxfxf

olacaktır.

1 Recursive

49

Çoklu değerli Shannon Açılımı CASE işlecinin kullanım yerlerinden yalnızca bir

tanesidir. Bununla beraber yazılı dizinde CASE işlecinin kullanımı ile ilgili detaylı

çalışma mevcut değildir. CASE işlecinin ENB ve ENK işleçleri için kullanılmasının

gösteren tek örnek Miller ve Drechsler (2002)’de bulunmaktadır.

2.5. Ashenhurst ve Curtis Fonksiyonel Ayrıştırması1

Karmaşık mantık problemlerin çözülmesinde “böl ve fethet” kavramının kullanılması

hakkında birçok çalışma gerçekleştirilmesine rağmen, ilk kapsamlı çalışma Ashenhurst

tarafından gerçekleştirilmiştir. Curtis daha sonra Ashenhurst’ün teoremlerini kullanarak

Fonksiyonel Ayrıştırma’nın genel tanımını yapmıştır (Files 1994). Aslında Ashenhurst

tarafından bulunan ayrıştırma tipleri Curtis’in ayrıştırmasının özel durumlarıdır.

Ayrıştırma konusunda yapılan çalışmalara ait detaylar Files (2000), Dubrova et al.

(1997), Dubrova et al. (2003), Fey and Drechsler (2003), Kalgonova and Pshibytko

(1997), Liao et al. (1993), Manquinho and Marques-Silva (2004), Perkowski et al.

(1997), Rawski et al. (1996), Sasao and Kurimoto (2000), Steinbach and Zakrevskij

(2001), Sasao (2000) ve Yang et al. (1999)’da bulunabilir.

2.5.1. Genel Ayrıştırma

Bir fonksiyonun ayrıştırılması o fonksiyonun, daha basit başka fonksiyonların

birleştirilmesi ile ifade edilmesi demektir.

( ) ( )( )32104210 ,,,,,, xxxxFxxxxf Φ= (Files 1995)

Sağ taraftaki F açılımı ayrıştırılmış bir fonksiyon tanımıdır. ( )10 , xxΦ , F’ye göre daha

basit (daha az sayıda değişkenden oluşan) bir alt fonksiyondur. Bu fonksiyonun

davranışı özgün fonksiyon f ile aynıdır.

Tanım : XA⊂ ve XB ⊂ , φφ ≠≠ BA , olsun. BA olarak tanımlanan üleşim2

φ=∩ BA ve XBA =∪ ise mevcuttur.

1 Functional Decomposition 2 Partition

50

Tanım : Bir fonksiyon ( )110 ,,, −nxxxf … eğer ( )( )ABFf ,Φ= şeklinde gösterilebiliyor

ise o zaman Ashenhurst Basit Ayrıştırımı mevcut demektir. Bu ayrıştırma işlemine giriş

değişkenlerini, Bağımlı Küme1 ve Serbest Küme2 olarak üleştirme denir.

( )( )ABFf ,Φ=

Şekil 2.22 Fonksiyonel ayrıştırma

2.5.2. İkili Fonksiyonel Ayrıştırma3

Bir fonksiyonun özelliklerini kaybetmeden giriş değişkenlerinin birbirinden bağımsız

iki ayrı küme altında gruplandırılabilmesi fonksiyon üzerinde gerçekleştirilecek

işlemlerin daha hızlı yapılmasını sağlamaktadır (Sasao and Butler 1997). İkiye

ayrıştırma işlemi sonucunda ulaşılabilecek ayrık ve ayrık olmayan ayrıştırma tipleri

Şekil 2.23.’te gösterilmiştir. Ayrık ikili ayrıştırma hesaplama kolaylığı ve sürati

açısından etkinlik sağlamaktadır. Sasao and Butler (1997) tarafından 136 ölçüm

fonksiyonuna ait 1908 çıkış fonksiyonunun %62’sinin ikili ayrık ayrıştırmaya sahip

olduğu rapor edilmiştir.

Tanım : Eğer bir f fonksiyonu, X1 ve X2 ayrık değişken kümelerinin, herhangi bir ikili

değerli mantık fonksiyonu h ile birleştirilmesi ile tanımlanabiliyorsa bu fonksiyonun

Ayrık İkili Fonksiyonel Ayrıştırması4 var denilir. Eğer f fonksiyonu

1 Bound Set 2 Free Set 3 Bi-decomposition 4 Disjoint Bi-decomposition

F

ΦB

A

Bağımlı Küme

Serbest Küme

51

( ) ( )),(),,(,, 221121 xXgxXghxXXf = olarak tanımlanabiliyor ve x ortak değişken

olarak bu tanımda yer alıyor ise f’nin Ayrık Olmayan İkili Fonksiyonel Ayrıştırması1

var denilir.

Şekil 2.23 Fonksiyonel ayrıştırma tipleri

Bir fonksiyonda ayrıştırılabilirlik özelliğinin tespit edilebilmesi için Ayrıştırma

Çizelgelerine dayalı yöntemler kullanılmaktadır.

Tanım : ( )21, XXX = değişkenlerin bölüştürülmesi olsun. n1 ve n2 , X1 ve X2 ‘nin

içindeki değişken sayısı olsun. f için oluşturulacak Ayrıştırma Çizeneği2 2n1 dikeç3 ve

2n2 satırdan oluşur.

Örnek : ( ) 4321432,1 ,, xxxxxxxxf ⊕= fonksiyonuna ait ayrıştırma çizenekleri Şekil

2.24.’de gösterildiği gibidir.

Şekil 2.24 Ayrıştırma çizenekleri 1 Non-Disjoint Bi-decomposition 2 Decomposition Chart 3 Column

h

g1 X1

g2 X2

Ayrık İkili Fonksiyonel Ayrıştırması

h

g1

X1

g2 X2

x

Ayrık Olmayan İkili Fonksiyonel Ayrıştırması

011 1 11 100 0 10 100 0 01 100 0 00 111001 00

X2=( x3,x4 )

X1=( x1,x2 )

011 0 11110 0 10101 0 01000 0 00111001 00

X2=( x2,x4 )

X1=( x1,x3 )

52

Tanım : Ayrıştırma Çizeneğindeki birbirinden farklı dikeç (veya satır) sayısına Dikeç

(veya Satır) Katlılığı1 adı verilir. Dikeç katlılığı ( )21,: XXfµ , satır katlılığı ise

( )12 ,: XXfµ ile gösterilir.

Örnek: Yukarıda verilen örnekte sağdaki çizeneğin ( )21,: XXfµ katlılığı 2 , soldaki

çizeneğin ise 4’dür.

Teorem : f in Ayrık İkili Fonksiyonel Ayrıştırması ( ) ( ))(),(, 221121 XgXghXXf =

ancak ve ancak ( ) 2,: 21 ≤XXfµ ve ( ) 2,: 12 ≤XXfµ olduğu takdirde mevcuttur.

2.6. Uyumlu ve Uyumsuz Fonksiyonlar

Eğer bir fonksiyon VE-Ayrık İkili Fonksiyon Ayrıştırmasına2 sahip ise, yani

( ) ( ) ( )221121, XhXhXXf = şeklinde yazılabiliyor ise en küçük çarpanların toplamı

fonksiyonunun elde edilmesinde h1 ve h2’nin en küçük formlarının bulunup dağıtım

kuralının3 işletilmesi ile en küçük çarpanların toplamı fonksiyonunun bulunması

problemin karmaşıklığını azaltacağı gösterilmiştir (Sasao and Butler 1997). Bununla

beraber, bu kural bir çok fonksiyon için geçerli olmasına rağmen bazı fonksiyonların

kurala uymayıp, daha az sayıda belirleyiciye sahip fonksiyonlar olarak

küçültülebildikleri gösterilmiştir. Dağıtım kuralına uyan fonksiyonlara Uyumlu

Fonksiyonlar4, bu kuralın dışında davranış gösteren fonksiyonlara ise Uyumsuz

Fonksiyonlar5 adı verilir (Sasao and Butler 2001).

Boolean Mantık üzerinde yapılan araştırma çalışmaları, Uyumlu ve Uyumsuz

Fonksiyonların özellikleri konusunda kısmen de olsa sonuçlar sunmuş, hangi

fonksiyonların uyumlu, hangilerinin ise uyumsuz olduğu konusunda bir fikir vermiştir.

Şekil 2.25.’de verilen grafikte Boolean Mantık Fonksiyonları için Uyumlu ve Uyumsuz

Fonksiyonlar belirtilmiştir.

1 Multiplicity 2 AND Bi-decomposition 3 Law of Distributivity 4 Orthodox Functions 5Non-Orthodox Functions

53

Şekil 2.25 Uyumlu ve Uyumsuz fonksiyonlar

Örnek : 4 değişkenli Boolean Uyumsuz Fonksiyon

)()(),,,( 41423213213214321 xxxxxxxxxxxxxxxxxf ++++=

Şekil 2.26. 4 değişkenli uyumsuz fonksiyon

( ) ( ) ( )gMSOPfMSOPgfMSOP ::: τττ =∧

Uyumlu fonksiyonlar

Tüm Simetrik Fonksiyonlar Evrişimsiz (unate) Fonksiyonlar Bir Çok Denektaşı (benchmark) Fonksiyonları Üç ve daha az sayıda değişkeni olan fonksiyonlar Bazı rasgele (random) fonksiyonlar

Kalan Fonksiyonlar

Tüm Fonksiyonlar

1

1

1

1

1 1

1

1

1

1

00 01 11 10

00 01 11 10

x y

z w

54

),,,(),,,()()( 432143212 yyyyfxxxxfYfXff ==

321321321321321321321321

321321321321321321321321321321),(

yyyxxxyyyxxxyyyxxxyyyxxx

yyyxxxyyyxxxyyyxxxyyyxxxyyyxxxYXA

∨∨∨∨

∨∨∨∨=

321413214132141321423214232142

413214232141321423214132142321),(

yyyxxyyyxxyyyxxyyyxxyyyxxyyyxx

yyxxxyyxxxyyxxxyyxxxyyxxxyyxxxYXB

∨∨∨∨∨∨

∨∨∨∨∨=

4141424141424242),( yyxxyyxxyyxxyyxxYXC ∨∨∨=

Dağıtım kuralına göre 25 Asal Belirleyici üretilmesi gerekirken 24 Asal Belirleyici ile

en küçük fonksiyon gösterimini sağlanabilmektedir.

Sasao and Butler (2001) tarafından Boolean fonksiyonların VE mantık kapısı

kullanılarak gerçekleştirilen ikili ayrık ayrıştırma sonucunda ortaya çıkan uyumsuz

fonksiyonların tespiti için En Büyük Bağımsız Küçükterim Kümesi1 ile En Küçük

Çarpanların Toplamını oluşturan Asal Belirleyici sayısı arasındaki eşitliğin bulunması

tezi ortaya konulmuştur. Buna göre Boolean Uyumlu fonksiyonların belirlenmesinde

“En Büyük Bağımsız Küçükterim Kümesi- EBBKK”nin “eleman sayısı- η” ile “En

Küçük Çarpanların Toplamı-EKÇT”nı oluşturan “asal belirleyici sayısı-τ”nın eşitliği

esas alınmaktadır.

τ (EKÇT : f) ≠ η (f) ise fonksiyon uyumsuzdur.

Tanım : En Büyük Bağımsız Küçükterim Kümesi (EBBKK)

)( fM , f fonksiyonu için küçükterim kümesi olsun. Eğer f fonksiyonunun asal

belirleyicilerinden hiçbirisi )( fMI içindeki küçükterimlerden birden fazlasını

içermiyorsa )()( fMfMI ⊆ , f fonksiyonun bağımsız küçükterim kümesi’dir. ( )fη ,

)( fMI içerisindeki eleman sayısıdır; ( ) )( fMIf =η .

Örneğin f fonksiyonu, xyyxzyxf +=),,( , Şekil 2.26.’de gösterildiği gibi olsun. Bu

fonksiyonun 4 adet enbüyük bağımsız küçükterim kümesi mevcuttur; { }110,000 ,

1 Maximal Independent Set of Minterms

55

{ }111,001 , { }111,000 ve { }110,001 . Şekil 2.27.’de gösterilen ve yıldızla belirtilen

küçükterimler ilk iki kümeyi göstermektedir. ( ) 2=fη dir.

1 1

1 1

00 01 11 10

0

1

z

x y

1 1

1 1

z

x y

00 01 11 10

0

1

Şekil 2.27. Enbüyük Bağımsız Küçükterim Kümesi

56

3. GELİŞTİRİLEN YÖNTEM

Bu bölümde Çoklu Değerli Mantık Ayrık Hesaplama Metodu teoremini doğrulamak

için tasarlanan deney yöntemi ve bu yöntemin uygulanması için gerekli olan

algoritmalar ve programlar izah edilmektedir.

Yazılı dizin ve internet veritabanlarında yapılan araştırma sonucunda; tez çalışmalarında

kullanılacak düzeyde, ÇDM Karar Çizeneklerini oluşturabilecek ve oluşturulan bu karar

çizeneklerini Enbüyük (ENB) ve Enküçük (ENK) işleçleri kullanarak işlem yapabilecek

bir hazır yazılım paketi bulunamamıştır. Tez çalışmasının ihtiyacı olan küçültme işlemi

için “espresso” yazılım paketi, daha once kullanılmış olması ve bu tip çalışmalarda bir

standart haline gelmesi nedeniyle değerlendirilmeye alınmış ve kullanılmıştır. Espresso

yazılımı haricindeki yazılımlar1 tez çalışması süresince geliştirilmiştir. Gerçekleştirilen

deneyler sonucunda elde edilen veriler klasörler halinde sınıflandırılmış ve çalışmanın

analiz bölümünde bir veri bankası olarak kullanılmıştır.

Geliştirilen yöntemin tanıtılması çerçevesinde öncelikle deneylerde kullanılan yöntem

ana adımlar şeklinde anlatılmıştır. Bu deneylerin gerçekleştirilmesi için kullanılan ana

yazılım paketinin özet olarak tanıtımından sonra deney veri setinin oluşumu ve

boyutları hakkında bilgi verilmiştir. Deney verilerinin oluşturulması konusundaki

detaylı açıklama ve bu programları destekleyen algoritmalar tanıtılmıştır. Çoklu Değerli

Mantık Karar Çizeneklerinin oluşturulması ve bu çizeneklerin üzerinde her türlü işlemin

yapılmasına olanak sağlayan Çok Amaçlı CASE algoritması bu tez kapsamında

geliştirilmiştir. Bahse konu algoritma ve ön görülen kullanım alanları da bu bölümde

anlatılmaktadır.

3.1. Temel Deney Adımları Çoklu Değerli Mantık Ayrık Hesaplama Metodu teoremi ve bu teoreme bağlı olarak

ortaya çıkan uyumlu ve uyumsuz fonksiyonların ortaya konulması maksadıyla

uygulanan temel deney adımları Şekil 3.1.’de grafiksel olarak gösterilmiştir.

1 TruthTablesSingleRun, JMVDD

57

Şekil 3.1. Temel deney adımları

3.2. Veri Üretme Yazılım Programı Tez çalışmasının ilk safhalarında ön analiz için gerekli olan veriler elcil1 metotlarla

üretilmeye başlanmıştır. Önce her bir deney adımının gerçekleştirilebilmesi için kendi

arayüzüne sahip ve sonuçları hemen incelenebilen yazılımlar geliştirilmiştir. Yazılımlar

birbirinden ayrı olarak tasarlanmış, çıktıların ise bir diğerine giriş olarak

kullanılabilmesi sayesinde her bir adım sonunda sonuçların kontrol edilebilmesi ve

hataların anında düzeltilebilmesi sağlanmıştır. İlk gerçekleştirilen program verilen bir

doğruluk tablosunu okuyarak, giriş ve çıkış değişken sayısını ve her bir değişkenin

aldığı azami değeri belirlemektedir. Bu fonksiyona ait arayüz Şekil 3.2.’de sunulmuştur.

Bu program ile üretilen parametreler ise Şekil 3.3.’de arayüzü gösterilen yazılımda

kullanılmaktadır.

1 Manuel

1. Deneyler için kullanılacak fonksiyonların üretilmesi

2. Her bir fonksiyon için ENB ve ENK fonksiyonunun hesaplanması

3. Deney Fonksiyonu, ENB ve ENK Fonksiyonlarının küçültülmesi

4. Oluşan En Küçük Toplamların Çarpanı (EKÇT) asal belirleyicilerinin belirlenmesi

5. Uyumlu ve Uyumsuz Fonksiyonların ortaya konulması

6. Asal Belirleyici Tablosu, Karar Çizeneği, Karnaugh Haritası ve Doğruluk Tablosu kullanılarak analiz yapılması

58

Şekil 3.2. Doğruluk tablosundan parametre üretimi arayüzü

Şekil 3.3. ENB ve ENK fonksiyonlarının yaratılması için tasarlanan yazılım programı Şekil 3.3.’de arayüzü gösterilen program, deney yazılımlarının temelini oluşturan

yazılımdır. Yazılım iki doğruluk tablosunu giriş dosyalarından okumakta, okunan

fonksiyonlara ait parametreleri belirledikten sonra ekranda göstermektedir. “espresso

formatına dönüştür” komutu ile giriş tabloları espresso formatına çevrilerek

59

saklanmaktadır. Daha sonra ENB ve ENK işleçleri butonlarına basılarak dosyalardan

oluşturulan fonksiyonlar ENB veya ENK işlemine tabi tutularak sonuç alttaki bölümde

gösterilmektedir. Oluşturulan yeni dosyalar, yine butona basılarak espresso formatına

çevrilebilir. Bu yazılımın özelliği seçilen dosyaların giriş değer seviyelerinin aynı olmak

zorunda olmamasıdır. Bu yazılım ile elde edilen yetenek Şekil 3.4.’de özetlenmiştir.

AyrAyrışışttıırma Deneylerinde Kullanrma Deneylerinde Kullanıılmak lmak ÜÜzere zere HazHazıırlanan Yazrlanan Yazııllıımm

Doğruluk Tabloları

Espresso Formatında girdi dosyaları

İki doğruluk tablosu için min ve max işlemleri

Espresso Formatında çıktıdosyaları

JMVDD Formatında girişdosyaları

2 girdi dosyası 6 çıktı dosyası

Şekil 3.4. Deneylerde kullanılmak üzere hazırlanan yazılımın giriş ve çıkışları

Deney fonksiyonlarının manüel olarak oluşturulması ile fonksiyonların özelliklerinin

detaylı olarak bilinmesi sağlanmaktadır. Bununla beraber belirgin fonksiyonlar üzerinde

çalışmaların yoğunlaştırılmasının, özellikle uyumsuz fonksiyonlar olarak isimlendirilen

ve teoreme uymayan fonksiyonlar üzerinde çalışmaları sınırlayacağından yeterli

olmayacağı değerlendirilmiştir. Başlangıç çalışmaları esnasında analiz maksadıyla

kullanılmak amacıyla gerekli verilerin elcil yöntemler ile oluşturulmasının uzun zaman

aldığı da görülmüştür.

Az miktarda veri ile yeterli örneklemenin sağlanamaması nedeniyle tez çalışmalarının

başlangıcında her bir fonksiyon için ayrı ayrı veri üretiminde kullanılan Java

programları, bir program ile biraraya getirilmiş ve otomatik veri üretimi imkânı

60

oluşturulmuştur. Bu programın kullanımı sürecinde, sürekli ihtiyaç değerlendirmesi

yapılarak, kullanımı daha kolaylaştırmak ve ortaya çıkan problemlerin çözümüne

yönelik olarak yazılımda geliştirme yapılmıştır. Borland JBuilder X Enterprise Java

geliştirme ortamı kullanılarak yapılan yazılım çalışmalarında DOS ortamında

çalışabilen ve akış şeması Şekil 3.5.’de verilen “TruthTablesSingleRun.exe” programı

geliştirilerek, Windows programlarında ortaya çıkan Windows’un kendi ihtiyaçları için

işlemci gücü ve bellek ayırması sorununun önüne geçilmiştir.

Şekil 3.5. TruthTablesSingleRun programı akış şeması

“TruthTablesSingleRun.exe” yazılımı istenildiği takdirde DOS komut satırına program

tarafından sorulan parametreler girilerek çalıştırılabildiği gibi, bilgisayarın başında

bulunmadan işletimi sağlamak üzere toplu iş1 modunda kullanılmak için parametre

listesi de kabul edebilmektedir. Yazılımın mümkün olduğu kadar asgari ek yük2 ile

kullanılmasını sağlamak için alınan tedbirlere rağmen Windows 2000 işletim sistemi ve

1 Batch 2 Overhead

Girdiler Giriş Değer Seviyesi: Çıkış Değer Seviyesi:

Değişken Sayısı: Test Fonksiyonu Sayısı:

Bekleme Süresi:

Test Fonksiyonu üretimi Fonk

Fonksiyon Sayısı?

Fonk2min=MIN(Fonk,Fonk) Fonk2max=MAX(Fonk,Fonk)

Fonksiyon Sayısı?

Fonk Fonk2min Fonk2max

Espresso -exact Native Mode

PI(Fonk)

Fonk

Süre

Espresso -heur Native Mode

PI(Fonk)

Espresso -exact Native Mode

PI(Fonk2min)

Fonk2min

Süre

Espresso -heur Native Mode

PI(Fonk2min))

Espresso -exact Native Mode

PI(Fonk2max)

Fonk2max

Süre

Espresso -heur Native Mode

PI(Fonk2max)

İstatistik Değerleri Üretimi

61

3.0Ghz, 512 Mb. belleğe sahip deney bilgisayarı zaman zaman kilitlenmiştir. Sistemin 3

giriş ve çıkış değerli, 4 değişkenli bir deney üzerinde çalışırken 3r4vo3rENB ve

3r4vo3rENK fonksiyonlarını yaratma esnasında kullandığı sistem kaynakları kullanım

durumu Şekil 3.6.’da görülmektedir.

Şekil 3.6. 3r4vo3rENB oluşturulmasında sistem kaynak kullanım durumu

Temel deney fonksiyonundan ENB ve ENK işleçleri kullanılarak yeni fonksiyonlar

üretilme sırasında sistem kaynakları açısından, işlemci zamanının %51’i kullanılmış,

bellek için ise yaklaşık 278Mb kullanılmıştır. Ana fonksiyonun üretilmesi 31 milisaniye

ENB ve ENK fonksiyonlarının hesaplanması ise 15 dakika sürmüştür. Program, üretilen

her bir fonksiyonun (Temel Fonksiyon, ENB fonksiyonu, ENK Fonksiyonu) küçültme

işlemini espresso yazılımını kullanarak gerçekleştirirken, işlemci zamanının tamamını

kontrolü altına almıştır. Program tarafından hesaplama ağırlıklı işlem yapılması

nedeniyle bu durumun normal olduğu değerlendirilmiştir. Şekil 3.7. ve 3.8.’de

gösterilen kaynak kullanım durumu ve işlemler listesi, programın kendisinin ve

dışarıdan çağrılan bir program olan espresso’nun %50, %50 olmak üzere tüm işlemci

gücünü kullandığını göstermektedir. Şekil 3.7.’de görülen işlemci kullanım durumunda,

sistemin kendi işlemleri için kullandığı çekirdek işlemler görülmektedir.

62

Şekil 3.7. PI küçültme esnasındaki kaynak kullanım durumu

Şekil 3.8.’de “TruthTablesSingleRun” yazılımının çalıştığı süre içindeki diğer işlemler

görülmektedir. ENK Fonksiyonu için küçültülmüş asal belirleyici kümesi 40 dakika

içerisinde alınmasına rağmen, ENB fonksiyonu için hesaplama 72 saat sürmüştür. ENB

Fonksiyonu için hüristik kullanılarak yapılan hesaplama ile 45 dakika içerisinde sonuç

alınmıştır. Zaman açısından kazanıma karşın, hüristik kullanımı ile yapılan hesaplama

sonucunda ulaşılan kümede tam çözüme nazaran 92 asal belirleyici fazladır. 72 saat

boyunca devamlı olarak tam işlemci gücünde çalışmanın sistemde kilitlenmelere neden

olduğu değerlendirilmektedir. Bir Java yorumlayıcısı aracılığıyla çalışma durumunda

ise sistemin donanımdan oluşan sorunlarına, bir de işletim sistemi açısından ortaya

çıkacak sorunların ilave olacağı düşünülmektedir. Bu nedenle, bir önceki şekil ile

birlikte incelendiğinde DOS üzerinde çalışan çalıştırılabilir “.exe” dosyası

kullanılmasının yararlı olduğu görülmektedir. Yine Şekil 3.8.’de binary executable ana

program ve espresso için kullanılan bellek miktarının küçük olduğu açıkça

görülmektedir.

63

Şekil 3.8. PI küçültme esnasında işlemler ve işlemci kullanım durumları

Veri üretimi süresince sonuçların değerlendirilmek üzere bir istatistik dosyası altında

tutulması ayrı bir öneme sahip olmuştur. Veri üretiminde değişken sayısının artması ile

birlikte küçükterim sayısı ve dolayısıyla dosyaların boyutları da büyümektedir.

Küçükterim sayısına bağlı olarak dosya boyutlarındaki değişim Çizelge 3.1.’de

görülmektedir. Temel fonksiyondaki değişken ve giriş değer sayılarına bağlı olarak

küçükterim sayısında değişiklik olmaktadır. Çıkış değerinin ise fonksiyonun küçükterim

sayısında büyük bir etkisi yoktur. Çizelge 3.1’den de görülebileceği üzere dosyaların

boyutları giriş değerleri ile ilişkilidir. Çıkış değerlerinin ilave etkisi ise ancak 4’lü çıkış

değerine sahip fonksiyonlardan itibaren görülmeye başlamaktadır.

Dosya boyutları ve örnek sayıları dikkate alındığında üretilen veri bankasının

boyutlarının önemli boyutlara ulaştığı dikkati çekmektedir. Tüm üretilen dosyalar

sınıflandırılmış olarak alt klasörler haline getirilmiştir. Her bir alt klasör için deney

sonuçlarını özetleyen bir istatistik dosyası üretilmesine rağmen sistemin çökmesi

nedeniyle çıkan hataların düzeltilmesi için oluşturulan bahse konu veri yapısı faydalı

olmuştur.

64

Tez çalışmaları süresince oluşturulan dosya sayısı 67,370 adet, bu dosyaların büyüklüğü

ise 451 Megabayt’tır.

Çizelge 3.1. Deney fonksiyonları veri boyutları

Değişken Sayısı

Giriş Değer Seviyesi

Çıkış DeğerSeviyesi

Dosya GenelAdı

Örnek Sayısı

Fonk Küçük Terim

Fonk Dosya Boyu

Fonk2ENB Fonk2ENK Küçükterim

Fonk2ENBFonk2ENK

Dosya Boyu

2 2r2vo2r 500 4 1Kb 16 1Kb

3 2r2vo3r 100 4 1Kb 16 1Kb 2 4 2r2vo4r 200 4 1Kb 16 1Kb 2 3r2vo2r 500 9 1Kb 81 2Kb 3 3r2vo3r 500 9 1Kb 81 2Kb 3 4 3r2vo4r 200 9 1Kb 81 3Kb 2 4r2vo2r 200 16 1Kb 256 7Kb 3 4r2vo3r 200 16 1Kb 256 7Kb

2

4 4 4r2vo4r 100 16 1Kb 256 7Kb 2 2r3vo2r 500 8 1Kb 64 2Kb 3 2r3vo3r 100 8 1Kb 64 2Kb 2 4 2r3vo4r 100 8 1Kb 64 3Kb 2 3r3vo2r 500 27 1Kb 729 21Kb 3 3r3vo3r 100 27 1Kb 729 21Kb 3 4 3r3vo4r 100 27 1Kb 729 26Kb 2 4r3vo2r 100 64 2Kb 4096 145Kb 3 4r3vo3r 50 64 2Kb 4096 145Kb

3

4 4 4r3vo4r 50 64 2Kb 4096 155Kb 2 2r4vo2r 500 16 1Kb 256 8Kb

2 3 2r4vo3r 100 16 1Kb 256 10Kb 4

3 3 3r4vo3r 200 81 2Kb 6561 238Kb

3.3. TruthTablesSingleRun Yazılım Programı Programa ait Unified Modeling Language (UML) diyagramları Ek-2’de sunulmuştur.

TruthTablesSingleRun yazılım paketi Şekil 3.5.’de verilen akış şemasında gösterildiği

şekilde kullanıcıdan;

• Üretilen verilerin saklanacağı klasör adı,

• Giriş Değer Sayısı,

• Çıkış Değer Sayısı,

• Değişken sayısı,

• Üretilecek fonksiyon sayısı,

• Hüristik kullanmak için bekleyeceği süre,

65

• Çalışma Modu (Otomatik/Sadece temel fonksiyon/ENB, ENK üretim/Küçültme

işlemi/İstatistik oluşturma),

bilgilerini ya komut giriş satırından, ya da parametre listesi olarak komutun yanından

alır. Program; ilk parametrede belirtilen yerde “giriş değeri/r/değişken sayısı/vo/çıkış

değeri/r/” formatını kullanarak Şekil 3.9.’da gösterildiği şekilde veri dosyalama yapısını

oluşturur. Ana klasör altında temel fonksiyonlar dosya uzantısız olarak, “output”

klasörünün altında sonuçlar ve “stat” klasörünün altında ise istatistik değerler bulunur.

Şekil 3.9. Veri dosyalama yapısı

3.3.1. Temel Fonksiyonların Üretimi

Temel fonksiyonlar dosya adını “giriş değeri/ r/ değişken sayısı/ vo/ çıkış değeri/ r/

fonksiyon sayısı” formatına göre üreterek rasgele olarak çıkış değerlerini atar. Örneğin

3 giriş değerli, 3 değişkenli, 4 çıkış değerli 10 adet fonksiyon için 3r3vo4r0’den

3r3vo4r9’ye kadar 10 adet dosya üretilir.

3r4vo3r 3r4vo3r0…3r4vo3r100

Output .mv

.mvo, .mvh .mvmax, .mvmin

.mvmaxo, .mvmaxh .mvmino, .mvminh

Stat .stats

66

Şekil 3.10. Temel fonksiyon yapısı

Şekil 3.10.’da gösterilen dosya yapısı, “JMVDD” Karar Çizeneği programının dosyadan

okuma sağlaması ve gözle incelendiği takdirde kolay anlaşılması maksadıyla

hazırlanmıştır. “JMVDD” ile hazırlanmış bir Karar Çizeneği Şekil 3.11.’de

gösterilmiştir.

Şekil 3.11. 2r2vo3r0 temel fonksiyonuna ait karar çizeneği

.i 3

.o 1 000 3001 2002 2

.

.

. 212 2220 3221 1222 0.e

Değişken Sayısı Çıkış Sayısı

Dosya Sonu

67

Programın ikinci adımı olan ENB ve ENK işleçleri kullanılarak her bir fonksiyonun

kendisi ile işleme tutulmasından önce, her bir dosya vektör gösterimine göre ve espresso

yazılımı tarafından kullanılabilecek şekilde değiştirilir ve “.mv” dosya uzantısını alır. 4

değişkenli, 3 değerli giriş ve çıkışa sahip bir fonksiyon için üretilen örnek bir dosya

formatı Şekil 3.12.’de gösterilmiştir. Değişkenler ve çıkış arası “|” karakteri ile

ayrılmıştır. Her bir “.mv” dosyasının başında çıkış değişkeni dâhil, kaç değişkenden

oluştuğu, ikili değerli değişken sayısı ki, Çoklu Değerli Mantık temel fonksiyonlarının

hepsinde “0” olarak alınmıştır, belirtilmektedir. İkili değerli olan değişkenler de Çoklu

Değerli Mantık’ta kullanılan gösterim ile gösterilmişlerdir.

Şekil 3.12. 3r4vo3r0.mv dosya iç formatı

3.3.2. ENB ve ENK Dosyalarının Üretilmesi

Her bir “.mv” dosyası Çoklu Değerli Mantık Karar Çizeneğine dönüştürüldükten sonra

ENB ve ENK işleçleri kullanılarak fonksiyonlar kendileri ile işleme tabi tutulur. Bu

işlem sonucunda yine “.mv” yapısında “.mvmax” ve “.mvmin” dosyaları

oluşturulmaktadır. Aynı işlem direkt olarak sadece çıkış değerlerinin karşılaştırılması ile

de gerçekleştirilmesi mümkün olmakla beraber, tez çalışması için hazırlanan yazılımın

ileride ENB ve ENK işleçleri dışında kalan diğer işleçler için de kullanılabileceği

değerlendirilerek daha genel bir algoritma tercih edilmiştir.

.mv 5 0 3 3 3 3 3 100|100|100|100|100 100|100|100|010|100 100|001|100|010|010 100|001|100|001|001

.

.

. 001|001|010|100|010 001|001|010|010|001 001|001|010|001|001 001|001|001|100|010 001|001|001|010|010 001|001|001|001|100 .e

Dosya Başlangıcı

Değişken Sayısı+Çıkış İkili Değerli Giriş Sayısı

Giriş Değişkenleri ve Çıkış Değeri

Dosya Sonu

Değişken Ayırıcıları

Çıkış Sütunu

68

Şekil 3.13. .mvmax ve .mvmin dosyasının üretilmesi

Temel Fonksiyon üzerinde yapılan işlemler program içerisinde Şekil 3.10.’da gösterilen

gösterim ile yapılmasına rağmen, .mvmax ve .mvmin dosyaları espresso yazılımı

tarafından gerçekleştirilecek bir sonraki işlem olan küçültme işleminde kullanılmak

üzere Şekil 3.12.’de gösterilen vektör gösterim yapısına göre saklanmaktadır. Bu

yapının kullanılması, oluşturulan dosya sayısını azaltmakla birlikte, gözle incelenmesini

zorlaştırmaktadır. Bu nedenle tez çalışmasını takip eden çalışmalar kapsamında bir

çeviricinin tasarlanmasının uygun olacağı değerlendirilmiştir. Analiz çalışmalarında

göz ile inceleme gerektiğinde, dosyalar “Word”’e bir tablo şeklinde aktarılıp, değişim el

ile yapılmaktadır. .mvmax ve .mvmin dosyaları küçültülmemiş durumda olduklarından

dosya boyutları büyüktür. Bu dosyaların boyutları hakkındaki bilgi Çizelge 3.1.’de

verilmiştir.

3.3.3. Küçültme İşlemi

Programın bu noktaya kadar oluşturduğu dört dosya’dan üçü (.mv, .mvmax ve .mvmin

dosyaları) espresso yazılımı ile küçültme işlemine tabi tutulmaktadır.

3.3.3.1 Espresso Yazılımı Espresso yazılımı giriş olarak Çoklu Değerli (veya ikili değerli) fonksiyonun iki seviyeli

gösterimini kabul ederek aynı fonksiyonun en küçük eşit gösterimini çıktı olarak verir

(Rudell et al. 1985). Bu tezin ana dayanak yazılımlarından birisi olan “espresso-mv”

3r4vo3r0.mv

ENB

3r4vo3r0.mvmax

ENK

3r4vo3r0.mvmin

3r4vo3r0.mv

69

yazılımının kullanım talimatı http://www-cad.eecs.berkeley.edu/Software/software.html

‘de verilmiştir.

Espresso yazılımı Quine-McCluskey metodu üzerine kurulmuş bir yazılımdır. Espresso

parametre olarak kendisine verilen Programlanabilir Mantık Dizisi (PLA) formatındaki

dosyayı okur ve küçültülmüş sonucu standart çıkış konsoluna (PC için DOS Komut

Satırına) verir.

Quine-McCluskey Metodu ile küçültme işleminde aşağıda belirtilen basamaklar

izlenmektedir (Brayton 2005).

• Asal Belirleyicilerin liste haline getirilmesi,

• Küçükterimlerin liste haline getirilmesi,

• İki liste kullanılarak kısıtlama matrisi oluşturulması,

• En küçük sütun kaplama probleminin çözülmesi.

En küçük sütun kaplama probleminin çözülmesinde kullanılan teknik ise aşağıdaki

adımlarda gösterilmiştir.

• Vazgeçilmez sütunları belirle ve sil,

• Satır üstünlüğünü kontrol et ve baskın satırları sil,

• Sütun üstünlüğünü belirle ve baskın sütunları sil,

• 1,2 ve 3ncü adımları tekrar et.

Gerçekleştirilen bu basamaklar sonucunda, eğer satır ve sütunların tamamı silinmiş ise,

tam çözüm bulunmuş demektir. Aksi takdirde döngüsel1 problem ismi verilen bir

problem ile karşılaşılmış demektir. Bu durumda birden fazla sonuç mevcut demektir.

En uygun çözümü bulmak için iki metot bulunmaktadır. Birincisinde tam ve en küçük

gösterimi veren tam çözümdür. Bu metotta her bir kaplama olasılığının ayrı ayrı

denenmesi ile karşılaştırma yapılarak en küçük kaplamayı sağlayan asal belirleyici 1 Cyclic

70

kümesi seçilecektir. Büyük sayıda değişken ve değerlere sahip fonksiyonlar için bu

şekilde gerçekleştirilen tam çözüm çok uzun zaman alabilmektedir. İkinci metot ise

“dallandır ve sınırlandır”1 metodudur. Bu metot aslında bir hüristik metodudur. Problem

seçilen algoritmalara bağlı olarak daha küçük parçalara “dallara” bölünür ve bu

algoritmadan beklenen en küçük değer belirlenir. Beklenen en küçük değer

bulunduğunda uygun çözüm olarak sunulur. Bu metot ile sonuca kısa sürede ulaşmak

mümkün olurken elde edilen sonuç her zaman tam sonuç’ta ulaşılan seviyede

küçültmeyi sağlamayacaktır.

Quine-McClusky metodunu kullanan Espresso yazılımı, önceki paragrafta anlatılan iki

metodu uygulamak maksadıyla iki kip kullanmaktadır. –Dexact kipi, tam çözümü

sağlayacak şekilde tüm olasılıkları denerken, -Dexact kipinin kullanılmaması “dallandır

ve sınırlandır” metodunu kullanarak daha kısa sürede sonuç alınmasını sağlar. Ülker

(2002), ikili değerli fonksiyonlar için iki metodun arasındaki süre farklılığını Çizelge

3.2.’de rapor etmiştir.

Çizelge 3.2. Espresso -Dexact ve Hüristik Seçeneği Arasındaki Süre Farkı

Değişken Sayısı

–Dexact ile Küçültme (milisaniye)

–Dexact’sız küçültme(milisaniye)

4 62 62 5 68 67 6 74 72 7 73 72 8 2948 80 9 2072 82 10 3397 76 11 3998 178 12 Sonuç Alınamadı

(1 Haftalık Çalışma Süresi Sonunda)732

Ülker (2002), -Dexact kullanımı ile tam sonuca ulaşmak ile hüristik kullanarak sonuca

daha kısa sürede ulaşmak arasındaki farklılığın 8 değişkenden sonra nekadar

büyüdüğünü açıkça göstermiştir.

1 Branch and Bound

71

3.3.4. Espresso Çalışma Süresi Sınırlaması

Espresso –Dexact komutunun çalışma süresinin önceden belirlenememesi nedeniyle

sınırlama konulması ihtiyacı duyulmuş ve programın başına çalışma süresini belirleyen

bir parametre eklenmiştir. Espresso yazılımının .exe (binary executable) şeklinde olması

nedeniyle Java yazılımından “Native” modda çağrılması gerekmektedir. Her iki

espresso komutu Java’da paralel olarak çalıştırılmakta ve -Dexact ile çalışan bir

zamanlayıcı ile girişte belirlenen parametre ile kontrol edilmektedir. Eğer –Dexact

belirtilen zaman içerisinde tamamlanmaz ise zamanlayıcı -Dexact işlemini sona erdirir.

Eğer -Dexact tamamlandıysa hüristik işlem sona erdirilir. Espresso ile gerçekleştirilen

küçültme işlemi akış şeması Şekil 3.14.’de verilmiştir.

Şekil 3.14. Tam çözüm ve hüristik “espresso” algoritma kullanımı akış şeması

72

.mv, .mvmin ve .mvmax dosyalarının espresso kullanılarak küçültülmesi ile Şekil

3.14.’de gösterilen akış şemasına göre .mvo, .mvh, .mvmino, .mvminh, .mvmaxo ve

.mvmaxh dosyaları üretilir. Bu dosyalara ek olarak tam çözümün ne kadar zaman

aldığını gösteren .mvots, .mvmaxots ve .mvminots dosyaları da oluşturulur. Bahse konu

dosyaların yapısı küçükterimlerin gruplandırılması nedeniyle asal belirleyiciler şeklinde

değiştirilmiştir. Dosyaların yapısı içerisinde “.mv” başlığı altında giriş değişken sayısı +

1 “çıkış değişkeni“ olmak üzere toplam değişken sayısı, “.p” başlığı altında ise toplam

asal belirleyici sayısı mevcuttur. Vektör gösterimi yine bu dosya yapısında da devam

ettirilmektedir. Ancak asal belirleyicilerde küçükterimlerin birleşimleri de

görülebilmektedir. Örneğin 3 giriş değerli bir fonksiyonda “001”, 2 değerini, “100” 0

değerini gösterirken, “101” 0 ve 2 değerlerini göstermektedir. 3 giriş değerli bir

fonksiyon için “aldırma” değeri “111” ile gösterilmektedir. Örnek bir .mvo dosyası

Şekil 3.15.’de gösterilmiştir.

Şekil 3.15. .mvo dosya yapısı

3.3.5. Deney Sonuçlarının Üretimi

Üretilen dosyaların sayısı göz önüne alınarak otomatik olarak sonuçların bir araya

toplanmasını sağlayacak bir yazılım tasarlanmasına ihtiyaç duyulmuştur. Şekil 3.15.’de

de görüleceği üzere espresso yazılım paketi ile üretilen dosyalar “.p” başlığından sonra

.mv 5 0 3 3 3 3 3

.p 37 001 100 001 010 100 001 100 100 100 100 001 010 100 010 001 001 100 001 001 001

.

.

. 001 100 110 011 010 100 110 100 110 001 101 001 100 011 100 100 101 011 100 100 110 110 010 010 100 001 010 011 110 100 001 010 101 101 100 010 011 001 111 001 .e

Çıkış Değişkeni Asal Belirleyici Sayısı

“0” Değeri

“1” Değeri

“2” Değeri “0/1” Değeri

“Aldırma”

73

toplam asal belirleyici sayısını vermektedir. Espresso yazılımının binary kipinde

çalıştırılması durumunda bu başlığın yalnızca ON-Set veya OFF-Set’i rapor etmesi

nedeniyle bu durum bir sorun olarak ortaya çıkmamaktadır. Ancak espresso yazılımının

Çoklu Değerli Mantık modunda çalıştırılması durumunda ikili değerli fonksiyonlar için

bile ON-set, OFF-set ayrımı yapılması ihtiyacı görülmüştür. İkili değerliden daha büyük

çıkış değer kümelerine sahip fonksiyonlar için ise asal belirleyicilerin çıkış değerine

göre kümelere ayrılması, yapılacak analizler için önemli bir ihtiyaçtır. Bu nedenle

Çizelge 3.3.’de belirtilen dosyalardan ihtiyaç duyulan parametreler her bir asal

belirleyici satırı incelenerek “stats” klasörünün altındaki “.stat” dosyasına yazılır.

Çizelge 3.3. Deney Sonuçları Üretimi

Dosya Adı Üretilen Bilgi .mvo .mvh (.mvo “0Kb” ise)

.mv Toplam Asal Belirleyici Sayısı Çıkış Değerlerine göre Sınıflandırılmış Asla Belirleyici sayıları

.mvots .mvo küçültme süresi

.mvmino

.mvminh (.mvmino “0Kb” ise) .mvmin Toplam Asal Belirleyici Sayısı Çıkış Değerlerine göre Sınıflandırılmış Asla Belirleyici sayıları

.mvminots .mvmino küçültme süresi

.mvmaxo

.mvmaxh (.mvmaxo “0Kb” ise) .mvmax Toplam Asal Belirleyici Sayısı Çıkış Değerlerine göre Sınıflandırılmış Asla Belirleyici sayıları

.mvmaxots .mvmaxo küçültme süresi Çizelge 3.3.’de gösterilen dosyalardan üretilen veriler daha sonra Microsoft Excel ile

analizi yapılmak üzere bir yazı dosyasına aktarılır. Her bir deney için üretilen tüm

fonksiyonlara ait verileri saklayan dosya yapısı Şekil 3.16’de verilmiştir.

Şekil 3.16. Deney Sonuçları Dosya Yapısı

3r4vo3r0 | 39 12 15 12 | 449 24 281 144 | 457 144 289 24 | | 00:00:00.530| 00:03:00.199| 00:02:59.367 3r4vo3r1 | 38 11 13 14 | 439 22 221 196 | 438 141 269 28 | | 00:00:00.260| 00:01:16.600| 00:02:59.748 3r4vo3r2 | 39 15 12 12 | 449 32 272 145 | 528 247 257 24 | | 00:00:00.310| 00:01:15.638| 00:01:41.385 3r4vo3r3 | 37 12 11 14 | 423 24 203 196 | 417 144 245 28 | | 00:00:00.280| 00:00:09.633| 00:00:03.925 3r4vo3r4 | 40 14 13 13 | 480 28 283 169 | 553 196 331 26 | | 00:00:00.310| 00:01:15.658| 00:01:23.830 3r4vo3r5 | 40 14 13 13 | 480 28 283 169 | 553 196 331 26 | | 00:00:00.801| 00:00:08.932| 00:00:02.413 3r4vo3r6 | 38 11 14 13 | 451 22 260 169 | 432 121 285 26 | | 00:00:00.660| 00:00:05.798| 00:00:05.087 3r4vo3r7 | 38 11 14 13 | 451 22 260 169 | 432 121 285 26 | | 00:00:00.791| 00:00:05.708| 00:00:05.157 3r4vo3r8 | 36 11 13 12 | 357 22 191 144 | 398 121 253 24 | | 00:00:00.781| 00:00:06.549| 00:00:47.207 3r4vo3r9 | 36 11 13 12 | 357 22 191 144 | 398 121 253 24 | | 00:00:00.921| 00:00:04.506| 00:01:05.303

.

.

.

3r4vo3r0 | 39 12 15 12 | 449 24 281 144 | 457 144 289 24 | | 00:00:00.530| 00:03:00.199| 00:02:59.367 3r4vo3r1 | 38 11 13 14 | 439 22 221 196 | 438 141 269 28 | | 00:00:00.260| 00:01:16.600| 00:02:59.748 3r4vo3r2 | 39 15 12 12 | 449 32 272 145 | 528 247 257 24 | | 00:00:00.310| 00:01:15.638| 00:01:41.385 3r4vo3r3 | 37 12 11 14 | 423 24 203 196 | 417 144 245 28 | | 00:00:00.280| 00:00:09.633| 00:00:03.925 3r4vo3r4 | 40 14 13 13 | 480 28 283 169 | 553 196 331 26 | | 00:00:00.310| 00:01:15.658| 00:01:23.830 3r4vo3r5 | 40 14 13 13 | 480 28 283 169 | 553 196 331 26 | | 00:00:00.801| 00:00:08.932| 00:00:02.413 3r4vo3r6 | 38 11 14 13 | 451 22 260 169 | 432 121 285 26 | | 00:00:00.660| 00:00:05.798| 00:00:05.087 3r4vo3r7 | 38 11 14 13 | 451 22 260 169 | 432 121 285 26 | | 00:00:00.791| 00:00:05.708| 00:00:05.157 3r4vo3r8 | 36 11 13 12 | 357 22 191 144 | 398 121 253 24 | | 00:00:00.781| 00:00:06.549| 00:00:47.207 3r4vo3r9 | 36 11 13 12 | 357 22 191 144 | 398 121 253 24 | | 00:00:00.921| 00:00:04.506| 00:01:05.303

.

.

.

.mvo Toplam AB

.mvo 0/1/2 değer AB Sayıları

1 0 2

.mvmin

.mvmax

.mvo zaman

.mvmino zaman

.mvmaxo zaman

74

3.4. Çok Amaçlı CASE Algoritması ve JMVDD Yazılımı Bu başlık altında; değişik mantık gösterim metotlarından en günceli olan karar

çizeneklerinin yaratılması konusunda gerçekleştirilen yazılım ve bu yazılımın

altyapısını oluşturan Çok Amaçlı CASE Algoritması tanıtılacaktır. Boolean mantık

uygulamalarında Karnaugh haritalarının çizilerek analiz ve küçültme işlemlerinin

gerçekleştirilmesinin özellikle 5 giriş değişkeninden sonra zorlaşması, 7 değişkenden

sonra ise imkânsız hale gelmesi nedeniyle mantık fonksiyonlarının gösteriminde en son

gelişme olan karar çizeneklerinin kullanılması tez başlangıcında amaçlanmıştır. İkili

Karar Çizenekleri mantık analizi sahasında kullanıldığı gibi, Yapay Öğrenim (Machine

Learning) ve Veri Madenciliği (Data Mining) sahalarında da kullanılmaktadır. İkili

Karar Çizeneklerinin, Çoklu Değerli Karar Çizeneklerine genişletilmesi için

geliştirilmesi gerekli kavramlar Schmiedle et al. (2001) ve Miller and Drechsler (2002)

tarafından rapor edilmiştir. Tez kapsamında gerçekleştirilmesi planlanan algoritmaların

geliştirilmesi ve denenmesi maksadıyla kullanılabilecek bir yazılım arayışı kapsamında

mantık analizi amaçlı ikili karar çizeneklerini kullanan iki yazılımın kaynak kodlarına

ulaşılabilmiştir. Bu yazılımlardan BuDDy (Lind-Nielsen 1996), C++ programlama

diliyle yazılmış olup, özellikle grafik çıktı verme yeteneğinin kısıtlı olması ve bilgisayar

platformuna (LINUX) bağımlı olması nedeni ile kullanılmasının zor olacağı

değerlendirilmiştir. BuDDy yazılımının bir uzantısı olarak geliştirilmiş Çoklu Değerli

Mantık sürümü MuDDy (Larsen and Lichtenberg 2001) mevcuttur. Ancak bu yazılım

sadece, BuDDy yazılımına çoklu değerli fonksiyonları tanıtarak subroutine çağrılarını

yapabilmesini sağlayan bir arayüzden oluşmaktadır. Diğer bir yazılım olan (Römmler

2002) ise Java yazılım dilini kullanan ve nesne tabanlı bir yazılımdır. JADE 1.5.2’nin

kaynak kodları da dâhil olmak üzere tüm unsurları internette bulunabilmesine rağmen

Çarpanların Toplamına dayanan bilgi giriş formatı otomatik olarak fonksiyon analizinin

yapılmasına müsaade etmemektedir. JADE yazılımının bir diğer dezavantajı da sadece

ikili değerler ile çalışabilmesidir. JADE yazılımının arayüzü Şekil 3.17.’de görüldüğü

gibidir. JADE 1.5.2’nin yazılım kaynak kodları üzerinde yapılan çalışma sonucu aynı

yazılım yapısının Çoklu Değerli Mantık Karar Çizenekleri için gerçekleştirilecek

yazılımda da kullanılmasının uygun olacağı değerlendirilmiştir. JADE yazılımının

kullanımı hakkındaki özet bilgi 3.3.1 paragrafında verilmiştir.

75

Şekil 3.17 JADE yazılımı arayüzü

3.4.1. JADE Yazılımı

JADE (JAVA DEcision diagram package) 1.5.2 yazılımı ikili karar çizeneklerinin

oluşturulması ve küçültülmesi işleminde karar çizeneklerinin yapıları konusunda görsel

olarak alışkanlık kazandırmak amacıyla hazırlanmıştır. Formül giriş satırı kullanılarak

arzu edilen bütün ikili değerli mantık fonksiyonları yazılıma girilebilmekte ve ikili kara

çizeneği gösterimleri elde edilebilmektedir. Değişken sıralamasının karar çizeneklerinde

önemli bir yer tuttuğu ve sonuç üzerinde büyük etkisi olduğu dikkate alınarak grafik

üzerinde değişkenlerin sıralaması değiştirilebilmekte ve bu değişken sırasına göre

oluşan yeni karar çizeneği görülebilmektedir.

JADE yazılımı Bryant (1986) tarafından ortaya konulan Küçültülmüş Sıralı İkili Karar

Çizeneği kavramını kullanmaktadır. Bu kavram daha sonra Brace et al. (1991)

tarafından öngörülen if-then-else (ITE) işlecine dönüştürülmüştür. JADE yazılımı ile

ITE işleci JAVA işletim sistemi ile çalışan, fonksiyon girişinin çok özel formatlar

gerektirmediği, dinamik olarak değişken sırasını değiştirebilen, istendiğinde her bir

işlem adımının izlenebildiği görsel bir araç geliştirilmiştir. JAVA programlama dilinin

kullanılması ile platform bağımsızlığı sağlanmış, C++ programlama dilinde bir sorun

olarak ortaya çıkan “pointer” ve “garbage collection” problemlerinden kaçınılmıştır.

Bununla beraber JAVA için bir engel olarak görülen fazla bellek kullanımı ve C++ ile

yazılan yazılımlara oranla daha düşük sürate sahip olması dezavantaj olarak

76

görülmektedir. JADE yazılımına ait kaynak kodu ve gerçekleştirilen işlem adımları

üzerinde yapılan analiz çalışmaları Çoklu Değerli Mantık Karar Çizeneklerini yaratmak

için yapılan çalışmalarda faydalı olmuştur. JADE yazılımının en önemli özelliklerinden

birisi değişken sırasının önceden belirlenebilmesi kadar Rudell (1993) tarafından ortaya

atılan Dinamik Değişken Sıralaması Algoritmasını uygulayabilmesidir. Şekil 3.18.’de

“X1 XOR X2 AND X3 XOR X4 AND X5 NAND X6” fonksiyonuna ait sabit değişken

sıralı küçültme görülmektedir.

Şekil 3.18. Değişken sıralaması öncesi karar çizeneği Şekil 3.18.’de gösterilen Karar Çizeneği, dinamik değişken sıralama algoritmasının

kullanılması ile düğüm sayısının azaltılabileceği Şekil 19.’da gösterilmiştir.

Şekil 3.19. Dinamik değişken sıralaması algoritması kullanımı

77

3.4.2. Çok Amaçlı CASE Algoritması

Mantık fonksiyonlarının karar çizenekleri kullanılarak gösterimi, 2nci bölümde de

bahsedildiği gibi mantık fonksiyonlarının gösterimi sahasında yazılı dizinde en fazla

üzerinde araştırma yapılan konudur. Bunun dışında kalan gösterim metotları nispeten

eski teknolojiler olarak görülmekte ve genellikle eğitim amacıyla kullanılmaktadır.

Binary karar çizenekleri, uzun yıllardır sürdürülen araştırmalar ve endüstrideki geniş

kullanım nedeniyle büyük bir bölümü kendini ispatlamış geniş algoritma seçeneklerine

sahiptir. Nispeten daha yeni bir saha olan çoklu değerli mantık karar çizenekleri ise

henüz akademik araştırma seviyesindedir. Bu gerçekten hareketle, özellikle endüstriye

yönelik çalışmalarda binary karar çizeneklerinin ispatlanmış özelliklerini kullanmak

maksadıyla genellikle çoklu değerli mantık’tan binary mantık’a bir tür dönüşüm

yapılması dikkati çekmektedir. Bu dönüşümlere bir örnek Srinivasan et al. (1990)

tarafından önerilen Çoklu Değerli Mantık Karar Çizeneklerini Binary Karar

Çizeneklerine eşlemektir1. Bir diğer metot ise Mishchenko et al. (2000) tarafından

önerilen Binary-kodlanmış Çoklu Değerli Mantık Karar Çizenekleridir. Ayrıca 1-hot

kodlama ve logaritmik kodlama kullanan Binary Mantık Karar Çizeneği-Çoklu Değerli

Mantık Karar Çizeneği dönüşümü konusundaki gelişmiş çalışmalara (Kam et al. 1998)

ulaşmak mümkündür. Tüm aşamaları çoklu değerli mantık kullanarak yapılan

çalışmaların ise oldukça sınırlı olduğu görülmektedir. Yazılı dizinde CASE algoritması

ile ilgili yapılan araştırma sonucu Miller and Drechsler (2002)’in CASE algoritmasını

tanıtarak, kullanma yerlerini belirttikleri bulunmuştur. Ancak, makalelerinde CASE

algoritmasını kullanan bir yazılımın uygulamasını tanıtmak yerine, sadece “Enküçük”

ve “Enbüyük” işleçlerinin uygulamasını sağlayan özel bir algoritma ile hazırlanmış bir

algoritmayı tanıtmışlardır.

Bu tez çalışmasında asıl amacın endüstri’ye yönelik olmaktan öte, akademik bir

araştırma olması ve ayrık ayrıştırma ile sağlanan faydaların çoklu değerli mantık için

kullanımda da geçerli olup olmadığının araştırılmasıdır. Bu kapsamda çoklu değerli

mantık karar çizeneklerinin kullanımı ile karar çizeneklerinin oluşturulması ve bu karar

çizenekleri üzerinde işlemler yapılabilmesi amaçlanmıştır.

Çoklu değerli mantık fonksiyonları için çok amaçlı algoritma hazırlama fikri, binary

mantık gösteriminde kullanılan ve EXOR işlecini kullanan Reed-Muller

1 Mapping

78

Denklemlerinden (Sasao and Debnath 1996) gelmektedir. Üzerinde geniş çalışmalar

yapılmış bulunan ENB ve ENK işleçleri sadece Çarpanların Toplamı denklemlerini

desteklemektedir. Dışlayan VEYA1 Çarpanların Toplamı ve Çoklu Değerli Galois

Çarpanların Toplamı denklemlerinin (Shmerko et al. 1997) farklı işleçler gerektirdiği

bilinmektedir. Çeşitli çoklu değerli mantık işleçlerinden oluşan bir kütüphanenin ihtiyaç

olduğu Steinbach et al. (1999) tarafından ortaya konulmuştur. Böyle bir kütüphanenin

hiyerarşik kural-tabanlı uzman sistemler üzerinde çalışan bilgi mühendisleri için de

ilişkisel, çoklu değerli mantık, aritmetik ve dil tabanlı işleçler kullanımı maksadıyla bir

ihtiyaç olduğu görülmektedir. Geniş kullanım işlevselliğini sağlamak üzere tipik bir

CASE işlecine benzeyen ancak işlevini, kolayca tasarlanabilen bir fonksiyon doğruluk

tablosundan sağlayan algoritma geliştirilmiştir. Fonksiyon doğruluk tablolarına örnek

olmak üzere üçlü değerli değişik fonksiyonlara ait doğruluk tabloları Şekil 3.20.’de

verilmiştir.

210211010000

210X1

ENKÜÇÜK

X2

222221112100

210X1

ENBÜYÜK

X2

102202112100

210X1

ÖLÇKE TOPLAM

X2

120221010000

210X1

GALOIS ÇARPIM

X2

222222112100

210X1

YUVARLATILMIŞTOPLAM

X2

211211011000

210X1

ORTALAMA DÜŞÜK

X2

Şekil 3.20. Örnek fonksiyon doğruluk tabloları Çok amaçlı CASE algoritması ikinci bölümde teorik temeli açıklanan Çoklu Değerli

Shanon Eşçarpanı ve CASE işlecine uygun olarak oluşturulmuştur. Eşçarpanların

1 Exclusive OR

79

kullanılması ile ikinci bölümde verilen CASE algoritmasına nazaran daha detaylı bir

algoritma yaratılmıştır.

Algoritmanın temel basamağı düğüm1 adı verilen yapıdır. Bu yapıda her bir düğüm için

ait olduğu değişken ve bu düğüme bağlı diğer düğümlerin bilgileri bulundurulmaktadır.

Şekil 3.21.’de sözde-kodu2 verilen düğüm yapısı aslında bir özyineli3 yapıdır. Giriş

değişkenleri incelendiğinde ikinci giriş değişkeninin yine düğüm yapısındaki bir

değişken olduğu görülmektedir.

Şekil 3.21. Düğüm yapısı Şekil 3.22.’de gösterildiği gibi eğer bir düğüm noktasının değişkene bağlantısı ve alt

düğüm noktaları yoksa bu düğüm sonlu düğüm olarak adlandırılır ve fonksiyonun

değerlerini tanımlamakta kullanılır.

Şekil 3.22. Sonlu düğüm Fonksiyon değer seviyesi4 2 olduğunda, düğüm yapısı iki kenarlı5 bir binary düğüm

haline gelmektedir. Sonlu düğümün kenarları “boş6” olarak tanımlanmıştır. Kenar ve

düğümler için örnek Şekil 3.23.’te gösterildiği gibidir.

1 Node 2 Pseudo Code 3 Recursive 4 Radix 5 Edge 6 null

radix = 3

null nullnull

0

node (variable index vi, node g[radix]) { G[i] =g[radix]; v = vi; }

80

Şekil 3.23. İkili ve üçlü değerler için örnek kenar ve sonlu düğümler Yazılı dizinde rapor edilen CASE işlecini uygulamaya çeviren algoritmaların

yetersizliği nedeniyle, doktora çalışması kapsamında geliştirilen detaylı CASE

algoritması Şekil 3.24.’de sunulmuştur. Detaylı CASE Algoritması yapısal olarak teorik

tanımları bire bir izlemektedir. Bu sayede genelleşmenin gerçekleştirilmesi sağlanmıştır.

Yazılı dizinde rapor edilmiş diğer CASE işleç yapıları ise, sadece “Enküçük” ve

“Enbüyük” işleçleri için geliştirildiklerinden farklı yapılara sahiptirler. Tez çalışmasında

bu noktadan sonra CASE algoritması ifadesi Detaylı CASE algoritması anlamında

kullanılmıştır.

Şekil 3.24. Detaylı CASE algoritması

CASE (F, G0, G1, ..., Gi-1) { if (F = terminal node) { if F exists in the unique table return = unique table entry; else { add to unique table; return G[i]; } if (F = G) { if F exists in the unique table return = unique table entry; else { add to unique table; return F; } v ← the smallest variable of { F, G0, G1, ..., Gi-1 } for i = 0 to (radix-1) { fv[i]=cofactor (radix, v, F) } for j = 0 to (radix-1) { for i = 0 to (radix-1) { gv[i][j] = cofactor (radix, v, G[j]),

} } for i = 0 to radix { C[i] = CASE (fv[i], gv[i]); } if (Shannon Reduction possible) { *\All nodes of C[i] is the same with another*\ return c[0]; } resultnode = new node (v, C);

if resultnode exists in the unique table return = unique table entry; else { add to unique table; return resultnode; } }

81

Şekil 3.24.’de gösterilen CASE işleci algoritması girişlerinden bir tanesi F düğüm

yapısı, diğeri ise G düğüm dizisidir. Bu iki giriş kullanılarak düğüm işlemleri iki giriş

düğümü üzerinde gerçekleştirilebilir, sonuç yine bir düğüm olacaktır.

CASE işleci iki giriş değerini alarak önce basit1 durumları inceler. Eğer ilk düğüm,

tanım kümesi {0, 1, 2,…, Değer Seviyesi-1} içerisinde yer alan sonlu düğüme eşit ise,

otomatik olarak uygun sonucu seçer. Bu durumda çıkış ikinci düğüm dizindeki

düğümlerden birinci girişe karşılık gelen düğümdür. Eğer ikinci giriş olan düğüm dizisi

sadece sıralı bir değer seviyesi kümesi {0, 1, 2,…, Değer Seviyesi-1} den oluşuyor ise,

o zaman hesaplamaya ihtiyaç olmadan CASE işlecinin sonucu ilk girişteki düğüme

eşittir.

Girişler bu durumlardan hiç birine uymuyorsa, iki girişten küçük (değişken

sıralamasının küçükten büyüğe doğru yapıldığı durumda) değişkene sahip olan

belirlenir. Bu değişken düğüm yapısının en üst değişkeni v olur. Daha sonra F ve G’nin

v değişkenine göre eşçarpanları hesaplanır. v değişkeninden çıkan her bir kenar için

CASE işleci döngüsel olarak kullanılarak, eşçarpanlar hesaplanır ve yeni düğüm yapısı

oluşturulur. Sonuç, v değişkenine bağlı kenarlar üzerinde yapılan eşçarpan

hesaplamasının sonucunda yaratılan düğümlerden oluşan yapıda yeni bir düğümdür.

Her bir basamak için benzersiz2 tablosu oluşturularak, o düğümün daha önce yaratılıp

yaratılmadığı kontrol edilir. Düğüm daha önce oluşturuldu ise, kenar bağlantısı eski

düğüme yapılır, oluşturulmadı ise yeni bir bağlantı noktası oluşturularak benzersiz

tablosuna eklenir ve kenar bağlantısı yapılır. Bu yol ile Çoklu Değerli Mantık Karar

Çizeneğinin boyutları kontrol altına alınabilmekte ve aşırı bellek kullanımının önüne

geçilebilmektedir. Bir diğer adım ise Shannon Azaltılması3dır. Eğer bir değişkenin tüm

kenarları aynı yapıya sahip ise bu değişken atlanarak direkt olarak bir üst seviyeye

bağlanır. CASE işlecinin sonucu yeni düğümdür.

Çok amaçlı CASE Algoritması, CASE algoritmasını kullanarak işlemlerini

gerçekleştirir. Çok amaçlı CASE Algoritmasının girişleri, üzerinde işlem yapılacak iki

adet düğüm yapısıdır. Bu algoritmada; ikinci giriş, birinci giriş olarak CASE

1 trivial 2 unique 3 Shannon Reduction

82

algoritmasına verilirken, fonksiyon doğruluk tablosu ikinci giriş olan düğüm dizisi

olarak algoritmaya verilir. Elde edilen düğüm dizini yapısındaki çıktı, yeniden CASE

algoritmasına ikinci giriş olarak verilir. Çok amaçlı CASE algoritmasına verilen birinci

giriş ise, birinci giriş olarak verilir. Sonuç, yeni bir düğümdür. Çok amaçlı CASE

algoritması Şekil 3.25.’de gösterilmiştir.

Şekil 3.25. Çok Amaçlı CASE algoritması Çok amaçlı CASE Algoritmasının çalışmasını gösteren 3 değerli iki fonksiyonun ENB

işleci ile işleme tabi tutulması gösteren bir örnek basamaklar halinde Şekil 3.26.-3.29’da

gösterilmiştir.

Fonksiyon a :2

102

002

122

02 12 xxxx ∨ Fonksiyon b :

12

221

212

121

222

111

1 211 xxxxxx ∨∨

R = a ENB b

a ve b a ve b ÇÇDM FonksiyonlarDM FonksiyonlarıınnıınnMAX ile MAX ile İşİşlenmesilenmesi

X0

2

X1

MAX (a, b)

X1

X2X2

210110

0

20

12 0

12

1

011

1 21

1

0 2

0

1

a b

Şekil 3.26. İki fonksiyonun ENB ile işleme tutulması birinci adım

MVDD_Operator ( node a, node b) { Let g [radix] be a node array; Let operator_array[radix] be a node array; Load operator_array from function table; for i = 0 to i < radix {

for j = 0 to j < radix { g[i] = CASE (b, operator_array[i][j]); }

} result = CASE (a,g); return result;

}

83

a ve b a ve b ÇÇDM FonksiyonlarDM FonksiyonlarıınnıınnMAX ile MAX ile İşİşlenmesilenmesi

222221112100

210X1

MAX

X2

X1

X2X2

210110

0

20

12 0

12

1

0

b

Operate on bCASE (b, MAX [])

Şekil 3.27. İki fonksiyonun ENB ile işleme tutulması ikinci adım

a ve b a ve b ÇÇDM FonksiyonlarDM FonksiyonlarıınnıınnMAX ile MAX ile İşİşlenmesilenmesi

X1

X2X2

210110

0

20

10”

1”2”

1

0

X1

X21 1

1

2

1

1

0 2”

0

1”

2

b0 b1 b2

X1

X2X2

210110

0

20

10

12

1

0

X1

X21 1

1

2

1

1

0

0

1

2

b0 b1 b2

Şekil 3.28. İki fonksiyonun ENB ile işleme tutulması üçüncü adım

a ve b a ve b ÇÇDM FonksiyonlarDM FonksiyonlarıınnıınnMAX ile MAX ile İşİşlenmesilenmesi

X1

2

X21

1

1 21

1

0 2

0

1

R = a V b

CASE (a, b[])

Şekil 3.29. İki fonksiyonun ENB ile işleme tutulması dördüncü adım

84

Daha önce de belirtildiği gibi Miller and Dreschler [10], ENB işlecinin direk

uygulamasını sağlayan bir algoritma geliştirdiklerini rapor etmiş, bu algoritmanın

kullanılması sayesinde ihtiyaç duyulan parametre sayısının iki’ye düşürülmesi ile CASE

algoritmasının ihtiyaç duyduğu “Değer Seviyesi+1” parametre sayısına nazaran işlem

karmaşıklığının azaltılabileceğini öne sürmüştür. Bu hipotezin sadece ENB ve ENK

işleçleri için işlem karmaşıklığı incelendiğinde doğru olduğu görülmektedir. Post

cebirinde her bir işleç yalnızca ENB ve ENK kullanılarak yaratılabilir. Dolayısıyla ilk

bakışta sadece ve ENB ve ENK işleçlerinin yaratılması yeterli olarak görülebilmektedir.

Ancak, bu iki işleç dışında kalan işleçler kullanılmak istendiğinde, bu işleçlerin

yaratılması için gerekli işlem karmaşıklığı göz ardı edilemez boyutlardadır. Çoklu

Değerli Mantık uygulamalarında kullanılan bazı işleçlerin yaratılması için gerekli ENB

ve ENK işleç sayısı Çizelge 3.4’de verilmiştir.

Çizelge 3.4. Yeni fonksiyon yaratmak için gerekli ENB ve ENK işleç sayıları

Fonksiyon Değer Seviyesi Gerekli ENB İşleç sayısı

Gerekli ENK İşleç sayısı

3 5 10 Mesafe 4 9 18 3 5 12 Yüksek Ortalama 4 13 28 3 5 12 Düşük Ortalama 4 9 20 3 5 12 Ölçke Çarpım Mod 3 4 9 20 3 5 10 Ölçke Toplam Mod 3 4 8 16 3 8 18 Yuvarlanmış Çarpım 4 15 32 3 4 8 Yuvarlanmış Toplam 4 7 14

Çizelge 3.4.’de görülebileceği üzere ENB ve ENK işleçlerinin parametre sayılarının

azaltılmasından sağlanan işlem karmaşıklığı azalması gerekli işleç sayısının artması ile

kaybolmaktadır. Tez çalışması kapsamında gerçekleştirilen Çok amaçlı CASE

algoritması fonksiyon doğruluk tablolarını kullanması nedeniyle ihtiyaç duyduğu

işlemci gücü ve yarattığı işlem karmaşıklığı değişmemektedir. Çok amaçlı CASE

algoritmasının kullanılmasında ENB ve ENK işleci dışında kalan işleçlere bir örnek

olmak üzere Şekil 4.30. ve 4.31.’de Ölçke Toplam (Mod 3) işlecinin iki fonksiyona ait

ÇDM Karar Çizenekleri üzerinde uygulaması gösterilmiştir.

85

1

2

0 1 2

11 2 0 1 2

11 2 0 1 2

Şekil 3.30 Çok amaçlı CASE algoritması Ölçke Toplam (3) ilk adım

Şekil 3.31 Çok amaçlı CASE algoritması Ölçke Toplam (3) ikinci adım

b0

0

X1

X2 X2

0 1 1 0 1 2

0 1 2

0 1 2 0 1 2

b1 b2

1

X1

X2 X2

1 2 2 1 2 0

0 1 2

0 1 2 0 1 2

1

X1

X2 X2

1 2 2 1 2 0

0 1 2

0 1 2 0 1 2

R= CASE ( a, b0, b1, b2)

X0

1

X1

X2 X2

1 2 2 1 2 0

0

1 2

0 1 2 0 1 2

X1

X2

2 0 1

0

1 2

0 1 2

0/1 2

86

Ölçke Toplam (3) işlemi eğer sadece ENB ve ENK işleçleri kullanılarak

gerçekleştirildiği takdirde 5 ENB ve 10 ENK işleminin yapılması gereklidir. Sadece

ENB ve ENK işleçleri kullanılarak yaratılan Ölçke Toplam (3) işleci aşağıda

gösterilmiştir.

21

210

111

120

221

220

2

11

110

101

000

010

221

100),(3

xxxxxx

xxxxxxÖlçkeTop

∧∧∨∧∧∨∧∧

∨∧∧∨∧∨∧=

Görüldüğü üzere Çok Amaçlı CASE algoritması kullanımı işlem sayısını azaltarak

kullanımı kolaylaştırmaktadır.

Çok Amaçlı CASE Algoritmasının bir başka kullanım yerinin Bulanık Mantık

olabileceği değerlendirilmektedir. Bulanık mantık uygulamalarında sayısal değerler

önce bulanıklaştırılmakta daha sonra bilgi tabanında tutulan önceden edinilmiş

tecrübeler kullanılarak çıkarım ünitesinden geçirilmektedir. Daha sonra ulaşılan sonuç

durulaştırmadan geçirilerek sonuç rapor edilmektedir. Çok Amaçlı CASE

Algoritmasının bu yapı içersinde kullanılabileceği basamaklar Şekil 3.32.’de

gösterilmektedir.

87

Şekil 3.32 Bulanık mantık içinde Çok Amaçlı CASE Algoritması kullanımı

3.4.3. Java Tabanlı Çoklu Değerli Mantık Karar Çizenekleri (JMVDD) Yazılımı

Çok amaçlı CASE algoritmasının geçerliliğini denetlemek maksadıyla iki tip deney

tasarlanmıştır. Bunlardan birincisi, küçük fonksiyonlar için algoritmanın el ile

uygulanarak sonuçlarının kontrol edilmesidir. Bu deneylere bir örnek, Şekil 3.26.-3.29.

da gösterilen deneydir. İkinci olarak farklı platformlarda kullanılabilecek bir Java

tabanlı ÇDM Karar Çizenekleri yazılım paketi (Java Based Multivalued Decision

Diagram-JMVDD) kullanılarak, verilecek bir fonksiyonun Çoklu Değerli Mantık Karar

Çizeneğinin oluşturulmasıdır. Bu paketin kullanımı ile deneyler gerçekleştirilmiştir.

Deneyler esnasında, her Boolean fonksiyonun aynı zamanda bir ikili değerli çoklu

değerli mantık fonksiyonu olduğu göz önünde tutularak JMVDD yazılımının Değer

Seviyesi 2 olarak belirlenmiştir. Bu şekilde JADE yazılımı ve JMVDD aynı tanım

kümesinde çalışacak duruma gelmiştir. Yapılan deneyler sonucunda her iki yazılımın da

değişken sırası sabit kalmak kaydıyla aynı karar çizeneğine ulaştıkları görülmüştür.

Karşılaştırmada kolaylık sağlamak maksadıyla JMVDD düz yazı çıkış formatı, JADE

88

ile aynı olacak şekilde tasarlanmıştır. JMVDD yazılımı daha önce açıklanan yazılımları

kullanarak doğruluk tablosundan fonksiyonu okumakta ve düz yazı ve grafik olarak

oluşturduğu çoklu değerli karar çizeneğini rapor etmektedir. JMVDD yazılımı giriş

arayüzü Şekil 3.32.’de gösterildiği üzeredir.

JMVDD JMVDD

Şekil 3.33. JMVDD tazılımı giriş arayüzü Sonuçlar Şekil 3.33.’de görüldüğü şekilde düz yazı olarak ekranda rapor edilmesine ve

dosyaya kaydedilerek sabit bellek’te yer almasına rağmen karar çizeneklerinin

karmaşıklaşması ile birlikte göz ile inceleme yapmak oldukça zor olmaktadır.

Şekil 3.34. JMVDD düz yazı çıktısı

Grafik gösterimin daha uygun olması nedeniyle Java’da kullanılabilecek bir grafik

arayüzü olarak (MvCreary and Barowski 1998) tarafından geliştirilen Visualizing

89

Graphs with Java (VGJ) yazılım aracı JMVDD gerekleri kapsamında değiştirilerek

kullanılmıştır. Örnek bir VGJ Çıktısı Şekil 3.34.’de gösterilmiştir.

JMVDD JMVDD Grafik GGrafik Göösterimsterim

Şekil 3.35. JMVDD grafik gösterimi

VGJ aracının kullanılabilmesi için JMVDD yazılımının düz yazı çıktısı, Grafik

Modelleme Dili1 (GML)’e (Himsolt 1996) dönüştürülmekte ve ekranda

gösterilmektedir. GML’e dönüştürülen karar çizeneği istenildiği takdirde hesaplama

yapmadan yeniden kullanılmak üzere GML olarak sabit diske de kaydedilmektedir.

1 Graph Modeling Language

90

4. ARAŞTIRMA BULGULARI

Bu bölümde “Çoklu Değerli Mantık Ayrık Hesaplama Metodu - ÇDM AHM” teoremi

geliştirilerek, bu teoremi destekleyen hipotez öncelikle kuramsal olarak ispatlanmıştır.

Ayrıca ÇDM AHM teoremi kullanılarak, yazılı dizinde üzerinde çalışmalar devam eden

ve ÇDM AHM’in özel bir durumu olan Boolean Fonksiyonlar Sonurgusu1 verilmiştir.

ÇDM AHM teoreminin kullanılmasıyla elde edilen sonuçların geçerlilikleri, 3ncü

bölüm olan “Materyal ve Yöntem” de izah edilen yazılımlar ve algoritmalar kullanılarak

gerçekleştirilen testler ile denetlenmiştir.

Teoremin farklı tip fonksiyonlarda farklı sonuçlara ulaşılmasına neden olan etkenlerin

deneyler üzerindeki etkileri, verilen örnekler üzerinde analiz edilerek, teoremin

sonuçlarının daha iyi anlaşılmasına özen gösterilmiştir.

Teoremin geçersiz olduğu durumlar olan Uyumsuz Fonksiyonlar üzerinde yapılan

analiz çalışmaları ve örnekler ise bölümün sonunda verilmiştir.

4.1. ÇDM Ayrık Hesaplama Metodu (ÇDM AHM) Teoremi

ÇDM Ayrık Hesaplama Metodu Teoremi; ayrı ayrı küçültme işlemi yapılarak önceden

asal belirleyicilerinin (AB) sayısı belirlenmiş ve giriş değişkenlerinin kesişim

kümesinin boş olduğu bilinen fonksiyonların, ENB veya ENK işleci ile

birleştirildiklerinde ortaya çıkacak toplam asal belirleyici sayısını yeniden küçültme

işlemi yapılmadan hesaplanabilmesini sağlar.

Bu teoremin kullanılması ile yazılı dizinde “böl ve fethet2” olarak adlandırılan metodun

sonuçlarının ne kadar gerçekçi olacağı konusunda bilgi sahibi olunabilmektedir. “böl ve

fethet” kavramının fonksiyonlara uygulanabildiği durumlarda, daha kısa sürede

küçültülmüş fonksiyon gösterimi olan sonuca ulaşılabilmektedir.

1 Corollary 2 Divide and Conquer

91

Teorem 4.1 Çoklu Değerli Giriş, Çoklu Değerli Çıkışlara sahip fonksiyonlar için

ÇDM AHM:

f ve g fonksiyonları, ( ) PPPPxxxgf nn →×⋅⋅⋅×× 2121 :,...,,, , ye eşleştirme olsun. f ve g

fonksiyonları giriş ve çıkış değişken değerlerini Pi = {0,1,...,pi-1}, pi>1 alt kümesinden

alsın. x ve y değişken kümeleri kesişim kümesi boş olan değişken kümeleri olsun. Bu

durumda iki fonksiyonun ENKÜÇÜK (ENK) “ Λ ” işleci ile birleştirilmesi;

=∧ ),...,,,...,,)(( 2121 nn yyyxxxgf )),...,,(),...,,(( 2121 nn yyygxxxf ∧ şeklinde,

iki fonksiyonun ENBÜYÜK (ENB) “ V ” işleci ile birleştirilmesi ise;

)),...,,(),...,,((),...,,,,...,,)(( 21212121 nnnn yyygxxxfyyyxxxgf ∨=∨ şeklinde

gösterilsin. ( )PfEKÇT :τ 1 f fonksiyonunun Pi = {0,1,...,pi-1}, pi>1 için asal

belirleyici sayısı, ( )PgEKÇT :τ ise g fonksiyonunun Pi = {0,1,...,pi-1}, pi>1 için asal

belirleyici sayısı olsun. Bu durumda Pi = 0 , “ENK değeri” olarak, Pi = pi-1 “ENB

değeri” olarak ifade edilir.

Bu takdirde fonksiyonun “En Küçük Çarpanların Toplamı-EKÇT” da ifade edilen asal

belirleyici sayısı,

ENKÜÇÜK işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ +≤∧

( ) ( ) ( ) 111 ::: −−− ×≤∧ iii ppp gEKÇTfEKÇTgfEKÇT τττ

ENBÜYÜK işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ ×≤∨

( ) ( ) ( ) 111 ::: −−− +≤∨ iii ppp gEKÇTfEKÇTgfEKÇT τττ olacaktır.

Bu iki değer dışında kalan çıkış değerleri ve dolayısıyla toplam asal belirleyici sayısının

önceden tahmin edilmesi mümkün değildir.

İspat :

Durum 1: ENKÜÇÜK işlemi

1 Minimum Sum Of Products “MSOP” -En Küçük Çarpanların Toplamı “EKÇT”

92

Sonuç “ENK Değeri” için ( “0” ) ;

Fonksiyonda ENK değerini “0” değeri belirlesin. pf , f fonksiyonuna ait “0” sonucunu

belirleyen asal belirleyici kümesi, pg ise g fonksiyonuna ait “0” sonucunu belirleyen asal

belirleyici kümesi olsun. f ve g nin değişmezlerini aldıkları değişken kümeleri 0x y∩ =

olduğuna göre, f ve g nin asal belirleyicilerinin ENKÜÇÜK işlemi ile Çarpımların

Toplamı üzerine dağılımı ile ”0” değerini belirleyen her bir asal belirleyici gf ∧

içerisinde bir kez yer alır. Her iki fonksiyona ait asal belirleyiciler; “0” çıkışını

belirlediklerinden, gf ∧ ’ye ait asal belirleyicileri de birbirlerinden bağımsız olarak

belirlerler. Eğer ENKÜÇÜK işlemi sonucunda pf ve pg nin birleşimi dışında yeni bir

asal belirleyici oluşuyor ise, o zaman 0≠∩ yx demektir ki, bu başta kabul edilen şarta

aykırıdır.

Sonuç “ENB Değeri” için ( “pi-1” ) ;

pf , f fonksiyonuna ait “pi-1” sonucunu belirleyen asal belirleyici kümesi, pg ise g

fonksiyonuna ait “pi-1” sonucunu belirleyen asal belirleyici kümesi olsun. f ve g nin

değişmezlerini aldıkları değişken kümeleri 0=∩ yx olduğuna göre, f ve g nin asal

belirleyicilerinin ENKÜÇÜK işlemi ile Çarpımların Toplamı üzerine dağılımı

sonucunda, “pi-1” değerini belirleyen her bir asal belirleyici, “0” değeri veren asal

belirleyiciden etkilenecektir. Dolayısıyla gf ∧ ’ye ait “pi-1” asal belirleyicilerinin

sayısı her iki fonksiyona ait “pi-1” çıkışını oluşturan asal belirleyicilerin sayısının

çarpımından oluşur. Eğer işlem sonucunda pf ve pg nin sayılarının çarpımı ile ulaşılan

sayıdan fazla bir sayıya ulaşılıyorsa f ve g yi belirleyen asal belirleyicilerden bir

bölümünün “0”ı göstermesi gerekir ki, bu da gösterim tanımına aykırıdır.

Durum 2: ENBÜYÜK işlemi

Sonuç “ENK Değeri” için ( “0” ) ;

pf , f fonksiyonuna ait “0” sonucunu belirleyen asal belirleyici kümesi, pg ise g

fonksiyonuna ait “0” sonucunu belirleyen asal belirleyici kümesi olsun. f ve g nin

değişmezlerini aldıkları değişken kümeleri 0=∩ yx olduğuna göre, f ve g nin asal

belirleyicilerinin ENBÜYÜK işlemi ile Çarpımların Toplamı üzerine dağılımı

sonucunda, “0” değerini belirleyen her bir asal belirleyici, “pi-1” değeri veren asal

belirleyiciden etkilenecektir. Dolayısıyla gf ∨ ’ye ait “0” asal belirleyicilerinin sayısı

93

her iki fonksiyona ait “0” çıkışını oluşturan asal belirleyicilerin sayısının çarpımından

oluşur. Eğer işlem sonucunda pf ve pg nin sayılarının çarpımı ile ulaşılan sayıdan fazla

bir sayıya ulaşılıyorsa, f ve g yi belirleyen asal belirleyicilerden bir bölümünün “pi-1” i

göstermesi gerekir ki, bu da gösterim tanımına aykırıdır.

Sonuç “ENB Değeri” için ( “pi-1” ) ;

pf , f fonksiyonuna ait “pi-1” sonucunu belirleyen asal belirleyici kümesi, pg ise g

fonksiyonuna ait “pi-1” sonucunu belirleyen asal belirleyici kümesi olsun. f ve g nin

değişmezlerini aldıkları değişken kümeleri 0=∩ yx olduğuna göre, f ve g nin asal

belirleyicilerinin ENBÜYÜK işlemi ile Çarpımların Toplamı üzerine dağılımı ile ” pi-1”

değerini belirleyen her bir asal belirleyici gf ∨ içerisinde bir kez yer alır. Her iki

fonksiyona ait asal belirleyiciler “pi-1” çıkışını belirlediklerinden, gf ∨ ’ye ait asal

belirleyicileri de birbirlerinden bağımsız olarak belirlerler. Eğer ENBÜYÜK işlemi

sonucunda pf ve pg nin birleşimi dışında yeni bir asal belirleyici oluşuyor ise, o zaman

0≠∩ yx demektir ki, bu başta kabul edilen şarta aykırıdır.

Teorem 4.1’nin en önemli sonucu ara çıkış fonksiyon değerleri için ön tahmin

yapılamadığının gösterilmesidir. Ara değerler için asal belirleyicilerin oluşmasında “0”

ve “pi-1” değerlerinin, ve buna ilave olarak ara değerlerin kendi içlerinde oluşturdukları

birleşimler her bir fonksiyon için farklı olabildiğinden, yani “0” ve “pi-1” değerleri için

olduğu gibi sınırlama olmadığından ön hesaplama ile tahminde bulunmak mümkün

değildir.

Sonurgu 4.1 (Corollary 4.1) Çoklu Değerli Giriş, İkili Değerli Çıkışlara sahip

fonksiyonlar için ÇDM AHM :

f ve g fonksiyonları, ( ) BPPPxxxgf nn →×⋅⋅⋅×× 2121 :,...,,, , ye eşleştirme olsun. f ve g

fonksiyonları giriş değişken değerlerini Pi = {0,1,...,pi-1}, pi>1 den alsın, çıkış

değerlerini ise B = {0, 1} alt kümesinden alsın. x ve y değişkenleri kesişim kümesi boş

olan değişkenler olsun. Bu durumda iki fonksiyonun ENKÜÇÜK (ENK) işleci ile

birleştirilmesi;

=∧ ),...,,,...,,)(( 2121 nn yyyxxxgf )),...,,(),...,,(( 2121 nn yyygxxxf ∧ şeklinde,

iki fonksiyonun ENBÜYÜK (ENB) işleci ile birleştirilmesi ise;

94

)),...,,(),...,,((),...,,,,...,,)(( 21212121 nnnn yyygxxxfyyyxxxgf ∨=∨ şeklinde

gösterilsin. ( )bfEKÇT :τ f fonksiyonunun b = {0, 1} için asal belirleyici sayısı,

( )bgEKÇT :τ ise g fonksiyonunun b = {0, 1} için asal belirleyici sayısı olsun.

Bu takdirde fonksiyonun “En Küçük Çarpanların Toplamı-EKÇT” da ifade edilen asal

belirleyici sayısı,

ENKÜÇÜK işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ +≤∧

( ) ( ) ( )111 ::: gEKÇTfEKÇTgfEKÇT τττ ×≤∧

ENBÜYÜK işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ ×≤∨

( ) ( ) ( )111 ::: gEKÇTfEKÇTgfEKÇT τττ +≤∨ olacaktır.

İspat :

Sonurgu 4.1’nin ispatı, teorem 4.1’in ispatına benzer bir şekilde gerçekleştirilmektedir.

Sonurgu 4.1’nin ispatında en önemli farklılık, fonksiyonların çıkış değerlerinin çoklu

değerli olmayıp ikili değerli olmasındadır. Teorem 4.1’in ispatında olduğu üzere; “0” ve

“1” çıkış değerleri, “0” ve “pi-1” değerleri gibi davranır. “0” değeri ENK işleci ile

yapılan dağılım işlemi, “1” değeri ise ENB işleci ile yapılan dağılım işlemi sonucunda

oluşan fonksiyonun asal belirleyicilerinin direkt olarak belirlemesini sağlar. Benzeri

şekilde “0” değeri ENBÜYÜK işleci ile yapılan dağılım işlemi, “1” değeri ise

ENKÜÇÜK işleci ile yapılan dağılım işlemi sonucunda oluşan fonksiyonun asal

belirleyicilerinin oluşmasında her zaman etkilenen asal belirleyiciyi oluşturacağından

ancak kendisi ile aynı değere sahip asal belirleyici ile işleme tabi tutulduğunda beklenen

sonucu verecektir. Bu sonuç ise asal belirleyici sayılarının çarpımı ile bulunur.

Sonurgu 4.1’nin en önemli sonucu; çıkış fonksiyonunda ara değerler olmadığı için

toplam asal belirleyici sayısının ortaya konulmasında gösterdiği kolaylıktır. Bu

sonurgunun bir diğer uygulaması ise giriş ve çıkış değerleri ikili değerli olan

fonksiyonlardır. Bu fonksiyonlar hakkında bilgi İkinci Bölüm’de verilmiştir.

95

4.2. Deney Sonuçları ÇDM AHM’de ortaya konulan teoremin doğruluğunu deneysel metotlarla da göstermek

üzere Üçüncü Bölümde açıklanan yöntem kullanılarak deneyler gerçekleştirilmiştir. Bu

deneylerde test maksadı ile kullanılan fonksiyon sayısı, örnekleme oranını artırmak

amacıyla mümkün olduğunca fazla tutulmaya çalışılmıştır. Ancak, üretilen her bir

fonksiyon için gerçekleştirilecek işlemlerin ve bu işlemler için ihtiyaç duyulan zamanın

giriş ve çıkış değer sayısı ve değişken sayısının değişimi ile üssel olarak artması,

üzerinde çalışılan fonksiyonların tanım kümesinin tamamının kapsanmasına imkân

vermemiştir. Yaratılan test fonksiyonu sayısının teoremin doğruluğunu ön görmek için

yeterli sayıda olduğu, her bir test fonksiyonu için üretilen tabloların incelenmesinden

anlaşılmaktadır. Tanım kümesinin de üssel olarak artması nedeniyle üzerinde analiz

gerçekleştirilen deney kümesini, rasgele üretilen test fonksiyonları ve yazılı dizinde

belirtilen referans fonksiyonlarla sınırlamak ihtiyacı doğmuştur. Yine yazılı dizinde

yapılan inceleme sonucu, benzeri denetleme mekanizması ihtiyacının diğer teoremler

için de geçerli olduğu, problemin aşılması için bulunan çözümün de bu tez çalışması

kapsamındaki çözümle benzerlik gösterdiği, bir diğer değişle sınırlamalar getirildiği

görülmektedir. Tez çalışması kapsamında üretilen test fonksiyonları sayısı, giriş ve çıkış

değeri, değişken sayısına bağlı olarak Çizelge 4.1.’de sunulmuştur.

ENK ve ENB işleçlerinin kullanılmasından sonra oluşan Doğruluk Tablosu satır

sayısının hesaplamasında kullanılan formül aşağıda verilmiştir.

D = (Çıkış değeri) ^ (Değişken Sayısı ^ Giriş Değeri)

Tanım kümesi eleman sayısının belirlenmesi ise daha karmaşık bir problem olarak

görülmektedir. Örneğin çıkışı 2 değerli fonksiyonların sayısı;

( )0

!! !

n

k

nk n k= −∑ , n:satır sayısı

formülü kullanılarak hesaplanabilir. 4 değişkenli boolean fonksiyonlar için Tanım

Kümesi hesaplandığında 65536 farklı fonksiyon bulunmaktadır.

96

Çizelge 4.1. Örnek test fonksiyonları Değişken Giriş Değer Çıkış Değer Dosya Baz

Adı Örnek Sayısı ENK/ENB

Değişken Sayısı

Doğruluk Tablosu Satır Sayısı

(ENK/ENB için)

2 2r2vo2r 500 16

3 2r2vo3r 100 81

2

4 2r2vo4r 200 256

2 3r2vo2r 500 256

3 3r2vo3r 500 6.561 3

4 3r2vo4r 200 65.536

2 4r2vo2r 200 65.536

3 4r2vo3r 200 43.046.721

2

4

4 4r2vo4r 100

4

4.294.967.296

2 2r3vo2r 500 512

3 2r3vo3r 100 19.683 2

4 2r3vo4r 100 262.144

2 3r3vo2r 500 134.217.728

3 3r3vo3r 100 7,6255974850E+12 3

4 3r3vo4r 100 1,8014398509E+16

2 4r3vo2r 100 2,4178516392E+24

3 4r3vo3r 100 4,4342648824E+38

3

4

4 4r3vo4r 100

6

5,8460065493E+48

2 2r4vo2r 500 65.536 2 3 2r4vo3r 200 43.046.721

4

3 3 3r4vo3r 200

8

3,4336838203E+30

Çizelge 4.1.’den de görüleceği üzere değişken sayısının artması, gerçekleştirilebilecek

fonksiyonların tanım kümesini giriş ve çıkış değerlerine göre daha fazla etkilemektedir.

Giriş değer seviyesi ise, çıkış değer seviyesine göre tanım kümesini daha çok

etkilemektedir. Bu etkileme beklenen bir sonuçtur. Değişken sayısındaki değişme

birleşimlerini artırmaktadır. Giriş değeri ise değişken sayısına bağlı olarak tanım

kümesinin büyüklüğüne etki yapmaktadır. Çizelge 4.2.’de bu etkiyi açıkça görmek

mümkündür.

Çizelge 4.2. Giriş, çıkış değerleri ve değişken sayısının tanım kümesine etkileri

Giriş Değeri Çıkış Değeri Değişken Sayısı Tanım Kümesi Doğruluk Tablosu Satır #

2 3 2 81

3 2 2 256

2 2 3 512

97

Tanım kümesinin özellikle değişken sayısına bağlı olarak büyük olması, küçük değişken

sayıları için örnek sayısının yeterli, hatta tekrarlanır olmasına neden olurken, büyük

değişken sayılarına bağlı olan tanım kümeleri içerisindeki örnek kümelerinin küçük

olduğu dikkati çekmektedir.

ÇDM AHM ile gerçekleştirilen deney sonuçlarının ikili fonksiyonlar (Boolean)

üzerinde gösterilmesi daha kolay olması ve alışılagelmiş kavramların anlatılmasındaki

kolaylık nedeniyle, aslında bir sonurgu olarak ortaya çıkan sonuçlar ile analizlerin

incelenmesi başlatılmıştır.

4.2.1. Çoklu Değerli Giriş ve İkili Çıkışlara Sahip Fonksiyonlar İçin Elde Edilen

Veriler Üzerinde Gerçekleştirilen Analizler

Bu başlık altında doğruluğunu göstermeye çalıştığımız sonurgunun sonucu aşağıda

belirtildiği gibidir.

ENK işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ +≤∧

( ) ( ) ( )111 ::: gEKÇTfEKÇTgfEKÇT τττ ×≤∧

ENB işleci için;

( ) ( ) ( )000 ::: gEKÇTfEKÇTgfEKÇT τττ ×≤∨

( ) ( ) ( )111 ::: gEKÇTfEKÇTgfEKÇT τττ +≤∨

Yukarıda belirtilen denklemlerin örnek bir fonksiyon üzerindeki kullanımları Şekil

4.1.’de belirtildiği gibi olacaktır.

00000000002132121321

)()( yyxxxyyxxx ABABABABABABABENKABABAB ∨∨∨∨=∨∨∨

Şekil 4.1. “0” sonucu için ENK işlemi

98

Denklemden görüldüğü üzere ENK işlecinde “0” değerinin baskın değer olması

nedeniyle, diğer asal belirleyicilerin değeri göz önüne alınmaksızın her bir AB’nin

kendisi “Aldırma” koşulunu yaratarak sonucu belirlemektedir.

111111111111

211212112121)()( yxyxyxyxyyxx ABABABABABABABABABABENKABAB ∨∨∨=∨∨

Şekil 4.2. “1” sonucu için ENK işlemi ENK işlecinde ise, “1” değerinin edilgen olması nedeniyle “1” sonucunu verebilecek

AB’ler, yine sadece “1” değerini oluşturan AB’ler olacaktır. Bu nedenle Şekil 4.2.’de

görüldüğü üzere “1” değeri sonucunu verecek AB’lerin çarpımı yeni oluşturulan

fonksiyonun AB’lerini oluşturmaktadır.

Aynı mantık, ENB işleci için “0” ve “1” değerlerinin fonksiyonların üzerindeki etkisi

yer değiştirecek şekilde yürütülebilir.

Analizde gösterim açısından kolaylık sağlamak üzere, 2 değişkenli fonksiyonlar

kullanılmıştır. Bu fonksiyonlardan giriş değişkenleri ikili ve üçlü değerli olanlar

seçilmiştir. Bunun dışında kalan örnek fonksiyonlara ait sonuçlar ise Ek-1’de

sunulmuştur.

4.2.1.1 İkili Değerli Giriş ve İkili Değerli Çıkış (Boolean)

Teoremin pratikte de uygulanabilirliğini göstermek için kullanılacak bu gruba ait örnek

kümesinin ENK işleci için gerçekleştirilen testlere ait sonuç tablosunun içerisinden

seçilen örnekler Çizelge 4.3.’te gösterilmiştir. Örnek test sonuçlarının tamamını

gösteren tablolar Ek-1‘de gösterilmiş ve Ek-4’de bulunan CD’nin Analiz Raporu

bölümünde rapor edilmiştir.

99

Çizelge 4.3. Boolean fonksiyon ENK işleci test sonuçları

Baz Fonksiyon ENK Fonksiyonu Test Adı

Toplam AB

“0” için AB

“1” için AB

Toplam AB “0” için AB

“1” için AB

2r2vo2r0 4 2 2 8 4 4 2r2vo2r1 3 2 1 5 4 1 2r2vo2r6 2 1 1 3 2 1 2r2vo2r8 2 1 1 3 2 1 2r2vo2r9 3 1 2 6 2 4 2r2vo2r10 3 1 2 6 2 4 2r2vo2r14 3 2 1 5 4 1 2r2vo2r20 4 2 2 8 4 4 2r2vo2r24 3 1 2 6 2 4 2r2vo2r25 3 2 1 5 4 1 2r2vo2r28 2 1 1 3 2 1 2r2vo2r36 3 1 2 6 2 4 2r2vo2r39 4 2 2 8 4 4 2r2vo2r40 4 2 2 8 4 4 2r2vo2r43 2 1 1 3 2 1 2r2vo2r44 4 2 2 8 4 4 2r2vo2r47 3 2 1 5 4 1

Yukarıda alt kümesi verilen test sonuçları arasından analizinin yapılması maksadıyla

örnek olarak seçilen 24 nolu testin sonuçları Şekil 4.3’de tekrarlanmıştır.

Baz Fonksiyon ENK Fonksiyonu Test Adı

Toplam AB

“0” için AB

“1” için AB

Toplam AB “0” için AB

“1” için AB

2r2vo2r24 3 1 2 6 2 4

Şekil 4.3. 24 numaralı fonksiyona ait AB sayıları 24 No’lu fonksiyonun detaylı analizi aşağıda sunulmuştur. 24 No’lu testte kullanılan

örnek fonksiyon, f ait Doğruluk ve AB tabloları Şekil 4.4.’tedir. ”a“ değeri “aldırma“

1+1

2 * 2

100

anlamına gelen değişkenin “0” veya “1” değeri alması arasında bir fark olmadığını

gösteren durumdur.

Şekil 4.4. f’e ait doğruluk ve AB tabloları

Bu fonksiyon AB’leri tabloda da görüldüğü gibi { }22

11

1 , XXO = için 2 ve { }02

01

0 XXO =

için 1 olmak üzere toplam üç adettir.

f ile birlikte işleme tutulacak g fonksiyonu ise Şekil 4.5.’de sunulan AB tablosundan da

görüleceği üzere aynı yapıya sahiptir.

Y1 Y2 O1

1 a 1

a 1 1

0 0 0

Şekil 4.5. g fonksiyonu AB tablosu

f fonksiyonundaki değişkenlerden bağımsız ve aynı sonuçlara sahip ikinci fonksiyon

olan g, ENK işleci ile işleme sokulduğunda ortaya çıkan fonksiyonun doğruluk tablosu

ve AB’leri Çizelge 4.4’de gösterilmiştir.

X1 X2 O1

0 0 0

0 1 1

1 0 1

1 1 1

X1 X2 O1

1 a 1

a 1 1

0 0 0

1

2

1 AB

2 AB

101

Çizelge 4.4 gf ∧ fonksiyonu doğruluk ve AB tabloları

Doğruluk Tablosu AB Tablosu “1” X1 X2 Y1 Y2 O1 X1 X2 Y1 Y2 0 0 0 0 0 1 a 1 a 0 0 0 1 0 a 1 1 a 0 0 1 0 0 1 a a 1 0 0 1 1 0 a 1 a 1 0 1 0 0 01 0 0 0 0 AB Tablosu “0” 1 1 0 0 0 X1 X2 Y1 Y2 0 1 0 1 1 0 0 a a 0 1 1 0 1 a a 0 0 0 1 1 1 11 0 0 1 11 0 1 0 11 0 1 1 11 1 0 1 11 1 1 0 11 1 1 1 1

Çizelge 4.4.’den de görüleceği üzere “0” için doğruluk tablosunda ortaya konulan 7 adet

belirleyici, yapılan küçültme işlemi sonucunda 2 adet AB haline gelirken, 8 adet “1”

çıkışını belirleyen belirleyiciden oluşan fonksiyon, 4 adet AB ile ifade edilebilmektedir.

Başlangıçta ortaya konulan AB sayılarından, ENK işleci ile gerçekleştirilen

fonksiyonun sonucunu bulmak için kullanılan formül göz önüne alındığında;

“0” için 1+1 = 2 AB

“1” için 2*2 = 4 AB,

sonucuna ulaşıldığı görülmektedir. Ulaşılan sonuç, hipotez ile öngörülen sonuç ile

aynıdır.

ENB işlecinin kullanılması ile elde edilen sonuçları ise yine aynı yöntemi kullanarak

gösterebiliriz. ENK işleci için gerçekleştirilen analizde olduğu gibi, test sonuçlarında

alınan örnekler Çizelge 4.5’de sunulmuş olup, test sonuçlarının tamamı Ek-4’de Deney

Sonuçları altında bulunabilir.

4 AB

2 AB

102

Çizelge 4.5. Boolean fonksiyon ENB işleci test sonuçları

Baz Fonksiyon ENB Fonksiyonu Test Adı

Toplam AB

“0” için AB

“1” için AB

Toplam AB “0” için AB

“1” için AB

2r2vo2r16 3 2 1 6 4 2 2r2vo2r20 4 2 2 8 4 4 2r2vo2r24 3 1 2 5 1 4 2r2vo2r25 3 2 1 6 4 2 2r2vo2r28 2 1 1 3 1 2 2r2vo2r33 3 2 1 6 4 2 2r2vo2r38 3 1 2 5 1 4 2r2vo2r39 4 2 2 8 4 4 2r2vo2r47 3 2 1 6 4 2 2r2vo2r53 4 2 2 8 4 4 2r2vo2r55 2 1 1 3 1 2 2r2vo2r58 3 2 1 6 4 2 2r2vo2r62 3 1 2 5 1 4

Doğruluk tablolarını ve AB tablolarını yeniden vermemek maksadıyla daha önce

kullanılan 24 no’lu test örnek olarak kullanılmaya devam edilmiştir. Bu test sonucunda

elde edilen sonuçlar Şekil 4.6.’de gösterilmiştir.

Baz Fonksiyon ENB Fonksiyonu Test Adı

Toplam AB

“0” için AB

“1” için AB

Toplam AB “0” için AB

“1” için AB

2r2vo2r24 3 1 2 5 1 4

Şekil 4.6. 24 no’lu testte kullanılan fonksiyon AB’leri

Şekil 4.6.’nin incelenmesi neticesinde beklenen sonuçların alındığı görülmektedir.

Kullanılan fonksiyonların Şekil 4.4. ve Şekil 4.5.‘de gösterilen fonksiyonlar ile aynı

olması nedeniyle doğruluk ve AB tabloları yer kaplamamaları açısından yeniden

tekrarlanmadan sonuçlar Çizelge 4.6.’da verilmiştir.

1*1

2 + 2

103

Çizelge 4.6. gf ∨ Fonksiyonu Doğruluk ve AB Tabloları

Doğruluk Tablosu AB Tablosu “1” X1 X2 Y1 Y2 O1 X1 X2 Y1 Y2 0 0 0 0 0 1 a a a 0 0 0 1 1 a 1 a a 0 0 1 0 1 a a 1 a 0 0 1 1 1 a a a 1 0 1 0 0 10 1 0 1 1 AB Tablosu “0” 0 1 1 0 1 X1 X2 Y1 Y2 0 1 1 1 1 0 0 0 0 1 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 11 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1

Çizelge 4.6.’da ENB işleci ile gerçekleştirilen işlemin sonucunun ENK işleci ile yapılan

işlemle karşılaştırıldığında “0” ve “1” değerlerinin etkenliklerinin değiştiğini ve buna

bağlı olarak sonuçların değiştiğini görüyoruz. Ancak AHM teoreminin yine geçerli

olduğunu görmek mümkündür. Sonuç teoreme uygun olarak;

“0” için 1*1 = 1 AB

“1” için 2+2 = 4 AB,

olarak ortaya çıkmaktadır.

4.2.1.2 Çoklu Değerli Giriş ve İkili Değerli Çıkış

Bu gruba örnek olmak üzere öncelikle iki değişkenli, üçlü değerli giriş’e sahip

fonksiyonlar kullanılarak gerçekleştirilen testlerin sonuçlarından örnek sunulmasını

müteakip, daha sonra üç değişkenli, üçlü değerli giriş’e sahip fonksiyonlardan örnekler

verilmiştir. İki değişkenli, üçlü değerli girişe sahip fonksiyonlar üzerinde yapılan

testlerden örnekler Şekil 4.7.’de sunulmuştur.

4 AB

1 AB

104

Şekil 4.7. 2 değişken ve 3 değerli fonksiyonlar örnek test sonuçları

Şekil 4.7.’de giriş değer sayısının artmasına rağmen sonuçların teoremi desteklediğini

görmekteyiz.

Teoremin sonuçlarını seçilen bir örnek fonksiyon üzerinde gösterilmesi daha önce

detayları gösterilen Boolean fonksiyon ile aynı olması nedeniyle daha özet olarak

gerçekleştirilmiştir. Çizelge 4.7.’de 3r2vo2r4 test fonksiyonuna ait AB’ler

görülmektedir.

Baz Fonksiyon ENK Fonksiyonu ENB Fonksiyonu Test Adı Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

3r2vo2r0 5 2 3 13 4 9 10 4 6 3r2vo2r2 6 3 3 15 6 9 15 9 6 3r2vo2r4 3 1 2 6 2 4 5 1 4 3r2vo2r7 2 1 1 3 2 1 3 1 2 3r2vo2r10 5 3 2 10 6 4 13 9 4 3r2vo2r13 4 2 2 8 4 4 8 4 4 3r2vo2r19 3 2 1 5 4 1 6 4 2 3r2vo2r23 5 3 2 10 6 4 13 9 4

+ *

+*

+

+

*

*

105

Çizelge 4.7. 3r2vo2r4 testine ait fonksiyonların sonuçları

3r2vo2r4x

X1 X2 O1

0/2 0/2 0

a 1 1

1 a 1

Görüldüğü üzere 3 değerli girişlere sahip fonksiyonlarda teoreme uygun sonuçlar

vermektedir. Son olarak Çizelge 4.8.’de 4 değerli girişe sahip fonksiyonlara ait test

sonuçları sunulmuştur.

Çizelge 4.8. 3r2vo2r4 testine ait fonksiyonların sonuçları

Baz Fonksiyon ENK Fonksiyonu ENB Fonksiyonu Test Adı Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

4r2vo2r0 5 2 3 13 4 9 10 4 6 4r2vo2r2 6 3 3 15 6 9 15 9 6 4r2vo2r7 8 4 4 24 8 16 24 16 8 4r2vo2r12 7 4 3 17 8 9 22 16 6 4r2vo2r15 7 3 4 22 6 16 17 9 8 4r2vo2r25 5 3 2 10 6 4 13 9 4 4r2vo2r29 4 2 2 8 4 4 8 4 4

3r2vo2r4x ENK 3r2vo2r4y

X1 X2 Y1 Y2 O1

a a 0/2 0/2 0

0/2 0/2 a a 0

a 1 a 1 1

1 a a 1 1

a 1 1 a 1

1 a 1 a 1

3r2vo2r4y

Y1 Y2 O1

0/2 0/2 0

a 1 1

1 a 1 3r2vo2r4x ENB 3r2vo2r4y

X1 X2 Y1 Y2 O1

0/2 0/2 0/2 0/2 0

a a a 1 1

a a 1 a 1

a 1 a a 1

1 a a a 1

1+1

1*1

106

Çizelge 4.8.’de verilen örneklerde teoremin ikili çıkışa ait fonksiyonlardaki

uygulanması gösterilmiştir. Tüm durumlar için teorem beklenen sonucu vermektedir.

Yukarıda verilen örnekler dışında kalan test sonuçları ise Ek-1’de ve Ek-4’de

verilmiştir. Teoreme uyan ve uymayan fonksiyonlar test sonuçlarını gösteren eklerde

görülmektedir. Teoreme uymayan fonksiyonlar “Uyumlu ve Uyumsuz Fonksiyonlar”

başlığı altında ayrıca ele alınmıştır.

4.2.2. Çoklu Değerli Giriş ve Çıkışlara Sahip Fonksiyonlar için elde edilen veriler

ÇDM AHM teoreminin doğruluğunu denetlemede kullanılan çok değerli giriş ve çıkışa

sahip test fonksiyonları Çizelge 4.1.’de gösterilmiştir. Giriş ve Çıkış değerleri “1”den

büyük olan bu fonksiyonlar da ÇDM AHM teoremine uygun olarak davranış

göstermektedir. Çizelge 4.9.’da 3 değerli giriş ve çıkışa sahip 2 değişkenli fonksiyonlar

için gerçekleştirilen testlerin sonuçları görülmektedir. Bu fonksiyonlar için de ENB

değeri, yani “2” değeri ve ENK değeri, yani “0” değeri ön tahmin ile bulunabilecek

değerler olarak görülmektedir. “0” değerine sahip asal belirleyiciler ENB ile üretilen

fonksiyon için toplama, ENK ile üretilen fonksiyon için ise çarpma ile

hesaplanabilmektedir. Dolayısıyla ÇDM AHM teoremin bu tip fonksiyonlar için de

geçerli olduğu görülmektedir.

Çizelge 4.9. 3 değerli giriş ve çıkışa sahip 2 değerli fonksiyonlara ait test sonuçları

Baz Fonksiyon ENK Fonksiyon ENB Fonksiyon Test Adı Top. AB

“0” AB

“1” AB

“2” AB

Top. AB

“0” AB

“1” AB

“2” AB

Top. AB

“0” AB

“1” AB

“2” AB

3r2vo3r0 4 1 1 2 10 2 4 4 7 1 2 4 3r2vo3r1 5 2 1 2 11 4 3 4 13 4 5 4 3r2vo3r4 6 2 2 2 16 4 8 4 16 4 8 4 3r2vo3r6 6 2 2 2 16 4 8 4 17 4 9 4 3r2vo3r8 5 2 2 1 13 4 8 1 14 4 8 2 3r2vo3r13 7 3 2 2 19 6 9 4 21 9 8 4 3r2vo3r16 4 1 2 1 8 2 5 1 7 1 4 2 3r2vo3r23 3 0 1 2 6 0 2 4 5 0 1 4 3r2vo3r27 7 3 2 2 18 6 8 4 25 9 12 4 3r2vo3r30 6 2 3 1 14 4 9 1 13 4 7 2 3r2vo3r35 6 2 2 2 17 4 9 4 16 4 8 4 3r2vo3r36 7 2 2 3 21 4 8 9 19 4 9 6 3r2vo3r38 4 0 2 2 8 0 4 4 8 0 4 4 3r2vo3r41 4 2 1 1 8 4 3 1 9 4 3 2 3r2vo3r44 6 1 3 2 13 2 7 4 13 1 8 4 3r2vo3r46 6 2 3 1 13 4 8 1 13 4 7 2

107

Çizelge 4.9.’den de görülebileceği üzere fonksiyonun sonucunun “0”, “1” ve ”2”

değerine sahip olmasını belirleyen asal belirleyicilerin sayısının bazı test fonksiyonları

için aynı olduğu görülmektedir. Ayrıca, ENB değeri ve ENK değeri için ENB ve ENK

işleçleri ile yapılan hesaplamaların sonuçlarının aynı olmasına rağmen yine aynı

fonksiyonlarda “1” değeri için sonuçların farklı olduğu görülmektedir.

Çizelge 4.10. 3r2vo3r fonksiyonlarına ait test sonuçları

Baz Fonksiyon ENK Fonksiyon ENB Fonksiyon Test Adı Top. AB

“0” AB

“1” AB

“2” AB

Top. AB

“0” AB

“1” AB

“2” AB

Top. AB

“0” AB

“1” AB

“2” AB

3r2vo3r4 6 2 2 2 16 4 8 4 16 4 8 4 3r2vo3r6 6 2 2 2 16 4 8 4 17 4 9 4 3r2vo3r35 6 2 2 2 17 4 9 4 16 4 8 4

Çizelge 4.10.’da ortaya konulan aynı özelliklere sahip fonksiyonların, farklı toplam AB

değerlerine ulaşmalarına neden olan yapılaşmayı analiz etmek maksadıyla bu üç

fonksiyonun doğruluk tabloları Çizelge 4.11.’de ortaya konulmuştur.

Çizelge 4.11. 3r2vo3r4, 3r2vo3r6 ve 3r2vo3r35 fonksiyonlarına ait doğruluk tabloları

3r2vo3r4 3r2vo3r6 3r2vo3r35 X1 X2 O X1 X2 O X1 X2 O 0 0 2 0 0 1 0 0 2 0 1 2 0 1 0 0 1 0 0 2 0 0 2 2 0 2 0 1 0 2 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 2 2 1 2 1 1 2 1 2 0 1 2 0 0 2 0 2 2 1 0 2 1 2 2 1 2 2 2 1

2 2 2

2 2 1

Çizelge 4.11.’den her üç fonksiyonun birbirinden farklı yapıya sahip oldukları

görülmektedir. 3r2vo3r4 fonksiyonu, “0” değeri sonucuna 2 durumda ulaşırken,

3r2vo3r6 fonksiyonu 4, 3r2vo3r35 fonksiyonu ise 3 durumda “0” değerini vermektedir.

Doğruluk tablosundan küçültme işlemi uygulandıktan sonra asal belirleyicilerin ortaya

108

konulduğu AB Tablosuna geçildiğinde bu farklılığın azaldığı görülmektedir.

Fonksiyonlara ait AB Tabloları Çizelge 4.12.’de verilmiştir.

Çizelge 4.12. 3r2vo3r4, 3r2vo3r6 ve 3r2vo3r35 fonksiyonlarına ait AB tabloları

Asal Belirleyiciler 3r2vo3r4 3r2vo3r6 3r2vo3r35

X1 X2 O X1 X2 O X1 X2 O 1 0/2 2 2 1/2 2 0 0 2 0 0/1 2 0 2 2 2 0/1 2 2 0/2 1 0 0 1 2 2 1 1 1 1 1 2 1 1 0/2 1 0 2 0 0/1 1 0 1 1 0 2 1 0 1/2 0 0 0 1/2 0

AB tablosundan da görüleceği üzere fonksiyonların ortak noktasının, küçültme işlemi

uygulandıktan sonra AB sayısının değişmemiş olmasıdır. Bununla beraber asal

belirleyici sayısının aynı olması dışında fonksiyonların giriş ve çıkış değerleri arasında

bir benzerlik olmadığı da dikkati çekmektedir. Dolayısıyla fonksiyonlar birbirinden

bağımsızdır. 3r2vo3r4 ve 3r2vo3r6 fonksiyonlarının ENB işleçleri ile tutuldukları işlem

sonucunda ortaya çıkan yeni fonksiyonlara ait sırasıyla AB’ler Tabloları Çizelge 4.13.,

Çizelge 4.15 ve Çizelge 4.17’de, “Karnaugh haritaları” ise Çizelge 4.14., Çizelge 4.16

ve Çizelge 4.18’de gösterilmiştir.

Çizelge 4.13. 3r2vo3r4-ENB AB tablosu

S.No X1 X2 Y1 Y2 O1

1 2 1 2 1 0 2 0 2 2 1 0 3 2 1 0 2 0 4 0 2 0 2 0 5 1 1 2 a 1 6 0 2 2 0/2 1 7 2 a 2 0/2 1 8 2 0/2 1/2 1 1 9 0 2 1 1 1

10 1/2 1 1 1 1 11 1 1 0 2 1 12 2 0/2 0 2 1 13 0 0/1 a a 2 14 1 0/2 a a 2 15 a a 0 0/1 2 16 a a 1 0/2 2

109

Çizelge 4.13.’te gösterilen Asal Belirleyicilere göre hazırlanan Karnaugh Haritası

Çizelge 4.14.’de ortaya konulmuştur. Asal Belirleyicilerin sıra numaraları Karnaugh

Haritasına yansıtılarak küçültmede kullanılan bloklar gösterilmiştir. Bazı belirleyiciler

aynı anda birden fazla Asal Belirleyici tarafından kapsandığı için bu belirleyicilere

ikinci bir sıra numarası verilerek bağlı oldukları asal belirleyici sıra numarası

belirtilmiştir. Çizelge 4.13’de belirtilen Asal Belirleyiciler içerisinde “2” ve “0”

değerleri dışında kalan “1” değerinin dağılımının, “1” değerine sahip Asal

Belirleyicilerin ön tahminine etkili olduğu görülmektedir.

Çizelge 4.14. 3r2vo3r4ENB “Karnaugh” haritası

İkinci örnek fonksiyon olan 3r2vo3r6 fonksiyonuna ait AB Tablosu Çizelge 4.15.’te

gösterilmiştir. 3r2vo3r4 fonksiyonuna göre bu tablodaki farklılık “1” değerine sahip AB

sayısının 8 adet yerine 9 adet olmasıdır.

00 01 02 10 11 12 20 21 22

00 213,15 213,15 215 214,15 215 214,15 215 215 215

01 213,15 213,15 215 214,15 215 214,15 215 215 215

02 213 213 04 214 111 214 112 03 112

10 213,16 213,16 216 214,16 216 214,16 216 216 216

11 213 213 19 214 110 214 18 110 18

12 213,16 213,16 216 214,16 216 214,16 216 216 216

20 213 213 16 214 15 214 17 17 17

21 213 213 02 214 15 214 18 01 18

22 213 213 16 214 15 214 17 17 17

X Y

110

Çizelge 4.15. 3r2vo3r6ENB AB tablosu

S.No X1 X2 Y1 Y2 O1

1 1/2 0 1/2 0 0 2 0/1 1 1/2 0 0 3 1/2 0 0/1 1 0 4 0/1 1 0/1 1 0 5 0/1 1 0 0 1 6 a 0 0 0 1 7 1 2 a 0 1 8 0 0 a 0 1 9 1 2 0/1 1 1

10 0 0 0/1 1 1 11 0 1 1 2 1 12 1 a 1 2 1 13 a 0 1 2 1 14 0 2 a a 2 15 2 1/2 a a 2 16 a a 2 1/2 2 17 a a 0 2 2

Çizelge 4.16.’da 9 adet “1” değerini oluşturan belirleyici gruplanması görülmektedir.

“1” değerini oluşturan “0” ve “2” değerlerini belirleyen AB’ler ise hipotezin ön gördüğü

şekilde dağılım göstermektedir. “1” değerini belirleyen AB’lerin bu fonksiyon için 9

adet olmasının nedeni konusunda bir öneri getirmek mümkün olmamaktadır. Sonuçları

aynı olan fonksiyonlar arasında bir ilişki kurulup kurulamayacağının incelenmesinin

faydalı olacağı değerlendirilmiştir.

Çizelge 4.16. 3r2vo3r6ENB “Karnaugh” haritası

00 01 02 10 11 12 20 21 22

00 16,8 15 214 16 15 17 16 215 215

01 110 04 214 03 04 19 03 215 215

02 217 217 214,17 217 217 217 217 215,17 215,17

10 18 02 214 01 02 17 01 215 215

11 110 04 214 03 04 19 03 215 215

12 113 111 214 112,13 112 112 113 215 215

20 18 02 214 01 02 17 01 215 215

21 216 216 214,16 216 216 216 216 215,16 215,16

22 216 216 214,16 216 216 216 216 215,16 215,16

X Y

111

Fonksiyonların yapısının ulaşılan sonuç ile ilişkisinin ortaya konulması için sonuçları

aynı olan iki fonksiyon üzerinde analiz yapılmasının uygun olacağı değerlendirilmiştir.

Bu kapsamda, baz fonksiyon için tanımlanan asal belirleyici sayısı aynı olan

fonksiyonların karşılıklı olarak incelenmesi maksadıyla asal belirleyici sayısı ve

dağılımı 3r2vo3r4 ile aynı olan 3r2vo3r35 fonksiyonu seçilmiştir. Daha önce de

belirtildiği gibi bu iki fonksiyon birbirinden bağımsız iki fonksiyondur. 3r2vo3r35

fonksiyonu 2’şer adet “0”, “1” ve “2” değerine sahip asal belirleyici ile

tanımlanabilmektedir. 3r2vo3r35ENB fonksiyonu tüm değerler için 3r2vo3r6ENB’den

farklı olarak 3r2vo3r35ENB ile aynı sonucu vermektedir.

3r2vo3r35ENB fonksiyonuna ait asal belirleyici tablosu Çizelge 4.17.’de verilmiştir.

Her iki fonksiyonun asal belirleyici tablolarının karşılaştırılması sonucunda aynı sayıda

belirleyicilere sahip olmalarına rağmen “aldırma” kullanımının farklı olduğu

görülmektedir. Örneğin “0” değeri için 3r2vo3r4ENB hiç aldırma kullanmaz iken,

3r2vo3r35ENB’de 4 adet ikili aldırma (1/2) vardır. Bunun nedeni baz fonksiyonların

asal belirleyicilerindeki aldırma kullanımının taşınmasıdır.

Çizelge 4.17. 3r2vo3r35ENB AB tablosu

S.No X1 X2 Y1 Y2 O1

1 1 1 0 1/2 0 2 0 1/2 0 1/2 0 3 1 1 1 1 0 4 0 1/2 1 1 0 5 0 1 1 0/2 1 6 a 2 1 0/2 1 7 1 a 1 0/2 1 8 2 2 0/1 1/2 1 9 1 0/2 0/1 1/2 1

10 0 1 2 2 1 11 a 2 2 2 1 12 1 a 2 2 1 13 0 0 a a 2 14 2 0/1 a a 2 15 a a 0 0 2 16 a a 2 0/1 2

Çizelge 4.18.de ise 3r2vo3r35ENB’ye ait “Karnaugh” haritası görülmektedir. Çizelge

4.14.’de gösterilen 3r2vo3r4ENB’ye ait Karnaugh haritası ile karşılaştırıldığında ise

112

yapısal bir benzerlik bulunması mümkün değildir. Hatta sonuçları farklı olduğu için bir

diğer başlık altında incelenen ve Çizelge 4.16.’da verilen 3r2vo3r6ENB’ye ait Karnaugh

haritası ile daha fazla benzerlik göstermektedir.

Çizelge 4.18. 3r2vo3r35ENB “Karnaugh” Haritası

00 01 02 10 11 12 20 21 22

00 213,15 215 215 215 215 215 214,15 214,15 215

01 213 02 02 19 01 19 214 214 18

02 213 02 02 19 01 19 214 214 18

10 213 15 16 17 17 16,7 214 214 16

11 213 04 04 19 03 19 214 214 18

12 213 15 16 17,9 17 16,7,9 214 214 16,8

20 213,16 216 216 216 216 216 214,16 214,16 216

21 213,16 216 216 216 216 216 214,16 214,16 216

22 213 110 111 112 112 111,12 214 214 111

Sonuç olarak ara değerlerin asal belirleyici sayılarının vazgeçilmez’lerin dağılımına

bağlı olması nedeniyle herhangi kurala uymadığı görülmektedir. Bu nedenle önceden

tahmin edilmeleri mümkün değildir.

Giriş ve çıkış değer sayıları artırıldığı zaman fonksiyonların yapısında olacak

değişiklikler ise baz ismi 4r2vo4r olan test fonksiyonları üzerinde denemiştir. Çizelge

4.19.’da özetlenen test sonuçlarının tamamı Ek-4’te bulunabilir.

X Y

113

Çizelge 4.19. Giriş ve çıkış değer sayısı 4 olan 2 değişkenli test fonksiyonları

Baz Fonksiyon ENK Fonksiyon ENB Fonksiyon Test Adı Top. AB

“0” AB

“1” AB

“2” AB

“3” AB

Top. AB

“0” AB

“1” AB

“2” AB

“3” AB

Top. AB

“0” AB

“1” AB

“2” AB

“3” AB

4r2vo4r0 10 3 3 2 2 35 6 13 12 4 34 9 13 8 4 4r2vo4r1 8 3 2 2 1 24 6 9 8 1 32 9 13 8 2 4r2vo4r2 9 1 3 3 2 31 2 12 13 4 27 1 9 13 4 4r2vo4r5 10 4 3 1 2 32 8 16 4 4 42 16 18 4 4 4r2vo4r7 9 2 2 2 3 30 4 8 9 9 28 4 9 9 6 4r2vo4r9 10 2 3 3 2 34 4 12 14 4 41 4 15 18 4 4r2vo4r11 9 2 3 2 2 34 4 18 8 4 35 4 15 12 4 4r2vo4r13 7 1 2 1 3 21 2 5 5 9 20 1 8 5 6 4r2vo4r15 9 2 3 3 1 28 4 13 10 1 31 4 13 12 2 4r2vo4r17 10 2 2 3 3 34 4 8 13 9 32 4 9 13 6 4r2vo4r20 9 2 2 2 3 38 4 12 13 9 31 4 9 12 6 4r2vo4r23 10 3 1 3 3 34 6 6 13 9 39 9 6 18 6 4r2vo4r25 13 3 4 2 4 58 6 24 12 16 53 9 24 12 8 4r2vo4r27 8 3 2 1 2 27 6 12 5 4 29 9 12 4 4 4r2vo4r30 9 1 2 3 3 32 2 8 13 9 24 1 4 13 6 4r2vo4r34 8 2 3 1 2 22 4 10 4 4 24 4 10 6 4 4r2vo4r35 7 1 3 2 1 20 2 12 5 1 18 1 7 8 2 4r2vo4r37 7 2 2 1 2 22 4 9 5 4 21 4 8 5 4 4r2vo4r40 12 3 4 2 3 45 6 17 13 9 46 9 19 12 6 4r2vo4r43 7 1 2 2 2 22 2 8 8 4 19 1 5 9 4 4r2vo4r45 11 3 3 2 3 45 6 18 12 9 40 9 13 12 6 4r2vo4r48 9 3 3 2 1 28 6 13 8 1 31 9 12 8 2 4r2vo4r50 10 2 3 2 3 34 4 13 8 9 31 4 12 9 6 4r2vo4r53 8 3 1 3 1 23 6 6 10 1 29 9 6 12 2 4r2vo4r54 10 2 3 2 3 35 4 13 9 9 32 4 10 12 6 4r2vo4r57 10 2 2 3 3 41 4 10 18 9 28 4 5 13 6 4r2vo4r60 11 2 4 2 3 38 4 16 9 9 38 4 16 12 6 4r2vo4r62 9 0 3 3 3 33 0 6 18 9 33 0 9 18 6 4r2vo4r65 9 3 4 2 0 22 6 12 4 0 29 9 16 4 0 4r2vo4r67 10 2 3 2 3 34 4 12 9 9 32 4 13 9 6 4r2vo4r70 9 3 2 3 1 29 6 12 10 1 35 9 12 12 2 4r2vo4r71 9 3 2 3 1 29 6 12 10 1 35 9 12 12 2 4r2vo4r74 10 3 2 2 3 39 6 12 12 9 40 9 13 12 6 4r2vo4r75 7 1 1 2 3 23 2 4 8 9 19 1 3 9 6

Ara değerlerin ENB ve ENK fonksiyonlarının toplam asal belirleyicileri üzerindeki

etkileri baz fonksiyon için aynı değerlere sahip iki fonksiyon üzerinde analiz edilmiştir.

Çizelge 4.21.’de gösterilen 4r2vo4r17 ve 4r2vo4r57 fonksiyonları, tüm değerler için

birbiri ile aynı olarak dağılımı olan toplam 10 asal belirleyiciye sahiptir. Ancak ENB

fonksiyonu için sırasıyla 32 ve 28 asal belirleyici, ENK fonksiyonu için ise 34 ve 41

asal belirleyiciye sahiptir.

114

Çizelge 4.20. Ara değerlerin farklılıklarını gösteren iki örnek fonksiyon

Baz Fonksiyon ENK Fonksiyon Test Adı Top. AB

“0” AB

“1” AB

“2” AB

“3” AB

Top. AB

“0” AB

“1” AB

“2” AB

“3” AB

4r2vo4r17 10 2 2 3 3 34 4 8 13 9 4r2vo4r57 10 2 2 3 3 41 4 10 18 9

Çizelge 4.22.’de 4r2vo4r17ENK ve 4r2vo4r57ENK fonksiyonları için asal belirleyiciler

karşılaştırma maksadıyla gösterilmiştir.

Çizelge 4.21. 4r2vo4r17ENK ve 4r2vo4r57ENK fonksiyonlarına ait AB’ler

4r2vo4r17ENK

S.No X1 X2 Y1 Y2 O1

1 a a 1 0 0 2 a a 2/3 2 0 3 1 0 a a 0 4 2/3 2 a a 0 5 0 0 0/1 1/2/3 1 6 0 0 0/2/3 0/1/3 1 7 0/1 1/2/3 0 0 1 8 0/1 1/2/3 3 1 1 9 2/3 0/1/3 0 0 1 10 2/3 0/1/3 3 1 1 11 3 1 0/1 1/2/3 1 12 3 1 2/3 0/1/3 1 13 0/1 1/2/3 0/2/3 3 2 14 0/1 1/2/3 1 1/2 2 15 0/1 1/2/3 2 1 2 16 0/2/3 3 0/1 1/2/3 2 17 0/2/3 3 2/3 0/3 2 18 1 1/2 0/1 1/2/3 2 19 1 1/2 2/3 0 2 20 2 0/1/3 2 1 2 21 2 1 0/1 1/2/3 2 22 2 1 2/3 0/3 2 23 2/3 0 0/2/3 3 2 24 2/3 0 1 1/2 2 25 3 0/3 2 1 2 26 2/3 0 1 3 3 27 2/3 0 2/3 0 3 28 2/3 0 0 1/2 3 29 0 1/2 1 3 3 30 0 1/2 2/3 0 3 31 0 1/2 0 1/2 3 32 1 3 1 3 3 33 1 3 2/3 0 3 34 1 3 0 1/2 3

4r2vo4r57ENK

S.No X1 X2 Y1 Y2 O1

1 a a 0/3 1 0 2 a a 2/3 3 0 3 0/3 1 a a 0 4 2/3 3 a a 0 5 0 0/3 1 a 1 6 0 0/3 a 0/2 1 7 0/1 3 2 1 1 8 0/1 3 0 0/3 1 9 1/2 1 2 1 1 10 1/2 1 0 0/3 1 11 2 1 1 a 1 12 2 1 a 0/2 1 13 a 0/2 2 1 1 14 a 0/2 0 0/3 1 15 1 1 1 a 2 16 1 1 3 0 2 17 1 1 a 2 2 18 1 a 1 1 2 19 1 a 2 0/2 2 20 1 a 3 2 2 21 2 0/2 1 a 2 22 2 0/2 2/3 0 2 23 2 0/2 a 2 2 24 3 0 1 1 2 25 3 0 2 0/2 2 26 3 0 3 2 2 27 3 2 1 a 2 28 3 2 3 0 2 29 3 2 a 2 2 30 a 2 1 1 2 31 a 2 2 0/2 2 32 a 2 3 2 2 33 3 0 0 2 3 34 3 0 3 0 3 35 1 0/2/3 0 2 3 36 1 0/2/3 3 0 3 37 3 0 1 0/2/3 3 38 1 0/2/3 1 0/2/3 3 39 0 2 0 2 3 40 0 2 3 0 3 41 0 2 1 0/2/3 3

115

Fonksiyonlara ait Asal Belirleyiciler incelendiği zaman ENB “3” ve ENK “0”

değerlerinin aynı olmasına rağmen “1” ve “2” değerlerinin asal belirleyici sayısının

farklı oldukları görülmektedir. Asal belirleyicilerin vazgeçilmezlerinin üzerinde yapılan

analiz sonucunda farklılığın “aldırma“ değerinin fonksiyonlarda farklı şekilde

oluşumundan meydana geldiği belirlenmiştir. Her iki fonksiyonun Karnaugh haritası

üzerinde vazgeçilmez dağılımı Çizelge 4.23. ve 4.24.’de gösterilmiştir.

Çizelge 4.22. 4r2vo4r17 fonksiyonu “Karnaugh” haritası

00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33

00 18 19 19 19 03 19 19 19 16 16 04 16 16 16 04 16

01 15,8 331 331 225 03 221 221 334 328 223 04 225 328 111 04 225

02 15 331 331 225 03 221 221 334 328 223 04 225 328 111 04 225

03 15,8 219 219 219,25 03 219,21 219,21 219 216 223 04 225 216 111 04 225

10 01 01 01 01 01,3 01 01 01 01 01 01,4 01 01 01 01,4 01

11 15 218 218 218,25 03 218,21 218,21 218 214 223 04 225 214 111 04 225

12 15 218 218 218,25 03 218,21 218,21 218 214 223 04 225 214 111 04 225

13 15 329 329 225 03 221 221 332 326 223 04 225 326 111 04 225

20 18 330 330 224 03 220 220 333 327 222 04 224 327 112 04 224

21 18 217 217 217 03 217 217 217 215 215 04 215 213 112 04 213

22 02 02 02 02 02,3 02 02 02 02 02 02,4 02 02 02 02,4 02

23 18 219 219 219,24 03 219 219 219 216 222 04 224 216 112 04 224

30 18 330 330 224 03 220 220 333 327 222 04 224 327 112 04 224

31 18 110 110 110 03 110 110 110 17 17 04 17 17 17,12 04 17

32 02 02 02 02 02,3 02 02 02 02 02 02,4 02 02 02 02,4 02

33 18 219 219 219,24 03 219 219 219 216 222 04 224 216 112 04 224

Çizelge 4.23. 4r2vo4r57 fonksiyonu “Karnaugh” haritası 00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33

00 17,8 03 18 17,14 18 110 18 114 18 110,12 18 04 18 03 18 04

01 01 01,3 01 01 01 01 01 01 01 01 01 01,4 01 01,3 01 01,4

02 17 03 339 17 335 225 335 335 222 112 222 04 333 03 229 04

03 18 03 18 114 18 110 18 114 18 110 18 04 18 03 18 04

10 16,7 03 341 16,7 338 226 338 338 223 111,12 223 04 337 03 231 04

11 16 03 228 16 215 215,26 215,28 215 223 111 223,28 04 218 03 228,31 04

12 16,7 03 341 16,7 338 225,26 338 338 222,23 111,12 222,23 04 337 03 229,31 04

13 16 03 341 16 338 226 338 338 223 111 223 04 337 03 231 04

20 17 03 232 17 217 217 217,32 217 221 112 221,32 04 220 03 232 04

21 15 03 15 113 15 19 15 113 15 19 15 04 15 03 15 04

22 17 03 232 17 217 217,25 217,32 217 222 112 222,32 04 220 03 229,32 04

23 02 02,3 02 02 02 02 02 02 02 02 02 02,4 02 02,3 02 02,4

30 17 03 340 17 336 224 336 336 221 112 221 04 334 03 227 04

31 01 01,3 01 01 01 01 01 01 01 01 01 01,4 01 01,3 01 01,4

32 17 03 230 17 216 216,25 216,30 216 222 112 222,30 04 219 03 229,30 04

33 02 02,3 02 02 02 02 02 02 02 02 02 02,4 02 02,3 02 02,4

X Y

X Y

116

4.3. Uyumlu ve Uyumsuz Fonksiyonlar

4.3.1. Boolean Uyumsuz Fonksiyonlar

Bölüm 2’de detaylı anlatıldığı üzere boolean fonksiyonlar için her zaman AHMH’nin

doğru sonuç vermeyeceği görülmüştü. Bazı fonksiyonlar için AHMH’ın ön tahmin

metoduyla bulunan Asal Belirleyici sayısından daha az sayıda Asal Belirleyiciye

ulaşmak mümkün olabilmektedir. Uyumsuz olarak isimlendirilen bu fonksiyonlar

aslında en az 4değişkenli fonksiyonlarda görülmekte ve bu fonksiyonlar için bir aileden

gelen 256 adet fonksiyondan oluşmaktadır. Bu aile dışında kalan fonksiyonlar AHMH

teoremine uyumlu olduklarından Uyumlu Fonksiyonlar olarak adlandırılırlar. 4

değişkenli fonksiyonlar için bu aile Çizelge 4.24.’de verilen şablon ile belirlenebilir. Bu

şablondaki değişkenlerin permütasyonu ve/veya tamlaması (NP-equivalent) ile aldırma

“a” olarak belirlenmiş küçükterim değerlerinin “0” ve “1” değerleri ile yer

değiştirilmesi ile 256 fonksiyon oluşturulabilir.

Çizelge 4.24. 4 değişkenli fonksiyonlar için uyumsuz fonksiyon şablonu

00 01 11 10

00 a 1 0 1

01 0 1 1 1

11 1 1 1 1

10 1 0 a 0

Tez çalışması kapsamında yapılan testlerde 4 değişkenli boolean fonksiyonlarda Çizelge

4.26.’de gösterilen test fonksiyonlarında sonuçların ÇDM AHM teoremi ile uyuşmadığı

görülmüştür. Test sonuçlarının incelenmesi sonucu 296 ve 330 no’lu testlerin

birbirinden farklı, 484 no’lu testin ise aslında 296 no’lu testin tersi olduğu

değerlendirildiğinden 296 ve 330 no’lu testler üzerinde analiz çalışması yapılmıştır.

XY

117

Baz Fonksiyon ENK Fonksiyonu ENB Fonksiyonu Test Adı

Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

Top. AB

“0” AB

“1” AB

2r4vo2r296 9 4 5 32 8 24 26 16 10 2r4vo2r330 10 4 6 43 8 35 28 16 12 2r4vo2r484 9 5 4 26 10 16 32 24 8

Her iki testte kullanılan fonksiyonların ve ENK işleci sonrası ulaşılan sonuçlara ait AB

Tabloları Ek-??’de sunulmuştur. 296 ve 330 no’lu fonksiyonların Uyumsuz Fonksiyon

şablonuna uyup uymadığı incelemesi yapılmıştır. 296 No’lu fonksiyon için Çizelge

4.26.’da gösterilen şablonda 0 1 0 1x x y y küçükterimindeki “a” değeri, “1” olarak

seçilmiştir. 0 1 0 1x x y y küçükterimindeki “a” değeri ise “0” olarak belirlenmiştir. Boolean

Uyumlu fonksiyonların belirlenmesinde “En Büyük Bağımsız Küçükterim Kümesi-

EBBKK”nin “eleman sayısı- η” ile “En Küçük Çarpanların Toplamı-EKÇT”nı

oluşturan “asal belirleyici sayısı-τ”nın eşitliği esas alınmaktadır.

Dolayısıyla τ (EKÇT : f) ≠ η (f) ise fonksiyon uyumsuzdur.

Çizelge 4.26. 296 numaralı test için uyumsuz fonksiyon şablonu

00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 1 1 1 1

10 1 0 0 0

+ *

+*

XY

Çizelge 4.25. 4 değişkenli uyumsuz test fonksiyonları

118

1 2,Y Y 1 2,Y Y 1 2,Y Y

Şekil 4.8.’de yapılan dönüşüm işlemi ile Y2 ve X2 değişkenleri tamlanarak Çizelge

4.26.’daki şablonda gösterilen Uyumsuz Fonksiyon elde edilmiştir.

Şekil 4.8. 296 numaralı fonksiyonun dönüşümü

00 01 11 10

00 1 0 1 1

01 1* 1 1* 0

11 0 1* 0 0

10 1* 1 1 1

Şekil 4.9. 296 numaralı fonksiyonun tüm Asal Belirleyicileri ve EBBKK Şekil 4.9.’daki Karnaugh haritasında yanlarında “*” işareti ile gösterilen küçükterimler

296 Numaralı fonksiyon için En Büyük Bağımsız Küçükterim Kümesi

={0001,1101,0010,0111}’ni 4 eleman oluşturmaktadır.

00 01 11 10

00 1 0 1 1

01 1* 1 1* 0

11 0 1* 0 0

10 1* 1 1 1

Şekil 4.10. 296 numaralı fonksiyonun En Küçük Çarpanların Toplamı Bu fonksiyon için En Küçük Çarpanların Toplamını oluşturan 5 asal belirleyici Şekil

4.10.’da gösterilmiştir. Dolayısıyla 296 numaralı fonksiyon için τ (EKÇT : f)=5, η

00 01 11 10

00 1 0 1 1

01 1 1 1 0

11 0 1 0 0

10 1 1 1 1

00 01 11 10

00 1 1 1 0

01 1 0 1 1

11 1 1 1 1

10 0 1 0 0

00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 1 1 1 1

10 1 0 0 0

1 2,X X 1 2,X X 1 2,X X

119

(f)=4’dür. 296 numaralı fonksiyon için τ (EKÇT : f) ≠ η (f) olması nedeniyle uyumsuz

fonksiyondur.

330 no’lu fonksiyonda ise 4 adet “0” değeri vardır, dolayısıyla Çizelge 4.27.’deki

şablonda gösterilen 0 1 0 1x x y y ve 0 1 0 1x x y y küçükterimleri’ndeki “a” değeri, “1” olarak

seçilmiştir.

Çizelge 4.27. 330 numaralı test için uyumsuz fonksiyon şablonu

00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 1 1 1 1

10 1 0 1 0

330 no’lu fonksiyona ait tüm asal belirleyiciler ve En Büyük Bağımsız Küçükterim

Kümesini oluşturan küçükterimler “*” ile Şekil 4.11.’de gösterilmiştir. 330 numaralı

fonksiyon için En Büyük Bağımsız Küçükterim Kümesi ={0000, 1100, 0101, 1011,

0110}den oluşmaktadır.

Şekil 4.11. 330 Numaralı Fonksiyona Ait Tüm Asal Belirleyiciler ve EKÇT

00 01 11 10

00 1* 0 1* 1

01 1 1* 0 1

11 1 0 1 1*

10 1 1* 1 0

XY

1 2,Y Y1 2,X X

120

1 2,X X1 2,Y Y

21,YY

Şekil 4.12. 2330 numaralı fonksiyonun En Küçük Çarpanların Toplamı

En Küçük Çarpanların Toplamını oluşturan 6 asal belirleyici Şekil 4.12.’de

gösterilmiştir. 330 numaralı fonksiyon için τ (EKÇT : f)=6, η (f)=5’dir. Bu fonksiyon

için τ (EKÇT : f) ≠ η (f) olması nedeniyle uyumsuz fonksiyon olarak belirlenmiştir.

Şekil 4.13. 330 numaralı test fonksiyonuna ait dönüşüm işlemi Şekil 4.13.’de gösterilen dönüşüm işleminde önce değişkenlerin sıralaması değiştirilmiş,

daha sonra 1 2,X X değişkenleri tamlanmıştır. Daha sonra 1Y değişkeni tamlanarak 256

Uyumsuz Fonksiyondan bir tanesi elde edilmiştir. Uyumsuz fonksiyonlar, Boolean

fonksiyonlar için ÇDM AHM teoreminin uygulanmasında bir soru işaretini ortaya

koyan fonksiyonlardır. Küçük değişken sayısına sahip fonksiyonlarda uyumlu

fonksiyonlara nazaran önemli sayıda olmasalar bile değişken sayısı arttıkça bu oranın

büyüdüğü Çizelge 4.28.’de de Sasao ve Butler (2001) tarafından rapor edilmiştir.

00 01 11 10

00 1* 0 1* 1

01 1 1* 0 1

11 1 0 1 1*

10 1 1* 1 0

00 01 11 10

00 1* 0 1* 1

01 1 1* 0 1

11 1 0 1 1*

10 1 1* 1 0

00 01 11 10

00 1 1 1 1

01 0 1 0 1

11 1 0 1 1

10 1 1 1 0

00 01 11 10

00 1 0 1 1

01 1 1 1 0

11 1 1 1 1

10 0 1 0 1

00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 1 1 1 1

10 1 0 1 0

1 2,X X 1 2,Y Y

1 2,X X

1 2,X X

1 2,Y Y1 2,X X

121

Çizelge 4.28. Değişken sayısına göre uyumsuz fonksiyon oranları

Değişken Sayısı Uyumsuz Fonksiyon Oranı

5 1

6 4

7 13

8 34

9 81

10 100

4.3.2. Çoklu Değerli Uyumsuz Fonksiyonlar

Uyumsuz fonksiyonların yaratılmasında esas alınan Çoğunluk Fonksiyonunun (Ülker

2002) sadece Boolean fonksiyonları için geçerli olması nedeniyle ÇDM

fonksiyonlarında uyumsuzluk kavramının olup olmadığı konusunda bir belirsizlik

mevcuttur. Karşılaşılan bir başka sorun ise, değişken sayısı ve giriş/çıkış değer sayısı

arttıkça ENB ve ENK fonksiyonlarının yaratılma ve espresso kullanılarak küçültülme

işleminin çok zaman almasıdır. Test algoritması gereği; test programı verilen zaman

içerisinde –Dexact seçeneğini kullanarak sonuca ulaşamaz ise, espresso –Dexact

işlemini sonlandırarak hüristik kullanan espresso işlemini başlatmaktadır. Tam sonucu

bulan espresso sonuçları ile hüristik kullanılarak bulunan espresso sonuçları dosya

uzantılarının farklı olması nedeniyle ayırt edilebilmektedir. Çizelge 4.29.’de verilen

sonuçlar incelendiğinde ENB ve ENK işlemlerine ait sonuçların beklenen sonuçlara eşit

veya büyük olduğu görülmektedir. Büyük olan sonuçlar, hüristik kullanılması nedeniyle

espresso’nun tam sonuca ulaşamadığını göstermektedir. Bu nedenle tablonun

incelenmesinde, eşit veya büyük rakamlar teoremin doğruluğunu göstermektedir.

Ancak, 3r4vo3r23 numaralı test, ENB işlemi sonunda beklenenden daha az sayıda “0”

değerine sahip AB üretmiştir.

122

Çizelge 4.29. 3 giriş ve çıkış değerli, 4 değişkenli fonksiyonlar

Baz Fonksiyon ENK Fonksiyonu ENB Fonksiyonu Test Adı Total AB

“0” AB

“1” AB

“2” AB

Total AB

“0” AB

“1” AB

“2” AB

Total AB

“0” AB

“1” AB

“2” AB

3r4vo3r0 39 12 15 12 449 24 281 144 457 144 289 24 3r4vo3r1 38 11 13 14 439 22 221 196 438 141 269 28 3r4vo3r2 39 15 12 12 449 32 272 145 528 247 257 24 3r4vo3r3 37 12 11 14 423 24 203 196 417 144 245 28 3r4vo3r4 40 14 13 13 480 28 283 169 553 196 331 26 3r4vo3r7 38 11 14 13 451 22 260 169 432 121 285 26 3r4vo3r8 36 11 13 12 357 22 191 144 398 121 253 24 3r4vo3r11 39 12 13 14 489 24 269 196 439 144 267 28 3r4vo3r14 40 13 14 13 468 26 273 169 440 169 245 26 3r4vo3r15 38 11 12 15 465 22 217 226 429 121 278 30 3r4vo3r17 37 12 13 12 430 24 251 155 448 155 269 24 3r4vo3r19 39 13 13 13 471 26 276 169 449 169 254 26 3r4vo3r22 35 10 13 12 395 20 227 148 373 100 249 24 3r4vo3r23 37 13 13 11 383 26 236 121 455 168 265 22 3r4vo3r24 37 13 13 11 383 26 236 121 467 169 276 22 3r4vo3r26 38 12 15 11 399 24 254 121 428 144 262 22 3r4vo3r28 38 13 13 12 421 26 249 146 450 171 255 24 3r4vo3r29 39 14 12 13 514 28 315 171 496 196 274 26

169 veya daha büyük olması gereken ENB işleci sonunda üretilen “0” AB’sinde, 168

AB mevcuttur. İşlem hatası olabileceği düşünülerek sadece 3r4vo3r23 numaralı test

üzerinde espresso –Dexact kullanılarak küçültme işlemi yapılmış ve yine aynı sonuca

ulaşılmıştır. 3r4vo3r23 numaralı test fonksiyonundan üretilen fonksiyona ait Karnaugh

haritası Şekil 4.10.’da gösterilmiştir.

00 01 02 10 11 12 20 21 22

00 2 2 0 1 0 0 2 0 1 01 2 2 0 1 1 1 0 1 0 02 2 2 0 2 2 2 2 1 0 10 0 1 2 1 1 1 0 1 1 11 1 0 0 1 1 2 0 1 0 12 0 0 0 2 0 1 1 2 0 20 1 2 2 1 2 1 2 0 0 21 0 0 0 2 2 0 1 1 1 22 2 2 0 0 1 2 2 0 0

Şekil 4.14. 3 giriş ve çıkış değerli, 4 değişkenli uyumsuz fonksiyon (ENB)

123

Aynı fonksiyonda yapılacak değişiklikle, ENK işleci kullandığında teoreme uymayan

fonksiyonu oluşturmak da mümkündür. Bu durumda “2” değerini alan AB’ler uyumsuz

fonksiyonu oluşturacaklardır. ENK işleci kullanıldığında uyumsuz davranış gösteren

fonksiyona ait Karnaugh haritası Şekil 4.11.’de gösterilmiştir.

00 01 02 10 11 12 20 21 22

00 0 0 2 1 2 2 0 2 1 01 0 0 2 1 1 1 2 1 2 02 0 0 2 0 0 0 0 1 2 10 2 1 0 1 1 1 2 1 1 11 1 2 2 1 1 0 2 1 2 12 2 2 2 0 2 1 1 0 2 20 1 0 0 1 0 1 0 2 2 21 2 2 2 0 0 2 1 1 1 22 0 0 2 2 1 0 0 2 2

Şekil 4.15. 3 giriş ve çıkış değerli, 4 değişkenli uyumsuz fonksiyon (ENK) Yeni oluşturulan fonksiyonun ENB ve ENK işleci ile işleme tutulması sonucu oluşan

yeni fonksiyonlar espresso- Dexact kullanılarak küçültülmüş ve Çizelge 4.30.’da verilen

sonuçlara ulaşılmıştır. Çizelgeden de görüleceği üzere ENK için de bir uyumsuz

fonksiyon oluşturulmuştur.

Çizelge 4.30. ENK işlemi sonucunda ulaşılan uyumsuz fonksiyon

Uyumsuz olduğu belirlenen 3r4vo3r23 baz fonksiyonunun AB’leri ile, uyumsuzluk

özelliğini gösterdiği 3r4vo3r23ENB fonksiyonuna ait AB’ler, bir Microsoft Excel

tablosunda bir araya getirilerek, 3r4vo3r23ENB fonksiyonunu oluşturan “tekrarlanan

AB’ler” karşılaştırılmıştır. Aynı işlem uyumlu olduğu Çizelge 4.29.’da görülen

3r4vo3r8ENB ve 3r4vo3r14ENB için de tekrarlanmıştır. Yapılan analizde önce espresso

-Dexact tarafından baz fonksiyonun AB’leri, daha sonra ise uyumsuz sonucu veren

işlem ile oluşan fonksiyonun AB’leri bulunmuştur. Bu AB’ler içerisinden uyumsuz

özelliğini gösteren “0” değerine ait AB’ler çekilerek Excel tablosuna aktarılmıştır.

Excel tablosunda yan yana konularak yeniden sıralanan AB değerleri analize tabi

tutulmuştur. Analiz altına alınan husus uyumlu ve uyumsuz fonksiyonların AB’lerinin

Baz Fonksiyon ENK Fonksiyonu ENB Fonksiyonu Test Adı Total AB

“0” AB

“1” AB

“2” AB

Total AB

“0” AB

“1” AB

“2” AB

Total AB

“0” AB

“1” AB

“2” AB

3r4vo3r_t 37 11 13 13 455 22 265 168 383 121 236 26

124

teorem ile yaratılan Asal Belirleyici Tablosu ile ENB Fonksiyonunun hesaplanmasından

sonra küçültülmesi ile elde edilen Asal Belirleyicilerin arasındaki farklılıkları

belirlemektir. Yapılan çalışmada baz fonksiyon ve oluşturulan fonksiyonun tekrarlanan

Asal Belirleyiciler karşılaştırılmıştır. Karşılaştırmada; önce aynı olan Asal Belirleyiciler

silinmiş, kalan Asal Belirleyiciler aldırma değerlerinden arındırılarak (açılarak) yeniden

karşılaştırma yapılmıştır. Uyumlu fonksiyonlarda iki durum ve uyumsuz fonksiyonlarda

bir farklı durum meydana geldiği görülmüştür. Aşağıda uyumlu fonksiyonlar olan

3r4vo3r8 ve 3r4vo3r14 için analiz sonuçları sırasıyla Çizelge 4.31. ve Çizelge 4.32’de

görülmektedir.

Çizelge 4.31 3r4vo3r8 test fonksiyonu için gerçekleştirilen analiz tabloları

X1 X2 Y1 Y2 X1 X2 Y1 Y2

0 1 1 2 2 2 2 2

0 1 2 0/1 0 1 1 2

0 2 2 0 0 2 2 0

1 1 1 1 1 1 1 1

1 1/2 1 2 1 1/2 1 2

1 a 1 0 2 1 0/1 1

2 1 2 0 0 1 2 0/1

2 1 0/1 0/1 0/2 0 0 0/1

2 2 2 2 2 1 a 0

2 a 0 0 2 a 0 0

3r4v

o3r8

0/2 0 0 0/1

3r4v

o3r8

ENB

1 a 1 0

X1 X2 Y1 Y2

X1 X2 Y1 Y2

2 1 2 0 2 1 0 1

2 1 0 0 0 0 0 0

0 0 0 0 2 1 0 0

2 1 0 1 2 1 1 1

2 1 1 0 0 0 0 1

2 1 1 1 2 0 0 0

0 0 0 1 2 0 0 1

2 0 0 0 2 1 1 0

2 0 0 1

2 1 2 0

125

Çizelge 4.31.’de gösterilen tablolardan üstte görülen tablolar karşılıklı aynı olan asal

belirleyicilerin silinmesinden önceki durumu, alttaki tablolar ise üst tablolarda farklı

olarak görülen ve beyaz fon ile gösterilen asal belirleyicilerin yeniden karşılaştırılmasını

göstermektedir. Görüldüğü üzere her iki tablodaki asal belirleyiciler birbirine uyum

göstermektedir.

Uyumlu fonksiyonlar için ikinci örnek ise Çizelge 4.32.’de görüldüğü üzeredir. Çizelge 4.32. 3r4vo3r14 test fonksiyonu için gerçekleştirilen analiz tabloları

X1 X2 Y1 Y2 X1 X2 Y1 Y2

0 0 0/1 2 0 0 2 1/2

0 1 2 0 0 1 2 0/1 0 2 1 0/1 0 2 1 0/1

0 0/1 1/2 1 0 0/1 1 1

1 0 0 1 1 0 0 1

1 1 2 1 1 1 2 1

1 2 2 a 1 2 2 a

1 1/2 1 0 1 1/2 1 0

2 0 0 2 2 0 2 0

2 0 2 0 2 1 1 1

2 1 1 1

3r4v

o3r8

14EN

B

2 2 2 2

2 2 2 2 2 2 0/1 1/2

3r4v

o3r1

4

2 2 0/1 1/2 0/1 0 0 2 X1 X2 Y1 Y2

X1 X2 Y1 Y2

0 0 0 2 0 0 0 2

0 0 1 1 0 0 1 1

0 0 1 2 0 0 2 1

0 0 2 1 0 0 2 2

0 1 1 1 0 1 1 1

0 1 2 0 0 1 2 0

0 1 2 1 0 1 2 1

2 0 0 2

1 0 0 2 Çizelge 4.32.’de asal belirleyicilerin sayısı aynı olmasına rağmen değişkenlerin

değerlerinde farklılık görülmektedir. Ancak farklı olan asal belirleyiciler incelendiğinde

126

değerlerin asal belirleyici içerisinde aynı oldukları görülmektedir. Yani “0012” ve

“1002” ile “2002” ve “0022”de olduğu gibi.

Uyumsuz özellikleri gösteren 3r4vo3r23’e ait Çizelge 4.33’de verilen asal belirleyiciler

incelendiğinde ise farklı bir sonuç ile karşılaşılmaktadır.

Çizelge 4.33. 3r4vo3r23 test fonksiyonu için gerçekleştirilen analiz tabloları

X1 X2 Y1 Y2 X1 X2 Y1 Y2

0 0 1 0/2 0 1/2 1 1 0 1 1 1/2 0 2 0 a 0 2 0/1 1 0 a 1 2 0 a 2 1 0 a 2 1 1 0 2 2 1 0 2 2 1 1 1 2 1 1 1 2 1 2 2 1 1 2 2 1 2 0 1 0 1 1/2 0 0 2 0/2 0/1 1 2 1 0 0 2 1/2 2 0/2 2 1/2 2 0/2

0/1 2 0 0 2 0/2 0/1 1 0/2 2 a 2 0/2 0 1 0

3r4v

o3r2

3

1/2 1 0 0

3r4v

o3r2

3EN

B

0/2 2 a 2

X1 X2 Y1 Y2 X1 X2 Y1 Y2

0 0 1 0 0 0 1 2 0 0 1 2 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 2 0 1 1 2 0 2 0 1 0 2 0 0 0 2 0 0 0 2 0 1 0 2 1 1 0 2 0 2 1 1 0 0 0 2 1 1 1 2 0 0 0 2 1 2 2 0 1 0 1 1 0 0

2 1 0 0 1 2 0 0 2 0 1 0 2 1 0 0

127

Çizelge 4.33.ve 4.34.‘den de açıkça görüleceği üzere yapılan karşılaştırma işlemi

sonrasında asal belirleyici sayılarının aynı olmadığı görülmektedir. Asal belirleyici

sayılarındaki eşitsizlik uyumsuz fonksiyonların belirleyici bir özelliği olarak ortaya

konulmuştur.

Çizelge 4.34. 3r4vo3r23 için doğruluk tabloları

00 01 02 10 11 12 20 21 22 00 2 2 011 1 013 011 2 013 1 01 2 2 03 1 1 1 09 1 09 02 2 2 012 2 2 2 2 1 012 10 01 1 2 1 1 1 08 1 1 11 1 02 03 1 1 2 09 1 09 12 01 02 012 2 06 1 1 2 012 20 1 2 2 1 2 1 2 010 010 21 04 04 04 2 2 07 1 1 1 22 2 2 012 05 1 2 2 010 010,12

Sonuç olarak, giriş ve çıkış değerleri 3’lü değerli olan 4 değişkenli fonksiyonlar

üzerinde gerçekleştirilen testlerde, uyumsuz fonksiyon tanımına uyan çoklu değerli

fonksiyonlar bulunmuştur.

S.No X1 X2 Y1 Y2

1 0 0 1 0/2

2 0 1 1 1/2

3 0 2 0/1 1

4 0 a 2 1

5 1 0 2 2

6 1 1 1 2

7 1 2 2 1

8 2 0 1 0

9 2 0/2 0/1 1

10 2 1/2 2 0/2

11 0/1 2 0 0

12 0/2 2 a 2

3r4v

o3r2

3

13 1/2 1 0 0

128

5. SONUÇ ve ÖNERİLER Bu bölümde tez kapsamında çalışma alanına sağlanan katkılar ve yapılan çalışmanın

sonucu özet olarak rapor edildikten sonra, bundan sonra yapılması önerilen çalışmalar

hakkında bilgi verilmiştir.

5.1. Sonuçların İrdelenmesi

Bu tez çalışması ile öncelikle yalnızca mantık sentezi alanı değil, çoklu değerli mantık

kullanan makine öğrenimi, veri madenciliği gibi konularda da faydalı olabilecek Çok

Amaçlı CASE algoritması geliştirilmiştir. Hâlihazırda kullanılan ve CASE algoritmasını

esas alan veya almayan algoritmaların sadece ENB ve ENK işleçlerini gerçekleştirmek

üzere tasarlanmış olduğu sonucuna, yazılı dizinde yapılan araştırmalar sonrasında

ulaşılmıştır. ENB ve ENK işleçlerinin kullanımı, konuya sadece mantık sentezi

açısından bakıldığında yeterli olarak görülebilmektedir. Bununla beraber diğer çalışma

alanları için sadece bu iki işleç yeterli değildir.

Çok Amaçlı CASE algoritmasında kullanılmak üzere geliştirilen CASE algoritması ile

yazılı dizinde rapor edilen CASE algoritmaları karşılaştırıldığı zaman, farklı olarak

tasarlandıkları dikkati çekmektedir. Tez çalışması kapsamında geliştirilen algoritma

birebir olarak ÇDM Shannon açılımı teoremine uygun olarak tasarlanmıştır. Bu tasarım

sayesinde, verilen fonksiyon doğruluk tablolarına uygun davranış gösteren Shannon

Açılımını sağlamak mümkün olmaktadır. Kullanılacak fonksiyon doğruluk tablolarının

seçimindeki serbestlik, mantık sentezi için büyük öneme sahip olmamasına rağmen,

mevcut bilgi bankaları içerisinde kavram ve bağlantı araştırması yapan bilgi kazısı1

sistemleri için vazgeçilmez bir gerekliliktir. Fonksiyon doğruluk tabloları istenilen

çoklu değer seviyesi için değiştirilebileceği gibi, aynı zamanda sonuçlar istenilen değeri

alacak şekilde düzenlenebilmektedir. Bu özellik, anket sonuçlarına dayanan bir

fonksiyon tablosu hazırlanmasına bile imkân verebilmektedir. Bir diğer uygulama alanı

da bulanık mantık için kullanılabilecek dinamik fonksiyon doğruluk tablolarıdır.

1 Information Retrieval

129

Tez çalışması kapsamında geliştirilen Çok Amaçlı CASE algoritması, bu çalışmada

sadece ENB ve ENK işleçleri fonksiyon doğruluk tablolarını kullanarak ÇDM Karar

Çizeneklerinin oluşturulmasında ve gösterilmesinde kullanılmıştır.

Tez çalışması ile özellikle son yıllarda ağırlıkla önem verilen fonksiyonel ayrıştırmanın

getirdiği ilerlemenin değerlendirilmesi yapılmıştır. Boolean mantık için yazılı dizinde

yapılan çalışmalarda, ikili ayrıştırma kullanımı ile uygulanması öngörülen “böl ve

fethet” metodunun her zaman en iyi sonucu vermeyeceği gösterilmiştir. Boolean mantık

için gerçekleştirilen böl ve fethet metodu, değişik araştırmacılar tarafından çoklu değerli

mantık için de önerilmektedir.

Yapılan çalışma sonucunda geliştirilen ÇDM Ayrık Hesaplama Metodu teoremi ile tüm

ÇDM tanım kümesinde “böl ve fethet” metodunun sonuçlarının her zaman en etkin

küçültmeyi verip vermediği incelenmiştir. ÇDM Ayrık Hesaplama Metodu teoremi ile

ikili ayrık ayrıştırma “böl ve fethet” metodunun çoklu değerli bir mantık fonksiyonu

için asal belirleyici sayısının sadece en küçük ve en büyük çıkış değerleri için önceden

belirlenebileceği gösterilmiştir. Diğer ara çıkış değerleri için ise asal belirleyicilerin

rasgele olarak küçükterimlerin dağılımına bağlı olarak oluştuğu ortaya konulmuştur.

Fonksiyonun giriş ve çıkış değer seviyesi iki olarak belirlendiği zaman ÇDM Ayrık

Hesaplama Metodu tamamen ikili mantık kurallarına uygun bir teorem haline

gelmektedir. Bu durum bir sonurgu olarak ayrı bir tanım başlığı altında ifade edilmiştir.

Bu sonuç ışığında “böl ve fethet” kavramının çoklu değerli giriş, ikili değerli çıkışa

sahip fonksiyonlarda kullanılabileceği, diğer iki kategori fonksiyonda ise kullanımın

sınırlı olacağı değerlendirilmiştir.

Tez çalışmasında ulaşılan bir diğer sonuç ise uyumlu ve uyumsuz fonksiyonlar

kavramının çoklu değerli mantık fonksiyonları için de geçerli olduğunun

gösterilmesidir. Yapılan deneyler sonucunda dört değişkenli fonksiyonlar için teorem

ile ortaya konulan kurallara uymayan az sayıda fonksiyonun mevcudiyeti

görülmektedir. Boolean mantık uyumsuz fonksiyonları, en büyük bağımsız küçükterim

kümesindeki eleman sayısı ile vazgeçilmez asal belirleyici sayısının eşit olmaması

durumunda önceden belirlenebilmektedir. Enbüyük Bağımsız Küçükterim Kümesi

130

sadece ikili mantık fonksiyonları için tanımlanmış olması nedeniyle çoklu değerli

fonksiyonlar için önceden uyumsuz fonksiyonları belirlemek mümkün değildir.

Çoklu değerli mantık alanında mantık sentezi maksadı ile ikili ayrık ayrıştırma metodu

kullanılarak gerçekleştirilecek “böl ve fethet” metodunun her zaman en küçük

fonksiyona ulaşılmasını sağlamayacağı sonucuna ulaşılmıştır. Bununla beraber,

özellikle değişken ve değer sayısı büyük olan fonksiyonların küçültme işleminde “böl

ve fethet” metodu, ihtiyaç duyulan işlemci gücü ve bellek göz önüne alındığında tek

imkân olabilmektedir. Bu durumda teorem, beklenilen sonuçlar için bir ön kestirim

olanağı sağlamaktadır.

5.2. Katkıların Doğurduğu Sonuçlar

Tez çalışması sonucunda ortaya konulan ürünlerin sağladığı yetenekler aşağıda

belirtildiği gibidir.

• Çoklu Değerli Mantık Karar Çizenekleri konusunda gerçekleştirilen katkılar

sonucunda;

ÇDM Shannon Açılımına uygun bir detaylı CASE algoritması geliştirilmiş, bu

algoritmanın kullanımı ile Çoklu Değerli Mantık Karar Çizeneklerinin

oluşturulmasında kolaylık sağlanmıştır.

Serbest olarak tanımlanabilen fonksiyon tablolarını kullanılabilecek Çok Amaçlı

CASE Algoritması ile standart fonksiyon tanımlarının dışında kalan fonksiyon

doğruluk tablolarının ve bu fonksiyon doğruluk tablolarının kullanılmasıyla

istenilen her fonksiyonun bir işleç olarak kullanılabilmesi sağlanmıştır.

Çoklu Değerli Mantık Karar Çizeneklerini oluşturabilen ve grafik olarak

gösterebilen bir yazılım paketinin Java programlama dili ile geliştirilmesi

neticesinde, verilen bir fonksiyon doğruluk tablosundan ÇDM Karar çizeneğinin

oluşturulması ve gösterilmesi sağlanabilmektedir. Java Programlama dilinin

131

kullanılması nedeniyle oluşturulan kütüphaneler sayesinde yazılım

genişletilebilecek veya başka uygulama alanlarına taşınabilecek yetenektedir.

• Çoklu Değerli Mantık İkili Ayrık Ayrıştırma konusunda gerçekleştirilen katkılar;

Çoklu Değerli Mantık fonksiyonlarının ikili ayrık ayrıştırması sonucunda elde

edilecek sonuçların ön kestirimi için geliştirilen ÇDM Ayrık Hesaplama Metodu

teoremi ile ÇDM fonksiyonlarının karmaşıklığı nedeniyle ayrıştırma

kullanımının getirdiği avantaj ve dezavantajlar ortaya konulmuştur.

Çoklu Değerli Mantık fonksiyonları için Uyumlu ve Uyumsuz fonksiyonlar

kavramının varlığının gösterilmesi ile ulaşılan ÇDM Ayrık Hesaplama Metodu

teoreminin her zaman en uygun sonucu vermediği belirlenmiştir.

Çoklu Değerli Mantık Uyumsuz Fonksiyonları için yapılan deney çalışmaları ile

sonuçlar deneysel olarak da desteklenmiştir.

5.3. Öneriler

Tez çalışmasının tamamlanması ile birlikte ulaşılan noktadan daha ileriye ilerlemek için

iki ayrı başlık altında aşağıda tanımlanan çalışmaların yapılması önerilmektedir.

• Çoklu Değerli Mantık Karar Çizenekleri kapsamında yapılması önerilen

çalışmalar;

Değişken sıralaması ÇDM Karar Çizeneklerinin en küçük hale getirilmesinde

kullanılan önemli etkenlerden bir tanesidir. Bu tez çalışmasının ana amacı Çoklu

Değerli Mantık Karar Çizenekleri üzerinde çalışma olmaması nedeniyle ÇDM Karar

Çizenekleri yazılımında dinamik değişken sıralaması değişimi algoritmaları

uygulanmamıştır. Bu konuda yapılacak çalışma ile JADE yazılım paketine benzer bir

yazılımın geliştirilmesi uygun olacaktır.

Çok Amaçlı CASE Algoritmasının mantık sentezi çalışmalarına olduğu kadar, veri

madenciliği ve bulanık mantık çalışmalarına da katkı sağlayabilecek bir algoritma

olması nedeniyle, bu alanlarda uygulamaların geliştirilmesi faydalı olacaktır.

132

Bulanık mantık uygulamalarında bulanık mantık’a çevirme sonrasında ortaya çıkan

ÇDM fonksiyonlarının karar çizenekleri kullanılarak işlenilmesi, Bilgi tabanında

ilişkilerin doğruluk tablosu halinde bulundurulması ve Çok Amaçlı CASE Algoritması

kullanılarak işlemlerin hızlandırılması konusunda bu tez çalışmasında elde edilen

sonuçların kullanılabileceği değerlendirilmektedir.

• ÇDM Ayrık Hesaplama Metodu Teoremi ile Uyumlu ve Uyumsuz fonksiyonlar

kapsamında yapılması önerilen çalışmalar;

ÇDM Ayrık Hesaplama Metodu Teoremi en küçük ve en büyük değerler için

önkestirim sonuçlarını vermekle birlikte ara değerlerin oluşumu konusunda bir hipotez

mevcut değildir. Deney sayısının arttırılarak bir patern belirlenmesinin mümkün olup

olmadığı istatistiksel olarak incelenmesi uygun olacaktır.

Enbüyük Bağımsız Küçükterim Seti tanımı ÇDM için geçerli olmaması nedeniyle

uyumsuz fonksiyonların oluşumuna etki eden yapıların incelenmesi faydalı olacaktır.

5.4. Genel Değerlendirme Bu tez çalışması ile sonucunda elde edilen Çok Amaçlı CASE algoritmasının mantık

sentezi alanında olduğu kadar, bulanık mantık ve veri madenciliği alanlarında da faydalı

olabilecek bir yetenek olduğu değerlendirilmektedir. Çoklu Değerli Mantık Ayrık

Hesaplama Metodu teoremi ve buna bağlı olarak ortaya konulan ÇDM uyumsuz

fonksiyonları kavramının, sadece Boolean fonksiyonlar için gerçekleştirilmiş bir

çalışmayı ÇDM alanına taşıyarak fonksiyonel ayrıştırma “böl ve fethet” metodu ile ilgili

yapılan çalışmaları tamamlayıcı nitelikte olduğu mütalaa edilmektedir.

133

KAYNAKLAR

Adams, K. 2000. Notes on A Three Valued Logic Algebra, www.qub.ac.uk/ivs/mvl/ken-

adams.pdf.

Akers, S.B. 1978. Binary Decision Diagrams. IEEE transactions on Computers, Vol. C–

27, No.6, 509–516.

Ashenhurst, R.L. 1959. The Decomposition of Switching Functions. International

Symposium on the Theory of Switching Functions, 74-116.

Babu, H.M.H. and Sasao, T. 2000. Heuristics to Minimize Multiple-Valued Decision

Diagrams. IEICE Transactions on Fundamentals Vol.E83 No.12, 2498-2504.

Bollig, B., Sauerhoff, M., Sieling, D. and Wegener, I. 2002. Binary Decision Diagrams.

Boolean Functions Vol. II, http://ls2-www.cs.uni-

dortmund.de/%7Ewegener/papers/bdds.ps.

Brace, K.S., Rudell, R.L., and Bryant R.E. 1991. Efficient Implementation of a BDD

Package. Proceedings of the 27th ACM/IEEE Conference on Design

Automation, 40-45.

Brand, D. and Sasao, T. 1993. Minimization of AND-EXOR Expressions Using Rewrite

Rules. IEEE Transactions on Computers Vol.42 No.5, 568-576.

Brayton R. 2005. Espresso two level minimization. http://www-

cad.berkeley.edu/~brayton/courses/219b/ppslides/2-espresso.ppt.

Brayton, R. and Khatri, S. 1999. Multi-Valued Logic Synthesis. International

Conference on VLSI Design, http://www-

cad.eecs.berkeley.edu/Respep/Research/mvsis/doc/mvsis_main.pdf.

Bryant, R.E. 1986. Graph Based Algorithms for Boolean Function Manipulation. IEEE

Transactions on Computers, Vol.35 No.8, 677–691.

Butler, J.T. and Sasao, T. 1998. On the Properties of Multiple-Valued Functions That

Are Symmetric in Both Variable Values and Tables. . International Symposium

on Multiple-Valued Logic ISMVL 1998, 83-88.

Butler, J.T., Dueck, G.W., Yanushkevich, S. and Shmerko, V.P. 2000. Comments on

"Sympathy: Fast Exact Minimization of Fixed Polarity Reed-Muller Expansion

134

for Symmetric Functions. IEEE Transactions on Computer-Aided Design of

Integrated Circuits and Systems, 1-7.

Butler, J.T., Dueck, G.W., Yanushkevich, S. and Shmerko, V.P. 2000a. On the Number

of Generators for Transeunt Triangles. IEEE Applied Math, 1-8.

Butler, J.T., Dueck, G.W., Yanushkevich, S. and Shmerko, V.P. 2000b. On the use of

transeunt triangles to synthesize fixed-polarity Reed-Muller expansions of

symmetric functions. IEEE Proceedings, 1-17.

Butler, J.T., Herscovici, D.S.,Sasao, T. and Barton III, R.J. 1997. Average and Worst

Case Number of Nodes in Decision Diagrams of Symmetric Multiple-Valued

Functions. IEEE Transactions On Computers Vol.46 No.4, 491-494.

Chai, D., Jiang, J.H., Jiang, Y., Li, Y., Mishchenko, A. and Brayton, R. 2003. MVSIS

2.0 User's Manual. University of California at Berkeley, 13 p.

Cordone, R., Ferrandi, F., Sciuto, D. and Calvo, R.F. 2001. An Efficient Heuristic

Approach to Solve the Unate Covering. Transactions on Computer Aided Design

of Integrated Circuits and Systems, 20(12), 1377-1388.

Curtis, H. 1963. Generalized Tree Circuit-the Basic Block of an Extended

Decomposition Theory. ACM, Vol.10, 562-581.

Damiani, M. and Bertacco, V. 1997. The Disjunctive Decomposition of Logic

Functions. Proc. of the International Workshop on Logic Synthesis (IWLS'97),

78-82.

Debnath, D. and Sasao, T. 1995. GRMIN: A Heuristic Simplification Algorithm for

Generalized Reed-Muller Expressions. Proceedings of the 1995 Conference on

Asia Pacific Design Automation, 341-347.

Debnath, D. and Sasao, T. 1997. Minimization of AND-OR-EXOR Three-Level

Networks with AND Gate Sharing. IEICE Transactions on Fundamentals

Vol.E80 No.10, 1001-1008.

Debnath, D. and Sasao, T. 1999. Multiple-Valued Minimization to Optimize PLAs with

Output EXOR Gates. IEEE International Symposium on Multiple-Valued Logic,

99-104.

Devadas, S., Keutzer, K. and Newton, N. 2000. 2 level logic minimization EECS244

Lecture Notes. http://www-inst.eecs.berkeley.edu/~ee244/fa98/Lectures.htm.

135

Drechsler, N., Hilgemeier, M., Fey, G., and Drechsler, R. 2004. Disjoint Sum of

Product Minimization by Evolutionary Algorithms. Applications of Evolutionary

Computing, EvoWorkshops 2004, 198-207.

Drechsler, R. 1999. Pseudo-kronecker Expressions for Symmetric Functions. IEEE

Transactions on Computers, Vol.48, No.9, 987-990.

Drechsler, R. and Römmler, J. 2002. Implementation and Visualization of a BDD

Package in Java. GI/ITG/GMM Workshop "Methoden und

Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und

Systemen", 219-228.

Dubrova, E. 2002. Multiple-Valued Logic in VLSI Challenges and Opportunities.

Multiple-Valued Logic, An International Journal,

http://www.imit.kth.se/~elena/PAPERS/JMVL02.pdf.

Dubrova, E. and Farm, P. 2002. A Conjunctive Canonical Expansion of Multiple

Valued Functions. International Symposium on Multiple-Valued Logic ISMVL

2002, 35-38.

Dubrova, E., Jiang, Y. and Brayton, R 2001. Minimization of Multiple Valued Functions

in Post Algebra. Proceedings of International Workshop on Logic Synthesis,

132-138.

Dubrova, E., Muzio, J.C., and von Stengel, B. 1997. Finding Composition Trees for

Multiple Valued Functions. Proceedings of the 27th International Symposium on

Multiple-Valued Logic (ISMVL '97), 19-26.

Dubrova, E., Muzio, J.C., and von Stengel, B. 2003. Implementation of Multiple-valued

Functions Using Literal-Splitting Technique. 33rd International Symposium on

Multiple-Valued Logic, 7-10.

Dündar, P. And Kılıç, E. 2003. Covering Sets and the Prime Implicants of Switching

Function. IJCI Proceedings of International Conference on Signal Processing,

ISSN 1304-2386, Volume: 1, Number: 2, 551-553.

Falkowski, B.J. 2004. Compact Representations of Logic Functions for Lossless

Compression of Grey-scale Images. IEE Proc.-Comput. Digit. Tech., Vol. 151,

No. 3, May 2004, 221-230.

136

Fey, G. and Drechsler, R. 2003. A Hybrid Approach Combining Symbolic and

Structural Techniques for Disjoint SOP Minimization. Workshop on Synthesis

And System Integration of Mixed Information Technologies (SASIMI), 54-60.

Files, C., Drechsler, R. and Perkowski, M.A. 1997. Functional Decomposition of MVL

Functions using Multi-Valued Decision Diagrams. Proceedings of the 27th

International Symposium on Multiple-Valued Logic (ISMVL '97), 27-34.

Files, C.M. 1994. Using a search heuristic in an NP-complete problem in Ashenhurst-

Curtis Decomposition. Graduate Student Final Report, AFOSR, Wright

Laboratories, 19 p.

Files, C.M. 1995. A New Approach to Partition Selection in Ashenhurst-Curtis

Functional Decomposition. MSc. Thesis, University of Idaho, 96 p., USA.

Files, C.M. 2000. A New Functional Decomposition Method As Applied To Machine

Learning and VLSI Layout. Ph.D. Thesis, Portland State University, 185 p.,

USA.

Gao, M., and Brayton, R. 2000. Semi-Algebraic Methods for Multi Valued Logic.

International Workshop on Logic Synthesis 2000, 73-80.

Gao, M., Li, Y., Jiang, J., Jiang, Y. Sinha, S. and Brayton, R. 2001a. MVSIS:

International Workshop on Logic Synthesis.

Gao, M., Li, Y., Jiang, J., Jiang, Y. Sinha, S., Villa, T. and Brayton, R. 2001b. MVSIS. ,

http://www-cad.eecs.berkeley.edu/ Respep/Research/mvsis/.

Gottwald, S. 2004. Many-Valued Logic, The Stanford Encyclopedia of Philosophy

(Winter 2004 Edition), Edward N. Zalta (ed.),

http://plato.stanford.edu/archives/win2004/entries/logic-manyvalued/.

Grover, J. 2003. Simplification 2-Level and Multiple-Level (Espresso). University of

Akron College of Engineering,

http://www.ecgf.uakron.edu/grover/web/ee263/labs/Simplification.pdf.

Grygiel, S., Perkowski, M.A., Marek-Sadowska, M., Luba, T. and Józwiak, L. 1997.

Cube Diagram Bundles a New Representation of Strongly Unspecified MV

Functions and Relations. 27th IEEE International Symposium on Multiple-

Valued Logic (ISMVL 1997), 287-292.

Gupta, R.K. 2002. Logic Level Synthesis. University of California, Irvine, 46 p.

137

Hahnle, R. 2001. Resources for Many Valued Logic. Chalmers University of

Technology, http://www.cs.chalmers.se/~reiner/mvl-web/.

Hassoun, S. and Sasao T. (Eds.) 2001. Logic Synthesis and Verification. The Kluwer

Academic Publishers, 454 p., Norwell, MA, USA. .

Himsolt, M. 1996. GML Graph Modeling Language Manual, Draft Version, 31 p.

Hörr, N. 2001. Combinational Logic Optimization. Universitat Stuttgart HauptSeminar,

http://www.ra.informatik.uni-

stuttgart.de/~bartscgr/seminar_cad/topic_5_report_combinational_logic_optimi

zation.pdf

Jansenn, G. 2001. Design of a Pointerless BDD Package. Note of Int'l Workshop Logic

and Synthesis (IWLS-2001), www.research.ibm.com/da/papers/bdd-paper.

Jiang, J., Jiang, Y. and Brayton, R. 2001. An Implicit Method for Multi-Valued Logic

Encoding. International Workshop on Logic Synthesis (IWLS), http://www-

cad.eecs.berkeley.edu/HomePages/wjiang/publication.html.

Jiang, J.R., Mishchenko, A. and Brayton, R. 2003. Reducing Multi-Valued Algebraic

Operations to Binary. Proc. of Design, Automation and Test in Europe

Conference and Exposition (DATE 2003), 10752-10757.

Jiang, Y. and Brayton, R. 2000. Don't Cares and Multi-Valued Logic Network

Minimization. IEEE/ACM International Conference on CAD, ICCAD 00, 15-21.

Jiang, Y. and Brayton, R. 2000. MVL Network Minimization and Its Applications. MSc.

Thesis, University of California at Berkeley, 47 p., USA.

Kalganova, T. and Pshibytko, V. 1997. Time Complexity Analysis of Generalized

Decomposition Algorithm. Proc. of the 19th International Scientific Symposium

of Students and Young Research Workers, 145-149.

Kam, T., Villa, T., Brayton, R.K., and Sangiovanni-Vincentelli, A.L. 1998. Multi-valued

Decision Diagrams Theory and Applications . International Journal on

Multiple-Valued Logic, vol.4 No. (1-2), 9-62.

Keutzer K. 2004. 2 Level Logic Synthesis. http://www-cad.eecs.berkeley.edu/~keutzer/.

Komaragiri, V.C. 2002. Application of Decision Diagrams for Information Storage and

Retrieval. MSc. Thesis, Mississippi State University, 120 p., USA.

Kuehlmann, A. 2002. Multi-valued-logic EECS 219B. University of California at

Berkeley, www.eecs.berkeley.edu/~kuehl.

138

Lang, C. and Steinbach, B. 2001. Decomposition of Multi Valued Functions into Min-

and Max- Gates. Proceedings of the 31st IEEE International Symposium on

Multiple-Valued Logic, 173 - 178.

Larsen, K.P. and Lichtenberg, J. 2001. MuDDy. Technical University of Denmark,

http://www.itu.dk/research/muddy.

Lee, C.Y. 1959. Representation of Switching Circuits by Binary-Decision Programs.

Bell System Technical Journal, Vol.38, 985–999.

Liao, S., Devadas, S. and Ghosh, A. 1993. Boolean Factorization Using Multi-valued

Minimization. Proceedings of the 1993 IEEE/ACM International Conference on

Computer-aided Design, 606-611.

Lindgren, P. 1999. Applications of Decision Diagrams in Digital Circuit Design. Ph.D.

Thesis, Lulea University of Technology, 50 p., Sweden.

Lind-Nielsen, J. 1996. A Binary Decision Diagram Package-BuDDy. Department of

Information Technology, Technical University of Denmark,

http://www.sourceforge.net/projects/buddy.

Manquinho, V and Marques-Silva, J.P 2004. Lower Bounding Techniques for SAT

Based Boolean Optimization. The Seventh International Conference on Theory

and Applications of Satisfiability Testing, 120-126.

Matsuura, M., Sasao, T., Butler J.T., and Iguchi, Y. 2001. Bi-Partition of Shared Binary

Decision Diagrams. Workshop on Synthesis and System Integration of Mixed

Technologies-SASIMI-2001, 172-177.

Maxwell, B.A. 2004. E15/CS24 Fundamentals of Digital Systems. Swarthmore College,

http://palantir.swarthmore.edu/maxwell/classes/e15/F03/syllabus.htm.

McCreary, C. and Barowski, L.A. 1998. VGJ: Visualising Graphs Through Java. Graph

Drawing 1998, 454-455.

Miller, D.M. and Drechsler, D. 2002. On the Construction of MDDs. International

Symposium on Multiple-Valued Logic ISMVL 2002, 245-253.

Miller, D.M., and Drechsler, R. 1998. Implementing a MDD Package. 28th IEEE

International Symposium on Multiple-Valued Logic (ISMVL 1998), 52-57.

Miller, D.M., and Dueck, G.W. 2003. On the Size of Multiple-valued Decision

Diagrams. International Symposium on Multiple-Valued Logic ISMVL 2003,

235-240.

139

Mishchenko, A. 2003. BDD's and Their Applications.

http://www.ee.pdx.edu/~alanmi/510FM2/510FM2.htm.

Mishchenko, A. and Brayton, R.K. 2002. A Boolean Paradigm in Multi-Valued Logic

Synthesis. International Workshop on Logic Synthesis, www-

cad.eecs.berkeley.edu/Respep/Research/mvsis/doc/2002/boolean2002.pdf

Mishchenko, A. and Sasao, T. 2003. Large-Scale SOP Minimization Using

Decomposition and Functional Properties. Proceedings of the 40th Design

Automation Conference, DAC 2003, 149-154.

Mishchenko, A., Brayton, R.K. and Sasao, T. 2003. Exploring Multi-Valued

Minimization Using Binary Methods. 12th International Workshop on Logic and

Synthesis.

Mishchenko, A., Files, C.M, Perkowski, M., Steinbach, B. and Dorotska, C. 2000.

Implicit Algorithms for Multi-Valued Input Support Minimization. Submitted to

4th Intl. Workshop on Boolean Problems,

http://www.ee.pdx.edu/~mperkows/=PUBLICATIONS/Perkowski/K2000/BP200

0-support.pdf .

Mishchenko, A., Steinbach, B and Perkowski, M 2001a. An Algorithm for Bi-

Decomposition of Logic Functions. Proceedings of the 38th Design Automation

Conference, DAC 2001, 103-108.

Mishchenko, A., Steinbach, B and Perkowski, M 2001b. Bi-Decomposition of Multi

Valued Relations. Proc. of International Workshop on Logic and Synthesis,

http://www.ee.pdx.edu/~alanmi/publications/iwls01-mvbd.pdf.

Mishchenko, A.and Brayton, R. 2002. Simplification of Non Deterministic Multi-Valued

Networks. 11th IEEE/ACM International Workshop on Logic & Synthesis, 333-

338.

Mishchenko, A.and Brayton, R. 2003. A Theory of Non Deterministic Networks.

International Symposium on Boolean Problems.

Myers, C. 1999. Espresso. University of Utah,

http://www.async.ece.utah.edu/~myers/ee3710_99/

Nakashima, K., Nakamura, Y. and Takagi, N. 1996. Logic Expressions of Monotonic

Multiple Valued Functions. International Symposium on Multiple-Valued Logic

ISMVL 1996, 290-295.

140

Orlowska, E. 2005. Post Algebras and Post Logics. Institute of Telecommunications.

Warsaw, http://www.calculemus.org/MathUniversalis/7/02orlow.html.

Perkowski, M. 2001, Cube Calculus for Cube Calculus Machine.

http://www.ee.pdx.edu/~mperkows/CLASS_572/index.html.

Perkowski, M. 2001. General Characteristic of Logic Synthesis Methods for Reversible

Logic. Portland State University,

http://www.ee.pdx.edu/~mperkows/=PUBLICATIONS/PDF-2001/Euro-

Micro4.pdf.

Perkowski, M., Kerntopf, P., Coppola, A., Buller, A., Chrzanowska-Jeske, M.,

Mishchenko, A., Sang, X., Al-Rabadi, A., Jozwiak, L. and Mossey, B. 2001.

Regularity and Symmetry as a Base for Efficient Realization of Reversible Logic

Circuits. Proc. 10-th International Workshop on Logic and Synthesis, 90-95.

Perkowski, M., Marek-Sadowska, M., Jozwiak, L., Luba, T., Grygiel, S., Nowicka, M.,

Malvi, R., Wang, Z., and Zhang, J.S. 1997. Decomposition of Multiple Valued

Relations. Proceedings of the 27th International Symposium on Multiple-Valued

Logic (ISMVL '97), 13-18.

Perkowski, M., Marek-Sadowska, M., Jozwiak, L., Luba, T., Grygiel, S., Nowicka, M.,

Malvi, R., Wang, Z., and Zhang, J.S. 1997. Decomposition of Multi Valued

Relations. Proceedings of the 27th International Symposium on Multiple-Valued

Logic (ISMVL '97).

Perkowski. M. and Brown J. 1988. A Unified Approach to Designs with Multiplexers

and to the Decomposition of Boolean Decomposition. Proceedings ASEE

Annual Conference, 1610-1619.

Qu, G. 2004. Algorithm Paradigms. University of Maryland,

www.ece.umd.edu/class/enee644/

Rangelov, K.B. 2001. Usefulness of the Multi-Valued Function in Machine Learning.

Technical University of Sofia ,

http://www.ee.pdx.edu/~mperkows/PerkowskiGoogle/rangelov021.pdf.

Rawski, M., Nowicka, M., Tomaszewicz, P. and Łuba, T. 1996. Decomposition Based

Logic Synthesis and Its Application in FPGA-oriented Technology Mapping.

Proc. International Conference on Programmable Devices and Systems, 47-54.

141

Rine, D.C. 1988. Picture Processing Using Multiple-Valued Logic.

INT.J.ELECTRONICS, Vol.64, No.6, 829-847.

Römmler, J. 2002. Java Decision Diagram Package. http://www.informatik.uni-

bremen.de/grp/ag-ram/doc/software/manual.

Rudell, R. 1993. Dynamic Variable Ordering for Ordered BDDs. Proceedings of the

1993 IEEE/ACM International Conference on Computer-aided Design , 42-47.

Rudell, R., Sangiovanni-Vincentelli A. and Wang A. 1985. Espresso-MV: Algorithms for

multiple-valued logic minimization. Proc. Custom Integrated Circuits

Conference.

Saleh, Y.A. 1989. Multiple-Valued Logic Model for Computer-Aided Circuit Design.

INT.J.ELECTRONICS,Vol.67, No.5, 727-734.

Sasao, T. 1988. Multiple Valued Logic and Optimization of Programmable Logic

Arrays. IEEE Computer, Volume 21, Issue 4, 71-80.

Sasao, T. 1993a. An Exact Minimization of AND-EXOR Expressions Using Reduced

Covering Functions. Proc. of the Synthesis and Simulation Meeting and

International Interchange, 374-383.

Sasao, T. 1993b. EXMIN2: A Simplification Algorithm for Exclusive-OR-Sum-of

Products Expressions for Multiple-Valued-Input Two-Valued-Output Functions.

IEEE Transactions On Computer-Aided Design of Integrated Circuits and

Systems Vol.12 No.5, 621-632.

Sasao, T. 1999a. Arithmetic Ternary Decision Diagrams Applications and Complexity.

Fourth International Workshop on Applications of the Reed-Muller Expansion

in Circuit Design, http://www.lsi-cad.com/sasao/Papers/files/

RM1999_sasao.pdf.

Sasao, T. 1999b. Totally Undecomposable Functions. International Symposium on

Multiple-Valued Logic ISMVL 1999, 59-65.

Sasao, T. 2000a. A New Expansion of Symmetric Functions and Their Application to

Non-Disjoint Functional Decompositions for LUT Type FPGAs. International

Workshop on Logic Synthesis, 105-110.

Sasao, T. 2000b. On the Number of Dependent Variables for Incompletely Specified

Multiple-Valued Functions. International Symposium on Multiple-Valued Logic

ISMVL 2000, 91-100.

142

Sasao, T. 2001. Compact SOP Representations for Multiple-Output Functions “An

Encoding Method using Multiple-Valued Logic”. International Symposium on

Multiple-Valued Logic ISMVL 2001, 207-212.

Sasao, T. and Butler, J.T. 1995. Planar Multiple Valued Decision Diagrams.

Proceedings of the 25th International Symposium on Multiple-Valued Logic

(ISMVL '95), 28-35.

Sasao, T. and Butler, J.T. 1996. A Method to Represent Multiple-Output Switching

Functions by Using Multi-Valued Decision Diagrams. International Symposium

on Multiple-Valued Logic ISMVL 1996, 248-254.

Sasao, T. and Butler, J.T. 1997. On Bi-Decompositions of Logic Functions.

International Workshop on Logic Synthesis IWSL 1997, 1-6.

Sasao, T. and Butler, J.T. 2001a. On the Minimization of SOPs for Bi-Decomposable

Functions. Asia and South Pacific - Design Automation Conference- ASP-

DAC’2001, 219-224.

Sasao, T. and Butler, J.T. 2001b. Worst and Best Irredundant Sum-of-Products

Expressions. IEEE Transactions on Computers 50 (9), 935-948.

Sasao, T. and Butler, J.T. 2004. A Fast Method to Derive Minimum SOPs for

Decomposable Functions. Proceedings of the 2004 Conference on Asia South

Pacific Design Automation: Electronic Design and Solution, 585-590.

Sasao, T. and Debnath, D. 1996. Generalized Reed-Muller Expressions: Complexity

and an Exact Minimization Algorithm. IEICE Transactions on Fundamentals

Vol.E79 No.12, 2123-2130.

Sasao, T. and Kurimoto, K. 2000. Three Parameters to Find Functional

Decompositions. Asia and South Pacific - Design Automation Conference- ASP-

DAC’2000, 259-264.

Sasao, T., Iguchi, Y. and Matsuura, M. 2002. Comparison of Decision Diagrams for

Multiple-Output Logic Functions. International Workshop on Logic and

Synthesis (IWLS2002), 379-384.

Sasao, T., Matsuura, M., Iguchi, Y. and Nagayama, S. 2001. Compact BDD

Representations for Multiple-Output Functions and Their Applications to

Embedded System. IFIP VLSI-SOC ‘01, 406-411.

143

Sawada, H., Yamashita S., and Nagoya, A. 1998. Restructuring Logic Representations

with Easily Detectable Simple Disjunctive Decompositions. Proc. of Design,

Automation and Test in Europe Conference and Exposition (DATE 1998), 755-

759.

Schmiedle, F., Günther, W. and Drechsler, R. 2001. Selection of Efficient Re-ordering

Heuristics for MDD Construction. 31st IEEE International Symposium on

Multiple-Valued Logic (ISMVL 2001), 299-304.

Shmerko, V.P., Holowinski, G., Song, N., Dill, K.M., Ganguly, K., Safranek R.J. and

Perkowski, M.A. 1997. High-Quality Minimization of Multi-Valued-Input,

Binary-Output EXOR Sum and Multi-Valued Galois Sum of Product Expressions

for Incompletely Specified Logic Functions. Proceedings of the 4th International

Conference on Applications of Computer Systems-ACS'97, Poland, 266-286.

Siegfried G. 2004. Many-Valued Logic. Stanford Encyclopedia of Philosophy,

http://plato.stanford.edu/entries/logic-manyvalued/.

Sima, D. and Vintan, L. 2002. MVM-A Multi Valued Logic Model in Information

Retrieval and Filtering. Transactions on Automatic Control and Computer

Science, Special Issue Dedicated to 5th International Conf. on Technical

Informatics (CONTI ’2002), Tom 47(61), No 3.

Srinivasan, A., Kam, T., Malik, S. and Brayton, R.K. 1990. Algorithms for Discrete

Function Manipulation. IEEE/ACM International Conference on CAD, ICCAD

90, 92-95.

Srivastava, A. 2005, UCP. University of Maryland,

http://www.ece.umd.edu/class/enee644.S2005/lectures/index.html.

Stankovic, R.S. and Sasao, T. 2001. A Discussion on the History of Research in

Arithmetic and Reed–Muller Expressions. IEEE Transactions On Computer-

Aided Design of Integrated Circuits and Systems Vol20 No.9, 1177-1179.

Steinbach, B and Zakrevskij, A. 2001. Fast Heuristic Algorithm for Three Block

Decomposition of a System of Weakly Specified Boolean Functions. Proceedings

of the IEEE Design and Diagnostics of Electronic Circuits and Systems

International Workshop (4th IEEE DDECS 2001, 283 - 289.

144

Steinbach, B. and Stockert, M. 1994. Design of Fully Testable Circuits by Functional

Decomposition & Implicit Test Pattern Generation. IEEE VLSI Test Symposium

Proceedings, 22-27.

Steinbach, B., Perkowski, M. and Lang C. 1999. Bi-Decompositions of Multi Valued

Functions for Circuit Design and Data Mining Applications. Proceedings of the

29th IEEE International Symposium on Multiple-Valued Logic, 50 - 58.

Takagi, N. and Nakashima, K. 2003. Hyperoperations on {0, 1, 2} Based on Min, Max,

and Universal Literal Operations. 33rd International Symposium on Multiple-

Valued Logic, 11-16.

Tang, Z., Cao, Q. and Ishizuka, O. 1998. A Learning Multiple-Valued Logic Network:

Algebra, Algorithm and Applications. IEEE Transactions on Computers Vol.47,

No.2, 247-251.

Thornton, M.A., Drechsler, R. and Miller, D.M. 2002. Multi-output Timed Shannon

Circuits. IEEE Computer Society Annual Symposium on VLSI (ISVLSI 2002),

47-52.

Townsend, W.J. 2002. Discrete Function Representations Utilizing Decision Diagrams

and Spectral Techniques. MSc. Thesis, Mississippi State University, 60 p., USA.

Ulker B. 2002. Minimization of SOPs for Bi-Decomposable Functions and Non-

Orthodox/Orthodox Functions. MSc. Thesis, Naval Postgraduate School, 143 p.,

USA.

Voight, P. and Wegener, I. 1989. A remark on Minimal Polynomials of Boolean

Functions. 2nd Workshop on Computer Science Logic Proceedings, CSL’88,

372-383.

Wang, L., Chen, X. and Almaini, A.E.A. 1998. Modulo Correlativity and Its Application

in a Multiple Valued Logic System. INT.J.ELECTRONICS, VOL.85, NO.5, 561-

570.

Wang, L.C. 2003. Synthesis of 2-level Logic. University of California, Santa Barbara,

cadlab.ece.ucsb.edu/ece156A_03/lec10.ppt .

Wattenhofer, R. 2004. Graph Algorithms MIS. Principles of Distributed Computing

2004, http://dcg.ethz.ch/lectures/ss04/distcomp/.

Wegener, I. 1987. The Complexity of Boolean Functions. John Wiley & Sons Ltd, and B.

G. Teubner, 469 p., Stuttgart.

145

Wiklund, K. 2000. Evaluation of Reduced Ordered Binary Decision Diagrams Using a

Five-Valued Algebra. Technical Report 00-11 Chalmers University of

Technology, 20 p.

Yamakawa, T. 1990. Fuzzy Computer. Patent No EP355753. Publication No 1990-02-

28.

Yamamoto, Y. 2003. An Extension of Ternary Majority Function and Its Application to

Evolvable System. International Symposium on Multiple-Valued Logic ISMVL

2003, 17-23.

Yang, C. and Ciesielski, M. 2000. BDD Based Logic Optimization System. Tech Report

No TR-CSE-00-1, 25 p.

Yang, C. and Oral, O. 1992. Experiences of Parallel Processing with Direct Cover

Algorithms for Multiple-Valued Logic Minimization. The Twenty Second

International Symposium on Multiple-Valued Logic, 75-82.

Yang, C., Ciesielski, M. and Singhal, V. 2000. BDD-Based Logic Optimization System.

Design Automation Conference, 92-97.

Yang, C., Singhal, V. and Ciesielski, M. 1999. BDD Decomposition for Efficient Logic

Synthesis. Proceedings of the IEEE International Conference on Computer

Design, VLSI in Computers and Processors, ICCD ‘99, 626-633.

Yang,T. 2005. Fuzzy Computer: A Mission Impossible. http://www.yangsky.com/ Fuzzy

Computer A Mission Impossible.html.

Yanushkevich, S. 1998. Logic Differential Calculus in MVL Design. Academic

Publishers of Tech.Uni.Szczecin, 328 p., Poland.

Yoshikawa, N. and Koshiyama, J. 2001. Top-Down RSFQ Logic Design Based on a

BDD. IEEE Transaction on Applied Superconductivity, Vol. 11, No. 1, 1098-

1101.

146

EKLER

EK 1 Deneyler EK 2 TruthTablesSingleRunDos Programı JavaDoc EK 3 JMVDD Yazılım Paketi Javadoc EK 4 Web CD Haritası EK 5 Çok Amaçlı CASE Algoritması İngilizce Makale

147

EK 1 Deneyler

Deneyler

Değişken Giriş Değer Çıkış Değer Dosya Baz Adı Örnek Sayısı Olası Denklem Sayısı

2 2r2vo2r 500 16 3 2r2vo3r 100 81 2 4 2r2vo4r 200 256 2 3r2vo2r 500 256 3 3r2vo3r 500 6.561 3 4 3r2vo4r 200 65.536 2 4r2vo2r 200 65.536 3 4r2vo3r 200 43.046.721

2

4 4 4r2vo4r 100 4.294.967.296 2 2r3vo2r 500 512 3 2r3vo3r 100 19.683 2 4 2r3vo4r 100 262.144 2 3r3vo2r 500 134.217.728 3 3r3vo3r 100 7,6255974850E+12 3 4 3r3vo4r 100 1,8014398509E+16 2 4r3vo2r 100 2,4178516392E+24 3 4r3vo3r 100 4,4342648824E+38

3

4 4 4r3vo4r 100 5,8460065493E+48 2 2r4vo2r 500 65.536 2 3 2r4vo3r 200 43.046.721 4

3 3 3r4vo3r 200 3,4336838203E+30

148

3 Değerli, 4 Değişkenli ÇDM Fonksiyonu Deney Sonuçları f f ENB f f ENK f Dosya Adı Top.AB “0” “1” “2” Top.AB “0” “1” “2” Top.AB “0” “1” “2” Uyum Uyum3r4vo3r0 39 12 15 12 449 24 281 144 457 144 289 24 evet evet 3r4vo3r1 38 11 13 14 439 22 221 196 438 141 269 28 evet evet 3r4vo3r2 39 15 12 12 449 32 272 145 528 247 257 24 evet evet 3r4vo3r3 37 12 11 14 423 24 203 196 417 144 245 28 evet evet 3r4vo3r4 40 14 13 13 480 28 283 169 553 196 331 26 evet evet 3r4vo3r5 40 14 13 13 480 28 283 169 553 196 331 26 evet evet 3r4vo3r6 38 11 14 13 451 22 260 169 432 121 285 26 evet evet 3r4vo3r7 38 11 14 13 451 22 260 169 432 121 285 26 evet evet 3r4vo3r8 36 11 13 12 357 22 191 144 398 121 253 24 evet evet 3r4vo3r9 36 11 13 12 357 22 191 144 398 121 253 24 evet evet 3r4vo3r10 36 11 13 12 357 22 191 144 398 121 253 24 evet evet 3r4vo3r11 39 12 13 14 489 24 269 196 439 144 267 28 evet evet 3r4vo3r12 39 12 13 14 489 24 269 196 439 144 267 28 evet evet 3r4vo3r13 40 13 14 13 468 26 273 169 440 169 245 26 evet evet 3r4vo3r14 40 13 14 13 468 26 273 169 440 169 245 26 evet evet 3r4vo3r15 38 11 12 15 465 22 217 226 429 121 278 30 evet evet 3r4vo3r16 38 11 12 15 465 22 217 226 429 121 278 30 evet evet 3r4vo3r17 37 12 13 12 430 24 251 155 448 155 269 24 evet evet 3r4vo3r18 37 12 13 12 430 24 251 155 448 155 269 24 evet evet 3r4vo3r19 39 13 13 13 471 26 276 169 449 169 254 26 evet evet 3r4vo3r20 39 13 13 13 471 26 276 169 449 169 254 26 evet evet 3r4vo3r21 35 10 13 12 395 20 227 148 373 100 249 24 evet evet 3r4vo3r22 35 10 13 12 395 20 227 148 373 100 249 24 evet evet 3r4vo3r23 37 13 13 11 383 26 236 121 455 168 265 22 evet hayır 3r4vo3r24 37 13 13 11 383 26 236 121 467 169 276 22 evet evet 3r4vo3r25 38 12 15 11 399 24 254 121 428 144 262 22 evet evet 3r4vo3r26 38 12 15 11 399 24 254 121 428 144 262 22 evet evet 3r4vo3r27 38 13 13 12 421 26 249 146 450 171 255 24 evet evet 3r4vo3r28 38 13 13 12 421 26 249 146 450 171 255 24 evet evet 3r4vo3r29 39 14 12 13 514 28 315 171 496 196 274 26 evet evet 3r4vo3r30 39 14 12 13 514 28 315 171 496 196 274 26 evet evet 3r4vo3r31 37 13 14 10 371 27 244 100 445 169 256 20 evet evet 3r4vo3r32 37 13 14 10 371 27 244 100 445 169 256 20 evet evet 3r4vo3r33 37 10 14 13 422 20 209 193 381 100 253 28 evet evet 3r4vo3r34 37 10 14 13 422 20 209 193 381 100 253 28 evet evet 3r4vo3r35 37 10 14 13 422 20 209 193 381 100 253 28 evet evet 3r4vo3r36 35 12 12 11 394 24 248 122 366 144 200 22 evet evet 3r4vo3r37 35 12 12 11 394 24 248 122 366 144 200 22 evet evet 3r4vo3r38 42 13 16 13 498 26 303 169 544 196 322 26 evet evet 3r4vo3r39 42 13 16 13 498 26 303 169 544 196 322 26 evet evet 3r4vo3r40 44 15 15 14 611 30 381 200 632 225 379 28 evet evet 3r4vo3r41 44 15 15 14 611 30 381 200 632 225 379 28 evet evet 3r4vo3r42 36 9 13 14 447 18 221 208 377 81 266 30 evet evet 3r4vo3r43 36 9 13 14 447 18 221 208 377 81 266 30 evet evet 3r4vo3r44 37 12 14 11 436 24 286 126 426 144 260 22 evet evet

149

3r4vo3r45 37 12 14 11 436 24 286 126 438 144 272 22 evet evet 3r4vo3r46 31 11 8 12 326 22 160 144 304 121 159 24 evet evet 3r4vo3r47 31 11 8 12 326 22 160 144 304 121 159 24 evet evet 3r4vo3r48 40 16 12 12 439 32 263 144 496 256 216 24 evet evet 3r4vo3r49 40 16 12 12 439 32 263 144 496 256 216 24 evet evet 3r4vo3r50 44 17 14 13 528 34 325 169 618 289 303 26 evet evet 3r4vo3r51 44 17 14 13 528 34 325 169 618 289 303 26 evet evet 3r4vo3r52 44 17 14 13 528 34 325 169 618 289 303 26 evet evet 3r4vo3r53 37 12 11 14 466 24 246 196 429 144 256 29 evet evet 3r4vo3r54 37 12 11 14 480 24 251 205 429 144 256 29 evet evet 3r4vo3r55 37 12 11 14 422 24 202 196 412 144 240 28 evet evet 3r4vo3r56 37 12 11 14 422 24 202 196 412 144 240 28 evet evet 3r4vo3r57 38 11 11 16 484 22 206 256 393 121 240 32 evet evet 3r4vo3r58 38 11 11 16 484 22 206 256 393 121 240 32 evet evet 3r4vo3r59 36 12 11 13 453 24 258 171 409 144 239 26 evet evet

150

EK 2 TruthTablesSingleRunDos Programı JavaDoc

TruthTablesSingleRunDos Programı JavaDoc Overview Package Class Tree Index Help

PREV NEXT FRAMES NO FRAMES All Classes

Packages

createtruthtablesdos

espExec

testDCSH

Hierarchy For All Packages

Package Hierarchies: createtruthtablesdos, espExec, testDCSH

Class Hierarchy

o class java.lang.Object o class createtruthtablesdos.createtable o class createtruthtablesdos.CreateTruthMain o class espExec.Espresso o class testDCSH.findLogicLevel o class testDCSH.readEspressoFile o class testDCSH.statistics o class testDCSH.TestDCSHMain o class java.lang.Thread (implements java.lang.Runnable) o class espExec.EspressoThread o class espExec.StreamGobbler o class espExec.TimerThread

Overview Package Class Tree Index Help

PREV NEXT FRAMES NO FRAMES All Classes

151

createtruthtablesdos Paketi

152

espExec Paketi

153

testDSCH Paketi

154

155

156

EK 3 JMVDD Yazılım Paketi Javadoc

JMVDD Yazılım Paketi Javadoc

Hierarchy For All Packages

Package Hierarchies: MVDDAlgorithm, MVDDConstruct, MVDDGui, MVDDMain, MVDDRead, VGJ.algorithm, VGJ.algorithm.cgd, VGJ.algorithm.tree, VGJ.graph, VGJ.gui, VGJ.util

Class Hierarchy

o class java.lang.Object o class VGJ.algorithm.cgd.CGDAlgorithm (implements VGJ.algorithm.GraphAlgorithm) o class VGJ.algorithm.cgd.Clan o class VGJ.algorithm.cgd.ClanTree o class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable) o class java.awt.Canvas (implements javax.accessibility.Accessible) o class VGJ.gui.AngleControl o class VGJ.gui.OffsetCanvas o class VGJ.gui.GraphCanvas (implements VGJ.algorithm.GraphUpdate) o class VGJ.gui.ViewportScroller o class java.awt.Container o class java.awt.Panel (implements javax.accessibility.Accessible) o class VGJ.gui.LPanel o class VGJ.gui.AngleControlPanel o class VGJ.gui.ScrolledPanel o class java.awt.Window (implements javax.accessibility.Accessible) o class java.awt.Dialog o class VGJ.gui.AlgPropDialog o class VGJ.graph.EdgePropertiesDialog o class VGJ.gui.FontPropDialog o class VGJ.gui.GroupControl o class VGJ.gui.GroupWarningDialog o class VGJ.gui.InputDialog o class VGJ.gui.MessageDialog o class VGJ.graph.NodePropertiesDialog o class VGJ.gui.PSdialog o class VGJ.gui.TextOutDialog

157

o class java.awt.Frame (implements java.awt.MenuContainer) o class VGJ.gui.GraphEdit o class VGJ.gui.GraphWindow o class javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants) o class MVDDMain.MainFrame o class MVDDRead.openFileFrame o class VGJ.util.DDimension o class VGJ.util.DDimension3 o class VGJ.util.DPoint o class VGJ.util.DPoint3 o class VGJ.gui.DragFix (implements java.lang.Runnable) o class VGJ.util.DRect o class VGJ.graph.Edge o class MVDDRead.espressoInputApplication o class MVDDRead.findLogicLevel o class MVDDGui.GMLApplication o class VGJ.graph.GMLlexer o class VGJ.graph.GMLobject o class VGJ.graph.Graph (implements java.lang.Cloneable) o class MVDDMain.MainApplication o class MVDDMain.MainFrame_jMenuActionExit_ActionAdapter (implements java.awt.event.ActionListener) o class MVDDMain.MainFrame_jMenuDataEspresso_actionAdapter (implements java.awt.event.ActionListener) o class MVDDMain.MainFrame_jMenuHelpAbout_ActionAdapter (implements java.awt.event.ActionListener) o class MVDDMain.MainFrame_jMenuItemGraphExecute_actionAdapter (implements java.awt.event.ActionListener) o class VGJ.util.Matrix44 o class MVDDAlgorithm.MVDD o class MVDDAlgorithm.MVDD_Operator_Tables o class MVDDAlgorithm.MVDD_Opr o class MVDDConstruct.MVDDConstruct o class MVDDAlgorithm.node o class VGJ.graph.Node (implements java.lang.Cloneable, java.awt.image.ImageObserver) o class VGJ.graph.NodeList (implements java.lang.Cloneable) o class MVDDRead.openFileFrame_jButtonCreateMvdd_actionAdapter (implements java.awt.event.ActionListener) o class VGJ.algorithm.cgd.Partition o class MVDDRead.readEspressoFile o class VGJ.graph.Set (implements java.lang.Cloneable) o class java.lang.Throwable (implements java.io.Serializable)

158

o class java.lang.Exception o class VGJ.graph.ParseError o class VGJ.algorithm.tree.TreeAlgorithm (implements VGJ.algorithm.GraphAlgorithm) o class VGJ.algorithm.tree.TreeAlgorithmData o class MVDDAlgorithm.VariableSort o class MVDDGui.VGJApplication

Interface Hierarchy

o interface VGJ.algorithm.GraphAlgorithm o interface VGJ.algorithm.GraphUpdate

Overview Package Class Tree Index Help

PREV NEXT FRAMES NO FRAMES All Classes

159

EK 4 Web CD Haritası

(CD Ankara Üniversitesi Elektronik Mühendisliği Bölümündedir.)

Giriş Özgeçmiş

Tez Çalışması

Kaynaklar (pdf)

Java Kaynak Kodları

Programlar

Analiz Raporu

Deney Dosyaları

Tez Master Dokümanı

Makaleler

Kitaplar

Ders Notları

Tezler

TruthTablesSingleRun

JMVDD

OrthodoxJava .exe Programları

VGJ .exe programı

Espresso ve MVSIS

Analiz Sonuçları Çalışma Kitabı

Deney Sonuçları .zip

Dosyası

Tez pdf Dokümanı

160

A NEW CASE OPERATOR BASED MULTI-PURPOSE ALGORITHM FOR MVDD OPERATIONS

(A MP-MVDD OPERATOR)

Onur S. Oral, Ziya Telatar

Ankara University Faculty of Engineering

Department of Electronics Engineering 06100-Besevler/Ankara, Turkey

[email protected], [email protected]

Abstract Different logic representation methods have been developed to represent the switching networks in the most efficient form. These methods range from Karnaugh Maps to Binary Decision Diagrams (BDD) and then to Multi Valued Decision Diagrams (MVDD). Also different methods have been proposed to construct these forms. In this paper, we present a new algorithm based on the CASE operator to construct a MVDD. The Multi-purpose MVDD (MP-MVDD) operator using the new algorithm performs its functions through the function look-up tables predefined by the user. The use of the function look-up tables makes the design of any desired MVDD operator possible. The MP-MVDD operator then can be used to construct a MVDD and operate on MVDDs. Computational results offer the efficiency and flexibility of our MP-MVDD algorithm in synthesis of logic functions.

Keywords- Logic Minimization, MVDD, CASE, MIN, MAX

1. INTRODUCTION

With the evolution of the logic synthesis methods; a new Boolean logic representation,

Binary Decision Diagram (BDD), was developed by Lee [1] and Akers [2]. Although BDDs

were initially presented by Lee and Akers, it was not until the publication of the Bryant’s

paper, BDDs were widely considered by other researchers. Bryant showed that given the

order of the variables, the Reduced Ordered Binary Decision Diagram (ROBDD) is a

canonical representation [3] of a binary function. Currently there is a wide range of Computer

Aided Design (CAD) analysis tools that use ROBDDs [4,5]. But, all this work has been done

in the domain of Boolean Logic.

161

Multi-valued logic (MVL) has been accepted as a generalization of classical Boolean

logic. MVL provides a means of representing different discrete values without using encoding

methods. For example, a designer can represent five logic levels with only one bit using the

MVL representation, while a binary representation requires three bits. Since the 1970s several

attempts have been made to accomplish the building of MVL integrated circuits. Attempts are

currently being made to improve circuit performance, by using MVL to decrease the chip area

and power consumption and to increase operation speed [6].

Although ROBDDs are widely studied, it is not possible to say the same for their MVL

counterpart, the Reduced Ordered Multi-Valued Decision Diagrams (ROMVDD). Due to the

availability of highly advanced ROBDD algorithms, some representations of MVL

implementation use a form of conversion to the binary domain. The first example of such a

method is mapping of MVDD into BDD [7]. Another method is that of Binary-Encoded

Multi-Valued Decision Diagram (BEMVDD) [8]. This method uses the MVL’s advantages of

compactness and efficient manipulation, while employing the already advanced and well

tested BDD operators. Improved versions of BDD-MVDD conversions that use 1-hot

encoding and logarithmic encoding can be found in [9].

Then again, the advantages of implementing MVL functions using ROMVDDs are also

indispensable. The main advantage is, operating on the native domain of MVL functions. One

of the most recent studies of pure ROMVDD tools is shown in [10]. Miller and Dreschler

briefly introduced the CASE operator in their paper, but due to concerns about performance

improvement, they considered the direct implementation of MIN and MAX, rather than using

the CASE operator. Direct implementation brings efficiency as Miller and Dreschler reported,

but it also limits the operators that can be used.

In this paper, we present a new algorithm (Multi-purpose MVDD) based on the CASE

operator. We start with basic notations and definitions and then proceed to expand the CASE

162

operator that has been implemented by Miller and Dreschler. As an improvement to the CASE

operator in [10], the algorithm of the expanded operator closely follows the definition of

multi-valued Shannon expansion. The expanded operator is then used to create the Multi-

purpose MVDD (MP-MVDD) operator. The MP-MVDD operator provides the user the

ability to construct a MVDD by using any operative, and also the ability to perform

operations on MVDDs.

2. NOTATION AND DEFINITIONS

What follows with some changes, are notation and basic definitions which pursue the

Multi Valued Logic notation from Dubrova, Jiang and Brayton [11] and Saleh [12]. The

theoretical background for ROMVDD then be set out.

Definition 1 Multi Valued Logic Function

Let f be a multi-valued input and multi-valued output MVL function with n variables.

Multi-valued logic variable xi takes its values from the set Pi = {0, 1,..., pi-1}, pi>1,

{ }ni ,,2,1 …∈ . Function f takes its value from the set { } 1,1,,2,1,0 >−= mmM … . f is a

mapping, MPf n →: .

The algebra used for the conventional manipulation of MVL functions is based on “chain

based Post Algebra” which was developed by Emil Post [13]. The most important aspect of

Post algebra is in the way that the values are used. The values do not carry any quantitative

information, but express a symbolic value in the chain. It is possible therefore, to assign any

attributes to the values, for example “0” signify “red”, “1”, “blue” and “2”, “yellow”. Post

Chain can be described as in Figure 1.

Figure 1 Post Chain

0 1 2 3 m-3 m-2 m-1

163

Chain based Post Algebra consists of ordered sets of elements, MAX operation, MIN

Operation and literal. The domain of Post Algebra is defined as ( )ini PM 1=∪∪ .

Definition 2: Minimum Operator (MIN)

MIN (xi, xj) , { }nji ,,2,1, …∈ , MPP ji →× . The result is the smaller value of the two

on the Post Chain and the operator is shown with “∧ ”.

Definition 3: Maximum Operator (MAX)

MAX (xi, xj) , { }nji ,,2,1, …∈ , MPP ji →× , The result is the larger value of the two on

the Post Chain and the operator is shown with “∨ ”.

Definition 4: Literal

Literal Six is an unary mapping operation MPi → defined by

∉∈−

=SxSxm

xSi 0

1, ii Px ∈ , multi-valued variable, iPS ⊆ , domain set

If S consists of only one element then the brackets are omitted to provide a better layout.

(example: { }jix is written as j

ix )

The concept of Multi-Valued Decision Diagrams is based on the extension of Binary

Shannon Expansion. The ITE (if-then-else) application of Shannon Expansion can be

reviewed in [3]. The ITE operator provides the means of describing a binary function in terms

of Reduced Ordered Binary Decision Diagrams (ROBDDs).

Definition 5: Multi-Valued Shannon Expansion

The expansion of a Multi-Valued Logic function with respect to xi can be expressed as:

( ) ( )( )( )

11110021

121

121

021

,,1,,,

,,1,,,

,,0,,,,,,,,

−−

∧∨∨∧∨∧=

−=∧

∨=∧

∨=∧=

mi

miiiii

nimi

nii

niini

fxfxfx

xmxxxfx

xxxxfx

xxxxfxxxxxf

………………

…………

164

where f is a mapping, MPf n →: , { } 1,1,,2,1,0 >−= mmM … , Pi = {0, 1,..., pi-1}, pi>1,

{ }ni ,,2,1 …∈ .

Definition 6: Multi-Valued Shannon Cofactor

Let MPP ji →× be a Multi-Valued Logic function and x=(x1,x2,...,xn) be variables of f.

fa cofactor of f, with respect to a = xi is:

( ) ( )niiina

x xxaxxxfxxxfi

,...,,,,...,,...,, 11121 +− ==

Definition 7: Multi-Valued Decision Diagram (MVDD)

A MVDD function graph is a rooted, directed, acyclic graph, with a vertex set V containing

two types of vertices. A non-terminal vertex has m-1 (see Definition 1) edges in which each

edge is also connected to another vertex, terminal or non-terminal. A terminal vertex has a

logic value attached to it and has no connected edges.

Definition 8: Ordered MVDD

A MVDD function graph is ordered if, for all paths along the edges, it has a given variable

order, e.g. x1 < x3 < x2 < … < xn

Definition 9: Reduced Ordered MVDD (ROMVDD)

An Ordered MVDD function graph is reduced if it is:

(1) (unique) no two or more non-terminal vertices have the same variable name and

edges.

(2) (isomorphic) no two or more distinct non-terminal vertices have sub-graphs that

are identical.

Theorem: ROMVDD Canonicity

For any multi-valued function f, there is a unique (up to isomorphism) reduced ordered

multi-valued decision diagram function graph denoting f; any other function graph denoting f

contains more vertices.

165

Proof: Proof of this theorem can be found in [7].

Because a MVDD is not a canonic form, ROMVDD is always used to represent the MVDD

functions. For the rest of the paper, we use MVDD to describe ROMVDD.

3. THE CASE OPERATOR

The CASE operator is analogous to the ITE (if-then-else) operator of the BDDs. There is

a MVDD counterpart for every BDD operator. The CASE operator was first introduced in [7],

but was not thoroughly discussed. The next major study on the CASE operator is [9]. This

study addresses the use of the CASE operator, continues with mapping from BDD to MVDD,

and does not use the CASE operator. The most recent study is by Miller and Dreschler [10],

which also addresses the CASE operator. However, Miller and Dreschler [10] in their paper

have chosen to define their own MIN and MAX operator algorithms instead of using the

CASE operator. They reported that using recursive implementations of MIN and MAX is

simpler.

Definition 10: The CASE Operator

The CASE Operator selects and returns the function Gi depending on the value of function

F.

)(),,,,( 110 iFGGGGFCASE ipi=←=−… , { }1,,1,0 −= mF …

The result of the CASE operator is also in the F domain set.

Generally, the inputs of the CASE Operator are also multi-valued logic functions given

in MVDD form. The end result is a new MVDD in the form

of ),,,,( 110 −=ipGGGFCASEH … . Because the selector can also be a function, the result of the

CASE operator is calculated recursively.

If the selector is variable x, the resulting function is a MVDD with a top vertex labeled

variable x and edges ),,,( 110 −ipGGG … . This special case vertex structure can be defined by

166

),,,,(),,,,( 110110 −− =ii pp GGGxGGGxCASE …… . Another special case is

FmFCASE =− )1,,1,0,( … .

A Multi-Valued Shannon Expansion can be expressed by the CASE operator as follows:

( )110

110

111100

,,,,

),,,,(−

−−

=

=

∧∨∨∧∨∧=

miiii

miiii

mi

miiiii

fffx

fffxCASE

fxfxfx

………

By calculating the multi-valued Shannon cofactor for each sub-graph, it is possible to expand

the whole function by using the CASE operator. If the variable order is

121 xxxx nn >>>> − … then,

…………

……

)),,,,(,,

),,,,(,),,,,(,(

),,,,(

111

11

011

111

11

011

011

11

011

110

111100

−−−−−−

−−−−−

−−−−−

−−

=

=

∧∨∨∧∨∧=

mn

mnnnn

nm

nnnnnm

nnnnn

mnnnn

mn

mnnnnn

fffxCASE

fffxCASEfffxCASExCASE

fffxCASE

fxfxfxf

We

found that the algorithm set forward in [9] and [10] is not sufficiently defined for detailed a

study. The pseudo-code of the CASE Operator defined in [9] and [10], is given below:

CASE (F, G0, G1, ..., Gm-1) { if terminal case return result if CASE (F, G0, G1, ..., Gm-1) in the computed table return result let x be the top-variable of F, G0, G1, ..., Gm-1 let p be the number of value x takes for j = 0 to (p-1) do Hx

j =CASE (Fxj, G0x

j, G1, ..., Gm-1xj)

result = (x, Hx0, . . . , Hx

p-1) insert result in computed-table for CASE (F, G0, G1, ..., Gm-1) return result

} 4. A MULTI-PURPOSE OPERATOR FOR MVDD OPERATIONS

Using an open structured algorithm would make it possible to configure the CASE

operator to carry out any operation that is defined by a function look-up table. The basic idea

behind an “operator based on a multi-purpose algorithm” for the MVDD operations comes

from studies of binary logic function representation such as those in the Reed-Muller

Expressions [14] which require an EXOR operator. The well-studied MVDD operators, MIN

167

and MAX, only support the multi valued equivalent of Sum of Product (SOP) Expressions

unless a new operator constructed using these two operators. Studies such as Exclusive Sum

of Product (ESOP) Expressions and Multi-valued Galois Sum of Product Expressions [15]

need a larger domain of available operators. The need for a wide range of available operators

is also identified in [16].

Miller and Drechsler [10] discuss that MIN and MAX operators, along with literal

operations are enough for implementing other common operators such as truncated-SUM.

Using specialized algorithms of MIN and MAX, saves computational power due to the

requirement of CASE operator’s “radix+1” parameters compared to MIN (MAX) operator’s 2

parameters. But the cost of creating a new operator has not been included in this result. Using

espresso software package, the number of required MIN and MAX operators for some of the

common MVL operators are shown in Table 1.

Function input/output radix

# of MAX Operations needed

# of MIN Operations needed

3 5 10 Distance 4 9 18 3 5 12 High Average 4 13 28 3 5 12 Low Average 4 9 20 3 5 12 Mod Multiplication

(radix) 4 9 20 3 5 10 Mod Sum (radix) 4 8 16 3 8 18 Truncated Product 4 15 32 3 4 8 Truncated Sum 4 7 14

Table 1 Required MIN and MAX operations for some common MVL operators

Table 1 clearly shows that even though any operator can be constructed from MIN and

MAX operators, the cost of the computational power required is much more than what is

gained from the decreasing the number of parameters. Therefore we created a multi-purpose

MVDD (MP-MVDD) operator which takes its functionality from a function look-up table that

can be described freely, and executes the operation in one step. Examples of 3-valued

function look-up tables are shown in Figure 2. Of course the utilizable look-up tables are not

168

limited with the standard function tables. Even a poll based function look-up table can be

used.

210211010000

210X1

MIN

X2

222221112100

210X1

MAX

X2

102202112100

210X1

MODSUM

X2

120221010000

210X1

MODMULT

X2

222222112100

210X1

TRUNCATED SUM

X2

211211011000

210X1

LOW AVERAGE

X2

Figure 2 Example 3-valued function look-up tables

The expanded CASE algorithm presented in this paper closely follows the theoretical

basis that has been set up in definitions 6 and 10. Through the use of the cofactors, the

algorithm presented in this paper is more detailed than the CASE operator that was presented

in the previous chapter.

The main element of the CASE Algorithm is the node structure. A node defines the

selection criteria of variable x. The number of edges is defined by the radix index of the multi-

valued function.

The structure of a node is as follows:

When the radix is 2, the node structure becomes a binary node with two edges. A terminal

node’s edges are null. An example can be seen in Figure 3.

Figure 3 An Example for Nodes and Edges

The algorithm for the expanded CASE Operator is given below:

node (variable index vi, node g[radix]) { G[i] =g[radix]; v = vi; }

169

CASE (F, G0, G1, ..., Gi-1) { if (F = terminal node) { if F exists in the unique table return = unique table entry; else { add to unique table; return G[i]; } if (F = G) { if F exists in the unique table return = unique table entry; else { add to unique table; return F; } v ← the smallest variable of { F, G0, G1, ..., Gi-1 } for i = 0 to (radix-1) { fv[i]=cofactor (radix, v, F) } for j = 0 to (radix-1) { for i = 0 to (radix-1) { gv[i][j] = cofactor (radix, v, G[j]), } } for i = 0 to radix { C[i] = CASE (fv[i], gv[i]); } if (Shannon Reduction possible) { *\All nodes of C[i] is the same with another*\ return c[0]; }

resultnode = new node (v, C); if resultnode exists in the unique table return = unique table entry; else { add to unique table; return resultnode; } }

We use the expanded CASE operator solely in our studies, thus all mention of CASE

operator from this point on states the expanded CASE operator structure.

One of the inputs of the case operator is a node structure F and the other is a node array

structure G. Through these two inputs, node operations on these two nodes can be performed

and again the result is a node.

The CASE Operator takes the two inputs and first checks for trivial cases. If the first node

is equal to a terminal node from the domain set {0, 1, 2, …,radix-1}, it automatically selects

the appropriate output, which is the node from the second input node array corresponding to

the first input. If the second node consists only of the ordered domain set, for example {0, 1,

2, …, radix-1}, then the result of the CASE operator is equal to the first input, and no further

calculation is needed.

If the inputs do not conform to any of these cases, the smallest variable of the two inputs

is ascertained, and the top variable becomes variable v. Next, the cofactors of F and array G

are calculated according to v. For each of the edges extending from v, CASE operator is used

170

recursively to rebuild a new node structure using the cofactors. The result is a node with

variable v and edges consisting of the results of the cofactor calculation. For each step, a

unique table is used to determine whether that node has previously been created. If a node has

been created, that entry is used, if not a new entry is added to the unique table and this entry is

used. In this way, it is possible to control the size of the MVDD, and keep the memory use

under control. Another important step is to check for Shannon Reduction. If all edges of a

variable have the same structure, then that variable is directly connected to its upper level.

The result of the CASE Operator is a new node.

The MP-MVDD operator uses the CASE operator described above to perform the

required functions. The inputs of the MP-MVDD operator are the two node structures to be

operated on and the function table’s name. Initially, the second input of the operator is used as

the first input of the CASE Operator, and then the function look-up table entries become the

second input for the CASE Operator. Again, the resulting node is operated on by a CASE

Operator as the second input, while the first node is now the first input. The result is a new

node. The MP-MVDD operator’s algorithm is described below:

MVDD_Operator ( node a, node b,Function table (i)) { Let g [radix] be a node array; Let operator_array[radix] be a node array; Load operator_array from function table (i);

for i = 0 to i < radix { for j = 0 to j < radix { g[i] = CASE (b, operator_array[i][j]); }

} result = CASE (a,g); return result;

}

5. EXAMPLE

A Mod-SUM operation on two 3 valued input and 3 valued output multi-valued

expressions is given in Figure 4 as an example. Both of the expressions transformed into

MVDD representations.

171

Function a : 21

020

021

220

2 12 xxxx ∨ Function b : 12

221

212

121

222

111

1 211 xxxxxx ∨∨

R = ModSUM3 (a, b)

Figure 4 Application of MP-MVDD Algorithm

If this operation executed using only MIN and MAX operators, the resulting function would

use 5 MAX operations and 10 MIN operations. The Mod-SUM function expressed in terms of

MIN and MAX operators is shown below.

21

210

111

120

221

220

2

11

110

101

000

010

221

100),(3

xxxxxx

xxxxxxModSUM

∧∧∨∧∧∨∧∧

∨∧∧∨∧∨∧=

b0

0

X1

X2 X2

0 1 1 0 1 2

0 1 2

0 1 2 0 1 2

b1 b2

1

X1

X2 X2

1 2 2 1 2 0

0 1 2

0 1 2 0 1 2

1

X1

X2 X2

1 2 2 1 2 0

0 1 2

0 1 2 0 1 2

R= CASE ( a, b0, b1, b2)

X0

1

X1

X2 X2

1 2 2 1 2 0

0

1 2

0 1 2 0 1 2

X1

X2

2 0 1

0

1 2

0 1 2

0/1 2

X0

a b

0

X1

X1

X2

1 1 1 2 0 1 1

0/12

0 1 2

0

1/2

0 1 2

b

0 1 2

0

1

2

X1

X2

0 1 2

1 2 0

2 0 1MODSUM 3

Operate on b CASE ( b, MODSUM3[ ] )

MODSUM 3

0

X1

X2

0 1 1

0

1/2

0 1 2

172

6. CONCLUSION

A larger domain of MVDD operators are needed to be used in especially decomposition

of MVL functions using MVDDs. Also, a large set of operators is a need for Data Mining

applications, where many different kinds of relational, mv-logic, arithmetic and language-

based operators are used by knowledge engineers and human experts that create hierarchical

rule-based expert systems. In this paper we have discussed that multi valued Shannon

expansion is just one of the possible applications of the CASE operator. Through the use of

MP-MVDD operator, based on the CASE operator carrying out a number of different MVDD

operations such as Galois Sum, Truncated Sum, Lower Average and poll results etc. is

possible. We have given the definitions and the theorem supporting the MP-MVDD operator

algorithm. We have shown that the algorithm is implementable by giving an example. We

have indicated that there is currently no algorithm available for MVDD Operations that do not

conform to the standard functions. Finally, we have pointed out that the availability of

different operators for MVDDs could give way to different and more efficient minimization

and representation algorithms through the use of the algorithm described. We also stressed on

that MP-MVDD operator is easily applicable to other MVL areas such as Information

Retrieval, Data Mining and Fuzzy Logic.

7. ACKNOWLEDGEMENTS

We would like to thank Professor Jon T. Butler for his inspiration. We also appreciate the

editorial support of Martha Oral at Senior English Fellow at Turkish American Association,

Ankara.

1. C. Y. Lee, Representation of Switching Circuits by Binary-Decision Programs, Bell System Technical Journal Vol. 38, 985-999, 1959.

2. S. B.Akers, Binary Decision Diagrams, IEEE Transactions on Computers Vol.C-27 No.6, 509-516, 1978.

173

3. K. S.Brace, R. L.Rudell and R. E.Bryant, Efficient Implementation of a BDD Package, 27th ACM/IEEE Design Automation Conference, 40-45, 1990.

4. C.Yang, M.Ciesielski and V.Singhal, BDD-based Logic Optimization System, Design Automation Conference 92-97, 2000.

5. R.Drechsler and J.Römmler, Implementation and Visualization of a BDD Package in Java, GI/ITG/ GMM Workshop "Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen", 219-228, 2002.

6. I.Ben Dhaou, E.Dubrova and H.Tenhunen, Power Efficient Inter-module Communication for Digit-Serial DSP Architectures in Deep-Submicron Technology, Proc. of 31st ISMVL, 61-66, 2001.

7. A.Srinivasan, T.Kam, S.Malik and R.K.Brayton, Algorithms for Discrete Function Manipulation, The Proc. of International Conference on Computer Aided Design, 92-95, 1990.

8. A.Mishchenko, C.Files, M.Perkowski, B.Steinbach and C.Dorotska, Implicit Algorithms for Multi-Valued Input Support Minimization, Proc. of 4th International Workshops on Boolean Problems, 9-20, 2000.

9. T.Kam, T.Villa, R.K.Brayton and A.L.Sangionvanni-Vincentelli, Multi-valued Decision Diagrams: Theory and Applications, International Journal on Multiple-Valued Logic Vol.4 No.1-2, 9-62, 1998.

10. D.M.Miller and R.Drechsler, On the Construction of Multiple-Valued Decision Diagrams, Proc. of 32nd ISMVL (ISMVL’02), 245-253, 2002.

11. E.Dubrova, Y.Jiang and R.Brayton, Minimization of Multiple-Valued Functions in Post Algebra, International Workshop on Logic Synthesis, 132-138, 2001.

12. Y.A.Saleh, Multiple-valued Logic Model for Computer-aided Circuit Design, Int.J.Electronics Vol.67 No.5, 727-734, 1989.

13. E.L.Post, Introduction to a General Theory of Elementary Propositions, Amer.J.Math. 43, 163-185, 1921.

14. T.Sasao and D.Debnath, Generalized Reed-Muller Expression: Complexity and an Exact Minimization Algorithm, IECE Trans. Fundamentals, Vol.E79-A, No.12, 2123-2130, 1996.

15. V.Shmerko, G.Holowinski, N.Song, K.M.Dill, K.Ganguly, R.J.Safranek and M.A.Perkowski, High-Quality Minimization of Multi valued Input, Binary Output EXOR Sum and Multi valued Galois Sum of Product Expressions for Incompletely Specified Logic Functions, Proc. of the 4th International Conference on Applications of Computer Systems – ACS’97, Poland, 266-286, 1997.

16. B.Steinbach, M.A.Perkowski and C.Lang, Bi-decompositions of Multi-valued Functions for Circuit Design and Data Mining Applications, Proc. of 29th ISMVL, 50-58, 1999.