Siyasetten mantık dersleri (18 Şubat 2017)

“Kandil’den talimat geliyor. Ne diyor Kandil, “Hayır diyeceksiniz” diyor. Hayır diyor bunlar. Şimdi, Kandil “Hayır” diyor. Kandil ile beraber “Hayır” diyenler onlarla aynı değil mi?  Kişi sevdikleri ile beraberdir. Biliyorsunuz değil mi? Dolayısıyla “Efendim ne alakası var” demeyin. Kılavuzu karga olanın, bir şey demiyorum. Onlar bu. Biz diyoruz ki ‘Hak tecelli edecek’.

Bu alıntıda dikkatimi çeken yöntemleri mantık kuralları çerçevesinde ayrıntılı incelemeyeceğim. Sadece hemen göze çarpan yönlere değinmek istiyorum.

Birinci teknikte talimat üzerine hayır diyen bir grup alınıyor ve sonra bu talimat şartı çok estetik bir şekilde yumuşatılıp kaldırılıyor ve hayır diyen bütün bir grup ele alınıyor. “Kişi sevdikleri ile beraberdir” diyerek de üzerine tüy dikiliyor. Bu teknikle çok ilginç çıkarımlar yapılabilir.

Örnek: Şeytan, Allah’ın varlığından ve onun bir olduğundan emindir. Şeytan “Allah birdir” dediği an müminler Allah’ın bir olduğunu onaylayamaz mı? Onaylarsa şeytanla beraber olacaklar, yani sevdikleri ile. Bu çıkarım saçma değil mi?

Örnek: Sevmediğimiz biri 2+2=4 derse bunu onaylayamayacak mıyız? Hele sevmediğimiz kişi matematik öğretmenimizse.

Bu örnekler daha da çoğaltılabilir.

İkinci teknik (“Kılavuzu karga olanın, bir şey demiyorum.”) de bana doğrudan Ahmet Çakar’ı hatırlattı. O da bazen programlarında coşar ve buna benzer şeyler söylerdi:

“Şimdi ben burada çıkıp federasyon başkanına eşcinsel desem, ama bakın demiyorum”.

Yukarıdaki alıntıda Ahmet Çakar yöntemi bir adım daha ileri götürülmüş ve kahramanımız bir şey demiyorum dedikten hemen sonra aslında bu şeyi dediğini onaylamış.

Bu tekniklere iyi çalışın, bir dahaki seçimlerde buralardan kesinlikle sorular çıkacak.

Dedikoducu kuşlar (Çözüm)

Kuşlar dağıldıktan sonra Bilge Karga yuvada volta atarak düşünmeye başlamış. Bu sırada Meraklı Karga uyanmış:

MK: Ne oldu baba? Neden yatmadın hala?

BK: Bir dedikodu sorununu çözemeye çalışıyorum. Sen yat, uyu.

MK: Dedikodu mu? Anlatsana.

Bilge Karga kuşların sorununu Meraklı Karga’ya anlatır.

MK: Çok kolaymış. İki kuş bütün bilgileri tek bir görüşmede öğrenir.

BK: İkiden fazla kuş var ama.

MK: Üç kuş da bütün bilgileri üç görüşmede öğrenir.

BK: Üçten fazla kuş var. Dur da düşüneyim biraz. Dört kuş için kaç görüşme gerekir acaba? Hmmm.

MK: Dört görüşme yeter. Bak şöyle bir şey çizdim. Birinci görüşme birinci ve ikinci kuşlar arasında. Bu görüşmeden sonra ikisi de birbirlerinin bilgilerini biliyor. İkinci görüşme üçüncü ve dördüncü kuşlar arasında. Üçüncü görüşme birinci ve üçüncü kuşlar arasında ve son görüşme de ikinci ve dördüncü kuşlar arasında.

4 kuş için haberleşme
4 kuş için haberleşme

BK: Bu iş böyle tek tek denenerek bulunmaz ya, çok uzun sürer. Şöyle genel bir yöntem olmalı.

