29 Eylül 2010 Çarşamba

kürkçü dükkanı | belki de artık bunları ingilizceye çevirmem?

bu yılki stüdyo için tema olarak "katılımcı"yı önerecektim, ama arkasını kovalayacak gücüm enerjim zamanım yok. enerjisi olanın peşine takılmak yoluna gittim. "presizyon" gibi bir kelimenin peşine düştük. bunun içine orasına burasına "katılım"ı ekler gii olacağız sanki. ama gerçek anlamda katılımcı ya da kararların tartışma ve konsensüsle oluşturulduğu bir stüdyo olmuyor. katılım daha ziyade stüdyoyla ilgili işlerin ve ilgili kararların öğrencilerle bi miktar paylaşılmasından ibaret... ama stüdyonun ne olduğu ve içinde nasıl faaliyetler olduğuyla ilgili olarak öğrencilerle tartışmadık. ister istemez katılımın anlamı "ölene kadar stüdyo"ya dönüyor. ve hiyerarşi geleneksel formlarında işliyor. talep, tehdit, yönlendirme...

"presizyon" da benim açımdan bir deneme olacak. geçen iki stüdyoda daha ziyade karman çorman ve çaçaron bir üsluba takılmıştık, güzel olmuştu. sonuçlar göz doldurmuyordu elbette, ama süreç eğlenceliydi, öylesi benim hoşuma gidiyor, öğrenciler de bir nebze daha ferah oluyorlar. ama sonuçlar tasarımcıların içine sinmiyor. presizyon öğrenciler için daha çok sıkıntı demek. gerginlik, deadline'lar, alçak tonda ama dinmeyen bir eleştiri mırıltısı, zor beğenmek.. bol bol örnek göstermek gerekebilir... bunlar kaçındığımız şeylerdi.

ilk haftalar bir sosyal psikoloji deneyi gibi geçiyor. öğrenciler yavaş yavaş şahsiyetlerini gösteriyolar. bazıları kendini tanıtmaya çalışıyor, bazılarının zaten içinde tutulmayan bir girişkenlik var ve hocaları yoklayıp duruyolar, bazıları hata arıyor, tutarsızlık arıyor (bulmakta da zorlanmıyorlar. güzel olan, meselenin oralarda olmadığını da hızlı kavramaları), bazıları bir kenarda duruyor ilgi gösterildiğinde yavaş yavaş güven kazanmaya başladıklarını gözlemek keyifli oluyor... belirsizlik karşısında şikayetçi bakışlardan ibaret ilk tepkilerin harıl harıl işe koyulup anlamaya çalışmaya doğru dönüşmesi de keyifli oluyor.. ama bunlar her yıl böyle oluyor zaten.

kitaba dönüş | back to the book

600-700 kadar deneme yaptım programın şu haliyle. yaklaşık yarısını sonuna kadar çalıştırıp süreç grafiklerini elde ettim. bir takım parametreler için uygun değerler buldum. ama aslında biraz düzensiz denemeler oldu, sistematik olmadı. kafam da epiy karıştı. çok olasılık var. ben de teoriye geri döndüm. eiben ve smith'in kitabına bakıyordum, ama o sadece bir giriş kitabı gibi, de jong'un güzel bir kitabı var, oldukça bilgilendirici, onu bir baştan sona elden geçirmeyi planlıyorum. ondan sonra revizyonları yapıp sistematik bir deney programı yapacağım. son olarak da en iyi sonuç veren parametre aralıkları için çözünürlüğü ve test sayısını artırarak bu seriyi sonlandıracağım. sonrası yayın.. şu anda çalışma hazırlamakta olduğum bildiriye sığmıyor. şimdilik sığdıracağız. sonra her bir bileşenini teker teker ve daha sistematik biçimde, efendim yöntemini, validasyonunu elden geçirerek birer metne dönüştürebilirim gibi geliyor... yeter ki zamanım olsun.

