一、基本概念
- 人工智能导论
人工智能领域的入门性课程/学科,系统介绍人工智能的基本理论、核心方法、典型应用及发展脉络,涵盖从基础概念到前沿技术的知识体系。
- 人工智能历史
梳理人工智能技术从诞生至今的关键发展阶段、标志性成果(如图灵测试、达特茅斯会议)与技术迭代脉络,解析学科演进逻辑。
- 可计算载体
能够执行计算任务的实体(如计算机、智能设备),是人工智能算法落地运行的物理或逻辑基础。
5. 形式化
将现实问题转化为形式化语言/数学模型的过程(如用数理逻辑符号描述问题),是人工智能中知识表示与推理的前提。
6. 机械化
早期人工智能探索中,尝试通过机械装置或自动化流程模拟人类智能行为(如早期机械计算器对逻辑运算的尝试)。
- 智能计算方法
人工智能中用于解决问题的智能算法/计算范式(如遗传算法、蚁群算法),侧重模拟生物或群体智能的求解逻辑。
二、推理
- 逻辑推理
基于逻辑规则(如命题逻辑、谓词逻辑)从已知命题推导新结论的思维过程,是人工智能实现"理性决策"的核心方法之一。
- 归纳推理
从具体案例中归纳普遍规律的推理方式(如从"多只天鹅是白色"推出"所有天鹅是白色"),属于非单调推理的典型形式。
- 演绎推理
从一般性前提推导特殊结论的推理(如"所有人都会死,苏格拉底是人 → 苏格拉底会死"),是数理逻辑的核心推理范式。
- 因果推理
分析事件间因果关系(而非相关性)的推理方法,用于解释现象、预测干预效果(如医疗诊断中"症状→病因"的推导)。
- 探寻搜索
人工智能中在解空间内寻找最优解的算法策略,涵盖盲目搜索、启发式搜索、博弈搜索等分支。
- 机器学习
让计算机系统从数据中自动学习规律并优化性能的学科,是人工智能的核心分支(如通过数据训练模型实现预测)。
- 监督学习
机器学习的典型范式,训练数据含明确标签(如"猫/狗"分类标签),模型学习输入与标签的映射关系(如回归、分类)。
- 无监督学习
机器学习范式之一,训练数据无标签,模型自主发现数据结构(如聚类、降维),侧重"探索性分析"。
- 深度学习
基于多层神经网络的机器学习方法,通过复杂结构提取数据的高层特征(如图像、语音识别中的特征分层抽象)。
17. 强化学习
机器学习分支,智能体通过与环境交互试错("行动→奖励/惩罚"循环)学习最优策略(如AlphaGo的决策训练)。
- 决策智能
聚焦智能决策支持的领域,结合数据分析、模型推理辅助复杂决策(如商业策略、医疗方案的智能推荐)。
三、逻辑
- 逻辑与推理
人工智能的基础理论模块,涵盖数理逻辑(命题/谓词逻辑)与推理方法(归纳、演绎、因果推理),为智能系统提供"理性思维"工具。
- 数理逻辑
用数学方法研究逻辑推理的学科,人工智能中用于形式化知识表示与自动推理(如谓词逻辑描述规则)。
- 命题逻辑
数理逻辑的子领域,研究命题(可判断真假的陈述句)间的逻辑关系(如"与、或、非"运算),是知识表示的基础工具。
- 谓词逻辑
数理逻辑的进阶形式,引入量词(∀、∃)和谓词(描述对象属性/关系),能更精细表示复杂知识(如"所有人都是会死的"形式化为 ∀x(人(x)→会死(x)))。
- 知识图谱
结构化的语义网络,以"实体-关系-属性"三元组形式存储知识(如"爱因斯坦-出生地-德国"),支撑智能搜索、问答等应用。
- FOIL归纳推理
一种一阶逻辑归纳推理算法,通过"自底向上"泛化规则(从具体实例归纳逻辑表达式),用于知识发现与机器学习。
- 路径排序推理
知识图谱推理方法,基于实体间路径的语义相似性进行推理(如"若A→B→C,B→D→E,则A与E可能存在关联")。
- 其他知识推理
除上述方法外的知识推理技术(如基于规则、案例、概率的推理),灵活适配不同场景的知识推导需求。
- 搜索求解
人工智能中通过搜索策略解决复杂问题的方法论,涵盖从基础搜索到博弈搜索的全流程技术。
- 搜索算法基础
搜索方法的核心理论,包括树/图结构的搜索原理(如状态空间表示、节点扩展规则),是后续搜索算法的基础。
- 树 | 图
搜索问题的结构化表示:"树"表示层次化的状态空间(无环);"图"表示更通用的状态网络(允许环路)。
搜索
- 无信息搜索 | 盲目搜索
仅依赖搜索策略本身(无额外启发信息)的搜索方法,如BFS(广度优先)、DFS(深度优先)。
- BFS(广度优先搜索)
盲目搜索算法,从初始节点开始逐层扩展所有相邻节点,确保找到最短路径(若存在),但空间复杂度高。
- DFS(深度优先搜索)
盲目搜索算法,沿单一路径纵深探索,直到无法扩展再回溯,空间复杂度低但可能陷入无限分支。
- 有信息搜索 | 启发式搜索
利用启发式信息(如"当前节点到目标的估计代价")指导搜索方向的算法,典型如A*搜索。
- 贪婪最佳优先搜索
启发式搜索的一种,每一步选择启发函数值最小的节点扩展(只看"眼前最优"),速度快但不一定找到全局最优解。
- A*搜索
经典启发式搜索算法,结合路径代价g(n)(已走距离)与启发代价h(n)(估计剩余距离),满足条件时能保证找到最短路径。
- 对抗搜索 | 博弈搜索
多智能体竞争场景下的搜索方法(如棋类游戏),需考虑对手的最优反应,典型算法如"最小最大搜索"。
38.最小最大搜索算法基础
最小最大搜索(Minimax Search)是博弈论中用于零和游戏的经典算法,适用于双方轮流行动且目标完全对立的场景(如象棋、围棋)。其核心假设是对手始终采取最优策略,算法通过递归评估所有可能的行动路径,选择对自身最有利的决策。
算法核心思想
-
最大化自身收益:在己方回合,选择能最大化评估函数值的行动。
-
最小化对手收益:在对手回合,假设对手会选择最小化己方评估函数值的行动(即对己方最不利的决策)。
通过交替进行"最大化"和"最小化"步骤,算法模拟双方最优策略下的对抗过程。
递归实现步骤
评估函数(Utility Function)
定义叶节点(终局或深度限制)的评估值,例如:
-
正数表示己方优势,负数表示对手优势。
-
零表示平局。
递归伪代码
python
def minimax(node, depth, maximizing_player):
if depth == 0 or node.is_terminal():
return evaluate(node)
if maximizing_player:
value = -∞
for child in node.children():
value = max(value, minimax(child, depth-1, False))
return value
else:
value = +∞
for child in node.children():
value = min(value, minimax(child, depth-1, True))
return value
关键特性
-
完全信息假设:双方对游戏状态完全透明。
-
最优对抗:对手行为始终以最小化己方收益为目标。
-
深度限制:实际应用中需限制递归深度以避免计算爆炸。
优化方法
Alpha-Beta剪枝
通过记录当前路径的上下界(α和β),提前终止对无效分支的搜索,大幅减少计算量。伪代码如下:
python
def alphabeta(node, depth, α, β, maximizing_player):
if depth == 0 or node.is_terminal():
return evaluate(node)
if maximizing_player:
value = -∞
for child in node.children():
value = max(value, alphabeta(child, depth-1, α, β, False))
α = max(α, value)
if α >= β:
break # β剪枝
return value
else:
value = +∞
for child in node.children():
value = min(value, alphabeta(child, depth-1, α, β, True))
β = min(β, value)
if β <= α:
break # α剪枝
return value
复杂度分析
-
时间复杂度:O(b\^d),其中b为分支因子,d为搜索深度。
-
空间复杂度:O(b \\cdot d)(递归栈空间)。
Alpha-Beta剪枝可将时间复杂度优化至O(b\^{d/2})(最佳情况下)。
应用场景
-
完全信息博弈:如国际象棋、五子棋。
-
有限决策深度:需权衡计算资源与搜索深度。
-
确定性环境:无随机因素干扰(如骰子)。
-
Alpha - Beta剪枝
最小最大搜索的优化算法,通过"剪枝"排除不可能影响决策的分支,大幅减少计算量(如棋类程序的深度搜索优化)。
40. 蒙特卡洛树搜索 (MCTS)
蒙特卡洛树搜索是一种结合随机模拟与树搜索的博弈算法,通过迭代构建搜索树来优化决策。其核心思想是通过大量随机模拟(蒙特卡洛方法)评估动作价值,同时利用树结构高效探索状态空间,典型应用包括AlphaGo等博弈AI。
核心四阶段循环
选择(Selection)
从根节点出发,根据树策略(如UCT算法)递归选择子节点,直至到达未完全展开的节点。UCT平衡探索与利用:
UCT(v_i) = \\bar{X}_i + c \\sqrt{\\frac{\\ln N}{n_i}}
其中\\bar{X}_i为节点平均收益,N为父节点访问次数,n_i为当前节点访问次数,c为探索参数。
扩展(Expansion)
当选择阶段到达未完全展开的节点时,扩展一个或多个合法动作作为新子节点。新节点初始化为未访问状态(访问次数n=0,收益Q=0)。
模拟(Simulation)
从新扩展的节点出发,使用默认策略(如随机动作)进行快速模拟至终局,生成胜负结果R(如1表示胜,0表示负)。
回溯(Backpropagation)
将模拟结果R沿路径回溯至根节点,更新路径上所有节点的访问次数n和累计收益Q:
Q \\leftarrow Q + R, \\quad n \\leftarrow n + 1
平衡探索与利用的关键
-
UCT算法:通过公式中的探索项(第二项)鼓励访问次数少的节点,避免陷入局部最优。
-
渐进精确性:随着模拟次数增加,节点价值估计逐渐收敛至真实期望,最终选择访问次数最多的动作。
实际应用优化
并行化 :通过虚拟损失(Virtual Loss)实现多线程同步搜索,避免线程冲突。
领域知识 :在模拟阶段引入启发式策略(如AlphaGo的Rollout Policy)替代纯随机模拟,提升评估质量。
内存管理:限制树深度或节点数量,结合置换表(Transposition Table)处理重复状态。
代码示例(Python伪代码)
python
def MCTS(root_state, iterations):
root_node = Node(root_state)
for _ in range(iterations):
node = root_node
state = root_state.copy()
# Selection
while node.is_fully_expanded():
node = node.select_child()
state.apply_action(node.action)
# Expansion
if not state.is_terminal():
action = random.choice(state.legal_actions())
state.apply_action(action)
node = node.expand(action)
# Simulation
result = simulate(state)
# Backpropagation
while node is not None:
node.update(result)
node = node.parent
return root_node.best_action()
与其他算法的对比
-
与Minimax的区别:MCTS无需完整状态空间,适用于高分支因子问题;Minimax依赖精确评估函数。
-
与Q学习的区别:MCTS在线构建搜索树,Q学习依赖离线训练的Q表,但两者可结合(如AlphaZero)。
蒙特卡洛树搜索的灵活性使其成为复杂决策问题的通用框架,尤其在信息不完全或随机性强的场景中表现突出。
- 多臂赌博机
强化学习的经典探索-利用 dilemma 模型:多个"老虎机臂"对应不同奖励概率,需在"探索新臂"和"利用已知高奖励臂"间权衡。
- 贪心算法
多臂赌博机的策略之一,始终选择当前平均奖励最高的臂("利用"优先),但可能错过潜在更优臂(缺乏"探索")。
- ε - 贪心算法
贪心算法的改进,以ε概率随机探索新臂,(1 - ε)概率选择当前最优臂,平衡探索与利用(ε为超参数)。
- 上限置信区间算法
多臂赌博机的智能策略,选择"平均奖励 + 置信区间上界"最大的臂,既优先高奖励臂,又对不确定性高的臂进行探索。
- 回归分析
监督学习的任务类型,预测连续数值型目标(如房价预测、销量预估),典型算法如线性回归、决策树回归。
- 决策树
监督学习算法,通过"树状结构"(节点为特征判断,叶节点为预测结果)实现分类或回归,逻辑直观、可解释性强。
- 线性判别分析
有监督的降维/分类方法,通过线性变换最大化类间距离、最小化类内距离,常用于数据预处理与分类任务。
- Ada Boosting
集成学习的Boosting类算法,通过"串行训练弱分类器",逐步聚焦错误样本,最终加权组合为强分类器。
- 支持向量机
监督学习的经典算法,寻找最大间隔超平面分隔不同类别样本,核技巧使其能处理非线性分类问题。
- K均值聚类
无监督学习的聚类算法,将数据划分为K个簇,使簇内样本相似、簇间差异大,通过"迭代优化簇中心"实现聚类。
- 特征降维 PCA
无监督的降维方法,通过线性变换将高维数据映射到低维空间,保留主要信息(如图像、文本数据的维度压缩)。
- 特征人脸方法
基于PCA的人脸识别技术,将人脸图像转换为"特征脸"(主成分),通过低维特征表示实现人脸的高效识别与分类。
- 潜在语义分析
自然语言处理的无监督方法,通过降维发现文本中"词-文档"的潜在语义关联,解决词汇多样性(如同义词、多义词)问题。
- 期望最大 EM
迭代优化算法,用于含隐变量的概率模型参数估计(如高斯混合模型),通过"E步(期望)- M步(最大化)"循环逼近最优参数。
- 半监督学习
机器学习范式,训练数据含少量标签样本 + 大量无标签样本,结合监督与无监督思想,降低数据标注成本。
神经网络
- 人工神经网络
模拟生物神经网络的计算模型,由大量"神经元"节点互联而成,是深度学习的基础架构。
- 单层神经网络:感知机
最简单的神经网络,仅含输入层 + 输出层,可解决线性可分问题(如与、或逻辑运算),是神经网络的奠基性模型。
- 输入层
神经网络的第一层,负责接收原始输入数据(如图像像素、文本向量),将数据传递至后续层处理。
- 输出层
神经网络的最后一层,输出最终预测结果(如分类概率、回归数值),结构与任务类型(分类/回归)强相关。
- 两层神经网络:多层感知机
含输入层、隐藏层、输出层的神经网络(隐藏层≥1),可解决非线性可分问题,是"深度学习"的入门级结构。
- 隐藏层
神经网络中输入层与输出层之间的层级,通过非线性激活函数提取数据的抽象特征(隐藏层数量决定网络"深度")。
- 多层神经网络:深度学习
含多个隐藏层的神经网络,通过分层特征提取实现"从低层到高层"的语义抽象(如图像识别中"边缘→纹理→物体"的逐层学习)。
- 前馈神经网络
最基础的神经网络结构,信息单向传递(输入层→隐藏层→输出层),无反馈连接,是深度学习的"骨架"模型。
- 梯度下降
优化算法,通过迭代更新参数(沿损失函数梯度负方向)最小化目标函数,是神经网络训练的核心方法。
- BP算法(反向传播算法)
神经网络的训练算法,通过"链式求导"计算损失函数对各层参数的梯度,结合梯度下降更新权重,实现多层网络的学习。
- 卷积神经网络 CNN
专为处理网格结构数据(如图像)设计的神经网络,通过"卷积层(提取局部特征)+ 池化层(降维)"实现高效特征学习。
- 循环神经网络 RNN
专为序列数据(如文本、语音)设计的神经网络,通过"循环连接"保留历史信息,但存在梯度消失/爆炸问题。
- 长短期记忆网络
RNN的改进版本,引入门控机制(输入门、遗忘门、输出门),有效解决长期依赖问题(如长文本的语义理解)。
- 生成对抗网络 GAN
由生成器(造伪数据) + 判别器(辨真伪)组成的对抗训练模型,通过博弈学习数据分布,可生成逼真图像、文本等。
强化学习
- 马尔可夫决策过程
强化学习的数学框架,描述智能体在环境中"状态→动作→奖励"的序列决策过程,假设"未来仅依赖当前状态"(马尔可夫性)。
- 基于价值的强化学习
强化学习范式,通过学习状态/动作的价值函数(如Q - learning)间接得到最优策略,核心是"评估每个决策的好坏"。
- 基于策略的强化学习
强化学习范式,直接学习策略函数(从状态到动作的映射,如Policy Gradient),适合连续动作空间或复杂策略场景。
- 深度强化学习
结合深度学习与强化学习的方法,用神经网络近似价值函数或策略(如DQN、PPO),突破传统强化学习的规模限制。
- 人工智能博弈
研究智能体在竞争/合作场景(如棋类、多智能体系统)中决策的领域,核心是"对抗搜索"与"策略优化"。