Sudoku bulmacasına bir çözüm bulmak ve çözümün benzersiz bir çözüm olduğunu kanıtlamak arasında ne kadar karmaşıklık farkı olabilir?


14

Yani genellikle Sudoku ise , ancak bu soru kadar uzanır n 2 × n 2 ile bulmaca n > 3 sıra. Sudoku bulmacasına bir çözüm bulmada ilerleme sağlayabilecek birçok polinom zaman indirimi kuralı vardır. Ancak, bir hücrenin değerini veya hücre değerlerinin bir kombinasyonunu ortadan kaldırmak için bazen değerleri tahmin etmek ve sonuç zincirlerini takip etmek gerekebilir. Ancak, geçerli bir çözüm bulunduğunda, çözümün BENZERSİZ olduğunu garanti etmez. Geçerli bir Sudoku bulmacasının sadece bir geçerli çözümü olmalıdır, ancak rastgele bulmacalar oluştururken, bu doğrulamak için fazladan hesaplama gerektirebilir.9×9n2×n2n>3

Yani, sorum şu, değerleri tahmin etmek ve sonuçları takip etmekle birlikte belirli bir dizi polinom zaman çıkarma kuralına (örneğin, Sudoku stratejisinde açıklanan en yaygın set) izin verirsek, o zaman ne olduğunu belirlemek ne kadar zor olabilir benzersiz bir çözümün sayısı açısından, sadece bir çözüm bulmak yerine, belirli bir bulmaca için benzersiz bir çözüm? Belirli bulmaca sınıfları için asimtotik bir fark var mı?

Yanıtlar:


14

mm


Teşekkürler, sorumu yeterince doğru bir şekilde formüle edip etmediğimden emin değildim ama bu kafadaki çiviye çarptı. Bu yüzden bir çözüm bulsak bile, başka bir çözüm olup olmadığını bilmek NP-eksiksizdir. Temiz ve düzenli! Teşekkür ederim, +1
user2566092

1

Sizi doğru anlarsam, yazılımınızın geçerli olup olmadığını görmek için oluşturduğu Sudoku bulmacalarını kontrol etmeye çalışıyorsunuz.

Eğer sadece “geçerli” olmak ilgiliyse, o zaman Yuval Filmus sizi NP'nin tamamlanmış olduğunun bir kanıtına işaret etti.

Ancak, bir insanın çözmekten zevk alacağı yeni Sudoku bulmacaları bulmayı hedeflerse, sorun o kadar da zor değildir. (Bulmacanın “mantık” kullanarak çözülememesi nedeniyle çok fazla değer tahmin etmek eğlenceli değildir!) Bu yüzden şahsen tahmin sayısını en fazla 4 ile sınırlayabilirim ve düşündüğünüz sınırlama dahilinde benzersiz bir çözüm makul.

Yukarıdakileri yapmak, tüm olası tahminleri (limitiniz dahilinde) ziyaret etmek için standart arka izlemeyi kullanmak ve NP'nin tamamlanmasından sadece bir çözümün çok daha kolay olduğunu göstermek.

Ek olarak, bir bulmacanın ihtiyaç duyduğu tümdengelim kurallarının karmaşıklığına ve ihtiyaç duyulan tahminlerin sayısına bağlı olarak ne kadar zor olduğunu puanlayabilirsiniz.


0

Bir bulmacanın benzersiz olduğunu kanıtlamak için, bir tahminin yapılması gereken herhangi bir hücrenin dallanması gerekir. Sadece bir cevap bulmak için bir arama yaparken, bu genellikle çözümün karar ağacında tam bir tahtaya yol açan ilk yol olduğu geri izleme ile yapılır. Benzersizliği kanıtlamak için, yalnızca bir yolun geçerli bir çözüme götürdüğünü göstermelisiniz. Burada, çalışma zamanı açısından işlerin tanımlanması çok zorlaşır. Karmaşıklık, eldeki asıl soruna son derece bağlıdır. Son derece olası olmayan en kötü durum senaryosuna bakıyorsanız, aynı karmaşıklık olarak düşünülebilir.

En kötü senaryoda, çözümü yaparken, çözüm, ağacın aranabilecek olası son dalındadır. Tüm ağacı bulmak için araştırılmalı, teklik arayışı da aynı aramayı gerektirir ve aynı yolların üzerinden geçer.

Gerçekçi olmakla birlikte, durum böyle değildir ve kombinatoryal tasarımların aranmasını içeren neredeyse tüm durumlarda, bir çözüm aramak her zaman tüm çözümleri aramaktan daha hızlıdır.

Genel olarak, bu sorunların her ikisi de, daha da kötüsü olmasa da, üstel çalışma sürelerine sıkıca yerleşmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.