ChatGPT ile deneyler

Bilim tarihiyle azıcık ilgilenen herkes deney tasarlamanın ne kadar zor olduğunu bilir. Bundan daha da zor olanı bu deneyin sonuçlarını yorumlamak olabilir.

Benim de herkes gibi kafamda bir ChatGPT tasviri var. Internetteki bilgileri bir şekilde harmanlamış ve bunları iyi cümlelerle paketleyip sunan bir yardımcı. Yalnız kendisiyle yazışırken arada kendimi onunla tartışırken bulduğum da çok oldu. Demek ki içten içe onu düşünen bir varlık olarak da hayal etmek istiyorum. Öyle olmadığını bilsem de. Düşünmenin tanımı ya da sınırları bizim için de çok zor olmalı ama, bu durumda hiç düşünemiyor da diyemem heralde.

Bugün şirketteki işlerim biraz iyi gidince dinlenmek için onunla bir deney yapayım dedim. Standard sorulara çok iyi cevaplar verdiğini biliyordum. Daha geçenlerde yazdığım bir oyun programı için bir algoritma sormuştum ve önerdiği şeyi programlayıp çalıştırınca istediğim gibi çalıştığını görmüştüm. Sorduğum şey de standard bir algoritmaydı ama bu durumda iyi bir yardımcı olduğunu inkar edemem şimdi.

Deney için bilinen bir bilmeceyi aldım ve parametreleri biraz değiştirdim. Böylece sorunun şekli ve çözüm algoritması dışında tam bu sorunun çözümüyle eğitilmiş olamayacaktı. Acaba bu çözüm yolunu bu yeni parametrelere uydurabilecek miydi? Ya da en azından deneyecek miydi?

Şimdi yazışmamıza bir bakalım:

Sorduğum soruyu doğru anladığını düşünüyorum. Yani anlamaktan kastım, kurallarını çözdü ve eğitildiği verilerdeki bazı yöntemlerle benzerlikler bulabildi. Kullandığı algoritmanın sonuçlarını yanlış buldu ama. Bunun çok değişik nedenleri olabilir. Mesela soruyu çözmekten çok giriş, gelişme ve sonuç kısımları olan kısa bir yazı yazma eğilimi olması nedeniyle hemen ilk bir iki sonucu genellemiş olabilir.

Burada ikili arama yöntemini kullanarak bir sonuç buluyor ama tabii ki soruda istenen en iyi çözüm değil bu. Bunu da aramıyor. Yine de bu çözüm denemesi hiç de fena değildi. Çözümleri sonuna kadar getirmediğinden yaptığı çıkarımlar da haliyle hatalı oluyor. Bunun nedenlerini bilemiyorum ama.

Buradaki cevabın ilk paragrafında soruyu çözdü heralde dedim. Cevap doğruydu, ilk adım da doğru ama ondan sonra mantığı uygulamayı beceremedi. Becerememekten de öte, sonraki adımlarda iyice saçmalamaya başladı. Acaba soruyla ilgili bazı şeyleri yanlış mı anladı, yoksa göz ardı etmeye mi başladı bilemiyorum ama beklediğim çözümden birden uzaklaşmaya başladık.

Neyse ki, adımları tek tek deneyince daha iyi bir sonuç bulabildik.

Bu sefer bir önceki çözümde kullandığı yöntemlerin birini (katların artırma kuralını) genellerken diğerini (başlangıç katının önemi) tamamen unuttu. Bunun yanında problemi de iyice unuttu. Birden binaya yeni katlar eklemeye başladı. Binanın kat sayısını hatırlattığımda ise diğer yöntemleri de iyice unuttu ama kafasındaki çözüme uymayan sayıları güzel cümlelerle pazarlamaya kalktı.

Bu kısımda ise daha önceki kısımlarda katettiğimiz her aşamayı kaybettik gibi gözükse de çözümle ilgili bir pırıltıya dikkat çekmek istiyorum. Başlangıç katı olarak 4. katı seçti ve sonra önce 3 sonra iki kat artırdı. Bunlar yanlıs sayılar olsa da doğru çözüm için gerekli mantığa ulaştık. Tabii program bunu mantık olarak gördü mü yoksa sadece bir sürü parametreden birinin rastlantısal bir etkisi miydi bilemiyorum.

