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.

Ş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

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.

 

 

Günün rüyası: Minibüs

Rüyamda küçük bir minibüsle bir yere gideceğiz. Küçük minibüs kısmını biraz açayım. Sol önde adet olduğu üzere şoför oturuyor. Şoförün sağında boş bir koltuk ama motor üstü kısmı yok. Şoförün arkasında sağda tek koltuk var, orada ben oturuyorum. Benim arkamda tek bir koltuk var, onda da liseden bir kız arkadaş oturuyor. Şoförün arkasındaki blok kapalı bir bölme. Trenlerdeki tuvaletler gibi.  Arkadaşa nereye gitmek istediğini soruyorum, o da Kartal-Kazasker’e  (Evet, ikisi ayrı yerler) gitmek istediğini söylüyor. Ben nereye gitmek istediğimi söylemiyorum. Şoför bir şey demeden minibüsü hareket ettiriyor. Bir süre gittikten sonra minibüsmetreye (sanırım yeni kanunla takılması mecbur artık) göz atıyorum. 177 ile başlayıp 3 basamak daha devam eden bir sayı görüyorum. Arkadaşa tekrar nereye gittiğimizi soruyorum. Sonra şoföre nereye gittiğimizi soruyorum. Şoför cevap veremiyor ama yola devam ediyor. Şoförün bu terbiyesizliğine kızıp “Burada iniyoruz diyorum”. Sanırım dediğimi yanlış anlıyorlar ki, arkadaş oturmaya devam ederken şoför de iniyor. O an olay çıkacağını anlıyorum. Şoför inerken koltuğun altına uzanıyor. Hah, levye geliyor şimdi diye düşünürken iki şoför daha çıkarıyor. Klonlar kenarda beklerken orijinal şoför bana doğru yaklaşıyor. Hayatımda kavga etmediğim, ya da ettiysem de hep dayak yediğimden, “şimdi sıçtık” diyorum. O sırada şoför elimi tutuyor. Ya belki de dansa kaldırıyordur diye iyimserliğimi kaybetmemeye çalışıyorum. Ne de olsa böyle şeyler rüyalarda sıklıkla olabiliyor. Sonra beni itiyor. Şoför kavgası düşündüğüm kadar da kötü değilmiş diye düşünüyorum. Tabii bu esnada rüyada olduğumuzdan şüphem kalmıyor artık. Adamı tuttuğum gibi yanımızdaki uçurumdan aşağı atıyorum. Sonra da ışın kılıcımı çekip klonların üzerine yürüyorum …
Tam bu sırada uyandım. Bu minibüs şoförlerinin rüyada bile bu kadar ahlaksızca hareket etmeleri anlaşılır değil.  Bunu doğru bulmuyorum ve bence rüya gören her vatandaş buna dur demeli.

Zenon’un paradoksları

Zenon paradokslarından birine göre atılan ok hedefine varamazmış. Aslında bu paradoks ona mı ait yoksa paradokslarından birine mi benzetmişler bilmiyorum. Tabii ki atılan ok gerçek hayatta planlanan olmasa da hedefine varıyor. Bu paradoksun gerçekleştiğini bildiğim tek ortam rüyalarımdır. Örnek olarak geçenlerde gördüğüm bu rüyaya bakalım.

Rüyamda uçak inişe geçiyor. Aslında inişten önce de garip şeyler oluyor ama paradoksla pek ilgili değil sanırım. Örneğin önümdeki yolculardan biri aradığım kişinin kanatta olduğunu söylüyor. Ben de pencereden dışarı bakıyorum ama kanadın üzerinde kimse yok. Biraz daha aşağıya baktığımda ise kanadın içindeki kişiyi çok net görebiliyorum (Benim rüyam olduğuna göre tabii ki röntgen bakışlarım olacak). Neyse oldukça başarılı bir iniş sayılırdı. Uçak büyükçe bir şantiye girişinde doksan derece sağa dönen bir yolda kocaman bir kum yığınının solunda durdu. Tabii ki uçaktan hemen indik ve bagajları beklemeye başladım. Evet, kum yığınının yanında bekledim, yakınlarda terminal binası filan görünmüyordu. Bagajlar henüz gelmemişti, o zaman bir bagaj arabası alıp geleyim dedim. Uçağın biraz ilerisinde bagaj arabaları vardı ama onlar nedense naylonlara sarılmışlardı ve yerlerinden çıkarılamıyorlardı. O zaman şantiye yolundan aşağı doğru gidip şansımı oralarda deneyeyim dedim. Biraz ilerleyince sol tarafta yukarıya çıkan uzun taş basamaklı bir merdiven gördüm. Merdivenin başında da pek sevmediğim bir tanıdık. Onun da birkaç basamak ilerisinde iki tane tanımadığım adam vardı. İnişten sonra gördüğüm ilk canlılara doğru ilerlemeye başladım.

