人工智能笔记小抄

第一章 绪论

本课程的学习内容

1、智能体如何求解问题——搜索

2、智能体如何进行推理决策——谓词逻辑与归结原理

3、智能体如何描述和保存各种信息——知识表示

4、智能体如何通过训练获取和更新知识——机器学习

5、人工智能语言简介——prolog

人类的智能

什么是智能

 智能是个体有目的的行为、合理的思维, 以及有效的适应环境的综合性能力

人类个体的智能

感知环境:认识客观事物、客观世界与自我

学习能力:取得经验、积累知识

理解能力:理解知识,并能联想、推理、判断、决策

预测能力:洞察事物发展变化的趋势

语言能力:运用语言进行描述和概括

应对能力:实时、迅速、合理的采取行动

人类的智能

人工智能与智能

人工智能就其本质而言,是对人的思维的信息过程的模拟。

对于人的思维模拟可以从两条道路进行,

一是结构模拟,仿照人脑的结构机制,制造出“类人脑”的机器;

二是功能模拟,暂时撇开人脑的内部结构,而从其功能过程进行模拟。

“人工智能”同人类智能的本质区别:

人工智能纯系无意识的机械的物理的过程,人类智能主要是生理和心理的过程  

人工智能与人类智能

Stuart Russell和Peter Norvig把当前有关AI的定义分成四类

人工智能与人类智能

类人行为与理性行为

类人:按照人类模式思考和行为

理性:在一定条件下正确的思考和行为

理性与全知

过马路例子中的智能体2:驾驶员

计算危险距离与次危险距离 

如果危险距离内有行人,则紧急刹车

如果次危险距离内有行人,则减速慢行

否则,保持匀速前进

什么是人工智能

人工智能(Artificial Intelligence,简称AI)

定义:P2

1、模拟人类的智能活动,即:感知、学习、理解、预测、应对外部世界的能力

2、建造人造的智能系统,能够代替人类完成特定的智能行为

人工智能的发展史—先驱

神话, 幻想和预言中的AI

在古代的神话传说中, 技艺高超的工匠可以制作人造人, 并为其赋予智能或意识

中世纪出现了使用巫术或炼金术将意识赋予无生命物质的传说

Samuel Butler的“机器中的达尔文”一文(1863)探讨了机器通过自然选择进化出智能的可能性. 

Pamela McCorduck在其著作“会思考的机器”中指出的, AI的起源是“古人成为造物神的愿望”

形式推理—中国, 印度和希腊哲学家均已在公元前的第一个千年里提出了形式推理的结构化方法,如亚里士多德的三段论

人工智能的发展史—先驱

自动机器

1642年,数学家Pascal 发明了加法机

1694年,数学家莱布尼兹Leibniz 发明了世界上第一台计算器

人工智能的发展史—先驱

1834年,查尔斯?巴贝奇 (Charles Babbage) 构想和设计了一台完全可编程的用于公式演算的多功能计算机—巴贝奇分析仪

由于技术条件,经费限制,以及无法忍耐对设计不停的修补,这台计算机在他有生之年

    始终未能问世。

尽管如此,巴贝奇分析仪仍然

    被公认是第一台打孔卡片计算机 

人工智能的发展史

现代人工智能的孕育期(1943-1955年)

1943年, 麦克克劳奇W.McCulloch和皮兹W.Pitts提出了人工神经元模型,被认为是AI的最早工作,并指出神经元网络可以学习

海布D.Hebb,对神经元网络提出了一种更新规则,被称为海布学习

1951年, 普林斯顿大学的博士研究生明斯基M.Minsky建造了一台神经元网络计算机

1950年,阿兰图灵A.M.Turing发表论文《计算机器与智能》,描绘了AI的完整景象

人工智能的发展史

图灵(1912-1954)

英国数学家和逻辑学家,二十世纪最杰出的科学家之一,计算机科学之父,人工智能之父,可与美国的冯?诺依曼相媲美的电脑天才

冯?诺依曼生前曾多次谦虚地说:现代计算机的概念当属于阿兰?图灵

人工智能的发展史

图灵英年早逝。在他42年的人生历程中,他的创造力是丰富多彩的。

24岁提出图灵机理论,

28岁破解德国密码系统,

31岁开发计算机Colossus

33岁设想仿真系统,

35岁提出自动程序设计概念,

38岁设计“图灵测试”。

这一朵朵灵感浪花无不闪耀着他在计算机发展史上的预见性。在他短暂的生涯中,图灵在量子力学、数理逻辑、生物学、化学方面都有深入的研究。

1948年起,图灵因为个人生活方面的问题受到一系列不公正的待遇。1954年,图灵死在自己的卧室里,床头有一只咬了一小半的苹果。

人工智能的发展史

图灵最高的成就是在计算机和人工智能方面,他是这一领域开天辟地的大师。

为表彰他的贡献,美国计算机学会 ACM 1966年设立了“图灵奖”,颁发给最优秀的电脑科学家。这枚奖章就像“诺贝尔奖”一样,代表了计算机学科的最高荣誉。

到目前为止,唯一获此殊荣的华人是,Andrew Chi-Chih Yao(姚期智)。2000年由于在伪随机数的生成算法、加密算法和通讯复杂性方面的贡献获得图灵奖

人工智能的发展史

图灵机

一条无限长的纸带 TAPE

一个读写头 HEAD

一套控制规则 TABLE

一个状态寄存器

“图灵机”不是一种具体的机器,而是一种思想模型。但是现代电脑确实是用相应的程序来完成设定好的任务。

“图灵机”奠定了整个现代计算机的理论基础。在电脑史上与“冯?诺依曼机”齐名

人工智能的发展史

图灵测试

第一次给出了检验计算机是否具有智能的哲学思想

设想一个人类提问测试者,一个声称自己是人的计算机A和一个人类被测试者B

测试者提出问题,A与B分别回答。

如果A与B的回答,使得人类测试者无法区分是人的回答还是计算机的回答,则计算机具有了智能。

人工智能的发展史

图灵认为:如果在30%的实验中,机器迷惑了测试者,那么它就通过了测试。并且预言,到2000年将会有足够好的计算机通过图灵测试。

目前仍然没有能够成功通过图灵测试的电脑,但已有电脑在测试中“骗”过了测试者

要通过图灵测试,要求计算机具有更多的技能

    自然语言处理、自动推理、计算机感知能力、知识表示、机器学习等能力,甚至能够模拟人类的情感和弱点 

人工智能的发展史

人工智能的诞生

1956: 世界上第一次正式的AI会议

美国的Dartmouth College,为期2月

John McCarthy 正式提出“Artificial Intelligence”这一术语,

    “computional rationality”

著名参加者:J.McCarthy(1971)、C.Shannon、M.Minsky(1969)、A.Newell(1975) 、A.Simon(1975)、 W.McCulloch、S.Papert

人工智能的发展史

早期的期望与繁荣

由于根深蒂固的相信“一台机器永远不可能做 X ”,一点点的人工智能的实现都是令人震惊的

1959: Frank Rosenblatt提出感知器模型(Perceptron  

Model)

1959: MIT(麻省理工) AI Lab正式成立(Minsky和McCarthy)

1958: Newell和Simon的四个预测

十年内,计算机将成为世界象棋冠军

十年内,计算机将发现或证明有意义的数学定理

十年内,计算机将能谱写优美的乐曲

十年内,计算机将能实现大多数的心理学理论

人工智能的发展史

困难与黑暗时期

   虽然机器能够解决一些极其错综复杂的难题,但有很多对人来说简单到不能再简单的事情,对电脑却难似上青天

理解

    机器翻译问题:

无限计算能力的幻觉

    尝试各种步骤可能组合——组合爆炸

 智能体结构的限制

     简单神经元网络虽然能够学习,但表示能力有限

人工智能的发展史

知识的力量—专家系统的兴起

1977年,费根鲍姆E.Feigenbaum(1994) 提出了“知识工程”的概念,标志着AI研究从传统的以推理为中心,进入到以知识为中心的新阶段。

用大量的规则描述专业知识,采用启发式的解题方法。

专家系统在医疗、自然语言理解、工程、军事和商业 等各个领域

80年代初,美、英、日等国先后投资数十亿美元用于AI工业,人工智能重新获得人们的普遍重视

然而,商业的投机动机导致了过分承诺,野心勃勃的目标从来没有实现过,投资者在八十年代末重新撤回了投资.

人工智能的发展史

近年人工智能的发展趋势

神经元网络的回归(1986-今)

    多层反向神经元网络成为热点

里程碑

1997年,IBM计算机深蓝击败卡斯帕罗夫;

2005年,Stanford 开发的一个自动驾驶机器人成功的在一条沙漠小路上行驶131公里;

2009年,Blue Brain Project 宣称成功模拟部分鼠脑

智能体技术兴起(intelligent agents)

AI比以往的任何时候都更加谨慎, 却也更加成功

人工智能的研究目标

感知外部环境——传感器设计

通过学习获得和更新知识——设计学习方法和元件

存储和使用知识——知识的形式化描述

根据环境和知识进行分析、判断、预测和决策

    ——设计推理决策方法和元件

根据决策作出动作和行为——设计执行器

人工智能的研究目标

人工智能的应用

知识工程

   以知识本身为处理对象,研究如何运用人工智能和软件技术,设计、构造和维护知识系统

专家系统

智能搜索引擎

机器翻译和自然语言理解

数据挖掘和知识发现

人工智能的应用

自动工程

   代替人类进行野外勘探、自动驾驶、高危操作等工作

自动驾驶

自动装配

海洋探索

太空探索

人工智能的应用

机器视觉,模式识别

指纹识别;

视网膜识别;

掌纹识别;

人像识别;

文字识别;

图像识别;

车牌识别;

人工智能的应用

机器思维与推理

人机博弈

定理证明

自动程序设计

人工智能的研究方法

    符号主义——逻辑推理

    连接主义——仿生学、心理学

    行为主义——进化、控制论

人工智能的研究方法

符号主义

传统人工智能是符号主义,它以Newell和 Simon提出的物理符号系统假设为基础。

物理符号系统假设认为物理符号系统是智能行为充分和必要的条件。

该系统可以进行建立、修改、复制、删除等操作,以生成其它符号结构

符号智能是以知识为基础,通过推理进行问题求解

人工智能的研究方法

连接主义

研究非程序的、适应性的、大脑风格的信息处理的本质和能力。人们也称它为神经计算。

1873年,神经科学的发展使人们认识了神经元,这一技术很快被运用于研究大脑结构和人类智能

近年来的神经元网络迅速发展,大量的神经网络的机理、模型、 算法不断地涌现出来

以数据为基础,通过训练建立联系,进行问题求解。包括人工神经网络、遗传算法、模糊系统、进化程序设计、人工生命等

人工智能的研究方法

行为主义

Brooks提出了无需知识表示的智能、无需推理的智能。

他认为智能只是在与环境的交互作用中表现出来,人们称为基于行为的人工智能,简言之,称为行为主义

在许多方面是行为心理学观点在现代人工智能中的反映

刺激反应性原理广泛的应用于简单智能体的构建中

人工智能的学科基础

人工智能是一门集大成的新兴学科,涉及到许多领域的知识

哲学

规则能否得到合理的结论

意识是什么

知识是从哪里来的

知识如何导致行动

人工智能的学科基础

数学

什么是合理的规则

什么样的问题可以通过计算求解

不确定的知识如何进行推理

经济学与运筹学

如何行为能够获得最好的结果

博弈行为

决策理论

人工智能的学科基础

神经科学

大脑的结构

人类神经系统的结构

人类神经系统如何处理信息

心理学

人类和动物如何思考和行动

语言学

自然语言如何产生

语言与思维的关系

人工智能的学科基础

控制论

如何控制人工制品的按照预定的目标工作

计算机工程

如何制造具有能干的计算机

人工智能

第二章 与或图搜索问题

与或图基本概念

耗散值的计算

C(n)为k连接符的路径耗散值,N为目标节点集合,{n1 ,n2 ,….ni }为由k连接符连接的i个节点,k(n,N)为节点n到N的耗散值,则:

与或图基本概念

耗散值的计算

h(s0)=12,h(s1)=9, h(s2)=3,h(s3)=2

节点耗散计算公式为:

    f(n)=g(n)+h(n)

   f(s0)=12

   f(s1)=2+9=11

   f(s2)=2+6+2=10

  f(s3)=2+5+3=10

K连接符需要考虑其全部分支

    f(k) =f(s2)+f(s3) =20;

    该算例中s0→s1的路径耗散加了2次,应根据实际问题确定

与或图基本概念

可解性判别

一个节点是可解,则节点须满足下列条件之一:

    ①终止节点是可解节点;

     ②一个与节点可解,当且仅当其子节点全都可解;

     ③一个或节点可解,只要其子节点至少有一个可解。

与或图基本概念

一个节点是不可解,则节点须满足下列条件之一:

    ①非终止节点的端节点是不可解节点;

     ②一个与节点不可解,只要其子节点至少有一个不可解;

     ③一个或节点不可解,当且仅当其子节点全都不可解。

与或图基本概念

解图

解图(树)是由可解节点形成的一个子图(树),这个个子图(树)的根是初始节点,叶为终止节点,且这个子图(树)还一定是与或图(树)。

从初始节点到目标节点集的路径

解图中叶节点集就是目标节点集

解图中每一个非终止节点都有后继节点

与或图基本概念

与或图基本概念

与或图应用

例:事故树

触电事故一般由人的不安全行为和物的不安全状态共同引发。人的不安全状态是指人接触带电体,包括操作对象带电、触及相邻带电体三种情况。物的不安全状态包括防护失效和接地不合格两种情况。

与或图的启发式算法

与或图搜索与状态图搜索类似,也是不断地扩展节点,并配以返回指针,而形成一棵不断生长的搜索树。

与或图搜索也分为盲目搜索和启发式搜索两大类。盲目搜索常用的方法也是深度优先和广度优先两种基本策略。

与或图的启发式搜索同样依赖于评价函数,其形式一般定义为f(n)=g(n)+h(n)

与或图的启发式搜索同样可以用open表和closed表实现,但是open表根据K连接符的耗散排序, closed表中多了一列“可解性”判别

与或图的启发式算法

步1 把初始节点S0放入OPEN表;

步2 移出OPEN表的耗散值最小的K连接符对应的节点N放入CLOSED表,并冠以序号n;

步3 若节点N可扩展,则做下列工作:

(1)扩展N:将其子节点配上指向父节点的指针后放入OPEN表;

(2)可解性判别:考察这些子节点中是否有终止节点。若有,则标记它们为可解节点,并将它们放入CLOSED表,然后由它的可解返回推断其先辈节点的可解性,并对其中的可解节点进行标记。如果初始节点S0也被标记为可解节点,则搜索成功,结束。

(3)删去OPEN表中具有可解先辈的节点(因为其先辈节点已经可解,故已无再考察该节点的必要),转步2;

与或图的启发式算法

步4 若N不可扩展,则做下列工作:

 (1)不可解判别:标记N为不可解节点,然后由它的不可解返回推断其先辈节点的可解性,并对其中的不可解节点进行标记。如果初始节点S0也被标记为不可解节点,则搜索失败,退出。

(2)删去OPEN表中那些具有不可解先辈的节点(因为其先辈节点已不可解,故已无再考察这些节点的必要),转步2;

与或图的启发式算法

例:初始节点为n0,目标节点为n7,n8。

任意单步路径耗散恒定为1

博弈与对抗搜索

问题1:假如你正跟恋人用手机通电话,突然信号断了。这时,你会立即拨电话过去,还是等你的恋人拨电话过来?

问题2:两个饥饿的人从神仙那里得到了一根鱼竿和一篓鲜鱼。…….

