描述逻辑(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,超文本标记 ...
随机推荐
- pythonのdjango CSRF简单使用
一.简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防跨站请求伪造功 ...
- LeetCode 第五题 最长的回文字符串 (JAVA)
Longest Palindromic Substring 简介:字符串中最长的回文字符串 回文字符串:中心对称的字符串 ,如 mom,noon 问题详解: 给定一个字符串s,寻找字符串中最长的回文字 ...
- 【原创】Linux基础之sudo
sudo允许用户以其他用户的身份(比如root)执行命令,比如切换用户.执行命令.读写文件等: 配置 sudo配置在:/etc/sudoers ## Sudoers allows particular ...
- django 实战篇之模板层
模板层 {{}} 变量相关 {%%} 逻辑相关 前端获取容器类型的数据统一使用 句点符(.) 两种给模板传递值的方式 return render(request,'index.html ...
- C# 深拷贝对象实现
public class DeepCopyHelper { //三种深拷贝方法 public static T DeepCopyByReflect<T>(T obj) { //如果是字符串 ...
- python中的while循环和for循环
1.while循环 Gif 演示 Python while 语句执行过程 while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,bre ...
- 指针数组&数组指针
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...
- IP网际协议
IP分类 IP地址分为网络号和主机号,5类不同的IP地址格式如下: A类地址每个网段内最多有224个,也就是16,777,214个. B类地址每个网段内最多有216个,也就是65535个. C类地址每 ...
- Python实现字符串反转的几种方法
面试遇到的一个特无聊的问题--- 要求:在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba" 第一种:使用字符 ...
- vue笔记-生命周期
生命周期钩子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...