Anca beraber kanca beraber (Çözüm)

Soru

Seriye kolay bir soruyla başlamıştım. Oyuncular mesajlarını sırayla iletebiliyordu. İlk turda oyunu bitirip rastgele bir renk söylemenin oyunu kazanmak için iyi bir strateji olmadığını görmek kolay olmalı. İki oyuncu da oyunu bitirmeden önce hangi rengi söyleyeceklerine karar vermeli. Ayrıca oyunu hangi turda bitireceklerini de bulmaları lazım. Bu karar verilene kadar birbirlerine mesajlar göndermeleri lazım.

Neyse ki oyunun bu varyantında işler kolay. İlk turda mesaj gönderme sırası kendisinde olan oyuncu örneğin şu mesajı gönderebilir.

“İkinci turda oyunu bitireceğiz ve kırmızı diyeceğiz.”

Bu şekilde iki oyuncu arasında basit bir sözleşme yapılmış olur. Kurallara ve oyuncuların mantıklı olmalarına güvenilirse bu yöntem yeterli olacaktır. Eğer biraz daha güvenlik istenirse o zaman sözleşmenin karşı taraftan onaylanması istenebilir. Sonuçta kurallara göre mesaj gönderebiliyoruz ama mesajın doğru gidip gitmediğini bilmiyoruz. Bu durumda şöyle mesajlar kullanılabilir:

  1. tur (birinci oyuncu): Üçüncü turda oyunu bitireceğiz ve kırmızı diyeceğiz. Lütfen bunu ikinci turda onayla!
  2. tur (ikinci oyuncu): Üçüncü turda oyunu bitireceğiz ve kırmızı diyeceğiz.

Eğer ikinci turun mesajı birinci oyuncuya ulaşmışsa üçüncü turda oyun kırmızı renkle bitirilir. Burada hala küçük bir belirsizlik var tabii. İkinci mesaj yerine ulaştı mı? Sonuçta ortama güven ne kadar yüksekse oyun o kadar kısa sürecek.

Anca beraber kanca beraber

Alex Bellos’un the guardian’daki pazartesi bilmecelerinden hoşuma giden bir grup bilmece daha. Aynı tema üzerine çeşitlemeler de diyebiliriz. Önce en basit versiyonunu çözmeye çalışalım.

Sizi ve o güne kadar hiç karşılaşmadığınız birini iki farklı odaya koyuyorlar ve bir oyun oynuyorsunuz. Oyunun kuralları şöyle:

Her turda iki seçenekten birini uyguluyorsunuz.

  1. Oyunu bitiriyorsunuz ve bir renk söylüyorsunuz.
  2. Eğer mesaj gönderme sırası sizdeyse diğer odadaki oyuncuya yazılı bir mesaj gönderiyorsunuz, eğer sıra sizde değilse hiç bir şey yapmıyorsunuz. Mesaj gönderme sırası her turda diğer oyuncuya geçiyor. Bu yazılı mesajdan başka hiçbir iletişim imkanınız yok.

Eğer ikiniz de aynı turda oyunu bitirir ve aynı rengi söylerseniz oyunu kazanıyorsunuz. Eğer ikiniz de farklı turlarda oyunu bitirmeye çalışır ya da aynı turda bitirip de farklı renkleri söylerseniz kaybediyorsunuz.

Diğer oyuncu da sizin kadar mantıklı ise oyunu kazanmak için nasıl oynarsınız?

Çözüm

Kayles

Bu oyun iki kişi arasında ve yanyana dizili 13 taşla oynanıyor. İki oyuncu da sırayla aşağıdaki hamlelerden birini yapıyor:

  • Herhangi bir taşı almak.
  • Aralarında boşluk olmayacak şekilde duran iki taşı almak.

Bir ya da iki taş alındıktan sonra kalan taşlar birbirlerine yaklaştırılmayacak, yani aralarda boşluklar oluşabilecek.

Son taşı ya da taşları alan oyunu kazanır.

Oyunu kazanmak için bir strateji bulun.

Kelimeler

Öğretmen ingilizce dersinde tahtaya alt alta şu kelimeleri yazmış:

cat

dog

has

max

dim

tag

