了解人工智能技术基础,有这一篇就够了
绪论#
智能#
- 智能是知识(一切智能行为的基础)和智力(是获取知识并运用知识求解问题的能力,是头脑中思维活动的具体体现)的总和
- 智能的特征:具有感知、记忆&思维(逻辑思维、形象思维、顿悟思维)、学习&自适应、行为能力
智能体#
-
具有智能的实体,是驻留在某一环境下,能持续自主地发挥作用,具备驻留性、反应性、社会性、主动性等特征的计算实体。
-
任何独立的能够思想并可以同环境交互的实体都可以抽象为智能体。
-
五大特性
- 自治性(Autonomy):智能体能根据外界环境的变化,而自动地对自己的行为和状态进行调整,而不是仅仅被动地接受外界的刺激,具有自我管理自我调节的能力。
- 反应性(Reactive):能对外界的刺激作出反应的能力。
- 主动性(Proactive):对于外界环境的改变,智能体能主动采取活动的能力。
- 社会性(Social):智能体具有与其它智能体或人进行合作的能力,不同的智能体可根据各自的意图与其它智能体进行交互,以达到解决问题的目的。
- 进化性:智能体能积累或学习经验和知识,并修改自己的行为以适应新环境。
-
Agent通过传感器感知环境并通过执行器对所处环境产生影响。
机器人Agent可能用摄像头、红外测距仪作为传感器,各种马达作为执行器。软件Agent接受键盘敲击、文件内容和网络数据包作为传感器输入,并以屏幕显示、写文件和发送网络数据包为执行器来作用于环境。
知识表示#
知识层次#

知识#

状态空间法#
经典问题包括:八数码、最短路径、野人过河、n皇后、猴子香蕉。状态空间法描述问题三要素:
- 初始状态描述
- 操作符集合及其对描述状态的作用
- 目标状态描述的特性
传教士过河#
-
问题描述:
有三个传教士M和三个野人C过河,只有一条能装下两个人的船,在河的一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险,能不能提出一种安全的渡河方法?

-
状态(State)-问题在某时刻的位置情况:(左岸传教士数, 左岸野人数, 船的位置)
初始状态:(3,3,1) 1:左岸 目标状态:(0,0,0) 0:右岸
-
算子(Operator, 算符,操作符):使状态发生改变的操作。
Move-1m1c-lr
:将一个传教士(m)一个野人(c)从左岸(l)运到右岸(r) -
求解:转化为在状态空间图中搜索一条从初始节点到目标节点的路径问题
以传教士数=野人数=3,船上最多2人,初始在左岸为例:
-
初始状态: (左岸传教士数,左岸野人数,船在左岸)=(3,3,1)
-
目标状态: (左岸传教士数,左岸野人数,船在左岸)=(0,0,0)
-
操作算子: Move(m,c,d)共10种
- 船上人数组合(m,c)5种 :(1,0)/(1,1)/(2,0)/(0,1)/(0,2)
- 船移动方向d共2种:
-
状态空间图:共有4组解
所有解序列表示:
Move((1,1,1)、(1,0,0)、(0,2,1)、(0,1,0)、(2,0,1)、(1,1,0)、(2,0,1)、(0,1,0)、(0,2,1)、(0,1,0)、(0,2,1)) Move((1,1,1)、(1,0,0)、(0,2,1)、(0,1,0)、(2,0,1)、(1,1,0)、(2,0,1)、(0,1,0)、(0,2,1)、(1,0,0)、(1,1,1)) Move((0,2,1)、(0,1,0)、(0,2,1)、(0,1,0)、(2,0,1)、(1,1,0)、(2,0,1)、(0,1,0)、(0,2,1)、(0,1,0)、(0,2,1)) Move((0,2,1)、(0,1,0)、(0,2,1)、(0,1,0)、(2,0,1)、(1,1,0)、(2,0,1)、(0,1,0)、(0,2,1)、(1,0,0)、(1,1,1))
猴子香蕉#
问题归约法#
思路#
- 给定一个问题描述,将原始问题通过一系列转化操作转化为一些子问题的集合
- 最终把初始问题归约为一个平凡的本原问题(可直接求解的问题)集合
- 通过求解这些问题来求解原始问题
问题归约法是更通用的、更一般化的状态空间表示方法
描述:三元组(G,O,P)#
- G:一个初始问题描述
- P:一套本原问题描述
- O:一套把问题通过AND或OR分解变换为子问题的操作符
汉诺塔问题#
三元组表示状态空间(第i大的盘处于第根柱子上),树的根节点为本原问题

