Şahinler ve Güvercinler

Evrimsel oyunlarda programladığım ilk simulasyon bu oyun. Bu oyun John Maynard Smith’in de kitabında (Evolution and the Theory of Games) ele aldığı ilk örnek. Bu örneğe göre populasyonda iki tür strateji var.

  • Şahin: Kendisi yaralanana kadar ya da rakip kaçana kadar mücadeleyi kızıştıran bir strateji.
  • Güvercin: Rakip mücadeleyi kızıştırdığı an kaçan bir strateji.

Stratejiden kastedilen şey de oldukça genel bir özellik. Fenotip de olabilir, örneğin mavi göz ya da siyah göz gibi. Oyun için önemli olan bu özelliğin bir sonraki nesle aktarılması ve karşılaşmadan sonra üreme sıklığını etkilemesi.

Populasyondaki bireyler ikişer ikişer birbirleriyle ortak kaynaklar için mücadele edecekler. Bu mücadelede seçtikleri (daha doğrusu kalıtımsal olarak aldıkları) stratejileri uygulayacaklar. Mücadeleden sonra da uygunluk değerleri oyun ekranındaki tablodaki değerlere göre değişecek (ya da aynı kalacak). Bunu daha çok kaynak elde etmek ya da kaynak kaybetmek olarak düşünebiliriz. Örneğin daha çok yiyecek, ya da alan için mücadele ediliyor olabilir. Bütün mücadeleler bittiğinde bireyler uygunluk değerleri oranınca (ya da elde ettikleri kaynaklar) üreyebilecekler. Bu oyunda ortamdaki toplam kaynağın sınırlı olduğunu var sayarak her nesilde populasyon büyüklüğünü sabit tuttum. Bunu yaparken de bir sonraki nesilde sadece yeni doğan çocukları aldım, yani ebeveynler bir sonraki nesle kalmıyorlar.

Bu simülasyonda üremelerin eşeysiz yapıldığını varsayacağız. Yani şahin stratejisine sahip bireylerin çocukları da şahin stratejisine sahip olacak, güvercin stratejisine sahip bireylerin çocukları da yine güvercin stratejisine.

Her bireyin çocuk sayısını belirlemek için de şöyle basit bir algoritma kullandım. Bireyleri uygunluk değerlerine göre sıraya dizdim. Ortalama uygunluk değerini hesapladım. Sonra uygunluk değeri bu ortalamadan yüksek her birey bir çocuk üretti. Her çocuk üreten bireyin uygunluk değerini de ortalama kadar azalttım.

Örnek:

Elimizde aşağıdaki tablodaki gibi 4 birey olsun. Her birinin uygunluk değerleri de tabloda verildiği gibi olsun.

[table id=1 /]

Önce bireyleri en yüksek uygunluktan en düşüğe doğru dizelim.

[table id=2 /]

Şimdi ortalama uygunluk değerini bulmak için uygunluk değerlerini toplayıp birey sayısına bölelim.

\(3+4+4+5=16 \)

\(16/4=4 \)

Şimdi de aşağıdaki tabloda ilk tur sonunda olacak çocukları görelim.

[table id=3 /]

Henüz 4 adet çocuğa ulaşamadığımızdan aynı adımı tekrarlayacağız fakat bütün bireylerin yeni uygunluk değerleri ortalamadan küçük olduğundan daha farklı bir adım uygulayacağız. Toplam çocuk sayısı 4 olana kadar en yüksek bireyden başlayarak en düşüğe kadar sırayla birer çocuk ekleyelim.

[table id=4 /]

Böylece bu örnekte 2 numaralı birey bir sonraki nesle 2 çocuk aktarmış oldu. İki çocuk da 2 numaralı bireyle aynı stratejiyi kullanacak. 3 ve 4 numaralı bireyler bir sonraki nesilde birer çocukla temsil edilecek. 1 numaralı birey ise üreme şansına sahip olmayacak.

Oyun sayfasında önce başlangıçta populasyonda mevcut bulunan güvercin stratejisi ve şahin stratejisini uygulayan bireylerin sayısını giriyoruz. Daha sonra da oyunun kaç nesil süreceğini.

