人工智能概念
- 人工智能就是用人工方法在机器(计算机)上实现的智能,或称机器智能,即是研究如何用计算机来表示和执行人类的智能活动,以模拟人脑所从事的推理、学习、思考和规划等思维活动,并解决需要人类的智力才能处理的复杂问题,如医疗诊断、管理决策、下棋和自然语言理解等。
人工智能研究的基本原则
- 近年来AI研究形成两种不同的观点:符号主义和联结主义。
- 符号主义认为智能产生于符号运算;符号是智能的基本单元,而智能行为则是符号运算的结果。
- 联结主义认为智能产生于大量简单元素的并行分布式联结之中;简单元素的相互联结是智能的基本单元,而智能行为则是联结计算的结果。
知识表示
- 知识表示在人工智能体的构造中起到关键的作用。从某种意义上讲,表示可视为数据结构及其处理机制的综合:表示=数据结构+处理机制。
- 知识表示的性能应从两个方面评价:
- (1)表示的充分性:意指作重要区分和避免不必要区分的能力。
- (2)表示法效用:意指被表示知识的使用;它又分为概念效率和计算效率两个方面。
常见的基本的知识表示方式可以归纳为3类:
- (1)一阶谓词逻辑:其表示元素为谓词公式、连词(与、或、非、蕴涵)和量词(全部和存在)。
- (2)产生式表示:该系统有规则库、综合数据库和控制子系统3部分组成。
- (3)结构化表示:有语义网络和框架表示方法,它们可以有效地表示结构化的世界和事物。
表示方法 —逻辑表示法
- 一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。它以谓词形式来表示动作的主体、客体。客体可以多个。
如:张三与李四打网球(Zhang and Li play tennis),可写为:play (Zhang, Li, tennis)
这里谓词是play,动词主体是Zhang和 Li,而客体是tennis。
- 谓词逻辑规范表达式:
P ( x1, x2, x3, …), 这里P是谓词, xi是主体与客体。
表示方法 —逻辑表示法
- 谓词比命题更加细致地刻画知识:
- 表达能力强
- 如:北京是个城市, City(x)
- 表达能力强
把城市这个概念分割出来。把“城市” 与“北京”两个概念连接在一起,而且说明“北京”是“城市”的子概念。(有层)
-
- 谓词可以代表变化的情况
- 如:City(北京),真。 City(煤球),假
- 谓词可以代表变化的情况
表示方法 —逻辑表示法
-
- 在不同的知识之间建立联系
- 如:Human(x) → Lawed(x), 人人都受法律管制,x是同一个人。
- 在不同的知识之间建立联系
Commit(x) → Punished(x), x不一定是人也可以是动物。
而,{[Human(x) → Lawed(x)]→[commit(x) → Punished(x)]},
意为如果由于某个x是人而受法律管制,则这个人犯了罪就一定要受到惩罚。
表示方法—产生式规则表示法
- 美国数学家Post,1943年提出了最早的一个产生式系统。
- 到了60年代,产生式系统成为认知心理学研究人类心理活动中信息加工过程的基础,由此心理学家认为,人脑对知识的存储就是产生式形式。因此,用它来建立人类认知模型。
- 到目前为止,产生式系统已发展成为人工智能系统中最典型最普遍的一种结构。产生式表示方法是专家系统的第一选择的知识表达方式。
表示方法—产生式规则表示法
- 表示形式
一般用三元组(对象,属性,值)或
(关系,对象1,对象2)
-
- 例:(Lee, Age, 35):Lee的年龄为35岁。
- (Friend, Lee, Chang):Lee的朋友是Chang
表示方法—产生式规则表示法
- 产生式系统的基本组成:
(1)一组规则,即产生式本身。用于表示事物间的启发式关联。
每个规则分左边右边。 基本形式:PÞQ
如:天上下雨 Þ 地上湿; Þ 中国的首都是北京。
一般左边表示情况,即什么条件。发生时产生式被调用。通常用匹配方法核实情况,匹配成功时,执行右边规定的动作。
- 产生式系统的基本组成:
(2)数据库:存放当前已知的数据,包括推理过程中形成的中间结论。数据是广义的,可以是常量、多元数组、谓词、表示结构、图像等。往往事实或断言——知识元。
(3)一个解释程序: 从匹配成功的规则(可能不止一个)中选出一个加以执行。
- 优点
- 模块性。
规则与规则之间相互独立
-
- 灵活性。
知识库(规则库)易于增加、修改、删除
-
- 自然性。
方便地表示专家的启发性知识与经验
-
- 透明性。
易于保留动作所产生的变化、轨迹
- 缺点:
- 知识库维护难,规则的推积存储,缺乏组织,冲突解法的单一性不能自然适应许多场合
- 效率低。为了模块一致性
- 理解难。由于规则一致性彼此之间不能调用
- 无法有效地描述结构复杂的事物
- 应用实例:
- 用于化工工业测定分子结构的DENDRAL
- 用于诊断脑膜炎和血液病毒感染的MYCIN(p148)
- 估计矿藏的PROSPECTOR
模糊集与隶属函数
一个确定的概念可用一个普通的集合表示,并用一个特征函数来刻画它,但对于模糊概念可否也用一个普通集合来表示?
-
- 为了解决这个问题,把模糊概念及有关模糊概念间存在的连续过渡特征表示出来,扎德把普通集合论里特征函数的取值范围{0,1}推广到闭区间[0,1]上,引入了模糊集及隶属函数的概念。
模糊集的表示方法:
-
- 若论域是离散且为有限集 U={u1,u2,…,un}时,其模糊集可用:A={μA(u1),μA(u2),…,μA(un)}来表示。
- 扎德的表示法:
A=μA(u1)/u1+μA(u2)/u2+…+μA(un)/un
-
- 注:此处/不是分子与分母相除的关系,它只是指出分子是分母对模糊集A的隶属度,+也不是相加的意思,它只是一个分隔符。
- 若论域是连续的,则模糊集可用实函数表示
模糊集的运算:
-
- 包含运算:
- 设A,B∈F(U),若对任意u∈U,都有μB(u)≤μA(u)成立,则称A包含B,记为B A
- F(U):指论域U上模糊集的全体
- 属于大模糊的模糊度反而小
- 并
- A∪B:μA∪B(u)=max{μA(u),μB(u)}
- 交
- A∩B:μA∩B(u)=min{μA(u),μB(u)}
- 补
- ~A:μ~A(u)=1-μA(u)
- 注:在模糊集合论中通常用“∨”来表示max,用“∧”来表示min,分别称为取极大、取极小运算。
- 例子:
- 包含运算:
设U={u1,u2,u3}
A=0.3/u1+0.8/u2+0.6/u3
B=0.6/u1+0.4/u2+0.7/u3
-
- 则:
A∩B=(0.3∧0.6)/u1+ (0.8∧0.4)/u2+
(0.6∧0.7)/u3=0.3/u1+0.4/u2+0.6/u3
A∪B= (0.3∨0.6)/u1+ (0.8∨0.4)/u2+ (0.6∨0.7)/u3
=0.6/u1+0.8/u2+0.7/u3
~A=(1-0.3)/u1+(1-0.8)/u2+(1-0.6)/u3
=0.7/u1+0.2/u2+0.4/u3
~B=(1-0.6)/u1+(1-0.4)/u2+(1- 0.7)/u3
= 0.4/u1 + 0.6/u2 + 0.3/u3
问题求解的基本方法 搜索技术
- 搜索从问题性质上来看, 可分为一般搜索和博奕搜索。
- 从处理方法上来看, 可分为盲目搜索和启发式搜索。
- 盲目搜索:不考虑给定问题所具有的特定知识, 系统根据事先确定好的某种固定排序, 依次调用规则或随机调用规则,这实际上是, 一般统称为无信息引导的搜索策略。典型的盲目搜索方法是深度优先搜索和宽度优先搜索(亦称广度优先搜索)。
- 启发式搜索:考虑问题领域可应用的知识, 动态地确定规则的排序, 优先调用较合适的规则使用。
启发式图搜索
- 启发式搜索是利用问题拥有的启发信息来引导搜索, 达到减少搜索范围, 降低问题复杂度的目的 。
- 启发信息的强度
- 强:降低搜索工作量,但可能导致找不到最优解
- 弱:一般导致工作量加大,极限情况下变为盲目搜索,但可能可以找到最优解
与或图搜索
(1)问题规约:是人们求解问题常用的策略,就是把复杂的问题变换为若干个需要同时处理的较为简单的子问题后在加以分别求解,从而其问题状态要通过子问题状态的联合加以表示。它是一种广义的状态空间搜索技术。
在问题规约中,操作算子的执行导致问题的变换可区分为3种情况:
(1)状态变迁 — 导致问题从上一状态变迁到下一状态。
(2)问题分解 — 分解问题为需要同时处理的子问题,但不改变问题状态。
(3)基于状态变迁的问题分解 — 先导致状态变迁,再实现问题分解。
与或图启发式搜索AO*算法
该算法的概要思路是:总是选择一个估算代价最小的待扩展局部解图加以优先扩展,以至最后得到的是一个一致解图。
AO*算法的可采纳性条件是:
AO*算法的应用要求遵从一下约束:总能满足h(n)≤h*(n),且确保h(n)满足单调限制条件。即当某与或图存在解图时,应用AO*算法一定能找出代价最小的解图。
最佳图搜索算法A*(A*算法)
- 在A算法中,如果满足条件:
h(n)≤h*(n)
则A算法称为A*算法。
即在算法A中总能搜索到最短(代价最小)的解答路径。
A*算法是设计出更接近于h*(n)的h(n)的一种求解方法。
A*条件举例
- 8数码问题
- h1(n) = “不在位”的将牌数
- h2(n) = 将牌“不在位”的距离和h*(n)
A*条件举例
机器学习
- 机器学习至今还没有一个统一的定义。机器学习是研究如何使用机器模拟人类学习活动的一门学科。稍微严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。
- 目前,关于机器学习的研究主要集中在以下三个方面:
- (1)认知模拟
研究的主要目的是要通过对人类学习机理的研究和模拟,从根本上解决机器学习方面存在的种种问题。
- (2)理论性分析
研究的主要目的是要从理论上探索各种可能的学习方法,并建立起独立于具体应用领域的学习算法。
- (3)面向任务的研究
研究的主要目的是要根据特定任务的要求,建立相应的学习系统。
- 按学习策略分4种:机械学习、通过传授学习、类比学习和通过事例学习