Bu sayfadaki yazılar
Sayfanın metni
Sayfa 13
c) Değişikliklerin bazıları ise ne “a*
"daki gibi Tm'den daha uzun bir sürede, ne de “b”deki gibi daha önce yürürlüğe konmuş en iyi programdan daha kısa bir sürede varış noktasına ulaşabilmişlerdir. Bu tür programlar başarısız bir program olarak nitelenerek iptal edilmemeli, başarılı bir program olarak ana belleğe de aktarılmamalı; fakat bunlar üzerinde ikincil değişikliklerin yürütülmesine devam edilmelidir. Bu tür değişiklikler, problemin çözümüne giden yolun tıkanmaması ve hemen her olası çözümün denenebilmesini sağlamak için gereklidirler. Eğer böylesi bir esneklik getirilmemiş olsaydı, en son onaylanmış programdan daha başarılı bir programı bir tek değişiklik ile elde etmenin olanaklı olmaması durumunda sistemin işleyişi tikanacaktı. Çok iyi olmayan programlara da geri dönülmesi ve bunlar üzerinde de değişikliklerin denenmesine olanak tanınması, inişli çıkışlı bir süreç izlenmesine yol açmakla birlikte, çözüm arama yollarını zenginleştirerek er veya geç en iyi çözümün bulunabilmesini güvence altına almaktadır. Bu son anlattıklarımız şu tür bir eleştirinin ileri sürülmesini de engellemektedir: Örneğin FI üzerinde yapılan ilk değişiklik olumsuz olduğu halde, F2 iptal edilmeyip onun da üzerinde bir veya birkaç değişiklik yapılmasına izin verilse idi, elde edilecek olan Fm gibi bir program problemin çözümüne çok daha uygun olabilirdi. Oysa yukarda anlatılan metod yalnızca bir tek değişikliğe izin vermektedir. Bu doğrudur, fakat amacımız açısından Fm gibi bir programa hangi değişiklikler dizisini izleyerek ulaştığımız önemli değildir. Fm gibi bir programa her denemede yalnızca bir tek değişikliği değerlendirerek pek çok değişik yoldan ulaşabilme olanağımız gene vardır ve bu olanak “c'de anlatılan, “çok iyi olmayan” programların da üzerinde değişikliklerin yapılması yoluyla sağlanmaktadır. Benzer düşünceler “M” programının ürettiği değişiklikler için de ileri sürülebilir. “F”ler üzerinde yapılmak istenen bir tek değişiklik sentaksa uygun olmayabileceği halde, her biri teker teker ele alındığında sentaksa uygun olmayan değişikliklerin uygun bir dizisi sentaksa uygun olabilir. Burada da sözkonusu değişikliğe pek çok yoldan ulaşabilmenin olanaklı olduğunu ve “M” programının içinde buuygun düzenlemelerin yapılmış olduğunu varsaymakla yetinelim. 4. Yukarıda anlattığımız süreç, en kısa yoldan çıkışa varan program elde edilinceye kadar ya da en azından oldukça iyi olarak nitelenebilecek bir çözüm yolunun bulunuşuna kadar sürdürülebilir. Bu anlattığımız metoda genel ola rak şöyle eleştiriler yöneltilebilir: Yapılabilecek olan olası değişiklil lerin ve bunların çeşitli kombinasyonlarının sayısının sonsuz olabileceği ileri sürülerek en kısa yolu bulmanın pratik olarak olanaksız olduğu söylenebilir. Bu eleştiri geçerlidir. Fakat tam çözümün bulunması çok uzun bir süreyi gerektirdiği için olanaksız olsa bile, oldukça iyi çözümlerin gerçekleştirilebilmesi beklenebilir. Çoğu kez, çok karmaşık labirentlerin içinde farelerin, hattâ insanların da yapabileceği böyle nisbeten iyi çözümlerden ibarettir. Üstelik pek çok seçeneği kısa bir sürede sınamak ve bıkmadan uzun süre çalışmak gibi niteliklere sahip olan bilgisayarlar tam da bu tür çözüm yolları için geliştirilmiş en uygun araçlardır.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 12
miz “M” programının ürettiği değişiklikler ile biyolojik sistemlerin evriminde önemli bir rol oynayan “mutasyonlar” arasında sıkı bir benzerlik vardır. Canlılarda genetik yapı her yeni kuşaklara aktarılışı sırasında mutasyonlar vb. nedenlerle değişime uğrar. Bu değişimlerden b: zıları organizmanın çevresine daha uyum yapmasını sağlarken kendi geçerliliklerini de onaylatmış olurlar. Yani, gelecek kuşaklara aktarılma şansını elde ederek türün bir özelliği olmaya hak kazanmış olurlar. Olumsuz yönde ortaya çıkan değişimler ise, eğer bireyin ölümüne neden olacak kadar önemli iseler, daha işin başında, bireyin ölümü ile birlikte eleneceklerdir. Fakat değişimler genellikle bu iki türden de değildirler. Ne sistemin çevresine daha iyi uyum yapmasını sağlarlar, ne de sistemin ölümüyoblem çözmek bilgi ve deneyim birikimi gerektirir. Öncelikle bu oluşturulmalıdır.
ne neden olacak kadar kötüdürler. Bu üçüncü tür değişimler türün evriminde çok önemli bir görev yaparlar. Bunların varlığı sayesinde belli bir oluşuma giden yolların sayısı artar ve hemen her türlü çözüm yolunun denenebilmesine olanak sağlanır. Aynı konuya aşağıdaki “c” maddesini incelerken tekrar değineceğiz. Problem çözme metodumuzun işleyişi de buna benzer bir yoldan olacak. Metodun işleyişini şematik bir biçimde inceleyelim: 1. Rasgele (random) hareketlerle sprite'ı çıkış noktasına Tm veya daha kısa sürede (ortalama olarak) ulaştırabilen bir başlangıç programı FI olsun. 2. Çözüm öneren program tarafından üretilmiş ve sentaksa uygunluğu onaylanmış olan bir değişiklik FI üzerine uygulanarak FI, F2 gibi bir programa. dönüştürülsün. Fakat Fl tü- Müyle yitirilmesin ve onun bozulmamış ilk biçimi bellekte saklansın. 3. Yürütme organları tarafından F2 yürürlüğe konsun. Başka bir deyişle, P2 işletilerek onun yeterli bir sürede çıkışa ulaşıp ulaşamadığı ve ortalama olarak ne kadar sürede ulaşabildiği belirlensin. Karşımıza şöyle durumlar çıkabilir: a) Eğer F2'nin ortalama varış süresi Tm'yi aşmışsa (fare açlıktan ölmüşse), bu başarısızlık Fi üzerindeki değişiklikten kaynaklanmıştır, o halde bu mutasyon olumsuz bir mutasyondur. F2 iptal edilip, başka bir değişiklik denenmek üzere Fl'e geri dönülmelidir. b) Eğer F2'nin ortalama varış süresi daha kısa ise (genel olarak: Fn'nin ortalama varış süresi Fn- 1'den daha kısa ise), bu son program öncekinden daha iyi bir program demektir. O halde yapılmış olan değişiklik onaylanabilir. Onaylama işlemi, bellekteki mevcut programın yerine son programın geçirilmesidir.