質問

2 SATのためのTarjanのアルゴリズムは真実に基づいています:

2-CNF式は、その否定と同じ強い接続されたコンポーネントに属する変数がない場合に限り、

しかし、私は左方向の理由がありません。そのような変化の不可能なことは、CNFの満足度を保証することができますか?

私はアルゴリズムの手順に従うことを試みました、そして私はここで立ち往生しました:

逆位相順の各コンポーネントの場合、その変数が真実の割り当てをまだ持たない場合は、コンポーネント内のすべてのリテラルをtrueに設定します。これにより、相補成分内のすべてのリテラルをFALSEに設定します。

変数がすでに誤って割り当てられている可能性がありますか?後ろからTRUEを割り当て続けると、途中でfalseを割り当てますが、TRUEは次の変数に割り当てられます。この場合、実現可能性が故障します。

もちろん、このような場合は、アルゴリズムが正しいと多くの人々がこのアルゴリズムをよく使用するため、このような場合は決して起こらなかった。しかし、たくさんの投稿はそれを簡単なものとして言います。

  • これらの割り当てが可能な理由は、(x - >〜x - > y - >〜y)のため、グラフのスキュー対称条件に関連があると思います。

正しい解決策はありません

他のヒント

は、否定と同じ厳密に接続されたコンポーネントに属する変数がない場合に限り、2-CNF式が満たされます。

しかし、私は左方向の理由がありません。そのような変化の不可能なことは、CNFの満足度を保証することができますか?

何らかの不満足な2 SATインスタンスの変数割り当てを考えてください。これは、割り当てが何であれ、1つ以上の句が満足のいくものでなければならないことを意味します。これらの句を満たすように1つ以上の変数の設定を変更しますが、これにより、インスタンスは不満足が不満足のため、いくつかの新しい句または句を満たしていません。インスタンスを満たすための変更の失敗は、他の変数の値が変更されなければならないことを意味します。手順を再度繰り返して、その他の変数を含み要求として変更してくださいが、すべての句を満たすことに成功することはありません。最終的には、変数の数が有限であるため、既に訪問した変数の値を変更することを意味します。 / span> $ \ bar {x} $ $ x $ に戻ります。循環的な意味なしでは、最終的には意味合いチェーンの終わりに達し、満足のいく割り当てがあります。チェーンの端に到達しない唯一の方法は、チェーンが変数とその陰性との間に円形になるためのものです。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top