MK: Hmmm, aklıma bir şeyler geliyor. Kuşları iki gruba ayıralım. Bir grupta 4 kuş olsun. Kalanlar da diğer grupta. Örneğin 10 tane kuş varsa, ilk grubu yukarıdaki gibi ilk 4 kuştan oluşturalım, beşinciden onuncuya kadar olanlar da diğer grubu oluştursunlar. İlk önce bu ikinci gruptaki kuşlar tek tek gelip birinci gruptaki kuşlardan biriyle görüşsünler. Yani ilk 6 görüşmeyi yapacaklar. Ardından birinci grup kendi arasında yukarıdaki gibi 4 görüşme ile bütün dedikoduları paylaşacak. Sonra da birinci grubun kuşları diğer kuşlarla 6 görüşme daha yapıp bütün dedikoduları paylaşmış olacaklar. Böylece 10 kuş toplamda 6 + 4 + 6 = 16 görüşme ile işlemi bitirebilecek. Eğer 20 kuş olsaydı 16 + 4 + 16 = 36 görüşme yeterli olacak. Yani genel olarak N kuş için 2N – 4 görüşme.

BK: Güzel bir yöntem ama belki bizdeki kuş sayısı için daha az görüşmeli bir çözüm vardır. Bu çözümün en iyi çözüm olduğunu biliyor muyuz?

MK: Henüz bunu gösterecek bir yol bulamadım.

BK: Bu soruyu belki ileride çözeriz ama daha başka bir sorun var. Görüşmelerin zamanlaması nasıl yapılacak? Yani hangi kuş hangi kuşla ne zaman görüşecek? Birinci gruptaki kuşlar ikinci gruptaki kuşların hepsiyle görüşmelerin bitip bitmediğini nasıl anlayacak?

MK: Bunları çözecek değişik yöntemler kullanabilirler. Örneğin en basitinden birinci gruptan 1 numaralı kuş diğer gruptaki kuşlarla görüşür. Toplam kaç kuş olduğunu bilirse bu görüşmelerin ne zaman bittiğini de bilir. Hatta diğer kuşlarla görüşmeye kendisi de gidebilir, böylece kuşların çoğu dedikodu yapmadıkları süreyi daha verimli kullanabilir.

BK: Ya da birinci gruptaki her kuşa belli kuşlarla görüşme görevi verilebilir. Örneğin birinci kuş 5., 9., 13., … kuşlarla görüşürken, ikinci kuş da 6., 10., 14., … kuşlarla görüşür. Böylece görüşmeler daha çabuk bitirilebilir.

MK: Elbette.

 

Akşam kararlaştırılan zamanda kuşlar Bilge Karga’nın yuvasına gelmişler ve sorunlarının çözümünü öğrenmişler. Görev dağılımında adalet olması için her gün ayrı bir birinci grup seçilmesine karar vermişler. Ertesi gün için grupları seçip bütün kuşları numaraladıktan sonra da Bilge Karga’ya bu büyük sorunu çözdüğü için teşekkür edip yuvalarına uçmuşlar.

 

 

 

Bir Kelime

Sonunda JavaScript öğrenme programım altında bir zamanlar televizyon ekranı başında oynadığımız “Bir Kelime Bir İşlem” yarışmasının “Bir Kelime” kısmını da bitirdim. Aşağıdaki linkten oyunu oynayabilirsiniz.

Sayfa ilk yüklendiğinde bütün imla kılavuzu da beraber yükleniyor. Bu şimdilik yaklaşık 1.5 MB yer tutuyor. Bundan sonra sayfa kapatılana kadar bir daha böyle bir yüklemeye gerek yok, yani oyun çevrimdışı da oynanabilir.

Oyun için önce rastgele yedi harf seçmek gerekiyor. Bu seçimi oyuncu ünlü ya da ünsüz olacak şekilde yapıyor. Bu tuşlar solda. Yedi harf de seçildiğinde oyun başlıyor. Oyuncu harflerin üzerine basarak kelimesini renkli alanda oluşturabiliyor. Bu sırada bir tane de joker harf kullanma hakkına sahip. Bu harfi joker tuşuna (ortadaki) bastıktan sonra aşağıda çıkan klavyeden seçerek yapıyor. Oyuncu en iyi kelimeyi bulduğunu düşündüğünde kabul tuşuna basarak çözümünü kontrol ettiriyor. Eğer kelime imla kılavuzunda mevcutsa puan alıyor, değilse alamıyor. Oyunun her anında programa o harflerle yazılabilecek en uzun kelimeler sorulabiliyor. Çözüm tuşuna basıldığında program bulunabilecek en uzun kelimeleri alttaki alanda gösteriyor.

