人工智能导论(5-9)-TYUT

大题在2-5章,其他章节记重要名词和重要算法。

(eg.遗传算法步骤,专家系统组成及各部分功能,PSO算法和蚁群算法)

五.搜索求解策略

1.搜索的定义:按照一定策略或规则从知识库中寻找可利用的知识构造,解决问题的推理路线的过程。

搜索的方向:

  • 数据驱动:从初始状态出发的正向搜索。
  • 目的驱动:从目的状态出发的逆向搜索。
  • 双向搜索。两个方向同时进行。

盲目搜索:在不具有对特定问题的任何有关信息的条件下,按固定的步骤(依次或随机调用操作算子)进行的搜索。

启发式搜索:考虑特定问题领域可应用的知识,动态地确定调用操作算子的步骤,优先选择较适合的操作算子,尽量减少不必要的搜索,以求尽快地到达结束状态。

2.状态空间表示法

状态空间

状态集合/操作算子的集合/包含问题的初始状态/包含问题的目的状态

求解路径:从S0 结点到S结点的路径。

状态空间的一个解:有限的操作算子序列。

3.八数码问题(重排九宫格)

状态空间:所有的摆法,数目为9!

操作集合:将空格向上下左右移动4个。

有向图描述:

如果S10为目标状态,那么O2,O6,O10就是一个解。

4.盲目的图搜索策略

图搜索思想:

  • 问题初始状态作为当前状态,选择算符进行操作,生成子状态,检查目标状态是否出现。
  • 若出现,则搜索成功,找到问题解;
  • 否则,从已生成状态中再选一个状态作为当前状态。
  • 重复上述过程,直到目标状态出现或不再有可供操作状态及算符(操作)为止。

数据结构:OPEN表、CLOSED表

  • OPEN表:记录待扩展的节点

用于存放刚生成的节点作为待考察对象。

“有进有出”动态数据结构。

节点进入OPEN表的顺序由搜索策略决定。

  • CLOSED表:记录已扩展的节点

存放将要扩展或已经扩展的节点,记录求解信息。

“有进无出”动态数据结构。

当前节点进入closed表的最后。

  • 回溯策略:从初始状态出发,不停地、试探性地寻找路径,直到它到达目的或“不可解结点”,即“死胡同”为止。若它遇到不可解结点就回溯到路径中最近的父结点上,查看该结点是否还有其他的子结点未被扩展。若有,则沿这些子结点继续搜索;如果找到目标,就成功退出搜索,返回解题路径。

回溯搜索算法

(1)PS(path states)表:保存当前搜索路径上的状态。

(2)NPS(new path states)表:新的路径状态表。

(3)NSS(no solvable states)表:不可解状态集。

  • 宽度优先搜索策略BFS

数据结构:

OPEN表(NPS表):已经生成出来但其子状态未被搜索的状态。

CLOSED表( PS表和NSS表的合并):记录了已被生成扩展过的状态。

搜索次序:  

宽度优先搜索算法的OPEN表是队列结构,后进先出。

  • 深度优先搜索策略DFS

深度优先搜索算法的OPEN表是堆栈结构,后进先出。

两个例题重点看!!!

5.启发式图搜索策略

启发式策略:利用与问题有关的启发信息进行搜索。

关键:如何寻找一个h(n)构造f(n),以f(n)大小来排列待扩展状态,以最小者进行扩展。

估价函数(evaluation function):估算节点“希望”程度的量度。

g(n):从初始节点 S0 到节点 n 的实际代价 ;

h(n):从节点 n 到目标节点 Sg 的最优路径的估计代价,称为启发函数。

A搜索算法

在图搜索算法中,如果能在搜索的每一步都利用估价函数

对open表中的节点(带扩展的节点)进行评价、排搜索次序,则该搜索算法为A算法。

A*算法

A*算法能保证一定能找到一条最短路径。

限制:

g(n)是对最小代价g*(n)的估计,且g(n) ≥g*(n)

h(n)是最小代价h*(n)的下界,即对任意节点n均有h(n) ≤h*(n)。

六.智能计算及其应用

1.受自然界和生物界规律的启迪,人们根据其原理模仿设计了许多求解问题的算法,包括人工神经网络、模糊逻辑、遗传算法、DNA计算、模拟退火算法、禁忌搜索算法、免疫算法、膜计算、量子计算、粒子群优化算法、蚁群算法、人工蜂群算法、人工鱼群算法以及细菌群体优化算法等,这些算法称为智能计算也称为计算智能

2.进化算法EA是基于自然选择和自然遗传等生物进化机制的一种搜索算法,包括遗传算法,遗传规划,进化策略,进化规划。通过选择、重组(交叉)和变异这三种操作实现优化问题的求解。

5个设计原则

  • 适用性原则
  • 可靠性原则
  • 收敛性原则
  • 稳定性原则
  • 生物类比原则

3.遗传算法(GA):借鉴生物界自然选择和自然遗传机制的随机搜索算法。

遗传算法的步骤(20级考题简答) 

基本思想:在求解问题时从多个解开始,然后通过一定的法则进行逐步迭代以产生新的解。

1965霍兰德首次提出遗传算法。

基本要素

  • 参数编码(遗传编码)
  • 初始群体的设定(初始化种群)
  • 适应度函数的设计
  • 遗传操作设计(选择、交叉、变异)
  • 控制参数设定(算法参数)

编码

  • 位串编码

一维染色体编码方法:将问题空间的参数编码为一维排列的染色体的方法。

二进制编码:用若干二进制数表示一个个体,将原问题的解空间映射到位串空间 B={0,1}上,然后在位串空间上进行遗传操作。

Gray编码:将二进制编码通过一个变换进行转换得到的编码。

  • 实数编码

采用实数表达法不必进行数制转换,可直接在解的表现型上进行遗传操作。

  • 多参数级联编码

把每个参数先进行二进制编码得到子串,再把这些子串连成一个完整的染色体。

种群规模一般取20-100,模式定理表明:若群体规模为M,则遗传操作可从这M的三次个个体中生成和检测     个模式,并在此基础上能够不断形成和优化积木块,直到找到最优解。

适应度函数:区分群体中个体好坏的标准。

适应度函数尺度变换(定标):对适应度函数值域的某种映射变换。

线性变换

幂函数变换法:

指数变换法:

  • 欺骗问题:将所有妨碍适应度值高的个体产生,从而影响遗传算法正常工作的问题统称为欺骗问题
  • 过早收敛:缩小这些个体的适应度,以降低这些超级个体的竞争力。
  • 停滞现象:改变原始适应值的比例关系,以提高个体之间的竞争力。

4.选择操作:从当前群体中按照一定概率选出优良的个体,使它们有机会作为父代繁殖下一代子孙。(个体适应度越高,其被选择的机会就越多。  )

交叉

部分匹配交叉PMX

变异

可行调度:

A784|239|165

B891|567|243

5.遗传算法的改进

1)双倍体遗传算法

采用显性和隐性两个染色体同时进行进化。

2)双种群遗传算法

使用多个种群同时进化,交换种群之间最好个体所携带的遗传信息。

3)自适应遗传算法AGA

交叉概率和变异概率可以随适应度自动改变

6.粒子群优化算法PSO

基本原理:PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解称为个体极值。另个一是整个种群目前找到的最优解,

7.蚁群算法 一种应用于组合优化问题的启发式搜索算法。

要知道信息素挥发度,过大和减小都会负面影响算法性能。

七.专家系统与机器学习

1.专家系统:一类包含知识和推理的智能计算机程序 。

2.专家系统的特点

(1)具有专家水平的专业知识。

(2)能进行有效的推理。 

(3)启发性。

(4)灵活性。

