技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

演绎数据库中的子句形式

dbmsmysqldata analysis

SQL 或任何其他数据库系统中的演绎数据库是一种工具,它可以根据数据库中已有的规则和信息得出有关新事实的结论。在演绎数据库中,datalog 是常用来表达事实、规则和查询的语言。公式以从句形式表达时,由多个从句组成,每个从句由多个文字组成,这些文字仅通过标有 OR 符号的逻辑连接词连接。

公式中可以使用以下量词 -

全称量词 - 可以读作"对于所有 x,P(x) 成立",表示 P(x) 对宇宙中所有 x 实例都成立。

例如,卡车都有轮子。

存在量词 - 这意味着 P(x) 对宇宙中至少一个项目 x 成立,并表示为"存在一个 x 使得 P(x)"。

示例:有人照顾你。

从句形式公式必须更改为具有以下列出的性质的公式 -

公式的每个元素都有一个量化。因此,没有必要为所有变量明确添加通用量词。当删除量词时,公式中的所有变量都由通用量词隐式量化。

鉴于公式由多个子句组成,每个子句由多个文字组成,这些文字仅由逻辑连接词 OR 连接,因此公式由子句组成。因此,每个句子都是文字的析取。

句子本身仅由 AND 逻辑连接词连接以创建公式。因此,公式的子句形式是从句的结合。

任何公式都可以改为子句形式,这一点可以证明。对于我们的目的而言,主要关注的是各个子句的结构——每个子句都是文字的析取。请记住,这些文字可以是正的,也可以是负的。考虑以下子句 -

NOT(P1) OR NOT(P2) OR ..... OR NOT(Pn) OR Q1 OR Q2 OR ..... OR Qm

前一个子句中有 m 个正文字和 n 个负文字。可以使用以下类似的逻辑公式来表示该子句 −

P1 AND P2 AND ..... AND Pn => Q1 OR Q2 OR ..... OR Qm

例如,隐含符号为"=>"。

第二个公式仅当 Q 中至少有一个为真时才为真,这是(隐含)符号的含义。如果所有 p 个文字 i = (1, 2,...,) 都为真,则为真。对于第一个公式,如果 P 个文字 i = (1, 2,..., n) 中的任何一个为真,则其所有否定也为真。因此,在这种情况下,只有当至少一个 Q 为真时,它才为真。

因此,上述两个公式的真值始终相同,因为它们是可比较的。

结论

在子句形式中,该公式写成一系列句子,每个句子由多个文字组成,这些文字仅由 OR 类型的逻辑连接词连接。


相关文章