Bu girişlerden sonra stratejilere göre uygunluk değerlerini güncellemek kurallarının tanımlandığı matrisi görüyoruz. Matrisi aşağıdaki örneğe göre okuyabiliriz:

[table id=5 /]

Güvercin stratejisi güvercin stratejisiyle karşılaşırsa iki bireyin uygunluk değerleri de 1 puan artırılıyor.

Güvercin stratejisi şahin stratejisiyle karşılaşırsa güvercin stratejili bireyin uygunluk değeri değişmiyor, şahin stratejili bireyin uygunluk değeri 2 artıyor.

Şahin stratejili iki birey karşılaşırsa ikisinin uygunluk değerleri de 1 puan artırılıyor.

Bu bölümden sonra da bireylerin doğum anındaki uygunluk değerleri tanımlanıyor. Bu parametreler ışığında simülasyon rastgele karşılaşmalar olacak şekilde çalıştırılıyor. Her nesilden sonra aşağıdaki bilgi alanları güncelleniyor. Eğer animasyon seçeneği seçilmişse mücadele aşamaları ve bireylerdeki değişimler de görsel olarak izlenebiliyor.

Bu oyunun amacı basit sistemlerdeki evrimsel kararlı stratejileri incelemek. Evrimsel kararlı stratejilerden kasıt da şu: Acaba populasyonda herkes aynı stratejiye sahip olsa, bu populasyon başka bir stratejiye sahip bir mutant tarafından işgal edilebilir mi? Yani, örneğin dokuz güvercin stratejili bireyden oluşan bir gruba bir şahin stratejili birey katılırsa (ya da mutasyonla oluşursa) şahin stratejisi güvercin stratejisine karşı avantaj sağlayabilir mi?

Oyun sayfasındaki matrise uygun değerler girerek bunu deneyebiliriz. Kitapta da aşağıdaki gibi bir formüller verilmiş.

Populasyondaki şahin stratejisi oranını p ile gösterelim. Yani p, 0 ile 1 arasında bir sayı.

\(W(H) \) şahin stratejili bireyin uygunluk değerini göstersin.

\(W(D) \) güvercin stratejili bireyin uygunluk değerini göstersin.

\(E(D, D) \) Güvercin stratejili bireyin güvercin stratejisiyle karşılaştığında uygunluk değerindeki değişim miktarı. Uygunluk değeri matrisinde birinci satır ve birinci sütundaki değer.

\(E(H, D) \) Şahin stratejili bireyin güvercin stratejisiyle karşılaştığında uygunluk değerindeki değişim miktarı. Uygunluk değeri matrisinde ikinci satır ve birinci sütundaki değer.

\(E(D, H) \) Güvercin stratejili bireyin şahin stratejisiyle karşılaştığında uygunluk değerindeki değişim miktarı. Uygunluk değeri matrisinde birinci satır ve ikinci sütundaki değer.

\(E(H, H) \) Şahin stratejili bireyin şahin stratejisiyle karşılaştığında uygunluk değerindeki değişim miktarı. Uygunluk değeri matrisinde ikinci satır ve ikinci sütundaki değer.

Mücadeleye giren her bireyin yeni uygunluk değerinin ortalama olarak aşağıdaki formüllere göre değişmesi beklenmektedir.

\(W(H)=W_0+p\cdot{E(H,H)}+(1-p)\cdot{E(H,D)} \)

\(W(D)=W_0+p\cdot{E(D,H)}+(1-p)\cdot{E(D,D)} \)

Bu formüllerde \(W_0 \) bireylerin başlangıçtaki uygunluk değerleridir. Oyun sayfasında bu değer kullanıcı tarafından belirleniyor ve her yeni birey oyuna bu değerle başlıyor. Yani üremeden sonra çocuklar da bu sabit değere sahipler.

Bu formüller eşliğinde kitapta evrimsel kararlı strateji için verilen şartlar şöyle:

\(E(H,D)>E(D,D) \) veya \(E(H,D) = E(D,D)\wedge{E(H,H)>E(D,H)} \)