Sonra da kimseye söylemeden bu kelimelerin birini seçmiş ve seçtiği kelimenin harflerini Ayşe, Betül ve Canan’a dağıtmış. Her öğrenci sadece bir harf almış. Sonra bu üçü kendilerine verilen harflere bakmış ama sadece kendi harflerine. Ardından öğretmen sormaya başlamış.

Öğretmen: Ayşe, senin harfinin hangi kelimeden geldiğini bulabildin mi?
Ayşe: Evet, buldum.
Öğretmen: Betül, peki sen harfinin hangi kelimeden olduğunu bulabildin mi?
Betül: Hmmm, evet buldum şimdi.
Öğretmen: Canan, sen de bulabildin mi?
Canan: Biraz düşüneyim... Tamam, buldum.

Hangi öğrenciye hangi harf verilmişti?

Evet, hayır, bilmiyorum (Çözüm)

Soru

Cevabı evet ya da hayır olan sorularla sayıyı aradığımız bölgeyi her zaman ikiye bölebiliriz. Örneğin aralığın ortasındaki sayıyı seçip, tuttuğun sayı bu sayıdan büyük mi ya da küçük mi diye sorarsak cevaba göre aralığın bir yarısını hemen eleyebiliriz. Eüer üç cevaplı bir yöntem bulabilirsek bu aralığı eşit aralıklı üç bölgeye ayırabiliriz ve her cevapta bu üç bölgenin ikisini eleyebiliriz. Böylece aradığımız sayıyı daha çabuk, yani daha az denemede bulabiliriz.

Peki bilmiyorum cevabını nasıl elde edebiliriz? Bunu yapmanın yolu tabii ki soruyu sorarken bütün bilgileri vermemekten geçiyor. Bütün bilgileri vermeyeceğiz ama yine de elimizdeki aralığı üç eşit parçaya bölmeye çalışacağız. Soracağımız soruda bu bölmeyi bildirmemiz lazım ama bölümlerin birinin cevabı evet ya da hayır olmamalı.

Önce birle yüz arasındaki sayıları üç gruba ayıralım. Birden otuzüçe kadar, otuzdörtten altmışyediye kadar ve altmışsekizden yüze kadar diye. Şimdi bu aralıkların ortada olanını alalım, yani otuzdörtten altmışyediye kadar olanı. Bu aralık için bilmiyorum cevabını elde etmek isteyelim. Bu durumda bu aralıktan küçük aralık için evet, büyük aralık için de hayır cevabını isteyelim mesela. Bu cevaplar kolay: Örneğin tuttuğun sayı otuzdört ile altmışyedi aralığından küçük mü? Tuttuğu sayı bu aralıktan daha küçük aralıktaysa cevap evet ve daha büyük aralıkta ise cevap hayır olacak. Peki tuttuğu sayı bu aralıkta ise cevap ne olacak? Bu sorunun cevabı da bence hayır olacaktır, çünkü soruda hiçbir belirsizlik kullanmadık. O aralıktaki bir sayı da o aralıktan küçük değildir. Demek ki soruda aralıktan bir sayıya doğru gitmek daha iyi bir yöntem olabilir ama bu sayıyı soruda söylemememiz lazım.

O zaman oyunu tersine çevirelim ve şöyle bir soru soralım: Otuzdört ile altmışyedi arasında bir sayı tuttum. Senin tuttuğun sayı bu sayıdan küçük mü? Eğer tutulan sayı bu aralıktan daha küçük aralıktaysa cevap evet, daha büyük aralıktaysa da cevap hayır olacak. Eğer tutulan sayı bu aralıktaysa bu sefer otomatik bir hayır cevabı olmayacak. Evet cevabı da olmayacak. Mecburen bilmiyorum cevabı verilecek.

Buna benzer başka sorular da bulunabilir tabii ki.

Evet, hayır, bilmiyorum

Ahmet’le Betül teneffüste yine sayı bulmaca oynamışlar. Biri aklında birle yüz arasında bir sayı tutuyor ve diğeri cevabı sadece evet ya da hayır olacak sorular sorarak o sayıyı bulmaya çalışıyor. Ders zili çaldığında sınıfa dönerken Betül Ahmet’e “bu oyun çok basit artık. Biraz değişiklik yapalım en iyisi” diyor. “Mesela, sadece cevabı evet ya da hayır olan değil, cevabı bilmiyorum olan sorular da soralım” diye ekliyor. Ahmet “Hmmm, ilginç fikir ama aklıma nasıl sorular olacağı gelmiyor” diyor. Betül de “Ben de şu an bilmiyorum ama teneffüse kadar bir ders zamanımız var, belki o zamana kadar buluruz” diyor.

