数独パズルの変種はどれほど難しいですか?


8

数独はNP完全であることが知られているよく知られたパズルで、ラテン方格として知られているより一般的な問題の特殊なケースです。正方形の正しい解は、すべての行と列に数字が回だけ現れるという条件下で、すべての行とすべての列をからまでの数字で埋めることで構成されます。1 NN×N1N

新しい問題を定義します。入力はN×N数独パズル(より一般的にはラテン方格問題)の正しい解です。行と列に連続するトリプルが含まれないように、行の置換と列の置換があるかどうかを判断したいと思います。

連続トリプルのない行の例は9 5 6 2 3 8 4 7 1です。連続トリプルのある行の例は8 9 5 2 3 4 7 6 1です。トリプルは2 3 4です。

問題はNP困難であると思いますが、削減を見つけることができませんでした。

この数独パズルの変種を解くのはどれほど難しいですか?それはNP完全ですか?

編集:明確にするために、列と行に同じ順列を適用する必要があります。


1
単なる情報:ラテン方格について、そのような置換が存在しない簡単な例はありますか?
Vor

入力が正しいグリッドなのはなぜですか?順列はこのプロパティを変更します。
saadtaame 2013年

@saadtaame入力はラテン方格問題の正しい解法であり、上記で定義した問題ではないことに注意してください。
Mohammad Al-Turkistany

はい、なぜラテン方格の正しい解でなければならないのですか?
saadtaame 2013年

@saadtaameは、入力正方形のすべての行と列がからまでの数値の固定小数点自由順列にすぎないためです。N1N
Mohammad Al-Turkistany

回答:


4

行と列の順列が異なり、連続するトリプルを増やす必要がある場合:答えは常にYESです。

行列のサイズがます。列のランダムな順列を考えます。各行(それ自体)はランダムな順列です。数値確率位置に表示されるである。とには選択肢があり、異なる行があります。したがって、連続するトリプルの予想数はi i + 1 i + 2 t t + 1 t + 2 1 /N N 1 N 2 N 2 t i N N N 2 2 /N N 1 N 2N×Ni,i+1,i+2t,t+1,t+21/(N(N1)(N2))N2tiNN(N2)2/(N(N1)(N2))<1。列の順列があり、その下ではどの行にも連続するトリプルがないと結論付けます。ここで、列について同じ引数を繰り返します。行を並べ替えることは、列のいずれにも連続したトリプルを作成できないことに注意してください。

行と列の順列が同じで、連続するトリプルが増加または減少している可能性がある場合:十分な大きさの場合、答えはまだYES です。N

アイデアは、LuおよびSzékelyの論文「Lovászローカルレンマをランダム注入の空間で使用する」を介して、Lovászローカルレンマの偏ったバージョンを使用することです。以前の証明では、イベントを考慮しました。これは、行(行または列)について、 for。これらは、LuとSzékelyによって考慮される正規イベントの例です。ランダムな置換(行と列の両方の置換)が場合、それらはの形式になります。、ここで σ { ± 1 } I + σ δ = T + δ δ { 0 1 2 } π π T = J 0π T + 1 = j 1π t + 2 =X,i,t,σσ{±1}(i+σδ)=t+δδ{0,1,2}πJ δ = - 1I + σ δ X I T σXの'I 'T 'σ ' { T T + 1 T + 2 } { T 't + 1 t + 2 }π(t)=j0,π(t+1)=j1,π(t+2)=j2jδ=1(i+σδ)。場合 2つのイベント競合しますまたは(これは実際には必要条件にすぎません)。各イベントは、最大のイベントと競合します(線、2つの方向、2つの競合方法、5つの競合する位置)。競合しないイベントは一般に依存していますが、Lovászローカル補題の偏ったバージョンを使用すると、これを無視して、依存関係グラフに競合するイベントのエッジのみを含めることができます。各イベントが発生する確率はX,i,t,σ,X,i,t,σ { J 0J 1J 2 } { J ' 0J ' 1J ' 2 } 2 N 2 2 5 - 1 = 40 N - 1 2 N P = 1 /N N 1 N 2 {t,t+1,t+2}{t,t+1,t+2}{j0,j1,j2}{j0,j1,j2}2N2251=40N12Np=1/(N(N1)(N2))で、各近傍のサイズはであり、補題は、つまり ときに適用されます この条件は満たされます。場合、必要な置換が常に存在すると結論付けます。最近の建設的なバージョンのLLLを使用すると、効率的に見つけることもできます。d40N1ep(d+1)1

40eNN(N1)(N2).
N12N12

ご回答有難うございます。行と列に同じ順列を適用しましたか?
Mohammad Al-Turkistany

いいえ、まず列に1つの適切な順列を適用し、次に行に1つの適切な順列を適用します。それらが同じである理由はありません。
Yuval Filmus

私の質問で明確になっていないため申し訳ありません。行と列に同時に適用される単一の順列が必要です。
Mohammad Al-Turkistany

2
これはあなたが書いたものです:「行の順列と列の順列があるかどうかを決定してください...」
Yuval Filmus 2013年

私の質問が明確でないことをもう一度申し訳ありません。よろしければ質問を編集して明確にします。
Mohammad Al-Turkistany
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.