谓词逻辑法(选择必考)#
谓词公式的各种性质+某一句话的谓词表达
采用谓词公式和一阶谓词演算把要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演来证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的。
置换与合一#
- 和生成合式公式,即寻找A对x的置换。置换是可结合的但一般不可交换。
- 对表达式集存在一个置换使则为合一者,最少的置换s则为最简单的合一者。
语义网络法#
语义网络法(Semantic Network Method)是基于语义网络知识表示方式的一种形式化解析法,通过节点、关系链对人、物、动作、关系、属性等要素加以模型化,用以形式化表达物理量、心理量、条件、目标等要素的关系和逻辑表述。节点与关系链可以相互转化并具备多个信息槽;不受结构维度限制,可以是线型、平面的简单结构,也可以是立体型、多维嵌套型的复杂结构。
框架剧本过程#
待补充
搜索求解#

无信息搜索(盲目):宽度优先搜索、深度优先搜索、一致代价搜索#

有信息搜索(启发式):贪婪算法、A算法、A*算法#
图搜索的基本出发点:。详见链接:https://zhuanlan.zhihu.com/p/478858388

A*算法C++伪代码如下:
//step 1
创建两个表,OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。
//step 2
遍历当前节点的各个节点,将n节点放入CLOSE中,取n节点的子节点X,算X的估价值
//step 3
While(OPEN!=NULL)
{
从OPEN表中取估价值f最小的节点n;
if(n节点==目标节点) break;
else
{
if(X in OPEN)
比较两个X的估价值f //注意是同一个节点的两个不同路径的估价值
if(X的估价值小于OPEN表的估价值)
更新OPEN表中的估价值; //取最小路径的估价值
if(X in CLOSE)
比较两个X的估价值 //注意是同一个节点的两个不同路径的估价值
if(X的估价值小于CLOSE表的估价值)
更新CLOSE表中的估价值; 把X节点放入OPEN //取最小路径的估价值
if(X not in both)
求X的估价值;并将X插入OPEN表中; //还没有排序
}
将n节点插入CLOSE表中;按照估价值将OPEN表中的节点排序;
//(实际上是比较OPEN表内节点f的大小,从最小路径的节点向下进行。)
}
推理决策#
1.按推出结论的途径
- 演绎推理:全称判断推出特/单称判断
- 归纳推理:从足够多的示例中推出一般结论
- 默认(缺省)推理:知识不完全时假设条件具备,没有证据证明某事件不存在则存在
2.按所用知识的正确性
- 确定性推理:推理时所用知识都是精确的,推出的结论也是确定的(二值的)
- 不确定性推理:推理时所用的知识不都是确定的,推出的结论也不完全是肯定的。其真值不限于真和假,可能还有其他值。
3.按推理过程中推出的结论是否单调的增加(是否越来越接近最终目标)
- 单调推理
- 非单调推理
确定性推理#
自然演绎推理#
①P规则:在推理的任何步骤上均可以引入前提
②T规则:推理时如果前面步骤中有一个或多个公式永真蕴含则可引入
③全称指定规则:
④存在推广规则:
⑤假言推理:
⑥拒取式推理:

消解(归结)原理#
- 前束形范式:所有量词均非否定地出现在公式之首&辖域一直延伸到公式之末&公式中不出现连接词及。任意一个谓词公式,均和一个前束形范式等价。
- 斯克林范式:每个存在量词均出现在全称量词之前的前束形范式
- Skolem标准型:消去全部存在量词的前束形范式,一般形式如下,M合取范式为Skolem标准型母式。
- 求取子句集:任何一个谓词公式都可以通过等价关系及推理规则化成相应的子句集
- 消去蕴含符号:代替,代替
- 减小否定辖域:使否定符号最多只作用于一个谓词
- 变量标准化:重命名变元
- 消去存在量词:若存在量词不出现在全称量词的辖域内用一个新的个体常量替换该存在量词约束的变元消去存在量词;若存在量词位于一个或多个全称量词的辖域内,用一个Skolem函数替换存在量词而将其消去
- 全称量词提前:全称量词全移动至公式之首,使每个量词的辖域包括整个公式
- 化为合取范式:Skolem标准型
- 消去全称量词和合取符号:变为子句集
- 变量标准化:使不同子句中的变元不同名

