私は疑似ブールの問題があり、私はsat4jで解決する必要があります。sat4jについて、擬似ブール問題を解決するためにsat4jを使用する方法は?
誰かが私を助けることができますか?
F、A、B、C、D、E及びIは、によって表される値のリストを持っている:
私は名前の変数のリストを持っている:ここでは
は私の問題だ# 1、#2、#3 .....hは(#1)
に#1を割り当てる手段Iは、いくつかの例cを有しますonstraints:
h(a,#1)=1
h(a,#1)+h(b,#1)+h(c,#1)=1
h(a,#1)+h(a,#5)>=1
h(b,#2)+h(b,#3)+h(b,#4)>=1
上記の例のように多くの制約があります。 最後に、どの値をどの値に割り当てるかの結果が必要です。
どうすればsat4Jで解決できますか?制約をどのように表しますか?
私は使用しませんCNFソルバー。 SMTははるかに良いフィット感です。 –
どのようなSMTソルバーですか?私に1つお勧めできますか?私は私のJavaプロジェクトとコードを統合する必要があるので、私はpesudoブール問題を解決し、Java APIを提供するツールが必要です。 – JulieZhu
Z3は私がレクリエーション的に使ってきたポピュラーなSMTソルバです。私はそれを話すためにJavaを使用しようとしなかったが、他の人は、少なくともGoogleによると。Z3のシンプルなLISPy I/O構文は、どのような場合でも解析するのが難しくありません。 –