有关解决逻辑问题的近似方法的良好参考


13

众所周知,许多逻辑问题(例如几种模态逻辑的可满足性问题)是无法确定的。在算法理论中,例如在组合优化中,还存在许多无法确定的问题。但是在实践中,启发式算法和近似算法对于实际算法非常有效。

因此,可以预期逻辑问题的近似算法也将适用。然而,我设法找到的唯一研究趋势是最大SAT问题,其发展活跃于90年代。

在使用和开发模态逻辑,逻辑编程等近似方法方面,是否还有其他一些活跃的研究趋势,讲习班,关键字,良好参考?

如果希望自动推理在计算机科学的未来应用中占主导地位,那么人们将必须能够超越逻辑的不确定性约束,并且近似方法或启发式方法自然是可以遵循的,不是吗?


1
“我设法找到的沿着这些思路的唯一研究趋势是最大SAT问题,并且它的发展在上世纪九十年代很活跃。” 实际上,最近几天,MAXSAT求解器正在显着改进:maxsat.udl.cat/12/solvers/index.html
Radu GRIGore 2013年

经过一些研究,现在我倾向于改变主意。有限模型理论应该是AI和应用逻辑的最有前景的领域。基于无限模型理论的逻辑在美学上可能不错,但它们与现实之间缺乏两个重要的联系:1)实际应用总是受到有限资源的限制(例如,变量列表应受到限制);2)物理世界必然是有界的,并且更有可能是离散的(例如基本长度等等)。所以-现在我不了解无限模型理论的使用。他们是近似值。
TomR

另一种趋势是“连接科学”或神经系统符号集成-其中的逻辑用于陈述问题并提供计算的输入和读取输出,但计算本身由神经网络执行。有人讨论了NN的强大功能(例如,有人建议仅当使用实数作为权重时,它们才能打破图灵极限,但是可以讨论-例如,在自然界中是否存在实数是一个公开问题),但是毫无疑问,在逻辑上使用启发式方法应该有前景,而集成是一种方法。
TomR 2013年

Answers:


10

您陈述的处理不确定性的动机也适用于可确定但困难的问题。如果您遇到的问题是NP难题或PSPACE难题,我们通常必须使用某种形式的近似值(广义上来说)才能找到解决方案。

区分不同的近似概念很有用。

  • ε
  • δ

(ε,δ)

这是一个不同的近似概念的示例。假设您执行了一个像将两个大数相乘之类的计算,并想检查该乘法是否正确。在实践中有很多启发式技术可用于检查正确性,而无需再次重复计算。您可以检查符号是否相乘以获得正确的符号。您可以检查数字是否具有正确的奇偶校验(偶数/奇数属性)。您可以使用更复杂的支票,例如铸造九成彩。所有这些技术都有一个共同的属性,它们可以告诉您是否犯了错误,但是它们不能保证您得到正确的答案。可以将这个属性视为逻辑近似值,因为您可以证明原始计算是错误的,但可能无法证明它是正确的。

我上面提到的所有检查都是称为抽象解释的技术的示例。抽象解释使逻辑逼近的概念完全严格,与数值逼近和概率逼近不同。我在分析单个计算时描述的问题扩展到程序分析的更复杂情况。有关抽象解释的文献已经开发了用于程序的近似逻辑推理的技术和框架,最近还开发了有关逻辑的逻辑推理。以下参考可能有用。

  1. 简而言之,抽象的解释简而言之,Patrick Cousot的《。
  2. 抽象概述Patrick Cousot,作为其课程的一部分。有一个很好的抽象示例,用于确定一束鲜花的属性。花束的类比包括固定点,并且在数学上可以完全精确。
  3. 帕特里克·库索特(Patrick Cousot)的抽象解释课程,如果您需要所有的深度和细节。
  4. 逻辑程序的抽象解释和应用,Patrick Cousot和Radhia Cousot,1992。根据您的要求,适用于逻辑程序。第一部分还将形式化的九分程序正式化为抽象解释。

所有这些通常都已用于推理计算机程序。最近有相当多的工作将抽象解释的思想应用于研究逻辑决策程序。重点不是模态逻辑,而是命题逻辑和无量词的一阶理论的可满足性。(由于我在这个领域工作,因此下面的一篇是我的)

  1. Staalmarck的方法的推广由阿迪亚塔库尔和Thomas众议员,2012年给人Staalmarck的方法在程序分析问题的概括。
  2. 减少的抽象域乘积和决策程序的组合,Patrick Cousot,Radhia Cousot和Laurent Mauborgne,2011年。本文研究了用于组合决策程序的Nelson-Oppen技术,并表明它也可用于不完全组合,如果您有不确定的问题,这将特别有趣。
  3. 可满足性求解器是“静态分析器”,我与Leopold Haller和Daniel Kroening的论文,2012年。应用基于格的近似视图来表征现有求解器。您也可以查看有关该主题的幻灯片

现在,以上任何一篇论文都没有回答您关于解决不确定性问题的特定问题。这些论文所做的是对不是数字或概率的逻辑问题采取近似导向的观点。这种观点已被广泛地用于程序的推理,我相信它完全可以解决您的要求。

要将其应用于模态逻辑,我建议一个起点是使用Jonsson和Tarski的代数语义或Lemmon和Scott的后来语义。这是因为抽象解释是根据晶格和单调函数来表示的,因此带有运算符的布尔代数是一种方便使用的语义。如果要开始使用Kripke框架,则可以应用Jonsson和Tarski的对偶定理(有人称其为Stone对偶性)并导出代数表示形式。此后,您可以将抽象解释定理应用于逻辑逼近。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.