例2:Everyone who loves all animals is loved by someone 可表示为:

消解原理:
-
已知两子句和,如果和和具有最一般合一者σ,则通过消解可以从这两个父辈子句推导出一个新子句,新子句为消解式。
-
链式三段论:
-
将消解推理规则推广至含变量的子句:必须找到一个作用于父辈子句的置换,使父辈子句含有互补文字。如下例中选取置换
-
消解反演证明:
给出公式集{S}和目标公式L
①否定L,得~L;
②把~L添加到S中去;
③把新产生的集合化成子句集;
④应用消解原理,力图推导出一个表示矛盾的空子句
-
消解原理求解:
①把已知前提条件用谓词公式表示出来,并化成相应的子句集,设该子句的名字为。
②把待求解的问题也用谓词公式表示出来,然后将其否定,并与一谓词构成析取式。谓词是一个专为求解问题而设置的谓词,其变量必须与问题公式的变量完全一致。
③把问题公式与谓词构成的析取式化为子句集,并把该子句集与合并构成子句集𝑆 。
④对子句集𝑆应用谓词归结原理进行归结,在归结的过程中,通过合一置换,改变中的变元。
⑤如果得到归结式 ,则问题的答案即在谓词中。


产生式系统#
产生式系统用来描述若干个不同的以一个基本概念为基础的系统,亦基于规则的系统,由总数据库(或全局数据库)、产生式规则和控制策略组成。论域分为两部分:用事实表示静态知识,如事物、事件和它们之间的关系;用产生式规则表示推理过程和行为。
总数据库又称综合数据库、上下文、黑板等,存放求解过程中各种当前信息的数据,如:问题的初始状态、事实或证据、中间推理结论和结果等。
当产生式规则中某条规则的前提与总数据库中的某些事实想匹配时,该规则就被激活,并把其结论作为新的事实存入总数据库。
产生式规则是一个规则库,用于存放于求解问题相关的某个领域知识的规则集合。规则库知识的完整性、一致性、准确性、灵活性和知识组织的合理性,对产生式系统的运行效率和工作性能产生重要影响。
不确定性推理#
类型划分#
“不确定性”:随机性、模糊性、不完全性、不一致性和时变性
概率推理方法#

主观贝叶斯#
核心:根据,将H的先验概(几)率更新为后验概(几)率

规划#
运动规划#
- 路径规划和轨迹规划共同点区别比较
- 复杂度比对
①任务规划(Task Planning):寻求某个动作序列以达到目标的过程
②运动规划(Motion Planning):在给定两位置间为机器人找到一条符合无碰撞、路径最短、机械功最小等约束条件的路径。
③路径规划(Path Planning):在起止点之间获得一条最优路径(需要经过必须点&不能触碰障碍物)。
④轨迹规划(Trajectory Planning):机器人末端执行器在参考坐标系空间由初始点运动到终止点产生的空间曲线称为机器人的轨迹。轨迹规划指操作机初始位置和目标位置之间用多项式函数内插或逼近给定路径,并沿时间轴产生控制一系列设定点,供操作机控制用。
路径是Agent位姿的一个特定序列,不考虑时间因素;轨迹与何时到达路径中的每个点有关,依赖速度和加速度,强调了实践性,更多属于机器人学范畴。
P/NP/NPC/NP-Hrad#
为多项式复杂度,等非多项式复杂度
- P类问题:多项式时间内可解的问题
- NP类问题:不能判断是否有解,但多项式时间内可验证的问题。(P属于NP)
- NPC问题:所有的NP问题都可以规约到它的NP问题
- NP-Hrad问题:所有的NP问题都能约化到它的问题

专家系统#
神经网络#
计算智能:计算系统主要依赖传感器产生的数据而非人类的知识经验
神经网络(NN),模式识别(PR)和智能(I)之间的关系#
ABC


人工神经网络#
-
特征:并行分布处理;计算适应性容错性;非线性映射;通过训练学习;适应与集成;硬件实现
结构:前馈网络和反馈网络
学习算法:监督学习、非监督学习、强化学习
-
与生物神经元对比:
主要结构细胞体、树突、轴突、突触,树突多输入信号在细胞体总和并阈值化后通过轴突单输出经过突触连接到下一个神经元树突。神经元之间的联接强度决定信号传递的强弱,可随训练改变,具有阈值。
-
人工神经元
BP学习算法#
思想

