Yıpratma savaşı

Bu oyunda bireyler yine ortak kaynaklar için mücadele ediyor. Bu sefer mücadele kazanç ya da kayıplarını bir tablo şeklinde göstermeyeceğiz. Bunun yerine bireylerin bu ortak kaynak için ne kadar masrafa gireceğine bakacağız. Bu oyunda da kaynak ve masraf tabii ki çok çeşitli şeyler olabilir.

Örnek: İki birey de yiyecek için kavga ediyor olabilir. Burada yiyecek ortak kaynak. Kavganın ne kadar süreceği de masraf olabilir. Kavga uzadıkça yaralanma riski artabilir ve eğer bu yiyecek kazanılamazsa bir başka kavga için hem zaman hem de enerji yetmeyebilir. İki bireyin aynı yiyecek için planladığı masraflar da farklı olabilir. İkisi de aynı derecede aç olmayabilir.

A ve B türü bireylerin aşağıdaki tabloya göre davrandıklarını varsayalım.

 

[table id=9 /]

\(V \) : kaynağın değeri

\(m_{a} \) : A bireyinin bu kaynak için yapmaya hazır olduğu masraf

\(m_{b} \) : B bireyinin bu kaynak için yapmaya hazır olduğu masraf

Daha yüksek masrafa girmeye hazır olan birey mücadeleyi kazanıyor. Tabloya göre iki birey de daha düşük masraf kadar harcama yapmış oluyor. Örnek olarak eğer masraf mücadele zamanıysa iki birey de hangi birey daha kısa mücadele etmeyi tercih etmişse o kadar süre mücadele ettiğinden, o kadar masraf yapmıştır. Mücadeleyi kazanın birey yaptığı masrafa karşın ödülü (kaynağı) de tek başına kazanıyor.

Eğer iki birey de eşit masrafta bulunmuşsa, net kazançları kaynağın yarısı (eşit paylaşıyorlar) eksi yaptıkları masraf kadardır.

Eğer bütün bireyler \(M\) masraflı stratejiyi benimserse o zaman \(M+\delta M \) masrafa (çok az bir ek masraflar) hazır bir mutant populasyonu işgal edebilir.

Örnek: \(V=4 \), \(m_{a}=1 \) olsun. Bu populasyona \(m_{b}=1.1 \) olan bir mutant katılsın. A bireyleri birbirleriyle karşılaştığında net kazançları \(\frac{4}{2} – 1=1 \) olacak. Buna karşın B bireylerinin A bireylerine karşı net kazançları \(4-1=3 \) olacak. A bireyleri ise bu karşılaşmalarda \(-1 \) kaybedecekler. Buna göre B stratejisi A stratejisine göre avantajlı olacak.

Başka bir örnek: Eğer populasyondaki bireyler kaynağın değerinin yarısından daha fazla masrafa girmeye hazırsa ilginç bir strateji bu populasyonu işgal edebiliyor. Hiç masrafa girmemek. Mutantların çok az olduğunu dikkate alırsak populasyondaki normal bireylerin çoğunlukla birbirleriyle karşılaşacağını görebiliriz. Bu durumda mutantlar hiçbir mücadeleyi kazanamayacak ama masrafa girmediklerinden kayıpları da olmayacak. \(\frac{V}{2}-m_{a} \) değeri bu senaryoda negatif olacağından normal bireyler birbirleriyle karşılaşmalarından hep kayıpla çıkacaklar. Bu da mutantları daha avantajlı duruma getirecek, çünkü aynı başlangıç durumuyla bir kayıpları olmayacak.

Bu örneklerden anlaşılıyor ki sabit bir stratejiyle populasyon mutantlara karşı korunamıyor. Peki nasıl bir strateji güdülmeli?

Problemi matematiksel olarak çözdüğümüzde (Çözümün nasıl yapıldığını burada vermeyeceğim) şöyle bir dağılım çıkıyor:

\(p(x)=\frac{1}{V}\cdot{e^{\frac{-x}{V}}} \)

