ハト穴問題のSATエンコードの対称性を減らすために、正規の順序をどのように使用しますか?
「N個のオブジェクトから1個を選択するための効率的なCNFエンコーディング」という論文では、制約をエンコードするための「司令官変数」手法を紹介し、鳩の巣問題について説明しています。 私のエラーは低レベルの理解に存在する可能性があるため、質問をする前に、知っていると思うことを宣言させてください。 ましょうメートルメートルm及びんんnハトと穴の数です。ナイーブエンコーディングでは、命題変数バツ私、jバツ私、jX_{i,j}を使用します。これは、私』トンの時間私』thi'thハトをj』トンの時間j』thj'thホールに入れる場合に当てはまります。句Ex a c t l yO N e (X1 、1、X1 、2、。。。、X1 、n)EバツactlyOんe(バツ1、1、バツ1、2、。。。、バツ1、ん)ExactlyOne(X_{1,1}, X_{1,2}, ..., X_{1,n})ハト1が1つの穴を占有するように強制します。他のハトにも同じ条項が追加されています。句A t Mo s t O n e (X1 、1、X2 、1、。。。、Xm 、1)あtMostOんe(バツ1、1、バツ2、1、。。。、バツメートル、1)AtMostOne(X_{1,1}, X_{2,1}, ..., X_{m,1})適用しない1個以下鳩穴1を占有します。同じ句が残りの穴に追加されます。 ハトが穴よりも多い場合(m> n)、問題は解決できません(人間には明らかです)が、SATソルバーはこの事実を「認識」しません。それはハト配置する方法を見つけることができない場合には1 、2 、3 、。。、m1、2、3、。。、メートル1,2,3,..,mそれは鳩と試み検索します2,1,3,...,m2、1、3、。。。、メートル2,1,3,...,m。ハトの順序が無関係であることを理解していません。この論文は、とりわけ、この対称性を呼んでいます。 インスタンスm=n+1メートル=ん+1m=n+1は、SATソルバーの不満を検出する能力の精力的なテストとして使用されます。 この論文では、ハトに秩序を強制することで対称性を破ることを提案しています。ピジョンは、ハトi + 1の穴の前の穴に配置する必要があります(つまり、ホールjのハトは、ホールj + 1のハトの数よりも小さい必要があります)。次に、「スペースの制限により、正規順序エンコーディングを詳細に明示的に説明していませんが、生成される句の数はO (n ∗ l o g (n ))です」とがっかりします。i私ii+1私+1i+1jjjj+1j+1j+1O(n∗log(n))O(ん∗log(ん))O(n*log(n)) だから私の質問は、これらの結果を得るために彼らは何をしたのですか? …