Tanıdığa yetiştiğimde öndeki adamlarla bir şeyler konuştuklarını duydum ama ne konuştuklarını anlamadım. Ben geldiğimde susmuşlardı zaten. İki adamı da tanımıyordum ama bende bunların karanlık tipler olduğu izlenimi uyanmıştı bile. Tanıdığa bagaj arabası nerede bulabilirim diye sordum. O da kendisinin benimle konuşmasının o iki elemanın hoşuna gitmediğini söyledi. Ben de kendisine ‘Allah belanı versin’ diyerek merdivenlerden aşağıya indim.

Birden panik başladı bende, uçağa doğru gidip bavulum indirilmiş mi diye bakmak istiyordum. O tarafa doğru yürümeye başlayınca karşıdan bir uçuş görevlisinin geldiğini gördüm. Durumu kendisine anlattığımda bana kendisiyle gelmemi söyledi, bana göstermek istediği bir şey varmış. Yürümeye başladığımızda uçaktan uzaklaştığımızı fark ettim ama bana bagaj arabalarının yerini göstereceğine göre bunu problem etmeye gerek yoktu. Sadece umarım yetişirim diye düşünüyordum.

Bir süre sonra karanlık bir depoya geldik. Depoda benden başka yolcular da vardı. Küçük masaların üzerlerinde çeşitli şeyler duruyordu. Görevli bize bunların yolcular tarafından unutulmuş eşyalar filan olduğunu, istediklerimizi alabileceğimizi söyledi. Ben unutulmuş bir adet yaş pastayı yemeye başladım. Ardından bavul arabası bulmaktan ümidimi de kaybettim (evet, pat diye) ve böylece uyanabildim.

Bu paradoksun doruğa çıktığı rüyalar ise okula dönüş rüyalarıdır. Sanırım bunlardan bahsetmeye hiç gerek yok.

Dünyanın en sessiz tartışması

Bizim grupta normalde tartışmalar şu şekilde olur:

A: Bu problemi şu şekilde çözmeliyiz!

B: Hayır!

A: Evet!

B: HAYIR!

Ses tonları git gide yükselir, yeni argümanlar aranmaz. Kendi düşüncesini en yüksek sesle savunan tartışmayı kazanır. Daha doğrusu kazandığına inanır. Tartışmayı uzaktan duyanlar şirkette çiftleşme arzusuyla yanıp tutuşan geyiklerin çalıştığını düşünebilir ki bu da gerçekten o kadar uzak değildir.

Dün ise şöyle bir sahne yaşandı. Grubumuzun matematikçisi, her zaman yaptığı gibi, sessizce başka bir elemanın masasına yaklaştı. Yakındaki masalardan kafalar birazdan başlayacak tartışmayı dinlemek için olay yerine çevrildi. Normalde tartışmadaki ikinci eleman M’ye (matematikçi eleman) ne istediğini sorar ve M de  o ana kadar planlamadığı sorusunu yarım dakika kadar düşünüp sorar. Tartışmanın devamı da yukarıda örneğe paralel gider. Bu sefer olaylar şöyle gelişti:

M: (diğer elemanın masasına gelir ve karşı tarafın kafasını kaldırmasını beklemeye başlar)

D (diğer eleman): (M’nin geldiğini fark etmesine rağmen kafasını kaldırmadan işine devam eder)

M: (D’nin kafasını kaldıracağından emin beklemeye devam eder)

D: (Kafasını kaldırmadan normal bir ses tonuyla) M., eğer herhangi bir selamlama kelimesi kullanmazsan konuşmayacağım.

M: (Beklemeye devam eder)