计算机实现

流程图

应用——图像分类(为图像分配标签)
- 输入(制作数据集:将图像数据处理成网络模型能读取的形式)
- 训练(用训练集训练分类器或称学习一个模型)
- 预测(让分类器来预测它未曾见过的图像的分类标签,把分类器预测的标签和图像真正的分类标签对比并以此来评价分类器的质量)
卷积神经网络#
传统神经网络VS卷积神经网络

特点
- 4个关键技术:局部连接、参数共享、多卷积核、池化
- 通过局部连接、参数共享减少参数量
- 滤波器通道数决定输出图像深度(输入图像的尺寸越大或包含特征种类越多时需设置更多数量的滤波器);步长越大输出尺寸越小;为保证输入输出尺寸相同可零填充
各层功能
- 池化层:无参数、减少数据量、减轻过拟合
- 激活层:非线性拟合作用,使网络模型拟合出的特征更复杂
- 全连接层:之前综合特征,最后一层全连接层为线性分类器
循环神经网络#
RNN存储着神经元这一时刻的输出与前一时刻输入的依赖关系,信号从一个神经元到另一个神经元不会马上消失而是继续保留。通过神经网络在时序上的展开,能够找到样本之间的序列相关性。

RNN分为全局和局部循环神经网络,常用激活函数是sigmoid和tanh。RNN存在梯度消失和梯度爆炸的问题。RNN的几大主要应用如下:
- 语言模型,文本生成
- 机器翻译
- 语音识别
- 图像描述
生成对抗网络#
核心:站在数据分布的角度如何使判别器(D)和生成器(G)在博弈中提升性能。

GAN存在的问题:训练过程不平稳易震荡难收敛、会模式坍塌
Hopfield反馈网络#
单层全反馈RNN,联想记忆功能:输出与输入模式最相近的模式。
模糊系统#
模糊理论#
模糊集合#
- 表示方法:Zadeh表示法、矢量表示法、续偶表示法、函数表示法
- 模糊集合的运算(具有传递性):
- 交:
- 并:
- 补:
模糊关系#
直积定义模糊关系,有限集模糊关系R可用模糊矩阵表示,模糊矩阵交并补运算为矩阵点运算(见上)。
模糊命题#
运算交并补见上,可用替代
相容#
模糊逻辑公式对所有模糊变量的赋值均满足则是相容的,均满足则是不相容的。
模糊语言#
模糊关系,与E相关的描述,论域,表示属于集合S的单词a和属于论域E上的元素e之间的关系程度。
语言算子:
-
语气算子集合表示的形式:,,加强语气,,淡化语气。
-
模糊化算子:“大概左右近似”
-
判断化算子:“倾向于大半是”
模糊推理#
-
if A then B:
-
if A then B else C:
-
if A and B then C:
对于if A then B :(可以要求特定的方法)
-
Zadeh法:。先算叉积再算
注意:默认行向量;,与逐列点运算,结果与同型
-
Mamdani法:
- 已知,
- 已知,
这里表示模糊矩阵的合成,类似矩阵乘法(将改为和):
模糊判决#
-
重心法:
-
最大隶属度方法:最大值/最大值平均值
-
加权平均法:
-
隶属度限幅元素平均法:用所确定的隶属度值α对隶属度函数曲线进行切割,再对切割后等于该隶属度的所有元素进行平均,用这个平均值作为输出执行量
模糊系统#
模糊控制器设置:确定输入输出变量个数形式、模糊化过程、知识库(数据库、规则库)、推理决策规则、精确化。

进化算法#
遗传算法#
概念#
遗传算法模仿生物遗传学和自然“物竞天择,适者生存”的选择机理,通过人工方式构造的一类随机优化搜索进化算法。通过自然选择、遗传、变异等作用机制,实现种群适应度的提高,逐渐逼近最优解,适用于处理传统搜索方法难以解决的复杂和非线性优化问题。

流程图#

结合TSP#

