SATインスタンスのソリューションセットをコンパクトに表す


10

この質問は、以前の質問であるMonotone-2CNFの数式のカウントソリューションに対するAndrásSalamonとColin McQuillanの貢献を読んだ後、私の頭に浮かび上がりました

EDIT 30 番目の 2011年3月
に追加の質問N°2

EDIT 29 番目の 2010年10月
質問の概念を通してそれを形式化するためにアンドラーシュ提案した後、言い換えるソリューションセットの素敵な表現は(私は彼の考え方を少し変更しました)。

してみましょう持つジェネリックCNF式もn個の変数。してみましょうSは、そのソリューションセットすること。明らかに、| S | nの指数関数の可能性があります。しましょうFnS|S|nR表現である。次の事実がすべて当てはまる場合にのみ、R良いと言われます。SR

  1. サイズは nです。Rn
  2. は、 Sの解を多項式遅延で列挙することを可能にします。RS
  3. は、 | S |R|S|多項式時間で(つまり、すべての解を列挙せずに)。

多項式の時間で、すべての式に対してそのようなを構築することが可能であるとしたらすばらしいでしょう。R

質問:

  1. 誰もがそのような素敵な数式のファミリーが存在することを証明したことがありますか表現が存在できないますか?
  2. の表現とFが示す対称性の関係を研究した人はいますか?直感的に、対称性をコンパクトに表現するのに役立つはずSを、彼らはソリューションのサブセットの明示的な表現を避けるため、S "SをするときSは実際にただ一つの解に帰着する(すなわち、すべてからIS "あなたは他のすべて回復することができ、S jはS 適切な対称性を適用することでは、このようにすべてのは、私S "自体は、全体の代表でありますSFSSSSsiSsjSsiSS

1
質問を少し制限する必要があると思います。前述のように、式自体はSの多項式サイズの表現です。しかし、これは明らかに前の問題から来る動機付けには役立ちません。たぶん、あなたは、いくつかのバインド(多項式を?)したいの再生の複雑さにSを(または多分の単一の要素S、またはコンピューティング| S |)多項式サイズの表現から...FSSS|S|
ジョシュアGrochow

@ジョシュア:あなたは正しい、ありがとう。明確にするために質問を充実させました。よろしければ教えてください。
ジョルジオカメラーニ

ところで、ソリューションセットを表す1つの方法は、「AND / OR検索ツリー」です。各インスタンスはツリーの葉であり、すべてのソリューションを列挙せずにカウントを実行できます。
Yaroslav Bulatov、2011年

@Yaroslav:興味深い...さらに詳しく説明していただけますか?
Giorgio Camerani、2011年

回答:


10

述べたように(改訂3)、質問には単純な答えがあります:いいえ。

その理由は、AND、OR、およびNOTゲートを使用したブール回路によって与えられる表現の非常に制限されたクラスであっても、重要な下限が知られていないためです。(明らかに表現する回路 Sも暗黙的に表します。回路への入力を変更することで、解を簡単に列挙できます。)FS

単調または一定の深さの回路のようなさらに制限された表現では、指数の下限が知られています。CNFまたはDNF形式で数式を表すための指数の下限もありますが、これらは一定深度回路の特殊なケースと見なすことができます。最後に、BDD表現はDNFのコンパクトな形式と見なすことができますが、BDDが変数の順序付けに指数サイズを必要とする式が存在します。

質問をより正確にするために、@ Joshuaの回答を詳細に検討し、「すべての解決策を列挙するのは簡単」という意味を明確にしてください。


リビジョン4については、BDDサイズに関する記述に注意してください。あなたが尋ねているように思われることの一部は、次のとおりです。BDDよりもDNF式のよりコンパクトな表現はありますか?「BDD が超多項式サイズを持つ」とは「変数の順序に関係なく、Bと同じ関数を表すすべてのBDD が超多項式サイズを持つ」ことを意味し、「ナイス表現」は「多項式遅延で解を列挙できる表現」を意味するものとします。このより具体的な質問は次のようになります。BB

そのBDDが超多項式サイズを持っている間、多項式サイズを持っている式のファミリーと素晴らしい表現がありますか?

これはあなたが求めていることの本質を捉えていますか?


@András:明確化のセクションを追加しました。
Giorgio Camerani

@András:質問の正確さが足りない場合は、謝罪します。あなたの文は、「BDDよりもDNF式のコンパクトな表現はありますか?」私が求めていることの本質を捉えています。このようなよりコンパクトな表現は、すべての式(超多項式の解を持つものでも)で可能でなければなりません。
Giorgio Camerani

