Diophantine ve Genetik Algoritmalar

Ağustos 4, 2008 by harezmi

Yıllar yıllar önceydi. Genetik algoritmaları öğrenmek için “diophantine denklemleri” sorusu verilmişti bana. O zamanlar Java’da bu uyulamayı gerçekleştirmiştim.

Bu aralar Python’a merak sardım. Bari şu diophantine’yi bir de GA ile Python’da çözeyim dedim. Çok basit bir çözüm ama GA’nın da mantığını yansıtan bir örnek oldu.

Umarım işinize yarar.

Problemimiz: a+2*b+3*c+4*d=30 denklemini sağlayan a,b,c,d doğal sayılar nelerdir?

Tasarımız ise şu şekilde oldu: Her bir kromozom aday bir çözümdür. O halde kromozomumuz 4 tane gen içerir ve her bir gen, denklemde bir bilinmeyene karşılık gelir. Uygunluk fonksiyonumuz zaten denklemin kendisidir. Çaprazlama fonksiyonumuz anneden ilk iki gen, babadan ise son iki geni alıp yavru bir kromozom oluşturur. Seçme fonksiyonu ise son derece ilkeldir (”son derece ilkel” lik nasıl olur bilmem ama :) ). Populasyondaki tüm kromozomları uygunluk değerine göre sıralar ve belli aralıktaki kromozomlardan anne ve baba kromozomu seçer. Mutasyon işleminde ise sadece bie kromozomun ilk genine yeniden değer ataması yapılır.

Afiyet olsun :)


Yazının devamını oku »

Ağaç

Ağustos 4, 2008 by harezmi

İlk yaprakları yeşeriyordu ağacın
Tomurcuk tomurcuk, tek tek.
"Alayım mı onları elinden?" dedi
Kırağı sürünerek.
Saçtan tırnağa titreyip ağaç
"Hayır" dedi, yalvararak,
"Çiçek açıncaya kadar
Onları rahat bırak."

Tomurcuklandı çiçekleri ağacın
Ötüştü bütün kuşlar.
"Alayım mı onları elinden?" dedi
Esintiyle rüzgâr.
"Hayır" dedi sallanırken ağaç,
Titremeden yaprak yaprak.
"Çiçek açıncaya kadar
Onları rahat bırak."

Yaz ortası sıcağında
Ağaç meyvesini verdi.
Çocuk dedi: "Toplayabilir miyim
Artık yemişlerini?"
Eğerken yüklü yapraklarını ağaç
"Tabii" dedi, "toplayabilirsin
Al hepsini,
Hepsi senin için."


Björnstjerne Martinius BJÖRNSON

Çeviren : L. Sami AKALIN

Sekiz vezir Problemi ve Genetik Algoritmalar

Ağustos 3, 2008 by harezmi

İnternette genetik algoritmaların ne olduğuna dair yeterince kaynak var. Bundan dolayı ben işin sadece uygulama kısmına değineceğim. Genetik algoritmalarla ilgili bilgilere kod ve us‘ tan , learnartificialneuralnetworks‘ den ve obitko‘ dan ulaşabilirsiniz.

Sekiz vezir problemi içinde yeterince kaynak var. ( Benim işim bayaa kolay oldu bu arada :)) Neyse gevezeliğin yeri ve zamanı değil. Devam edelim.) Bu bilgilere Türkçe wikipedia‘dan, ekşisözlük‘ten ulaşabilirsiniz. Ve bu applet de hediyemiz olsun :).

Şimdi asıl işe gelelim. Ben bu aralar bir genetik algoritmalar kütüphanesi üzerinde çalışıyorum. Bu arada da sekiz vezir problemini çözeyim, böylece kütüphaneyi de test etmiş olurum diye düşündüm. Ama daha almam gereken çok yol olduğunu anladım :). Burada ben sadece bu problemi çözerken kullandığım sınıfları yazacağım…

Yazının devamını oku »

Cemil Meriç

Haziran 27, 2008 by harezmi
  • Kalemle yapılan her fetih tarihe mal olur, tarihe yani ebediyete.Bir kılıcın kazandığı zaferi bir başka kılıç yok edebilir.
  • Düşünce şüpheyle başlar.Düşünce tezatlarıyla bütündür.Zıt fikirlere kulaklarımızı tıkamak, kendimzi hataya mahkum etmek değil midir?
  • Kaçmak kaderin hatalarını düzeltmektir.
  • Kelimeleri tarif edilmeden girilecek her tartışma kısır kalmaya mahkumdur.
  • Münakaşada zafer mağlup olanındır, yenilmek zenginleşmektir. Münakaşa hakikati birlikte aramaktır. Hakikat bin bir cepheli, bin bir görünüşlü. Karşınızdaki göremeyeceğinizi gösterecek size.
  • İdeallerin konuştuğu yerde vicdan susar.
  • Sol-sağ… Çılgın sevgililerin emzirdiği iki ifrit. Toplum yapımızla hiç bir ilgisi olmayan iki yabancı. Solun halk vicdanında yarattığı tedailer casusluk, darağaçları, Moskova; sağın müphem, sevimsiz, sinsi bir-iki hayal.

Hristiyan Avrupa’nın bu habis kelimelerinden bize ne?

Bu maskeli haydutları hafızalarımızdan kovmak ve kendi geleceğimizi kendi kelimelerimizle anlayıp anlatmak her namuslu yazarın vicdan borcudur.

  • Tefekkür kılıçla fethedilmez.
  • Taşlar dinlemesini bilmese de susarlar.
  • Tecrübe harem ağalarının silahı… Büyüklerin koltuk değneğine ihtiyacı yoktur.
  • Daha beterini düşünmek bir teselli değil ki! Daha beteri varsa acırsın sadece.
  • Söyleyecek sözü olan her zaman her yerde hürdür. Var oldukça hürdür. Fedakarlıksız hürriyet olmaz. Hürriyet bir fedakarlık mirasına dayanır.
  • Bütün canlı varlıklarda aç gözlülüğün nedeni ya korku ya da yoksulluktur.
  • Tanzimatta Türk aydınının alın yazısı iki kelimede düğümleniyordu: ALDANMAK ve ALDATMAK. Senaryoyu başkaları hazırlamıştı, biz sadece birer oyuncuyduk. Nesiller bir ütopya kurbanı olmuşlardı.

Avrupa’yı tanımamak bir gaflet, Avrupa’yı tanıyan ülkesinden kopuyor.Bu lanet çemberden nasıl kurtulacağız?

  • Demokrasinin demopedi olduğunu kimse düşünmedi.
  • Her toplum bir kitaba dayanır. Ramayana, Neşideler Neşidesi ya da Kur’an. Senin kitabın hangisi?
  • Vatanlarını yaşanmaz bulanlar, vatanlarını “yaşanmaz”laştıranlardır.
  • Yabani bağırır, medeni konuşur. Sloğan ilk elin ideolojisidir.
  • Hakim ideoloji, hakim sınıfın ideolojisidir.

Algoritma Nedir?

Haziran 22, 2008 by harezmi

Matematik, bilgisayar bilimleri, dil bilimi ve ilgili disiplinlerde hesaplama ve veri işleme işlemlerini yapmak için tanımlanan, bir başlangıç durumundan başlandığında, açıkça belirlenmiş bir son durumda sonlanan, sonlu işlemler(adımlar) kümesidir.

Algoritma için en basit örnek olarak “ayran” tarifini verebiliriz. Ayran yapmak için:

-Yoğurdu bir kaba koy.

-Karıştır.

-Aynı miktarda su ilave et.

-Biraz tuz ekle.

-Tekrar karıştırın.

Bir algoritma şu özellikleri içerir:

1)İyi tanımlanmış sonlu işlemler.

2)Her işlem sonucunda oluşacak durumlar.

3)Başlangıç durumu.

4)Açıkça belirlenmiş sonlanma durumu.

5)İşlemleri etkin bir şekilde gerçekleştirebilme yeteneği.

Algoritmayı ifade etmenin bir kaç yolu vardır:

1)Doğal dil ile

2)Yalancı kod ile(SPARKS…)

3)Akış diyagramları ile

Yazının devamını oku »

Çocukların Lekesiz Dünyasından

Haziran 19, 2008 by harezmi

Aşağıdaki sözler günlük hayattan alınmıştır:

*Erkenden uyandım, çünkü çok hızlı uyumuşum.

*Baba, sen bir gördüğün yüzü bir daha unutmazsın değil mi?

-Evet oğlum neden sordun?

-Senin traş aynanı kırdım da.

*Benim babam var ya, otomobillerden korkuyor, ne zaman karşıdan karşıya geçecek olsak “Vitya, bana elini ver de birlikte karşıya geçelim” diyor.

*Utanmıyor musun, yine üstün başın kir içinde, halbuki daha bir saat önce sana yeni pantalon giydirdim.

-Anne suç bende değil, su birikintisine düşerken pantalonumu çıkarmaya vakit olmadı.

*Eğer insanlar maymunlardan türediyse niye öbür maymunlar insan olmak istemiyor?

*Saşa sakın Valerik ile oynama, o fena bir çocuk.

-Peki ben, iyi çocuk muyum?

-Tabii.

-O halde Valerik benimle oynayabilir.

*Ayda hava yok, onun için de hayvanlar yok diyorsun, ya oradaki hayvanların burunları yoksa?

Yapay zekada açık Problemler

Nisan 14, 2008 by harezmi

*Yapay Zekâ(YZ) hakkındaki tartışmalar iki zıt görüş arasında gidip gelmektedir:
—YZ mümkündür.
—YZ mümkün değildir.

*Bu aşırı uçların olmasının sebebi, YZ’nin insan seviyesindeki zekâ ile ilgilenmesidir.

YZ mümkün değildir.
1)Makine zeki olamaz. Gödel kuramına göre makinenin doğruluk değerini anlayamayacağı ifadeler olacaktır.
2)Bilinç/zekâ üzerinde kuantum fiziği etkileri vardır.

Eleştiri:
1)Her YZ sistemi mantıklı olamaz. Bunun için istatistiksel, olasılıksal, rasgele… olaylarla öğrenme yoluna gider.
2)Kuantum makinesi icat edilse bile, bu makinenin YZ problemlerini çözüp çözülemeyeceği ilişkisinin(eğer varsa) nasıl olacağı gösterilemez.

YZ yeterince iyi bir model değil mi?

*Beyni modelleyebilmek için biraz daha fazla araçlara mı ihtiyaç var? -Analog? Kimyasal? Kuantum?

*Bu problem YZ’ nin açık problemlerindendir. Ve YZ üstüne çalışanlar bu sorunun cevabını merak ediyorlar.

*Turing-Church tezine göre, hesaplanabilir paradigma her şeyi modelleyebilir.

YZ mümkündür.
1)Teorik olarak YZ makineleri inşa etmek mümkündür.
2)Bu ileride gerçekleşecektir.
3)YZ’ deki tüm önemli problemler belli bir yakınlığa kadar çözülmüştür. Önemli olan bu yakınlığın derecesini artırmaktır.
4)Tüm bunlar olurken, insan H.Sapiens seviyesinde kalacaktır.

**Birçok YZ insanı 1.maddeyi benimsemiş durumdadır, fakat 2. ve 3.maddeye karşı çıkıyorlar.

*Bir zamanlar YZ insanları “hızlı ve yüksek belleğe sahip makinelerle” YZ’nin elde edilebileceğini düşünüyorlardı.
*Bu doğru değildir.YZ sistemi elde etmek için teorik bir alt yapıya ihtiyacımız vardır.

Bazı açık problemler şunlardır:
1)Aklın yapısı nasıldır? Hiyerarşik? Ağ yapısı? Kollektif?
2)Hareket secimi? Bir yaratık, birden fazla problem ile hep birden nasıl uğraşabiliyor?
3)Bir yaratık kendisi için olan amaçları nasıl üretir?
4)Dil nedir? Yaratıklar sembolik olan kelimeleri, anlamlarla nasıl sonlandırabiliyor?

Çeviri ve Özettir:”The Hardest Problem in The History Of Science by Mark Humphrys “