Kullandığım çözüm bulma algoritması da basit bir şey. Önce her harf için bir map oluşturuyorum. Bu map içinde o harfin bulunma adedine göre kelimeleri grupluyorum. Yani bir grup içinde bir adet a harfi bulunan kelimelerden oluşuyor, bir başka grup içinde iki adet a harfi bulunduran kelimelerden. Bu şekilde bütün imla kılavuzunu hazırlıyorum. Oyunda çözüm istendiğinde seçilmiş harflerin N’li (N maksimum harf sayısı olan 7’den 2’ye kadar) kombinasyonlarını oluşturuyorum ve içinde bu harfleri seçildikleri adet kadar barındıran kelime gruplarının kesişimlerini buluyorum. Sonra bu kesişim kümesindeki kelimelerin uzunluklarına bakıyorum. Eğer kelimenin uzunluğu kombinasyondaki harf adedi kadarsa jokersiz, harf adedinden bir fazlaysa bir jokerli çözüm bulunmuş oluyor. Bu çözümlerin hepsini de çözüm kümesine ekliyorum.

 Bir Kelime

Yazılımcı bozuklukları

Yazılımcılarda görülen davranış bozukluklarından bir tanesi yazılımcı olduklarını unutmalarıdır. İş hayatında sık kaşılaştığım senaryolardan biri şöyledir: Yazılımcı bir sorunu çözemek için bir programa ihtiyaç duyar. Gruptaki diğer elemanlara böyle bir programları olup olmadığını sorar ve hayır cevabını alır. Sonra internette arar ama istediği programı orada da bulamaz. Bu sorun artık onun için çözümsüzdür, çünkü çözüm için aradığı program yoktur.

Bu noktada biraz eğlenmek istiyorsanız bu elemana şu soruyu yöneltin: “O zaman o programı sen yaz, yazılımcı değil misin?”. Elemanın yüzünde, o ana kadar bunun yasadışı bir etkinlik olduğuna inandığını gösteren bir ifade belirecektir. Yani sadece doğrudan çalıştığı proje için program yazabileceğine inanıyordur, o projeye dolaylı yoldan katkısı olabilecek bir program yazabileceği aklına bile gelmemiştir. Bu durumu açıklayacak daha mantıklı başka olasılıklar da vardır. Örneğin gereken programı yazabilecek bilgiye ve beceriye sahip olmayabilir ama bunun gerçek neden olduğu bir sahneyi henüz yaşamadım.

Neyse ki çevremde bu soruna sahip olmayan yeterince yazılımcı var da bu meslekten hala zevk alabiliyorum.

Ilımlı tepki

Serkan ve Ümit dün okullarından izin alıp EuroPark’a gittiler. Akşam eve geldiklerinde bindikleri, gördükleri şeyleri anlatmaya başladılar. Tabii ki bu mutluluk fazla uzun sürmedi. Okulda dersler normal şeklinde yapılmış ve ertesi gün için ödevler verilmişti. Ümit bu haberi hiç de hoş karşılamadı. O bu ödevleri yaptıkça whatsapp’tan da yeni ödev haberleri gelmeye devam ediyordu. Sonunda dayanamadı ve patladı:

Ü: EuroPark’tan nefret ediyorum. Zaten gitmek istemiyordum. Bu kadar ödev olamaz. Öğretmenlerden de nefret ediyorum. On milyar insan öldüreceğim.

B: O kadar insan yok ki dünyada.

Ü: (Bir an durakladıktan ve sakinleştikten sonra) Beklerim o zaman.

Eğer insan türü bugün de varlığını devam ettirebiliyorsa bunun tek nedeni dünyada henüz on milyar insan olmamasıdır. Uyarmadı demeyin!

Dedikoducu kuşlar

Küçük bir ormanda yaşayan kuşların tek eğlencesi dedikodu yapmakmış. Hatta bazı günler dedikodu yapmaktan avlanmayı ya da yiyecek toplamayı bile unutur olmuşlar. Bir süre sonra bunun böyle gidemeyeceğini anlamışlar. Bu sorunu çözse çözse bilge karga çözer deyip, karganın yuvasının yolunu tutmuşlar.

Bilge karga sorunu dinledikten sonra, “Çok kolay, dedikodu yapmayı bırakın, sorun kendiliğinden bitecektir” demiş. Bunu duyan diğer kuşlar “Aman bilge karga, biz dedikodusuz yaşayamayız. Kendimizden vazgeçtik, çocuklar için yardım istiyoruz senden. Ne olur hallet bunu.” demişler. Karga da “Hele bir anlatın bakalım, nasıl bir sorunmuş bu?” demiş ve kuşları dinlemeye başlamış.