Birle yüz arasında tutulan bir sayıyı minimum denemede bulmak için cevabı evet, hayır ya da bilmiyorum olacak soruları bulun.

Çözüm

Şapka yerine sayılar (Çözüm)

Soru

Henüz bir planım olmadığı için yine sorunun daha basit bir versiyonuyla başlayayım. Diyelim ki iki tutuklu var ve alınlarına 0 ya da 1 yazılsın. İki tutukluyu da bir önceki gece 0 ve 1 diye numaralayalım. Yani oyun boyunca ikisinin de rolü belli. Şimdi ertesi gün oyun tarafından kendilerine rastgele numaralar verilecek. Bu durumda aşağıdaki tabloya göre 4 değişik durum olacak:

Birinci tutuklunun alnındaki sayıİkinci tutuklunun alnındaki sayı
00
01
10
11

Tutuklular sadece gördükleri sayılara göre bir karar verirse kurtulmaları için yeterli olmaz. Bunu görmek için basit bir deneme yapalım. Diyelim ki herkes gördüğü sayının tersini söylesin, yani 0 gören 1 desin, 1 gören de 0 desin. O zaman şöyle bir tablo elde ederiz:

1. tutuklunun alnındaki sayı2. tutuklunun alnındaki sayı1. tutuklunun tahmini2. tutuklunun tahmini
0011
0101
1010
1100
Tutukluların gördükleri sayıların tersini söylediği durumdaki sonuçlar

Görüldüğü gibi iki tutuklunun aldında aynı sayılar yazıyorken ikisi de yanlış cevap veriyor, farklı sayılar varken ikisi de doğru cevap veriyor. Peki ikisi de gördüğü sayıyı söylese durum değişir mi?

1. tutuklunun alnındaki sayı2. tutuklunun alnındaki sayı1. tutuklunun tahmini2. tutuklunun tahmini
0000
0110
1001
1111
Tutukluların gördükleri sayıları söylediği durumdaki sonuçlar

Bu durumda da eğer alınlarındaki sayılar aynı ise ikisi de doğru cevap veriyor, farklı ise ikisi de yanlış cevap veriyor. Soruyu çözmek için aynı anda ikisinin de doğru cevap vermesine gerek yok ama, sadece biri doğru cevap verse yeterli. Bunu elde etmek için bir gece önce kendilerine verilen sayıları da kullanabilirler belki.

Bunu yapmanın bir sürü yolu var. En basitinden şöyle düşünebiliriz. İki tutuklu da farklı kurallara göre seçim yapabilir. Örneğin birinci tutuklu her zaman gördüğü sayıyı söylesin, ikinci tutuklu da gördüğü sayının tersini söylesin. Bakalım bu sefer nasıl bir tablo çıkıyor?

1. tutuklunun alnındaki sayı2. tutuklunun alnındaki sayı1. tutuklunun tahmini2. tutuklunun tahmini
0001
0111
1000
1110
Birinci tutuklunun gördüğü sayıyı söylerken, ikinci tutuklunun gördüğü sayının tersini söylediği durumdaki sonuçlar

Bu stratejiye göre her durumda sadece bir tutuklu doğru cevabı veriyor ama her durum için bir doğru cevap olduğundan her durumda ikisi de kurtuluyor. Demek ki bu basit versiyon için bir çözüm var. Yalnız şimdi de 10 tutuklunun olduğu versiyon için çok kompleks bir çözüm bulmamız gerektiği gibi bir sonuçla karşı karşıyayız. Peki bu çözümde biraz daha durup stratejimizi daha kolay bir hale getirebilir miyiz?

Önce daha kolaydan ne kastettiğimi anlatayım. Yani belki basit matematiksel bir ifade bulabiliriz ve daha sonra bu ifadeyi daha fazla tutuklu ile deneyerek test edebiliriz. Fakat sonunda gerçek testi bir ispat verecektir bu durumda. Yine de matematiksel bir ispattan faydalanmak için matematiksel bir ifade daha kolaylaştırıcı olacaktır.