如果是你,你会选择哪个,怎么行动?

博弈与对抗搜索

博弈(game) :研究类似于棋类、赌博、游戏的,具有斗争、竞争性质的决策行为

对决双方(各方)的目标是往往冲突的

各方在决策时都必须考虑对方的行动

各方都以自身利益最大化为决策的准则

可以分为合作博弈与非合作博弈两类

博弈论(game theory)创始人:

冯?诺依曼

博弈与对抗搜索

博弈与对抗搜索

你每天都在博弈

学生阶段:跟同学博弈,跟老师博弈

工作了:跟老板、同事博弈,面临优胜劣汰的残酷竞争

谈恋爱:跟竞争对手博弈,跟恋人博弈

结婚后:跟配偶博弈,跟孩子博弈

任何时候:心理博弈,即自己和自己博弈

博弈与对抗搜索

经典的博弈模型

囚徒困境

两人因盗窃被捕,可以判他们犯盗窃物品的轻罪。

警方怀疑其有抢劫行为但未获得确凿证据,除非有一人供认或两人都供认。

囚徒被分离审查,不允许他们之间通信,交代政策如下:

如果两人都供认,每个人都将因抢劫加盗窃被判2年监禁;

如果两人都拒供,则两人都将因盗窃罪被判半年监禁;

如果一人供认而另一个拒供,则供认这被认为有功而免受处罚,拒供者将因抢劫罪、盗窃罪以及拒供重判5年。

博弈与对抗搜索

弱者的生存之道—智猪博弈

有两头非常聪明的猪,一大一小,共同生活在一个猪圈里。

猪圈的一端有一个踏板,另一端有一个食槽。

踏板连着开放饲料的机关,踏一下踏板,食槽里就会出现10个单位食物。

任何一头猪去踏这个踏板都会付出相当于两个单位食物的成本

每只猪都可以选择“踏”或者“不踏”踏板。

博弈与对抗搜索

博弈与对抗搜索

猪的选择

两智猪一起踏踏板,再一起回槽边进食

    大猪:8单位食物;小猪:2单位食物;

    减掉踏踏板的2个成本,大猪收益6,小猪收益0

大猪踏踏板,小猪槽边守候

    大猪:6单位食物,4;小猪:4单位食物,4

小猪踏踏板,大猪槽边守候

    大猪:10单位食物,10;小猪:0单位食物,-2

两猪都不去踏踏板,则都得不到食物,0 

博弈与对抗搜索

博弈与对抗搜索

弱者的生存之道—三人决斗

A、B、C三人决斗,每人有2颗子弹,每次发一枪。

A、B、C的命中概率分别为0.3、0.8、1.0。

三人按A、B、C顺序依次发射,两轮后对决结束。

每次可以选择向对手发射,也可以放空枪。

射中即死。

问在这场博弈中A的最优策略。

博弈与对抗搜索

先考虑A对手会采取什么行动

C,命中率为1,可选射A、射B、射空

     如果轮到C发射时只剩一个对手,则一枪解决对手;如果A、B都存活,C会选择射谁?

博弈与对抗搜索

A,命中率0.3,可选射B,射C,射空

如果A射B

如果A射C

博弈与对抗搜索

对空发射

博弈与对抗搜索

弱者的生存之道—珍珑棋局

博弈与对抗搜索

二人零和博弈

人工智能的博弈一般指二人零和博弈

两位游戏者参与

完整信息

轮流行动

游戏者有输有赢,一方所赢正是另一方所输,而游戏的总成绩永远为零

一个笑话:两个经济学家与 X X

博弈与对抗搜索

博弈问题

初始状态:当前系统状态(棋盘局面)、轮到哪个游戏者行动

后继函数: (行动,状态),一个规则允许的行动与该行动引起系统状态的变化

终止测试:判断游戏是否结束

收益函数:对系统状态的评价

博弈与对抗搜索

极大极小值算法

搜索过程分为搜索树生成和格局值估计两部分

先生成搜索树,然后用评价函数对每种局面进行评估,

评价函数值越大,对我方(MAX)越有利,对敌方(MIN)越不利,反之亦然

当MAX行棋时,将选择对我方最有利的步骤,也就是可选步骤中评价函数值极大的一步

当MIN行棋时,会选择对我方最不利的步骤,也就是可选步骤中评价函数值极小的一步

最终找到对MAX最有利的行棋步骤

博弈与对抗搜索

分钱币游戏(Grundy博弈)

规则:

一堆钱币,两位选手

甲方先将钱币分成数目不同的两小堆

乙方再选其中一堆,将其分成数目不同的两小堆

甲方接着分,。。。。依此类推

直到一方无法将钱币再分成不同的两小堆时认输

博弈与对抗搜索

7个硬币的Grundy博弈

博弈与对抗搜索

三子棋的极大极小值过程

规则:

井字棋盘,两人对弈

任意三子一线即为获胜

评价函数,对局面p:

f(p)=e(+p)-e(-p)

e(+p)是p上有可能使MAX成三子为一线的数目

e(-p)是p上有可能使MIN成三子为一线的数目

博弈与对抗搜索

具有对称性的棋盘可认为是同一局面。

博弈与对抗搜索

极大极小值算法的特点

优点

先按照深度优先方法生成树,再标记评价,思路简单

具有完备性

缺点

空间复杂度和时间复杂度巨大,不具备实用性

     以中国象棋为例,一盘棋平均走50步,总状态数约为10的161次方,假设计算机1毫微秒走一步,约需10的145次方年

但该算法是博弈问题数学分析和其他算法的基础

博弈与对抗搜索

极大极小值算法的改进

博弈与对抗搜索

α-β 剪枝

对极大极小值算法的改进

一边生成节点一边对节点评价,剪去一些没用的分枝 — 有限深度优先

α:对于MAX节点, α是该节点生成的若干子节点的最大评价值

β:对于MIN节点, β是该节点生成的若干子节点的最小评价值

博弈与对抗搜索

α剪枝

若MIN节点n的β值小于或等于它先辈节点的α值,则n 以下的分枝可停止搜索,并令节点n的倒推值为β。

β剪枝

若MAX节点n的α值大于或等于它先辈节点的β值,则n 以下的分枝可停止搜索,并令节点n的倒推值为α。

博弈与对抗搜索

问题1:该剪枝是α剪枝还是β剪枝?

问题2:该剪枝为有限深度优先算法,深度是多少?

博弈与对抗搜索

例:P75    2.14

要求: α剪枝用\\, β剪枝用X在图上标出

步骤:

1、先标出MAX (α)节点和MIN( β )节点

2、从最左边的一枝开始,倒推其先辈节点的α、 β值

3、按照从左到右的顺序,依次对相邻枝,按照α β剪枝条件进行剪枝

本章重点

与或图的基本概念、解图、可解节点与不可解节点

简单问题的与或图表示

极大极小值算法的基本思想

α剪枝、β剪枝

人工智能

第二章 搜索问题

本章的内容与目标

搜索与搜索问题

搜索问题的求解步骤

无信息(盲目)搜索

有信息(启发式)搜索

搜索与搜索问题

人类的实际搜索行为

人工智能所要解决的问题大部分不具备明确的解题步骤,而只能是利用已有的知识一步一步地摸索前进。

  

根据问题的实际情况不断寻找可利用的知识,从而构造一条代价较少的推理路线,使问题得到圆满解决的过程称之为搜索 。

搜索方法的经典应用

8数码问题

传教士和野人问题

旅行商问题

4皇后问题

迷宫问题

博弈问题

…………

搜索方法的一般步骤

1、定义状态描述形式

2、定义算符—是把问题从一种状态变换到另一种状态的方法代号,即状态演变规则

3、确定初始状态(初始节点)和目标状态(目标节点)

4、状态更新——根据算符更新当前状态

5、目标测试——判断更新后的状态是否为目标状态,若不是则转到4,否则转到6

6、搜索成功,记录搜索路径

用open表和closed表保存搜索经过的各个节点

open表和closed表的一般结构

无信息搜索

又称盲目搜索/穷举式搜索,只能按照预先规定的搜索控制策略进行搜索,没有任何中间信息来改变这些控制策略。

具有盲目性,效率不高,不便于复杂问题的求解。

常用方法有广度优先搜索和深度优先搜索以及这两种搜索方法的改良方法。

宽度优先搜索

最简便的图的搜索算法之一,属于一种盲目搜寻法。

目的是系统地展开并检查图中的所有节点,以找寻结果。

基本思想是首先搜索和初始节点距离为1的所有顶点,然后再去搜索和出始节点距离为2的其他顶点,依次类推

它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。

宽度优先搜索

广度优先搜索算法:

步1 把初始节点S0放入OPEN表中。

步2 若OPEN表为空, 则搜索失败,退出。 

步3 取OPEN表中前面第一个节点N放在CLOSED表中, 并冠以顺序编号n。

步4 若目标节点Sg= N,则搜索成功, 结束。 

步5 若N不可扩展, 则转步2。

步6 扩展N, 将其所有子节点配上指向N的指针依次放入OPEN表尾部, 转步2。

宽度优先搜索

例: 8数码问题

九宫格中有8个数码,其中只有一个空格

规则是一次只能把一个数码移动到空的格子中

要求从一个初始状态移动到一个目标状态

宽度优先搜索

宽度优先搜索

优点

完备性:如果问题有解,广度优先搜索总能够在有限步内找到目标节点

最优性:在不考虑路径耗散的前提下,广度优先搜索总能够找到最浅的目标节点

缺点:

遍历各个节点,搜索效率差,消耗大量内存和时间

宽度优先搜索的拓展

—代价树宽度搜索

代价树宽度搜索(代价一致搜索)对于任意单步路径耗散都是最优的搜索策略

其基本思想是优先扩展路径耗散最小的节点

对于任意节点n,用f(n)来表示n到初始节点的路径耗散,即代价

代价树宽度搜索

例: 旅行商问题

设A、B、C、D、E五个城市,旅行者从A出发,到达城市E,旅行费用如图所示,走怎样的路线费用最小?

要求画出代价树、OPEN表和CLOSED表

深度优先搜索

深度优先搜索总是先扩展搜索树的当前边缘中最深的节点

一种最原始的仿生学算法,来源于爬虫在树枝的搜索过程

深度优先搜索

深度优先搜索算法:

步1 把初始节点S0放入OPEN表中。

步2 若OPEN表为空, 则搜索失败, 退出。 

步3 取OPEN表中前面第一个节点N放入CLOSED表中,并冠以顺序编号n。

步4 若目标节点Sg=N, 则搜索成功,结束。 

步5 若N不可扩展, 则转步2。

步6 扩展N, 将其所有子节点配上指向N的返回指针依次放入OPEN表的首部, 转步2。

深度优先搜索

例:传教士和野人问题

有3个传教士和3个野人过河

只有一条能装下两个人的船

在河的任何一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险.

要求安全渡河

深度优先搜索

分析:

由于传教士与野人的总数目是一常数, 所以只要表示出河的某一岸上的情况就可以了

另外还需要表示出船的位置

因此用一个三元组(M, C, B), 来表示系统状态

M表示河左岸传教士的人数

C表示河左岸野人的人数

B表示船的位置,1表示船在左岸,0表示船在右岸

于是,初始状态为

              目标状态为

深度优先搜索

深度优先搜索

优点:

对内存需求比较少,如果一个节点的全部后代都被完全探索过,那么这个节点和它的全部后继都可以从内存(open表和closed表)中删掉了

缺点:

不完备,也不最优

回溯搜索策略

回溯策略属于深度优先搜索的一种变形

与深度优先搜索的区别:扩展一个节点时,每次只产生一个后继节点,而不是全部后继

回溯策略只保存单一的解路径,占用内存空间很少,只需要一张表即可完成搜索

回溯搜索策略

例:四皇后问题

在4×4方格的棋盘内,放置四个皇后

使任意两个皇后不在同一行、同一列、同一对角线(斜线)上

要求:找出所有的摆法

回溯搜索策略

状态描述:

单个皇后位置的描述:

    用(i,j)表示皇后在第i行j列

系统状态的描述

   四个皇后

((i1,j1), (i2,j2), (i3,j3), (i4,j4))

深度优先搜索的拓展

——深度有限搜索

深度有限搜索

预先设定一个搜索深度l,用以解决搜索树无边界的问题

搜索过程中认为深度为l的节点没有后继节点,必须回溯

缺点:增加了算法的不完备性

双向搜索

双向搜索

同时进行两个搜索,可以采用任意搜索方法

一个从初始状态向前搜索

另一个从目标状态向后搜索

当两个搜索在某个节点相遇时,搜索成功

无信息搜索的讨论

算法评判

完备性——是否一定能找到目标节点

最优性——搜索得到的解是否最优解

时间复杂度——算法的时间需求

空间复杂度——算法对计算机内存的需求

无信息搜索的讨论

重复状态

扩展一个节点时,新生成的节点已经在open表或者closed表中存在了,这种情况称为重复状态

有些情况下,重复状态会导致搜索失败;有些情况下,重复状态可以保留,但是会带来额外的计算资源的消耗

因此,一般期望尽可能避免重复状态

这时,有可能出现节点指针重新定向的情况

无信息搜索的讨论

问题的形式化描述

状态描述 —— 用数学方法定义系统状态

初始状态、目标状态

行动规则 —— 产生后继节点

目标测试——判断当前节点是否就是目标节点

路径耗散——为每一条搜索路径定义数值化的消耗值

无信息搜索的讨论

状态描述

八数码问题

3X3的二维数组

行动规则

假设r[i][j]=0,则它跟相邻元素可以互换

无信息搜索的讨论

状态描述

4皇后问题

状态:在棋盘上任意放置1-4个皇后,每一种放置都是一个状态

状态描述:逐一给出各个皇后的放置位置

行动规则:增加一个皇后到棋盘上的任何空格

无信息搜索的讨论

状态描述

四色问题,又称四色猜想,世界近代三大数学难题之一

要求:只用四种颜色对平面地图染色,要求每两个相同区域不能染成相同颜色

1976年美国数学家阿佩尔(K.Appel)与哈肯(W.Haken)宣告借助电子计算机获得了四色定理的证明,又为用计算机证明数学定理开拓了前景

无信息搜索的讨论

四色问题的状态描述

若干地区,四种颜色

状态:对任意地区的进行染色,任意染色结果都是一种状态

状态描述:用s[k]表示第k个地区的染色,逐一列出所有地区的染色就是系统的状态描述

行动规则:给一个没有染色的地区染色

无信息搜索的讨论

吸尘器的世界

只有两个房间A和B

每个房间有可能有灰尘也可能没有

吸尘器可以在两个房间里移动

如果有灰尘,则吸取;否则移动到另一个房间

无信息搜索的讨论

课堂练习

自动抓药系统

三个勺子,容量分别为8克、5克和2克

可以从药箱把勺子装满或倒空,也可以从一个勺子倒进另一个勺子

目标是从药箱抓1克药

给出状态描述、初始状态、目标状态以及行动规则

启发式搜索

启发式搜索,也称为有信息搜索,借助问题的特定知识来帮助选择搜索方向

在搜索过程中对待扩展的每一个节点进行评估,得到最好的位置,再从这个位置进行搜索直到目标。

启发式搜索的目的是省略大量无谓的搜索路径,提到效率。

在启发式搜索中,对节点的评价是十分重要的,评价函数是搜索成败的关键。

启发式搜索

评价函数,也称为启发函数提供问题的启发性信息,按其用途划分,可分为以下三类:

用于扩展节点的选择,即用于决定应先扩展哪一个节点,以免盲目扩展

用于生成节点的选择,即用于决定应生成哪些后续节点,以免盲目地生成过多无用节点

用于删除节点的选择,即用于决定应删除哪些无用节点,以免造成进一步的时空浪费

启发式搜索

一个节点n的评价函数的构造通常由两部分构成

从初始节点到当前节点n的路径耗散

从当前节点n到目标节点的期望耗散

即:评价函数可表示为:

这两部分里,      通常是比较明确的,容易得到

而        难以构造,也没有固定的模式,需要根据具体问题分析

启发式搜索

贪婪搜索

优先扩展距离目标最近的节点

例:西安到上海的贪婪搜索

启发式搜索

贪婪搜索的启发函数只考虑待扩展节点到目标节点的期望耗散,而不考虑初始节点到待扩展节点的实际耗散

贪婪搜索类似于深度优先搜索,总是先沿着一条枝搜索下去

贪婪搜索既不是完备的,也不是最优的

启发式搜索

A算法

代价树宽度搜索只考虑初始节点到待扩展节点的路径耗散

贪婪搜索只考虑待扩展节点到目标节点的期望耗散

A算法既考虑待扩展节点到目标节点的期望耗散,又考虑初始节点到待扩展节点的路径耗散

启发式搜索

A搜索算法的步骤

步1 把初始节点So放入OPEN表。

步2 若OPEN表为空, 则搜索失败, 退出。 

步3 移出OPEN表中第一个节点N放入CLOSED表中, 并冠以顺序编号n。

步4 若目标节点Sg=N, 则搜索成功, 结束。 

步5 若N不可扩展, 则转步2。

步6 扩展N,生成一组子节点,并利用评价函数为子节点估值,对这组子节点做如下处理: 

(1) 处理重复状态

(2)对其余子节点配上指向N的返回指针后放入OPEN表中, 并对OPEN表按f(n)值以升序排序, 转步2。

启发式搜索

A 算法举例

八数码问题

确定

    用节点深度,也就是初始节点到待扩展节点移动的数码的步数

确定

     不在位数码的总数

启发式搜索

A算法的表现极大地依赖于评价函数,特别是h(n),即:从节点n到目标节点最佳路径的估计耗散

假定h*(n)表示节点n到目标节点最佳路径的实际耗散

如果 h(n)> h*(n) , 搜索的节点数少,搜索范围小,效率高,但不能保证得到最优解。

如果h(n)<= h*(n) ,这种情况下,搜索的节点数多,搜索范围大,效率低,但能得到最优解

启发式搜索

满足h(n)<= h*(n) 条件的A搜索,称为A* (A-star)搜索

A* 搜索中,h(n)越接近h*(n) ,搜索效率越高

宽度优先算法可以看作A*算法的特例,即:g(n)是节点所在的层数,h(n)=0

代价树宽度搜索也可以看作A*算法的特例,即:g(n)是节点n的实际路径耗散,h(n)=0

跟前两个算法一样,A*算法也具有完备性和最优性

启发式搜索

例:八数码问题

启发函数1:h1(n)=不在位的数码的总数

问题1:图中S0状态h(S0)是什么, h*(S0) 又是什么

问题2:这个启发函数是否一定满足h(n)<= h*(n)

问题3:对于八数码问题,还能提出其他的启发函数吗?

启发式搜索

例:八数码问题

启发函数2: h2(n)=所有数码到目标位置的距离和(曼哈顿距离)

问题1:图中S0状态h(S0)是什么, h*(S0) 又是什么

问题2:这个启发函数是否一定满足h(n)<= h*(n)

启发式搜索

A*算法

当h(n)<= h*(n) 时,同时满足完备性和最优性要求

h(n)越接近于真实耗散h*(n),算法的搜索效率越高,对内存和时间的需求越小

如果满足h(n)= h*(n),是最完美的A*算法

h(n)的设计是A*算法的核心,也是最困难的地方

启发式搜索

启发式函数的构造思想之一

松弛法

    放松行动规则约束的思想方法

八数码问题:

     行动规则:如果以下条件成立,则一个数码可以从A方格移动到B方格

     1、 B为空

     2、 A与B相邻

    放松约束1:A可以移动到B

    放松约束2:如果A与B相邻,则A可以移动到B

    放松约束3:如果B为空,则A可以移动到B    

启发式搜索

启发式搜索与最优化问题

求解现实问题时往往不能明确的知道解的形式,而是只有一堆约束条件,满足约束条件的状态就是一个合法的解

满足约束条件的解可能有很多个,人们希望找出使某个目标最满意的解,称为最优解

这样的问题称为最优化问题

目标条件就是搜索中的评价函数

启发式搜索

最优化问题

目标条件(评价函数)

约束条件

表示在所有满足约束条件的解中取目标条件最小的为最优解

启发式搜索-爬山法

爬山法

模拟人们出游爬山的决策过程

以目标值增加的方向为搜索方向

如果有多个增加的方向,选使目标值增加速度最快的方向

爬山法会在某个峰顶终止,其相邻状态中没有更高的目标值了,称为局部极大值

启发式搜索-爬山法

爬山法的基本步骤

1、初始化,确定初始节点等参数

2、检查当前节点是否满足目标条件,如果满足,则搜索成功,结束

3、取邻域中每一个相邻节点,计算其目标函数的改进值

4、取改进值最大的相邻节点作为搜索目标,替换当前节点

5、检查是否满足循环终止条件。如果满足,则中止循环,否则转步2

启发式搜索-爬山法

爬山法的缺陷

难以处理山肩的情况

贪婪搜索方向不一定是正确的搜索方向

启发式搜索-爬山法

爬山法的改进

随机爬山法:在上山移动中随机的选择下一步

可回溯爬山法:给定启发式的回溯策略,允许回头搜索其他节点

洪水爬山法:

不断寻找改进方向

允许水平移动

可回溯

启发式搜索-模拟退火算法

模拟退火算法(simulated annealing)

爬山法是不完备的,有可能停留在局部最优解上

随机行走(遍历)是完备的,但是搜索效率很差

模拟退火算法将爬山法与随机行走结合起来,希望同时得到效率和完备性

启发式搜索-模拟退火算法

模拟退火过程

思想来源于固体退火原理,属于热力学范畴

将固体加温至充分高,再让其缓慢冷却

加温时,固体内部的粒子随温升脱离原先的平衡态,变为无序状

缓慢冷却时,粒子活性逐渐下降,逐渐停留在不同状态,重新形成粒子的排列结构

如果降温过程足够缓慢,粒子的排列就会达到一种平衡态,使系统能量最小

启发式搜索-模拟退火算法

启发式搜索-模拟退火算法

模拟退火的基本步骤:

 (1) 初始化:初始温度T(充分大),初始状态S, 迭代次数L

 (2) 对k=1,……,L重复第(3)至第6步:

 (3) 产生新解S’

 (4) 计算增量Δt’=C(S’)-C(S),其中C(S)为评价函数

 (5) 若Δt’<0则接受S’作为新的当前解,否则以概率exp(-Δt’/T)接受S’作为新的当前解

 (6) 如果满足终止条件则输出当前解作为最优解,结束程序。终止条件通常取为连续若干个新解都没有被接受时终止算法。

     (7) T逐渐减少,且T>0,然后转第2步。

启发式搜索-模拟退火算法

冷却进度表:

是指调整模拟退火法的一系列重要参数,它控制温度参数T的初值及其衰减函数。

冷却进度表的内容:

控制参数T的初值;

控制参数T的衰减函数;

每一个温度下的迭代次数L,即每一次随机游走过程,要迭代多少次,才能趋于一个准平衡分布

结束条件

启发式搜索-模拟退火算法

Metropolis准则:

假设在状态xold时,系统受到某种扰动而使其状态变为xnew。与此相对应,系统的能量也从E(xold)变成E(xnew)

系统由状态xold变为状态xnew的接受概率p为:

若Δt’<0则接受S’作为新的当前解S,

否则以概率exp(-Δt’/T)接受S’作为新的当前解S

启发式搜索-模拟退火算法

模拟退火算法的关键点

初始温度必须足够高

在每一个温度下,状态的转换必须足够充分

温度T的下降必须足够缓慢

启发式搜索-模拟退火算法

模拟退火算法的优缺点

  优点:

计算过程简单,通用,鲁棒性强

适用于并行处理,可用于求解复杂的非线性优化问题

缺点:

如果降温过程足够缓慢,多得到的解的性能会比较好,但与此相对的是收敛速度太慢;

如果降温过程过快,很可能得不到全局最优解

启发式搜索-遗传算法

遗传算法(genetic algorithm,GA)

模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型

是一种通过模拟自然进化过程的随机优化搜索方法

美国Michigan大学J.Holland教授于1975年首先提出来的

启发式搜索-遗传算法

启发式搜索-遗传算法

遗传算法的基本思想

遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象

在每次迭代中,根据适应度评估群体中的所有成员,然后选取适应度最高的个体产生新一代群体

在被选中的个体中,一部分保持原样地进入下一代群体;另一部分利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群

重复此过程,直到满足某种收敛指标为止。

启发式搜索-遗传算法

编码

编码就是模拟染色体的结构,染色体是由基因排成的串

通过某种编码机制把对象抽象为由特定符号按一定顺序排成的串,常用由0,1组成的字串

常用随机方法生成若干个个体的集合,该集合称为初始种群。

初始种群中个体的数量称为种群规模。

启发式搜索-遗传算法

例:将[0,1]之间的数编码,精确到小数点以后两位,即0.01,0.02,0.03… 0.99

1、确定编码长度:根据取值空间,可知有99种编码结果,而               ,因此01编码的长度为7位

2、编码:乘以100,然后转化为7位二进制

0.01→0000001           0.02 →0000010

0.03→0000011           0.99 →1100011

3、解码

启发式搜索-遗传算法

启发式搜索-遗传算法

适应度函数

即评价函数,用来描述一个个体的好坏

遗传算法中,适应度函数值越大,解的质量越好

适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准

它的设计应结合求解问题本身的要求而定

启发式搜索-遗传算法

遗传算子

选择算子

交叉算子

变异算子

启发式搜索-遗传算法

选择算子

使用选择运算来实现对群体中的个体进行优胜劣汰操作

适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体被遗传到下一代群体中的概率小

选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体

启发式搜索-遗传算法

轮盘赌选择算子

轮盘赌选择又称比例选择算子

其基本思想是:各个个体被选中的概率与其适应度函数值大小成正比

启发式搜索-遗传算法

交叉算子

交叉运算是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体

交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。

启发式搜索-遗传算法

交叉前:0.74 与 0.29

                                 

交叉后:0.77 与 0.26

启发式搜索-遗传算法

变异算子

是指个体编码串中的某些基因值用其它基因值来替换,从而形成一个新的个体。

遗传算法中的变异运算是产生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样性。

交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。

启发式搜索-遗传算法

变异前:0.77

变异后:0.73

启发式搜索-遗传算法

运行参数

种群规模

终止进化参数

交叉概率

交叉条件

变异概率

变异条件

启发式搜索-遗传算法

遗传算法的特点

遗传算法是一种成功的自适应方法,具有很好的健壮性,易于并处理

遗传算法长于全局搜索, 它不受搜索空间的限制性假设的约束, 能以很大的概率从离散的、多极值的、 含有噪声的复杂问题中找到全局最优解。

遗传欺骗:在遗传算法进化过程中,有时会产生一些超常的个体,因竞争力太突出而控制了选择运算过程,从而影响算法的全局优化性能,导致算法获得某个局部最优解

启发式搜索

高级搜索算法的应用。

机器学习

自动控制

规划设计

调度配置

组合优化

图像和信号处理

……

本章重点

启发式搜索的基本思想、原理和方法

利用open表和closed表解决搜索问题

人工智能

第三章 谓词逻辑与归结原理

概述

语言

自然语言:人们在日常生活中所使用的语言文字

半形式化语言:自然语言加特定的符号,如数学语言(定义、定理等)

形式化语言:用精确的数学或机器可处理的公式定义的语言 。(逻辑学语言,弗雷格Frege ,1879)

    (p→q)∧(p→r)∧ ~ p∧ ~ r→ ~ p

怪物洞穴

人工智能的经典实验环境—怪物洞穴(wumpus世界)

洞穴有多个房间组成

某个房间中藏着一只怪物wumpus,它会吃掉进入这个房间的人,相邻房间中能够感觉到臭味

某些房间中有陷阱,进入房间会被陷阱吞噬,相邻房间中能够感觉到微风

游戏的主角是一个智能体,可以进入相邻的房间(对角线不可以)

智能体有且仅有一支箭,用这支箭可以射杀怪物

某个房间中有金子,游戏的目标是智能体找到金子

怪物洞穴

智能体行动的关键是要根据获得的信息推理,从而判断那个房间有怪物,那个房间有陷阱,那个房间是安全的

房间[4,2]和[2,3]有陷阱,房间[3,4]有怪物,房间[4,3]有金子

3.1 命题逻辑

3.1 命题逻辑

命题—能够判断真假的陈述句

陈述句

真值唯一, 可用二进制表示

用小写字母进行标识

1、北京是中国的首都。

2、长安大学位于钟楼附近。

3、 1+1=2                          

4、计算机系的学生必修C或JAVA。

5、坐着花生过黄河

5、x+1=2

6、吃饭了吗?

7、南无阿弥陀佛

8、我正在说假话

3.1 命题逻辑

简单命题与复合命题

简单命题:(原子命题)

一个命题无法分解为更简单的子命题

复合命题:

    由简单命题用联结词联结而成的命题

    1、由若干简单命题组成;  2:由联结词联结

例:

1、北京是中国的首都。

2、长安大学位于钟楼附近。

3、计算机系的学生必修C或JAVA。

4、这家的报价单配置合理并且价格低廉。

5、“李四是犯罪嫌疑人”   “李四有犯罪动机”  

3.1 命题逻辑

合式公式:

单个常量或者变量的命题构成合式公式

联结词联结的合式公式的组合也是合式公式

合式公式的有限次组合称为命题公式

命题公式:有限次合式公式组合的形式化描述,本书中以大写字母标识。

3.1 命题逻辑

基本联结(连接)符号

 ~ 非,否定,  ﹁

 ∧ 与,合取,AND的首字母

 ∨ 或,析取,vel

 → 蕴含

式A: a →b表示,如果a为真,则b为真。

 ? 等价

联结符号的优先级

~     ∧       ∨   →   ?

3.1 命题逻辑

将命题从语言表述转换为命题公式

step1、找出简单命题,并用符号表示

step2、分析简单命题间的逻辑关系,用联结符号进行描述

3.1 命题逻辑

例:怪物洞穴

如果房间[1,1]中有臭味,则房间[1,2]或[2,1]中有怪物

        表示房间[i,j]中有臭味

        表示房间[i,j]中有怪物

                  

                    

3.1 命题逻辑

练习:扫雷游戏

设Xi,j表示方格[i,j]中有一个地雷。

写出方格[1,1]周围恰好有2颗地雷的命题公式

3.1 命题逻辑

命题公式的赋值

对命题公式中的所有的命题变量各赋给一个值0,1。

真值表

3.1 命题逻辑

复合命题的真值

例:

p: 周杰伦是一个流行歌手

q: 人工智能是计算机科学的一个分支

 r: 牛在天上飞

求下列复合命题的真值

3.1 命题逻辑

命题公式的分类

重言式或永真式 tautology ,

设A为任一命题公式,若A在它的各种赋值下取值均为真,则称A是重言式

例:P∨~P

矛盾式或永假式 contradictory

设A为任一命题公式,若A在它的各种赋值下取值均为假,则称A是永假式。

例: P∧~P

3.1 命题逻辑

可满足式 satisfiable

设A为任一命题公式,如果存在一组取值使A为真,则A为可满足式。

即:对于命题公式A,若A不是矛盾式,则称A是可满足式。

例:P∧Q

  