“Başlangıçta her birimiz diğer kuşların bilmediği bilgilere sahip. Birbirimizin arkasından konuştuğumuzdan dedikodu her seferinde iki kuş arasında yapılıyor. Dedikodu bittiğinde iki kuş da birbirlerinin o ana kadar bildiği bütün bilgileri öğrenmiş oluyorlar ama hepimiz bütün dedikoduları öğrenmek istediğimizden bütün günümüz bir ona bir buna uçarak ve aynı dedikoduları defalarca dinleyerek geçiyor. Öyle bir yol bul ki yiyecek bulmak için bize daha çok zaman kalsın.”

Bunu duyan karga gülerek “E bundan kolay ne var? Hep beraber bir yerde toplanın ve dedikodunuzu topluca yapın, nasıl olsa akşam olduğunda herkes bütün dedikoduları öğrenmiyor mu?” demiş.

Kuşlar ise bu öneriye hep bir ağızdan itiraz etmiş. “Toplu yapamayız bilge karga, yanımızda bir üçüncü kuş bile olsa utanırız. Son ümidimiz sendin.” demişler.

Karga da pençesiyle gagasını kaşıyarak “Bunu bir düşüneyim. Yarın bu saatte bana gelin, çözümü size anlatayım” demiş.

Kuşlar da hemen bir çözüm bulunamamış olmasından ötürü hafif hayal kırıklığına uğramıs ama yine de umutlu bir şekilde “Tamam, yarın görüşürüz” deyip yuvalarına uçuşmuşlar.

 Karga acaba nasıl bir çözüm bulmuş?

Çözüm

Açık Poker (Çözüm)

Eşitlik durumunda ikinci oyuncu kazanacağına göre birinci oyuncu ilk hamlede ikinci oyuncuya flush royal imkanı vermemelidir. Bu durumda birinci oyuncu ilk hamleye flush royal ile başlayamaz, çünkü ikinci oyuncu bu hamleyi başka renkte bir flush royal ile cevaplar.

Örnek:

Birinci oyuncu ilk turda kupa A K Q J 10 seçerse ikinci oyuncu karo A K Q J 10 seçer ve ikinci turda hiçbir değişiklik yapmaz. Böylece oyun sonunda elinde bir flush royal olur ve kazanır.

İlk oyuncu ikinci oyuncunun flush royal imkanını elinden alırsa o zaman ikinci oyuncunun alabileceği en iyi el flush olur. Bu eli yenmek için birinci oyuncu ya flush royal yapmalı ya da daha iyi bir flush.

Birinci oyuncunun ilk hamlesine bakalım. İkinci oyuncunun royal flush yapmasını engellemek için her renkten A K Q J 10 sırasını rakibe bırakmayacak şekilde birer kart almak gerekecek. Örneğin dört renkten de A kartlarını alırsa, ikinci oyuncu flush royal yapamayacak, fakat şimdi birinci oyuncu bir sorunla karşı karşıya kalır. İkinci oyuncu da her renkten K kartlarını alırsa kendisi için en yüksek flush elini almayı garantileyecektir. K ile flush yapmasını engellemek için birinci oyuncu ikinci turda Q kartlarını almak zorunda kalacak ama ikinci oyuncu bir renkten J ile flush yaparak birinci oyuncunun o ana kadarki en iyi eli olan kare Ası yenecektir.

Demek ki birinci oyuncunun yaptığı ilk hamle ikinci oyuncuyu yeterince sıkıştıramadı. Aşağıya doğru yarışı hep ikinci oyuncu kazanıyor. Peki birinci oyuncu ilk hamlesinde ikinci oyuncuyu yukarıya doğru oynamak zorunda bırakabilir mi? Evet, bu mümkün. Birinci oyuncu ilk hamlesinde 10’luları alırsa hem ikinci oyuncunun flush royal yapmasını engeller hem de kendi flush royal tehdidini korur. Bu tehdidi engellemenin tek yolu ise 10’ludan büyük kartları almaktır. Bu hamle ise ikinci oyuncuya hiçbir şey kazandırmaz, çünkü 10’ludan büyük kartların olduğu bölümde zaten flush imkanı da kalmamıştı. Bu boşa giden hamleden sonra birinci oyuncu flush royal yapamayacaktır ama kalan kartlarla olası en büyük flush artık garantidir. Herhangi bir renkten 10 9 8 7 6 ile oyunu kazanacaktır, çünkü ikinci oyuncunun yapabileceği en iyi hamle bir renkten 9 8 7 6 5 olacaktır.

