24 Şubat 2013 Pazar

bakalım.

her gün yenilenen bir iyimserlikle giriştiğim tüm revizyonlar design_proxy tarafından tuhaf bir tepkisizlikle karşılanıyordu. denediğim tüm parametre kombinasyonları sanki hep aynı sonucu veriyordu ve evrimsel algoritmalar söz konusu olduğunda bu esasında tuhaftı. ilk testlerin ardından yaklaşık 2 haftadır sürdürdüğüm parametre arama sürecinin böylesine verimsiz olması yorucu, üzücü ve şaşırtıcıydı.. çoktan programı iyi çalıştıran çeşitli kombinasyonlarda karar kılmış olmalıydım ama bu mümkün olmadı... aklıma sürekli anlamlı revizyonlar geliyordu ama bunların hiçbiri sonuca etkimiyor gibiydi ve evet bu da tuhaftı... tüm bu tuhaflıkların neye işaret ettiği belliydi ama ben göremiyordum. programın baştan yanlış temellere inşa edilmiş olma olasılığına kilitlenmiştim. belki de pareto tabanlı bir yaklaşıma geçmem lazımdı.. adaptivite belki böyle karmaşık bir probleme göre değildi..  interleaved ea belki de yanlış bir yaklaşımdı... adjacency cell fitness açıkça neighbor ve neighbor cell ile çatışıyordu.. ve bu sayılanlar da biçimsel fitnesslarla çatışıyordu ve bunların hepsi ise sequence ile çatışıyordu ama benim hepsini birlikte çalıştırmaya ihtiyacım vardı... ama tuhaftır, bunları birbirinden tam olarak bağımsızlaştırdığımda bile birbirlerinin yaptıklarını bozmalarına engel olamıyordum. tüm bunların neye işaret ettiği açıktı evet ama göremiyordum.. hep başka açıklamalara kilitlenmiştim.. bunca yıldır süren bunca deneme ve uygulama ardından o asıl sebebi aklıma getiremiyordum.. programın temelini oluşturan tüm yaklaşımlar iki ayrı projede sınanmıştı ve aslında çalışıyorlardı.. bu sistemin güvenilir biçimde çalıştığını göstermiştim, bunun için göbeğim çatlamıştı peki o zaman sorun nerdeydi, fitness prosedürlerinde yaptığım değişikliklerde miydi problemin yeni ve daha karmaşık tarifinde miydi nerdeydi problemi mi sadeleştirmem lazımdı du'ları mı pahlamalıydım sequence fitness için dilim genişliği alternatifleri mi denemeliydim ve bu dedlaynları neden yaklaşıp durmaktaydı... her gün ve her gece yeni revizyonlar ve düzeltmeler ve uykudan kalktığım her öğlende derhal başına oturduğum deneme serilerinde okunan aynı tepkisizlik.. ve tabi tüm bunların neye işaret ettiği açık, programın işleyişinde bir yerde özsel bir hata vardı. vardı ama bu nasıl olabilirdi ki?

her neyse, tesadüfen de olsa ben bu hatayı buldum. başka bir düşüncenin peşinden giderken bu hatayı buldum. sonra hatanın sebebini buldum. sonra hatanın sebebini düzelttim. programın 2-3 yıl önceki ilk versiyonlarında bulunmayan ama hemen orlarda bir yerlerde eklenmiş olması gereken ve ta o günlerden beri taşınıyor olması gereken bir ihmal.. with or without replacement diyeler, boşuna değil.. popülasyonun seçiminde bu çok kritik.. esasında öyle olmaması lazımdı ama, fiiliyatta popülasyon sayısı sabit değildi.. sayı sabitti ama bireyler popülasyona çoklu kopyalanıyordu, bu da süreci her durumda aşırı greedy yapıyor ve popülasyon sayısı, mutasyon ve eşeyleme oranlarında yaptığım ayarlamaları işlevsiz kılıyordu. birbirine zıt olan fitnessların fitness coğrafyasında birbirine zıt yönlere bu denli şiddetle gidebilmesinin sebebi de buydu... sonra gergin geceler, sırt ağrıları, yılgınlıklar, yeni düzeltmeler, yeni testler, yeni denemeler.

neyse. bu hatayı düzelttim. ve sabaha karşı da olsa dayanamadım ve ilk denemeleri şöyle bir inceledim. nihayet doğru yoldayız. bundan sonra parametre kombinasyonları aramanın anlamı var. yeni denemelere de girişmem lazım bir yandan. acaba sequence neighbor'larla birlikte çalışacak mı.. manuel cell'i de kullanmam lazım.. ve mimari açıdan da biraz daha fazla düşünülmüş deneme setleri hazırlamamda fayda var... ve bir ara bir kullanım kılavuzu, örnek setleri ve bir sunum... yapılacak çok iş, ve bunları yapacak az zaman...

Hiç yorum yok: