2017-01-31 20 views

回答

1

當然..簡單地聲稱x > 2 AND y > 2。這是z3py:

from z3 import * 

x = Int('x') 
y = Int('y') 

s = Solver() 
s.add (x > 2) 
s.add (y > 2) 
s.add (x+y > 100) 

s.check() 
print s.model() 

Z3打印:

$ python a.py 
[y = 3, x = 98] 
+0

將加起來計算的複雜性,如果我有多個(大量)套這樣的限制?例如,如果我希望'x'不是1,3,100等,對於'n'個詞和'n'是相當大的。它會大大減慢計算速度嗎? –

+0

不經過嘗試就無法判斷:還取決於約束的複雜性。如果他們都是這樣的簡單比較,但是,我相信z3會做得很好。給它一個鏡頭,如果它表現不好,我們可以進一步研究它。 –

+0

如果我把這些限制約束放在前面而不是在後面,它會有不同嗎(理論上)? –

相關問題