人工智能的各种认识论
对人工智能理论的争论
符号主义
(1)人类认知和思维的基本单元是符号
(2)计算机也是—个物理符号系统
(3)认知过程就是在符号表示上的一种运算。
连接主义
(1)人的思维单元是神经元
(2)人脑不同于电脑
行为主义
(1)智能取决于感知和行动,提出“感知-动作”模式
(2)人工智能可以逐步进化,在现实世界与周围环境交互作用而表现出来
对人工智能方法的争论
符号主义 | 连接主义 | 行为主义 |
功能模拟法;模拟人类认知系统所具备的功能, 通过数学逻辑方法来实现人工智能 | 结构模拟;模拟人的生理神经网络结构,不同的结构表现出不同的功能和行为。认为功能、结构和智能行为是不可分的 | 行为模拟;采用行为模拟方法,也认为功能、结构和智能行为是不可分的。不同行为表现出不同功能和不同控制结构 |
智能信息处理系统的假设
一个完善的符号系统应具有下列六种基本功能:
输入符号、输出符号、存储符号、复制符号、
建立符号结构:通过找出各符号之间的关系,在符号系统中形成符号结构
条件性迁移:根据已有的符号,继续完成活动过程
认知本质研究的几个方面
认知生理学 | 认知心理学 | 认知信息学 | 认知工程学 |
主要研究人的神经系统的活动,是认知科学研究的底层 | 研究认知行为的心理活动,主要研究人的思维策略,是认知科学研究的顶层 | 研究人的认知行为在人体内的初级信息处理,主要研究人的认知行为如何通过初级信息自然处理,由生理活动变为心理活动及其逆过程 | 研究认知行为的信息加工处理,主要研究如何通过以计算机为中心的人工信息处理系统,对人的各种认知行为进行信息处理 |
人类智能的计算机模拟
人类能够复制大量的交互作用,快速处理大量的信息,同时执行多项任务
迄今为止的所有计算机,只能依次对单个问题进行“求解”
人工智能的要素和系统分类
人工智能的要素
知识 | 数据 | 算法 | 算力 | 人才 |
知识是人们通过体验、学习或联想而认识世界客观规律性。人工智能源于知识,并依赖知识,是人工智能的基础。 | 数据是事实或观察的结果。数字、字母、符号、影像信号或模拟量等 | 解题方案准确而完整的描述 | 计算能力,机器在数学上的归纳和转化能力 | 人工智能发展的关键 |
人工智能系统的分类
专家系统、模糊逻辑系统、神经网络系统、机器学习系统、仿生进化系统、群体智能系统、分布式智能系统、集成智能系统、自主智能系统、人机协同智能系统
人工智能的研究目标和内容
人工智能的研究目标
人工智能的一般研究目标为:更好的理解人类智能:通过编写程序来模仿和检验有关人类智能的理论
创造有用的灵巧程序:该程序能够执行一般需要人类专家才能实现的任务
近期研究目标和远期研究目标:
近期研究目标:建造智能计算机以代替人类的某些智力活动
远期研究目标:用自动机模仿人类的思维活动和治理功能,建造能够实现人类思维活动和智力功能的智能系统
人工智能的基本内容
认知建模
浩斯顿把认知归纳为如下五种类型:①信息处理过程;②心理上的符号运算;③问题求解;④思维;⑤诸如知觉、记忆、思考、判断等关联活动
知识表示
传统人工智能的基础,把人类知识概念化、形式化或模型化。主要包括:符号表示法和神经网络表示法两种
知识推理
从一些已知判断或前提推导出一个新的判断或结论的思维过程。形式逻辑中分为演绎推理、归纳推理和类比推理等。包括不确定性推理和非经典推理
知识应用
专家系统、自动规划、自然语言处理
机器感知
使机器具有类似于人的感觉,其中最重要的和应用最广的要素是计算机视觉和机器听觉。机器感知是机器获取外部信息的基本途径
机器思维
对传感信息和机器内部的工作信息进行有目的的处理
机器学习
使机器具有学习新知识和新技术,并在实践中不断改进和完善的能力。机器行为:指智能系统具有的表达能力和行动能力
智能系统构建
上述功能的实现,需要开展对模型、系统构造与分析技术、系统开发环境、程序设计语言等研究
人工智能的研究与计算方法
人工智能的研究方法
功能模拟法(符号主义)
人工智能最早和应用最广泛的研究方法,以符号处理为核心对人脑功能进行模拟。在用符号表示知识的概念时,其有效性很大程度上取决于符号表示的正确性和准确性,且难以对含有噪声的信息、不确定性信息和不完全信息进行处理
结构模拟法(连接主义)
通过人脑神经网络、神经元之间的连接以及在神经元之间的并行处理,实现对人脑智能的模拟
行为模拟法(行为主义)
模拟自动控制过程的有效方法
集成模拟法
人工智能的计算方法
概率计算
传统数学计算方法
符号规则逻辑运算
适合于描述过程的因果关系和非解析的映射关系
模糊计算
利用模糊集合及其隶属度函数等理论,对不确定性信息进行模拟化、模糊决策和模糊判决等,视线模糊推理于问题求解
神经计算
知识在人脑中以神经网络形式存储,神经网络由可在不同水平上被激活的结点组成,节点间由连接作用,并通过学习对神经网络进行训练,形成了人工神经网络学习模型
进化计算与免疫计算
以模拟计算模型为基础,具有分布并行计算特征,强调自组织、自学习与自适应
人工智能的主要研究领域
问题求解与博弈 | 逻辑推理与定理证明 | 计算智能 | 分布式人工智能与Agent |
自动程序设计 | 专家系统 | 机器学习 | 自然语言处理 |
机器人学 | 模式识别 | 计算机视觉 | 神经网络 |
智能控制 | 智能调度与指挥 | 智能检索 | 系统与语言工具 |
状态空间表示
问题求解技术主要是两个方面:①问题的表示;②求解的方法
状态空间法
状态空间方法:基于解答空间的问题表示和求解方法,它是以状态和算符为基础来表示和求解问题的
问题状态描述
1、该状态描述方式,特别是初始状态描述
2、操作符集合及其对状态描述的作用
3、目标状态描述的特性
状态图示法
有向图
一对节点用弧线连接起来,从一个节点指向另一个节点这种图叫做有向图
路径
某个节点序列(ni1,ni2,...,nik) 当j=2,3,...,k时,如果对于每一个ni,j-1都有一个后继节点nij存在,那么就把这个节点序列叫做从节点ni1至节点ik的长度为k的路径
代价
用c (ni,nj)来表示从节点ni指向节点nj的那段弧线的代价。两点间路径的代价等于连接该路径上各节点的所有弧线代价之和
图的显式说明
各节点及其具有代价的弧线由一张表明确给出
图的隐式说明
各节点及其具有代价的弧线不能由一张表明确给出
问题归约描述
我们用一个类似于图的结构来表示把问题归约为后继问题的替换集合,这一似图结构叫做问题归约图。上图都是与图,若只有带箭头的线,则是或图。
与或图表示
可解节点的一般定义:
①终叶节点是可解节点(因为它们与本原问题相关连)
②如果某个非终叶节点含有或后继节点,那么只要当其后继节点至少有一个是可解的时候,此非终叶节点才是可解的
③如果某个非终叶节点含有与后继节点,那么只有当其后继节点全部为可解时,此非终叶节点才是可解的
不可解节点的一般定义:
①没有后裔的非终叶节点为不可解节点
②全部后裔为不可解的非终叶节点且含有或后继节点,此非终叶节点才是不可解的
③后裔至少有一个为不可解的非终叶节点且含有与后继节点,此非终叶节点才是不可解的
图搜索策略
图搜索策略可看作一种在图中寻找路径的方法。初始节点和目标节点分别代表初始状态和满足终止条件的状态。
图搜索的一般过程
建立一个只含有起始节点S的搜索图G,把S放到一个叫做OPEN的未扩展(未访问)节点表中建立一个叫做CLOSED的已扩展节点表,其初始为空表LOOP:若OPEN表是空表,则失败退出选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中,称此节点为节点n若n为一目标节点,则有解并成功退出。(此解是追踪图G中沿着指针从n到S这条路径而得到的)扩展节点n,同时生成不是n的祖先的哪些后继节点的集合M。把M的这些成员作为n的后继节点添入图G中对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针。把M的这些成员放进OPEN表。对已经在OPEN或CLOSED表上的每一个M成员,若修改了其父节点,则将该节点从CLOSED表中移除,重新加入OPEN表按某一任意方式或按某个试探值,重排OPEN表GO LOOP图搜索方法分析
图搜索过程的第8步对OPEN表上的节点进行排序,以便能够从中选出一个“最好”的节点作为第4步扩展用。这种排序可以是任意的即盲目的(属于盲目搜索),也可以用以后要讨论的各种启发思想或其它准则为依据(属于启发式搜索)。每当被选作扩展的节点为目标节点时,这一过程就宣告成功结束。这时,能够重现从起始节点到目标节点的这条成功路径,其办法是从目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的节点时,过程就以失败告终(某些节点最终可能没有后继节点,所以OPEN表可能最后变成空表)。在失败终止的情况下,从起始节点出发,一定达不到目标节点。盲目策略
宽度优先搜索
以接近起始节点的程度依次扩展节点;
特点:这种搜索是逐层进行的;在对下一层的任意节点进行搜索之前,必须搜索完本层的所有节点
宽度优先搜索算法
(1)把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)
(2)如果OPEN是个空表,则没有解,失败退出;否则继续。
(3)把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED的扩展节点表中
(4)扩展节点n。如果没有后继节点,则转向上述第(2)步。
(5)把n的所有后继节点放到OPEN表的末端,并提供从这些后继节点回到n的指针。
(6)如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。
宽度优先搜索是图搜索一般过程的特殊情况,这实际是将OPEN表作为“先进先出”的队列进行操作;
宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短路径;这棵搜索树提供了所有存在的路径(如果没有路径存在,那么对有限图来说,我们就说该法失败退出;对于无限图来说,则永远不会终止)
深度优先搜索
首先扩展最新产生的(最深的)节点。深度相等的节点可以任意排列。定义节点的深度如下:起始节点深度为0,任何其他节点的深度等于其父节点深度加1
特点:首先,扩展最深的节点的结果使得搜索沿着状态空间某条单一的路径从初始节点向下进行下去;只有当搜索到达一个没有后裔的状态时,它才考虑另一条替代的路径
深度界限:为了避免考虑太长的路径(防止搜索过程沿着无益的路径扩展下去),往往给出一个节点扩展的最大深度界限。任何节点如果到达了深度界限,那么都将把它们作为没有后继节点处理
含有深度界限的深度优先搜索算法
(1)把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)
(2)如果OPEN为一空表,则失败退出
(3)把第一个节点(节点n)从OPEN表移到CLOSED的扩展节点表
(4)如果节点n的深度等于最大深度,则转向步骤(2)。
(5)分展节点n,产生其全部后裔,并把它们放入OPEN表的前头。如果没有后裔,转向步骤(2)。
(6)如果n的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第(2)步。
深度优先搜索算法中节点进出OPEN表的顺序是后进先出,OPEN表是一个栈
等代价搜索
宽度优先搜索可被推广用来解决寻找从起始状态至目标状态的具有最小代价的路径问题
起始节点记为S;
从节点i到它的后继节点j的连接弧线代价记为c(i,j)
从起始节点S到任一节点i的路径代价记为g(i)
(1)把起始节点放到OPEN表中。如果该起始节点为一目标节点,则求得一个解;否则令g(S)=0
(2)如果OPEN是个空表,则没有解,失败退出
(3)从OPEN表中选择一个节点i,使其g(i)最小。如果有几个节点都合格,那么就要选择一个目标节点i(要是有目标节点的话)﹔否则,就从中选一个作为节点i。把节点i从OPEN表移至扩展节点表CLOSED中
(4)如果节点i为目标节点,则求得一个解
(5)扩展节点i。如果没有后继节点,则转向上述第(2)步
(6)对于节点i的每个后继节点j,计算g(j)=g(i)+c(i,j),并把所有后继节点放到OPEN表,并提供回溯到节点i的指针
(7)转向第(2)步
启发式搜索
进行搜索技术一般需要某些有关具体问题领域的特性的信息,把此种信息叫做启发信息。利用启发信息的搜索方法叫做启发式搜索方法
启发式搜索策略
有关具体问题领域的信息常常可以用来简化搜索。一个比较灵活(但代价也较大)的利用启发信息的方法是应用某些准则来重新排列每一步OPEN表中所有节点的顺序。然后,搜索就可能沿着某个被认为是最有希望的边缘区段向外扩展。应用这种排序过程,需要某些估算节点“希望”的量度,这种量度叫做估价函数。
估价函数
为获得某些节点“希望”的启发信息,提供一个评定候选扩展结点的方法,以便确定哪个节点最有可能在通向目标的最佳路径上。
f(n)—表示节点n的估价函数值
建立估价函数的一般方法:试图确定一个处在最佳路径上的节点的概率;提出任意节点与目标集之间的距离量度或差别量度;或者在棋盘式的博弈难题中根据棋局的某些特点来决定棋局的得分数。这些特点被认为与向目标节点前进一步的希望程度有关。
有序搜索
应用某个算法(等代价算法)选择OPEN表上具有最小f值的节点作为下一个要扩展的节点
一个节点的希望程序越大,其f值就越小。被选为扩展的节点,是估计函数最小的节点
有序状态空间搜索算法
(1)把起始节点S放到OPEN表中,计算f(S)并把其值与节点S联系起来
(2)如果OPEN是个空表,则失败退出,无解
(3)从OPEN表中选择一个f值最小的节点i。结果有几个节点合格,当其中有一个为目标节点时,则选择此目标节点,否则就选择其中任一个节点作为节点i
(4)把节点i从OPEN表中移出,并把它放入CLOSED的扩展节点表中
(5)如果i是个目标节点,则成功退出,求得一个解
(6)扩展节点i,生成其全部后继节点。对于i的每一个后继节点j:
(a)计算f(j)。
(b)如果j既不在OPEN表中,又不在CLOSED表中,则用估价函数f把它添入OPEN表。从j加
一指向其父辈节点i的指针,以便一旦找到目标节点时记住一个解答路径。
(c)如果j己在OPEN表上或CLOSED表上,则比较刚刚对j计算过的f值和前面计算过的该节点在表中的f值。如果新的f值较小,则
(1)以此新值取代旧值。
(2)从j指向i,而不是指向它的父辈节点。
(3)如果节点j在CLOSED表中,则把它移回OPEN表。
(7)转向(2)
A*算法
令k(ni,nj)表示任意两个节点ni和nj之间最小代价路径的实际代价(对于两节点间没有通路的节点,函数k没有定义);
从节点n到某个具体的目标节点ti,某一条最小代价路径的代价可由k(n,ti)给出