読み取り倍反対CNF式のパリティを計算する複雑さ(


11

読み取り2回反対のCNF式では、各変数は正と負の2回出現します。

私は、問題に興味があり。これは、CNF式の反対側の読み取り2回の条件を満たす割り当ての数のパリティを計算することにあります。⊕Rtw-Opp-CNF

そのような問題の複雑さについての参照を見つけることができませんでした。私が見つけた最も近いものは、カウントバージョンが -completeであることです(このペーパーのセクション6.3を参照)。#P#Rtw-Opp-CNF#P

よろしくお願いします。


2016年4月10日更新

  • この論文、問題があることが示されている -completeが、しかしから還元によって生成される式、CNFではなく、 CNFに変換し直そうとすると、読み取り3回の式が得られます。⊕ P 3 SAT⊕Rtw-Opp-SAT⊕P3SAT
  • モノトーンバージョンは、このペーパーでは -completeであることが示されています。そのような論文では、セクション4の終わりにがすぐに言及されています。縮退していることの正確な意味や、それが硬度の意味で何を意味するのかは、私には明らかではありません。⊕ P ⊕ RTW-オップ-CNF⊕Rtw-Mon-CNF⊕P⊕Rtw-Opp-CNF

2016年4月12日更新

誰かが問題の複雑さを研究したことがあるかどうかを知ることも非常に興味深いでしょう。読み取り2回反対のCNF式が与えられると、そのような問題は、奇数の変数がtrueに設定された満足できる割り当ての数と偶数の変数がtrueに設定された満足できる割り当ての数の差を計算するよう求めます。私はそれについての文献を見つけていません。ΔRtw-Opp-CNF


2016年5月29日更新

EmilJeřábekのコメントで指摘されているように、Valiantが問題が縮退していると言ったのは事実ではありません。彼は、そのような問題のより制限されたバージョンであるは縮退していると言っただけです。その間、私は縮退が正確に何を意味するのかを知らないままですが、少なくとも今では、それが表現力の欠如の同義語であることは明らかのようです。⊕ PL-RTW-オップ- 3CNF⊕Rtw-Opp-CNF⊕Pl-Rtw-Opp-3CNF


twRtw-Opp-CNFは⊕Rtw-Mon-CNFと同じくらいハードです。否定ガジェットを作成できます:(i0 v x0 v x1)(x1 v x2)(i1 v x0 v x2)。i0 = i1の場合、weight = 0(2を法とする)。それ以外の場合は重量= 1

⊕Rtw-Mon-CNFから⊕Rtw-Opp-CNFへの簡約は見つかりませんが、⊕Rtw-Opp-CNFを解くための多項式アルゴリズムを見つけました。したがって、⊕Rtw-Opp-CNFの方が簡単です。

Valiantの論文には⊕Rtw-Opp-CNFに関する言及はありません。彼は、⊕Pl-Rtw-Opp-3CNFは「縮退」していると主張しているが、それにはいくつかの追加の制限が伴う。
— エミールイェジャベク3.0

@EmilJeřábek:あなたは間違いなく正しい。私は「縮退」の意味の無知に誤解され、完全性の結果が存在する場合に通常適用されるのと同じ種類の推論を適用しました。「縮退」の正確な意味がまだわからない場合でも、この用語が弱さの同義語(表現力の欠如)であることは少なくとも明らかです。したがって、前述の推論は適用できません。それに応じて質問を修正しました。
— ジョルジオカメラニ

1
@Maciej:本当ですか?多項式アルゴリズムはどのように機能しますか?
— ジョルジオカメラニ

回答:


3

すべての逆読み2回の式には、偶数の満足できる割り当てがあることがわかります。おそらく、グラフ理論の用語を削除できるかもしれませんが、これは良い証拠です。

してみましょう反対-読み取り二回CNF式も。一般性を失うことなく、変数とその否定の両方を含む節はありません。ϕ

グラフ検討その頂点集合の節でφ、各変数に対してX、我々はを含む2つの節に入射する(無向)エッジを追加Xを。当社のWLOG仮定φは、このグラフには何の自己ループを持っていないと言います。さらに、各エッジを定義する変数でラベル付けすることを考えてください。このようにして、平行なエッジを区別できます。Gϕxxϕ

向き、その縁の各辺の方向を割り当てることによって形成される有向グラフであるG。向きコールGの許容をするすべての頂点ならばGは、発信エッジを有します。それはへの満足割り当てていることを確認するのは簡単ですφはの許容姿勢と全単射対応しているG。GGG GϕG

ここで、の許容可能な方向の数は偶数であると主張します。引数は「by involution」です。次のプロパティを持つマップΦを作成します。GΦ

  1. は完全に定義されています(許容される方向はすべてどこかにマップされます)Φ
  2. 許容可能な向きを許容可能な向きに送信しますΦ
  3. 退縮ある( Φ ○はΦは同一です)ΦΦ∘Φ
  4. は不動点がありませんΦ

これらが確立されると、の軌道のサイズが2であり、Gの許容方向を分割できることがわかります。したがって、許容される方向の数は偶数です。ΦG

を定義するには、→ Gを許容可能な方向とし、→ Gをその強い連結成分に分割することを検討します。次に、Φは、強く接続されたコンポーネント内のすべてのエッジを反転させることによって形成された方向に→ Gを送信します。次に、プロパティが簡単にチェックされます。ΦG→G→ΦG→

  1. すべての有向グラフは、強く接続されたコンポーネントに分割できます。
  2. 「強く接続されたコンポーネントのDAG」を検討してください。それを商グラフと呼びます。ΦはSCC間のエッジに影響を与えないため、Φ (→ G)は同じ商構造を持つことに注意してください。また、強く接続されたグラフは、すべてのエッジを反転しても強く接続されたままです。さらに、SCCに複数の頂点がある場合、その構成要素のすべての頂点に入力エッジがあります。SCCに頂点が1つだけあり、商のソースではない場合、その構成要素のすべての頂点に入力エッジがあります。だから、表示するΦ (→ G)G→Φ(G→)ΦΦ(G→)許容できる場合、商のソースであるSCCに複数の頂点があることを示すだけで十分です。しかし、これには、コンポーネントのすべての頂点に入力エッジがあり、には自己ループがなく、コンポーネントは商のソースであるため、コンポーネントの別の頂点から来る必要があるという事実が続きます。G
  3. これは、の商構造が→ Gの商構造と一致するという事実から得られます。Φ(G→)G→
  4. 許容範囲から、にはサイクルがあり、したがって、内部にエッジを持つSCCがあります。G→

素敵な観察!これを見るより簡単な方法(あなたが言うように、「グラフ理論用語を排除する」)は、割り当てaがFを満たす場合、割り当てa '(x)= 1-a(x)もFを満たすことを観察することです。これは、Fの変数の数の帰納法によって簡単に示すことができます
— 。-ホルフ

与えられたは退屈だとは思わない。たとえば、有向エッジ0 → 1 → 2 → 0 → 3 → 1の4要素グラフを考えます。これは許容される方向です。最初のサイクルが0 → 1 → 2 → 0であると仮定します。次に、このサイクルを逆転させた後、新しいサイクルが存在するようになります。0 → 3 → 1 → 0。このサイクルが元のサイクルより前に注文された場合、問題が発生します。Φ0→1→2→0→3→10→1→2→00→3→1→0
— エミールイェジャベク3.0

@holfあなたの観察も間違っています。句とCNFを考慮する、¬ X ∨ Y ∨ ¬ Z、及び¬ Y ∨ Z。これは、割り当てによって満たされる(1 、1 、1 )ではないことにより、(0 、0 、0 )。x¬x∨y∨¬z¬y∨z(1,1,1)(0,0,0)
— エミルイェジャベク3.0

の次の定義が機能すると思います。LET M頂点の集合であることは、xはすべてのためにそのプロパティとYからの(有向)パスによって到達可能なX、Xは、からパスによって到達可能であるY。(モーダル論理学者として、私はこれを有向グラフの推移的再帰閉包の最終クラスターの結合として説明しますが、グラフ理論家がそれを呼ぶものはわかりません。でM。ΦMxyxxyM
— エミルイェジャベク3.0

@エミル:ああ、そうだね。私があなたの提案を正しく理解しているなら、あなたは方向を強く接続されたコンポーネントに分割し、コンポーネント内のエッジを反転させていると言っています。これはうまくいくと思う。それに応じて回答を更新します。どうもありがとう!!
— アンドリューモーガン

0

私の考えが理解できるかどうかわからないので、ジョルジオの例を説明します。

。(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)

まず、これをDNF形式で変更する必要があります。

。(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

これは同じ答えを与えるはずです。そして、私はこれについて2を法とする解の数を計算しても関係ありません:

= 0(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

またはこのため:

= 1。(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

だから私は2番目を選択しています。暗示者がいます:

=(X 1 ∧ X 2 ∧ X 3)i0(x1∧x2∧x3)

=(¬ X 1 ∧ ¬ X 3 ∧ X 4)i1(¬x1∧¬x3∧x4)

=(¬ X 4 ∧ X 5)i2(¬x4∧x5)

=(¬ X 2 ∧ ¬ X 5 ∧ ¬ X 6)i3(¬x2∧¬x5∧¬x6)

今、私は方程式系を構築しています:

j0⊕j1=1

j0⊕j3=1

j0⊕j1=1

j2⊕j3=1

j3=1

x6


私の考えがよければ、答えは「いいえ」です。もちろん、変数は正に1回、否定に1回発生すると仮定します。
— マチェイ

x4j1⊕j2j3j2j1j0

-1

⊕Rtw-Opp-CNFf(X)⊕g(X)f(X)∧g(X)f(X)g(X)

i0⊕i1⊕i2⊕...⊕in−1

ijx0∧x1∧¬x2

2ki0⊕i1⊕i2⊕...⊕in−1

i0∨i1∨i2∨...∨in−1

a∨b=a⊕b⊕(a∧b)

1)すべての変数があり、

2)すべての変数は1つだけ発生します(変数が2回発生する場合、1つの暗黙的変数に正と負があるので、0になります)。

x0i0x0i1

j0⊕j1=1

j0j1i0i1i0j0j02l


⊕Rtw-Opp-CNF

@AndrewMorganしかし、すべての変数を1回だけ含むユニークな句を含む式は、2回の読み取り式ではありません。制限は、最大 2 回ではなく、正確に 2 回です。
— ジョルジオカメラニ16

x6(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)x6

(x1∨x2)∧(x1¯)∧(x2¯)(x1∨x2)∧(x1¯∨x2¯)(x1)∧(x1¯)∧(x2)∧(x2¯)

@AndrewMorgan OK、わかりました。ただし、あなたが意図したケースのファミリーでも、満足できる割り当ての数は均等に残っているように思われることを考慮してください。Maciejのコメントで提起された質問は挑戦的であることが判明しました。
— ジョルジオカメラニ16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.