Örneğin şöyle bir model tasarlayabiliriz. Her tutuklu gördüğü sayıdan plan yapma aşamasında kendisine verilen sayıyı çıkarabilir. Tabii ki çıkan sonuç her zaman alınlarındaki olası sayılardan biri olmayabilir. Birinci tutuklunun alnında 0 yazıyorsa ikinci tutuklu 0 – 1 işlemini yapıp -1 sonucunu bulacaktır. Demek ki bu sonucu da 0 ve 1 sayılarına dönüştürmemiz lazım. En kolay yol bu soncu modulo 2 sisteminde yazmak olabilir. Şimdi tabloyu bu şekilde tekrar yazayım.

1. tutuklunun alnındaki sayı2. tutuklunun alnındaki sayı1. tutuklunun tahmini2. tutuklunun tahmini
00\(0 – 0 \equiv {0} \mod{2}\)\(0 – 1 \equiv {1} \mod {2}\)
01\(1 – 0 \equiv {1} \mod {2}\)\(0 – 1 \equiv {1} \mod {2}\)
10\(0 – 0 \equiv {0} \mod {2}\)\(1 – 1 \equiv {0} \mod {2}\)
11\(1 – 0 \equiv {1} \mod {2}\)\(1 – 1 \equiv {0} \mod {2}\)
Yukarıdaki yöntemi modüler aritmetik yardımıyla tekrar yazdık

Bu şekilde ifade ettiğimizde de yukarıdaki çözümle aynı sonucu bulabildik. Şimdi önümüzde iki imkan var. Ya bu yöntemi diğer tutuklu sayılarıyla test edeceğiz ya da genel bir ispat arayacağız.

1. tutuklunun sayısı2. tutuklunun sayısı3. tutuklunun sayısı1.tutuklunun tahmini2. tutuklunun tahmini3. tutuklunun tahmini
000\(0 + 0 – 0 \equiv {0} \mod {3}\)\(0 + 0 – 1 \equiv {2} \mod {3}\)\(0 + 0 – 2 \equiv {1} \mod {3}\)
001\(0 + 1 – 0 \equiv {1} \mod {3}\)\(0 + 1 – 1 \equiv {0} \mod {3}\)\(0 + 0 – 2 \equiv {1} \mod {3}\)
002\(0 + 2 – 0 \equiv {2} \mod {3}\)\(0 + 2 – 1 \equiv {1} \mod {3}\)\(0 + 0 – 2 \equiv {1} \mod {3}\)
Üç tutuklu için strateji test tablosu

Bu tamamlanmamış tablodaki testten kolayca görüyoruz ki bu strateji doğru çalışmıyormuş. Peki bunun yerine nasıl bir kural koyabiliriz? Mesela her tutuklu toplamı kendine atanan sayıya eşitleyebilir. Yani birinci tutuklu tüm toplamı 0 yapmaya çalışırken, ikinci tutuklu da tüm toplamı 1 yapmaya çalışabilir. Tabii ki modulo 2’ye göre. Bunu da bir deneyelim.

1. tutuklunun sayısı2. tutuklunun sayısı1. tutuklunun tahmini2. tutuklunun tahmini
00\(0 – 0 \equiv {0} \mod {2}\)\(1 – 0 \equiv {1} \mod {2}\)
01\(0 – 1 \equiv {1} \mod {2}\)\(1 – 0 \equiv {1} \mod {2}\)
10\(0 – 0 \equiv {0} \mod {2}\)\(1 – 1 \equiv {0} \mod {2}\)
11\(0 – 1 \equiv {1} \mod {2}\)\(1 – 1 \equiv {0} \mod {2}\)
Her tutuklunun tüm toplamı kendine atanan sayıya eşitlemeye çalıştığı stratejini tablosu

İki tutuklu için işe yaradı bu strateji. Bakalım üç tutuklu için daha iyi bir sonuç verecek mi?