Bireyler bu dağılıma göre rastgele bir x değerini masraf olarak seçmeli. Bu işlemin nasıl yapılacağı ilk bakışta karışık tabii. Özellikle doğada ‘basit’ canlıların bunu nasıl yaptığı. Bu dağılım daha basit bir şekilde söyle ifade edilebilir. Bu stratejiye göre davranan birey başlangıçta bir sabit sayı (\(\frac{1}{V}\)) seçiyor. Bu seçim tabii ki evrim sürecinde oluşmuş da olabilir, yani genetik olarak nesilden nesile ufak değişimlerle aktarılan bir sabit. Birey her birim zaman sonunda eğer rakibi hala mücadeleye devam ediyorsa bu sabit olasılıkla ya mücadeleye devam edecek ya da bırakacak. Bu davranış şeklini her birim zamandan sonra uygularsa yukarıda verilen dağılıma ulaşmış olur. Örneğin, sabit olasılık değeri 0.5 ise, mücadele sırasında her dakikadan sonra birey yazı tura atabilir. Eğer rakip devam ediyorsa ve tura gelirse devam eder, yazı gelirse çekilir. Bir sonraki dakikanın sonunda aynı işlemi takrarlar.

Bu yöntem aslında kısmen kolayca anlaşılabilir. Eğer rakipler birbirlerinin durumundan ek bilgi (acaba rakip mücadeleye devam edecek mi yoksa etmeyecek mi) elde edemiyorsa o zaman her adımda kullanılan olasılığı değiştirmek için bir neden yok. İlk başta hangi olasılık kullanılmışsa o olasılıkla devam edilebilir.

Ayrıca bu çözümün başka bir güzel tarafı da bazen en iyi stratejinin rastgele hareket etmek olduğunu göstermesi.

Aşağıdaki oyun linkinden bu oyunun oynanabileceği sayfaya erişilebilir. Oyunda sadece sabit stratejiler yer almakta. Ayrıca bu sabit stratejiler oyun başlamadan önce belirleniyor. Bu oyunun değişik varyantları da programlanabilir (ileride yapmayı düşünüyorum). Örneğin, bireyler rakibinin görünüşünden ek bilgiler elde edebilir. Büyüklüğünden, saldırganlığından ve daha başka özelliklerinden ne kadar masraf yapmaya eğilimli olduğunu çıkarıp ona göre değişken stratejiler uygulayabilir.

Oyun linki

Eksik sayı (2)

Bilge Karga marketten yürüttüğü kraker paketiyle yuvasına geldiğinde orman kuşları tarafından karşılanmış. Kuşlara gereksiz bir hareket olduğunu bile bile bir sorun olup olmadığını sormuş.

Kuş: Komşu ormandan gelen kuş düşündüğümüzden de tehlikeli çıktı Bilge Karga.

Bilge Karga: Korkacak bir şey yok dedim ya, basit bir numara kullanıyor işte.

Kuş: Yok, yok. Bu sefer çok farklı.

Bilge Karga: Nasıl farklı?

Kuş: Yine eksik sayı oyunu oynuyorduk.

Bilge Karga: Bunun çözümünü anlatmıştım ama, burada bir şey yok.

Kuş: Dur, dur! Dinle önce! Oyun sırasında söylediğimiz sayıları not alıyorduk. Sonra kontrol etmek için. Sayıları bitirdikten sonra diğer kuş bize “Hmmm, sayıların biri eksik ama bir başka sayıyı da iki kere söylemişsiniz. Eksik sayı bu, çift söylenen sayı da şu.” dedi. Söylediğimiz sayılara baktık, haklıydı.

Bilge Karga: Sakin olun, korkacak bir şey yok. Bu da basit bir numaradır.

Kuş: Umarız öyledir Bilge Karga ama anlamadan buna inanamayız. Yardım et bize.

Bilge Karga: Peki, yarın gelin, nasıl yaptığını anlatayım size.

Acaba ormana yeni gelen kuş bunu nasıl yapıyordu?

Teknik beklentiler

İnsanların teknik sistemlerden beklentileri beni her zaman şaşırtmayı başarıyor. Sanırım teknik deyince herkesin kafasında bir terminatör imgesi oluşuyor. Roketatarla da vursan vıjt vıjt diye çalışmaya devam etmesi gereken bir yazıcı nasıl olur da durup dururken bozulur? On yıldır sorunsuz çalışıyordu oysaki. “İnsanlar pat diye düşüp ölünce bu kadar şaşırmıyorsun da, şuncacık bir yazıcının büyük ihtimalle eceliyle ölmesi mi bütün sorunun?” cevabını verdiğimden beri Jürgen (72) bu konuda bir daha hiçbir şey sormadı bana. Korktuğu da başına gelmedi henüz, hala yaşıyor ve briç oynamaktan zevk alıyor.

