Aşağıdaki basit sorunun daha önce incelenip incelenmediğini ve herhangi bir çözümün bilinip bilinmediğini bilmek istiyorum.
G sonlu (MxN) bir ızgara olsun, S G'nin hücrelerinin bir alt kümesi ("kırıntıları"). Koordinatları en fazla bir tane farklıysa (yani, kareler olarak çizilirse, en az bir köşe noktasını paylaşırlarsa) iki kırıntı (yerel olarak) bağlandığı söylenir.
Şimdi, ızgara çizgilerini ve sütunlarını değiştirerek kırıntıları (bir bütün olarak kümeleri) bağlamaya çalışılabilir. Başka bir deyişle, sonuçta ortaya çıkan ızgaradaki herhangi iki kırıntı (yerel olarak) bağlı kırıntı zinciri ile birbirine bağlanacak şekilde satırların bir permütasyonu ve sütunların bir permütasyonu bulmaktır.
Soru: Her zaman bir çözüm var mı?
Nasıl saldıracağımı tam olarak bilmiyorum. Daha iyi bir fikir eksikliği için, kaba kuvvetle çözümler arayan ham bir program yazdım (permütasyonları rastgele üretir ve ortaya çıkan ızgaranın kırıntılarına bağlı olup olmadığını kontrol eder). Program şimdiye kadar ufacık (10x10 veya 7x14) ızgaralar üzerinde çözümler bulmuştur ve daha büyük ızgaralar basit stratejisinin erişemeyeceği açıktır (bir çözüm boyunca rastgele rastlamak çok uzun sürecektir).
İşte program tarafından çözülmüş bir ızgara örneği:
Başlangıç ızgarası (kırıntılar X'ler, boş hücreler noktalarla gösterilir):
0 1 2 3 4 5 6 7 8 9
0 X . X X . X . X X .
1 X . . . . X . . . .
2 . . X . . . . X . X
3 . X . . X . X . . X
4 . . . X . . . . . .
5 X X . . . X X . X .
6 . . . X . . . . X .
7 X . X . . X . . . .
8 X . . . X . . X X .
Çözüm:
6 1 4 7 8 2 9 3 5 0
1 . . . . . . . . X X
4 . . . . . . . X . .
5 X X . . X . . . X X
8 . . X X X . . . . X
7 . . . . . X . . X X
0 . . . X X X . X X X
3 X X X . . . X . . .
6 . . . . X . . X . .
2 . . . X . X X . . .
Doğal olarak, sorun herhangi bir d> 2 boyutuna kolayca genelleştirilebilir. Sanırım diğer genellemeler de düşünülebilir.
Şimdiden teşekkürler,
Yann David