非重言式的可满足式

    既是可满足式,又不是重言式

3.1 命题逻辑

等值逻辑运算

<=>  逻辑等值,等号连接的命题公式等价,≡

基本等值算式  P80

交换率:  A ∧ B <=> B ∧ A; A ∨B <=> B ∨ A ;

结合率:  (A ∧ B) ∧ C<=> A ∧(B ∧ C) ;

                (A ∨B) ∨ C<=> A ∨ (B ∨ C) ;

*分配率:  A ∨ (B ∧ C) <=> (A ∨ B) ∧(A ∨ C) ;

                A ∧(B ∨ C) <=> (A ∧ B) ∨(A ∧ C) ;

双重否定律:~ ~ A <=> A ;

等幂率: A <=> A ∧ A ; A <=> A ∨ A ;

*摩根律: ~ (A ∨ B) <=> ~A ∧ ~B;

                 ~ (A ∧ B) <=> ~A ∨ ~B;

3.1 命题逻辑

吸收率: A ∨( A ∧ B ) <=> A;

               A ∧ (A ∨B ) <=> A ;

同一率:  A ∨0 <=> A; A ∧ 1 <=> A;

零率:     A ∨1 <=> 1; A ∧ 0 <=> 0;

排中律: A ∨ ~ A <=> 1

矛盾律: A ∧ ~ A <=> 0

*蕴含等值式: A→B<=> ~ A ∨ B ;

*等价等值式: A?B<=> (A→B) ∧(B →A) ;

假言易位式: A → B<=> ~ B → ~ A ;

等价否定等值式: A ? B<=> ~ A ? ~ B;

归谬论: (A → B) ∧ (A → ~B) <=> ~ A ;

3.1 命题逻辑

合取范式与析取范式

简单析取式:有限个命题变元或其否定,析取联结符

    p∨q;   ~p ∨q  ;   p  ;  q

合取范式:有限个简单析取式,合取

    p∧(p∨q) ∧(~p ∨q)

简单合取式:有限个命题变元或其否定,合取

     p ∧ q;   ~p ∧ q  ;   p  ;  q

析取范式:有限个简单合取式,析取

    p ∨(p ∧ q) ∨(~p ∧ q)

3.1 命题逻辑

任意命题公式都存在等值的析取范式和合取范式

求取合取范式的步骤

1、利用蕴含等值式和等价等值式消去命题公式中除{~,∨,∧}以外的联结词

2、利用摩根律、双重否定律等进行置换,将~移到括号里面

3、 利用分配律得到合取范式

3.1 命题逻辑

例 P82  计算(p ∧ ( q →r) ) →s 的合取范式

                  (p ∧ ( q →r) ) →s

           <=> (p ∧ (~ q ∨r) ) →s ;        蕴含等值式

           <=> ~ (p ∧ (~ q ∨r) ) ∨ s ;    蕴含等值式

         <=> ~ p ∨~ (~ q ∨r)  ∨ s ;     摩根律

          <=> ~ p ∨(~ ~ q ∧ ~r) ∨ s;    摩根律

          <=> ~ p ∨( q ∧ ~r) ∨ s;         双重否定律

          <=>( ~ p ∨ s ) ∨( q ∧ ~r);      交换律

          <=> ( ~ p ∨ s ∨ q )∧ (~ p ∨ s ∨ ~r) ;

                                                              分配律

3.1 命题逻辑

例 P82

计算 ((p ∨q) →r) →p 的合取范式

          ((p ∨q) →r) →p

  <=> (~(p ∨q) ∨ r) →p             ;蕴含等值式

  <=> ~ (~(p ∨q) ∨ r) ∨ p         ;   蕴含等值式

  <=> ( ~ ~ (p ∨q) ∧ ~ r )∨ p      ;   摩根律

  <=> ( (p ∨q) ∧ ~ r )∨ p            ;   双重否定律

  <=> ( p ∨q∨ p) ∧ (~ r ∨ p )    ;   分配律

  <=> ( p ∨q) ∧ (~ r ∨ p )           ;   等幂律

3.1 命题逻辑

课堂练习

    计算合取范式 (p→q) ∧~ (~q →~ p)

     (~p∨q) ∧ ~ q ∧  p

3.1 命题逻辑

命题逻辑推理

逻辑结论:如果A→B为重言式,则称B是A的逻辑结论,记作A=>B。

常用推理定律:

附加: A => (A ∨B)

简化: (A ∧ B) => A

假言推理: ((A → B) ∧ A) => B

拒取式: ((A → B) ∧~ B) => ~ A

析取三段论:((A ∨ B) ∧~ A) => B

假言三段论:((A → B) ∧ (B →C ) ) => (A → C)

等价三段论:((A      B) ∧ (B     C ) ) => (A      C)

构造型二难:(A → B) ∧ (C →D ) ∧ ( A ∨ C ) => (B ∨ D )

3.1 命题逻辑

命题逻辑推理规则

前提引入规则

    任何证明的步骤上,都可以引入前提;

结论引入规则

   任何证明的步骤上,所得到的结论都可以作为后续证明的前提;

置换规则

   任何证明的步骤上,命题公式中任何子命题都可以用与之等值的命题公式置换;

3.1 命题逻辑

例:P84

        如果今天下雨,则要带雨伞或雨衣。如果走路上班;则不带雨衣。今天下雨,走路上班,证明要带伞。

解:

    p: 今天下雨;q: 带雨伞;r : 带雨衣;s: 走路上班

前提: p→(q∨ r); s →~ r; p; s   求证: q

证明:1、 p→(q∨ r) ,p                                前提引入:

         2、((p→(q∨ r) )∧ p) => q∨ r               假言推理:

            3、 s →~ r, s                                           前提引入:

            4、 ((s →~ r)∧ s) => ~r                           假言推理:

            5、 ((q∨ r )∧ ~r ) => q                           析取三段论:

3.1 命题逻辑

例 怪物洞穴

     表示房间[i,j]中有臭味

     表示房间[i,j]中有怪物

     表示房间[i,j]中有微风

     表示房间[i,j]中有陷阱

3.1 命题逻辑

初始状态,在房间[1,1]处没有感觉到微风,也没有臭味,则相邻房间为安全的,既没有怪物也没有陷阱。

前提:     

结论:

证明:

                                                                  前提引入

            

                                                                  等价等值式

                                                                  简化

                                                                  前提引入

                                                                  拒取式

                                                                  摩根律

3.1 命题逻辑

归结原理

证明的一般方法

由已知条件正向推导结论,演绎推理

假定结论不成立,逆向推导与已知条件矛盾,反证法

命题逻辑证明的归谬思想 P85

归结原理的思想:如果证明A∧~B为永假式,则得证

3.1 命题逻辑

归结方法的思想

1、将待证明问题转化为其逆否命题

例:条件 A,求证B. 即  A→B

       其逆否命题为:

        A∧~B

2、求合取范式,得到子句集

构成合取范式的有限个简单析取式构成的集合就是子句集

3、对子句集进行归结,得到空子句

3.1 命题逻辑

将待证明问题转化为其逆否命题

证明问题的一般形式:

    已知:A成立

    求证:B成立

     即:证明 A→B

      A →B <=> ~A∨B           蕴含等值式

                 <=> ~(A∧~B)      摩根率

      A∧~B即为原命题的逆否命题

3.1 命题逻辑

例:证明 G是F的逻辑结论

F1:P→W

F2:~W

G:~P

分析:已知条件为:

      (P→W)    (~W)

           结论为:~P

  则,逆否命题为:

      (P→W) ∧(~W)

3.1 命题逻辑

子句与子句集 P86

对问题的逆否命题,求其合取范式

对于一个合取范式,该范式中的每一条简单析取式都是一个子句。

子句集:合取范式下的所有子句构成其子句集。

例: p∧(p∨q) ∧(~p ∨q)

子句集为

              {p,  p∨q, ~p ∨q}

3.1 命题逻辑

归结方法

如果p∨q与~ q ∨r都为真,则p∨r为真

证明1 真值表

3.1 命题逻辑

归结式

例   {p∨q, ~p ∨q} 归结后为:

          {q}

归结的目标—空子句

对于一个合取范式,如果有一个子句不可满足,则子句集就不可满足,该合取范式为永假式

若一个子句集中包含空子句,则这个子句集一定是不可满足的

例:{p, ~p}归结后为

           {□}

3.1 命题逻辑

归结法步骤

建立待归结命题公式。将证明A→B为真转化为证明A∧~B为矛盾式

求合取范式,得到子句集

对子句集进行归结

归结式作为新子句加入子句集进行归结

当归结式为空子句□时停止,证明结束。

出现空子句□ ,表示该子句集不可满足

归结法的完备性:如果A→B成立,则利用归结法一定可以得到证明

3.1 命题逻辑

例:证明(p→q) →(~q →~ p)

证明:

      要证明原命题为真,只需证明(p→q) ∧~ (~q →~ p)为恒假

              (p→q) ∧~ (~q →~ p)

       <=> (~p∨q) ∧~ (q ∨ ~ p)                 蕴含等值式

       <=> (~p∨q) ∧ ~ q ∧  p                     摩根律

   于是,子句集为:

       1   ~ p∨q

       2   ~ q

        3    p                                              {~ p∨q, ~ q, p}

        4   ~ p                  1、2归结

       5   □                    3、4归结

    由此可得: (p→q) ∧~ (~q →~ p)为恒假,原命题为真                  

3.1 命题逻辑

例:怪兽洞穴

1、在房间[1,1]处没有感觉到微风,也没有臭味。

2、在房间[1,2]处感觉到微风,但没有感觉到臭味。

3、在房间[1,2]处没有感觉到微风,但感觉到臭味。

求证:房间[3,1]处有怪物*;房间[1,3]处有洞穴;房间[2,2]是安全的。

3.1 命题逻辑

前提:

求证:

证明:要证明原命题为真,只需证明以下命题为恒假

                                                            

3.1 命题逻辑

于是,得到子句集为:

3.1 命题逻辑

3.1 命题逻辑

思考:

归结算法的计算机实现?

      {S0,S1,S2,S3… }

     终止条件:

     1、生成了空子句,证明结束

     2、循环结束,没有可以添加的新语句,待证明的定理不成立

3.1 命题逻辑

好的归结控制策略

           初始状态优先选择包含结论的子句进行归结,之后每次都选择上一次归结得到的归结式与其他子句归结

容易犯的错误

    字句集

     1、P∨Q

     2、~P∨~Q    

     3 、 □                                1 、 2归结

3.1 命题逻辑

归结方法是一种机械化的,可在计算机上加以实现的推理方法

归结方法是一种反向推理形式

提供了一种自动定理证明的方法

归结的半完备性

当定理可以证明时,归结方法是完备的

当定理不可证明时,归结方法得不到任何结论,算法不一定会停止

3.2 谓词逻辑

3.2 谓词逻辑

3.2.1 基本概念

命题逻辑描述简单的陈述性命题,但表示量化和谓词过于繁琐,也难以表示个体间的关系

3.2 谓词逻辑

3.2.1 基本概念

谓词逻辑

Class(x)表示x在上人工智能课

 x=张三,就得到了s1;

 x=李四,就得到了s2;

 x=王五,就得到了s3;

  

Class(x,y)表示x在上y课

x=张三, y=人工智能,表示张三在上人工智能课

x=李四, y=线性代数,表示李四在上线性代数课

x=王五, y=睡觉,表示王五在上睡觉课

3.2 谓词逻辑

3.2.1 基本概念

命题是一个陈述句,它一般可分成主语和谓语两部分。有时还需要用到量词。

主语:指独立存在的客体,可以是具体事物或抽象概念,也称为个体

谓词:描述个体词性质或个体之间关系的词

个体域:表示个体变量的取值范围,常用D表示

常量:表示具体性质或关系的个体或者谓词

变量:表示抽象或泛指的个体或者谓词。

量词:表示数量的词。

任意量词?:表示“任意”,“所有”,也称为全称量词

存在量词?:表示“存在”

3.2 谓词逻辑

3.2.1 基本概念

例:“关羽是人”,“张飞是人”

这是两个不同的命题,其主语(个体)不同

但是谓词是相同的,“是人”

把谓语部分抽出来,假设 Human(x)表示x是人

这两个命题都可以用这个谓词来描述

    Human(guanyu)

    Human(zhangfei)

其中

x属于个体变量,

guanyu和zhangfei属于个体常量  

3.2 谓词逻辑

3.2.1 基本概念

例:

1、所有的人都是要死的

2、有的人能够活到100岁

    P(x)表示x是要死的, Q(x)表示x活到100岁

个体域D为人类集合

个体域D为总个体域集合

引入特殊谓词R(x)表示x是人

3.2 谓词逻辑

语言描述转换为谓词公式

1、确定并说明谓词

2、确定个体和个体域

3、确定量词

4、判断谓词间的逻辑关系

3.2 谓词逻辑

例:我是计算机系的学生

1、确定并说明谓词:

    方法一:Student(x,y) 表示X是Y系的学生

2、个体域:X:学生的集合,y:系的集合

     Student(I,computer)

    方法二:Computer(x) 表示X是计算机系的学生

    Computer(I)

    注意:必须对谓词进行说明

    P(I,computer)           

3.2 谓词逻辑

1、定义并说明谓词

    Unlike(x,y)表示

               x不喜欢y课

2、个体域

    x学生的集合,

    y课程的集合

3、量词

    存在

3.2 谓词逻辑

例:任何人的兄弟都是男性

确定并说明谓词

Brother(x,y) 表示x是y的兄弟

Male(x)表示x是男性

个体域

 Brother(x,y)    x、y:人的集合

 Male(x)         x :人的集合

量词

     任意

确定逻辑关系

      与?或?非?蕴含?等价?

  

3.2 谓词逻辑

例:不管黑猫白猫,抓住老鼠就是好猫

定义并说明谓词

     Cat(x,y)表示是x是y颜色的猫

     Goodcat(x)表示x是好猫

     Catch(x,Mouse)表示x能抓住老鼠

个体域

     x: 猫的集合,y:颜色的集合

谓词间的关系

     Cat(x,y)与Catch(x,Mouse)蕴含Goodcat(x)

量词:

     任意   

3.2 谓词逻辑

3.2.1 基本概念

量词使用中的注意事项

不同的个体域中,命题符号化的形式可能不同

没有给定个体域的情况下,应考虑全总个体域

如果个体域为有限集                           ,对任意谓词P(x)有:

多个量词同时出现时,不能颠倒其先后顺利,否则会改变公式的含义。

3.2 谓词逻辑

3.2.1 基本概念

例:love(x,y)表示x喜爱y

    表示对任意的x,都存在喜爱的对象y,即“每一个人都会喜爱某人”

    表示存在都一个y ,任意的人x 都喜爱他,即

    “上帝”

     

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

原子公式:设                        是任意n元谓词,

                      是项,则称                       为原子公式。

项:

任何常量是项。

任何变量是项。

n ≥ 1 个参数的任何表达式                   (其中,   是项,而 f 是 n 阶的函数)是项。

闭包条款: 其他东西都不是项。                                      

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

谓词公式

原子公式是谓词公式。

若A为谓词公式,则~A也是一个谓词公式。

若A和B都是谓词公式,则(A ∧B),(A ∨B),(A→B)和(A   B)也都是谓词公式。

若A是谓词公式,       和         也都是谓词公式。

只有有限次应用上述规则得到的公式,才是谓词公式。

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

对于        ,

x称为指导变量

A称为相应量词的辖域

    ?x(p(x))

x在辖域A中的出现称为约束出现

x以外的变量在辖域A中的出现称为自由出现

    ?x(p(x,y))

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

对于                 ,

    指导变量:

     ?的辖域:   

      x、y是约束出现还是自由出现

     y是约束出现,

     x是自由出现

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

