Mors alfabesi

Mors alfabesi hakkında ayrıntılı bilgiye http://www.mors.gen.tr/ adresinden ulaşabilirsiniz. Alfabeyi nasıl öğreneceğinizden bu alfabeyi latin alfabesine çeviren bir çeviriciye kadar her şey var bu sitede.
Mors alfabesini öğrenmek ileride hayat kurtarabilirmiş gibi geliyor ama tabi teknolojinin bu kadar geliştiği bir dünyada bu kadar basit bir şey nasıl işimize yarayabilir diye düşünebilirsiniz.

Bağlantılar:
http://tr.wikipedia.org/wiki/Mors_alfabesi

Yararlı bir site - danismend.com

İş dünyasındaki kariyer, yükselme ve yönetici olma gibi kavramlar çok itici gelir bana. Bunların amaç edinilmesi çoğu zaman boşa harcanmış hayatları getirir.
Yönetim bilgileri ve yöntemleri ise ilgi çekici olabilir, çünkü en basiti kendi hayatımızı yönetmemiz gerekir. Bu konuda işimize yarayabilecek bir site bulmuştum, paylaşmak isterim: www.danismend.com

Kariyeriniz için de bakabilirsiniz tabi; kullanmak istediğiniz alan size kalmış.

Dosya Çevirici

Dosya biçimlerini birbirine çevirmek için arada sırada çevrimiçi (online) bir çevirici bulmam gerekiyor. Böyle aramalarımın sonunda "media convert" sitesiyle karşılaştım. İncelediğim kadarıyla bir çok biçimi destekliyor. Ben odt -> doc biçim çevrimini denedim. Başarılı bir şekilde gerçekleştirdi.

Bir İşlem

Şu adreste karşılaştığım Bir İşlem yarışmasının genetik programlama ile çözümü yazısı sayesinde şimdiye kadar yazdığım genetik algoritma yazılarına örnek bir java projesi yapabileceğimi farkettim. Bir kaç haftadır üzerinde az az uğraştığım projeyi tamamladım. Bu yazıyı yaptığım projeyi anlatmak için yazmaya karar verdim. Sonunda eksikliğini farkettiğim Java Genetik Programlama örneğini yapmış olacağım.

Gelelim projeye,

Bir İşlem yarışması TRT'de bir ara yayınlanan Bir Kelime Bir İşlem yarışmasındaki işlem sorularını çözmeye yönelik bir proje. Yarışmadan hatırlayacağınız gibi 1-10 arasında 5 sayı ve 10,25,50,75 veya 100 sayılarından biri (toplam 6 sayı) verilerek bir hedef sayıya sadece 4 işlem kullanarak ulaşmaya çalışıyoruz.

Örnek: Hedef sayı 200, Hesaplamada kullanılacak sayılar : 1 3 4 8 10 100
Çözüm: 8/4 = 2, 2*100 = 200
(evet çok kolay bir örnek oldu ama amacı anladınız :D )

Projede kullanıcılar bu sayıları rastgele üreterek genetik hesaplamayı başlatıp en yakın çözümü bulmaya çalışabilirler, bunu resimlerle gösterelim:

Başlangıç Ekranı:

Hesaplama yapılmış bir örnek (Aşağıdaki java çıktıları incelenerek hangi nesilde sonuca ulaşıldığı görülebilir):
Programın kullanımı oldukça kolay. Rastgele sayı üretebilirsiniz veya elinizdeki girdileri uygun olarak girebilirsiniz. Biçimli metin alanı kullandığım için basamak sayısını uygun şekilde girmeniz gerekiyor. Yazdıklarınız silinebiliyor.

Proje ile ilgili önemli ayrıntılar:
Genetik algoritmanın başarımını (performans) arttırmak için aşağıdaki sezgi diyebileceğim özellikler gerçekleştirildi, kaynak kodlarda gözünüze çarpabilir:
- Hesaplama sayılarının çarpımları eğer hedef sayıdan küçük ise hedef sayıya asla ulaşamayız. Bu durumda hesaplama yapmaya gerek yok.
- Eğer hesaplama yapılırken hedef sayıya tüm operatörleri uygulamadan ulaşırsak hesaplamayı erken bitiriyoruz
- Bölmelerde tam sayı sonuç olmuyorsa o bireyi kötü birey olarak değerlendiriyoruz.

Projedeki yorumların yapılan işi anlatmaya yeteceğini düşünüyorum. Burada ayrıca anlatmaya gerek yok. Bu sitedeki genetik algoritma yazılarını okuduysanız kodu incelediğiniz zaman yapılan işi de anlayacaksınız. Aşağıdaki bağlantılardan ilgili dosyaları indirerek inceleyebilirsiniz. Ayrıca yazdığım birim testleri de (junit) inceleyebilirsiniz. Testlerde neyi test etmeye çalıştığım sizin kendi testleriniz için de bir örnek oluşturacaktır.

Kaynak Kodlar

Güncelleme: Java kaynak kodları ve çalıştırılabilir JAR dosyası JDK 1.5 ile uyumlu hale getirildi.