Tam belki de doğru yoldayız diye düşünüyordum ki, yine ikili arama yönteminin ününe aldanıp çözümden iyice uzaklaştı.

Son kısımda da demin dediğim şeyi onaylar gibiydi. İkili arama birçok sınırsız sayıda yumurtamız olsa en iyi arama performansını verebilir ama bu problemde sadece iki yumurtamız var. Bu tür mantık yürütmesini beklemiyordum tabii ki ama eğer biraz mantık yürütüyorsa bunu arka arkaya tekrarlayabilir belki diye umuyordum. Yanılıyormuşum. En sonunda ilginç olmayan bir şekilde insani bir tepki verdi ve soruyu çözemeyince çoğunlukla işe yarayacak bir şey önerdi. Bu tür çözümler problemden sıkılan, daha fazla arama yapmak istemeyen insanların en sık başvurduğu çözümler oluyor. Bütün parçaları tek tek bulmuş olsa da hepsini birleştirerek 6 denemelik çözümü yine de bulamadı.

Bu durumda düşünemiyor diyebilir miyim? Çok genel anlamda düşünüyor olabilir ama bizim soyutlama, genelleme yeteneğimizden tabii ki hala çok uzak. Ayrıca bu ChatGPT programının böyle bir amacı var mıydı onu bile bilmiyorum.

Şapka stratejisi (Çözüm)

Soru:

Bu tür sorular ilk bakışta bana da bir çok insana olduğu gibi imkansız gelir. Bu nedenle önce bu engeli aşmak için basit versiyonlarını çözemeye çalışırım. Eğer bu basit durum çözümleri bazen çözüm için genellenebilir ya da ispat için fikir de verebilir.

Bu nedenle önce soruyu iki kişilik bir grup için çözmeye çalıştım. Kırmızı şapkayı K, mavi şapkayı M ile gösterirsem iki kişilik bir grup için olası şapka dizilimleri KK, KM, MK ve MM olacaktır. Dizilimler simetrik olduğundan herhangi biriyle başlayabilirim diye düşündüm. Ayrıca hislerime göre ilk başladığım dizilimi herkesin doğru mu yoksa herkesin yanlış mı tahmin etmesi gerektiği de çok önemli değildi. O zaman KK dizilimi için herkesin doğru tahmin yapması gerektiğini varsaydım. Bu iki kişi de kendi başlarındaki şapkaları görmeyecek ama bu dizilim olduğu zaman ikisinin de K demelerini istiyorsak, şöyle basit bir kural tanımlayabiliriz.

1. K gören kişi kendi şapkası için K tahmininde bulunur.

O zaman gerçek durumda kafalarında KK şeklinde şapkalar varsa tahminleri de KK olacaktır ve oyunu kazanacaklar. Tabii ki oyuncuların her biri kendi kafasındaki şapkayı görmediğinden KM ya da MK dizilimleri için başka bir kural daha tanımlamak gerekecek. K gören kişi K diyeceğine göre cevabı yanlış olacak, çünkü K gören kişinin kafaşında bu dizilimlerde M olacaktır. İlk kuralı iptal etme şansımız olmadığına göre bu dizilimlerde bütün oyuncuların yanlış tahmin yapması gerekecek ve bunu garantilemek için aşağıdaki kurala ihtiyacımız olacak.

2. M gören kişi kendi şapkası için M tahmininde bulunur.

Bu iki kuralı kullanırsak MK diziliminde tahminler KM, KM diziliminde ise MK olacak. Yani bütün grup tamamen yanlış tahminler yaparak oyunu yine kazanacak.

Şimdi görülebilen şapkalar ile yapılabilecek bütün tahminleri kurallara bağladığımıza göre son dizilimin bu kurallara uygun bir şekilde oyunu kazandırıp kazandırmadığına bakalım.