不同量词如果采用相同的指导变量名,易引起混淆

一般要求不同的量词使用不同的指导变量名称

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

当在一个公式中,一个变量符号既是约束出现的变量,又是自由出现的变量时,需要作变量符号更换。

换名规则:将量词辖域中某个约束出现的变量及其指导变量替换为此辖域中未出现过的个体变量符号

                                  

           x既作为指导变量约束出现又自由出现,因此要换掉其中之一

          换名规则更换的是指导变量

     可替换为

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

替代规则:对某自由出现的个体变量用与原公式中未出现过的变量符号去替代,且处处替代。

                                       

           x既作为指导变量约束出现又自由出现,且多处自由出现

          替代规则更换的是自由出现的变量,且处处替代

     替换为

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

谓词公式的解释

对谓词公式中的各种变量制定具体的常量去替代

一个解释包括

非空个体域 D

 D中一部分特定元素;

 D上一些特定的函数;

 D上一些特定的谓词。

如果谓词公式在特定解释下为真,称这个解释满足这个谓词公式,是这个谓词公式的一个模型

永真与不可满足

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

例:p92

    给定解释I如下

    个体域:

     函数 f(x) : f(2)=3, f(3)=2

     谓词:P(x) 为 P(2) =0 ,P(3) =1

                 Q(x,y)为  Q(i,j)=1,    i,j = 2,3

                 R(x,y)为  R(2,2)= R(3,3)=1, R(2,3)= R(3,2)=0

    求解释I下,下列谓词公式的真值

                 1、

             2、

3.2 谓词逻辑

3.2.2 一阶谓词逻辑

解 1、

        => (P(f(2)) ∧Q(2,f(2))) ∨ (P(f(3)) ∧Q(3,f(3)))

          => (P(     ) ∧Q(2,     )) ∨(P(     ) ∧Q(3,     ))

          => (1 ∧1) ∨( 0∧1)

          =>1

         2 、

        =>

          =>(R(2,2) ∨ R(2,3)) ∧ (R(3,2) ∨ R(3,3))

           =>(1 ∨0) ∧ (0∨1)

           =>1

3.2 谓词逻辑

3.2.3 谓词演算与推理

谓词演算公式

约束变量换名规则,Q为任意量词

      (Qx)P(x)<=> (Qy)P(y)     (Qx)P(x,z)<=> (Qy)P(y,z)

量词消去等值式,对于有穷个体域

量词否定等值式

量词分配等值式

3.2 谓词逻辑

3.2.3 谓词演算与推理

量词辖域收缩与扩张等值式

3.2 谓词逻辑

3.2.4 谓词知识表示

谓词逻辑表达的规范形式

P是谓词,而                   表示个体(主体或者客体)

知识库:表达知识的一组谓词公式的集合。

语句的集合

对环境、规则等信息的结构化描述

基于知识的智能体的核心构件

3.2 谓词逻辑

3.2.4 谓词知识表示

定义谓词

例1、小李与小张打网球

     Play(x,y,z)表示x,y在进行z运动

      Play ( Li, Zhang, tennis)

     2、我在长安大学当教师

      Work ( x, y, z)表示x在y单位从事z工作

        Work ( Me, Chd, teacher)

      3、怪物洞穴中某个房间有微风、有臭味、没有怪物、没有陷阱、没有金子

     Roomi,j ( x, y, z, m, n) 参数分别对应有没有微风、臭味、怪物、陷阱、金子

    Roomi,j( 1, 1, 0, 0, 0)

3.2 谓词逻辑

3.2.4 谓词知识表示

例: 准前女友

双眼皮,大眼睛

doublefold(x) ∧ bigeyes(x)

一头乌黑的头发

blackhair(x) ∧thickhair(x)

一身漂亮的呢子大衣

beautifuldress(x)

走路的姿态赛过模特

graceful(x)

3.2 谓词逻辑

3.2.4 谓词知识表示

知识表示

   例 P97 房间里有机器人Robot、积木块Box 、两个桌子A和B 。

定义谓词

Table(A)                                     A是桌子    

EmptyHanded(Robot)               机器人空手

At(Robot, A)                              机器人位置在A旁

Holds(Robot, Box)                    机器人拿着Box

On(Box,A)                                 Box在桌子A上

3.2 谓词逻辑

3.2.4 谓词知识表示

初始状态

EmptyHanded(Robot)

At(Robot, A)

On(Box,A)

Table(A)

Table(B)

机器人拿起Box

At(Robot, A)

Holds(Robot, Box)

Table(A)

Table(B)

3.2 谓词逻辑

3.2.4 谓词知识表示

3.2 谓词逻辑

3.2.3 谓词演算与推理

前束范式—约束在前面的范式

将所有的量词都移到最左边就得到了前束范式

与合取范式类似,所有的谓词公式都可以改写成前束范式的形式

求前束范式的步骤

前束范式中每个量词的指导变量不同,如果指导变量相同,则需要利用换名规则进行替换。

如果自由变量与指导变量相同,则需利用换名规则或替代规则替换其中之一

利用量词辖域收缩扩张等值式替换

3.2 谓词逻辑

3.2.3 谓词演算与推理

例 P94  求前束范式

量词与指导变量:            ,

自由出现的变量:  ,

                                                                     换名规则

                                                                           替代规则

                                                                            P93 3-7

                                                                             

3.2 谓词逻辑

3.2.3 谓词演算与推理

                                                                             

                                                                               P93 3-8

                                                                             

                                                                               P93 3-3

                                                                             

                                                                               P93 3-4

3.2 谓词逻辑

3.2.3 谓词演算与推理

谓词推理

例: 20世纪70年代的漫画都是日本漫画家创作的,这幅漫画是20世纪70年代的作品;因此它是日本漫画家的作品

解:设P(x):属于20世纪70年代的漫画

            Q(y):属于日本漫画家的作品

             a    :   一幅漫画

        前提:

        结论:   Q(a)

        证明:                                                                

                                                                                  前提引入

                                                                                  量词消去

                                                                                  前提引入

                                                                                  假言推理

3.3 谓词逻辑归结原理

3.3 谓词逻辑归结原理

3.3.1 归结原理

命题逻辑归结原理:

将由前提A得到结论B的证明过程转化为证明A∧ ~B为矛盾式

将其转化为合取范式,得到子句集

    对于形如                                 的公式求取子句集时,可以分别求                       各自的子句集,再取并集

利用归结原理消去互补项,

直到得到空子句。   

3.3 谓词逻辑归结原理

3.3.1 归结原理

例   (P→(Q→R )) → ((P → Q) →(P →R))

 转化为待归结命题公式:(P→(Q→R )) ∧ ~((P → Q) →(P →R))

求子句集:分别对(P→(Q→R )) 和~((P → Q) →(P →R))两部分求取子句集,再取并集

3.3 谓词逻辑归结原理

3.3.1 归结原理

归结:

       1、 ~P∨~Q∨R

       2、 ~ P ∨ Q

       3、P

       4、~R

       5、 ~P∨R                    1、2归结

       6、 R                             3、5归结

       7、 □                         4、6归结

因此得证

3.3 谓词逻辑归结原理

3.3.1 归结原理

3.3 谓词逻辑归结原理

3.3.1 归结原理

谓词逻辑归结原理的重点

如何对前束合取范式消去量词

    命题逻辑

    谓词逻辑

如何利用置换与合一对不同变量的子句进行置换

    命题逻辑

    谓词逻辑

3.3 谓词逻辑归结原理

3.3.1 归结原理

求前束合取范式:

方法一:先转化为前束范式,再将辖域中的谓词公式转化为合取范式

方法二:

(1)消去联结词→ 和?。

(2)将联结词~向内深入,使之只作用于原子公式。

(3)利用换名或替代规则使所有约束变元的符号都不同,并且自由变元与约束变元的符号也不同。

(4)利用量词辖域的扩张和收缩,扩大量词至整个公式。

(5)再将辖域中的谓词公式转化为合取范式。

3.2 谓词逻辑

3.2.3 谓词演算与推理

量词辖域收缩与扩张等值式

3.2 谓词逻辑

3.2.3 谓词演算与推理

求前束合取范式

        (?x)P(x) → Q(x)

  ? ~ (?x)P(x) ∨ Q (x)

  ? (?x)( ~ P(x)) ∨  Q(x)       

  ? (?x)(~ P(x)) ∨  Q (y)

  ? (?x)(~ P(x) ∨ Q (y))

  ? (?x)(~ P(x) ∨ Q (y))

3.3 谓词逻辑归结原理

3.3.2 Skolem标准型

例 求前束合取范式

    

  

3.3 谓词逻辑归结原理

3.3.2 Skolem标准型

Skolem标准型:对前束合取范式消去所有的量词。P100

第一步:消去存在量词? :

1、如果?之前(左边)没有任意量词?, 则用常量替换?的指导变量

                       可用常量b替换x消去存在量词,得P(b,a)

2、如果?之前(左边)有任意量词? ,则用任意量词的函数替换?的指导变量

                       可用f(x)替换y消去存在量词,

第二步消去任意量词?:简单的省略即可

3.3 谓词逻辑归结原理

3.3.2 Skolem标准型

例:

1、消去存在量词?y和 ?u :

?y 前面有任意量词,指导变量为x,因此用f(x)替换y,

?u前面有任意量词,指导变量为x,因此用g(x)替换u

2、消去任意量词:

3.3 谓词逻辑归结原理

3.3.2 Skolem标准型

例 判断下列的消去量词的过程是否正确。

    证明:

① ?x ?y G(x, y)

② ? y G(x, y)                  消去 ?x

③ G(x, a)                        消去 ?y

对任意x,都存在一个恒定常量a,使G(x, a) 成立

3.3 谓词逻辑归结原理

3.3.3 子句集

定义

文字:不含任何联结词的谓词公式

子句:一些文字或其非的析取

子句集:所有子句的集合

计算过程

将谓词公式转化为前束合取范式

消去存在量词,略去任意量词,得Skolem标准型

将各子句提出,得到子句集

谓词公式不可满足,当且仅当其子句集不可满足的

形如                          的谓词公式在求子句集时可以分别对                 求子句,再取其并集

3.3 谓词逻辑归结原理

3.3.1 归结原理

谓词逻辑归结原理的重点

如何对前束合取范式消去量词

    命题逻辑

    谓词逻辑

如何利用置换与合一对不同变量的子句进行置换

    命题逻辑

    谓词逻辑

3.3 谓词逻辑归结原理

3.3.4 置换与合一

置换:形如                                  的有限集合

xi 必须是变量,称为置换变量

ti 可以是常量、变量或者函数,称为置换项

表示用项 ti 替换谓词公式中的变量 xi

要求ti≠ xi , xi不能循环的出现在另一个ti中

 {x/y, y/z}

 {x/y,  y/x}

 {x/y, y/z, z/x}    

3.3 谓词逻辑归结原理

3.3.4 置换与合一

例:设有公式P(x,f(y),b)

置换1为:s1={z/x, w/y}     

    P(x,f(y),b)s1= P(z,f(w),b)

置换2为: s2={a/y}  

    P(x,f(y),b)s2= P(x,f(a),b) 

置换3为: s3={q(z)/x, a/y}

    P(x,f(y),b)s3= P(q(z),f(a),b)  

置换4为: s4={c/x, a/y}   

    P(x,f(y),b)s4= P(c, f(a),b)

3.3 谓词逻辑归结原理

3.3.4 置换与合一

例:设θ={f(y)/x , z/y},λ={a/x , b/y, y/z},

          对L =P(x,f(y),b),先做θ置换,再做λ置换,即求

           

3.3 谓词逻辑归结原理

3.3.4 置换与合一

置换的合成:

      对谓词公式L,设θ={t1/x1 , t2/x2 , … , tn/xn} 和λ={u1/y1 , u2/y2 , … , un/yn} 为两个置换,则

                         ,      称为θ和λ的合成,可由下式得到

        1、如果               ,则消去

        2、当                       ,删去

3.3 谓词逻辑归结原理

3.3.4 置换与合一

例:设θ={f(y)/x , z/y},λ={a/x , b/y, y/z}

     

3.3 谓词逻辑归结原理

3.3.4 置换与合一

例:对子句集

    { P(x),  ~P(a) }

   做置换{a/x}

   得到 { P(a),  ~P(a) }

     { P(x,y),  ~P(a,b) ∨Q(x) }

     做置换{a/x, b/y}

      { P(a,b),  ~P(a,b) ∨Q(  ) }     

3.3 谓词逻辑归结原理

3.3.4 置换与合一

合一:设有公式集                      ,如果存在一个置换θ,使                         , 则称θ是F的一个合一。

如果谓词公式F1、 F2 可合一,那么             就是一对互补项

    {P(x),   ~P(a)} 经合一 {a/x} 得到 {P(a), ~P(a)}

谓词逻辑归结原理:如果子句集中的两个字句含有互补项,则可以进行归结消去

3.3 谓词逻辑归结原理

3.3.4置换与合一

例:下列字句都可以归结

     {P(x), ~ P(x)}

      {P(x), ~ P(a)}        

                经合一 {a/x}后,{P(x), ~P(a)} 可合一

      {P(x,y), ~ P(a,z)}   

                经合一{a/x,z/y},{P(x,y), ~P(a,z)}可合一

     这些子句的文字可合一,都可以进行归结

      {P(a,x,f(g(y))),   ~ P(z,f(a), f(u))}

      需要一个判断公式集能否合一的算法

3.3 谓词逻辑归结原理

3.3.4 置换与合一

最一般合一(mgu)

设    是谓词公式F的一个合一,如果对于F的任意一个合一θ,都存在一个置换λ,使         ,则称   是一个最一般合一。

求取办法:对每一项逐一比较并进行合一置换P104 

1、令

2、令

3、如果   已经合一,停止迭代,        ;否则,找不一致集

4、若  中存在元素  和  ,且  不出现于  中,转5;否则,不可合一

5、令               ,

6、k=k+1,转3                                                          

3.3 谓词逻辑归结原理

3.3.4 置换与合一

例 { P(a,x,f(g(y))),  ~ P(z,f(a), f(u)) },计算mgu

    解: 1   W= { P( a , x, f(g(y))),  P( z , f(a), f(u)) }

          

          3   W0未合一 ,从左到右找不一致集,

          4

          5    令                                ,

          6    k=k+1,转3      

3.3 谓词逻辑归结原理

3.3.4 置换与合一

          3’  W1 未合一 ,从左到右找不一致集,

          4’   

          5’    令                                                                    ,

          6’    k=k+1,转3

     3’’ W2未合一 ,从左到右找不一致集,

          4’’

          5’’   令

     已合一,

3.3 谓词逻辑归结原理

3.3.5 归结式

归结式:设       为两个无公共变量的子句,

   分别是         的文字,如果        可合一,则 

                                        为       的归结式

例:1   P(x) ∨Q (x,y) 与 ~P(a) ∨R (b,z) 的归结式:

             经合一{a/x}置换归结得到:

        2   P(x,y) ∨Q (x) ∨R (x) 与 ~P(a,z) ∨~Q (b) 的归结式:

             经合一{a/x, z/y}归结得到:

             经合一{b/x}归结得到: P(b,y) ∨R (b) ∨ ~P(a,z)

3.3 谓词逻辑归结原理

 3.3.5 归结式

几种不能归结的情况

谓词不一致不能进行归结

如:P(x)与~Q(x) 不能归结

常量之间不能进行归结

如:P(a)与~ P(b)不能归结, 不能在常量之间置换{a/b}

变量与其函数之间不能进行归结

如:P(x)与~ P(f(x))不能归结,不能做置换{f(x)/x}

不能同时消去两个互补对 

