我有一个很大的布尔公式要解决,由于编辑的原因,我必须在此处粘贴图像:
另外,我已经有一个函数area
来测量 4 个整数的维度:area(c,d,e,f)=|c−d|×|e−f|
我想做的不仅仅是弄清楚公式是否可以满足:我正在寻找一个最佳的 6 元组(a,b,c,d,e,f)
,它可以构成大公式TRUE
,并且area(c,d,e,f)
大于或等于任何其他也满足公式的 6 元组的维度。
换句话说,找到Max(area(c,d,e,f))
大公式的主题。
我想知道 SMT 求解器是否可以帮助解决这个问题。我知道Z3
支持quantifiers
,并且能够说布尔表达式是否可以满足。但问题是是否Z3
可以帮助找到函数的最佳解决方案area
。
有谁有想法吗?任何关于 SMT 求解器、Z3 或其他算法的评论将不胜感激......