質問

私は次のように見える多数の等価物を持っています:

$(A \ Leq 0.54 \ Wedge B \ GEQ 0.12)\ vee(c \ gt 0.98)$ $ \ LeftrightArrow $ $(x \ leq 0.25)\ vee(x \ gt 0.91 \ WERGE \ GEQ 0.01)$

これは一例です。一般に、同値の左右のいずれかまたは右側のいずれかの式のいずれかであると、同等の通常の形式(DNF)句の形式をとるものは何でもあり得、数値は固定精度のある実数であり得、不等式の兆候は $ \ leq $ $ \ lt $ $ \ geq $ 、または $ \ gt $

重要なのは、すべての式の左側にある可能性のある変数( $ \ {a、b、c $} $ )を設定します。これは、すべての式の右側の可能な変数とは異なります(ここでは、 $} {x、y、z \}} $ )。どちらの側には固定数の変数がある可能性があります。3つの変数である必要はありません。また、どちらの側でも同じ数である必要はありません。

私は形のいくつかの意味をいくつか持っています:

$(A \ LEQ 0.32 \ WEGKE B \ GEQ 0.62)$ $ \ reglarrow $ < SPAN CLASS="Math-Container"> $(C \ GT 0.00)$

ここで左右両側は不平等との結合ですが、重要なのは、左右両側の変数のセット、つまりのセットです。 $ \ {a、b、c \} $ ここでは、前の種類のの左側の変数のセット(すなわち、同等)と同じです。

私の質問は、そのような数式のセットの論理的な結果を見つけるためにどのような自動推論者が必要ですか?私はただこれが属する一般的な問題の具体的な識別を探しています。これは、利用可能な範囲外の妥当性があります。おそらくこれはSMT問題ですか?

役に立ちましたか?

解決

はい、線形実数演算をサポートするSMTソルバーでこれを解決できます。しかし、SMTは、単一の変数とaの単純な比較ではなく、変数の直線の変数(例: $ 2a + 3x \ Le 5.7 $ など)を持つことができるより一般的な不等式をサポートします。定数(例: $ A \ LE 1.6 $ )であるため、必要以上に強力な場合があるため、合計を含む線形不等式がない場合は最善のアプローチがSATソルバーを使用することである可能性があるという仮説に同意します。

私はSATへのわずかに異なる符号化を提案します。 1つのホットエンコーディングの代わりに、 $ x_i $ $ c_ {i-1} \ le x \ leです。 C_I $ は、わずかに異なるエンコーディングを提案します。 $ x_i $ の意味 $ x \ le c_i $ < /スパン>。したがって、 $(span class="math-container"> $(0,0,0、および0,0,0、 1,0)$ $(1,1,1,1,0)$ にエンコードします。 $ x_i \はx_ {i-1} $ 、次に各不等式 $ x \ le c_i $という制約を追加します。 は、ブール変数 $ x_i $ に対応します。

他のヒント

あなたの場合、最も簡単な解決策はSATを使用することです。

あなたの最初の節には、 $ x \ le 0.25 $ $ x> 0.91 $ が含まれています。これは、変数 $ x $ に5つの関心領域があることを意味します。 $ x_1 \ EQUIV X \ in( - \ infty、0.25)$ $ x_2 \ equiv x= 0.25 $ $ x_3 \ equiv x \ in(0.25,0.91)$ $ x_4 \ Equiv x= 0.91 $ $ X_5 \ QHIV X \ in(0.91、\ INFTY)$

これらの範囲のそれぞれにブール変数を作成し、それらを使用するように節を変換します。そのため、 $ x \ le 0.25 $ $ x_1 \ vee x_2 $ に変換します。 $ x <0.91 $ に変換します $ x_1 \ vee x_2 \ vee x_3 $

それ以上の節は、より多くの定数を意味し、したがって原始的な変数に対するより多くの範囲の範囲です。

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