Sudoku çözen herkes er ya da geç aynı duvara toslar: tekli adaylar bitmiştir, ikililer ve üçlüler bir şey kazandırmaz, ama tabloda hâlâ onlarca boş hücre vardır. Zor bulmacaların çoğu bu noktada balık (fish) adı verilen bir teknik ailesiyle açılır. En sık karşılaşacağınız ikisi X-Wing ve Swordfish'tir. Şemalarda göz korkutucu görünseler de aslında kendi gözünüzle kontrol edebileceğiniz tek bir basit fikre dayanırlar. Bu yazıda o fikri açıklıyor, gerçek bir tabloda balıkları nasıl arayacağınızı gösteriyor ve örnekleri adım adım inceliyoruz.
Yazıdaki gösterim
Hücreleri rXcY biçiminde adlandırıyoruz: r satırı (row; yukarıdan aşağı 1-9), c sütunu (column; soldan sağa 1-9) gösterir. Yani r4c7, 4. satır ile 7. sütunun kesiştiği hücredir. Aday ise karalama notlarınıza göre bir hücreye hâlâ girebilecek rakamdır. Balık teknikleri yalnızca incelediğiniz rakamın adayları eksiksiz ve doğru işaretlenmişse işe yarar.
Temel fikir: taban kümeleri ve örtü kümeleri
Her balık iki grup çizgiden oluşur ve her zaman tek bir rakamla ilgilidir:
- Taban kümeleri (base sets): Rakamın nereye gidebileceğine baktığınız çizgiler (satırlar ya da sütunlar).
- Örtü kümeleri (cover sets): Diğer yöndeki, bu olası konumların tamamını içine alan çizgiler.
Kural şudur: Bir rakam N satırda yalnızca aynı N sütunun içinde yer alabiliyorsa, bu N satır o rakamı N sütunun hepsinde "tüketir". O sütunların geri kalan bütün hücrelerinden bu aday silinebilir.
Peki bu neden geçerli? Her taban satırında rakam tam bir kez bulunmak zorundadır; dolayısıyla N satır, rakamın N kopyasını üretir. Bu kopyaların hepsi N örtü sütununa düşer ve hiçbir sütun aynı rakamı iki kez alamaz. Yani her örtü sütunu kendine düşen tek kopyayı bir taban satırından alır; o sütunlarda rakama başka yer kalmaz. Hangi yerleşimin doğru olduğunu bilmenize gerek yoktur: Olası her yerleşim aynı elemeye götürür.
X-Wing: iki çizgili balık
X-Wing iki taban çizgisi ve iki örtü çizgisi kullanır.
Satır tabanlı X-Wing örneği
5 rakamına odaklandığınızı ve şunu bulduğunuzu düşünün:
- 2. satırda 5 yalnızca r2c3 ya da r2c7 hücresine girebiliyor.
- 6. satırda 5 yalnızca r6c3 ya da r6c7 hücresine girebiliyor.
Bu dört hücre bir dikdörtgenin köşeleridir. 5'leri yerleştirmenin yalnızca iki yolu var: ya r2c3 ile r6c7 ya da r2c7 ile r6c3 (iki köşegen; adındaki "X" buradan gelir). Her iki durumda da 3. sütun 5'ini 2. ya da 6. satırdan alır, 7. sütun da diğerini. Bu yüzden 3. ve 7. sütunların diğer bütün hücrelerinden 5 adayı silinebilir. Örneğin r4c3, r9c3 ve r8c7'de 5 adayı varsa, üçü de elenir.
Sütun tabanlı X-Wing örneği
Aynı mantık yönler değiştirildiğinde de çalışır. Diyelim ki 4 rakamı 1. sütunda yalnızca r3c1 ve r8c1'de, 5. sütunda ise yalnızca r3c5 ve r8c5'te olabiliyor. Bu kez sütunlar taban, 3. ve 8. satırlar örtü kümesidir. 4 adayı 3. ve 8. satırların diğer tüm hücrelerinden, örneğin r3c9 ya da r8c2'den silinebilir.
Unutmayın: Deseni taban çizgilerinde ararsınız, adayları ise örtü çizgilerinden silersiniz. Bu ikisini karıştırmak en sık yapılan balık hatasıdır.
Swordfish: aynı fikir, üç çizgiyle
Swordfish, X-Wing'in üç satır ve üç sütuna genişletilmiş hâlidir. Pek çok oyuncunun gözden kaçırdığı önemli ayrıntı şu: Bir taban satırının üç örtü sütununun hepsini içermesi gerekmez. En az iki adayı olması (tek adaylı satır zaten gizli tekli demektir) ve tüm adaylarının üç örtü sütununun içinde kalması yeterlidir.
Adım adım Swordfish örneği
7 rakamını ve şu aday konumlarını ele alalım:
| Taban satırı | 7 alabilen hücreler | Kullanılan sütunlar |
|---|---|---|
| 1. satır | r1c2, r1c6 | 2, 6 |
| 4. satır | r4c2, r4c9 | 2, 9 |
| 8. satır | r8c2, r8c6, r8c9 | 2, 6, 9 |
1., 4. ve 8. satırların her birine bir 7 gerekiyor ve olası tüm yerler 2., 6. ve 9. sütunlarda. Üç satır üç tane 7 üretir; bunlar üç farklı sütunda olmak zorundadır, dolayısıyla 2., 6. ve 9. sütunların her biri 7'sini bu satırlardan birinden alır. Sonuç: 7 adayı 2., 6. ve 9. sütunların diğer bütün hücrelerinden silinebilir. r3c6, r6c9 ve r9c2'de 7 adayı varsa hepsi gider.
Bunun "2-2-3" bir desen olduğuna dikkat edin. "2-2-2" desenler de geçerlidir: Örneğin bir satırda 2. ve 6. sütun, diğerinde 6. ve 9. sütun, üçüncüsünde 2. ve 9. sütun. Hiçbir satır üç sütunu birden göstermediği için en zor fark edilen Swordfish'ler bunlardır.
X-Wing'de olduğu gibi sütun tabanlı Swordfish de vardır: Bir rakamın adayları üç sütunda yalnızca üç satıra dağılıyorsa, eleme o üç satırda yapılır.
Jellyfish ve neden orada duruyoruz
Jellyfish aynı mantığı dört satır ve dört sütuna uygular; pratikte nadir görülür. Daha büyük balıklara gerek yoktur: Bir yönde beş ya da daha fazla çizgili bir balık varsa, diğer yönde aynı elemeleri yapan daha küçük bir balık da mutlaka vardır. Yani X-Wing, Swordfish ve Jellyfish bu ailenin sunduğu her şeyi kapsar.
| Balık | Taban çizgisi | Örtü çizgisi | Ne sıklıkla gerekir |
|---|---|---|---|
| X-Wing | 2 | 2 | Zor bulmacalarda sık |
| Swordfish | 3 | 3 | Zor ve uzman bulmacalarda ara sıra |
| Jellyfish | 4 | 4 | Nadir |
Balıkları adım adım nasıl ararsınız?
- Tek bir rakam seçin. Bütün adaylara aynı anda bakarsanız balıklar görünmez olur. Birçok uygulama tek bir rakamın adaylarını vurgulayabilir; yoksa bilinçli olarak yalnızca o rakamı tarayın.
- Rakamın yalnızca 2 ya da 3 adayı olan satırları listeleyin. Sütun numaralarını not edin, örneğin "1. satır: 2, 6".
- Eşleşme arayın. Aynı iki sütuna sahip iki satır X-Wing oluşturur. Sütunları toplamda yalnızca üç farklı sütun kullanan üç satır Swordfish oluşturur.
- Elenecek aday olup olmadığını kontrol edin. Örtü sütunlarında o rakamın başka adayı yoksa kusursuz bir desen bile işe yaramaz.
- Aynısını sütunlarla tekrarlayın, ardından sıradaki rakama geçin.
Kulağa yavaş geliyor ama alıştıkça her rakam için kısa sütun listesi çıkarmak ve karşılaştırmak hızlanır.
Sık yapılan hatalar
- Yanlış çizgide eleme yapmak. Satır tabanlı bir balıkta adaylar örtü sütunlarından silinir; taban satırlarına dokunulmaz.
- Kaçak bir aday. Taban satırlarından birinde rakam örtü kümesi dışındaki bir sütunda da olabiliyorsa desen bozulur. Taban çizgilerindeki her aday örtü çizgilerinin içinde olmalıdır.
- Swordfish'in her satırında üç hücre aramak. Yukarıda görüldüğü gibi satır başına iki aday yeterlidir.
- Eksik karalama notları. Bir adayı işaretlemeyi unuttuysanız var olmayan bir balık "görüp" geçersiz bir eleme yapabilirsiniz.
- Rakamları karıştırmak. Bir balığın bütün hücreleri aynı rakamla ilgili olmalıdır.
Balıklar zorluk ölçeğinde nerede?
Yaygın olarak kullanılan Sudoku Explainer (SE) puanlamasında X-Wing yaklaşık 3.2, Swordfish ise yaklaşık 3.8 değerindedir; yani ikililer ve üçlülerin üstünde, zincir tekniklerinin ise epey altında. Bir bulmacanın bu tür teknikler gerektirip gerektirmediğini merak ediyorsanız SE Rating hesaplayıcımızla puanını kontrol edebilirsiniz.
Sonuç
Balık teknikleri tek bir rakam ve tek bir sayma mantığından ibarettir: N çizgi, N konum ve başka hiçbir şeye yer kalmaması. Önce düzenli olarak karşınıza çıkan X-Wing'leri avlamaya başlayın, ardından gözünüzü iki adaylı satırlar içeren Swordfish'lere alıştırın. Bunu otomatik hâle getirmenin en iyi yolu pratik yapmaktır: Sudoku sayfamızda zor ya da uzman seviyesinde bir bulmaca açın veya bugünün Günlük Sudoku'sunu deneyin ve her seferinde tek bir rakama odaklanın.