Seberapa keras varian dari teka-teki Sudoku?

8

Sudoku adalah puzzle terkenal yang dikenal sebagai NP-complete dan ini adalah kasus khusus masalah yang lebih umum yang dikenal sebagai kotak Latin. Solusi yang benar dariN×N kuadrat terdiri dari mengisi setiap baris dan setiap kolom dengan angka dari 1 untuk N dengan ketentuan bahwa setiap angka muncul tepat sekali di baris atau kolom apa pun.

Saya mendefinisikan masalah baru. Masukan adalah solusi yang benar dariN×NTeka-teki Sudoku (lebih umum masalah persegi Latin). Saya ingin memutuskan apakah ada permutasi baris dan permutasi kolom sehingga tidak ada baris dan tidak ada kolom yang mengandung tiga kali lipat berturut-turut.

Contoh untuk baris tanpa triple berturut-turut adalah 9 5 6 2 3 8 4 7 1. Contoh untuk baris dengan triple berturut-turut adalah 8 9 5 2 3 4 7 6 1. Triple adalah 2 3 4.

Saya menduga masalahnya NP-hard tetapi saya tidak dapat menemukan pengurangan.

Seberapa sulitkah memecahkan varian teka-teki Sudoku ini? Apakah ini NP-lengkap?

EDIT : Untuk memperjelas, permutasi yang sama harus diterapkan ke kolom dan baris.

Mohammad Al-Turkistany
sumber
1
Sekedar informasi: untuk kotak latin apakah Anda memiliki contoh mudah di mana permutasi seperti itu tidak ada?
Vor
Mengapa input kotak yang benar? Permutasi akan mengubah properti ini.
saadtaame
@saadtaame Perhatikan input adalah solusi yang benar dari masalah persegi Latin dan bukan masalah yang saya definisikan di atas.
Mohammad Al-Turkistany
Ya, mengapa itu harus menjadi solusi yang benar dari kotak Latin?
saadtaame
@saadtaame karena semua baris dan kolom di kotak input hanya permutasi titik-tetap bebas dari angka-angka dari 1 untuk N.
Mohammad Al-Turkistany

Jawaban:

4

Ketika permutasi baris dan kolom berbeda dan tiga kali lipat berturut-turut harus meningkat: Jawabannya selalu YA.

Misalkan matriks memiliki ukuran N×N. Pertimbangkan permutasi acak kolom. Setiap baris (dengan sendirinya) adalah permutasi acak. Probabilitas bahwa jumlahnyai,i+1,i+2 muncul di posisi t,t+1,t+2 adalah 1/(N(N1)(N2)). AdaN2 pilihan untuk t dan i, dan Nbaris yang berbeda. Oleh karena itu jumlah yang diharapkan dari tiga kali lipat berturut-turut adalahN(N2)2/(N(N1)(N2))<1. Kami menyimpulkan bahwa ada beberapa permutasi kolom, di mana tidak ada tiga kali lipat berturut-turut di salah satu baris. Sekarang ulangi argumen yang sama untuk kolom - perhatikan bahwa permutasi baris tidak dapat membuat triple berturut-turut di dalamnya.

Ketika permutasi baris dan kolom sama, dan tiga kali lipat berturut-turut dapat meningkat atau menurun: Jawabannya masih YA, cukup besar N.

Idenya adalah untuk menggunakan versi miring dari lemma lokal Lovász , melalui makalah Lu dan Székely Menggunakan lemma lokal Lovász dalam ruang injeksi acak . Dalam bukti sebelumnya, kami mempertimbangkan acaraX,i,t,σ untuk σ{±1}, yang untuk satu baris (baik baris atau kolom), sebutkan itu (i+σδ)=t+δ untuk δ{0,1,2}. Ini adalah contoh dari peristiwa kanonik yang dipertimbangkan oleh Lu dan Székely: jika permutasi acak (permutasi pada baris dan kolom) adalahπ, maka mereka berbentuk π(t)=j0,π(t+1)=j1,π(t+2)=j2dimana jδ=1(i+σδ). Dua acaraX,i,t,σ,X,i,t,σ konflik jika{t,t+1,t+2}{t,t+1,t+2} atau {j0,j1,j2}{j0,j1,j2}(Ini sebenarnya hanya kondisi yang diperlukan). Setiap acara paling banyak bertentangan2N2251=40N1 acara lainnya (2Ngaris, dua orientasi, dua cara untuk konflik, lima posisi yang saling bertentangan). Sementara acara yang tidak bertentangan pada umumnya tergantung, menggunakan versi miring dari lemma lokal Lovász kita dapat mengabaikan ini, dan biarkan grafik ketergantungan kita menyertakan tepi hanya untuk peristiwa yang bertentangan. Karena probabilitas bahwa setiap peristiwa terjadi adalahp=1/(N(N1)(N2)) dan ukuran masing-masing lingkungan d40N1, lemma berlaku kapan saja ep(d+1)1, itu adalah

40eNN(N1)(N2).
Kondisi ini dipenuhi N12. Kami menyimpulkan itu untukN12, permutasi yang diperlukan selalu ada. Menggunakan versi konstruktif LLL baru-baru ini, kita bahkan dapat menemukannya secara efisien.
Yuval Filmus
sumber
Terima kasih atas jawaban anda. Apakah Anda menerapkan permutasi yang sama pada baris dan kolom?
Mohammad Al-Turkistany
Tidak, saya pertama-tama menerapkan satu permutasi yang baik pada kolom, dan kemudian satu permutasi yang baik pada baris. Tidak ada alasan bagi mereka untuk menjadi sama.
Yuval Filmus
Maaf karena tidak jelas dalam pertanyaan saya. Saya ingin permutasi tunggal yang diterapkan pada baris dan kolom secara bersamaan.
Mohammad Al-Turkistany
2
Inilah yang Anda tulis: "putuskan apakah ada permutasi baris dan permutasi kolom sedemikian rupa sehingga ...".
Yuval Filmus
Maaf lagi karena tidak jelas dalam pertanyaan saya. Jika Anda tidak keberatan, saya akan mengedit pertanyaan untuk membuatnya jelas.
Mohammad Al-Turkistany