1. tutuklunun sayısı2. tutuklunun sayısı3. tutuklunun sayısı1. tutuklunun tahmini2. tutuklunun tahmini3. tutuklunun tahmini
000\(0 – (0 + 0) \equiv {0} \mod {3}\)\(1 – (0 + 0) \equiv {1} \mod {3}\)\(2 – (0 + 0) \equiv {2} \mod {3}\)
001\(0 – (0 + 1) \equiv {2} \mod {3}\)\(1 – (0 + 1) \equiv {0} \mod {3}\)\(2 – (0 + 0) \equiv {2} \mod {3}\)
002\(0 – (0 + 2) \equiv {1} \mod {3}\)\(1 – (0 + 2) \equiv {2} \mod {3}\)\(2 – (0 + 0) \equiv {2} \mod {3}\)
010\(0 – (1 + 0) \equiv {2} \mod {3}\)\(1 – (0 + 0) \equiv {1} \mod {3}\)\(2 – (0 + 1) \equiv {1} \mod {3}\)
011\(0 – (1 + 1) \equiv {1} \mod {3}\)\(1 – (0 + 1) \equiv {0} \mod {3}\)\(2 – (0 + 1) \equiv {1} \mod {3}\)
012\(0 – (1 + 2) \equiv {0} \mod {3}\)\(1 – (0 + 2) \equiv {2} \mod {3}\)\(2 – (0 + 1) \equiv {1} \mod {3}\)
020\(0 – (2 + 0) \equiv {1} \mod {3}\)\(1 – (0 + 0) \equiv {1} \mod {3}\)\(2 – (0 + 2) \equiv {0} \mod {3}\)
021\(0 – (2 + 1) \equiv {0} \mod {3}\)\(1 – (0 + 1) \equiv {0} \mod {3}\)\(2 – (0 + 2) \equiv {0} \mod {3}\)
022\(0 – (2 + 2) \equiv {2} \mod {3}\)\(1 – (0 + 2) \equiv {2} \mod {3}\)\(2 – (0 + 2) \equiv {0} \mod {3}\)
100\(0 – (0 + 0) \equiv {0} \mod {3}\)\(1 – (1 + 0) \equiv {0} \mod {3}\)\(2 – (1 + 0) \equiv {1} \mod {3}\)
101\(0 – (0 + 1) \equiv {2} \mod {3}\)\(1 – (1 + 1) \equiv {2} \mod {3}\)\(2 – (1 + 0) \equiv {1} \mod {3}\)
102\(0 – (0 + 2) \equiv {1} \mod {3}\)\(1 – (1 + 2) \equiv {1} \mod {3}\)\(2 – (1 + 0) \equiv {1} \mod {3}\)
110\(0 – (1 + 0) \equiv {2} \mod {3}\)\(1 – (1 + 0) \equiv {0} \mod {3}\)\(2 – (1 + 1) \equiv {0} \mod {3}\)
111\(0 – (1 + 1) \equiv {1} \mod {3}\)\(1 – (1 + 1) \equiv {2} \mod {3}\)\(2 – (1 + 1) \equiv {0} \mod {3}\)
112\(0 – (1 + 2) \equiv {0} \mod {3}\)\(1 – (1 + 2) \equiv {1} \mod {3}\)\(2 – (1 + 1) \equiv {0} \mod {3}\)
120\(0 – (2 + 0) \equiv {1} \mod {3}\)\(1 – (1 + 0) \equiv {0} \mod {3}\)\(2 – (1 + 2) \equiv {2} \mod {3}\)
121\(0 – (2 + 1) \equiv {0} \mod {3}\)\(1 – (1 + 1) \equiv {2} \mod {3}\)\(2 – (1 + 2) \equiv {2} \mod {3}\)
122\(0 – (2 + 2) \equiv {2} \mod {3}\)\(1 – (1 + 2) \equiv {1} \mod {3}\)\(2 – (1 + 2) \equiv {2} \mod {3}\)
200\(0 – (0 + 0) \equiv {0} \mod {3}\)\(1 – (2 + 0) \equiv {2} \mod {3}\)\(2 – (2 + 0) \equiv {0} \mod {3}\)
201\(0 – (0 + 1) \equiv {2} \mod {3}\)\(1 – (2 + 1) \equiv {1} \mod {3}\)\(2 – (2 + 0) \equiv {0} \mod {3}\)
202\(0 – (0 + 2) \equiv {1} \mod {3}\)\(1 – (2 + 2) \equiv {0} \mod {3}\)\(2 – (2 + 0) \equiv {0} \mod {3}\)
210\(0 – (1 + 0) \equiv {2} \mod {3}\)\(1 – (2 + 0) \equiv {2} \mod {3}\)\(2 – (2 + 1) \equiv {2} \mod {3}\)
211\(0 – (1 + 1) \equiv {1} \mod {3}\)\(1 – (2 + 1) \equiv {1} \mod {3}\)\(2 – (2 + 1) \equiv {2} \mod {3}\)
212\(0 – (1 + 2) \equiv {0} \mod {3}\)\(1 – (2 + 2) \equiv {0} \mod {3}\)\(2 – (2 + 1) \equiv {2} \mod {3}\)
220\(0 – (2 + 0) \equiv {1} \mod {3}\)\(1 – (2 + 0) \equiv {2} \mod {3}\)\(2 – (2 + 2) \equiv {1} \mod {3}\)
221\(0 – (2 + 1) \equiv {0} \mod {3}\)\(1 – (2 + 1) \equiv {1} \mod {3}\)\(2 – (2 + 2) \equiv {1} \mod {3}\)
222\(0 – (2 + 2) \equiv {2} \mod {3}\)\(1 – (2 + 2) \equiv {0} \mod {3}\)\(2 – (2 + 2) \equiv {1} \mod {3}\)
Üç tutuklu için stratejinin uygulanması

