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