3.3 谓词逻辑归结原理

 3.3.5 归结式

如果子句可以简化,应该先简化再归结

       C1可以简化,做合一置换 {f(x)/y},

       

      取mgu={g(a)/x}, 归结式为

      Q(b) ∨ Q(g(g(a)))

3.3 谓词逻辑归结原理

3.3.6 归结过程

写出谓词关系公式

写出待归结的谓词表达式

化为Skolem标准型

求子句集S

对S中的互补子句进行归结

归结式仍加入S,反复进行归结

得到空子句□

得证

3.3 谓词逻辑归结原理

3.3.6 归结过程

例:人都是妈生的,张飞是人,张飞是妈生的

定义谓词:

        Mum(x)表示x是妈生的

        Human(x)表示x是人

前提: ?x (Human(x)→Mum(x)),

             Human(ZF)

结论: Mum(ZF)

写出逆否命题:

3.3 谓词逻辑归结原理

3.3.6 归结过程

1. ~Human(x) ∨Mum(x)

2. Human(ZF)

3. ~Mum(ZF)

            3与1归结,经置换{           }     得到

4.    ~Human(ZF)

5.   4与2归结得到□

所以,逆否命题为恒假,原命题为真

3.3 谓词逻辑归结原理

3.3.6 归结过程

例:已知:

       R1:会朗读的生物是识字的,

       R2:海豚    不识字,

       R3:         海豚是很机灵的。

      证明:有些很机灵的东西不会朗读。

      分析:

             1、需要几个谓词?

             2、海豚是否必须设为谓词?

             3、生物是否必须设为谓词?

                     

3.3 谓词逻辑归结原理

3.3.6 归结过程

3.3 谓词逻辑归结原理

3.3.6 归结过程

3.3 谓词逻辑归结原理

3.3.6 归结过程

例:设任何通过计算机考试并获奖的人都是快乐的;任何肯学习或幸运的人都能通过所有的考试;张不肯学习但他是幸运的;任何幸运的人都能获奖。求证:张是快乐的

    定义谓词:

    Pass(x,y) 表示x通过y考试

    Win(x,prize) 表示x能获奖

    Lucky(x) 表示x是幸运的

    Study(x) 表示x肯学习

    Happy(x) 表示x是快乐的

3.3 谓词逻辑归结原理

3.3.6 归结过程

写出谓词公式:

前提:

结论:Happy(zhang) ,取否  ~ Happy(zhang)

证明:对前提和结论分别求子句

         

      

3.3 谓词逻辑归结原理

3.3.6 归结过程

3.3 谓词逻辑归结原理

3.3.6 归结过程

得子句  ~Study(zhang)

                  Lucky(zhang)

得子句 ~Luck(w) ∨ Win(w,prize)

结论: ~ Happy(zhang)

共得到7条子句                 

3.3 谓词逻辑归结原理

3.3.6 归结过程

1、

2、

3、

4、     ~ Study(zhang)

5、    Lucky(zhang)

6、    ~ Luck(w) ∨ Win(w,prize)

7、    ~ Happy(zhang)

8、                                                                                    {zhang/x}   1-7

9、                                                                                   {zhang/w}   8-6

10、                                                                                            9-5

11 、                                                        {zhang/u, computer/v}   10-3

12、11与5归结,得□

3.3 谓词逻辑归结原理

3.3.6 归结过程

本章作业

P123

     3.18

     3.19

     3.20

     3.23

     3.24

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

控制的要点

要解决的问题是归结方法的知识爆炸

控制的目的是归结点尽可能少

控制的原则是删除不必要的子句或对参加归结的子句加以限制

仅选择合适的子句进行归结,避免多余的、不必要的子句归结式出现

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

删除策略

1、删除永真子句

2、删除可被其他子句归类的子句

      归类:如果两个子句C和D,若有置换σ,使

      ,则称子句C把D归类,可从子句集中删除D

例:两个子句 C=P(x),    D=P(a) ∨Q(y)

         还原为谓词公式:P(x)∧(P(a) ∨Q(y))

        取置换{a/x},可知子句C把D归类,D可删除

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

支撑集策略

一个不可满足的子句集S的子集T,如果S-T是可满足的,则T为S的支撑集

对于A→B定理证明问题来说,~ B就是支撑集

归结过程中每次都选择支撑集及其归结式与其他子句归结

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

语义归结策略

将子句集按一定的语义分为两部分

每部分内的子句不允许进行归结,

同时引入文字次序。归结时,其中一个子句的被归结文字是该子句中排序最前的文字。

例:S={~P∨~Q ∨R, P∨Q , Q∨R, ~R}, 文字次序为P,Q,R, 令解释I={~P,~Q,~R},在I下为假的子句记为s1,为真的语句记为s2;则

      

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

    归结如下:1                                                       s2

                         2                                                      s1

                         3                                                      s1 

                         4                                                      s2

                         5                                 1、2归结, s2          

                         6        R                      5、3归结, s1

                         7       □                     6、4归结

3.3 谓词逻辑归结原理

3.3.7 归结过程控制策略

线性归结策略

    每次都用上一次归结得到的归结式与其他子句归结

单元归结策略

    每次归结都有一个子句是单元子句,即只含一个文字的子句

输入归结策略

    每次归结必有一个子句是原始子句集中的子句

本章重点

命题逻辑归结原理

将语言描述转化为谓词公式

自由出现、约束出现、前束范式

置换、置换的合成

合一、最一般合一

谓词逻辑归结原理

1、概述

1、概述

智能体的一般结构

传感器:感知外部环境

执行器:根据指令控制智能体的行为

学习元件:知识的获取

知识库:知识的形式化描述

推理决策元件:根据环境与知识做出决策

类人思考与认知模型

生物学

心理学

计算机科学

1、概述

知识的概念:

Feigenbaum:知识是经过消减、塑造、解释和转换的信息

Bernstein:知识是由特定领域的描述、关系和过程组成的

Hayes-roth:知识是事实、信念和启发式规则

知识是人类对于客观世界的认识的表达,是以某种结构化的方式表示的概念、事件和过程

1、概述

知识的相对正确性

环境

时间

条件

目标

人类不断发现新知识,替代旧知识,推动历史的前进

1、概述

令人困扰的知识

节俭是美德

人生的苦是因为有欲望

见义勇为

鬼神

   ??????

1、概述

知识的分类

根据内容分类:

原理性知识:对客观事实、原理的认识的知识  

方法性知识:如何利用客观规律去解决问题的知识

根据形式分类

显式知识:能够直接表达和处理的知识

隐式知识:不能够直接表达和处理的知识

根据性质分类

理论性知识:

经验性知识:

1、概述

知识的分类

根据表达的内容分类

事实性知识:描述一般性的事实

    大多数知识都属于事实性知识

过程性知识:描述完成某一件事的过程步骤

    如:某药品的疗程和用法

           游泳          

元知识:有关知识的知识。

     如:HELP文档

1、概述

构成系统知识集合所必需的基本知识元素

事实:基本知识单元

分类、属性、关系、各种事实等等

规则:有关行动、动作的具有因果关系的知识

控制:多个行动同时激活时,需要排列其优先顺序

元知识:对规则的解释、说明、校验等知识,有时与控制重叠

1、概述

知识表示

知识表示是研究用计算机表示知识的可行性、有效性的一般方法。

它既是一种数据结构,又是一种处理机制

    知识表示 = 知识的数据结构 + 知识的处理机制

知识表示的方法

谓词逻辑

产生式规则

语义网络

框架

    

1、概述

知识表示方法的选取

表达充分性,具备确切表达有关领域中各种知识的能力;

推理有效性,能够与高效率的推理机制密切结合,支持系统的控制策略;

知识和元知识的一致,知识和元知识是不同层次的知识,使用统一的表示方法可以简化知识处理; 

操作维护性,便于知识更新和知识库的维护;

理解透明性,便于人类理解,易读、易懂,便于知识的获取。

1、概述

知识表示方法的分类

谓词逻辑表示

优点

结构清晰,有效地分离了知识和处理知识的程序;

一阶谓词逻辑具有完备的逻辑推理算法;

可以保证知识库中新旧知识在逻辑上的一致性和演绎所得结论的正确性;

不依赖于任何具体领域,通用性好

缺点

难以表达不确定性知识和启发性知识

推理方法在事实较多时易于出现组合爆炸,

推理过程冗长、效率低。

1、概述

产生式表示:用“if… then”表示知识间的因果关系

优点

自然性好,“If…then”的形式与人类的判断性知识基本一致,便于推理;

便于引入各种启发式知识

格式固定,形式简单,规则间相互独立,便于统一处理,模块性好。

缺点

推理效率低下

难以表现规则间的关系,难以表现结构和层次关系

1、概述

语义网络表示:利用节点和带标记的边构成有向图描述事件、概念、状况、动作及客体之间的关系。

优点

直观地表现了各节点之间的联系

体现了人类思维的联想过程,便于将自然语言转换成语义网络

具有广泛的表示范围和强大的表示能力

一种结构化的知识表示法

缺点

推理规则不明了,不能充分保证结论的严格性和有效性

一旦节点个数太多,网络结构复杂,推理就难以进行

不便于表达判断性知识

1、概述

框架表示法:一种描述固定情况的数据结构,便于表示知识的内部结构以及知识间的关系

优点

与人类的思维和问题求解过程相似

表达能力强,层次结构丰富,能够有效的组织知识

可以利用过去获得的知识对未来的情况进行预测,因此可以通过框架来认识某一类事物

缺点

难以保证问题求解的可行性和推理过程的严密性

许多实际情况与原型存在较大的差异,适应能力不强

各子框架的数据结构如果不一致,会造成推理的困难。

1、概述

知识表示观

知识表示与推理机分离

知识表示与推理一体

当前的发展方向

混合知识表示

面向对象的知识表示

2、产生式表示

2、产生式表示

产生式表示的起源

1943,美国数学家 Post 构造了形式化的计算工具

1955,美国语言学家乔姆斯基 Chomsky创立了转换生成语法

1960,美国计算机科学家巴克斯 Backus提出了巴克斯范式,描述ALGOL 60的语法规则,1977年获图灵奖

1972年,纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生式系统。1975年获图灵奖,人工智能符号主义学派创始人 

2、产生式表示

产生式(condition-action规则)的基本形式

P→Q 或者 IF P THEN Q;

    P:前件condition,是产生式的前提,它给出了该产生式可否使用的先决条件,由事实的逻辑组合来构成

    Q:后件action,是一组结论或操作,它指出当前题P满足时,应该推出的结论或应该执行的动作

产生式的含义

如果前提P满足,则可推出结论Q或执行Q所规定的操作

事实+规则

2、产生式表示

事实:

第一类:给一个语言变量赋值

如:香蕉是黄色的,

       老李年龄35岁

       张韶涵是一个歌手

表示   三元组;(对象,属性,值)

香蕉是黄色的   (banana,color,yellow)

老李年龄35岁   (Li,age,35)

张韶涵是一个歌手 (Angela Chang ,job,Singer)

2、产生式表示

第二类:描述多个语言变量之间的关系

如:小莉是小刘的女朋友

       王老师是张三的导师

       天青色等烟雨            

表示   三元组; (关系,对象1,对象2)

小莉是小刘的女朋友  (girlfriend,Li,Liu)

王老师是张三的导师  (tutor,Mr Wang,Zhangsan)

天青色等烟雨           (wait for,azure,misty rain)

2、产生式表示

存在不确定条件的表示

四元组: (对象,属性,值,可信度(0-1之间的数))

硬币有50%的可能为正面向上  

(coin,up,obverse,0.5)

全班2/3的同学爱听周杰伦的歌

(student,like Jay Chou’ songs,true,0.667)

产生式表示有70%的可能会考

(CA,test,true,0.7)

2、产生式表示

规则

表示事实间的因果关系

以if    then的形式描述

一般形式为:前件→后件

前件通常为一些事实的合取或者析取

后件可以是结论,也可以是动作

一个产生式规则的结论可以作为另一个产生式规则的前提

2、产生式表示

If 天下雪了 then穿棉袄

If 骄傲被现实大海冷冷拍下 then 懂得要多努力才能走到远方

If 水电解 then (生成氢气∧生成氧气)

If (想考研∧学习好∧毕业生) then  考研成功

If (动物有犬齿 ∧ 有爪 ∧ 眼盯前方) then 食肉动物

If (有流感症状∧ (去过甲流疫区∨接触过甲流患者) ) then 甲流,可信度 x

2、产生式表示

以产生式规则求解问题的系统称作产生式系统

产生式系统的结构

2、产生式表示

知识库

规则库:存放产生式规则

包含从初始状态到目标状态的所有变换规则

完整性、一致性、准确性、合理性、灵活性

数据库:存放事实

已知事实

中间结果

推理结果

匹配规则:当数据库中的事实与规则库中的产生式规则的前件相匹配时,该规则被激活,其结论成为中间结果加入数据库

2、产生式表示

推理机:

问题求解的实现部件

控制整个产生式系统的运行

决定推理路线

控制协同规则库与数据库

推理机的工作

规则匹配

冲突消解

执行后件

终止条件

2、产生式表示

规则匹配:按一定策略从规则库选择规则与数据库中的事实进行匹配

匹配成功:此条规则被激活,加入被激活候选集(冲突集)

    事实:牛;       规则: if 牛 then 吃草       

匹配失败:输入与前件矛盾,此条规则被放弃

    事实:牛;       规则: if 马 then 吃草

匹配无结果:规则前件与事实无关,则该条规则加入待测式规则集

     事实:牛;      规则: if 有蹄 then 吃草

2、产生式表示

冲突消解:当匹配成功的规则多于一条时,需要根据一定的策略进行选择

事实:牛;      

规则1: if 牛 then 吃草

规则2: if 牛 then 有蹄

冲突消解策略:依次执行2条规则

2、产生式表示

有时多条规则间会存在相互冲突

事实:地震,室内,教师,有未成年人

规则:

     R1: if 地震∧室内then 跑出室外

     R2: if 地震∧室内∧ 教师 then 组织学生跑出室外

     R3: if 地震∧室内∧有未成年人 then 保护未成年人

冲突消解策略为:

     R3> R2> R1

2、产生式表示

执行后件:如果后件不是问题的目标,则解释并执行规则后件的动作

如果后件是一个或者多个结论,则将其加入数据库中

事实:牛;   规则: if 牛 then 有蹄    

执行结果:将“有蹄”加入数据库中

如果后件是一个或多个行动,则按照一定策略执行

事实:地震,睡午觉

规则:if 地震∧睡午觉 then 跑∧穿衣服

终止条件

如果后件是问题的目标,则结束,输出求解路径

2、产生式表示

产生式系统的推理

正向推理

从已知事实出发,与规则库中的规则匹配的方式

自底向上,也称为数据驱动方式

反向推理

从目标出发,反向使用规则,直到找到已知事实

自顶向下,也称为目标驱动方式

双向推理

正向推理与反向推理同时使用,直到在某一中间结果重合

2、产生式表示

正向推理的步骤

步1  将初始事实置入动态数据库;

步2 用动态数据库中的事实,匹配目标条件,若目标条件满足,则推理成功,结束。

步3  用待测试规则集中各规则的前件匹配动态数据库中的事实,将匹配成功的规则组成冲突集;

步4  若冲突集为空,则运行失败,退出。

步5  对冲突集做冲突消解,对选择执行的各规则,将其结论加入动态数据库,或执行其动作,转步2。

2、产生式表示

例:植物分类问题的产生式系统描述及其求解

设由下列植物识别规则组成一个规则库,推理机采用正向推理算法,建立一个产生式系统。

规则

R1: if 它种子的胚有两个子叶∨它的叶脉为网状

       then 它是双子叶植物

