这道 AI 考题,90% 的学生都答错了!保姆级解析 CBR+RBR 结合系统
AI 专家系统经典考题 看一遍就会,建议收藏
上周有个粉丝私信我,说期末考前一天还在纠结这道题。我一看——好家伙,这题出得确实刁钻,但又特别经典。
今天给你掰开揉碎讲明白,保证你看完就能拿满分。建议先收藏,考试前翻出来看一遍就够了。
先看原题
三、问答题(每小题 4 分,共 12 分)
对一类问题求解来说,若有部分案例(case),而有较多的推理规则(知识),试问如何建造一个由基于案例推理和规则推理相结合的求解系统,以使推理效率高又能求得问题的解。是不是看完有点懵?别慌,我们一步步来。
一、先搞懂两个主角
这道题考的是两种推理方式的结合。先分别搞懂它们,你才能理解为什么要结合。
展开剩余92%主角 1:基于案例推理(CBR)—— 用经验解决问题
一句话理解:遇到新问题,先想想以前有没有类似的,有的话直接套用。
生活例子:你去餐厅点菜,看到一个新菜名不确定好不好吃。你会怎么想?
"上次那个长得差不多的菜味道不错,这个应该也行。"
这就是 CBR——用过去的经验解决新问题。
专业流程(记住这个 4R 循环,考试必考):
步骤 英文 人话解释 检索 Retrieve 从经验库里翻出类似的老案例
复用 Reuse 把老方案套到新问题上
修正 Revise 根据差异微调方案
保留 Retain 把这次的经验存起来,下次直接用
CBR 的优点:
推理速度快,不用从头推
擅长处理"说不清规则"的问题
CBR 的缺点:
经验库里没有相似案例,就傻眼了
案例越多,翻起来越慢
主角 2:基于规则推理(RBR)—— 用规则推导结论
一句话理解:根据 IF-THEN 规则,一步步推出结论。
生活例子:你想判断一个动物是不是哺乳动物,心里有条规则:
IF 胎生 AND 哺乳 THEN 是哺乳动物
你发现这个动物两个条件都符合,所以得出结论。这就是 RBR。
两种推理方式:
正向推理(从已知推未知):已知"胎生+哺乳"→ 推出"是哺乳动物"
反向推理(从目标倒推条件):目标是"证明它是哺乳动物"→ 倒推需要"胎生+哺乳"的证据
RBR 的优点:
知识表示清晰,推理过程可解释
擅长处理规则明确的问题
RBR 的缺点:
规则多了会冲突、会爆炸,推理效率低
有些问题根本没有明确规则
二、为什么要结合?(得分点)
题目给了一个关键线索:"有部分案例,有较多推理规则"。
这句话暗示了什么?
单独用 CBR → 案例不够多,覆盖不全,遇到新情况就卡壳
单独用 RBR → 规则太多,一条条匹配效率太低
所以正确答案是:结合两者,取长补短!
结合后的三大优势:
效率高:先用 CBR 快速匹配,命中就直接用,不用一条条跑规则 覆盖全:案例库没覆盖到的情况,用规则推理兜底,不会卡壳 可学习:规则推理的结果可以作为新案例存起来,系统越用越聪明三、如何建造结合系统?(核心答案,重点!)
设计思路就四个字:CBR 优先,RBR 兜底。
整体架构图(建议截图保存)
┌──────────────────┐
│ 用户输入问题 │
└────────┬─────────
▼
┌──────────────────┐
│ 第一阶段:CBR │
│ (快速匹配) │
└────────┬─────────┘
│
┌─────────────┼──────────────┐
▼ ▼
┌──────────────── ┌────────────────
│ 找到相似案例 │ │ 未找到相似案例 │
│ → 复用 + 修正 │ │ → 进入第二阶段 │
└────────┬───────┘ └────────┬───────┘
│ ▼
│ ┌────────────────┐
│ │ 第二阶段:RBR │
│ │ (规则推理兜底)│
│ └────────┬───────┘
│ │
▼ ▼
┌──────────────── ┌────────────────┐
│ 输出解决方案 │◄─────────│ 输出解决方案 │
└────────┬───────┘ └────────┬───────┘
│ │
└─────────────┬──────────────┘
▼
┌──────────────────┐
│ 新案例存入案例库 │
│ (系统越用越强) │
└──────────────────┘
具体建造步骤(按这个顺序写,阅卷老师一眼给满分)
步骤 1:建立案例库(Case Base)
把已有的"部分案例"整理成结构化格式:
案例 = {
问题描述: "症状描述/问题特征",
解决方案: "对应的处理方法",
特征向量: [特征1, 特征2, ...], // 用于相似度计算
置信度: 0.95, // 该方案的可信程度
来源: "历史数据/规则推理生成"
}
步骤 2:建立规则库(Rule Base)
把"较多推理规则"整理成标准 IF-THEN 格式:
规则 = {
前提条件: [条件1, 条件2, ...],
结论: "推导出的结果",
置信度: 0.8,
优先级: 5
}
步骤 3:设计相似度计算模块(CBR 的核心)
怎么判断"当前问题"和"历史案例"有多像?
方法一:最近邻法
计算特征向量的欧氏距离或余弦相似度,距离越近越相似。
方法二:加权相似度(更精准)
给重要特征分配更高权重,公式如下:
Sim(A, B) = Σ wᵢ × sim(Aᵢ, Bᵢ) / Σ wᵢ
wᵢ = 第 i 个特征的权重
sim(Aᵢ, Bᵢ) = 两个特征值的相似度
举个栗子:医疗诊断中,"发烧"这个症状的权重肯定比"头痛"高,所以加权计算更准确。
步骤 4:设计推理流程(考试必写!)
输入:新问题 P
【第一步:CBR 快速匹配】
计算 P 与案例库中每个案例的相似度 IF 存在相似度 > 阈值的案例 THEN选取最相似的案例 C复用 C 的解决方案根据 P 和 C 的差异进行修正输出修正后的方案 → 结束ELSE进入第二步【第二步:RBR 规则推理兜底】
用正向推理或反向推理匹配规则 IF 找到适用规则 THEN执行规则链,推导结论输出推导结果ELSE输出"无法求解"【第三步:系统学习成长】
将新问题的解决方案作为新案例存入案例库 下次遇到类似问题就能直接匹配了步骤 5:设计冲突解决机制
当 CBR 和 RBR 给出不同答案时怎么办?三种策略:
策略 说明 适用场景CBR 优先 案例来自真实经验,通常更可靠 一般场景
置信度比较 选择置信度更高的方案 两者差异不大时
用户确认 两个方案都给用户,由用户选 医疗等高风险场景
四、用一个具体例子彻底搞懂
光说理论太抽象,我们用一个医疗诊断系统的例子,带你走一遍完整流程。
系统资源
案例库:500 个历史病例
规则库:2000 条医学诊断规则
场景 A:CBR 命中(90% 的情况)
患者来了:"发烧 38.5℃,咳嗽,喉咙痛,持续 3 天"
系统在 500 个病例中快速检索,找到最相似的:
病例 #327:发烧 38℃,咳嗽,喉咙痛,持续 2 天
→ 诊断:急性上呼吸道感染
→ 方案:休息 + 退烧药 + 抗生素
系统复用这个方案,根据差异微调:
体温略高(38.5 vs 38)→ 退烧药剂量加一点
病程略长(3天 vs 2天)→ 建议多观察一天
结果:30 秒内给出诊断方案
场景 B:CBR 未命中,RBR 兜底(10% 的情况)
患者来了:"发烧 + 皮疹 + 关节痛"
案例库里没有类似病例,CBR 检索失败 → 自动切换到 RBR。
系统启动规则推理:
规则 1: IF 发烧 AND 皮疹 THEN 怀疑病毒感染
规则 2: IF 病毒感染 AND 关节痛 THEN 考虑登革热
规则 3: IF 登革热 THEN 建议血液检测 + 补液治疗
通过规则链推导出诊断结果。
关键一步:把这个新病例(发烧+皮疹+关节痛 → 登革热)存入案例库。下次再遇到类似症状,CBR 就能直接匹配了,不用跑规则。这就是系统越用越聪明的原理。
五、考场速记版(背这个就够了)
考试时按下面这个框架写,稳拿 4 分:
CBR 和 RBR 的特点对比(1 分) CBR:用经验、速度快、覆盖有限 RBR:用规则、覆盖全、推理可能慢 结合思路:CBR 优先 + RBR 兜底(2 分) 先检索案例库,相似度高直接用 找不到再用规则推理 推理结果存为新案例,系统越用越强 关键模块(1 分) 案例库 + 规则库 相似度计算(最近邻法/加权法) 冲突解决机制写在最后
这道题是 AI 专家系统的经典考题,理解了 CBR 和 RBR 的结合思想,以后遇到类似的"混合推理"题目都能举一反三。
觉得这篇文章有用的话:
点个赞,让我知道你在看
评论区告诉我:你在考试中遇到过哪道不会的题?下期给你解析
关注我,每天一道 AI 考题解析,期末考试不慌
发布于:上海市