Aslında teknik elemanların beklentileri de çok farklı değil. Geçen yıllarda makinelerde sabit disklerde çıkan problemler yüzünden “Neden bu kadar çok sabit disk değiştirmemiz gerekiyor ve buna karşı ne yapılabilir?” konulu bir toplantıda çalışanlardan bir sözü aldı ve “İstatistiklere göre her yıl şu oranda sabit sürücü hatası beklenir ve bizim hata oranımız da bu sınırlarda. Yani her şey normal. Bu sayıları azaltmak için de daha az makine satmayı deneyebiliriz.” dedi. Bu açıklama üzerine toplantı bitmişti.

Yazılım alanında karşılaştığım eğlenceli bir olay da hata mesajlarına inanmama eğilimi. Hata mesajlarını okumadan geçme değil bahsettiğim, gerçekten okuyoruz, hata mesajının ne demek istediğini anlıyoruz ve yine de hata mesajının hatalı olduğuna inanıyoruz. Sistemi satın alacak müşterinin inanmasını beklediğimiz hata mesajlarına biz inanmak istemiyoruz. Tabii ki, eğer hata tespit rutini hatalıysa hata mesajı o durumda yanlış olabilir ama bu o kadar sık karşılaşılan bir şey değildir, çünkü genelde bu tespit çok basit bir testten ibarettir. Bence tam da bu yüzden hatanın hata tespitinde olduğuna inanıyoruz, ya da inanmak istiyoruz, çünkü o zaman sorunu bulmak daha kolay olacak. Aksine hata mesajı haklıysa daha büyük bir alanda daha çeşitli rutinlerin test edilmesi gerekecek, yani daha çok iş. Tabii ki bu beklentiler de istatistikler tarafından cezalandırılır ve umduğumuz daha az iş pek gerçekleşmez.

Evet, yüksek teknoloji ürünlerini yapanlar bile bu kadar akıl dışı insanlarken, bu ürünleri satın alanlardan da daha fazlasını beklememek gerekir heralde.

Böyle bir şey olabilir mi yahu?

Annem bir gün bana yıllar önce köyde geçen şu olayı anlattı. Burada, insanların açık adını vermiyorum ama yeterince açıklar aslında.

C. ağlayarak eve gelir. Bu sırada da şöyle bağırmaktadır: “M. ağabey, N. beni ağactan zıçti.”

Evet, hikaye de bu kadardı. Saçma olduğu kadar beklenen de bir şeydi, bir çocuğun üzerine ağaçtan sıçmak gelse gelse N.’nin aklına gelirdi zaten.

Bu olaya bir süre güldükten sonra tabii ki bu hikayeyi diğer kaynaklarla karşılaştırmaya karar verdim. Sorduğum kuzenlerle konuşmalar hep şöyle geçiyordu:

+ Abi, şu hikayeyi biliyor musun? C. koşarak eve gelir ve “N. beni ağactan zıçti” diye bağırır.
– Bilmem mi? Ama C. değil M. söylemiş onu. Babam anlatmıştı.

Başka bir kuzene sorduğumda o da olayı onaylıyor ama C. yerine M. değil, A. diyordu mesela ama diğer bütün bilinmeyenlerde hemfikirdik. Bu absürt hikaye gitgide daha da garip olmaya başlamıştı. Sordukça çözümsüzlük de büyüyordu.

Bir gün babama da sorayım bari dedim. Olayı anlattım, kuzenlerden aldığım bilgileri de söyledim. Böyle saçma ve örneği zor bulunur bir olayın kişileri nasıl bu kadar karıştırılabilir ya da unutulabilir ki diye sordum. Babamın cevabı ile çözümün ne kadar basit olduğunu anladım:

Oğlum, hikayedeki isimler hep farklı çünkü bütün anlatılan şekiller doğru. N. o gün hepimizi ağacın altına toplamıştı. Güya bir şey gösterecekti. Sonra da üzerimize sıçtı.”

Evet, sonunda hikayeyi ikinci ağızların birine teyit ettirebilmiştim. Artık rahat rahat gülebilirim.

Cevabın kontrolü

Çocuklar birinci dereceden tek bilinmeyenli denklemleri öğreniyorlar. Daha doğrusu tekrar ediyorlar. Ne de olsa geçen yılın konusuydu. Örnek olarak

\(3\cdot{x} + 5 = 11 \)