D: (Selam beklemeye devam eder)

Biz: (Ne oluyor lan?)

M: (Masanın başında dört dakika sessizce bekler ve sonra arkasını döner ve gider)

Bu yöntemin işe yaradığı görülünce belki diğer elemanlar da ileride bunu M’ye karşı kullanıp kullanmamayı düşünmüşlerdir. Ben bu yöntemi kullanmamaya karar verdim. Evet, kullanırsam başım daha az ağrıyacaktı ama o otuz saniye sessizlikten sonra gelecek saçma soruyu beklemenin getireceği paha biçilmez merakı ve heyecanı kaybetmeyi göze alamazdım.

 

 

Harezmi ve ikinci derece denklem çözümleri

Geçenlerde Steven G. Krantz’ın  ‘An Episodic History of Mathematics: Mathematical Culture through Problem Solving’ adlı kitabını okumaya başladım. Kitapta matematik tarihindeki önemli kişiler ve gelişmeler basit örnekler ve alıştırmalarla anlatılıyor. Bu açıdan kolayca okunan bir kitap ama yine bu anlaşılırlık hedefi yüzünden konular tamamen işlenmiyor.

Kitapta cebir kısmında Harezmi’den ve cebrin ortaya çıkmasından bahsedilen bölümde kullanılan ikinci derece denklem çözüm yöntemi ilgimi çekti. Oldukça kolay anlaşılır ve basit bu yöntemin temel mantığı kareye tamamlama işlemiydi. Bu yöntemi burada bir iki örnekle göstermeye çalışacağım. Soruları cebirsel şekilde göstereceğim ama burada hatırlanmalıdır ki cebrin ortaya çıktığı dönemlerde bu tür sorular her zaman kelimelerle anlatılıyordu.

\(x^2 + 10 \cdot{x} = 39 \)

Önce \(x^2 \) terimi için bir kenarı \(x \) uzunluğunda olan bir kare çiziliyor. Bu karenin alanı \(x^2 \) birimdir.

square

Sonra bu karenin her kenarına alanı \(2.5\cdot{x} \) olacak dört adet dikdörtgen ekleniyor. Bu yeni eklenen dikdörtgenlerin alanları toplamı da böylece \(10 \cdot{x} \) oluyor.

 square2

Böylece boyalı alan toplamı  \(x^2 + 10\cdot{x} \) olur. Bu toplam alanın 39 birim olduğu da sorunun başlangıcında verilmişti.

Şimdi şeklin dört köşesindeki eksik alanları da boyayalım ve başlangıçtakinden daha büyük bir kare elde edelim. Bu yeni küçük alanların her biri  \(2.5\cdot{2.5}=6.25 \) birim büyüklüğündedir. Yani toplamda  \(4 \cdot{6.25}=25 \) birim daha boyalı alan ediyor. Daha önceki toplam alan 39 birimdi. Böylece son karenin toplam alanı da  \(39 + 25 = 64 \) birim olur.

square3

Alanı 64 olan karenin bir kenarı 8 birimdir. Yukarıdaki şekilden de görüyoruz ki büyük karenin bir kenarı  \(x + 2.5 + 2.5 = x + 5 \) birimdir. Bu terimi de 8’e eşitlersek sonuç olarak

\(x + 5 = 8 \implies{x=3} \) bulunur.

Bu yöntemle tabii ki denklemin eğer varsa pozitif bir çözümünü bulabiliriz. Bu şekilde \(x^2 + b\cdot{x}=c \) (\(b>0, c>0 \)) şeklindeki bütün denklemleri çözebiliriz, çünkü bu tür denklemlerin her zaman iki reel kökü vardır ve bu köklerden biri pozitiftir. İki reel kökün olduğunu görmek için diskriminanta bakmak yeterli.

\(x^2 + b\cdot{x} – c=0 \)

denkleminin diskriminantı aşağıdaki gibidir.

 \(b^2 + 4\cdot{c} > 0 \)

Bunun değeri de \(b>0, c>0 \) şartları için her zaman pozitiftir.

Peki denklemde b katsayısı negatif ise geometrik çözüm nasıl olur? Örnek olarak şu denklemi alalım:

\(x^2 – 4\cdot{x} = 12 \)