(5)透明性。

(6)交互性。

3.专家系统与传统程序的最大区别:专家系统是依据知识和推理来求解

4.专家系统的组成(六部分)

5.知识获取

过程:抽取知识、知识的转换、知识的输入、知识的检测 。

模式:非自动知识获取、自动知识获取、半自动知识获取。

6.机器学习使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。

学习系统:一个学习系统一般应该有环境、学习、知识库、执行与评价等四个基本部分组成。

7.机器学习按学习能力分类:

 强化学习(激励学习/再励学习/增强学习-评价反馈

监督学习-响应反馈

 非监督学习(无教师学习)-无反馈

8.示例学习:从例子中学习

指导式学习:向系统提供一般性的指示或建议进行学习

机械式学习:通过直接记忆或者存储外部环境所提供的信息达到学习的目的

9.知识发现:KDD,从数据库中发现知识。

知识发现过程分为3步:数据准备(数据选取、数据预处理和数据变换)、数据挖掘以及结果的解释评估。

知识发现方法:统计方法,粗糙集,可视化,传统机器学习方法

聚类:根据数据的不同特征,将其划分为不同的类。

分类:提出一个分类函数或分类模型

10.专家系统的开发步骤。

11.专家系统的开发工具:

通用知识表达语言OPS5。OPS5的组成:产生式规则库、推理机、数据库。

程序设计语言:PROLOG语言,LISP语言

八. 人工神经网络及其应用

1.人工神经网络ANN是一个用大量简单处理单元经广泛连接而组成的人工网络,是对人脑或生物神经网络若干基本特性的抽象和模拟。

2.决定人工神经网络性能的三大要素:

  • 神经元的特性。
  • 神经元之间相互连接的形式——拓扑结构。
  • 为适应环境而改善性能的学习规则。

神经网络的结构有前馈型和反馈型工作方式同步和异步

神经网络知识表示是一种隐式的表示方法。

Hebb学习规则:当某一突触两端的神经元同时处于兴奋状态,那么该连接的权值应该增强。

神经元的数学模型(三部分):加权求和,线性动态系统,非线性函数映射。

4.BP神经网络(多层前向网络)(输入层、隐层、输出层)

 层与层的连接是单向的,信息的传播是双向的。

BP学习算法:

正向传播:输入信息由输入层传至隐层,最终在输出层输出。

反向传播:修改各层神经元的权值,使误差信号最小。

5.Hopfield神经网络 是单层全互联反馈神经网络,每个神经元互相连接。

  • 离散型Hopfield神经网络
  • 连续型Hopfield神经网络及其VLSI实现
  • 随机神经网络

6.卷积神经网络 是深度学习的基础

4个关键技术:局部连接,权值共享,多卷积核,池化。

卷积运算(乘积之和):

7.生成对抗网络GAN使用对抗训练机制对两个神经网络进行训练

最成功的领域:计算机视觉

九.智能体与多智能体系统 

1.智能体(Agent是一个程序或者一个实体,它嵌入在环境中,通过传感器(sensors)感知环境,通过效应器(effectors)自治地作用于环境并满足设计要求。(Agent看做人,眼睛耳朵为传感器,手脚嘴为效应器)

体系结构:反应/慎思/复合

特性:自主性,反应性,社会性,进化性

2.智能体的结构:接受传感器的输入,然后运行Agent程序,并把执行的结果传送到效应器进行动作。

结构的分类:反应式体系结构、慎思式体系结构和混合式体系结构。

Agent=体系结构+程序

3.多智能体系统MAS:多个智能体构成的系统。

MAS的体系结构:网络结构,联盟结构,黑板结构

MAS的基本类型:BDI模型,协商模型,协作规划模型,自协调模型

MAS的通信过程:

  • 发送方将自己的思想翻译成通信所用语言的格式;
  • 发送方将语言格式加载到通信传播媒体,如声音、文字和图像;
  • 传播载体到达接收方;
  • 接收方读取载体中的语言代码;
  • 接收方在思维空间中将语言代码按其格式翻译为思想,从而熟悉发送方的意识状态。

MAS的通信类型:Tell和Ask,形式语言

通信方式:黑板系统(知识源,黑板,监控机制)和消息/对话系统

通信语言:知识交换格式语言KIF和知识查询操纵语言KQML

MAS的协调协作协商

### 回答1: A*算法是一种启发式搜索算法,它通过估计从起点到终点的距离来指导搜索方向,以达到更快的搜索速度和更优的搜索结果。在A*算法中,openclosed是两个重要的数据结构open是一个优先队列,用于存储待扩展的节点。每个节点都有一个估价函数f值,示从起点到该节点的路径长度加上该节点到终点的估计距离。在搜索过程中,A*算法会从open中取出f值最小的节点进行扩展,并将其加入closed中,示该节点已经被访问过。 closed是一个哈希,用于存储已经访问过的节点。在搜索过程中,A*算法会将扩展过的节点加入closed中,以避免重复访问。如果在后续搜索过程中遇到已经在closed中的节点,A*算法会直接跳过该节点,以提高搜索效率。 总之,openclosed是A*算法中非常重要的数据结构,它们共同协作,实现了A*算法的高效搜索。 ### 回答2: A*算法是一种搜索算法,用于在图或图形网格中寻找最短路径。它采用一种启发式的方式,通过评估每个节点的估计距离来决定下一步要搜索哪个节点。当搜索到目标节点时,算法会停止并返回一个最短路径。为了实现这个算法,需要使用两个数据结构——开放和关闭。 开放: 开放是一个列,其中存储了搜索过程中还需要探索的节点,按照代价从小到大的顺序排列。这个代价是指从起始节点到当前节点的实际代价加上从当前节点到目标节点的估计代价。通过这种方式,算法可以优先搜索那些代价较小的节点,加快搜索效率。每次从开放中取出一个节点,并将其从开放中删除,加入到关闭中。 关闭: 关闭是一个列,其中存储了搜索过程中已经探索过的节点。当一个节点被加入到关闭中后,就示这个节点已经被完全探索过了,不需要再次搜索。关闭的作用是避免重复搜索,提高搜索效率。 在A*算法中,每次从开放中取出一个节点时,需要将其周围的未被探索过的节点加入到开放中。如果这些节点已经存在于开放中,需要更新它们的代价值。如果这些节点已经存在于关闭中,就不用再次搜索。通过使用开放和关闭,A*算法可以快速而准确地找到最短路径。 ### 回答3: A*算法是一种非常常用的启发式搜索算法,用于寻找图中最短路径。A*算法的实现需要两张格—— open格和closed格。 Open格保存了待选节点的信息,其中每个节点都有一个估价函数值(F值)。F值是由两个函数组成的:起始节点到当前节点的实际距离(G值)和当前节点到目标节点的估价距离(H值)。 通过比较各个节点的F值,可以确定接下来要探索的节点。节点被添加到open格的同时,其F值也会被添加进去。 Closed格则保存了已经被探索过的节点的信息。已被探索过的节点也会有自己的F值。当一个节点被加入到closed格中时,这意味着它已经被探索过并且最优的路径已经被找到。 当从open格中取出一个节点时,算法会检查它是否已经在closed格中。如果节点存在于closed格中,则忽略这个节点并从open格中取出下一个节点继续搜索。如果节点不存在于closed格中,则将其加入closed格中并探索它的邻居节点。如果邻居节点不存在于open格中,则将其加入open格中,并计算他的F值。而如果邻居节点已存在于open格中,则判断当前路径是否更优,并且更新它的F值。 通过这种方式,A*算法能够逐步探索图中各个节点,从而找到最优路径。同时,独特的操作方式也保证了算法的效率和准确性。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值