@András:こんにちは、私はそれについてもう少し考えました。私が尋ねていることの本質をよりよく捉えているのは、「すべての式に多項式のサイズを持つ素晴らしい表現はありますか?」という質問です。。そのような表現は、BDDがそれと比較してどのように動作するかに関係なく、「史上最高」でなければなりません。多項式遅延の提案は、私が考えているアイデアと完全に一致します。
Giorgio Camerani

@ウォルター:その定式化に沿って質問を編集するか、新しい質問を投稿する価値があるかもしれません。
アンドラス・サラモン

@András:私は質問を言い換えました。すてきな表現の定義が少し変更されました(文献で確立された用語ではなく、発明の用語であると思いました)。
Giorgio Camerani

9

[この回答は、2010年10月29日のリビジョン6より前のバージョンに対応したものです。]

質問は多かれ少なかれうまくいったと思いますが、技術的な問題が残っています。つまり、「そのような構造を見るだけですべてのソリューションを列挙するのは簡単なことです」を形式化する方法です。(私は、現時点で思い付く可能性が一つだけ)おそらくナイーブな定式化は以下の通りである:せ溶液セットの表現を示すS φ φを。現時点では、それ以外のRには制限を設けていませんR φ | P O のL Y N φR(φ)S(φ)φR|R(φ)|poly(n)φ変数のCNF です。その後、我々は、アルゴリズムが存在することにしたいAように、A R φ = S φ A入力にR φはの時間で実行され、P O のL Y N | S |nAA(R(φ))=S(φ)AR(φ))poly(n,|S|)

この形式化では、唯一の困難なケースは、が超多項式であるがサブ指数である場合です。残りの例は、以下の表現によって処理されているR、アルゴリズムA:もし| S | P O のL Y N 、次いでせR φ = 0 S 。もし| S | 2 Ω N 、次いでせR φ = 1SRA|S|poly(n)R(φ)=(0,S)|S|2Ω(n)A 0 S )は単に Sを出力し、 A 1 φ φからブルートフォースによって Sを計算します。以来 | S | = 2 Ω N 、後者の場合には、これはまだ時間で実行 O | S |R(φ)=(1,φ)A(0,S)SA(1,φ)Sφ|S|=2Ω(n)O(|S|)

ただし、この形式化では、困難なケースは一般に不可能です。そのようなAが存在する場合、すべてのSp時間制限のあるコルモゴロフ複雑度がp o l y n によって制限されていたことを意味しますこれは不合理です(ほとんどすべてのセットSが最大のp時間制限があるため)コルモゴロフの複雑さ、つまり| S |)。(ここで、pは、| S |の関数としてのAの実行時間です。)RApSpoly(n)Sp|S|pA|S|

が時間内に実行することをさらに必要とする場合p o l y n | φ |P P r o m i s e U Pifφ Aは一意の解を持ち、A R φ φを解き、時間内に実行されますp o l y n Rpoly(n,|φ|)PPromiseUPφA(R(φ))φpoly(n)


@ジョシュア:この質問に答えるためにあなたの時間のいくつかを捧げてくれてありがとう。最後の3行目で、Aに置き換える必要がありますか?RA
Giorgio Camerani

@ジョシュア:私は、の「問題」は、力が必要だということだと思います。人間だけでなく、アルゴリズムも、それを見ただけで満足のいく割り当てをすぐに「見る」ことは簡単ではありません。R(φ)=(1,φ)
Giorgio Camerani

@ウォルター:私は確かに最後から3行目のを意味しました。R
Joshua Grochow

@ウォルター:はあなたの質問の精神に少なくとも部分的に違反していることを私は完全に認識しています(私はこれをすべてではなく一部の式に対してのみ行っているため)。これは技術的な問題の一部です。あなたの質問を形式化するために私が考えることができる唯一の方法は、質問の精神に部分的に違反するこのような愚かなことを可能にします。これを許可しない形式化を見つけることは非常に興味深いでしょう。R(φ)=(1,φ)
Joshua Grochow、

@ Walter、@AndrásSalamon:多分(nで)多項式の遅延での要素を出力するというAndrasの提案は(時間ではなくO | S |)、より良い形式化でしょう。φに指数関数的に多くの解がある場合でもR φ = 1 φ )のようなものは確かに除外されます。SnO(|S|)R(φ)=(1,φ)φ
Joshua Grochow
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.