Logic
逻辑理论实际上是一个规范性(normative)的理论,而不是一个描述性的(descriptive)理论。
即,它并不是用来描述人类究竟是采用何种的形式来推理的,而是来研究人类应该如何有效的进行推理的。
经典逻辑:
命题逻辑proposition logic
一阶谓词逻辑first-order predicate logics / FOL
高阶逻辑higher order logics
概率逻辑probability logics
什么是知识表示?
1. 研究如何用形式化的符号系统来表达特定的知识的一个学术分支。
2. 人工智能的一个分支
3. 还研究如何在计算机系统上实现推理过程
Description Logic 描述逻辑
什么是描述逻辑(DL)?
一种基于对象的知识表示的形式化。
建立在概念和关系(Role)之上。
概念:对象的集合
关系:对象之间的二元关系
是一阶逻辑FOL的一个可判定的子集
特点:
1. 具有很强的表达能力
2. 是可判定的,总能保证推理算法终止
------
备受关注的原因:
1. 清晰的模型-理论机制
2. 适合于通过概念分类学来表示应用领域
3. 提供了有用的推理服务
DL的体系结构:
1. 表示概念和关系(Role)的构造集
2. TBox(Terminology Box):描述领域结构的公理集,包含概念定义及公理
##可以理解为对类别的定义
3. ABox(Assertional Box):具体个体的公理集,包含概念断言和关系断言
##可以理解为对个体的定义,以及具体的个体间的关系
4. TBox和ABox上的推理机制:一个基于DL的知识库就是K=TBox+ABox,简写为 KB(T,A) ##KB即Knowledge Base
DL的基本元素:概念和关系
概念:一个领域的子集。如学生、孩子、哺乳动物等概念
{x|Student(x)},{x|Children(x)}
关系(Role):属性,二元关系。如朋友,夫妻
{<x,y>|Friend(x,y)},{<x,y>|Couple(x,y)}
一个例子:图1:

图1
TBox:描述领域结构的公理的集合
1. 引入概念的名称,表示类(一元谓词)
{x|Student(x)}
2. 声明包含关系的公理(属性,二元谓词)
{<x,y>|Friend(x,y)}
(如图1)
一个解释I满足TBox T iff 它满足T中的每个公理(I entails T )
## 这里蕴含符号打不出来,使用 entails 代替
## 逻辑符号表可参见:http://en.wikipedia.org/wiki/Table_of_logic_symbols
ABox:断言部分,是描述具体清晰的公理的结合
1. 概念断言:表示一个对象是否属于某个概念
a:C or C(a)
例如:Student(Tom) 表示Tom是一个学生,也可以用Tom:Student表示
2. 关系断言:表示两个对象是否满足一定的关系
<a,b>:R or R(a,b)
例如:hasChild(John,Mary) 表示John有个孩子叫Mary
一个解释I满足ABox A iff 它满足A中的每个公理,记为 I entails A
## I 被称作一个解释(Interpretation),实质上就是一个模型。
一个解释I满足知识库∑=<T,A> iff 它满足T和A,记为 I entails ∑
语法和语义
(如图2)

图2
DL中的构造算子
一般的,DL根据提供的构造算子,在简单的概念和关系上构造出复杂的概念和关系
DL通常包括以下算子:合取、析取、非、存在量词、全称量词
最基本的DL称为ALC
例如,ALC中概念Happy-father定义为:
(如图3)

图3
DL中的其他算子(如图4)

图4
DL的演变:
实际应用中,不仅要描述概念,还要增强角色的能力。(这里角色 和 属性 是一个概念)
具有传递性的角色常用于构造复合对象。
S:在ALC的基础上允许部分属性具有传递性
H:纳入属性包含公理(如“父子关系”包含于“家长孩子关系”),形成属性(role)分层
I:若S中的属性的逆势封闭的,即存在“逆属性”算子
在SHI的基础上再添加数量限制、函数线约束或定性数量限定,就有了SHIN, SHIF, SHIQ
DL中的推理
一致性consistency
C关于TBox T是Consistent ?
--- 即检测是否有T的模型(解释)I使得C不等于空集。
知识库KB<T,A>是consistent?
--- 即检测是否有<T,A>的模型(解释)I。
可满足性 satisfiability
检验一个概念的可满足性,实际就是看是否有解释使得这个概念成立。
例如:Male ∩ Female
即检测是否存在这样的个体既是男的,又是女的。若存在,则可满足,若不存在,不可满足
## see detail in:http://wenku.baidu.com/view/27ff9086bceb19e8b8f6ba2f.html%20-%20## 
## start from PPT-23
包含检测 subsumption
实例检测 instance checking
Tableaux算法
可判定性
计算复杂性