ise şahin stratejisi kararlı bir stratejidir. Güvercin stratejisinin evrimsel kararlı strateji olması için de

\(E(D,D)>E(H,D) \) veya \(E(D,D) = E(H,D)\wedge{E(D,H)>E(H,H)} \)

şartı gerekliymiş (Maynard Smith ve Pierce, 1973,”The logic of Animal Conflict”). Bu şartları çıkarmak çok da zor değil aslında ama o kadar detaya girmeyeceğim şimdi. Çıkarım için \(p \) değerinin \(1-p \) değerine göre çok daha küçük olduğunu görmek yeter.

Bu şartları şimdi simülasyonda deneyelim. Simülasyonu rahat takip edebilmek için toplam popülasyon büyüklüğünü 10 yapmak iyi olabilir. Bu durumda nesiller alt alta gösterilecek ve bütün bireyler ekrana sığacaktır.:

\(E(H,D)>E(D,D) \) : Şahin stratejinin güvercin stratejisine karşı kazancının güvercin stratejisinin güvercin stratejisine karşı kazancından büyük olduğu durumda şahin stratejisinin populasyonu işgal edeceği öngörülüyor.

[table id=6 /]

Bu değerlerle şahin stratejisi tek bir bireyle bile populasyonu işgal edebiliyor. İlk adımda bir şahin bir güvercinle karşılaşacaktır. Geri kalan karşılaşmalar da güvercinler arasında olacaktır. Eğer şahinin güvercine karşı avantajı güvercinlerin kendi aralarındaki avantajlara göre daha üstünse karşılaşmalar sonunda şahin bireyin uygunluk değeri diğer bütün güvercinlerden daha yüksek olacaktır. Bu durumda bir sonraki nesle iki şahin geçecektir. Şahinler birbirleriyle karşılaşmadığı sürece şahin nüfusu artışını sürdürecektir ve bir süre sonra bütün popülasyonu ele geçirecektir. Yukarıdaki tabloya göre şahinler birbiriyle karşılaşması ile güvercinlerin birbiriyle karşılaşması herkesin uygunluk değerini aynı miktarda artırdığından şahin nüfusu asla geri gitmeyecektir. Yani şahinler sürekli birbiriyle karşılaşsa bile nüfuslarını koruyacak ve güvercinlerle karşılaştıklarında da nüfusları artacaktır.

\(E(H,D) = E(D,D)\wedge{E(H,H)>E(D,H)} \) : Şahin stratejinin güvercin stratejisine karşı kazancının güvercin stratejisinin güvercin stratejisine karşı kazancına eşit olduğu ve şahin stratejisinin şahin stratejisine karşı kazancının güvercin stratejisinin şahin stratejisine karşı kazancından fazla olduğu durumda şahin stratejisinin populasyonu işgal edeceği öngörülüyor.

[table id=7 /]

Bu değerlerle şahin stratejisinin populasyonu ele geçirmesi için en az iki şahin gerekli. Aksi durumda populasyon olduğu gibi kalıyor çünkü burada avantaj sağlayan tek durum şahin stratejisiyle şahin stratejisinin karşılaşması ve bunun için de şahin stratejili iki bireye ihtiyaç var. İki şahinle başlandığında şahin nüfusu bu tabloya göre gerileyemiyor ama başlangıçta şahin nüfusu az olduğundan nüfus artışı da yavaş oluyor, çünkü şahinlerin birbiriyle karşılaşma ihtimali az. Şahin nüfusu arttıkça bu ihtimal artıyor ve nüfus artışı da hızlanıyor.

[table id=8 /]

Kitaptaki birinci şartı denerken aklıma bu ihtimal de geldi. Burada şahin stratejisi güvercin stratejisiyle karşılaştığında avantajlı oluyor. Eğer ilk popülasyonda şahin stratejisi az ise bu şahin stratejisi nüfusunu artıracaktır. Fakat aynı zamanda şahin stratejileri birbirleriyle karşılaştıklarında bundan zararlı çıkıyorlar. Güvercin stratejilerinin kendileriyle karşılaşmaları daha avantajlı. Burada hesap yapmadım ama denemelerime göre şahin stratejileri başlangıçta yok olma tehlikesiyle karşı karşıya. Örneğin popülasyonda sadece iki şahin stratejili birey varsa ve bu ikisi birbirleriyle karşılaşırlarsa bir sonraki nesilde hiç şahin stratejisi görülmeyecektir. Bu tehlikeler aşılınca ileride bir denge durumuna erişiliyor. Bunu daha rahat görebilmek için popülasyon büyüklüğünü yüksek (100) seçtim ki şahinlerin başlangıçta birbirleriyle karşılaşma ihtimalleri daha düşük olsun.