Demek ki bu oyunu birinci oyuncu  ilk turda 10’luları alarak her zaman kazanabilir. Birinci oyuncunun birinci turda seçeceği beşinci kart önemli değildir.

Asperger ve orantılar

Ümitler şu sıralar okulda matematikte doğru ve ters orantıları öğreniyorlar. Orantıları çözmek için şöyle bir yöntem kullanıyorlar:

Örneğin, 3 ekmek 10 lira ise 6 ekmek kaç liradır?

3 ekmek  :  10 lira (İki tarafı da 3’e bölerek 1 ekmeğin fiyatı bulunur)

1 ekmek :    10/3 lira  (İki tarafı da 6 ile çarparak 6 ekmeğin fiyatı bulunur)

6 ekmek : 60/3 = 20 lira

Bu akşam okul öncesi ters orantı çalışmak istedi ve bu yöntemi ters orantı ile denemek istedi. Bir örnek uydur ve çöz dedim. Tabii ki hemen yukarıdaki örneği düşündü. Bu örneğin ters değil doğru orantılı olduğunu söyledim ama Ümit bunu dert etmedi. “Sadece sayılarla teknik deneme yapmak istiyorum” dedi. “Peki” dedim. Çözümü şöyle görünüyordu:

3 ekmek 10 lira ise 6 ekmek kaç liradır?

3 ekmek  :  10 lira (Sol tarafı da 3’e bölerek sağ tarafı da 3’le çarparak 1 ekmeğin fiyatı bulunur)

1 ekmek :    30 lira  (Sol tarafı 6 ile çarparak, sağ tarafı da 6’ya bölerek 6 ekmeğin fiyatı bulunur)

6 ekmek : 30/6 = 5 lira

İki dakika önce sadece sayılar önemli diyen çocuk bu çok mantıksız diye tutturmaya başladı. Ben de “o zaman ters orantılı bir problem çöz” dedim.

3 duvarcı 1 duvarı 2 günde örüyorsa 6 duvarcı bu duvarı kaç günder örür?

3 duvarcı  :  2 gün (Sol tarafı da 3’e bölerek sağ tarafı da 3’le çarparak 1 duvarcının kaç günde ördüğü bulunur)

1 duvarcı :   6 gün  (Sol tarafı 6 ile çarparak, sağ tarafı da 6’ya bölerek 6 duvarcının kaç günde ördüğü bulunur)

6 duvarcı : 6/6 = 1 gün

Sonra da Ümit’ten beklediğim tepki geldi: “Hah, bu çok mantıklı işte”.

Açık poker

Bu poker oyunu türünde iki oyuncu şu kurallara göre oynuyor:

  • Birinci oyuncu desteden (52 kartlık normal oyun destesi) istediği 5 kartı seçiyor.
  • İkinci oyuncu kalan kartlardan istediği 5 kartı seçiyor.
  • Birinci oyuncu elindeki kartların istediği kadarını kenara ayırır ve desteden aynı miktarda kart seçer.
  • İkinci oyuncu elindeki kartların istediği kadarını kenara ayırır ve desteden aynı miktarda kart seçer.

Bu aşamada kimin eli daha iyiyse o kazanır.

Aşağıda ellerin iyiden kötüye doğru sıralaması verilmektedir:

  1. Flush Royal: Aynı simgeden (maça, kupa, karo ya da sinek) A, K, Q, J, 10. Her simge aynı değerde.
  2. Straight Flush: Aynı simgeden ardışık herhangi 5 kart.
  3. Kare: Aynı değerdeki karttan 4 tane, örneğin dört tane As.
  4. Full house: Bir kart değerinden 3 başka bir değerden de 2 kart. Örneğin 3 tane kız ve iki tane vale.
  5. Flush: İki numaralı şartı sağlamayan aynı simgeden 5 kart.

Eşit seviyedeki el değerlerinde en yüksek kart eşitliği bozar. Örneğin birinci oyuncu maça K,Q,J,10,9 ve ikinci oyuncu da kupa Q,J,10,9,8 kartlarını seçmişse birinci oyuncu kazanır çünkü K daha yüksek karttır. Eşitlik yine bozulamıyorsa ikinci oyuncu kazanır.

Bu oyunu hangi oyuncu nasıl bir stratejiyle kazanır?

Açıklamalar: Oyuncular kartları desteden görerek seçiyorlar. Ayrıca birbirlerinin seçtikleri ve değiştirdikleri kartlarını da görüyorlar.