+++++++++++++++++++++++++++++++++++++++++++++++++

其他关于一阶逻辑的介绍见以下链接。

https://wenku.baidu.com/view/966e2cdb6f1aff00bed51e79.html

描述逻辑(DL)基础知识的更多相关文章

  1. DL一(ML基础知识)

    基础知识ML 在进行深度学习前,根据学习网站的建议,首先学习机器学习的基础课程,学习资料主要是Andrew讲的ShortVideo,网址:http://openclassroom.stanford.e ...

  2. Windows内核基础知识-2-段描述符

    Windows内核基础知识-2-段描述符 比如: ES 002B 0(FFFFFFFF) 意思就是es段寄存器,段选择子/段选择符 为002B, 起始地址base为0, 限制范围Limit地址最大能寻 ...

  3. 逻辑回归Logistic Regression 之基础知识准备

    0. 前言   这学期 Pattern Recognition 课程的 project 之一是手写数字识别,之二是做一个网站验证码的识别(鸭梨不小哇).面包要一口一口吃,先尝试把模式识别的经典问题—— ...

  4. C#基础知识汇总(不断更新中)

    ------------------------------目录---------------------------- 1.隐式类型2.匿名类型3.自动属性4.初始化器5.委托6.泛型7.泛型委托8 ...

  5. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  6. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  7. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  8. HTML基础知识

    一个完美的web前端攻城狮,所具备的专业素养有:HTML5.XHTML.CSS3.JavaScript.JQuery.PS.PHP等.所以说,我要学的东西还有很多... 没别得,我也是一个H5的初学者 ...

  9. HTML基础知识总结

    经过这段时间的学习,对于html的一些基础知识有了一定的了解.所谓好记性不如烂笔头,唯有一点点累积,才能汇聚成知识的海洋.现在,我对这段时间的学习做一个总结. 一.HTML的定义 HTML,超文本标记 ...

随机推荐

  1. mongoDB3.0版本使用express读取数据

    使用express连接数据库操作 var express = require('express'); var app = express(); var MongoClient = require('m ...

  2. C++设计模式——状态模式

    前言 在实际开发中,我们经常会遇到这种情况:一个对象有多种状态,在每一个状态下,都会有不同的行为.那么在代码中我们经常是这样实现的. typedef enum tagState { state, st ...

  3. sea.js 个人入门

    玉伯 : http://seajs.org/docs/ 说这两个JS 必须提到AMD.commonjs两种不同的规范: 奇舞团:http://www.75team.com/archives/882 知 ...

  4. 【原创】大叔经验分享(7)创建hive表时格式如何选择

    常用格式 textfile 需要定义分隔符,占用空间大,读写效率最低,非常容易发生冲突(分隔符)的一种格式,基本上只有需要导入数据的时候才会使用,比如导入csv文件: ROW FORMAT DELIM ...

  5. Python-Django-Ajax

    什么是Ajax: 通过js语言跟后台进行交互的一个东西 -特点:异步,局部刷新 ajax往后台提交数据 $.ajax({ url:'请求的地址', type:'get/post', data:{key ...

  6. notepad++最详情汇总

    1.安装nodepad++ 2.sitting-转换中文语言 3.view-设置自动换行 4.安装格式化插件----https://github.com/bruderstein/nppPluginMa ...

  7. java设计模式自我总结---适配器模式

    上一篇博客说完了 java 23 中设计模式中的五种 创建性模式,由于篇幅过长,新开一贴今天开始学习结构型模式, 结构型模式包括以下七种:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式. ...

  8. easyui提交form表单接受数据处理、

    $('#Form').form('submit', { url:"withdrawal/bankAuthenticate4List.do", onSubmit: function( ...

  9. 2018-2019-1 20189201 《LInux内核原理与分析》第七周作业

    我的愿望是 好好学习Linux 一.书本第六章知识总结[进程的描述和进程的创建] 基础知识1 操作系统内核实现操作系统的三大管理功能,即进程管理功能,内存管理和文件系统.对应的三个抽象的概念是进程,虚 ...

  10. Pytorch学习(一)基础语法篇

    how to use pytorch 1.Tensor we can create a tensor just like creating a matrix the default type of a ...