Oyun linki

Evrimsel oyunlar

Bir süre önce tekrarlı tutsak ikilemi oyunuyla ilgili yazılar okuduğumda bilinen en iyi çözümlerin de zaten insanların çoğunlukla kullandığı davranışlar olduğunu görüp şaşırmıştım. Demek ki evrim bu problemi bir şekilde çözmüş diye düşündüm. Bunun üzerine kafamda bu oyunları internet ortamında programlama projesi belirdi. Bu sayede hem oyunları anlayabilecek hem de HTML5 öğrenebilecektim. Bir taşla birden fazla kuş! Neden olmasın?

Tabii ki bu projeye hemen yukarıdaki oyunla başlamadım. John Maynard Smith’in Evolution and the Theory of Games adlı kitabını alıp okumaya başladım. Önce sadece oyunu programladım. Sonra anlaşılırlığı nasıl artırabilirim diye düşünmeye başladım. Sonra ara adımları göstermek için javascrip animasyon kütüphaneleri kullanmaya başladım. Bu aşamada bana oldukça yardımcı olan Ersin Başaran’a da teşekkürü borç bilirim.

İlerideki yazılarda hazır (?) olan simulasyonları açıklayıp nasıl kullanılacağını anlatacağım. Programların tamamen bir internet tarayıcı içinde çalışmasına uğraşıyorum. Çıkan sorunları ve değişiklik önerilerini bana bildirirseniz sevinirim.

Facebook testleri

Bu soruyu Tanya Khovanova’nın çok beğendiğim blog sayfasından aldım.

Her zamanki gibi hiçbir bilginiz olmayan bir konuda bir facebook testi yapıyorsunuz. Bu testte 30 tane doğru/yanlış leklinde soru var. Testi bitirince sadece kaç soruyu doğru yaptığınızı öğreniyorsunuz, doğru cevapları öğrenemiyorsunuz ama testi istediğiniz kadar tekrarlayabiliyorsunuz. Bütün soruları doğru cevaplamak için testi kaç kere çözmeniz yeterli?

Test 5 sorudan ya da 8 sorudan oluşsaydı kaç deneme yapmanız yeterli olurdu?

Biliyorum ama söylemem (çözüm)

Aslında Ayşe’nin Ahmet’i sihirli kelimeyi bildiği konusunda ikna etmesi oldukça kolay. İkisi beraber mağaraya girer, yol ayrımına kadar beraber giderler. Yol ayrımında Ahmet bekler, Ayşe yukarıdaki yoldan devam eder ve aşağıdaki yoldan Ahmet’in yanına geri döner. Ahmet sihirli kelimeyi öğrenememiştir ama artık Ayşe’nin bunu bildiğinden emin olabilir. Yalnız bu çözüm Ayşe’nin ikinci isteğini yerine getirmiyor, yani Ahmet’ten başka kimse Ayşe’nin bu sırrı bildiğini öğrenemesin. Eğer Ahmet bu çözümü gizlice videoya kaydederse videoyu gören herkes Ayşe’nin bu sırrı bildiğinden emin olacaktır. Ayşe’nin bunu hiçbir şekilde inkar etmesi mümkün olmayacaktır.

Çözüm için yukarıdaki denemeyi temel alalım ve bazı düzeltmeler yapalım. Demek ki Ahmet Ayşe’nin hangi yolu seçtiğini bilememeli (ya da görememeli, kaydedememeli) fakat Ayşe’nin hangi yoldan döndüğünü görmeli. O zaman Ayşe mağaraya yalnız girip bir yola gidecek ve geri dönmeden önce Ahmet de mağaraya girip yol ağzında bekleyecek. Sonra Ayşe Ahmet’in yanına gelecek. Ayşe böyle bir çözümde hep geldiği yoldan geri dönebilir, Ahmet sonuçta Ayşe’nin nereden gittiğini bilmiyor. Bu durumda Ayşe Ahmet’i ikna edemez.