eşitliğine bakalım. Hangi \(x\) değerlerinin bu eşitliği sağladığını bulmaya çalışıyoruz. Bu denklemlerin nasıl çözüldüğünden bahsetmeyeceğim ama. Bu seferki sorunumuz farklıydı. Sınavlarda denklemi çözün ve sonucu kontrol edin şeklinde sorular soruluyordu artık. Bu soru türünü seviyorum. Tabii ki çocuklar kontrol için zaman harcamak zorunda olduklarından bu adımı hiç sevmiyorlar. Gerçek hayattaki, projelerdeki hesapların bu kadar kısa olmadığını, bir hatayı ne kadar geç fark ederlerse onu düzeltmenin o kadar masraflı olacağı gibi tecrübeleri bu yaştaki çocuklara anlatma çabalarım da bir sonuç vermeyince kolaya kaçtım ve sonucu kontrol etmezseniz hoca puan kırar diye kestirip attım.

Çocuklar tabii ki biraz konunun yeni olmasından biraz da tembellikten bu kontrolü nasıl yapacaklarını sordular. “Çok kolay, bulduğunuz sonucu \(x\) değişkeninin yerine koyacaksınız ve eşitlik sağlanıyor mu diye bakacaksınız” dedim. Ve durdum. Bu kadar kolay değildi tabii. “Neyse sırayla gidelim bari” diye düşündüm. Soruların çoğu yukarıdaki örnekteki gibi tek çözümlü olacağından önce bu yöntemi ele aldık.

\(3\cdot{x} + 5 = 11 \)

Bu eşitliği çözersek \(S=\left\{ {2}\right\} \) çözüm kümesini buluruz. Bu kümenin tek elemanı 2 sayısıdır. Şimdi bu çözümü yerine koyduğumuzda eşitlik sağlanıyorsa doğru yapmışızdır.

\(3\cdot{2} + 5 = 6 + 5 = 11 \)

Demek ki çözümümüz doğruymuş.

Bu kontrolü çocuklar anladı ama benim içime sinmedi aslında. Büyük resme uymuyordu ama bir yerde kesmem gerekiyordu. Çocuklar bu denklemlerin bir çözümünün olduğunu varsayıyordu ve bu nedenle bu yöntem çok yeterli ve mantıklı geliyordu. Ben de bu aşamada kafamdaki asıl sorunlara girmekten kaçamayacağımı düşünüp devam ettim.

“Bu denklemlerin çözüm kümesinde bazen birden fazla eleman olur. Doğruyu söylemek gerekirse böyle durumda sonsuz tane çözüm vardır. Hatta bütün sayılar bu eşitliği sağlar.”

Tabii ki bunu nasıl anlayacaklarını sordular. “Eğlence (!) başlıyor” dedim.

“Örneğin şu denklemi alalım.”

\(3\cdot{x} + 5 =3\cdot{x} + 5 \)

“Çözün bakalım bu denklemi.”

Bir süre sonra \(0=0 \) sonucuna ulaştılar. Bu sonucun ne demek olduğunu sorduğumda da her türlü cevabı aldım.

“Çözüm 0’dır”

“Çözüm yoktur”

“Soru yanlış”

“Bütün sayılar çözümdür”

Bu karmaşayı duyunca önce sorumu daha farklı sormaya çalıştım. “Bu sonuç doğru mu yanlış mı?”. Tabii ki doğru dediler. “Peki son eşitlikte değişken nerede?”. Cevap tabii ki “yok” oldu. “Yani bu eşitlik değişken ne olursa olsun doğru”. Bu mantık yürütmeden çözüm kümesinin bütün sayılardan oluşmasına geçiş kolay olmadı. Belki yardımı olur diye denklemi çözerken son adım olarak aşağıdaki sonucu gösterdim.

\(x=x \)

Bir değişken her zaman kendine eşit olacağından çözüm kümesinin bütün sayıları içereceğini görmelerini umuyordum ama yine olmadı. Belki zamanla oturur diyerek bunu kural olarak anlattım ve asıl soruna geldim. Peki bu çözüm nasıl kontrol edilir?

Bütün sayıların eşitliği sağladığını bulduğumuza göre herhangi birini alıp denklemde yerine koyabiliriz. Peki hangisini almalı? Önemli bir soru, çünkü çocuklara anlatması da kolay olmalı. “Hangisini alırsan al” diyebilirdim ama ya çocuk 234893176 sayısını almaya kalkarsa? “En iyisi 0 sayısını al” dedim tabii ki.

