Post on 03-Feb-2017
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
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
onuroral@ieee.org, Ziya.Telatar@eng.ankara.edu.tr
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.