Bunu düzeltmek için Ahmet yol ağzına geldiğinde Ayşe’ye yukarıdan mı aşağıdan mı gelmesi gerektiğini bağırsın. Ayşe de dönüşte söylenen yoldan gelsin. Eğer Ayşe giderken zaten bu yolu seçmişse dönerken kapıdan geçmesine gerek yok, yani yüzde elli ihtimalle sihirli kelimeyi kullanmasına gerek olmayacak. Böylece Ahmet sadece Ayşe’nin bu sihirli kelimeyi bildiğinden yüzde elli ihtimalle emin olabilir. Bu kadar bilgiden ikna olacak milyonlarca insan olmasına rağmen Ahmet böyle kolay pes etmeyecektir.

Bu işlemi birbirinden bağımsız şekilde tekrar edersek ne olur? Her adımda Ayşe’nin gittiği yoldan geri gelme şansı yüzde elli olduğundan, bütün denemelerde Ahmet’in Ayşe’nin gittiği yolları istemeden de olsa (istese de aynı aslında) tahmin etme şansı yüzde elli olasılığın kendisiyle deneme sayısı kadar çarpılması olacaktır. Yani iki deneme sonrasında olasılık \(\frac{1}{2}\cdot{\frac{1}{2}}=\frac{1}{4}=0.25\) olacaktır. Üç deneme sonrasında \(\frac{1}{2}\cdot{\frac{1}{2}}\cdot{\frac{1}{2}}=\frac{1}{8}=0.125\). On deneme sonrasında ise \(\left(\frac{1}{2}\right)^{10}=0.0009765625\) olmaktadır. Görüldüğü üzere deneme sayısı arttıkça Ayşe’nin sihirli kelimeyi kullanmadan Ahmet’i kandırma şansı gitgide azalmakta. Ahmet’in ikna olması için Ayşe’nin en az bir kere kapıdan geçmiş olması yeterli, çünkü kapıdan geçmiş olmak için sihirli kelimeyi kullanmak şart. En az bir kere kapıdan geçme olasılığı da \(1-\left(\frac{1}{2}\right)^{n}\) ile verilecektir. Burada \(n\) deneme sayısıdır. Yani deneme sayısı arttıkça Ahmet’in ikna olma olasılığı 1’e çok yaklaşacaktır.

Deneme sayısı yeterince artırıldığında Ayşe’nin numara yapıyor ihtimali sıfıra çok yaklaşır. Bir süre sonra Ahmet Ayşe’nin sihirli kelimeyi bildiğine inanacaktır. Peki Ahmet gizlice kayıt yaparsa başka insanları da ikna edebilir mi? Kayıtta sadece Ahmet’in seçtiği yolu bağırması ve Ayşe’nin bu yoldan geri dönmesi olacağından diğer insanların ikna olması mümkün değil. Ahmet’in seçeceği yolu daha önce Ayşe ile anlaşmış olma ihtimali yüzünden Ayşe bu ispatı üçüncü kişilere karşı inkar edebilir (hem de başarıyla).

Peki Ahmet seçimini yazı tura atarak yaparsa ve yazı tura atışını da kayıt etse ne olur? O zaman üçüncü kişiler bu video kaydından ikna olabilirler. Ayşe seçimlerin önceden planlandığını, prova edildiğini iddia edemez. Yoksa edebilir mi? Yazı tura kaydının ikna edici olabilmesi için üçüncü kişilerin kullanılan paranın hilesiz olduğundan emin olmaları lazım. Video üzerinden bunu göstermek zor. Bu durumda Ayşe paranın hileli olduğunu ve prova ettikleri sırayı üretecek bir para olduğunu iddia edecektir.

Sıkça yazılan yanlışlar