R2: if 它种子的胚有一个子叶 then 它是单子叶植物

R3: if 它的叶脉平行 then 它是单子叶植物

R4: if (它是双子叶植物 ∧它的花托呈杯形) ∨

          (它是双子叶植 物 ∧它的花为两性∧它的花瓣有5枚)

        then 它是蔷薇科植物

2、产生式表示

R5: if 它是蔷薇科植物∧它的果实为核果 then 它是李亚科植物

R6: if 它是蔷薇科植物∧它的果实为梨果 then 它是苹果亚科植物

R7: if 它是李亚科植物∧它的果皮有毛  then 它是桃

R8: if 它是李亚科植物∧它的果皮光滑  then 它是李

R9: if 它的果实为扁圆形∧它的果实外有纵沟 then 它是桃

R10: if 它是苹果亚科植物∧它的果实里无石细胞 then 它是苹果

R11: if 它是苹果亚科植物∧它的果实里有石细胞 then 它是梨

R12: if 它的果肉为乳黄色∧它的果肉质脆 then 它是苹果

2、产生式表示

初始事实:

它的果肉为乳黄色

它的果实里无石细胞

它的果实为梨果

它的果实无毛

它的花托呈杯形

它种子的胚有两个子叶

目标条件:该植物是什么

设动态数据库、冲突集、待测试规则集均为空

2、产生式表示

推理过程

初始事实写入动态数据库

    {果肉为乳黄色,果实里无石细胞,果实为梨果,果实无毛,

      花托呈杯形,种子的胚有两个子叶}

第一次循环

用动态数据库的事实匹配目标条件,目标条件不成立

用规则库中的规则逐一与数据库匹配

R1: if 它种子的胚有两个子叶∨它的叶脉为网状

       then 它是双子叶植物

         ”双子叶胚”匹配成功,冲突集为{R1}

R2: if 它种子的胚有一个子叶 then 它是单子叶植物

       匹配失败,该条规则放弃

R3: if 它的叶脉平行 then 它是单子叶植物

      匹配无结果,该条规则加入待测试规则集,待测试规则集{R3}    

2、产生式表示

事实:{果肉为乳黄色,果实里无石细胞,果实为梨果,果实无毛,      花托呈杯形,种子的胚有两个子叶}

R4:if (它是双子叶植物 ∧它的花托呈杯形) ∨

          (它是双子叶植 物 ∧它的花为两性∧它的花瓣有5枚)

        then 它是蔷薇科植物

    “双子叶植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集,待测试规则集{R3, R4}

R5: if 它是蔷薇科植物∧它的果实为核果 then 它是李亚科植物

     “果实为梨果” 匹配失败,该条规则放弃

R6: if 它是蔷薇科植物∧它的果实为梨果 then 它是苹果亚科植物

    “蔷薇科植物”目前的动态数据库无法匹配,匹配无结果,该条规则加入待测试规则集,待测试规则集{R3, R4 , R6}

2、产生式表示

  事实:{果肉为乳黄色,果实里无石细胞,果实为梨果,果实无毛, 花托呈杯形,种子的胚有两个子叶}

R7: if 它是李亚科植物∧它的果皮有毛  then 它是桃

     ”果实有毛“匹配失败,该条规则放弃

R8: if 它是李亚科植物∧它的果皮光滑  then 它是李

       匹配无结果,待测试规则集{R3, R4 , R6, R8}

R9: if 它的果实为扁圆形∧它的果实外有纵沟 then 它是桃

       匹配无结果,待测试规则集{R3, R4 , R6, R8, R9}

R10: if 它是苹果亚科植物∧它的果实里无石细胞 then 它是苹果

        匹配无结果,待测试规则集{R3, R4 , R6, R8, R9, R10}

2、产生式表示

 事实:{果肉为乳黄色,果实里无石细胞,果实为梨果,果实无毛, 花托呈杯形,种子的胚有两个子叶}

R11: if 它是苹果亚科植物∧它的果实里有石细胞 then 它是梨

       ”果实有石细胞“ 匹配失败,该条规则放弃

R12: if 它的果肉为乳黄色∧它的果肉质脆 then 它是苹果

      匹配无结果,待测试规则集{R3, R4 , R6, R8, R9, R10,  R12}

冲突消解 

       冲突集{R1}无冲突,则将后件加入动态数据库

    {果肉为乳黄色,果实里无石细胞,果实为梨果,果实无毛,

       花托呈杯形,种子的胚有两个子叶,双子叶}

2、产生式表示

例:冲突消解

同一事实与多条规则匹配成功时,进行冲突消解

事实:地震,室内,教师,有未成年人

规则:

 R1: if 地震∧室内then 跑出室外

 R2: if 地震∧室内∧ 教师 then 组织学生跑出室外

 R3: if 地震∧室内∧有未成年人 then 保护未成年人

匹配过程

 R1: 匹配成功,冲突集为 {R1}

 R2: 匹配成功,冲突集为 {R1, R2}

 R3: 匹配成功,冲突集为 {R1, R2, R3}

冲突消解,执行R3

2、产生式表示

不进行冲突消解会引起的错误

R1: 匹配成功,不考虑冲突消解,执行后件“跑出教室”,

  数据库  {地震,室外,教师,有未成年人}

R2、 R3全部匹配失败

不同事实与规则匹配成功时,需要进行冲突消解吗?

事实:地震,教师,夏天

规则:R1: if 地震  then   跑

           R2: if 教师  then  上课

           R3: if 夏天  then  穿短袖

冲突集 {R1, R2, R3}

冲突消解,执行R1 , R3

2、产生式表示

正向推理总结

用规则库中各规则的前件匹配动态数据库中的事实

是一种自底向上的推理方法

将匹配成功的规则组成冲突集,进行冲突消解

反向推理:从目标出发,反向使用规则,直到找到已知事实

2、产生式表示

反向推理步骤:

      步1  将初始事实置入动态数据库,将目标条件置入目标集;

    步2  若目标集为空,则推理成功,结束。

    步3 取目标集中第一个目标,用动态数据库中的事实同其匹配,若匹配成功,删除该目标,转步2;

     步4 用规则集中的各规则的后件同该目标匹配,若匹配成功,则将第一个匹配成功且未用过的规则的前件作为新的目标,并取代原来的父目标而加入目标集,转步3;

     步5  若该目标是初始目标,则推理失败,退出。

     步6 将该目标的父目标移回目标集,取代该目标及其兄弟目标,转步3。

2、产生式表示

恋爱规则产生式系统

设由下列恋爱规则组成一个规则库,推理机采用逆向推理算法,建立一个产生式系统。

恋爱的各阶段

认识

交往

赢得好感

确立恋爱关系

建立长期关系

共存                  

反依赖

独立

共生

2、产生式表示

规则

R1:  if 请人介绍 then 认识

R2:  if 参加聚会 then 认识

R3:  if 搭讪 then 认识

R4:  if 设计邂逅 then 认识

R5:  if 认识∧一起自习 then 交往

R6:  if 认识∧送花 then 交往

R7:  if 认识∧约会 then 交往

R8:  if 交往∧(有责任心 ∨ 踏实可靠) then 赢得好感

2、产生式表示

R9: if 交往∧(温柔善良∨ 善解人意) then 赢得好感

R10:  if 交往∧勤奋努力 then 赢得好感

R11:  if 交往∧阳光活泼 then 赢得好感

R12:  if 赢得好感∧暗示 then 确立恋爱关系

R13:  if 赢得好感∧明示 then 确立恋爱关系

R14:  if 赢得好感∧牵手 then 确立恋爱关系

R15:  if 恋爱关系∧ 体贴容让∧不百依百顺 then 建立长期关系

2、产生式表示

初始事实:

设计邂逅

送花

有责任心

勤奋努力

明确表示

体贴容让

不百依百顺

目标条件:建立长期关系

设动态数据库、目标集、待测试规则集均为空

取第一条目标{暗示},与动态数据库中的事实匹配,匹配不成功

用规则库中的规则后件与该目标匹配,无规则的后件能够匹配

检查该目标是否为原始目标,不是,则继续执行推理

将当前目标的父目标移回目标集,取代该目标及其兄弟目标,转3

取第一条目标{一起自习},与动态数据库中的事实匹配,匹配不成功

用规则库中的规则后件与该目标匹配,无规则的后件能够匹配

检查该目标是否为原始目标,不是,则继续执行推理

将当前目标的父目标移回目标集,取代该目标及其兄弟目标,转3

2、产生式表示

正向推理与反向推理的比较

推理方向

正向推理是从事实到结论的自底向上的推理

反向推理是从目标到事实的自顶向下的推理

规则匹配以及匹配成功后的执行方式

正向推理是用事实匹配规则的前件,匹配成功则执行后件,将后件的结论加入动态数据库

反向推理是用目标匹配规则的后件,匹配成功则将规则前件作为新的目标加入目标集,替换其父目标

冲突消解

正向推理需要进行冲突消解

反向推理不需要冲突消解

2、产生式表示

动态数据库

正向推理不断向动态数据库中添加中间结果;

反向推理动态数据库内容不变

目标集

正向推理的目标集就是初始目标,且推理过程中目标集内容不变

反向推理中不断用子目标替代父目标

终止条件

正向推理:动态数据库中的事实能够与目标匹配

反向推理:目标集中的所有目标都匹配成功,即目标集为空

2、产生式表示

双向推理

正向推理与反向推理同时使用,直到在某一中间结果重合

2、产生式表示

双向推理

进程1和进程2分别执行正向推理和反向推理

动态数据库

进程1 正向推理向动态数据库添加事实

进程2 反向推理使用动态数据库进行匹配

终止条件

进程2 中的目标集为空,则推理成功

2、产生式表示

产生式与蕴涵式的异同

共同点

都表示由条件推出结论

不同点

蕴涵式是一个逻辑表达式,其逻辑值只有真和假,不能表达不确定的知识。谓词逻辑中蕴涵式的匹配必须是精确的。

产生式表示的知识可以是不确定的,产生式的匹配可以是不确定的

2、产生式表示

产生式与条件语句的主要区别

前件结构不同

    传统程序设计语言中条件语句的左部仅仅是一个布尔表达式

产生式的前件可以是一个复杂的结构

控制流程不同

    程序设计语言中条件一旦被激活,就严格地从一个前提向其结论传递。

    产生式系统中满足前提条件的规则被激活后,不一定被立即执行,能否执行将取决于推理机的冲突消解策略

2、产生式表示

优点

自然性好,“If…then”的形式与人类的判断性知识基本一致,便于推理;

便于引入各种启发式知识

格式固定,形式简单,规则间相互独立,便于统一处理,模块性好。

缺点

推理效率低下

难以表现规则间的关系,难以表现结构和层次关系

专家系统基础

专家系统(Expert System,ES)就是能像人类专家一样解决困难、复杂的实际问题的计算机系统。

    

专家系统的四个要素:

(1) 应用于某专门领域。

(2) 拥有专家级知识。

(3) 能模拟专家的思维和推理。

(4) 能达到专家级水平。

专家系统基础

专家系统是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题), 所以, 专家系统是基于知识的智能问题求解系统

专家系统则强调知识与推理的分离,因而系统具有很好的灵活性和可扩充性。

专家系统一般具有解释功能, 即在运行过程中一方面能回答用户提出的问题,另一方面还能对最后的输出(结论)或处理问题的过程作出解释

有些专家系统还具有“学习”能力, 即不断对自己的知识进行扩充、完善和提炼

专家系统基础

系统结构

知识库:

推理机:

动态数据库:

人机界面:

解释模块:

知识库管理模块:

第二次实验报告

利用产生式规则构建一个简单的专家系统

题目自拟(手机选择、电脑选择、玉石选择… …)

要求:

1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解)

2、规则库要求至少包含15条规则

3、初始事实可以任意给定,输入初始事实后能够得到推理结果

4、设计人机界面,解释模块提供查询规则的功能

5、可以不考虑知识库管理模块

6、提交实验报告,实验名称为:基于回溯推理的小型专家系统

7、报告中要有推理树

3、语义网络

3、语义网络

语义网络

J.R.Quillian 1968年在他的博士论文中作为人类联想记忆的一个显式心理学模型最先提出

西蒙1972在自然语言理解中采用了语义网络表示

通过概念及其语义关系来表达知识的一种网络图

是一种对自然语言概念体系的总体表述

3、语义网络

语义基元—以有向图表示的三元组

结点A、B代表实体,表示事物、对象、概念、行为、性质、状态等

有向弧R 表示A、B之间的某种语义联系,方向体现了结点的主次关系,A为主结点, B为辅结点

3、语义网络

3、语义网络

3、语义网络

3、语义网络

3、语义网络

基本语义关系

Is-a与part-of关系

描述具有共同属性的不同实体间的分类关系

Is-a表示一个实体是另一个实体的实例,表示具体与抽象的关系,其属性具有继承性

     如:“卡拉”是条“狗”中,卡拉是狗的一个实例,

            因而卡拉继承了狗的全部属性

Part-of表示一个实体是另一个实体的组成部分,表示部分与整体的关系,其属性不具有继承性

    如:“轮胎”是“汽车”的一部分,但轮胎无法继承汽车的属性    

3、语义网络

3、语义网络

属性关系

描述实体与其属性之间的关系

Have表示一个实体具有另一个实体的属性

     如:“鸟”有“翅膀”,“国庆节”有“阅兵仪式”

A kind of,一个实体是另一个实体的一种类型,属性具有继承性,与Is-a不同的是,可能出现变异

     如:“鸭嘴兽”属于“哺乳动物”,鸭嘴兽继承了哺乳动物的属性,鸭嘴兽属于卵生,这是哺乳动物所不具备的 

   

Can 表示一个实体具有另一个实体所描述的能力

     如:草鱼吃水草,

3、语义网络

3、语义网络

3、语义网络

其他关系

位置关系

Located-on  在… 之上  

Located-under  在… 之下

Located-inside   在… 里面

Located-outside  在… 外面

Located-at    在某个位置

3、语义网络

3、语义网络

相近关系

Near to 接近关系

Similar to 相似关系

时间关系

Before 一个实体的事件在另一个实体的事件之前发生

After 一个实体的事件在另一个实体的事件之后发生

3、语义网络

3、语义网络

谓词逻辑到语义网络的转换

一元谓词C(x)

    C和x的含义分别为两个实体,弧表示二者的关系

Fruit(apple) 谓词含义为 苹果是一种水果

Class(Zhangsan) 谓词含义 为张三在上课

3、语义网络

多元谓词C(x,y)

     Score(AC,Inter,0:1)  谓词含义为

    AC米兰和国际米兰在一场比赛中踢成0:1

     Tired(barefoot, field, chase(dragonfly))

    谓词含义为

    赤脚在田里追蜻蜓追到累了

3、语义网络

根据自然语言建立语义网络

分析自然语言,找出其中的实体,用节点表示

分析实体间的语义关系,用有向弧表示

1、张三在上java课

      实体:张三、上课、 java

      关系:状态与课程名

2、语义网络是一种知识表示方法

      实体:语义网络、方法、知识表示

      关系:类属与用途

3、语义网络

3、XXX,你妈妈喊你回家吃饭

    实体: XXX 、妈妈、吃饭、回家、找人

    关系:逐一分析

4、旅客交通方式选择行为的计算机模拟方法

     实体:方法、模拟、计算机、行为、旅客、交通方式、选择

    关系:逐一分析

3、语义网络

常见的错误

1、表示不完全,部分实体没有进行表示

2、自行添加不需要的实体

3、改变语义

例:张三是李四的老师

3、语义网络

语义网络的推理

继承

把对事物的描述从类结点传递到实例结点

通常是沿着is-a或者a-kind-of等弧继承