İlk adım, yani bir kenarı x olan kareyi çizmek aynı kalır. Ondan sonra karenin her kenarından bir kenarı \(x \), diğer kenarı da \(1 \) olan dikdörtgenler çıkarılır. Sonuçta ortaya şöyle bir şekil çıkar.

negative

Başlangıçtaki kareden çıkarılan alanlar taralı alanlardır. Dört köşedeki çift taralı alanlar bu işlem sırasında iki defa çıkarılmıştır. Bu nedenle bu köşelerin alanlarını denklemin sağ tarafına eklememiz gerekmektedir. Böylece şekildeki taralama olmayan mavi alan  \(12 + 4 = 16 \) olur. Alanı 16 olan karenin bir kenarı da 4 birimdir.

Bunu kullanarak ilk baştaki karenin bir kenarını bulabiliriz.

\(1 + 4 + 1 = x = 6 \)

Bu denklem türü ( \(b<0, c>0 \)) de her zaman pozitif diskriminanta ve pozitif bir köke sahip olduğundan yukarıdaki geometrik yöntemle çözülebilir.

Kaynakça:

 ‘An Episodic History of Mathematics: Mathematical Culture through Problem Solving’,  Steven G. Krantz

Vikipedi: https://tr.wikipedia.org/wiki/H%C3%A2rizm%C3%AE

Haftanın çelişkisi

Şirkette yaklaşık bir haftadır şu problemi tartışıyoruz. Makine çalıştırıldığında ekranda makine durumu olarak ‘ABORTED’ yazıyor ama hata listesi boş. Programcı arkadaşlar bunun nedenini araştırdı ve sonunda bir açıklama buldular. Teknik kısmına çok fazla girmek istemiyorum ama kısaca kullanıcı ekranda hata listesini gördüğünü  onayladığında sistemde bütün hatalar giderilmediğinden makine ‘ABORTED’ durumuna geçiyor ve hemen ardından hataların kalanı da gideriliyor ama makine artık onaylama işlemini terk ettiğinden bu değişiklik göz ardı ediliyor.

Sonra problemin çözümünün ne olacağını sorduk ve programcı da kullanıcının tekrar hata onaylama düğmesine basması gerektiğini söyledi. Tabii ki kullanıcının olmayan hata listesini onaylamasını beklemek bizde bir şaşkınlığa yol açtı. Neden böyle olması gerektiğini sorduğumuzda da bize sistemin durumlarının gösterildiği bir diyagram üzerinde ‘ABORTED’ durumundan ‘STOPPED’ durumuna sadece kullanıcı onayıyla geçilebileceğini gösterdi. Bunun üzerine kendisiyle şöyle bir konuşma yaptık:

Biz: ‘ABORTED’ ne demek?

Programcı: Makinenin bir durumu.

Biz: Tamam da diğer durumlardan farkı ne? Mesela neden ‘STOPPED’ değil?

Programcı: Hata varsa ‘ABORTED’ yoksa ‘STOPPED’.

Biz: Peki bu tartıştığımız problem durumunda (hata listesi boş)  sistem neden ‘ABORTED’ durumunda? Tanıma göre bu yasak olmalı.

Programcı: Ama bu diyagrama göre o duruma geçtiğimde sistemde hata vardı, sonra o durumdayken hatalar giderildi ve yine diyagrama göre bu durumdan çıkışın tek yolu kullanıcı onayı.

Biz: İyi de bu diyagram bize söylediğin sistemin durum tanımlarıyla çelişiyor. İkisinden en az biri yanlış olmalı.

Günün kalan kısmındaki tartışmalardan duyabildiğim kadarıyla programcı arkadaş bu çelişkiyi ayakta tutabilmek için öyle şeyler denemiş ki, düzeltilen her problem iki yeni probleme yol açar olmuş. Tabii ki bu o kadar şaşırtıcı olmadı. Ne de olsa bir çelişkiyi çalışabilir yapmak için daha başka hatalara ihtiyaç vardır. Sonuç olarak basit mantık hatalarına karşı direnmenin masrafı böylece yine yüksek çıktı da rahat bir nefes aldım. Yoksa mantık ne işimize yarayacak diye soranlara ne cevap vereceğimi bilemezdim.