Geçen gün bir yazı yazarken bir kelimenin yazılımını kontrol etmek için TDK sayfasına baktım. Bağlandığım sayfada sağdan sola doğru kayan yazılar şeklinde sıkça yanlış yazılan kelimeler ve doğruları geçiyordu.

Birinci sırada fortmanto vardı. Çok da sık kullanılmıyordur diye düşündüm ve diğerlerini bekledim.

Çok tanıdık olanları atladım. P harfine gelince bombardıman da başladı. Palyaço sıklıkla palyanço diye yazılıyormuş.

Bu iki örnekten sonra TDK’nun ne tür yazılar okumaya başladığını merak etmeye başladım. Bazı kullanımları daha önce gördüğümü, duyduğumu hatırlamıyordum. Neyse, TDK’ndan daha mı iyi bileceğim diyerek devam ettim.

Panaroma yanlışmış, doğrusu panoramaymış. Bunu yüzde elli ihtimalle ben de yanlış kullanıyormuşum (bazen emin olmadığım kelimeleri bir öyle bir böyle kullanırım da).

Panik oldum demek yanlışmış. Doğrusu panik olmak ya da paniğe kapılmakmış. Ben panik olmak garip geldiğinden panik oldum kullanımındaki hatayı hala anlayabilmiş değilim. Umarım TDK (ya da başka biri) beni bu konuda aydınlatabilir.

Bu kelimeyi çocukken doğru, üniversitede yanlış yazıyormuşum. Pantalon. Artık doğru şekilde pantolon diye yazmaya başlayacağım.

Bir başka yanlış yazım pardesüymüş. Anlaşılan TDK bunu benden görmüş. Doğrusu pardösü.

Bir iki yıl öncesine kadar yanlış yazdığım bir kelime de parende. Doğru yazması atması kadar zor değilmiş: Perende.

Her zaman yanlış yazdığım bir başka kelime de : Peştemal. Doğru yazılışı peştamal olacak.

Şimdi geldik yanlış yazma konusunda rakipsiz kelimemize. Poğaça diye okunur ama anlaşılan poaça, poça ya da boğça diye yanlış yazılırmış.

Daha eğlenceli bir şey çıkmaz derken profü diye bir kelime başladı. Profüsür filan bekliyordum, yanıldım. Tahmin edin bakalım! İlk ipucu: Profütür.

İkinci ipucu: Prolüfütür.

Heralde artık bilmişsinizdir. Hala bulamayan biri varsa bir ipucu daha, belki bunu görmüştür: Profütürül.

Evet, tabii ki profiterol.

Son olarak da psikiyatrist. Hayır efendim, bu yanlış yazılımı. İngilizcesi gibi değil Almancası gibi olacakmış, yani psikiyatr.

Aşağıdaki tabloda seçtiğim kelimeleri topluca listeledim.

Yanlış                                 Doğru

fortmanto                              portmanto
palyanço                               palyaço
panaroma                               panorama
panik oldum                            panik olmak, paniğe kapılmak
pantalon                               pantolon
pardesü                                pardösü
parende                                perende
peştemal                               peştamal
poaça, poça, boğça                     poğaça
profütür, prolüfütür, profütürül       profiterol
psikiyatrist                           psikiyatr

Not: Her bağlandığımda TDK sayfasında değişik bir liste geliyor sanki. Bu da hemen hemen sınırsız eğlence demek olabilir.

Astroloji ve mantık

Geçenlerde yıllar sonra görüştüğüm bir arkadaşımın evindeydik. Neler yapıyorsun görüşmeyeli filan derken konu birden astrolojiye geldi. Arkadaşım astrolojiye merak salmış ama öyle tanıdığım kökten astrologlar gibi değil. E ben de zaten astrolojiye inanmam. O zaman eğlenceli bir muhabbet için her şey hazırdı.

Arkadaş: Dur senin yıldız haritanı çıkaralım, çok eğlenceli bak.

Ben: Çıkar bakalım, kaç gün sürer bu iş?

Arkadaş: Hemen çıkar, bu işi artık bilgisayar programları yapıyor. Astrologlar sadece yorum işine yoğunlaşıyor. Ben de ucundan öğreniyorum işte. Arkadaşlarımın yıldız haritalarını kaydediyorum. Hadi seninkini de yapalım. Doğum tarihini söyle!

