SMT的全称是Satisfiability Modulo Theories,可被翻译为”可满足性模理论”,“多理论下的可满足性问题”或者”特定(背景)理论下的可满足性问题”,其判定算法被称为SMT求解器.简单地说,一个SMT公式是结合了理论背景的逻辑公式,其中的命题变量可以代表理论公式.
SMT的全称是Satisfiability Modulo Theories,可被翻译为”可满足性模理论”,“多理论下的可满足性问题”或者”特定(背景)理论下的可满足性问题”,其判定算法被称为SMT求解器.简单地说,一个SMT公式是结合了理论背景的逻辑公式,其中的命题变量可以代表理论公式.对于SMT的研究起源于20世纪70年代末80年代初,当时的一些学者为形式化方法设计了一些判定算法,这些算法可以看作最早的SMT求解器;到了20世纪90年代,人们开始研究能处理大规模工业界问题的SMT求解技术.最近几年在工业界和学术界,这类技术均得到了迅猛的发展.而SMT求解器也被集成到一些大型工具中,比如HOL/Isabelle、ESC/Java2、ACL2、UCLID、BLAST、ureka,CUTE和PEX等.
SAT(satisfiability)问题指的是命题逻辑公式的可满足性问题.随着研究的深人,人们发现SAT在表达能力上有很大的局限性,许多应用用SAT进行编码并不是很明智的选择,它们需要比SAT更强的表达方式.在这种形势下,将SAT问题扩展为SMT,经过扩展,SMT能比SAT更好地表达一些人工智能和形式化方法领域内的问题,比如在资源规划、时序推理、编译器优化等很多方面用到了SMT.
延伸阅读:
什么是命题公式?
文章标题:什么是SMT(satisfiabilitymodulotheories),发布者:小编,转载请注明出处:https://worktile.com/kb/p/39255