Bu strateji tabloya göre üç tutuklu için de işe yaradı. Bu şekilde on tutukluya kadar gitmek mümkün olmadığından bu stratejinin çalışacağını ispatlamaya çalışmak daha kolay olabilir.

Tutukluları birden n’e kadar numaralayalım. i numaralı tutukluya strateji belirlenirken i-1 sayısı atanmış olacak. Her tutuklunun alnındaki sayıyı da \(a_{i} \) şeklinde gösterelim. Göstermek istediğimiz şey şu: Her tutuklu tüm sayıların toplamı modulo n’de kendine atanan sayı olacak şekilde bir tahmin yaparsa en az bir tutuklu kendi alnındaki sayıyı tahmin eder.

O zaman bu ifadeyi matematiksel bir şekilde ifade edelim.

Tüm sayıların toplamına t diyelim. i numaralı tutuklu kendi dışındaki sayıları göreceğinden bu sayıya da \(s_{i} \) diyelim. Yani \(t = a_{i} + s_{i} \) eşitliği geçerli. i numaralı tutuklu toplamı kendi sayısı olan i-1 sayısına eşitlemeye çalıştığına göre yapacağı tahmin de \(i – 1 – s_{i} \mod{n}\) olacaktır. \(s_{i} = t – a_{i} \) olduğundan i numaralı tutuklunun tahminini \(i – 1 – t + a_{i} \mod{n}\) şeklinde yazabiliriz. Göstermek istediğimiz şey ise bu sayının en az bir i için \(a_{i} \) sayısına, yani i numaralı tutuklunun alnındakisayıya eşit olduğunu göstermek. Bu ifadeyi de yerine koyarsak aradığımız şeyin şu olduğu ortaya çıkar:

\(i – 1 – t + a_{i} – a_{i} \equiv{0} \mod{n}\)

Bunu da sadeleştirirsek

\(i – 1 – t \equiv{0} \mod{n}\)

denklemini buluruz. Burada t toplamı sabit bir sayı ve i sayısı da 1’den n’e kadar bütün tam sayılar. Dolayısıyla \(i – 1 – t \mod{n}\) ifadesi belli i değerleri için 0’dan n-1’e kadar bütün sayılara denk olacak. Yani bu denklemin 0’a denk olduğu bir i sayısı da vardır. Hatta tek bir i sayısı vardır. Yani her durum için sadece bir tutuklu doğru cevabı verecektir.

Bu çözüm pek konstruktif olmadı, bulması biraz deneme yanılma ve şansa dayalı oldu ama en azından bu çözümün ispatını verebildim.

Şapka yerine sayılar

10 tutuklu zindanda ertesi gün idam edilmeyi beklerken, kral onlara bir şans daha vermek istemiş.

İdamdan önce her birinin alnına 0’dan 9’a kadar rastgele bir rakam yazılacak. Herkes kendi rakamı hariç diğer bütün rakamları görebilecek. Kimse birbiriyle konuşamayacak ve ardından her birine teker teker alnındaki rakamın kaç olduğu sorulacak. Eğer bir kişi bile kendi rakamını doğru tahmin ederse hepsi kurtulacak, aksi durumda hepsi idam edilecek. Ayrıca kimse de diğerlerinin tahminlerini duyamayacak.

Yarına kadar bir strateji kararlaştırabilirler. Hangi strateji ile kurtulabilirler?

Çözüm

Yine, yeni, yeniden şapkalar

Bu seferki soru Peter Winkler’in “Mathematical Puzzles: A Connoisseur’s Collection” adlı kitabından geliyor.

Mahkumlar bir odada toplanıyor ve bir çemberin etrafına diziliyorlar. Herkes birbirini görüyor. Her birinin başına yazı tura ile seçerek ya kırmızı ya da mavi bir şapka konuyor. Kimse kendi şapkasını görmüyor ve odaya girdikten sonra kimse birbiriyle iletişimde bulunamıyor. Şapka koyma işlemi bitince sırayla herkes sırayla gruptan ayrı alınacak ve kendisine şapkasının rengi sorulacak. Bu kişi ya şapkasının rengini tahmin edecek ya da pas geçecek.

Eğer kimse tahminde bulunmazsa ya da en az bir kişi yanlış tahminde bulunursa bütün grup idam edilecek. Yani grubun kurtulması için tahminde bulunanların hepsinin doğru renkleri bulması gerek. Kurtulma şansını artırmak için bir strateji bulun.

Kasanın şifresi (Çözüm)

Soruyu ilk önce kendi çözdüğüm yöntemle çözeceğim. Daha sonra da daha kolay ve mantıklı olduğunu düşündüğüm bir çözümü vereceğim.

1. Çözüm

Çözüme küçük dizilerle soldan başladım. İlk adım olarak ilk basamağın 0 olamayacağını gördüm. Bu şifrede 0 tane 0 var demek kendisiyle çelişiyor çünkü. Demek ki en az bir tane 0 olmalı.

O zaman çözüm denememe bir tane 0 ile başladım. İlk dizim oldukça kısaydı.

1

Tabii ki bu dizi şartların hiçbirini sağlamıyor. O zaman bir sonraki basamağı da kullanayım dedim. O zaman da bir sorunla karşılaştım ama. Bir tane 1 var dersem yine olmayacak çünkü o zaman dizi 11 olacak, yani iki tane 1 olacak. Bunu geçiştirmek için o basamağa 2 yazım. Dizimin şimdiki hali şöyle oldu:

1 2

Dizide şimdilik bir tane de 2 olduğundan bir sonraki basamağa 1 yazabileceğimi gördüm.

1 2 1

İki tane 1, bir tane 2 kısmı güzel. Sadece bir tane de 0 lazım. O zaman bir sonraki basamağa 0 yazabilirim.

1 2 1 0

Bu mini dizi istenen şartların hepsini sağlıyor. Tek sorun şifrenin 10 basamaklı olması. Burada bu düzeni kullanarak diziyi istediğim şekilde uzatabileceğimi sezdim. Bunun en kolay yolu 0 rakamlarının adedini artırmak. Bu sırada bir adet 1 sayısını kaybedeceğim ama 0 rakamlarının adedinin gösterildiği basamağa o kaybettiğim 1 rakamını yazarsam sorun çözülecek.

Şimdiye kadar dört basamağı hallettim (ilk basamağın değeri henüz tam değil). Yani altı basamak daha var. Bu basamakların hepsi 0 olursa dizi şöyle olur.

7 2 1 0 0 0 0 0 0 0

Tabii ki bir adet 7 rakamını göstermek için bir tane daha 1 lazım ama ona yer kalmadı. O zaman yedi tane değil altı tane 0 olduğunu var saymam lazım diye düşündüm.

6 2 1 0 0 0 1 0 0 0

Dikkat ettiyseniz 6 rakamlarının adedini veren yedinci basamağa bir tane 1 koyunca geriye sadece altı tane 0 için yer kaldı. Bu şifre soruda verilen her şartı sağlamakta. Bu yöntemin bir başka zayıf tarafı da başka bir çözüm olup olmadığını göstermiyor.

2. Çözüm

Bu çözümde şifre sağdan sola doğru aranıyor.

En sağdaki basamak şifredeki 9 rakamının adedini veriyor. Bu basamak 1 olursa diğer herhangi bir basamakta bir adet 9 olmalı. Bu 9 rakamını başka bir yere koyamıyoruz ama. Bunu bir iki örnekle göstermeye çalışayım.

9 0 0 0 0 0 0 0 0 1 Eğer ilk basamağa koyarsak bir tane 0 eksik kalıyor.
1 9 1 1 1 1 1 1 1 1 Eğer ikinci basamağa koyarsak diğer basamaklardaki 1 rakamları kullanılmamış oluyor.