Ben: Sekiz Eylül 1973.

Arkadaş: Demek başak burcusun.

Ben: Bu kadarını ben bile biliyorum. Yok mu başka bir şey?

Arkadaş: Harita için doğum yeri ve saati de lazım. Saatin tam olması lazım.

Ben: Yer kolay da koordinatları bilmiyorum. Trabzon desek yeter mi? Yoksa google’dan koordinatlara mı bakayım?

Arkadaş: Yeter, yeter. Programda her yer kayıtlı. O koordinatları kendi alır. Doğum saatini söyle hadi.

Ben: Doğum saatini anneme sormam lazım. (Tap tap tap. Umarım bunlar doğru dokunmatik ekran sesidir.) … 12 ile 14 arasıymış. Tam saat de kayıtlıymış da onu bulamamış henüz.

Arkadaş: Ortasını alalım. (Klik klik klik) Yükselenin yaymış. Hmmm ama bir sorun var. Doğum saatin yanlış olmalı.

Ben: Nasıl yani? Anneme sordum şimdi.

Arkadaş: Yükseleni yay olanların boyu çok uzun olurmuş. Senin boyun da gördüğün kadar işte. Demek ki yay olamazsın.

Ben: Mantıklı. Ne yapacağız o zaman? Eğlence bitti mi?

Arkadaş: Dur. Yaydan çıkmaya çalışalım şimdi. Varsayalım saat üçte doğdun. Yeni haritaya bakalım. Hah, yükselenin oğlak şimdi. Sor bakalım annene üç gibi doğmuş olabilir misin?

Ben: (Tap tap tap) Hahaha, annem, “tamam, üçtü” dedi ya. Anlaşılan şu an ne desek kabul edecek. Var mı anneme söylemek istediğin bir şey?

Ben: Dur, dur! İstanbul’dan gol haberi var galiba. Annem yazıyor. Evet, tam saat 16:25 imiş.

Arkadaş: Tamam! (Klik klik klik) Oğlakmış. Harita tamamdır. Şimdi senin …

Bundan sonrası açıkçası benim için beyaz gürültü fonunda bazı tanıdık kelimelerden ibaretti. Merkür, Güneş, hava, ateş, toprak filan. Yüzde elli civarında toprak çıktım. Somut bir şeyler üretiyormuşum galiba. Üç vakte kadar da benden bir halt olmazmış.

 

Küçük bir optimizasyon

Olay bir kafede geçmektedir. Kahramanlarımız çok zamanı olan bir müşteri ve bir garson:

Çay var mı?

Var efendim.

İki tane lütfen.

Tabii efendim.

Sürekli duyduğum bu konuşma örneği nedense son tatilimde dikkatimi çekmeyi başardı. Yazılımdan gelen alışkanlıkla düşünmeye başladım. Daha az konuşmayla aynı iletişim yapılamaz mıydı? Örneğin:

İki çay lütfen.

Tabii efendim.

Peki ya çay yoksa ne olacak?

İki çay lütfen.

Çayımız yok (ya da kalmadı).

O zaman iki kahve (ya da başka neyiniz var?).

...

Çay olsa da olmasa da konuşma orijinal konuşmadan daha kısa sürecektir.

Peki neden bazı insanlar birinci yolu seçiyorlar? Tabii ki bunun cevabını bilmiyorum. Bilsem yazılımcı olmazdım. Belki, ‘Çay var mı?’ sorusuna verilebilecek olumsuz cevaptan sonra diğer olasılıklara daha kolay geçebiliyorlardır. Ayrıca ‘İki çay lütfen’ bir soru değil. Verilecek olumsuz bir tepki belki de beyinde daha uzun, yorucu işlemlere yol açıyordur. Yine de bence bir kafede çay olmama ihtimalinin çok küçük olduğunu (epsilon kadar?) varsayabiliriz. Bu da bulunduğumuz yerde neredeyse kesin olarak çay olacaktır demek. Yani ‘var mı’ diye sormak gereksizdir.