3、语义网络

常用继承关系

(X a kind of Y) and (Y a kind of Z) → X a kind of Z

    麻雀 a kind of  鸟,鸟 a kind of  动物 →麻雀 a kind of  动物

(X is-a Y) and (Y a kind of Z) → X is-a Z

   卡拉 is-a狗,狗a kind of 动物 →卡拉 is-a 动物

(X a kind of Y) and (Y 有属性 Z) → X 有属性 Z

    麻雀 a kind of  鸟,鸟 有属性 翅膀 →麻雀 有属性 翅膀

3、语义网络

(X is-a Y) and (Y 有属性 Z) → X 有属性 Z

    卡拉 is-a狗,狗 有属性 爱吃肉 →卡拉 有属性 爱吃肉

(X有属性 Y) and (Y a kind of Z) → X有属性 Z

    麻雀有属性 爱吃小米 ,小米 a kind of  粮食→麻雀 有属性爱吃粮食

(X有属性 Y) and (Y is-a Z) → X 有属性 Z

    鸟 有属性 翅膀,翅膀 is-a 飞行工具→鸟 有属性飞行工具

3、语义网络

匹配:

在语义网络中寻找与待求解问题相符的语义网络模式

步骤:

根据待求解问题构造语义网络片断,待求解处标记为空

将该语义网络片断与知识库中的语义网络进行匹配,匹配成功时,待求解处对应的事实就是问题的解

3、语义网络

张三想应聘银行的软件工程师职位,需要那些技能。

根据待求解问题构造语义网络片断

与原语义网络进行匹配

得解

3、语义网络

语义网络与语义网的区别

语义网络Semantic network

语义网络是一种知识表示的方法,

对自然语言概念体系的总体表述,是建立概念联想脉络的基础

是由实体和语义关系组成的有向图来表达知识、描述语义的

语义网Semantic web

1998年 Tim Berners-Lee 提出Semantic web 的概念

是对未来计算机网络的一种设想

这个网络中传递的信息能够被计算机自动理解和处理

从功能上看它将是一个能够“理解”人类信息的智能网络

3、语义网络

优点

直观地表现了各节点之间的联系

体现了人类思维的联想过程,便于将自然语言转换成语义网络

具有广泛的表示范围和强大的表示能力

一种结构化的知识表示法

缺点

推理规则不明了,不能充分保证结论的严格性和有效性

一旦结点个数太多,网络结构复杂,推理就难以进行

不便于表达判断性知识

4、框架表示

4、框架表示

马文?明斯基 Marvin Lee Minsky,1969年获图灵奖,是第一位获此殊荣的人工智能学者

“哪种知识表示方法是最好的?”

1975年Marvin Minsky在论文《框架知识表示》中提出了框架理论。

它针对人们在理解事物、情境或某一故事时的心理学模型,论述了人们理解问题的一种思想方法。

4、框架表示

框架理论的基本观点

人脑中已存储有大量事物的典型情景,这些典型情景是以框架的基本知识结构存储在记忆中的。

当人面临新的情景时,就从记忆中选择(粗匹配)一个合适的框架。

这个框架是以前记忆的一个知识空框,而其具体内容依新的情景而改变。

通过对这个空框的细节加工、修改和补充,形成对新的事物情景的认识。

而这种认识的新框架又可记忆于人脑之中,以丰富人的知识。

4、框架表示

框架结构

框架名称

一个框架一般由若干个槽组成,一个槽有一个槽值或者有若干个侧面,而一个侧面又有若干个侧面值。

槽值和侧面值可以是数值、字符串、布尔值,可以是一个动作或过程,还可以是另一个框架的名字。

4、框架表示

关系:槽值为另一个框架的槽也称为关系,将不同的框架连接起来

层级关系:每个框架可以有一个或多个父辈结点,也可以有子节点,通过父—子链表达类属关联。每个框架都至少要包含一个父框架

其他关系: 框架可以通过槽的值相互关联,把从不同角度收集来的信息相互协调起来。

4、框架表示

框架的一般描述形式如下:

<框架名>

关系

槽名1:槽值1

                     侧面名11:侧面值111, 侧面值112, …

                      侧面名12:侧面值121, 侧面值122, …

     槽名2:槽值2

                          侧面名21:侧面值211, 侧面值212, …

                          侧面名22:侧面值221, 侧面值222, …

     

     槽名k:槽值k

                          侧面名k1:侧面值k11, 侧面值k12, …

                          侧面名k2:侧面值k21, 侧面值k22, …

4、框架表示

框架名: 计算机

槽名(关系)—类属: <办公设备>

槽名(关系)—类型:(<台式计算机> ,   <便携计算机> )

     缺省值: <台式计算机>

槽名—计算器

槽名—存储器

槽名—控制器

槽名—输入设备

槽名—输出设备

4、框架表示

框架名:台式计算机

类属: <计算机>

中央处理器:

         品牌

         型号

         数量

         价格

图形处理器:品牌、型号、数量、价格

硬盘:品牌、型号、数量、价格

内存:品牌、型号、数量、价格

主板:品牌、型号、价格

输入设备:

          键盘:品牌、型号、数量、价格

          鼠标:品牌、型号、数量、价格

显示器:品牌、型号、价格

4、框架表示

框架名:某台计算机

类属: <台式计算机>

cpu:

         品牌:Intel

         型号:i7 860

         数量:1

         价格:2000

图形处理器:品牌:蓝宝,型号: 5770,数量: 1,价格: 1050

硬盘:品牌:希捷,型号: 1TB,数量: 1,价格: 560

内存:品牌:海盗船,型号: DDR3 2G ,数量: 2,价格: 660

主板:品牌:技嘉,型号: P55A-UD3R ,价格: 1300

键盘鼠标:品牌:罗技,型号: G1 ,价格: 180

显示器:品牌:三星,型号: P2250 ,价格: 1450

4、框架表示

层次关系,一个框架类属于另一个框架

上位框架(或父框架):描述概念的框架

下位框架(或子框架):描述部分或者实例的框架

如:框架“大学教师”是框架“某教师”的上位框架

       而框架“教师”是框架“大学教师”的上位框架

与之对应

       框架“某教师” 是框架“大学教师”的下位框架

       而框架“大学教师” 是框架“教师”的下位框架

继承特性:下位框架可以继承上位框架的某些槽值或侧面值。

4、框架表示

附加过程-对框架内容的修改和维护

if-added  如果加入过程

    用于存储和修改槽的值,当新的信息加入槽内时执行该过程,且首先检查给定的项目是否是某槽的合法值;

if-deleted 如果删除过程

    从槽中删除信息时执行

if-needed 如果需要过程

    用于控制槽值的检索,当需要某槽之值而该槽为空时,用某种方法产生槽的值

4、框架表示

框架名: 教师

类属:人

教师号:

工资:

   If-needed:

    检查口令123456

   If-added:

    检查口令111111

框架名:李华

类属:教师

教师号:10003

工资:2500

规则R:检查口令‘X’

     如果   显示‘键入口’

     并且   读入‘Y’   

     并且  ‘X’=‘Y’

4、框架表示

框架的表达能力

框架适合表达结构性的知识。概念、对象等知识最适于用框架表示。

框架的槽就是对象的属性或状态,槽值就是属性值或状态值。

框架还可以表示行为(动作),有些过程性事件或情节也可用框架网络来表示。

4、框架表示

产生式规则也可用框架表示。

     例如:产生式规则

           如果头痛且发烧,则患感冒。

       框架表示可为:

              框架名:诊断1

              类属:<诊断>

              前提:

                         条件1:头痛

                         条件2:发烧

              结论:患感冒

框架系统可以看作一类特殊的语义网络,其表示能力更强

4、框架表示

例:写出大学教师的框架知识表示,要求写出三层框架,并包含一个实例框架,每个框架至少有5个槽,某个槽要有多个侧面

框架名:大学教师

类属:<教师>

基本资料:

姓名:

性别:

年龄:

学历:(学士,硕士,博士) 缺省值:博士

职称:(助教,讲师,副教授,教授) 缺省值:助教

学校:<某大学>

学院:<学院>

专业:<专业>

研究方向:

4、框架表示

框架名: 教师

类属: <知识分子>

类型:(<大学教师> ,   <中学教师> , <小学教师>)

      缺省值: <大学教师>

工作:  (教学,科研,综合)  缺省值:综合

性别:(男,女)  缺省值:男

    年龄:(0-100)

学历:(学士,硕士,博士)   缺省值:博士

职称:(高级,中级,初级)   缺省值:高级

4、框架表示

框架名:某大学教师

类属:<大学教师>

基本资料

姓名:张三

性别:男

年龄:35

学历: 博士

职称: 讲师

学校:<长安大学>

学院: <信息工程学院>

专业: <计算机>

研究方向:人工智能

4、框架表示

框架名:长安大学

类属:<大学>

类型:综合性大学                                    

学院数:20

专职教师人数:约1700

            教授:257

            副教授:584人

            博士生导师:约100人

科研机构:

           博士后流动站:6

           博士点:46

           硕士点:96

学生人数:29000

            本科生:23000

            研究生:6000

位置:陕西省西安市

4、框架表示

框架表示下的推理

继承:子框架可以拥有其父框架的槽及其槽值。

实现继承的操作有匹配和填槽。

匹配:就是问题框架同知识库中的框架的模式匹配。如果匹配成功,就可获得有关信息。

填槽:就是沿着框架间的纵向和横向联系,为待求解框架的槽赋值。

问题框架,求解某个问题时,先把问题用一个框架表示出来,然后与知识库中的已有框架进行匹配。

4、框架表示

框架名:企业1

类属:<企业>

企业:<行业1>

规模:大

部门数:若干

核心部门:研发,市场

员工数:若干

地址:。。。。

4、框架表示

框架名:新毕业生

类属:<员工>

企业:<企业1>

部门:(研发、市场、售后、总办、人事、后勤)

年龄:

性别:

职务:工程师

主管上级:

导师:

目标:<融入部门>

行为准则:

4、框架表示

框架名:融入部门

类属:<融入企业>

企业:<企业1>

行业:<行业1>

部门:(研发、市场、售后、总办、人事、后勤)

部门主管:

人事情况:人员1:

                   人员2:

                    

考核指标:指标1:

                   指标2:

                  

行为准则:

主动性要求:

人际关系:

自我保护:

4、框架表示

问题1:某个新毕业生是否在该企业的核心部门?

建立该毕业生的框架;

继承其父框架<新毕业生>的槽与槽值;

空槽填值;

在框架<企业1 >中查找其核心部门;

匹配;

问题2:某个新毕业生如何能够尽快地融入企业

建立该毕业生融入部门的框架;

继承其父框架<新毕业生> 与 <融入部门>的槽与槽值;

空槽填值;

查找其行为准则

4、框架表示

框架系统的结构图表示

将若干的框架按照其关系联结起来

可以看作一种特殊的语义网络

4、框架表示

4、框架表示

框架表示法的优缺点

优点

与人类的思维和问题求解过程相似

表达能力强,层次结构丰富,能够有效的组织知识

可以利用过去获得的知识对未来的情况进行预测,因此可以通过框架来认识某一类事物

缺点

难以保证问题求解的可行性和推理过程的严密性

许多实际情况与原型存在较大的差异,适应能力不强

各子框架的数据结构如果不一致,会造成推理的困难。

  

5、其它表示方法

5、其它表示方法

脚本知识表示

过程性知识表示

直接知识表示

5、其它表示方法

脚本知识表示

将知识以剧本的形式按照一定顺序表示

一般由开场条件、角色、道具、场景、尾声等几部分组成

开场条件:该系统所描述的事件发生的条件

角色:该系统中事件的主体

道具:事件动作的对象或者工具

场景:描述事件中各个独立发展的过程

尾声:描述事件的结果

5、其它表示方法

病人去医院看病的脚本知识表示

开场条件

病人生病了

病人需要医生治疗

病人能够去医院看病,经济、身体条件

角色

病人

医生

护士

5、其它表示方法

道具

医院

挂号室

诊室

椅子

桌子

处方单

收费处

缴费单

药房

药品

5 、其它表示方法

场景1 进入医院

病人进入医院

在挂号室挂号

病人在诊室门口排队等候治疗

场景2 诊断

病人进入诊室

病人向医生诉说症状

医生进行诊断

医生向病人解释病情

医生填写处方单

5 、其它表示方法

场景3 缴费

病人来到收费处

排队

病人递交处方单

收费处划价

病人缴费

病人取回处方单、缴费单和找零

5 、其它表示方法

场景4 取药

病人来到药房

排队

递交药方和缴费单

药方备药

病人取药

场景5 离开

病人离开医院

5 、其它表示方法

结果

病人得到了诊断

病人得到了药品

病人支付了费用

医生付出了劳动

医院销售了药品

5 、其它表示方法

脚本的推理

必须满足开场条件

必须严格按照场景的发生顺序进行推理

脚本表示的特点

脚本适用于描述结构固定,并且按照严格先后顺序进行的过程

表示范围比较狭窄

5 、其它表示方法

过程性知识表示

陈述性知识表示:关于事实、判断、原因等知识的静态描述

过程性知识表示:关于“怎么办”的,隐藏在某个具体过程中的知识。

过程性知识的分类

解决某个具体问题的过程步骤

如:各种流程

客观事物的发展过程

如:某种植物生长过程

5 、其它表示方法

过程性知识表示的结构

激发条件

描述某个过程的触发条件

推理操作

按照事先规定的步骤执行推理或者操作

结束

给出结果

5 、其它表示方法

过程知识表示:深度优先搜索算法

激发条件:

给定网络图

给定初始节点

目标:搜索满足某种条件的节点

推理操作步骤:

步1:将初始节点置入待搜索节点集合

步2:取第一个待搜索节点,搜索其第一个子节点,如果没有子节点,则转步4;

步3:检查该节点是否为目标节点,若是则结束;否则将该节点前插入待搜索节点集合,转步2;

步4:从待搜索集合中删除第一个节点,转步2;

结束:输出搜索结果和搜索路径

5 、其它表示方法

过程知识表示:毕业生应聘过程

激发条件:

毕业生,企业招聘

推理操作步骤:

    步1:自我评判与预期

             爱好:自己喜欢做什么

             特长:自己擅长做什么,

             需求:最可能找到什么样的工作  

5 、其它表示方法

步2:制作简历

     1:注重特色,不要千篇一律

     2:简历的风格要朴实

     3:简历需要有一定的篇幅,不要只是一页纸

     4:可以根据不同的应聘对象的特点作一些修改

步3:投递简历

     网上投递

     招聘会投递

        

     

5 、其它表示方法

    步4:参加笔试

           注意事先准备

    步5:参加面试

           1、事先准备

           2、衣着正式得体

           3、回答问题

                 表现自己负责、努力、乐观、认同企业文化

                 避免表现自己的缺陷

                 如果实在回答不出来

 结束:应聘成功或者失败

5 、其它表示方法

过程性知识表示的特点:

优点

知识库与推理机合一,表示效率高

明确地表示了时间上的先后顺序

便于加入启发式规则

缺点

难以维护,不易添加和修改

不易于理解

5 、其它表示方法

直接表示方法

知识表示就是将知识转化为计算机能够接受并处理的形式

直接表示方法希望“便于人类理解和操作”

难点在于计算机如何实现和处理

各种模式识别技术使直接表示成为可能

计算机无法完全替代人类,因此由计算机自主决策转向计算机辅助人类推理决策

5 、其它表示方法

典型的直接表示方法

文字

语音

图像

本章重点

1、产生式规则、正向推理、逆向推理及其匹配过程

2、语义网络,能够用语义网络进行知识表示

3、框架,能够用框架进行知识表示

你可能感兴趣的:(人工智能)