MM diziliminde her oyuncu M göreceğinden ikinci kurala göre kendi şapkaları için M tahmininde bulunacaklar, yani grubun tahmini MM olacak ve bu da doğru cevap olduğundan oyunu kazanacaklar.

İki kişilik grup için çözüm çok basitti. Duruma biraz daha ısınabilmek için üç kişilik bir grup için de çözümü denedim. Bu sefer de aynı sırayı izledim. KKK dizilimi için doğru tahmin olan KKK cevabını üretmek için ilk kuralı tanımladım.

1. KK gören kişi kendi şapkası için K tahmininde bulunur.

İkinci adım olarak da KK gören ama kendi başında K yerine M olan kişinin dizilimine baktım. Bu durumda başında M olan birinci kurala göre yanlış tahminde bulunacağından diğerleri de yanlış tahminde bulunmak zorunda. Bunun çözümü de ikinci kuralda.

2. MK gören kişi kendi şapkası için M tahmininde bulunur.

Böylece MKK diziliminde tahminler KMM olacak, yani herkes yanlış tahminlerde bulunacak. Bir sonraki adım da MMK dizilimi olmalı. Elimizde MK gören kişi için kural olduğuna göre bu kuraldan MM gören kişi kuralına geçiş de kolay olacaktır. MMK dizilimindeki iki M de MK gördüğünden ikisi de M tahmininde bulunacak. Yani kafasında K olan da doğru tahmin yaparsa kazanacaklar. Bu durumda yeni kuralımız aşağıdaki gibi olmalı.

3. MM gören kişi kendi şapkası için K tahmininde bulunur.

Dizilimlerin kendi içindeki sıralamalarını göz ardı edersek (yani KM ve MK görmek aynı şeyler ise) o zaman bütün kuralları bulmuş olmam gerekiyor. Bu kurallar ile MMM dizilimini test edersek de oyuncuların KKK tahmini yapması gerekiyor. Herkes yanlış tahmin yaptığından grup oyunu yine kazandı. Aşağıda üç kişilik grup için çözümü bir tabloda sunuyorum.

[table id=67 /]

Hazır işe yarayabilecek bir şey bulmuşken dört oyuncu ile de deneyeyim dedim. Bunun için kyukarıdaki adımları uyguladım. Görmek istediğim şey biraz da kuralların sadece çoğunluğa mı yoksa sayısal değerlere mi bağlı olduğuydu. Yani KKK ile KKM görmek aynı tahmine mi yol açacaktı? Neyse yukarıdaki yöntemi adım adım uyguladım ve şu dört kuralı buldum. Bu kuralları kullanarak da aşağıdaki tabloyu elde ettim.

1. KKK gören kişi kendi şapkası için K tahmininde bulunur
2. KKM gören kişi kendi şapkası için M tahmininde bulunur
3. KMM gören kişi kendi şapkası için K tahmininde bulunur
4. MMM gören kişi kendi şapkası için M tahmininde bulunur

[table id=68 /]

Dört kişilik oyunda anladığım şey kuralların sadece basit bir çoğunluk kararı olmadığıydı, çünkü KKK görme ile KKM görme farklı renk tahminlerini gerektiriyordu.

Bu noktada hala bir ispattan uzağım ama şimdiden tekrar eden düzenli örnekler bulduğumu düşünüyorum. Örneğin kişinin gördüğü M sayısı tek sayı ise, kendi şapkası için M tahmininde bulunmalı ve eğer M sayısı çift ise bu sefer K tahmininde bulunmalı. Daha büyük oyuncu sayılarıyla bu düzeni kontrol etmek için açıkçası biraz tembelim. Bunun yerine ortaya attığım bu tezi ispatlamayı deneyebilirim.

