If you are interested in my
projects please contact
me,
I will be pleased to help
you. All of my projects are open source.
Somunları
Yerleştirme Bulmacası 2006.04.04
Bu proje, bir çocuk dergisinde verilen bir
oyuncak/bulmacanın (6 adet somunun yerleştirilmesi)
çözümünü tüm
olasılıkları deneyerek ve rekürsif çözen
iki farklı C programından oluşmaktadır.
Herbir somunun her kenarı üzerinde bir'den altı'ya kadar rakamlar
yazılmıştır.
Amaç tüm somunları, altıgen şeklinde bir somunun etrafına,
çakışan tüm kenarlardaki rakamlar
aynı olacak şekilde dizmektir.
Problem basit gözükmesine rağmen, yapılmaya
çalışıldığında en sona kalan bir kaç rakam
çakışmamaktadır.
Projede bu bulmacayı çözmek için iki farklı
yöntem düşünülmüş ve C ile programları
oluşturulmuştur:
1. Tüm
Olasılıkların Denenmesi
Bu yöntemde olası tüm durumlar sırayla
denenerek istenen
yerleşim bulunmuştur. Normal bir PC ile işlem yapıldığında
çözümün bulunması yaklaşık 5 dakika
sürmektedir.
2.
Yerleştirerek Rekürsif İlerleme
Bu yöntemde, biraz daha fazla zeka kullanılmaya
çalışılmış ve elle
çözmeye çalışan bir insanın izleyebileceği
yöntem takip edilmiştir.
Bunu yapabilmek için rekürsif bir kod
oluşturulmuştur; işleyiş aşağıdaki gibi gerçekleşmektedir:
İlk somun merkez somun olarak seçilir.
Merkezin ilk kenarına sıradakı ilk
somun yerleştirilir.
Merkezin ikinci kenarına, bir önce
gelen somun ile uyuşan ilk somun yerleştirilir.
...
Bu şekilde merkezdeki somunun etrafı
doldurulmaya çalışılır; herhangi bir anda aranan
özelliklere sahip somun bulunamayınca bir önceki adıma geri
dönülerek yerleştirilmiş olan somun sıradaki somun ile
değiştirilir ve proses tekrar kaldığı yerden devam ettirilir.
Proses doğru kurulduğunda istenen yerleşim
bulunamayınca merkezdeki somunu da sıradaki ile değiştirebilmekte ve
tekrar aynı süreç devam ettirilmektedir.
Bu yöntemi kullanan rekürsif programın
problemi çözmesi yarım
dakika sürmektedir !!
Download
2006.04.04 download somunlar.tgz
Requirements
C Derleyicisi