Peki tek bir sayı almak yeterli mi? Ya denklemin tek bir çözümü vardı ve biz tesadüfen o çözümü denediysek? Bu nedenle çocuklara bu tür bir çözüm çıktığında iki değişik sayı ile denemelerini söyledim. Mesela 0 ve 1 ile. Eğer iki sayı ile de eşitlik sağlanıyorsa bu eşitlik her sayı ile sağlanacaktır.

Bu aşamayı da geçtim diyerek bir sonraki olasılığa geldim. Eğer denklemimizin hiçbir çözümü yoksa ne yapacağız? Daha da önemlisi denklemin hiçbir çözümünün olmadığını çocuklar nasıl anlayacak? Tabii ki çözerken yanlış bir sonuca, bir çelişkiye ulaşarak anlayacaklar. Bunun için de örnekler verdim:

\(1=2 \)

“Bu doğru mu yanlış mı?” diye sorduğumda neyse ki yanlıştır dediler. “İşte bu durumda bu denklemin çözümü yoktur” dedim. Sonuçta bulduğumuz şey yanlış bir ifade ve değişkenden de bağımsız. Demek ki değişkenin değeri ne olursa olsun bu eşitlik doğru olamaz. Tabii ki çocuklar bu ifadelere karşı da direnç gösterdi. Başka örnekler de vermek zorunda kaldım, çünkü çözüm sırasında çocuğun hangi sonuca ulaşacağını kestirmek kolay iş değil. Ayrıca ne kadar çok şey görürse o kadar iyi ve daha az sürpriz olur diye düşündüm.

\(x=x + 1 \)

“Bu da yanlış bir ifade. Bir sayı kendisinden daha büyük bir sayıya eşit olamaz”. Bunu da anladılar.

\(x=2\cdot{x} \)

“Bu ifade yanlış değil ama. Bunun çözümü vardır ve 0’dır. Bu tür şeylere dikkat edin”

Bu örnekleri verirken bir sonraki sorunun cevabını da düşünmeye çalışıyordum. Eğer denklemi çözerken sonuç olarak yanlış bir ifadeye ulaşırsak, yani denklemin çözümünün olmadığına inanıyorsak, bu sonucu nasıl kontrol ederiz? Hiçbir sayının bu denklemi sağlamadığını göstermek kolay bir iş değil. Sonsuz tane sayı denemek öğretici olabilir ama mantıklı bir hareket olmayacaktır. Peki kaç tane deneme gerekecek? İyice yorulduğumdan ve bunun iyi bir çözümünü bulamadığımdan “bir tane sayı deneseniz yeter” dedim. “En azından soruda istenen şeyi yapmış olursunuz, işe yaramasa da.”

Tam masadan kalkmak üzereydim ki çocuklardan günün sorusu geldi. Peki ya kontrolde yanlış bir sonuç çıkarsa? Yani eşitliği sağlaması beklenen sayı eşitliği sağlamadıysa, ya da eşitliğin sağlanmayacağını düşündüğümüz sayı birden eşitliği sağladıysa ne yapacağız? Kontrolü yeniden mi yapmak lazım?

Bu durumda hata ya çözümdedir ya da kontroldedir (ya da ikisinde birden). Hangi aşamada hata yapılmış olma ihtimali daha yüksekse, o işlem yeniden yapılmalıdır. Buna kendilerinin karar vermelerini söyledim. Ben genelde önce kontrolü tekrar yaparım, çünkü kontrolün bana yanlış yaptın demesine ilk anda pek inanmam. Psikolojik bir durum heralde. İkinci kez aynı sürprizle karşılaşırsam çözümümü tekrarlarım. Bunları çocuklara anlattım, umarım onlar da zamanla kendilerine uygun bir yöntemi benimserler.

Çocuklarla ders bitti sonra ama düşünmeler bitmedi tabii ki. Mesela, eğer denklemin tek çözümü var şeklinde bir sonuç bulduysak kontrolde sadece bu sayıyı kullanmak yeterli midir?

Kontrol kolayca yapılabiliyorsa bir başka sayı daha kontrol etmek iyi olabilir. Böylece bazı ihtimalleri yakalayabiliriz. Çözümü yanlış yaptıysak ve çözüm kümesi bütün sayıları içeriyorsa bu fazladan kontrolle bir terslik olduğunu bulabiliriz.

Tabii yukarıda çeşitli durumlarda önerdiğim fazladan kontroller, kontrolün kolay ve güvenilir yapıldığı durumlarda işe yarayacaktır. Eğer kontrol de zor bir işlemse (yani hata ihtimali yüksek ya da masraflı ise) fazladan adım sadece başarı şansını azaltacaktır.