描述逻辑(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,超文本标记 ...
随机推荐
- Beta 冲刺(2/7)
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(2/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 做了点商家数据表格 接下来的计划 做 ...
- SpringCloud+ZUUL跨域请求中的OPTIONS请求处理
目前项目结构是VUE做前端,后端采用微服务架构,在开发时前端需要跨域请求数据,通过CorsConfig配置解决了简单跨域请求需要.但当需要在请求的header中增加token信息时,出现了请求失败的情 ...
- Docker安装MySQL数据库
本文翻译自:MySQL Docker Containers:Understanding the basics 1.下载MySQL镜像 docker pull mysql:5.6 如此便可以下载最新的M ...
- Java面试题复习笔记(数据库)
1.数据库分类? 关系型数据库和非关系型. 常用关系型:Myspl.Oracle.SQLServer 非关系型:Redis.Hadoop.Memcache.Mogobd 2.关系数据库三范式? 范式就 ...
- javascript中字符串的方法
字符串的方法 charAt();返回字符串指定索引的字符: concat();连接两个或多个字符串: indexOf();返回字符串中检索指定字符第一次出现的位置: lastIndexOf();返回字 ...
- SpringMVC的入门示例
1.配置流程说明 第一步:导入包 第二步:构建一个请求,编写请求页面 第三步:配置核心控制器 第四步:构建一个业务控制器 第五步:编写Spring配置文件 第六步:编写一个返回页面 2.配置流程--- ...
- EurekaClient项目启动报错Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient': org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'e
Disconnected from the target VM, address: '127.0.0.1:51233', transport: 'socket' Eureka Client的使用 使用 ...
- python之配置日志的三种方式
以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileCo ...
- Storm介绍及安装部署
本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...
- min-max容斥 hdu 4336 && [BZOJ4036] 按位或
题解: 之前听说过这个东西但没有学 令$max(S)$表示S中编号最大的元素,$min(S)$表示编号中最小的元素 $$max(S)=\sum{T \in S} {(-1)}^{|T|+1} min( ...