Median-SATの複雑さは何ですか?


14

ましょうφとCNF式である変数と句。ましょう 変数の割り当てと表すに変数代入によって満たさ節の数をカウントを。次に、すべてのにわたっての中央値を計算する問題としてMedian-SATを定義します。たとえば、がトートロジーである場合、割り当てに関係なくすべての句が満たされるため、Median-SATの解はになります。ただし、、M 、T { 0 1 } N F φT { 0 ... M } φ F φT T { 0 1 } nは φ M ¯ S A Tnmt{0,1}nfφ(t){0,,m}φfφ(t)t{0,1}nφmSAT¯中央-SATを解決するには、どこの間とすることができると。m 10m1

この質問は、SATの2つの自然な拡張であるMAX-SATと#SATを考えていたときに発生し、それらを組み合わせた場合の結果の問題の難しさはどうなりますか。MAX-SATの場合、特定の変数の割り当てを見つけて、満たす変数の数を最大化する必要があります。#SATの場合、すべての句を満たす割り当ての数をカウントする必要があります。このバリアントは、主に#SAT(および実際には#WSAT)の拡張として作成されますが、MAX-SATのフレーバーの一部を保持します。これは、それらがすべて満たされているかどうかを判断するのではなく、満たされた節の数をカウントするという点ですありません。M φφmφ

この問題は、#SATまたは#WSATよりも難しいようです。各変数割り当てについて、#SATはその割り当てが満たしているかどうかのブール問題を決定しますが、Median-SAT は、割り当てが満たす節の数に関してが「どの程度」満たされるかを決定します。φφφ

この問題はいくぶんarbitrary意的であることを理解しています。各変数の割り当てによって満たされる節の平均数またはモード数を計算すると、同じ品質が得られるようです。おそらく他にも多くの問題があります。

この問題は、おそらく別の装いで研究されていますか?#SATと比べてどれくらい難しいですか?FEXPTIMEに含まれているようですが、Median-SATがFPSPACEに含まれていることもアプリオリには明確ではありません。


3
それにです:それぞれについてK mは我々が満足割り当ての数を数えることができる少なくともk個の #Pオラクルを使用して句。FP#PFPSPACEkmk
コリンマッキーラン

1
@Colinはこれを答えにしますか?
スレシュヴェンカト

はい、これは良い答えになります。あなたがいるかどうかを確認するために#Pオラクルを照会する方法について詳しく説明でし節が満足していますか?私はそれを効率的に行う方法を理解できませんでした。km
ハックベネット

@剛、SATの定義は?句の繰り返しを許可していますか?または指定された句のリテラルおよび/または変数?..あなたはリテラルおよび/またはあなたがトートロジーであるCNF式を持つことができません与えられた句の中の変数の繰り返しを許可していない場合ので
Tayfunペイ

@Tayfun-私は実際にこの質問をしました、剛は小さな編集を手伝いました。あなたは、繰り返されるリテラルを必要とするCNF式のトートロジーについて正しいです。どんなSATバリアントも興味深いものであり、CNF-SATは節内でvar反復なし(この場合、トートロジーは不可能です)、またはCIRCUIT-SATがより一般的です。この選択が質問のフレーバーを変えるとは思わない。
ハックベネット

回答:


13

SATのインスタンス、整数、および変数の割り当てが与えられると、満たされた節の数をカウントし、その数がkに等しいかどうかをテストするだけで、正確にk節が満たされたかどうかを多項式時間で決定できます。したがって、#P oracleを使用して、正確にk句を満たす変数代入の総数を計算できます。kkkk

だから、マックス-SATのように、中央値-SATは、使用して多項式時間で計算することができます神託を。問題がであることを示し、このF P PF P S P A C E#PFP#PFPSPACE


あなたは絶対に正しい。これは非常にクリーンな議論であり、#Pの定義からかなり明白だと思います。私は何かを学びました。
ハックベネット

1
これについてもう少し詳しく説明します。特定の変数の割り当てが句を満たしているかどうかを多項式時間で決定できるため、変数の割り当てを非決定的に推測し、このクエリを受け入れるパス(つまり、変数の割り当てを受け入れる)の数を数えることができます使用していた#1 のP(の定義によって神託Pを)。mは、K = 1を反復することによって、我々は満足句のメジアン数カウントすることができるF P Pをk#P#PFP#P
ハックベネット

3

この問題は、使用して解決することができる MAJSAT用のOracleの呼び出しを。lgm+1

LET のための所望のメジアン値表すφを。固定のためにK、式定義ψのkは、それが割り当てについても同様であるので、X IFF X少なくとも満たすk個の節のφ。与えられたことをお知らせφ CNF形式で、与えられたkは、あなたが簡単に構築することができますψ kの多項式時間でCNF形式でを。M(φ)φkψkxxkφφkψk

ここで、MAJSATのオラクルがあったとします。式でそれを照会割り当ての大半は式が作るかどうかを教えますψ kのかどうか、同等真、またはM φ K。そのため、M φ を学習するには、バイナリ検索を適用します(k = m / 2で開始し、オラクルの結果に従ってkを増減します)。後LG M + 1回の反復、バイナリ検索が値明らかM φをψkψkM(φ)kM(φ)k=m/2klgm+1M(φ)。各反復には、MAJSATのOracleへの1つのクエリが必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.