N tane oyuncu olduğunu var sayayım. Bu oyuncuları 1 ve N-1 kişilik iki gruba ayırayım ve pozisyonu bir kişilik grup açısından düşüneyim. Var sayalım çift sayıda M görüyorum. O zaman ortaya attığım kurala göre göre K demem lazım. Eğer başımda K varsa bu doğru bir tahmin olacağından diğer herkesin de doğru tahminde bulunması gerekecek. Bakalım bu kuralla diğerleri de doğru tahminde bulunacak mı? Diğer gruptaki bütün K şapkalı oyuncular da benim gibi çift sayıda M göreceğinden hepsi de K diyecek. Demek ki K şapkalı herkes doğru tahminde bulunuyor. M şapkalılara bakayım bir de. M şapkalı herhangi biri tek sayıda M şapka görecektir, çünkü toplamda çift sayıda M şapka var ve kendisini çıkarınca tek sayıda kalır. Tek sayıda M gören de kurala göre M diyeceğinden M şapkalıların da hepsi M tahmininde bulunacak. Demek ki bu durum için kural oldukça güzel çalışıyor.

Şimdi yine çift sayıda M gördüğüm durumda kafamda M olduğunu var sayayım. Kurala göre K demem gerekecek. Bu tahminim yanlış olacağından oyunu kazanmak için herkesin yanlış tahminde bulunması gerekecek. Şimdi bunu kontrol edeyim. Benim başımda M varsa ve ben çift sayıda M görüyorsam o zaman toplamda tek sayıda M şapka vardır. Demek ki bütün K şapkalı oyuncular tek sayıda M görecek ve kurala göre hepsi M demek zorunda olduğundan hepsi de yanlış tahminde bulunacak. Buraya kadar çok güzel. M şapkalı bir oyuncu da bu sefer çift sayıda M göreceğinden kurala göre K tahmininde bulunacak. Yani M şapkalı herkes de yanlış tahminde bulunacak. Böylece oyunu yine kazanmış oluyoruz.

Grupta tek sayıda M gördüğüm durumda başımda K varsa kuralı uyguladığımızda herkesin yanlış tahmin yapacağını ve eğer başımda M varsa herkesin doğru tahmin yapacağını okuyuculara alıştırma olarak bırakıyorum.

Demek ki gerçekten de oyunu kazanmak için bu kural yeterliymiş:

Kural: Çift sayıda M gören K tahmininde bulunacak, tek sayıda M gören de M tahmininde bulunacak.

Kralın vezirleri (Çözüm)

Soru

Aslında olayın satranç tahtasında filan geçmesine gerek yoktu. 64 kare olsun gerisi önemli değil. 64 karenin her birinde ya bir taş olabilir ya da boştur. Demek ki \(2^{64}\) başlangıç pozisyonumuz var. Kral bunların herhangi birini başlangıçta istediği gibi ya da rastgele dizebilir.

Olası her taş dizilimi tabii ki seçilmiş bir kareye karşılık geliyor, çünkü ikinci vezir tahtayı gördüğünde üzerinde böyle bir pozisyon olacak ve kendisi bu taş diziliminden doğru kareyi bulacak. Tabii bu taş diziliminden doğru kareyi bulma yöntemi kolay bir işlem olmalı, yoksa olası taş dizilimleri sayısı akıldı tutulabilecek bir küme değil.

Birinci vezir de olası bir taş diziliminden bu kare numarasına gidecek pozisyona tek bir değişiklikle gidebilecek bir yöntem bulmalı.

Eğer benim bu soruyla gereksiz boğuşmalarım yerine doğrudan cevaba geçmek istiyorsanız doğrudan çözüm bölümüne atlayabilirsiniz.

Bilmeceyi önce küçük sayıda kareli tahtalar için çözmeye çalıştım. Üç kare için çözüm bulmak kolaydı. Kareleri ikili düzende göstereceğim. Eğer karede taş varsa değeri 1, boş ise 0 olacak. Bu şekilde deneme yanılmayla aşağıdaki gibi bir çözüme ulaşmak kolay.

  1. kare anlamına gelen dizilimler: 000, 001, 110
  2. kare anlamına gelen dizilimler: 010, 101
  3. kare anlamına gelen dizilimler: 100, 011, 111

Herhangi bir pozisyondan bir başka pozisyon grubuna tek hamlede gidildiğini de deneyerek gösterdim:

[table id=17 /]

Bu tablodan da görüldüğü gibi bazı durumlarda birinci vezirin bir hamlesi yok ama bilmecenin birinci versiyonu için kurallara uygun olduğundan sorun değil diye düşündüm. Bundan sonra henüz bir düzen göremediğimden bir sonraki büyüklüğe geçtim ve 2×2 tahta için soruyu çözmeye başladım. Aslında dikkat edersek tahtanın 2×2 olması ya da 4×1 olması arasında bir fark yok. Önemli olan toplam dört kare olması.

Bu sefer tabii ki pozisyonların hangi karelere karşılık geldiğini bulmam üç karede olduğu kadar çabuk olmadı. Ne de olsa dağıtmam gereken pozisyon sayısı ufak bir büyümeye rağmen üstsel olarak artmaktaydı. Bunun için bu dağıtım aşamasında bazı ekstra kurallar bulmam gerektiğini düşündüm. İlk önce olası pozisyonları listeledim.

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

16 değişik pozisyon beni bekliyordu. Bu aşamada düşünebildiğim ilk kural şöyle bir taneydi. Bir dizilim sadece bir kare anlamına geliyordu, örneğin 0001 diziliminin 1. kare anlamına gelmesi gibi. Dolayısıyla bu pozisyondan diğer karelerin anlamlarına geçişler olmalıydı ve bu geçişlerin de sadece tek bir bit değişikliğiyle (yani sadece bir kareye taş koyarak ya da sadece bir kareden bir taş alarak) mümkün olması gerekiyordu. Ayrıca 4 kareden oluşan problem için herhangi bir dizilimden mesafesi 1 olan dönüşümler de tam 4 taneydi. Örneğin:

0000 başlangıç pozisyonu ise, bir bit değişikliğiyle elde edebileceğimiz 
farklı pozisyonlar 0001, 0010, 0100 ve 1000 olmak üzere 4 adettir.

Bunun üzerine her dizilim için 1 uzaklıkta olan dizilimleri işaretlemeye başladım. İşaretlemeleri azaltabilmek için yukarıda sırayla yazdığım ikilik düzendeki sayıları bu sefer Gray kodlama ile yazdım. Bu kodlamanın özelliği komşu iki sayı arasında her zaman 1 bir fark olmasıdır.

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

Bu listede de orijinal listedeki aynı sayılar var. Sadece sıralaması farklı. Dikkat edilirse listedeki son sayı ile ilk sayı arasındaki mesafe de 1 bit. Sonra sırayla her sayıyı aralarındaki mesafe 1 olan diğer sayılarla birleştirmeye başladım. Biraz karışık bir şekil çıkıyor ama bu büyüklükteki bir problem için kabul edilebilir bir durum bence. Burada bu problemin çizge teorisiyle bir ilişkisinin olabileceğini düşündüm ama o derinliklere girmeye gerek yok diye düşündüm.

Ondan sonra pozisyonları işaretlemeye başladım, yani hangi pozisyonun hangi kareye karşılık geldiğini. Sadece tek bir taşın bulunduğu pozisyonları kolaylık olsun diye o karenin numarasıyla eşleştirdim. Yani 0001 dizilimi 1. kare ile, 0010 dizilimi 2. kare ile, 0100 dizilimi 3. kare ile ve 1000 dizilimi de 3. kareye karşılık geldi. Bu eşleştirme 3 kare için olan çözümle de uyuşuyordu. Bağlantılarla beraber işlerin kolay olacağını düşünmüştüm ama ilk zorluk hemen ortaya çıktı. Bazı dizilimler için birden fazla aday vardı. Basitçe bir programla bu atamalar kolayca yapılabilirdi ama problem üzerine düşünme fırsatını da kaçırmayayım diye elle devam ettim. Bu arada bana yardımcı olacak başka kurallar da arıyordum. Bulabildiğim başka bir kural da şuydu:

Aynı kareye karşılık gelen iki dizilim arasındaki bit farkı iki olamaz.

