簡體   English   中英

約束求解器與 SMT 求解器

[英]Constraint solver vs SMT solver

有人可以給我一些可以使用 SMT 求解器(如 microsoft z3)解決但不能由約束求解器(如 Gecode)解決的示例嗎? 約束求解器和 SMT 求解器的基本區別是什么?

一般來說,SMT 求解器可以處理許多感興趣的理論:整數、實數、字符串、序列、集合、未解釋函數、數據類型、遞歸定義、線性和非線性算術......

您可以查看http://smtlib.cs.uiowa.edu/logics.shtml以了解支持的常見邏輯。 SMT 求解器的亮點在於您如何在一個通用框架中自由混合和匹配來自這些域的約束。

我對 Gecode 不是很熟悉,但我認為它更加專注,只關注 class 的約束。 當然,這將使它在它所針對的領域非常強大,但也意味着它們不具備 SMT 求解器提供的通用性。

如果您嘗試“選擇”一個,我建議您逐案決定:對於每個問題,您可能會發現獲勝者可能是 SMT 求解器或其他不基於 SMT 技術的約束求解器。 我懷疑您是否可以“獨特地”選擇一個來解決您可能遇到的任何問題。 如果您發布您感興趣的特定問題,您可以獲得更好的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM