为什么统一对推理引擎如此重要?
-
16-10-2019 - |
解决方案
统一是计算机科学中的基本概念,也许我们甚至认为它是理所当然的。每当我们有一个规则,方程式或模式并希望将其应用于某些数据时,都会使用统一将规则专业为数据。或者,如果我们想结合两个一般但重叠的规则,统一为我们提供了最一般的合并规则。统一是
- 定理抛弃和证明助手,包括基于高阶统一的一些。
- Prolog实施(作为解决方案)。
- 类型推理算法。
- 计算语言学/自然语言处理。
- 术语重写系统(例如Maude)可以用作编程语言语义的基础。
- 演绎数据库。
- 专家系统或更普遍的人工智能。
- 计算机代数系统。
- 使用功能语言匹配的模式匹配(至少部分...仅匹配)。
- 一些解析方法。
- 一些查询语言,尤其是涉及语义网络。
其他提示
在逻辑微积分上,在句法水平上进行诸如Isabelle/HOL工作的证明助手。想象你有 作法波贡规则 (MP)
美元
和证明目标
$ qquad displaystyle(a lor b) to(c land d),a lor b overset {!} { longrightArrow} c land d $ d $
我们人类立即看到这与Modus Ponens接下来,但是机器必须匹配目标才能统治 句法 (你做 apply rule mp
或者 apply simp
),这就是统一的作用。该算法找到$ varphi $,带有$ varphi(p)= a lor b $和$ varphi(q)= c land d $,实例化规则并应用它。
关于助手的方法的好处 simp
现在是,如果您的目标是
$ qquad displayStyle(a lor b) to(c land d),a overset {!} { longrightArrow} d $
他们将找到规则MP的适当应用,$ P Land Q LongrightArrow P $和$ P LongrightArrow p lor Q $具有兼容统一的各个步骤并解决目标。
符号: 带有$ gamma = { varphi_1, dots, varphi_n } $一组逻辑公式,符号
$ qquad gamma longrightarrow psi $
表示以下内容:
如果我在$ gamma $中得出/证明了所有公式(即它们是 有效的)然后,该规则断言$ psi $也是有效的。
从某种意义上说,规则$ gamma longrightArrow psi $是$ psi $的(长)证明中的最后一步。证明不过是此类规则申请的链条。
注意 规则 通常包含示意图变量(上述$ p $和$ q $)可以替换为 随意的 公式只要在所有情况下用相同的公式替换相同的变量;该格式的结果是具体规则实例(或直观地,证明步骤)。该替换是由统一发现的$ varphi $表示的。
人们通常使用$ 型号$而不是$ longrightArrow $。
我认为这不是重要的 推理引擎. 。但是,统一算法对 类型推理. 。这是两种截然不同的推论。
类型推理对计算机科学很重要,因为 类型 在编程语言理论中很重要,这是计算机科学的重要组成部分。类型也接近逻辑,并在自动定理证明中进行了强烈使用。在许多(如果不是全部)证明助手和SMT求解器中,有许多统一算法实现。
推理引擎与人工智能有关,这也很重要,但非常不同。 (我已经看到学习与逻辑之间的联系,但这似乎被提出了。)