Örneğin 0000 ve 0101 dizilimlerinin ikisi de 2 karesine karşılık gelsin. Bu iki dizilime de aynı mesafede olan başka bir dizilim olarak 0100 dizilimini alalım. Bu da başka bir kareye karşılık gelecektir. Her bir pozisyondan kendi karesinin de dahil olduğu dört değişik kareye tek hamlede gidebilmek gerekiyor, aslında üç başka kare yeterli ama problemin ikinci kısmına göre dördünü de düşünmeye başladım. Eğer her dizilim için sadece dört tane 1 mesafe uzaklıkta dizilim varsa ve bunların ikisi aynı kareye ait ise, bu pozisyondan en fazla 3 değişik kareye ulaşılabilir.

Bu yardımcı kuralı da kullanınca 4 kare için çözümlerden birini deneme yanılmayla da olsa kolayca bulabildim. Çözümleri bulabilmeme rağmen hala bir kural ya da genelleme bulamamıştım. Ayrıca beni daha da düşündüren şey ikinci vezirin durumuydu. 64 kare için çok fazla pozisyon olacağından doğru kareyi söylemesi için basit bir kural kullanması gerekiyordu.

Çözüm

Sonunda bu grupları deneme yanılma yerine basit bir işlemle bulan yöntemlere baktım. Bu yöntemlerden bir tanesi şöyle:

Elimizdeki kareleri 0’dan 63’e kadar numaralandıralım. Şimdi herhangi bir pozisyonun karşılık geldiği kareyi bulmak için şu işlemi yapalım. Üzerinde taş olan her karenin numarasını ikilik düzende alt alta yazıp bu sayıları toplayalım. Toplama işlemini yaparken eldeleri göz ardı edeceğiz. Buna xor işlemi denilmektedir. Bu işlemin güzel tarafı toplamanın da çıkarmanın da aynı işlemle yapılması. O zaman ikinci vezirin yapacağı işlem iyice kolaylaşacak. Bu yöntem ayrıca birinci vezirin de gruplara ayırmadan biraz daha uzun ama kolay bir işlem yapmasını sağlayacak.

Birinci vezir kralın hazırladığı pozisyon için bu toplamı hesaplar. Ardından kralın gösterdiği kareye bakar ve aynı işlemin bu sonucu vereceği bir işlem planlar. Bir örnekle bu işlemlere bir bakalım:

Başlangıçtaki pozisyonda 3., 7., 17. ve 24. karelerde taşlar olsun. Kral da 25. kareyi göstermiş olsun. Birinci vezir ilk önce şu işlemi yapacak

\(000011\oplus{000111\oplus{010001\oplus{011000}}}=001101=13 \)

İkinci vezirin hesaplaması gereken toplam ise 25 olduğundan birinci vezir hangi sayı ile 13 sayısının xor toplamının 25 olduğunu hesaplar. Bu da 20’dir. Yani birinci vezir 20. karede taş varsa alır, yoksa oraya taş koyar. Şimdi o işlemi hesaplayıp bunun işe yarayıp yaramadığını kontrol edelim.

\(000011\oplus{000111\oplus{010001\oplus{011000\oplus{010100}}}}=011001=25 \)

Bu durum için bu yöntem çalıştı ama acaba her durum için bir çözüm olacak mı? İlk önce ilk pozisyonun ürettiği toplamla kralın seçtiği karenin aynı olması durumunda ne olacağına kısaca bir bakalım. Bu durumda birinci vezir hamlesinde sıfırıncı karedeki taşı alacaktır ya da o kareye taş koyacaktır. Sıfırıncı karede taş olsa da olmasa da xor toplamına katkısı sıfırdır ama bu esneklik çok güzel bir problemi de çözüyor. Problemin ikinci varyantı bu şekilde her zaman çözülebiliyor, çünkü her pozisyonun sıfırıncı karenin değişik olduğu ikizi de aynı kareye karşılık geliyor ve kral bu kareyi seçse bile birinci vezirin her zaman yapacak bir hamlesi oluyor.

Diğer durumlarda da 0 ile 63 arasındaki bir sayıyla toplandığında (xor) 0 ile 63 arasındaki bütün sayıları verecek bir kare numarası her zaman bulunacaktır. En azından 64 kare için. Bunun ispatını şimdilik bu yazıda vermeyeceğim. İleride belki bunun için ayrı bir yazı yazarım, referans veririm ya da belki bu yazıya ek yaparım.

 

