• Sonuç bulunamadı

3.3. Zeki Optimizasyon Teknikleri

3.3.5. Bulanık mantık

1 ( 1 ) ( x e x f + = Eşik Fonksiyonu ⎩ ⎨ ⎧ − > + = ilse ise x x x f t deg , 1 , 1 ) ( Hiperbolik Fonksiyon ) ( ) ( ) ( x x x x e e e e x f + − =

Sinüzoidal Fonksiyon f(x)=Sin(x)

Transfer fonksiyonlarının çıktıları gerçek değerler ile kıyaslandıktan sonra hata oranları belirlenerek öğrenme algoritmaları aracılığıyla bu hatalar ağırlıklara dağılır, yeni ağırlıklar belirlenir. Yapay sinir ağlarında üç çeşit öğrenme algoritması vardır. Bunlar danışmanlı öğrenme, danışmansız öğrenme ve takviyeli öğrenmedir [171-181].

3.3.5. Bulanık mantık

Bulanık mantık dolayısıyla bulanık küme teorisi ilk olarak 1965 yılında Lotfi A. Zadeh tarafından ortaya çıkarılan bir kavramdır. Başlangıçta bir çok bilim adamı tarafından kabul görmeyen bu kavram, daha sonraları Japon araştırmacıların bu konu üzerindeki araştırmaları ve uygulamaları sayesinde çok hızlı bir gelişme göstermiştir.

Bulanık mantık konusunu daha iyi anlamak için öncelikle Klasik küme ve Bulanık küme kavramlarına değinmek gerekir. Bulanık küme teorisi, klasik küme teorisinin bir uzantısıdır. Klasik küme rijit sınırlar ile belirlenmiş kümelerden oluşurken, bulanık küme teorisi esnek sınırlarla belirlenmiştir ve “bulanık” kümelerle alakalıdır. Bununla birlikte bulanık mantığın geçmişi çok eskiye dayanır. Mantığın ve matematiğin temel teorisini kurmak için Aristo “Düşüncenin Yasaları”nı ortaya koymuştur.

Bu yasalardan bir tanesi, “orta terimi hariç tutan (üçüncü şıkkın imkansızlığı) yasasıdır”. Bu yasa, her önermenin 1 yada 0 veya doğru yada yanlış olması gerektiğini ifade eder. Perminedes bu yasanın ilk halini M.Ö. 400 yıllarında orataya attığında itirazlar gelmiştir.

Eflatun 1 veya 0 ’ın dışında üçüncü bölgeye işaret ederek, bulanıklaşma noktasında ilk temelleri atmıştır. Eflatun’un dışında Ariston’un iki değerli mantığına başka bir üçlü alternatif ilk olarak 1920’li yıllarda Lukasiewicz önermiş ve üçüncü kısma “mümkün” adını vermiştir.

L.Zadeh’in kapsamlı çalışması ile sonsuz-değerli mantık fikri bulanık kümelerle başladı. Ardından bulanık küme teorisinin matematik alt yapısının oluşturulması ve bulanık mantığın kapsamının genişletilmesiyle bu süreç devam etti. Bu teori ile [0,1] sayıları aralığında işlem yapan üyelik fonksiyonu tanımlamaları yapıldı [176-190].

Bulanık kümelere dayalı olan bulanık mantık, genelde insan düşüncelerine özdeş işlemlerin gerçekleşmesini sağlamakta, gerçek dünyada sık sık meydana gelen belirsiz ve kesin olmayan verileri modellemede yardımcı olmaktadır. Klasik mantıkta bir önerme “Doğru” veya “Yanlıştır”. Fakat gerçek dünyadaki olayların ne derecede doğru veya yanlış olmasının belirlenmesi gerekmektedir. Örneğin 100°C suyun sıcaklığı “sıcak” olarak ifade edilirse, 95°C, 80°C’lerdeki su için “sıcak değildir” ifadesi doğru olmadığı gibi yanlışta değildir. Bu nedenle önermelerin doğru (1) ve yanlış (0) değerleri arasındaki değerler (az sıcak, ılık, az soğuk, soğuk, vs.) kullanılarak bulanık küme kavramı ortaya atılmıştır. Bulanık küme teorisi az, sık, orta, düşük, çok, bir çok gibi dilbilimsel yapıları kullanarak dereceli veri modellendirmesini gerçekleştirmektedir. Böylece olayların modellenmesinde daha gerçekçi ve doğala daha yakın sonuçların elde edilmesini sağlamaktadır. Kurallar, bulanık sistemin davranışını tanımladığından, bulanık kümeler kendi içerisinde öğrenmektedir [183].

Şimdiye kadar öğrenilen matematik, stokastik veya kavramsal sistemlerin hemen hepsi Şekil 3.3’de görülen üç ayrı birimden ibarettir.

SİSTEM DAVRANIŞI

GİRDİ ÇIKTI

Şekil 3.3. Klasik Sistem [184]

Klasik bulanık sistemde ise bu üç birimden farklı olarak, sistem davranışı ikiye bölünmüştür (Şekil 3.4). BULANIK ÇIKARIM MOTORU ÇIKIŞ BULANIK KÜMELERİ GİRİŞ BULANIK KÜMELERİ BULANIK KURAL BİRİMİ

Şekil 3.4. Genel Bulanık Sistem [184].

Şekil 3.4’deki birimlerin her birinin farklı fakat birbiriyle ilişkili görevleri vardır:

Genel Bilgi Tabanı Birimi : İncelenecek olayın maruz kaldığı girdi değişkenlerini ve bunlar hakkındaki tüm bilgileri içerir. Buna veri tabanı veya kısaca giriş adı verilir. Genel veri tabanı denmesinin sebebi buradaki bilgilerin sayısal ve/veya sözel olabilmesidir.

Bulanık Kural Tabanı Birimi: Veri tabanındaki girişleri çıkış değişkenlerine bağlayan mantıksa, EĞER-İSE türünde yazılabilen bütün kuralların tümünü içerir. Bu kuralların yazılmasında sadece girdi verileri ile çıktılar arasında olabilecek tüm aralık (bulanık küme) bağlantıları düşünülür. Böylece, her bir kural girdi uzayının

bir parçasını çıktı uzayına mantıksal olarak bağlar. İşte bu bağlantıların tümü kural tabanını oluşturur.

Bulanık Çıkarım Motoru Birimi: Bulanık kural tabanında giriş ve çıkış bulanık kümeleri arasında kurulmuş olan ilişkilerin hepsini bir araya toplayarak sistemin bir çıkışlı davranmasını temsil eden işlemler topluluğunu içeren bir mekanizmadır. Bu motor, her bir kuralın çıkarımlarını bir araya toplayarak tüm sistemin girdiler altında nasıl bir çıktı vereceğinin belirlenmesine yarar.

Çıktı Birimi: Bilgi ve bulanık kural tabanlarının bulanık çıkarım motoru vasıtası ile etkileşimi sonunda elde edilen çıktı değerlerinin topluluğunu belirtir [184-189].

BÖLÜM 4. KLASİK OPTİMİZASYON

4.1. Giriş

Optimizasyon teknikleri, başta mühendislik olmak üzere pek çok alanda kullanılmaktadır [191]. Hesaplamaya dayalı klasik optimizasyon teknikleri, mühendislerin günlük uğraştığı birçok işte optimizasyonu sağlamak için yeterli değildir. Bu eksiklik, geleneksel olmayan optimizasyon teknikleri ile başarılı bir şekilde giderilir.

Genel bir optimizasyon probleminin tipik matematiksel ifadesi şu şekildedir:

4.1 ( 1, 2, . . ., ) ( 1, 2, . . ., ) 1, 2, . . ., j j Max Min y f x x xn Kısıt g x x xn b j m ∨ = ≤ ⎧ ⎫ ⎪ ⎪= = ⎨ ⎬ ⎪ ⎪ ⎩ ⎭

Amaç fonksiyonu olarak adlandırılır ve x’e bağlı olarak hesaplanabilir. Kısıtlar

( 1, 2, . . ., )

y= f x x xn

j

g , eşitsizlikler ve eşitlikler halinde olabilir, değişkenler sürekli veya kesikli olarak değişebilir [192-195]. bj kısıtlara ait sağ taraf değerleridir.

Optimizasyon problemleri 3 temel elemandan oluşur:

Amaç Fonksiyonu: Amaç fonksiyonunun minimizasyonu veya maksimizasyonu istenir. Örnek olarak, imalat sürecinde, maksimum fayda veya minimum maliyet istenebilir.

Değişkenler veya Bilinmeyenler: Değişkenler veya bilinmeyenler seti, amaç fonksiyonu değerini etkiler. İmalat probleminde değişkenler, farklı kaynak kullanım miktarı ya da her bir aktivite için harcanan zaman olabilir.

Kısıtlar: Kısıtlar seti, belirli değerleri içine alıp, diğer değerlerden ayrı tutan bilinmeyenleri ifade eder. İmalat problemi için, herhangi bir aktivitenin negatif sürede yapılması anlamsız olacağından “zaman” değişkenlerini her zaman negatif olmayacak şekilde almak gerekir.

Tüm bu ayrıntılar ışığında optimizasyon problemi;

“Kısıtları sağlayarak, amaç fonksiyonunu maksimize ve minimize eden değişken değerlerinin bulunması” olarak tanımlanabilir.

Bu temel elemanlar, optimizasyon problemini tanımlamak için gerekli olsa da, kendi içerisinde bu temel elemanların farklı gereklilik seviyeleri söz konusudur.

Örneğin amaç fonksiyonu ele alınırsa, hemen hemen tüm optimizasyon problemleri tek bir amaç fonksiyonuna sahiptir. Bunun dışında iki farklı durum söz konusu da olabilir:

- Amaç Fonksiyonunun Olmaması : Bazı durumlarda (örneğin, bütünleşik devre tasarımı problemlerinde) amaç, model kısıtlarını sağlayan değişken setinin bulunmasıdır. Kullanıcı hiç bir şeyi özellikle optimize etmek istemez. Bu yüzden bir amaç fonksiyonunu tanımlamak için bir sebep yoktur. Bu tip problemler genellikle fizibilite problemi olarak adlandırılır.

- Birden Fazla Amaç Fonksiyonunun Olması : Bu gibi durumlarla gerçek hayatta sıklıkla karşılaşılır. Farklı amaçlara hitap eden birden çok amaç fonksiyonun minimizasyonu, maksimizasyonu veya belirli bir değerde olması istenir. “En iyi” çözüm yerine çoğunlukla “uzlaşık çözüm” ile yetinilir.

Değişkenler ise bir optimizasyon problemi için temel şarttır. Eğer değişken yoksa, amaç fonksiyonu ve problem kısıtları tanımlanamaz.

Kısıtlar ise şart değildir. Kısıtsız optimizasyon alanı, bir çok algoritma ve yazılımın mevcut olduğu önemli konulardan biridir [196].

İsmine rağmen optimizasyon, bir problemin optimum sonucunu bulmayı gerektirmez. Bu genelde de mümkün değildir ve bunun yerine Zeki Optimizasyon Teknikleri (sezgisel algoritmalar) kullanılır [197].