(续上文) 一阶谓词逻辑和知识绑定

军团动向 专栏收录该内容
6 篇文章 0 订阅
rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cwus3%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5Cwus3%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Cwus3%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">

基于谓词逻辑的推理是人工智能较早期的方法,此类人工智能方法的另外一个名称是函数型人工智能,其特点就是通过对函数形式的命题进行逻辑推理运算并求解。

 

在谓词逻辑中,命题是由谓词文字(函数)逻辑运算符量词组成的:逻辑运算符有很多种,但是最后都可以简化为与、或、非的运算,乃至于互相嵌套的析取式和合取式;量词只有两个——存在和任取。关于谓词逻辑的基本理论我就不深入说了,随便找本离散数学的书都能找到,但是和人工智能相关的,有一个重要的概念:绑定。谓词逻辑的推理过程就是对结论中的所有变量进行求解的过程,而当一个变量的解被确定下来,则这个变量在整个问题空间中进入了“绑定”状态,或者说这个变量和某个值“绑定”了;绑定的意义在于,如果其他文字也使用这个变量,它们也会同时被绑定,如果你记得之前对泥孩子的讨论,你就会发觉这个过程和知识的传递很相似,但是它是瞬时的。当只有变量可以绑定时,我们称之为一阶谓词逻辑,而当谓词本身可以绑定时,我们称之为二阶谓词逻辑,二阶谓词逻辑比一阶谓词逻辑要复杂得多。

 

闲话少说,还是来看题目,这次换个看上去复杂点的:

 

假设一个社区里有四间并排的住房,分别住着四位绅士,他们分别喝不同的饮料,养不同的宠物,并且喜欢不同的颜色。现在我们有如下已知的信息:

 

a)       2号房里的绅士喜欢喝可乐

b)       34号房里的绅士都不喝咖啡

c)       养猪的绅士和养狗的绅士是邻居,并且他不住在第一间和最后一间房间

d)       养兔子的绅士喜欢兔子的红眼睛

e)       喝果汁的绅士不养猪

f)        喜欢咖啡的绅士也喜欢咖啡色

g)       1号房里的绅士不养兔子

h)       养猪的绅士不喜欢可乐

i)         喜欢喝茶的绅士喜欢黑色

 

现在不需要告诉我谁是谁,只需要告诉我喜欢紫色的绅士养什么宠物就行了。

 

先不管这些大叔的癖好有多古怪,正常的推理需要抓住关键的命题,如果你觉得头晕,我可以告诉你关键的命题是下面这几条:

a) 2号房里的绅士喜欢喝可乐

b) 34号房里的绅士都不喝咖啡

f) 喜欢咖啡的绅士也喜欢咖啡色

 

自己仔细想想,我们可以知道1号房里的绅士喝咖啡,喜欢咖啡色。再加上以下三个条件:

                c) 养猪的绅士和养狗的绅士是邻居,并且他不住在第一间和最后一间房间

                g) 1号房里的绅士不养兔子

                h) 养猪的绅士不喜欢可乐

 

可以知道1号房的绅士养猫。再加上:

e)       喝果汁的绅士不养猪

j)         喜欢喝茶的绅士喜欢黑色

 

可以知道养猪的绅士只能喝茶,由此他喜欢黑色,由于他不能住在124号房,所以他只能住在3号房。由此再加上养兔子的绅士喜欢红色,我们可以知道喜欢紫色的绅士养狗(但是我们仍然不知道他们住在哪个房间里)。

 

现在让我们用谓词逻辑来求解,先尝试描述所有的条件和结论——由于是刻意编排的题目,所以这个任务并不复杂。

(全文链接在这里http://d.download.csdn.net/down/870952/sandrowjw,因为有公式发不上来了,word格式的,用Linux的同学找浏览器凑合着看吧……)

  • 2
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值