Bu şekilde son rakamın 0 olması gerektiğini bulabiliriz.

Şimdi sağdan ikinci basamağa bakalım. Bu basamak şifredeki 8 rakamının adedini verecek. Buraya da 1 koyarsak dizi aşağıdaki gibi gözükecek

_ _ _ _ _ _ _ _ 1 0

Şimdi 8 için bir yer seçelim. İki aday var, ya ilk basamak ya da ikinci basamak. Çünkü diğer her basamak on basamaktan fazlasını gerektirecek. İlk basamağa 8 koyarsak, şifrede sekiz tane 0 olacak demektir. Bunu bir deneyelim:

8 0 0 0 0 0 0 0 1 0

Neredeyse bir çözüm olabilecekmiş. İkinci basamak 0 olamaz çünkü şifrede en az bir tane 1 var fakat bu basamağa 0 yazmazsak da o zaman sekiz tane 0 kullanamayacağız.

1 8 1 1 1 1 1 1 1 0

Bu da çözüm olamıyor çünkü şifremizde 2, 3, 4, 5, 6, 7, 8 rakamlarını hiç kullanmadık.

Demek ki sondan ikinci basamak da 0 olmalı.

_ _ _ _ _ _ _ _ 0 0

Şimdi sondan üçüncü basamağa bakalım. Bu basamak 1 olursa diğer basamakların birinde 7 olmak zorunda olur. Ayrıca ikinci basamak (1 rakamının adedi) da en az 2 olmalı. İlk basamak da en az 2 olmalı, çünkü şimdiye kadar iki tane 0 kullandık. Bu verilerden sonra 7 rakamını da ya ilk ya ikinci basamakta kullanmak zorundayız. Önce ikinci basamağa bakalım:

1 7 1 1 1 1 1 1 0 0

Bu şifre olmuyor çünkü birinci basamak bile yanlış.

Şimdi 7 rakamını ilk basamakta kullanalım.

7 0 0 0 0 0 0 1 0 0

Bu da olamıyor çünkü şifrede bir adet 1 var fakat ikinci basamak 0.

O zaman son üç basamak 0 olmak zorunda.

_ _ _ _ _ _ _ 0 0 0

Sıradaki basamak şifrede kaç tane 6 olduğunu söylüyor. İki tane 6 için yer olmadığından 1 rakamını deneyelim.

_ _ _ _ _ _ 1 0 0 0

İlk ve ikinci basamaklar dışında 6 kullanamayacağımıza göre (yoksa şifrede altı adet 2, 3, 4 ya da 5 olması gerekecek ve bunu on basamakla yapmak mümkün değil) yine ikinci basamakla denemeye devam edelim.

_ 6 _ _ _ _ 1 0 0 0

Şimdi belirlenmemiş beş basamak var ve altı tane 1 kullanmamız lazım. Demek ki hepsi 1 olmalı ama bu da mümkün değil, ilk basamak en az 3 olmalı (şimdiden üç tane 0 var). O zaman 6 rakamını ilk basamakta deneyelim.

6 _ _ _ _ _ 1 0 0 0

Yine beş rakam bulmamız lazım ve bunların üç tanesi 0 olmalı. Hangi üçünün 0 olduğunu görmek kolay. Üçüncü, dördüncü ya da beşinci basamakta 0 haricindeki herhangi bir rakam için yeterli boş basamağımız olmadığından bu basamakları 0 yapalım.

6 _ _ 0 0 0 1 0 0 0

Şimdiye kadar bir tane 1 kullandık ama ikinci basamağa 1 yazarsak iki tane 1 kullanmış olacağız. Demek ki ikinci basamağa en az 2 yazmamız lazım.

6 2 _ 0 0 0 1 0 0 0

Şifrede bir tane 2 kullandık, o zaman üçüncü basamak da 1 olmalı.

6 2 1 0 0 0 1 0 0 0

Basamakları kontrol edersek bu şifrenin sorudaki şartları sağladığını görürüz.

İkinci çözüm biraz uzunmuş gibi görünse de birinci çözüme göre ihtimalleri daha iyi elemekte. Bu yöntem sona kadar devam ettirilerek başka çözüm olup olmadığı da daha kolay görülebilir bence.