Kayan bulmacaları elle çözmenin tek bir yöntemi vardır. Tahta boyutuna bağlı değildir. 3×3 için öğrendiğinizde, 4×4, 5×5, 6×6 ve karşınıza çıkacak her büyük boyut için de öğrenmiş olursunuz. İşte o yöntem.
Plan
N×N bir bulmaca için:
- 1. satırı çözün — 1, 2, …, N taşlarını üst satıra yerleştirin.
- 1. sütunu çözün — N+1, 2N+1, … taşlarını 1. satırın altındaki ilk sütuna yerleştirin.
- Artık elinizde (N−1)×(N−1) bir bulmaca var. Aynısını tekrarlayın.
- Temel durum — 2×2'ye ulaştığınızda kalan taşlar ya yerindedir ya da bir parite kontrolüne bakmanız gerekir.
Algoritmanın tamamı bu. Üç cümle. Gerisi mekanik.
Mekanik: köşeler
Bir satırın ya da sütunun ilk taşlarını yerleştirmek kolaydır. İşin püf noktası son taşı — köşe taşını — yerleştirmektir.
-
satırın sağ üst köşesi için (N×N bulmacada N taşı):
-
N taşını doğrudan köşeye kaydırmaya çalışmayın. Orada durmaz.
-
Önce bir önceki taşı (N−1) köşeye yerleştirin.
-
N taşını N−1'in hemen altına yerleştirin.
-
Şimdi ikiliyi döndürün: boşluğu köşeye taşıyın (N−1'i yerinden ederek), N−1'i sol alta doğru yoldan çekin, N'yi yukarı köşeye kaydırın, N−1'i sağa kaydırın.
Sonuçta N−1 ve N, sollarındaki hiçbir şeyi bozmadan doğru yerlerine oturur.
Bu, L biçimli köşe manevrasıdır. Aynı numara, aynalanmış haliyle, 1. sütunun sol alt köşesinde de çalışır.
Kayan bulmaca tekniğinden tek bir şey aklınızda kalacaksa, bu kalsın. Geri kalan her şey bundan türer.
Mekanik: ortalar
Bir satırın iç taşları için (üst satırda 1'den N−2'ye kadar) yerleştirme doğrudandır:
- İstediğiniz taşı bulun.
- Onu hedefine komşu bir konuma getirin.
- Boş hücreyi kullanarak yerine kaydırın.
Diğer yerleşmemiş taşları itmek zorunda kalabilirsiniz. Sorun değil — onlar zaten yerleşmemiş. Soldaki yerleşmiş taşları bozmadığınız sürece satır temiz biçimde dolar.
Sizi güvende tutan kural: boş hücrenin yerleşmiş bir taşın üzerinden geçmesine asla izin vermeyin. Boşluğun tahtanın sağından yerleşmiş bir taşın soluna gitmesi gerekiyorsa, boşluğu yerleşmemiş hücrelerden geçirerek yerleşmiş taşın etrafından dolaştırmalısınız.
Neden "önce satır, sonra sütun"
İki neden:
- Ayna simetrisi. Satır-köşe manevrası ile sütun-köşe manevrası, aynalanmış haliyle tamamen aynı numaradır. Birini öğrenmek diğerini de öğretir.
- Boşluğun çalışacak alanı olur. 1. satırı çözdükten sonra boşluk, alttaki (N−1) satırda manevra yapabilir. 1. sütunu çözdükten sonra (N−1)×(N−1) bir alanı olur. Çalışma alanı zarifçe daralır.
Sırayla da gidebilirsiniz (1. satır, 1. sütun, 2. satır, 2. sütun, ...) ama doğal ritim, dış kenarda ikili yapıp içe inmektir.
Özyineleme
- satır ve 1. sütun bittiğinde, kalan (N−1)×(N−1) bulmacadaki taşların farklı bir hedef düzene gitmesi gerekir — aynı sayısal sıra, ama farklı konumlarda. İyi haber: yöntemin umurunda değil. Yeni üst satırı çözün, yeni sol sütunu çözün, tekrarlayın. Sonunda bir 2×2 ya da 3×3 temel duruma inersiniz.
3×3 temel durumda son üç taş, tekli hamlelerle döngüsel olarak yerine oturtulabilir. (Çok büyük bulmacaların en sonunda ortaya çıkabilen) 2×2 temel durumda da aynısı geçerlidir.
Bu yöntem neden her boyutta çalışır
Kayan bulmaca ailesinin kullanışlı bir özyinelemeli özelliği vardır: bir satır ve bir sütunu çözmek, bulmacayı aynı türden daha küçük bir bulmacaya indirger. Matematiği basittir. 1. satıra N taş yerleştirdikten (ve onlara bir daha dokunmadıktan) sonra kalan oyun, bir satırı eksik, (N−1) genişliğinde bir ızgarada yaşar. En soldaki sütunu da yerleştirince (N−1)×(N−1) bir ızgarada yaşar.
Bu indirgemeyi her adımda uygulayabilirsiniz. 6×6, 5×5'e; o da 4×4'e; o da 3×3 oyun sonuna indirgenir. Yalnızca 3×3 oyun sonunun özel bir tekniği vardır; daha büyük her şey ona indirgenir.
Kayan bulmacaların programlama derslerinde sık sık böl ve yönet öğretmek için kullanılmasının nedeni bu özyinelemeli yapıdır. Doğruluk kanıtı tek paragraftır; uygulama, algoritmanın gövdesidir.
Ne kadar hızlanırsınız
Yöntemi harfiyen uygulayan yeni bir çözücü:
Her boyutta birkaç oyun sonra bu süreler yarıya iner. Yöntem aynıdır; fark yalnızca köşe manevrasının kas hafızasıdır.
Bu yöntem ne için uygun değil
Optimal çözümler. Gerçek bir çözücü çalıştıran bilgisayar, satır-sütun yönteminin ürettiğinden %30–50 daha kısa diziler bulur. İnsanlar bu algoritmaları kafalarında çalıştıramaz.
Hız yarışmaları. En iyi hız ustaları satır-sütun yöntemini temel alır ama köşeleri agresifçe kırpar; sonradan geri alacakları kısmi yerleştirmeler yaparlar. Bu daha hızlıdır ama öğrenmesi daha zordur.
Geri kalan herkes için — satır-sütun yöntemi, yöntemin ta kendisidir.