特点#
- 对求解优化问题的数学要求不高,线性/非线性/离散/连续(适应度作为依据)
- 针对特殊问题设置各自的适应度函数,灵活性、普适性高
- 6进化算子的各态历经性高效进行概率意义的全局搜索,保证有效性
扩展方法#
- 双倍体遗传算法:显性和隐性两个染色体同时进化,采用显性遗传,记忆以前有用的基因块,延长了有用基因块的寿命,提高了算法的收敛能力,在变异概率低的情况下能保持一定水平的多样性。
- 双(多)种群遗传算法:增添杂交算子,两个遗传算法群体分别独立运行复制、交叉、变异操作,当每一代运行结束以后选择两个种群中随机个体及最优个体进行杂交。
- 自适应遗传算法(AGA):当种群各个体适应度趋于一致或者趋于局部最优时,增加、跳出局部最优;而当群体适应度比较分散时,减少、利于优良个体的生存;对于适应度高于群体平均适应值的个体,选择较低的、使得该解得以保护进入下一代;对低于平均适应值的个体,选择较高的、使该解被淘汰。
差分进化算法(DE)#
概念#
DE是一种采用实数矢量编码在连续空间中进行随机搜索的具有保优思想的贪婪遗传算法。原理见:https://blog.csdn.net/jodie123456/article/details/95486270
流程图#

特点#
- 算法原理简单,容易实现;算法通用,不依赖于问题信息。
- 分散搜索,能在整个解空间进行全局搜索。
- 保优搜索,具有记忆个体最优解的能力。
- 协同搜索,利用个体局部信息和群体全局信息指导算法进一步搜索。
- 直接对结构对象进行操作,目标函数无限定(不要求函数可导或连续)。
量子进化算法#
原理#
- 采用量子比特编码,基于概率表征任意的线性叠加态,长度为m的染色体可以表示种状态。
- 量子观测:将只有在量子计算机中才能观测的信息转换成在二进制计算机中能表示的信息,导致具有个状态的量子染色体退化成一个确定的状态,量子坍塌。
- 量子评价:类似适应度评价,保留最优个体
- 量子更新:量子旋转门来更新量子位概率幅
- 量子进化:量子旋转门实际上完成进化,可以量子交叉、量子变异、灾变操作(进化在某个特定代数之后没有产生任何优化,则算法将灾变到某个特定的状态并进行重新优化)、全干扰算子(引入多个个体进行操作,即将多个个体的染色体拆开,依照预先拟定的准则重组以构造新的个体,即使在多个个体完全相同的极端情况下也可以产生新个体)
流程图#

特点#
- 算法原理简单,容易实现;
- 算法通用,不依赖于问题信息。
- 种群分散性好,小种群个体可以对应多个个体编码。
- 群体搜索,具有极强的全局搜索能力。
- 协同搜索,具有利用当前最优个体信息算法进一步搜索的能力。
- 收敛速度快,易于与其他算法混合。
群智能算法#
粒子群算法#
基本思想#
将每个个体看作n维搜索空间中一个没有体积质量的粒子,在搜索空间中以一定的速度飞行,该速度决定粒子飞行的方向和距离。所有粒子还有一个由被优化的函数决定的适应值。
基本原理#
PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解称为个体极值。另个一是整个种群目前找到的最优解,这个解称为全局极值。
参数与更新#
群体规模m,最大代数惯性权重w,加速度,r为随机数,速度更新:

- 惯性部分:粒子对先前自身运动状态的信任
- 认知部分:粒子个体的经验,粒子当前位置与自身历史最优位置之间的距离和方向。
- 社会部分:粒子之间的信息共享与合作,即来源于群体中其他优秀粒子的经验,可理解为粒子当前位置与群体历史最优位置之间的距离和方向
流程图#

蚁群算法#
解决离散组合优化问题
重要概念#
- 信息素启发因子:反映了蚁群在路径搜索中随机性因素作用的强度。越大随机性越弱,过大易陷入局部最优。
- 期望值启发式因子:反映了蚁群在路径搜索中先验性、确定性因素作用的强度。越大随机性越弱,越容易局部最优。
- 信息素消逝度:挥发度越大随机性全局搜索能力越弱,挥发度越小收敛速度越低。
流程图#

机器学习#
- 评估方法+性能度量指标
- 简述决策树基本流程;三重指标选取最优属性
- 支持向量 核函数 概念理解
- 聚类中的性能度量,有哪几种距离选择,K-means伪代码
- 待添加
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)