Al ρ AF ∑ = )( 0)( ≤ xg 0)( = xh - Uluslararası Deprem Sempoyumu

advertisement
OPTİMUM YAPI DİZAYNINDA YAPAY ZEKA YAKLAŞIMLAR
Ömer CİVALEK1
Öz: Dizayn süresince yapı mühendisinin esas amacı, önceden tanımlanmış dizayn koşulları
altında hem dış yüklere karşı dayanıma sahip ve hem de ekonomik bir optimum yapı elde
etmektir. Bu çalışma, düzlem kafes sistemlerin optimum dizaynlarının bazı yapay zeka
teorilerinin kullanılarak elde edilmesi ile ilgilidir. Yaklaşım, düzlem kafes yapıların
optimizasyonu ile ilgili bir örnek ile açıklanmış ve sonuçlar tartışılmıştır.
Anahtar Kelimeler: Yapı Optimizasyonu, Karınca Koloni Algoritması, Yapay Zeka.
GİRİŞ
Artan nüfusa karşılık kaynakların yetersizliği mühendislik hesaplarında optimizasyon kavramının doğmasına neden
olmuştur. Esasen mühendisliğin genel bir tanımı da kıt kaynakların optimum kullanılması sanatıdır. Geçen 30 yıl
boyunca pek çok matematiksel optimizasyon tekniği geliştirilmiş ve yapı mühendisliğinde kullanılmıştır. Optimumluk
kriteri, sonlu elemanlar yöntemi, simpleks yöntemler ve dinamik programlama bunlardan bazılarıdır [1,2,3]. Yapı
optimizasyonunun amacı, dizayn değişkenlerine bağlı olarak matematiksel formda tanımlanmış bir amaç fonksiyonunun
verilen sınırlayıcılar altında ekstrem değerlerinin bulunmasıdır. Yapısal optimizasyonda bu ekstrem değer genelde bir
minimumdur. Pek çok yapısal optimizasyon probleminde uygun amaç fonksiyonu genelde kesit alanları, ağırlık yada
maliyet olmaktadır. Sınırlayıcı veya kısıtlayıcılar ise; gerilme, deplasman, frekans, burkulma veya minimum alan
olabilmektedir. Genel bir yaklaşımla yapısal optimizasyon problemi matematiksel olarak [4]:
n
Minimum F ( A) = ∑ ρ i l i A i ; A = A1, A2,....,An
(1)
g ( x) ≤ 0 ;
(2)
i =1
g = g1, g2,....,gn
h( x) = 0 ; h = h1, h2,....,hn
(3)
ile tanımlanır. Yani verilen g(x) eşitsizlik ve h(x) eşitlik sınırlayıcıları altında F(A) amaç fonksiyonunu minimum yapan
dizayn değişkenlerinin bulunmasıdır. Denklemde l çubuk boyları, ρ yapının imal edildiği malzeme yoğunluğu, A ise
kesit alanıdır. Yapısal optimizasyon problemlerinde dizayn değişkenleri kafes ve çerçeve sistemler için çubuk kesit
alanları, plak ve kabuk elemanlar için kalınlık veya ağırlık olmaktadır.
YAPAY ZEKA NEDİR?
Günümüz yapay zeka (YZ) teknolojisi biyolojik yapılardan ve Darvin’in evrim teorisi sürecinden esinlenerek yeni
sistemler ortaya koymaktadır. Başlangıçta insan davranışlarının ve beynin çalışma prensibinin bilgisayarda
simülasyonuna bağlı olarak ilerleyen çalışmalar, bulanık mantık kavramının gelişmesiyle gerçek dünyanın esnekliğini
yakalayabilmiştir. Genel tanımı ile yapay zeka olarak adlandırılan bu çalışmalar; uzman sistemler (US), yapay sinir
ağları (YSA), bulanık (fuzzy) yada puslu mantık, robotik, doğal dil işleme, örüntü tanıma, sibernetik, genetik
algoritmalar(GA), tabu(yasaklı) arama teknikleri, metallerin ısıl işlemlerle özelliklerinin değiştirilmesine benzer olarak
geliştirilen tavlama benzetimi (Simulated Annealing), yapay bağışıklık algoritması (Artificial Immune Algorithm) ve
diferansiyel gelişim algoritmalarıdır [5]. Bunların içinde; yapay sinir ağları modelleme ve tahmin, bulanık mantık
kontrol türü problemlerde daha başarılı iken, son beş tanesi daha çok optimizasyon (eniyileme) türü problemlerde
üstünlüğünü göstermiştir. Yapay zeka bir bilgisayarın ya da bilgisayar denetimli bir makinanın, genellikle insana özgü
nitelikler olduğu varsayılan akıl yürütme, karar verme, anlam çıkartma, genelleme yapma ve geçmiş deneyimlerden
yararlanarak öğrenme gibi yüksek zihinsel süreçlere ilişkin görevleri yerine getirme yeteneği olarak tanımlanır[6,7].
1
Akdeniz Üniversitesi, Müh. Fakültesi, İnşaat Müh. Böl, Mekanik A.B.D., Topçular-Antalya
1325
Yapay Sinir Ağları (YSA)
Genel anlamda YSA, beynin bir işlevini yerine getirme yöntemini modellemek için tasarlanan bir sistem olarak
tanımlanabilir[7,8,9]. Yapay sinir ağlarındaki işleme elemanları biyolojik olarak insan beynindeki nöronlara karşılık
gelmektedir, Şekil 1. Dendrit olarak adlandırılan yapı, diğer hücrelerden bilgiyi alan nöron girişleri olarak görev yapar.
Diğer hücrelere bilgiyi transfer eden eleman aksonlardır. Dolayısıyla aksonlar nöron çıkışları olarak görev yaparlar.
Akson ile dendrit arasındaki bağlantı ise sinapslar tarafından gerçekleştirilir.
Akson
Dendrit
Çekirdek
Nöron
Hücre Yapı
x1
xi
xn
f (xj )
∑
⇑
yj
1. 0
xj
0. 0
θj
Wji
Şekil 1. Biyolojik ve Yapay Nöron Modeli
1940 yılında McCulloch ve Pitts nöronun, mantık sistemlerinde basit eş değer yapısıyla modellenebileceğini ortaya
atmışlardır. Bu amaçla yaptıkları çalışmalar sonunda Şekil 1’de görüldüğü gibi bir yapay nöron modeli geliştirmişlerdir.
Bu modele göre, bir nöron N tane ağırlıklandırılmış girişi toplamakta ve sonucu lineer olmayan bir fonksiyondan
geçirmektedir [9,10]. Herhangi bir katmandaki j. birime gelen toplam giriş, önceki katmandaki birimlerin yi çıkışlarının
(ilk katman için girişlerin) bağlantılar üzerindeki wij ağırlıkları ile hesaplanmış bir ağırlıklı toplamıdır.
net j = ∑ w ij y j
(4)
i
birimin çıkışı, bu değerin bir eşik değerden çıkartılıp lineer olmayan bir fonksiyondan geçirilmesiyle
f(x) =
1
1 + exp(∑ w ij y j )
(5)
i
olarak hesaplanır. Geriye yayılma algoritması esasen çok katmanlı ağların eğitiminde kullanılan bir denetimli öğrenme
algoritmasıdır. Rumelhart tarafından, β momentum terimini de içerecek şekilde ağırlıkların ayarlanması formül
aşağıdaki şekilde genelleştirilmiştir.
Δ w ij (t + 1) = α δ ik o kj + βΔ w ij (t )
(6)
1326
Burada β momentum terimi,
δ ik eğitim setindeki k. Örnek çifti için i. Nöronun hata değeridir ve kullanılan eşik
fonksiyonunun türevini içeren bir terimdir. Aktivasyon veya işaret fonksiyonu olarak da adlandırılan eşik fonksiyonları
pek çok sayıda olmasına rağmen geriye yayılma algoritmasında daha çok sigmoid fonksiyon kullanılmaktadır
[7,11,12,13,14].
Fuzzy (Bulanık) Küme Kuramı
Bilgisayarlar insan beyni gibi akıl yürütemezler. Bilgisayarlarda sıfır ve bir dizilerine indirgenmiş kesin gerçekler ve
doğru yada yanlış olan önermeler kullanılır. İnsan beyni ise, "serin hava", "yüksek hız", "genç kız" gibi belirsizlik yada
değer yargılarını içeren bulanık anlatım ve iddiaların üstesinden gelebilecek biçimde akıl yürütebilir. Ayrıca insan,
bilgisayarlardan farklı olarak, hemen her şeyin ancak kısmen doğru olduğu bir dünyada akıl yürütmek için sağduyusunu
kullanır[15,16]. Bulanık mantık (Fuzzy Logic) kavramı ilk kez 1965 yılında California Berkeley Üniversitesinden Prof.
Lotfi A.Zadeh'in bu konu üzerinde ilk makallelerini yayınlamasıyla duyuldu [17]. O tarihten sonra önemi gittikçe
artarak günümüze kadar gelen bulanık mantık, belirsizliklerin anlatımı ve belirsizliklerle çalışılabilmesi için kurulmuş
katı bir matematik düzen olarak tanımlanabilir. Bilindiği gibi istatistikte ve olasılık kuramında, belirsizliklerle değil
kesinliklerle çalışılır ama insanın yaşadığı ortam daha çok belirsizliklerle doludur. Bulanık mantık ile klasik mantık
arasındaki temel fark bilinen anlamda matematiğin sadece aşırı uç değerlerine izin vermesidir. Klasik matematiksel
yöntemlerle karmaşık sistemleri modellemek ve kontrol etmek işte bu yüzden zordur, çünkü veriler tam olmalıdır.
Bulanık mantık kişiyi bu zorunluluktan kurtarır ve daha niteliksel bir tanımlama olanağı sağlar. Bir kişi için 38,5
yaşında demektense sadece orta yaşlı demek bir çok uygulama için yeterli bir veridir. Böylece azımsanamayacak ölçüde
bir bilgi indirgenmesi söz konusu olacak ve matematiksel bir tanımlama yerine daha kolay anlaşılabilen niteliksel bir
tanımlama yapılabilecektir. Bilginin insanlar tarafından değerlendirilmesi en genel haliyle iki aşamada incelenebilir.
Dünyadaki karakterleri bilmek ve sonra bilginin kendisinin karakterini bilmek. İkinci düşünce aşaması birincinin
başarısızlığından doğmuştur. Bu ikinci tarz düşüncenin oluşumu, bilginin mümkün olmasının içinde yapılan ve
mümkün olmanın limiti (sınırları) içinde olan bir araştırmadır. Bilginin evrimi içindeki diğer bir aşama ise onun
değerlendirilmesi ve sistematik olarak sınıflandırılmasıdır. Buna ilaveten bilgi teriminin farklı disiplinlerde farklı
anlamları olup değerlendirilmesinde buna dikkat edilir. Bu işlem süresinde hassasiyet yine her disiplin için farklı farklı
anlamlardadır. Yani bilginin anlamı izafidir. Örnek olarak 25o C sıcaklık bilgisinin bir meteroloji uzmanında
uyandırdığı etki ile bir mühendis de ve bir hekimde uyandırdığı etki farklı farklıdır. Bu bilgi, yani 25o C sıcaklık ifadesi
kimyasal bir işlem için çok hassas bir kontrol gerektirse de örneğin inşaat mühendisliği eğitiminde bu değer o kadar
hassas bir ölçüm gerektirmemektedir. Çünkü bir yapı elemanının dayanımını kaybettiği sıcaklık derecesi on binler
mertebesinde bir hassasiyet gerektirmez. Oysa sıcaklığa duyarlı hassas bir on/of devresinde sıcaklığın kontrolü çok
hassas bir ölçüm gerektirebilir. Yani sıcaklık bilgisinin değerlendirilmesi ve işlenmesi onun kullanım alanı ile de direkt
ilgili olmaktadır. Zadeh’ e göre gerçek dünyada bir kümenin(uzayın) elemanları arasındaki ilişkiler kesin olarak
tanımlanamamaktadır. Bundan dolayı, sözü edilen kümede ortaya atılan problemler kolaylıkla çözülememektedir.
Bulanık küme teorisinin ortaya atılmasından sonra, Zadeh yayınladığı çalışmalarında, bulanık küme teorisinin, en
büyük yaklaşıklıkla insanın karar verme sistemini modelleyebilecek yeterlilikte olduğu fikrini ortaya atmıştır[18].
Bulanık mantığın kilit kavramını mantıkçılar ilk olarak 1920'lerde "Her şey bir derecelendirme sorunudur" diyerek
ortaya attılar. Bulanık mantıkta fuzzy kümeleri kadar önemli bir diğer kavramda linguistik değişken kavramıdır.
Linguistik değişken “uzun” veya “kısa” gibi kelimeler ve ifadelerle tanımlanabilen değişkenlerdir. Bir linguistik
değişkenin değerleri fuzzy kümeleri ile ifade edilir. Örneğin oda sıcaklığı linguistik değişken için “uzun”, “kısa” ve
“çok uzun” ifadelerini alabilir. Bu üç ifadenin her biri ayrı ayrık fuzzy kümeleri ile modellenir. Bulanık mantığın
uygulama alanları çok geniştir. Sağladığı en büyük fayda ise insana özgü olan tecrübe ile öğrenme olayının kolayca
modellenebilmesi ve belirsiz kavramların bile matematiksel olarak ifade edilebilmesine olanak tanımasıdır[19]. Bu
nedenle lineer olmayan sistemlere yaklaşım yapabilmek için özellikle uygundur. Fuzzy kuramının merkez kavramı
fuzzy kümeleridir. Küme kavramı kulağa biraz matematiksel gelebilir ama anlaşılması kolaydır. Örneğin “orta boy”
kavramını inceleyerek olursak, bu kavramın sınırlarının kişiden kişiye değişiklik gösterdiğini görürüz. Kesin sınırlar söz
konusu olmadığı için kavramı matematiksel olarak da kolayca formüle edemeyiz. Ama genel olarak 160 cm ile 170cm
uzunlukları orta boy sınırları olarak düşünülebilir. Bu kavramı grafik olarak ifade etmek istediğimizde bir kümeye üye
olma grafiği ile karşılaşırız ve kavram içinde hangi değerin hangi ağırlıkta olduğunu gösterir. Bir fuzzy kümesi kendi
aitlik fonksiyonu ile açık olarak temsil edilebilir. Bu üyelik fonksiyonu 0 ile 1 arasındaki her değeri alabilir. Böyle bir
üyelik fonksiyonu ile “kesinlikle üye” veya “kesinlikle üye değil” arasında istenilen incelikte ayarlama yapmak
mümkündür. Yani değeri 0.32 olan bir ifadenin anlamı %32 doğru %68 yanlış demektir. Bulanık mantığın da klasik
mantıkta olduğu gibi işleçleri (operator) vardır, örneğin and, or, not gibi. Fuzzy mantığı ile olasılık kavramları ayrı
şeylerdir[20,21]. Aralarındaki en büyük farklılık bulanıklığın bir deterministik belirsizlik olmasıdır. Fuzzy mantığında
herhangi bir eleman verilen bir kümenin kısmen üyesi olabilir. Bu esnekliği, problemleri çok hassas bir şekilde
çözebilmeye olanak sağlar. Fuzzy mantığında her bir eleman tanımlanmış bir üyelik fonksiyonu yardımıyla bir üyelik
1327
derecesine atanır. Böylece bulanık kümeyi oluşturan her bir eleman kısmen o kümenin üyesi olabilmektedir. Basit
olarak bir bulanık denetleyicinin yapısına baktığımız zaman Bulandırıcı, Çıkarım motoru, Veri tabanı, Kural tabanı ve
Durulandırıcı olmak üzere beş ana bölümden oluştuğunu görürüz. Şekil 2’de bir bulanık denetleyicinin temel yapısı
verilmektedir [26,27]. X bir evrensel kümeyi tarif etmek üzere, Af Fuzzy kümesinin üyelik fonksiyonu μA ile gösterilir
ve
μA : X → [0, 1]
şeklinde tanımlanır.
Bilgi tabanı
Veri Tabanı
Bulandırıcı
Girdi
Kural Tabanı
Çıkartım
Motoru
Durulayıcı
Çıktı
Şekil 2. Bir Bulanık Denetleyicinin Temel Yapısı
Örnek olarak klasik küme teorisinde tanımlanmış olan A kümesini dikkate alalım. Yeni kümemiz Af olacaktır. Şekil 3’
de verilen grafikler yeni tanımlamamıza göre farklı olacaktır. Ancak bu tanımlama üyelik fonksiyonu olarak
adlandıracağımız ve x değişkenine bağlı olarak koşutlayacağımız fonksiyonun yapısına göre olacaktır.
X
μA
1
A
1.0
5
6
0.5
4
0
3
4
5
6
7
8
9
7
9
x
Şekil 3. Fuzzy A Kümesinin Gösterimi: a) Üyelik dereceleri, b) Venn diyagramı
Klasik kümede mevcut olan özelliklerin hepsi Fuzzy küme teorisinde tanımlanmıştır. Kümeler üzerine olan birleşim,
kesişim, fark vb. özelliklerin bulanık küme kuramındaki tanımları farklıdır. Bu özelliklerin kullanılmasıyla pek çok
mühendislik problemi çözülebilmektedir. Herhangi bir A Fuzzy kümesinde xi bu kümenin dayanak elemanı olsun. μi ‘
de Af Fuzzy kümesinde üyelik derecesi olmak üzere,
Af = μ1 / x1 + μ2 / x2 + ..............+ μn / xn
ile verilir. Böylece Af =
n
∑ μi xi
i =1
şeklinde verilir. X evrensel kümesinde Af, Bf ve Cf gibi üç bulanık küme tanımlayalım.
Bu kümeler için temel özellikler,
Birleşim
μ(A∪B)f (x) = max[μ A(x), μB (x) ]
Kesişim
μ(A∩B)f (x) = min[μ A(x), μB (x) ]
Tamamlayıcı
μA- (x) = 1- μA (x)
olarak tanımlanır. Şekil 4’de amaç fonksiyonu ve sınırlayıcılar için önerilmiş Fuzzy üyelik fonksiyonları verilmiştir.
1328
r
μ f (X)
μ
cj
r
(X)
1
1
r
f( X )
0
fopt- Δ f
0
fopt
bj
b j+ d j
r
c j ( X)
Şekil 4. Amaç Ve Sınırlayıcılar İçin Fuzzy Üyelik Fonksiyonları
Genetik Algoritmalar
Genetik algoritmalar en genel anlamda, biyolojik sistemlere benzer olarak evrimin bilgisayarlara uygulanmasıyla oluşan
basit bir sistemdir[22]. Genetik algoritmalar, evrim teorisinden esinlenerek geliştirilmiş, seçim ve yeniden üretim
operatörlerini kullanarak arama uzayındaki yeni noktaların belirlendiği, populasyon esasına dayalı; arama, optimizasyon
ve yapay öğrenme algoritmalarıdır. Bu algoritmalarda, problemin potansiyel çözüm kümeleri kromozom benzeri veri
yapılarına dönüşür ve bu veri yapılarına bazı genetik işlemler(yeniden üretim, çaprazlama, değişim) uygulanarak
değişik yeni çözümler üretilir. Genetik biliminde, kromozomlar canlılarla ilgili kritik bilgilerin saklandığı birimlerdir.
Genetik algoritmalarda ise, çözümü istenen problemle ilgili bağımsız değişkenler, problemin kritik bilgilerini oluşturur.
Genetik algoritma, problem için bilgisayar
hafızasında oluşturulan alternatiflerin veya genetik algoritma
terminolojisiyle kromozomların en uygun çözüm için seleksiyona tabii tutulması yani oluşacak kombinasyonlar içinde
en uygun olanın seçimi işlemidir. Dolayısıyla genetik algoritma biraz farklı olmakla beraber bir stokastik araştırma
metodudur. Genetik algoritma tekniğiyle bir problemin analizinde çözüm uzayı sonsuz sayıda nokta ile taranmaktadır.
Yani oluşturulan bireyler (çözüm adayları ) çözümü gerçekleyen en uygun bireyin bulunması için bir tür yapay
seleksiyona uğratılmaktadır. Ancak genetik algoritmada matematiksel tekniklerde olduğu gibi çözüm uzayının
araştırılmasında bazı özel tekniklere (türev, enerji metotları vb.) başvurmaya gerek yoktur. Çünkü genetik algoritma
daha çok deterministik olan bir bölge ve/veya alan üzerinde randomize edilmiş operatörler kullanmakta ve çözüm için
örneğin optimizasyon problemlerinde lokal bir extremiteyi hiç bir zaman çözüm gibi kabul etme hatasına
düşmemektedir. Genetik algoritma, bilgisayar üzerinde oluşturulan bir tür evrim şeklidir. Değişik planlama teknikleri,
bir fonksiyonun optimizasyonu, lineer olmayan sistemlerin çözümü, ardışık değerlerin tespiti gibi pek çok problem
tiplerini içine alan geniş bir uygulama alanına sahiptir. En genel çerçevede genetik algoritmalar (GA), biyolojik
sistemlere benzer olarak evrimin bilgisayar ortamında bir tür yazılım tekniğiyle gerçekleştirilmesidir. Genetik algoritma
tekniğinin uygulandığı ve başarılı sonuçlar verdiği problem tipleri daha çok klasik programlama teknikleri ile
çözülemeyen veya çözüm süresi çok uzun olan problemlerdir. Bunlar ; doğrusal olmayan denklem sistemlerinin
çözümü, optimizasyon , işletmelerde üretim planlanması, çok parametreli fonksiyonların optimizasyonudur. Genetik
algoritma konusunda yapılan çalışmalar henüz yenidir. Bu konudaki ilk çalışmalar genetik algoritmanın kurucusu
sayılan Holland tarafından yapılmıştır. Holland, tabiatta gerçekleşen seleksiyonu yani en uygun ve en güçlü bireyin elde
edilmesi fikrinden hareket ederek bunu bilgisayar ortamında gerçekleştirmeyi düşünmüştür. Holland çalışmalarının
sonucunu 1975 yılında yayınladığı bir kitap ta toplamış ve sadece bir mekanik yapının öğrenme kabiliyetinin
geliştirilmesinden ise böylesi yapıları bünyesinde bulunduran toplulukların genetik süreçlerden geçerek en uygun
bireyler (en uygun çözüm) oluşturmasını incelemiştir. Ancak Holland’ ın çalışmaları tamamiyle bilgisayar ortamında
böylesi bir çalışmanın nasıl gerçekleştirileceği ve uygulanabilirliği hakkında yeterli bilgiler içermemiştir. Daha sonra
Goldberg genetik algoritma tekniği kullanarak gaz boru hatlarının denetimi üzerine yaptığı çalışmada bu tekniğin
pratik uygulamaları hakkında fikir verici ilk çalışma olmuştur[23]. Daha sonra yine Goldberg mühendislik sistemlerinin
optimum boyutlandırılmasında genetik algoritma tekniğinin nasıl kullanılacağını temel prensipleriyle vermiştir. Yine
düzlem çerçeve elemanların bu teknikle optimizasyonu başarıyla verilmiştir. Rüzgar türbinlerinin optimum posizyonu
için genetik algoritma tekniği kullanılmış ve tekniğin kullanım potansiyeli artmıştır. Aşağıdaki şemada (Şekil 5) basit
olarak genetik algoritmanın temel yapısı gözükmektedir. Şekilden görüleceği üzere eski topluluk (yani çözümü için
sunulan ilk veri) değerlendirme işlemine tabi tutulduktan sonra başarılı olan bireyler seçilmekte yani seleksiyon
yapılmaktadır. Başarısız olan bireylerin yerini başarılı olan yenileri alarak kendi aralarında randomize olarak
çiftleştirilmekte ve yeni topluluk oluşturulmaktadır. Daha sonra yeni topluluk bir önceki grubun adı ile değiştirilerek
belirli bir jenerasyon sayısına kadar (klasik programlamadaki sayaç gibi) devam etmektedir. İşlem başarılı bireylerin
uygun çıktıyı üretinceye kadar devam etmektedir [24].
1329
Eski Populasyon
Değerlendirme
Yeni Populasyon
Seçim
Üreme
Şekil 5. Genel Olarak Bir Genetik Algoritmanın Genel Yapısı
Genetik algoritmada ise klasik Von-Neuman mimarisindeki gibi 1 ve 0 sayılarından oluşmaktadır. Yani bir
kromozomdaki genler 1 ve 0 sayılarından oluşmaktadır. Ülkemizde GA’ların yapı optimizasyonu alanında önemli
çalışmalar yapılmaktadır [25]. GA’larda en çok kullanılan çaprazlama çeşitleri; Bir noktalı çaprazlama, iki noktalı
çaprazlama, ünüform çaprazlama ve sıralı çaprazlamadır.
Karınca Koloni Algoritması
Populasyon esaslı çeşitli canlılar, örneğin arılar ve karıncalar hayatta kalma stratejilerini çok karmaşık grup davranış
biçimleri ile gerçekleştirirler. Karıncalar, kolonilerinin menfaatleri için yardımlaşarak birlikte çalışan sosyal hayvanların
en iyi örneklerindendir. Koloni halinde yaşayan karıncalar besin kaynağı bulmak için ilk olarak öncü karıncaları tek
başına gönderirler [29,30]. Bu öncüler çevreyi araştırarak uygun yiyecek kaynağını bulur ve koloninin bulunduğu yere
geri dönerken arkalarında kendilerine has özel bir kimyasal madde (fereomen) salgılayarak ilerler. Karıncalar üzerine
yapılan çalışmalar, en kısa yolu bulma kabiliyetlerinin birbirleri arasındaki kimyasal haberleşmenin bir sonucu
olduğunu göstermiştir. Karıncalar birbirleriyle haberleşme de feromon olarak adlandırılan kimyasal bir madde
kullanmaktadır. Karıncalar yürürken yolları üzerine bir miktar feromon maddesi bırakır ve her bir karınca yuva yada
yiyecek bulmak için bir doğrultuyu seçer. Bir yönün seçilme ihtimali, bu yön üzerindeki feromon maddesi miktarına
bağlıdır. Bütün yönlerin feromon miktarı birbirine eşit ise, o zaman bütün yönler karıncalar tarafından aynı seçilme
olasılığına sahiptir. Tüm karıncaların hızlarının ve yollara bıraktıkları feromon miktarının aynı olduğu kabul
edildiğinde, daha kısa yollar birim zamanda daha çok feromon maddesi alacaktır. Dolayısıyla, karıncaların büyük
çoğunluğu hızla en kısa yolları seçecektir. Bu geri besleme işlemi otokatalitik işlem olarak da adlandırılır. Gerçek
karınca kolonilerinin en kısa yolu bulmak için gösterdikleri davranış , doğal bir optimizasyon işlemini tanımlar. Karınca
koloni sistemi karıncaların doğal hayatta yiyecek bulmak için aralarında kurduğu sistemi modellemektedir. Bu sistemde
bir karınca geçtiği yol üzerinde bir salgı bırakır. Karıncalar gidecekleri yolu bu salgının yoğunluğuna bağlı olarak
gerçekleştirirler. Belirli bir süre sonra tüm karıncalar yiyeceklerin yerlerini aralarındaki bu dolaylı iletişim ile
öğrenirler. Bu doğal süreç bir çok kombinazonsal en iyileme probleminde başarı ile kullanılmaktadır. Karınca koloni
algoritması Dorigo ve arkadaşları tarafından önerilmiş en yeni sezgisel algoritmalardan biridir [31,34]. Algoritma
gerçek karınca kolonilerinin davranışları üzerine dayalıdır. Günümüze kadar Karınca koloni algoritmasının yeni
modelleri ortaya çıkmış ve bu modellerin özellikle ayrık optimizasyon problemlerinin çözümüne uygulanması
konusunda çeşitli çalışmalar yapılmıştır. Gerçek karıncalar, yuvaları ile yiyecek kaynağı arasındaki en kısa yolu bulma
kabiliyetine sahiptirler ve ayrıca çevredeki değişimlere de adapte olabilmektedirler. Örneğin, yuva ile yiyecek
arasındaki en kısa yol belirli bir zamanda keşfedilir ve sonra çevre şartları nedeniyle bu en kısa yol artık en kısa yol
olmaktan çıkarsa, karıncalar yeni en kısa yolu bulabilmektedirler. Diğer bir ilginç noktada karıncaların çok iyi görme
kabiliyetlerinin olmamasıdır. Yani, en kısa yolu keşfetme uğraşında yönleri seçmek için etrafı tam olarak göremezler.
Gerçek karınca kolonilerinin davranışını modelleyen temel bir algoritmanın adımları Şekil 6’ da verilmiştir. TACO
(Touring Ant Colony Optimisation) Algoritması: Bu algoritma Hiroyasu ve arkadaşları tarafından özellikle sürekli
optimizasyon problemleri için önerilmiştir. Bu algoritmada çözümler ikili sayılarla temsil edilmiş tasarım
parametrelerinin bir vektörüdür. Dolayısıyla bir çözüm, ikili sayıların alt guruplarından oluşan bir vektördür. Bu
nedenle, her bir yapay karınca dizideki ikili sayının değerini araştırır. Başka bir deyişle ikili sayının değerinin 1 yada 0
olup olmadığına karar vermeye çalışır. TACO algoritması kavramı Şekil 7’ de gösterilmiştir.
BAŞLA
TEKRARLA
Bütün yapay karıncalar için yolların oluşturulması
Bütün yapay yolların uzunluğunun hesabı
Yapay yollar üzerinde bulunan feromon maddesi miktarının güncellenmesi
Şu ana kadar bulunan en kısa yapay yolun hafızada tutulması
UNTIL ( iterasyon = maksimum iterasyon yada yeterlilik kriteri )
END
Şekil 6. Basit bir karınca koloni optimizasyon algoritması.
1330
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0001110010
Şekil 7. Karınca Tarafından Bulunan Yapay Yol (Çözüm)
Karınca Yoğunluk Algoritması
Karınca yoğunluk modelinde, bir karıncanın i şehrinden j şehrine gidişinde bu şehirler arasındaki (i,j) hattına, bitim
uzunluk başına Q1 miktarınca koku bırakmaktadır. Bu modelde (i,j) hattına k. karınca tarafından bırakılan koku miktarı
k
Δ τ ij (t , t + 1 ) =
{Q0
1
k . karınca ij hattını
t - t + 1 zaman aral ığında kul lanırsa
aksi durumda
ifadesi ile tanımlanır. Karıncanın i şehrinden j şehrine giderken gidişinde bu hatta feromen maddesinin yoğunluk
miktarında oluşacak artışın karınca yoğunluk modelinde mesafeden bağımsız olduğu görülmektedir.Bundan başka
karınca miktar modeli olarak bilinen bir model daha vardır. Karınca yoğunluk modeli algoritmasının adımları aşağıda
özetlenmiştir [31,32].
Adım 1. Tüm elemanlara bilinen sayıda yapay karınca yerleştir. Karıncaların
tabu(yasaklama) listesini yenile. Her hattın koku miktarını sıfırla. Sayacı sıfırla.
Adım 2. Tabu listeleri doluncaya kadar aşağıdaki işlemleri tekrarla.
•
Her elemandaki tüm karıncalar için hesaplanan Pij(t) değerine bağlı olarak
•
•
hareket etmek amacıyla j. elemanını seç.
Karınca k’yı j. elemana hareket ettir ve j. şehri k. karıncanın tabu listesine dahil et.
Aşağıdaki bağıntı yardımıyla koku miktarını yinele
Δ τ ij (t , t + 1) = Δ τ ij (t , t + 1) + Q1
Her kenar (i,j) için τ ij (t , t + 1) ifadesini (3) denklemi ile hesapla.
Adım 3 : Bulunan en kısa turu hafızaya al.
Durdurma kriteri (stop şartı) sağlanıyorsa Adım 4’e git. Sağlanmıyorsa tüm Tabu
listesini boşalt. Tüm elemanlardaki belirli miktarda karınca yerleştir ve Adım 2’ye git.
Adım 4: En kısa turu yaz ve dur.
Uzman Sistemler
Uzman sistemler(US) herhangi bir karmaşık sistemde, uzman bir kişinin yaptığı işleri yapan bir bilgisayar programı
gibi düşünülebilir. Uzmanların düşünce biçimini taklit ederek, özelleşmiş bir alanda önemli problemleri çözmeye
yönelik yazılımlardır. Uzman sistemler(US); öneride bulunan, problemi analiz edebilen, sınıflandırabilen, iletişim
kurabilen, dizayn yapabilen, tanımlayabilen, inceleyebilen, tahmin yürütebilen, belirleyen, yargılayabilen, öğrenebilen,
kontrol edebilen, programlayabilen ve öğreten yazılımlardır. Uzman sistemler sembolik işlemler kullanarak uygulamalı
bilimlerde ve çoklu karar vermeye olanak sağlayan alanlara yeni bir boyut kazandırmıştır. Belirli bir alanda sadece o
alan ile ilgili bilgilerle donatılmış ve problemlere o alanda uzman bir kişinin getirdiği şekilde çözümler getirebilen
bilgisayar programlarıdır. Uzman sistemler gerek kulanım biçimi gerekse yapı açısından geleneksel yazılımlardan
önemli farklılıklar gösterir. Geleneksel yazılımlar; data kullanırlar, veri gösterimi ve kullanımı, bilgi ve kontrol
birarada, algoritmik (Tekrarlamalı)işlem, büyük veri tabanında etkin işlem gücüne sahiptirler, programcı bütünlük
konusunda emindir ve sayısal işlem doğrultusunda işlenir. Uzman sistemler ise; bilgi kullanırlar, bilgi gösterimi ve
kullanımı, bilgi ve kontrol ayrılmıştır, heuristik (sonuç çıkarmaya yönelik) işlem, büyük bilgi tabanında etkin işlem
gücü, bilgi mühendisi bütünlülük konusunda serbest, sembolik işlem doğrultusunda işlenir, sonradan veri girişi
mümkün olup esnektir. Bir Uzman sistemin geliştirilmesinde takip edilecek genel aşamalar Şekil 8’de görüldüğü gibi
olup, sistem; bilgi mühendisinin uzman insan ile diyalogu ve elde edilen bilgileri bilgi temelli olarak formüle döker.
Kısaca US, belirli bir konuda sadece o alan ile ilgili bilgi ve kurallar ile donatılmış ve problemlere o alanda uzman bir
kişinin getirdiği tarzda çözümler getirebilen yazılımlardır. İyi tasarlanmış sistemler belirli problemlerin çözümünde
1331
uzman insanların düşünme işlemlerini taklit ederler. Amaç bir insan uzman gibi veya ondan daha iyi bir uzman sistem
geliştirebilmektir. Böyle bir sisteme sahip olmak kişiyi uzman yapmaz, fakat bir uzmanın yapacağı işin bir kısmını veya
tamamını yapmasını sağlar. Uzman sistemler çözülecek probleme ait olguları yada verileri kapsayan bir sistemdir.
Uzman sistemler de kuralları bir dizi şeklinde kullanıp işi yapmak için kullanılan mekanizma Arayüz Motoru olarak
adlandırılır. Uzman Sistemlerde (US) yaygın olarak iki çeşit arayüz motoru kullanılır. Birisi, mantık programlama
modeli, diğeri ise üretim sistemi modelidir. Bilinen bir başka karar mekanizması ise, üretim sistem motorudur. Bu
sistemde, kurallar listelenip, kontrole listenin en üstünden başlanır [33].
BİLGİ TABANI : Bilgi tabanı, uzman sistemde belirtilen gerçekler ve sonuç çıkarmaya yönelik bilgiler ve yargılar ile
ile ilgili bilgileri içeren kısımdır.
KURALLAR ve PARAMETRELER ( KONTEKS): Bu modül, öncelikle çözülen probleme ait bilgileri ve parametreleri
içerir ve çözüm sırasında bu bilgiler genişler ve saklanır. Örneğin bir yapıdaki olası deprem hasarını öngörebilen bir
uzman sistemde konteks, öncelikle yapıya(yapının taşıyıcı sistemi, malzeme vb.) ve yapının bulunduğu bölgeye ait
bilgileri içerir.
UZMAN
İNSAN
Test ve İlaveler
Görüşme ve
Gözlemler
UZMAN
SİSTEM
GELİŞTİRME
DESTEK
Diyalog
BİLGİ
Geliştirme
ve Test
MÜHENDİSİ
UZMAN
SİSTEM
Kesin Bilgi
KULLANICI
BİLGİ
TABANI
Şekil 8. Bir Uzman Sistemin Geliştirilmesi
SONUÇ ÇIKARMA MEKANİZMASI : Uzman sistemin kontrol bilgilerini içeren kısımdır. Örneğin bir yapıda
kullanılacak malzeme seçimi için yazılmış bir uzman sistemde, bu mekanizma verilen malzeme çeşitlerini sırasıyla
deneyerek yapı için teknolojik, ekonomik ve dayanım kriterleri açısından en uygun olanı seçme işlemini yapar.
SAYISAL ÖRNEK
Şekil 9’da verilen 10 çubuklu düzlem kafes sistemin literatürde mevcut GA sonuçları ve çalışma kapsamında YSA,
karınca koloni algoritması ve Fuzzy sonuçları ile US sonuçları Tablo 1’de verilmiştir. : Probleme ait sayısal değerler, E
= 6.895×104 MPa, L= 914.4 cm, etkiyen yük P = 445.37 kN, ρ= 0.027 N/cm3, izin verilen gerilme (gerilme sınırlayıcısı)
σi ≤ 172.25 Mpa (j =1,2,…,10), deplasman sınırlayıcısı ui ≤ 5.08 cm (i =1,2,3,4).
L
5
L
3
1
2
7
5
6
8
6
1
10
L
9
4
3
4
2
P
P
Şekil 9. On Çubuklu Düzlem Kafes Sistem
1332
Tablo 1. Hesaplanan Kesit Alanları
Genetik
Algoritmalar
Ref.24
Fuzzy
(Bu çalışma)
YSA
(Bu çalışma)
Karınca Koloni
Algortiması (Bu
çalışma)
Uzman Sistem
(Bu çalışma)
Tavlama
Benzeşimi,
Ref.28
A1
A2
A3
216.13
10.45
141.93
228.02
12.21
199.32
Çubuk Kesit Alanları [cm2]
A4
A5
A6
A7
100
A8
A9
A10
10.45
10.45
91.61
128.39 128.39
16.90
142.85 101.36
11.21
11.25
89.54
126.85 127.01
18.11
13.39
148.52
96.83
5.96
8.96
63.87
115.94 115.40
1.32
185.63
2.24
153.96
85.78
8.04
8.04
58.78
135.54 141.58
11.71
145
13
156
74
7
8
140
201.35
0.64
161.55
95.68
0.64
4.19
49.16
85
85
131.55 131.55
4
0.64
SONUÇ
Çalışmada elde edilen sonuçlardan hareket ederek söylenebilir ki, Genetik Algoritmalar ve Fuzzy mantığı düzlem kafes
sistemlerin optimizasyonunda en iyi sonuçları veren iki yöntemdir. Yapay sinir ağları kısmen doğru sonuçlar vermekte,
eğitim aşamasında daha fazla örnek kullanılınca, YSA’nın daha doğru sonuçlar vereceği düşünülmektedir. Uzman
sistemler ise yapı optimizasyonunda uygun bir yöntem değildir. Karınca koloni algoritması şekil optimizasyonunda
daha iyi sonuçlar verebilecek bir potansiyele sahiptir. Ancak minimum kesit tayininde GA ve Fuzzy küme kuramından
daha elverişsizdir. Sonuç olarak denilebilir ki; yapı optimizasyonunda Genetik algoritmalar, Metallerin belirli
sıcaklıklarda şekillendirilmesine dayanan Tavlama benzeşimi ve Fuzzy mantığı en uygun yöntemlerdir. Yapay sinir
ağları ve karınca koloni algoritması ise pek uygun gözükmemektedir. Ancak farklı algoritmaların kullanılması sonuçları
etkiler ve daha hassas sonuçlar elde edilebilir. Uzman sistemler ise yapı optimizasyonunda uygun değildir.
Teşekkür
Yazar, çalışma kapsamında göz önüne alınan optimizasyon probleminin çözümü için Uzman sistem bilgi tabanının
Excelde oluşturulmasına yardım eden İnş. Müh. Ali K. BALTACIOĞLU’na teşekkür eder.
KAYNAKLAR
1. Venkayya, V.B., “Design Of Optimum Structures, Computers and Structures”,1 pp 265-309,1971.
2. Kirsch, U., Taye, S., “Structural Optimization In Design Planes”, Com. & Struc., 31(6), pp 913-920,1989.
3. Kirsch, U., Benardout, D., “Optimal Design Of Elastic Trusses By Approximate Equilibrium”, Comput. Meth. App.
Mech. Eng., 22, pp 347-359, 1980.
4. Haug, E., and Arora, J., “Applied optimal design”, John Wiley and Sons, 1979.
5. Civalek, Ö., Yapay Zeka -Söyleşi, Türkiye İnşaat Mühendisleri Odası-TMH, Mühendislik Haberleri, Sayı 423, 40-50,
2003.
6. Civalek, Ö., Yapay Sinir Ağları Ve Yapı Mühendisliğinde Kullanım İlkeleri, Türkiye Teknik Elemanlar Vakfı,
(TÜTEV Teknik Dergisi , Ağustos, 29-37, Ankara -2002.
7.Rojas, R., “Neural networks, A Systematic İntroduction”, Springer, Germany,1996.
8. Civalek, Ö., Çatal, H.H., ve Demirdağ, O., Geriye Yayılma Yapay Sinir Ağları ile Düzlem Çerçeve ve Kirişlerin
Titreşim Frekanslarının Tahmini, İMO Teknik Dergi Temmuz,2002.
9. Civalek, Ö., Çatal, H.H., Geriye Yayılma Sinir Ağı Kullanılarak Elastik Kirişlerin Eğilme Titreşimlerinin Yaklaşık
Hesabı, TMMK, Ulusal Mekanik Kongresi, Eylül, Konya Selçuk Üniversitesi, 2001.
10. Civalek, Ö., The Analysis Of Time Dependent Deformation In R.C. Members By Artificial Neural Network, Journal
of Eng. Sciences of Pamukkale Univ., 3(2),331-335 1997.
11. Civalek, Ö, Elastik Zemine Oturan Kirişlerin Nöro-Fuzzy Tekniği ile Analizi, 7th. National soil mechanics and
foundation engineering conferences, 22-23 October, Yıldız Univ., Istanbul, 1998.
1333
12. Civalek, Ö., Plak ve Kabukların Nöro-Fuzzy Tekniği ile Lineer ve Lineer Olmayan Statik-Dinamik Analizi, Yüksek
Lisans Tezi, Fırat Üniversitesi, Elazığ, 1998.
13. Civalek, Ö., Flexural And Axial Vibration Analysis Of Beams With Different Support Conditions Using Artificial
Neural Networks, Inter. Journal of Struc. Eng. and Mechanics, 18 (3), 303-314, 2004.
14. Civalek, Ö., Ülker, M., Dikdörtgen Plakların Doğrusal Olmayan Analizinde Yapay Sinir Ağı Yaklaşımı, IMO
Teknik Dergi, 15(2),3171-3190,2004.
15.Ross, T. J., “Fuzzy Logic With Engineering Applications”, McGraw-Hill, Inc., 1995.
9.Yuan, W.G., Quan, W.W., “Fuzzy Optimum Design Of Structures”, Eng. Opt., 8, 291-300,1985.
16. Rao, S.S., “Multi-Objective Optimization Of Fuzzy Structural Systems”, Int. J. for Num. Meth. Eng., 24, 11571171,1987.
17. Zadeh, L., “Fuzzy Sets”, Information and Control, 8, 338-353, 1965.
18. Zadeh, L.A., “Fuzzy Sets As a Basis For A Theory Of Possibility”, Fuzzy Sets and Systems,1(1), 3-28, 1978.
19. Şen, Z., Bulanık mantık ve modelleme ilkeleri, Bilge Kültür Sanat, İstanbul, 2001.
20. Civalek, Ö., Bulanık (Fuzzy) yada Puslu Mantık, TÜTEV Teknik Dergisi, 8, 20-25,2004.
21. Civalek, Ö., Nöro- Fuzzy Tekniği ile Dairesel Plakların Analizi, Journal of Eng. Science of Dokuzeylül University,
Vol. 1(2); 13-31,1999.
22. Civalek, Ö., Temel Prensipleriyle Genetik Algoritmalar, TÜTEV Teknik Dergisi, Sayı 5, 36-39,2003.
23.Goldberg, D.E., “Genetic Algorithms In Search Optimization And Machine Learning”, Addison-Wesley, MA, 1989.
24.Rajeev, S., Krishnamoorthy, C.S., “Genetic Algorithms-Based Methodology For Design Optimization Of Truss”,
Journal of Structural Eng., ASCE,123, pp. 350-358, 1997.
25.Erbatur, F., Hasançebi, O., Tütüncü, İ., and, Kılıç, H., “Optimal Design Of Planer And Space Structures With
Genetic Algorithms”, Computers and Structures, 75, 209-224, 2000.
26. Civalek, Ö., Nöro-Fuzzy Tekniği Kullanılarak Depreme Dayanıklı Yapı Tasarımı., Dördüncü Ulusal Deprem
Mühendisliği Konferansı, 431-438; 17-19 Eylül, Ankara, 1997.
27. Civalek, Ö., The analysis of the rectangular plates without torsion via hybrid artificial intelligent technique,
Proceedings of the Second International Symposium on Mathematical & Computational Applications, September 1-3,
Azerbaijan, 95-101;1999.
28.Botello, S., Marroqın,J.L., Onate, E., Horebeek, J.V., Solving Structural Optimization Problems with GA and
Simulated Annealing, Int. J. Numer. Meth.in Eng., 45, 1069-1084, 1999.
29. Karaboğa, D., 2004,Yapay Zeka Optimizasyon Algoritmaları, Atlas Yayın Dağıtım, İstanbul.
30. Corne D., Dorigo M. and Glover F., New Ideas In Optimization, McGraw-Hill, 1999.
31. Dorigo M., Maniezzo V. and Colorni A., “Positive Feedback As a Search Strategy”, Technical Report N.91-016,
Politecnico di Milano, 1991.
32. http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html
33. Civalek, Ö., Mühendislik Sistemlerinde Kullanılan Uzman Sistemlerin(US) Temel Prensipleri, Yapı Dünyası, Ocak,
44-51, 2003.
34.Civalek, Ö., Karınca Koloni Algoritması ve Uygulamaları, TÜTEV Teknik Dergisi, 9,16-22,2004.
1334
Download