Eksik sayı (2) Çözüm

Gece Meraklı Karga tuvalete kaltığında Bilge Karga’nın hala uyumamış olduğunu gördü.

MK: Yine yatmamışsın baba?

BK: Yeni gelen kuş orman kuşlarının kafasını iyice karıştırmış, onu çözmeye çalışıyorum.

MK: Bu o kadar zor değil aslında ama yine de merak ettim. Nasıl yapmış?

Bilge Karga kuşlarla arasında geçen konuşmayı anlatmış.

MK: Geçen seferki gibi başlasak olmaz mı? Yani söylenen bütün sayıları topluyordur ve olması gereken toplamdan çıkarıp farkına bakıyordur.

BK: Böyle yaparsa sadece fazladan sayı ile eksik sayı arasındaki farkı bulabilir. Bu bilgi çözüme yetmez.

MK: Doğru ama dediğim gibi bunu başlangıç olarak yapalım. 1’den N sayısına kadar sayılarla oynadığımızı düşünelim. Bu sayıların toplamı da \(1+2+3+\dots+N=\frac{N(N+1)}{2} \) formülüyle bulunur. Şimdi fazladan kullanılan sayıya a, eksik olana da b diyelim. O zaman bize söylenen sayıları toplarsak \(\frac{N(N+1)}{2} + a – b \) toplamını buluruz. Eğer bütün sayılar bir kere söylenseydi elde edeceğimiz toplamdan \(b-a \) kadar daha az olacak. Senin de dediğin gibi bu fark için iki bilinmeyenimiz var, dolayısıyla birden fazla çözüm olacak ama bu yeni kuş bu sayıları bulabiliyor. Sayıları da tek tek yazmadığını biliyoruz.

BK: Dedim işte, bu çözüm işe yaramıyor.

MK: Peki baba, şimdi de bu sayıları toplarken aynı zamanda bu sayılarla başka bir işlem daha yapalım.

BK: Nasıl yani?

MK: Örneğin her sayının karesini de alıp ayrı bir toplam elde edelim. 1’den N’ye kadar sayıların karelerinin toplamının ne olması gerektiğini de biliyoruz. \(1^2 + 2^2 + 3^2 +\dots + N^2=\frac{N(N+1)(2N+1)}{6} \). Bize söylenen sayıları topladığımızda ise şu toplamı elde edeceğiz: \(\frac{N(N+1)(2N+1)}{6} + a^2 – b^2 \). Yani olması gereken toplamdan elde ettiğimiz toplamı çıkarırsak \(b^2 – a^2 \) farkını buluruz. Şimdi elimizde iki denklem var ve hala bulmamız gereken iki sayı var.

BK: Hey, ne yapmaya çalıştığını anladım. Bu ikinci farkı birinci farka bölersek \(\frac{b^2-a^2}{b-a}=b+a \) çıkar.

MK: Doğru ama bölme işlemi yaparken dikkat etmek lazım. Eğer \(b-a=0\) bölme işlemini yapamayız.

BK: Aradaki fark sıfır ise kurallara uymamış demektir ama bunu zaten ilk toplamdan anlayabiliriz. Neyse, sonuçta elimizde aradığımız iki sayının farkları ve toplamları var. Bu sayıları bulmak da kolay artık.

MK: Evet, fark ve toplamı toplayıp ikiye bölersek birini buluruz. Sonrası da kolay. Örneğin \(b-a=3 \) \(b + a =19 \) ise bu iki eşitliği toplarsak \(b-a+b+a=3+19 \) yani \(2a=22 \) çıkar. Buradan da fazladan kullanılmış sayıyı \(a=11 \) şeklinde buluruz. Bu sayıyı da toplamlar eşitliğinde yerine koyarsak \(b+11=19 \) ve buradan da eksik olan sayıyı \(b=19-11=8 \) şeklinde buluruz. Bunu yarın kuşlara anlat da korkmayı bıraksınlar artık. Ben de yatmaya gideyim. Bence sen de yat artık baba.

BK: İyi fikir. İyi geceler.

MK: İyi geceler.