描述逻辑(DL)基础知识
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)基础知识的更多相关文章
- DL一(ML基础知识)
基础知识ML 在进行深度学习前,根据学习网站的建议,首先学习机器学习的基础课程,学习资料主要是Andrew讲的ShortVideo,网址:http://openclassroom.stanford.e ...
- Windows内核基础知识-2-段描述符
Windows内核基础知识-2-段描述符 比如: ES 002B 0(FFFFFFFF) 意思就是es段寄存器,段选择子/段选择符 为002B, 起始地址base为0, 限制范围Limit地址最大能寻 ...
- 逻辑回归Logistic Regression 之基础知识准备
0. 前言 这学期 Pattern Recognition 课程的 project 之一是手写数字识别,之二是做一个网站验证码的识别(鸭梨不小哇).面包要一口一口吃,先尝试把模式识别的经典问题—— ...
- C#基础知识汇总(不断更新中)
------------------------------目录---------------------------- 1.隐式类型2.匿名类型3.自动属性4.初始化器5.委托6.泛型7.泛型委托8 ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- HTML基础知识
一个完美的web前端攻城狮,所具备的专业素养有:HTML5.XHTML.CSS3.JavaScript.JQuery.PS.PHP等.所以说,我要学的东西还有很多... 没别得,我也是一个H5的初学者 ...
- HTML基础知识总结
经过这段时间的学习,对于html的一些基础知识有了一定的了解.所谓好记性不如烂笔头,唯有一点点累积,才能汇聚成知识的海洋.现在,我对这段时间的学习做一个总结. 一.HTML的定义 HTML,超文本标记 ...
随机推荐
- thinkpad 睡眠唤醒后热键功能正常,但屏幕无法显示状态/进度条/图标
由于博主比较习惯笔记本开盖即用,合盖即走,不大习惯开机关机(毕竟SSD速度杠杠滴^_^).可是发现笔记本长时间睡眠乃至休眠唤醒后,使用thinkpad热键,虽然可以调节,但屏幕不显示调节状态了.解决步 ...
- UVA1513 Movie collection
传送门 题意 KI先生有收集大量小电影的习惯, 他把他的珍藏理成一大摞.无论何时他想观看这一些电影的一部,他从这一摞电影中找出这一部电影,小心地将其拿出,以确保这一摞电影不会倒塌. 自从那一摞电影变得 ...
- 1、Filebeat概述
Filebeat是一个轻量级的日志托运工具,用于转发和集中日志数据. Filebeat作为代理安装在服务器上,监控指定的日志文件或目录,收集日志事件,并将它们转发到Elasticsearch或Logs ...
- jQuery第七章插件的编写和使用
1.本章目标 编写jquery插件 2.插件 也称为扩展,是一种按照一定的规范的应用程序接口编写出来的程序 插件的目标是给已有的一系列函数做一个封装,以便在其他的地方复用,方便维护和开发效率 3.jq ...
- [转] 如何写好.babelrc?Babel的presets和plugins配置解析
什么是Babel The compiler for writing next generation JavaScript. 官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器. 作为 ...
- logrotate命令
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件,例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月 ...
- Linux下IPC中的信号量PV操作
代码如下所示,两边对照查看程序!(左图为先运行进程 右图为后运行进程) 运行的效果就是:当左边的进程检测到EOF,释放资源V操作之后,右边的进程会迅速的执行对应的printf的操作! 所有代码文 ...
- Yarn集群的搭建、Yarn的架构和WordCount程序在集群提交方式
一.Yarn集群概述及搭建 1.Mapreduce程序运行在多台机器的集群上,而且在运行是要使用很多maptask和reducertask,这个过程中需要一个自动化任务调度平台来调度任务,分配资源,这 ...
- Windows 7 设置,启动,停止本地虚拟WLAN
以管理员身份运行以下命令 设置承载网络属性 netsh wlan set hostednetwork mode=allow ssid=Burp key= 启动承载网络 netsh wlan start ...
- System优化
从系统方面考虑,性能通常取决于connection的连接效率和Integration Service所在机器的负荷程度,常见的原因有: 多用户同时使用 不同的网络协议 网络上有多个路由及转换 源和目标 ...