abstraktlarımın birini kabul etmişler. yazıp yetiştirebilirsem metni de ayrı değerlendirecekler. filtre üstüne filtre. şu kitabı okuyacağım, bir elim varsa... içimden de gelmiyor yani. yavaaş yavaş uğraşsam yazıp yayınlayacak konularım oldu gerçekten. sakince ele alıp her birini başlı başına bir... uf..

26 Eylül 2010 Pazar

hoşçakal windows çok yaşa ubuntu | farewell to windows

epu makinasını kapattım, e ekran kartının utilitelerini kapattım, e güç kaynağını devreden çıkarttım.. e windows'u güncelledim.. ne yaptımsa olmadı. program çöküp duruyor. python sayfalarına bakıyorum onlar çok eminler, python artık iyicene stabildir, python çökmez arkadaşım diyorlar. programda da bi sorun yok, en çok çökmenin yaşandığı periyottaki prosedürleri ayırıp test ettim, milyonlarca kere çalıştırdım, hiç bi sorun çıkmadı. en kolayından xp'yi yeniden yükleyeyim dedim. fakat okulun bilgi işleminin verdiği cd'lerde aslında xp yokmuş ki.. [fesup.. okulunu da bilgi işlemini de..] bios'u falan da bozuyordum az daha. bozulabiliyor mu acaba? xp'yi çökerttim ama. açılmıyordu bilgisayar. gözümü kararttım, ubuntu cd'sini aldım. o da ubuntu değilmiş. [fesup.2!?] bunda da başka bir acayip utilite vardı. bu sefer bios'u halletmeyi becerdim gibi geldi. [amma cahilim bios ne ki?] hazırladığım bootable usb de çalışmadı. ağlamaklı oldum. ttnet neden bana kampanyalı fatura kesmemiş diye sinir krizine girdim. sonra eeepc'mde yeni bir bootable usb hazırladım. çalıştı, ubuntu yüklendi. yaşasın eeepc, yaşasın eeebuntu, yaşasın ubuntu ve yaşasın ttnet [ttnet? teknoloji fakirleri! nasıl oluyor da bunların hiçbir internet aplikasyonu düzgün çalışmıyor? internet sağlayıcısı ya bunlar bu ülkenin!? [edit:] sistemleri de bir geliyor bir gidiyor, tutarsız aralıklarla, 3 kere aramam gerekti mevzuyu öğrenene kadar (onlar da ubuntu'ya geçsin), aslında ince düşünmüşler, kampanya ilk 30 günlük faturadan itibaren başlıyormuş.] hafifledim. sora synaptic sağolsun, kullandığım programları teker teker işaretledim, tıkır tıkır indirip yükledim. tıkır tıkır yükleyemediğim programları da yükleme direktiflerini takip ederek elle yükledim. linux'ta bulunmayan programların alternatiflerini buldum... sürücüler zaten kendiliğinden çalışıyor, bişey yapmaya gerek yok. bi gecede iş bitti. sadece Polygon diye bir python modülü var, kaynak kodundan derlemem gerekiyor [konsolu açıp (ctrl-alt-t) ilgili klasöre gidiyorsun (cd ve cd .. komutlarını kullanarak), "python setup.py install" yazıyorsun, o kadar.] ama c kısmını derlerken hata veriyor. [hani o kadardı lahhn?] neyse en önemli paket değil. [setup.py'yi düzeltmem gerekiyor hı? ne yaziyim oraya?] Shapely modülü üzerinden de yapabileceğim işlemler sanıyorum. bir takım os-specific düzeltmeler ve Polygonu ikame edecek düzeltmeleri tamamlayıp belki bu akşam düğmesine basacak hale getirebilirim. eh.. belki de getirmem. yorgunum ben.

[akşam:] Polygon'u yükledim. ufak tefek revizyonlarla programımı çalıştırmayı becerdim. şaşkın ve umutluyum. üç adet versiyon yaptım, yanyana çalıştırdım. şimdilik çalışıyor. bakalım görelim.

24 Eylül 2010 Cuma

allah kanepeden razı olsun | god bless the couch

ben bunlarla uğraşırken dönem başladı. ya da dönem başlarken benim aklım bu işlerdeydi. "kapatıp açsam olur mu ki?" birinci sınıf. bir gurup öğrenciyi etrafıma toplayıp sanki hepsinin yaptığı her işe söylenecek laf varmışçasına hepsine söyleyecek bir söz bulmak kısmını hiç özlememişim. dolayısıyla bundan kaçıyorum. sebat ve gayret ile ne kadar çok cevap verilirse o kadar aslında cevabı olmayan yeni sorular soruluyor ve oradan hızla kaçılmazsa sorular devam ediyor. "2.6.2'yi mi yüklemem lazım?" insanın kendini kandırmaması lazım. aslında bu soruların bazılarının cevabı yok. bu soruların bazıları gerçekten saçma. bu soruların bazılarının cevabı anlaşılmıyor. bazılarının cevabı anlaşılsa da öğrenciyi geliştirdiği yok. "kapatıp açtım olmuş mu?" ve bu soruların bazılarıyla ilgili düşündüklerimizi gerçekten söylemeye başlasak kendimizden nefret etmeye ve ettirmeye başlayabiliriz. hadi komikli bir tepki vereyim. eeh. veremedim. bu lafı daha önce söylemişimdir ki ben. hep aynı sorular. biz de hep aynı tepkileri mi verelim? "güç kaynağını hattan çıkarayım?" en iyisi bir an evvel cevapsız soruların hangileri olduğunu hissettirmek. bu işlerin en iyi yaparak ve tekrar yaparak öğrenildiğini hissettirmek. "epu engine ne demek, kapatayım mı?" bir haftada üstümden silindir geçti gibi. bişey de yapmadım. asıl gırtlak yoranlar diğer yürütücüler oldu. gurubumuz güzel. öğrenciler de iyi. sadece bunlar çok soru soruyor, bunlar da çok cevap veriyor. ben de izliyorum. sıkılıyorum biraz. bu uzaktan kumandayı kim geri verecek? babam kapının kilidini yağlamış. onlar girip çıkarken ben uyanmayayım diye. ben uyanamıyorum ki. ben çok yorgunum. ama pazartesi sabah arayacaklar. telefonumu kapatayım ben. pazartesi sabah arayacaklar o kumanda acil lazımmış diye. bir hoca hanım "olmaz ki efendim biz de asistan olduk hiç bu kadar uyumadık" diye koridorda gıcırdıyor olacak. biz uyuduk hocahanım. rüyamızda bir milyon kiloluk bir gres yağı tenekesi görüyoruz. döküyoruz taşkışla'nın üstüne. düzgün çalışsın. bir dönemin başında da kayıtta kuyutta değişen sistemde şunda bunda olan aksaklık bize gelmesin. gerçi bana gelmedi. yani geldi de ben oralı olmadım.

araştırmacıyı aşan konular (kapatıp açtın mı peki?) | surpassed

evdeki bilgisayarda python sürekli eror veriyor. çok da tutarsız. programın bir orasında veriyor bir burasında veriyor. çat kesiliyor süreç. eror verdim kapanıyorum diyor bakıyorum nereye varmış, hep farklı farklı noktalarda. bazen de sorunsuz çalışıp gidiyor. insan ağlamaklı oluyor tabi, hatanın yazılan programla ilgisi yok. ama neyle ilgisi var? bu mevzu beni aşar elbet. python'la ilgisi vardır belki dedim, daha stabil sürüme yükselttim. ama hiç bir değişiklik olmadı. sonra laptop'ta çalıştırdım programı. laptop'ta canavar gibi çalışıyor!? bi dakka bu iyi. sorun ne python'da ne yazdığım programda. sorun bilgisayarda yani. e iki bilgisayarda da xp kullanıyorum!? yoksa otomatik güncellemeler gerçekten önemli miymiş? [bu arada linux daha stabil diyeler. geniiş ve ferah bir dönemde artık, kısmetse..]

23 Eylül 2010 Perşembe

düğmesine basıversendi ya? | just copy it, then double-click

bütün gün parallel python (pp) ve psyco modüllerini birlikte çalıştırarak programımı ne kadar hızlandırabileceğimi anlamaya çalıştım. nihayetinde hayretle tüm çabama rağmen işlemleri diğer çekirdeklere yaymanın sonucu hızlandırmadığını gördüm. oysaki cpu kullanımını %25'ten %70ler seviyesine çekmiştim... alternatifler yöntemler düşündüm. sonra da aklıma geldi, ya şu dg3_exe.py dosyasını (çift tıklayınca programı çalıştıran dosya) kopyalayayım, biri çalışırken öbürsü de çalışsın dedim. hakikaten de çalıştı!!!? :] bi tane daha kopyaladım. o da çalıştı! e her biri de bir çekirdek kullandı. şimdi her bir dg3_exe.py'de arka arkaya seri olarak sıralanmış istediğim kadar süreç var. diyelim ki 10 tane. aynı anda da 4 exe kopyası çalıştırsam 40 tanesi bir gecede hallolacak. hey allahım ne revizyonlar yaptım, tüm gün uğraştım, bi de pp erorlar vermekte n'apacağımı şaşırdımdı, sonra da şu işe bak.. :].. her bir dg3_exe versiyonu için ayrı bir log dosyası ve klasör hazırlarsam hiçbir çakışma olmadan gayet güzel çalışıp gideceklerini sanıyorum... güzel oldu güzel... neyse pp'ye de giriş yapmış oldum o da lazım olur...

21 Eylül 2010 Salı

evrimsel hesaplamacılığımızın sorunları | problems of our evolutionary computing

algoritmanın istenen işi yapması için 1. uygun fitness fonksiyonu/fonksiyonları üretilmeli. sistem fitness fonksiyonlarının beğendiği yöne doğru bireyleri dönüştürüyor. sistemin istediğimiz işi üretmesi için fonksiyonların istediğimiz ürünü tanımlamasını sağlamak zorundayız. 2. doğru parametreler bulunmalı. bu parametreler çeşitli şekillerde bireylerin dönüşüm hızını tayin ediyor. sistem doğru parametrelerle çalıştırılmazsa istenen sonuçlara ulaşılamıyor. bir makina gibi hakikaten. doğru düzgün çalışmıyor ya.. süreç erken ya da geç "yakınsayabiliyor", yerel optimaya takılıp kalabiliyor, ilerlemiyor vd... zaman harcayan, moral bozucu süreçler bunlar... o zaman belirli fitness fonksiyonları, operatörler ve temsil tarzları üzerinden ulaşılabilecek en iyi sonuçlar da bilinemiyor. belki de fonksiyonlar doğru tanımlandı ama parametreler yanlıştı... 3. temsil ve operatörler: sürecin kısaltılması ama kısalırken de erken yakınsama sorununun ortadan kaldırılabilmesi için mutasyon operatörlerinin eldeki probleme özel, tercihan bilgi-içeren bir tarzda üretilmesi gerekiyor. bunlara ait parametrelerin ayarlanması da ayrı sorun.

şu anda 4 (+1) fitness için çalışan parametreler bulmuş durumdayım! oh ba. yaklaşık 5000 kuşakta bu 5 fitness için birden kabul edilebilir değerlere ulaşabiliyorum. bir 5000 kuşak daha devam edilirse de fitnessların bazıları için oldukça iyi değerlere varılıyor. ancak bir de kompaktlık fitnessi eklemem gerektiği görülüyor. çünkü verdiğim plan sınırları içinde boşluklar kalıyor. tabi kompaktlık fitness'ı diğer fitnessların ilerlemelerini bozabilir. belki de belli eşiklerde dışa-genişleme türünden bir operatör de eklemem gerekecek. yay metaforu kullanan bir örnek görmüştüm. plan birimleri sanki bir yayla birbirine bağlıymış gibi davranıyolar, bir genişleyip bir tekrar aynı noktaya toparlanarak aşama aşama uygun düzenlemeyi oluşturmaya çalışıyolar. periyodik dışa genişleme ve kompaktlık fitness'ı birlikte sürece eklenirse benzer bir etkisi olabilir diye umuyorum. bunlar zor işler değil. ölçek mutasyonu ve kompaktlık fitness'ı için birer örnek hazırlamıştım zaten.

tabii parametre meselesinde nihai çözüm adaptif, hatta kendinden-adaptif süreçler kurgulamak. şimdilik bazı parametreleri adaptif hale getirdim. bu parametreler süreç boyunca dönüşüyorlar. bu parametrelerin bazıları tüm sürece ait, bazıları belirli bir fitness türüne özel... sürecin kendinden-adaptif olması için bu parametrelerin bireylere, hatta daha iyisi genlere (burda plan birimlerine) ait olmaları gerekiyor. aslında uygulaması o kadar zor değil. ancak nüfusu artırmak gerekeceğini tahmin ediyorum. teoriye göre (el kitabımın yazdığına göre) süreci kendinden-adaptif hale getirmek için harcanan ek mesaiye değiyor, süreç hem kısalacak hem de daha iyi ürünler verecekmiş. ki 8-10 fitness türü ve diyelim ki 15 türden 50 plan birimi ile yürütülecek bir süreçte verimlilik çok daha önemli hale gelecek. hadi biriki kere çalıştırmak sorun değil isterse 24 saat sürsün, ama bir de doğrulama aşaması olacak. süreci aynı parametrelerle diyelim ki 100 kere çalıştırıp ortalama başarımını tespit etmem gerekiyor ki sonucun tesadüf olmadığını gösterebileyim.

5000 kuşak yaklaşık 45-50 dakika sürüyor. yeni fitnessları eklediğimde (zannediyorum şimdilik 7 tane olacak) daha çok kuşak gerekecek. şimdilik bilgisayarın sadece tek çekirdeğini kullanabiliyorum. python'da diğer çekirdeklerin kullanılmasını engelleyen bir kilit varmış. global değişkenlerin durumu belirsiz kalacağı için. neyseki bu sorunu aşmayı sağlayan paralel hesaplama modulleri var. ilk işim değerlendirme ve mutasyon işlemlerini diğer çekirdeklere paylaştırmak olacak. bir de böcek var programda. 8-10 bin kuşakta bir program hata verip çöküyor. oysaki günlerce sorunsuz çalışabilmesi lazım (şu anda ben burdayken o evde çalışıyor mesela, ama eminim çoktan hata verdi, sonraki süreçten devam etmek için benim tamam dememi bekliyor :[ )

o zaman, işbaşı.

15 Eylül 2010 Çarşamba

saygıların en saygılısıyla | kinder than the kindest

bir abstrakt daha yollandı, vardı, karşılıklı teşekkürleri edildi, tabii ya best regards diyecektim hatırlayamadım öküz gibi oldu, bak cevaben kindest regards demişler, kindest. neyse oldu gitti, bir best regards'a kurban olacak bir çalışma daha belki, ama fotorafım sevimliydi, yoksa karikatürü mü kosaydım hakattan, ne de olsa üretken sanat konferansıydı.. niye bu konferansın otomatik bir arayüzü yokmuş ki? insan görünce sarsalanıyorum.. sarsalanıyorum. sarsalanıyorum? aman ya... nası yetişecek bu işler şimdi? soru bu. neyse belki de kabul etmezler zaten.

13 Eylül 2010 Pazartesi

deadline öncesi kayıp gün acısı | mourning for the day lost before deadline

düğmeye bastım, hatalar çıkıyor düzeltiyorum, biraz dağınık biçimde çeşitli parametreler için uygun değerleri anlamaya çalışırken bir yandan da eldeki fitnessları bir bir sisteme taktım, sonra adaptif mekanizmayı revize ettim, arka arkaya ve adım adım her bir fitness için istenen eşiği geçiyor... eğer bir fitness fonksiyonu için süreç stabilleşirse, yani ortalama (ya da azami) performans yükselmeyi keserse diğer bir fitness'a ve ona uygun mutasyon operatörlerine geçiyor, yine olmazsa diğerine, bu esnada mutasyon parametreleri de değiştiriliyor.. karışık biraz.. üzerinde daha fazla düşünmem lazım... sakin bir zaman bulup el-kitaplarını falan açıp.. ayrıca şu bilgisayardaki 4 çekirdeği de kullanabilmek ve süreçleri daha hızlandırmak için yapmam gerekenler var.. gel gör ki bugün [12 eylül pazar] elimden kaydı gitti... ülke öyle kutuplaştı ki ben bile kutuplaştım 14 yıldan sonra tuttum sandığa gittim [oysaki temsili demokrasiye yüz vermemeyi erdem bilmişimdir oldum olası][ayrıca sandık mecidiyeköy'deydi, yağmur yağıyordu, çok zor uyanmıştım yine de gittim], mührümü bastım geldim, derken temizlik yaptım (annemler geliyo), derken voleybol maçını izledim, derken referandum sonuçları gelmeye başladı, derken basket maçını izledim, derken bu önemli gün bitti. yarın araş. gör. koşturmacası başlıyor. annemler evde olacak (ben onların evinde yaşıyorum), hafta sonu bir adet kuzen düğünü var, ve 3 gün sonra bir deadline... kolay bir abstrakt şablonu var ama yollamadan önce en azından bir iki deneme yapmak istiyordum, çıkacak imajları da eklemek istiyordum, bir günlük işi vardı, yarın gece o denemelere girebilirdim ama kafayı toplayamadım, ne güdem var ülkede, savurdu attı konsantrasyonumu... neyse pazar günü allah bile dinlenmiş diyeler.

10 Eylül 2010 Cuma

düğmesine bastım basacağım | almost fired

aslında bastım, şu haliyle çalışıyor, tabi rafinman gerekiyor.. düşününce, görselleştirme rutini tamam, otomatik loglar tamam, genel log tamam, inisiasyon tamam, generative art için başka bir inisiasyon yazılacak, neyseki o kolay, değerlendirme prosedürleri tamam, ama çoğu denenmedi, bi de histogram değerlendirmesi yazılacak, beklenmedik sorunlar çıkabilir, mutasyonlar tamam, mutasyon ruletleri tamam, bazılarının testleri yapılacak... şu anda mekanizma sorunsuz çalışıyor ama her eklemeden sonra yeni testler yapmak gerekebiliyor. testlerden sonra ilk parametrelerin belirlenmesi için bir seri deneme yapmak gerekiyor. ondan sonra da sürecin adaptif parametreleri için mekanizmaların belirlenmesi gerekiyor ki bu kolay iş değil. ve ondan sonra da düğmesine basılacak, her gece çalışacak, 1000'lerce deneme yapılacak... yani hayal öyle de her denemede başka eksikler çıkıyor, onları tamamlıyorum aklıma başka şeyler geliyor, program sürekli geliştikçe de bir durup parametreleri düşünemiyorum... şimdi de çakışma-üstüste düşme ve komşuluk kontrollerinin yanında dolu-boş alanların kayıtta tutulması üzerinden bir akıllı-mutasyon eklemeyi düşündüm... aslında bunların hepsini bi kaç yıldır düşünmekteydim, iş görecek asgari listeyi uygulamaya çalışıyorum... yine de ekle ekle bitmiyor...

6 Eylül 2010 Pazartesi

parametre patlaması | parameter explosion

ikinci bir sorun parametrelerin belirlenmesi. diyelim ki bir evrimsel deney yapacaksınız. ve yine diyelim ki, işte nüfus büyüklüğü, tur sayısı, mutasyon oranları (kaç tane birey mutasyona uğrayacak ve kaç genleri mutasyona uğrayacak ve nasıl uğrayacak), eşeyleme oranları, seçim yaklaşımı (efenim en iyi bireyler sıralamasına göre mi? yoksa turnuva mı), fitness fonksiyonları, bu fonksiyonların parametreleri, e değerlendirmede kullanılacak karşılaştırma dizilerinin elde edilmesiyle ilgili parametreler ve daha niceleri, bu parametrelerin en uygun olanlarının bulunması gerekiyor. doğru parametrelerle çalıştırılmadığında süreçten düzgün sonuç alamıyoruz, en azından yöntemin potansiyellerini doğru değerlendiremiyoruz. diyelim ki 10 adet çok önemli parametre var ve bunların her biri için 10 adet olası değer belirledik (aslında bu olasılıklar bir çok durumda sonsuz sayıda, ama biz sürekli değişkenleri süreksiz adımlara bölüyoruz ve mümkün olduğunda üst ve alt sınırlar vermeye çalışıyoruz, yani 0-10 arasında herhangi bir değeri alabiliyormuş mesela, biz [0, 2, 4, 6, 8, 10] gibi 6 değeri deniyoruz), neyse ne yaparsak yapalım eğer bu parametre değerlerinin optimum bileşimini deneye deneye bulmak istersek 10**10 (pythoncada 10 üzeri 10) adet deneme yapmamız gerekiyor. 10 milyar mı eder? zaman alır :].

şöyle yapılıyor, belki tek tek, ayrı ayrı sadece birer parametreyi değiştirerek 10*10 (10 çarpı 10 yani 100) adet deneme yapıp, her bir parametre için diğerlerinden bağımsız olsaydı en iyi değer ne olurdu gibi bir değeri yaklaşık olarak bulmaya çalışıyoruz (ama esasında bilemeyiz, parametreler birbirinden bağımsız olmuyor genelde) daha sonra da bu parametrelerin süreçte o evrimin koşullarına göre değişmesini sağlayacak bir süreç kurguluyoruz. buna da adaptif evrimsel algoritma diyorlar. bir değer ile başlıyoruz, sonra süreç içinde o değer de evriliyor ve en uygun değerini kendisi bularak dönüşüyor. kulağa hoş geliyor. ama kaç parametreyi bir arada verimli biçimde evriltebiliriz, burda da sürecin verimsizleştiği bir eşik olabilir, buna göre popülasyon ya da tur sayısını nasıl değiştirmeliyiz? bunla ilgili bir malumat bulamadım daha, işte bir yöntemin derli toplu teorisi olursa bu tip sorulara hazır yanıtlar buluyor insan. olmaz ise deneyip görmek gereken pek çok husus oluyor. ama hangi biriyle uğraşılacak?

5 Eylül 2010 Pazar

dizisini örüntüsünü işte..

ilk olarak, "levenshtein uzaklığı" dedikleri bir metrik var, iki harf/sembol dizisinin ["string" diyeler] benzerliğini-benzemezliğini ölçmek için kullanılabiliyor (bir dizinin öbürüne dönüştürülmesi için çıkarma, ekleme ve değiştirme türünden kaç işlem yapılması gerektiği üzerinden..) , sonra "difflib" diye bir python modülü var, onunla da iki dizi arasındaki çakışmalar aranabiliyor. bir de "re" diye güzel ve kafa karıştırıcı bir modül var, bir sembol örüntüsünü bir sembol dizisi içinde aramayı sağlıyor. nerde, ne kadarlık bir kısmı, kaç adet bulundu vd... ilk bakışta elimde yeteri kadar araç var gibi.

bir plan düzenlemesi önerisinden plan birimlerinin dizilimini satırlar ve kolonlar halinde elde ediyorum. sonra onların içinde bir takım kelimeleri [örüntüleri ya da sembol dizilerini] arıyorum. bunun için doğru yöntemi bulmam lazım. sorun şurda, elimdeki araçlar bir örüntüyü bir dizide aramak, ya da iki diziyi karşılaştırmak üzerine kurulmuş gibi görünüyor. ama benim bir diziyi bir örüntüde (örüntüyü dizide değil) aramak için bir yöntem bulmam lazım. bu tip problemler uğraştığım konuların hem heyecanlı hem de korkutucu kısımları işte. belki problemi tersten kurgulayabilirim? örüntüyü dizide arayarak çözülebilecek şekilde...