跳到内容
返回探索
数学建模 / 英语

机器学习游乐场:旅行商问题

Quantum Ink · YouTube · 8:10

打开原视频
阅读与收藏

把讲解展开来看。

已审核学习内容 · 视频分析 · 中文
阅读完整概览

这段120秒的视频在基于网页的机器学习游乐场中介绍了旅行商问题(TSP)。讲解者将TSP定义为:寻找一条经过n座城市的最短路径,且每座城市恰好访问一次;指出尽管问题描述简单,求解却十分困难;并说明该游乐场实现了两种方法:遗传算法与基于弹性神经网络和自组织映射的方法。随后,视频打开遗传算法页面,展示包括种群规模1000、启用贪心交叉等参数,解释贪心交叉策略会选择最近的未访问城市,同时指出路径长度会在状态栏中实时更新。最后,视频建议采用较大的种群规模,并引用一条经验性指导原则:种群规模应为30至60倍的n。 这段时长为120秒的视频,展示了一个基于网页的旅行商问题遗传算法交互平台。讲解员首先对比了种群规模分别为100、50和30的多次运行结果,指出较小种群规模下容易出现路径自相交以及最终路径长度更长的现象。随后视频演示刷新页面可恢复所有默认输入,并切换至右侧自定义面板:其中‘城市数量’将问题实例规模从30更改为20,视觉样式参数用于调整标记形状与颜色,而‘延迟’参数则控制动画的更新速率。 本视频通过一个交互式机器学习实验平台,演示了两种求解旅行商问题(TSP)的启发式方法。首先应用遗传算法,展示增大种群规模与迭代次数如何帮助其为100座城市找到一条质量良好的近似路径,但该路径仍可能残留部分交叉;旁白明确指出,该方法仅提供近似解,而非保证最优的解。其次,视频引入一种基于弹性神经网络的替代方法,该方法被描述为科霍宁自组织映射(SOM)的一种变体;它采用一个神经元环,持续调整自身形状以包裹所有城市,从而以不同于遗传算法的机制最小化路径长度,并有望避免遗传算法中出现的路径交叉问题。 本 120 秒片段演示了在 Gincker 机器学习 Playground 中使用自组织映射(SOM)神经网络求解旅行商问题(TSP)。从一个已收敛的 30 城市解出发,演示者通过将迭代次数增加至 100 次60,000 并将学习半径减小至 0.05,将问题规模扩展至 43 秒,SOM 环在动画中逐步形变,最终收敛为一条无交叉的路径,其路径长度为 8,029——声称比遗传算法基线更短。该片段最后展示了平台更广泛的30+ 机器学习模型库。 本节演示一个专注于旅行商问题(TSP)的机器学习交互式界面。用户浏览一个人工智能菜单,其中突出显示了自组织映射(SOM)与遗传算法作为求解方法。主视图显示一个2D散点图:城市以红色圆点表示,优化路径以绿色线条表示,并标出计算所得的路径长度为1.9229。

在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。

章节

0:00TSP游乐场简介0:12旅行商问题的定义及其难度0:31两种机器学习方法0:51打开遗传算法页面1:00遗传算法演示与贪心交叉1:34关于种群规模的建议2:00初始旅行商问题路径,种群规模为1002:04以种群规模50运行,路径存在自相交2:18切换至种群规模302:25以种群规模30运行2:43刷新页面将重置为默认设置并重新运行2:56自定义面板简介3:12将城市数量更改为203:27更改标记样式和线条样式3:48解释并调整更新延迟4:0020座城市的遗传算法4:25扩展至100座城市及局限性分析5:40弹性神经网络(SOM)简介6:00引言:旅行商问题(TSP)中自组织映射(SOM)与遗传算法的对比6:12参数缩放:从30个城市扩展至100个城市6:46自组织映射(SOM)优化过程的动画演示及其收敛性7:30最终结果的验证与路径质量评估7:47机器学习游乐场(Machine Learning Playground)概览8:00人工智能菜单概览8:06TSP可视化图示

学习解说文稿

依据视频画面与讲解整理,并非逐字语音转写。

视频起始于一个名为“旅行商问题(TSP)”的Gincker网页。一幅2D图表显示红色城市点与绿色巡游路径;左侧面板标注为“神经网络——旅行商问题”,右侧面板包含numberOfCities等自定义字段。讲解者介绍这是机器学习系列视频的第二集,并说明本集将采用机器学习方法求解TSP。

讲解内容给出核心定义:TSP是一个经典优化问题,目标是在n座城市构成的集合中,找出一条访问每座城市恰好一次的最短可能路径。画面通过在一组固定点上绘制路径来辅助说明这一定义。讲解者随后补充一个定性提醒:该问题看似简单,实则极难求解。

接下来,视频指出该游乐场为TSP实现了两种机器学习方法:其一是遗传算法;其二是基于弹性神经网络与自组织映射的方法。本片段未展示这两种方法的任何公式;重点在于命名这两类解法,并为切换至遗传算法演示做铺垫。

浏览器随后跳转至网址 https://gincker.com/AI/genetic-algorithm-traveling-salesman。页面布局保持相似,但左侧输入面板变更为“遗传编程——旅行商问题”。可见参数包括:迭代次数:100、种群规模:1000、贪心交叉:启用、随机种子:3;右侧面板显示:numberOfCities:30。此时图表中的红色点数较初始神经网络视图有所减少。

随着遗传编程动画运行,绿色巡游路径在固定的红色城市点上反复重绘。讲解者表示,遗传算法借助默认参数即可高效求解TSP。接着他解释交叉规则:该实现采用贪心算法,尝试选择最近的未访问城市作为下一步移动目标,并指出这种方法能快速生成一条实际较短的路径。

讲解者指出,当前路径长度会在底部状态栏中实时更新。随后他转向初始化规模参数,并从输入面板中指出,该演示使用了非常大的种群规模1000。给出的理由是:该参数应足够大,以便从一个丰富的解集合出发。他引用了一条常见经验法则,即种群规模通常取城市数量的30至60倍;此时视频片段在讲解者刚要讨论更小取值的影响时戛然而止。

视频片段以一条完整的TSP路径开场,该路径绘制在红色城市点之上;底部状态栏显示“路径长度 = 4296”,左侧面板显示种群规模为100、迭代次数为100。

用户将种群规模更改为50后再次运行优化器。多个候选路径随即出现,随后收敛为唯一最终路线;解说员指出其中一些路径存在自相交现象,且所得路径长度比此前大规模种群运行的结果更长。

种群规模进一步降低至30。再次运行后,最终显示的路径更长,路径长度最终为5816,从而强化了对100、50和30三者之间的对比。

解说员随后解释刷新浏览器页面的效果:输入面板恢复默认值,遗传算法在默认数据上重新运行。直观可见,种群规模恢复为100,新完成的运行结果路径长度为4218。

画面焦点转向右侧“自定义”面板。解说员将其描述为控制结果可视化外观的设置区域;该面板同时暴露参数 numberOfCities,其默认值为30。

用户将 numberOfCities 从30修改为20,然后点击“更新”。中心图表随之以更少的城市点重新生成,针对20座城市的实例优化完成后,路径长度为3903。

接下来,更改显示样式:citySymbol 改为十字形,citySymbolColor 改为蓝色,lineColor 改为紫色。点击“更新”后,同一20座城市的题目被重新绘制——城市点变为蓝色十字,路径线变为紫色,最终路径长度为3769。

最后,解说员说明 delay 参数控制可视化更新的速度,默认值100表示每100毫秒更新一次。该值被更改为500,并在视频片段结束前点击“更新”。

视频以旅行商问题(TSP)通过遗传算法求解的可视化画面开场。界面在 20 个蓝色正方形表示的城市,位于一个 2D 平面上,并由一条紫色路径连接。左侧参数显示种群规模为 1000,迭代次数为 100。随着算法运行,路径持续变形,逐步消除大环路并缩短总距离。解说员指出进度条更新缓慢,反映出评估与演化候选路径种群所需的大量计算工作。本片段结束时,路径长度稳定在约 2709,形成一条相对简洁、无自交的环路。

为展示可扩展性,解说员将问题复杂度提升至100座城市。意识到更大的搜索空间需要更多计算资源,种群规模被调高至5000,迭代次数增至500。为使可视化更易观察,动画延迟被缩减至1毫秒。点击更新后,屏幕上瞬间布满密集而混乱的紫色线条,代表初始随机生成的路径种群。随后几秒内,算法快速剪除冗余路径并重新组合。解说员指出,尽管最终路径长度显著下降至8476,但仔细观察仍可见部分线段彼此交叉。解说员明确说明:该结果仅为“非常优秀的近似解”,但绝非“最短路径”,从而凸显遗传算法这类启发式方法在求解TSP等NP难问题时的本质局限。

针对残余路径交叉这一缺陷,解说员引入另一种方法:弹性神经网络——一种基于科霍宁自组织映射(SOM)的变体。用户通过菜单选择“用于旅行商问题的SOM”,加载出一个全新的交互环境。此处,城市以红色圆点表示,解则被可视化为一条连续的绿色神经元环。不同于遗传算法中离散的路径重组,该模型依赖类物理作用力:环状结构主动收缩以最小化自身长度,同时排斥城市点以确保全部城市均被包围在环内。解说员指出,神经元天然趋向形成环状结构,为后续平滑、无交叉的优化过程奠定基础,从而天然规避了前一方法中出现的拓扑缺陷。

视频以一个完整的旅行商问题解开场,该解对应于30座城市,显示为一条绿色多边形路径,连接坐标网格上呈红色圆形的节点,该网格尺寸为1000×10001000\times 1000。叙述者立即对方法进行背景说明:尽管自组织映射方法被描述为不如遗传算法高效,但它被呈现为一种将无监督拓扑学习应用于组合优化的有趣演示。左侧面板显示神经网络参数,包括迭代次数=10000、学习率=0.5、学习半径=0.1以及kohonen=3;右侧面板包含图表定制选项。状态栏报告当前路径长度为4339。

主讲人转而通过调整参数来演示方法的可扩展性,处理更大规模的实例。首先,在定制面板中将城市数量(numberOfCities)从30更改为100。接着聚焦于训练参数:为适应扩大的搜索空间,迭代次数从10000增至60000,即提升为原来的六倍。关键的是,学习半径从0.1减半至0.05——这一启发式调整被解释为:当城市分布更密集时,需更精细的神经元定位。点击“更新”后,系统重新生成100个随机城市坐标,并初始化一个含100个神经元的新环形结构,重置整个优化过程。

核心可视化过程展开:SOM 在约43秒内经历竞争学习。初始时,绿色环形表现为一条缠绕、不规则的闭合曲线,散落在平面上的100个红色城市点之间。每轮迭代中,神经元向其最近的城市移动,同时邻域协作维持拓扑连续性。状态栏中的路径长度计数器提供量化反馈,数值从接近9497的初始值持续下降。视觉上可见:环路逐渐解开,尖锐弯折趋于平滑,环形逐步收缩成紧凑的环绕路径,包裹住各城市簇。至第90秒时,形变停止,曲线稳定为一条清晰的多边形链。

对收敛后的解进行质量检验。旁白强调两个关键性质:第一,路径无任何边交叉——直观可见绿色路径构成一个简单闭合多边形,包围全部城市且不发生自交;第二,最终路径长度恰好为8029,并指出该值短于对应遗传算法的结果(尽管本片段未显示该GA基准数值)。这些观察支持如下论断:尽管计算效率较低,SOM 方法仍能生成高质量、拓扑有效的巡游路径。某顶点上的黄色高亮标记指示路径的起点/终点,凸显解的循环本质。

演示最后将该 TSP 求解器置于更广阔的 Gincker 机器学习 Playground 生态系统中加以定位。鼠标悬停于 AI 菜单时,弹出分类下拉列表,涵盖超过30种模型,涉及分类、回归、时间序列、聚类、降维及符号计算等领域。类别包括:机器学习(AdaBoost、决策树、随机森林)、神经网络变体(反向传播、Kohonen 自组织映射、弹性传播)、卷积神经网络,以及数学与统计工具。此概览表明,SOM-TSP 集成只是同一交互式框架下众多可选应用之一,鼓励用户探索其他算法与问题领域。

视频开头呈现一个下拉菜单,列出多种机器学习类别。讲解员说明如何选择模型以测试各类算法。特别地,‘神经网络:自组织映射(SOM)’栏目被高亮显示,其中列有‘用于旅行商问题的Kohonen自组织映射’和‘用于旅行商问题的遗传算法’。

菜单收起后,完整展现‘旅行商问题(TSP)’图表。红色圆点代表笛卡尔平面上的城市,由一条绿色连线依次连接,构成巡游路径。左下角显示当前‘路径长度:1.9229’。讲解员随后结束视频。

知识卡片

01

旅行商问题定义

视频将旅行商问题(TSP)定义为一个经典的优化问题:给定 n 个城市组成的集合,寻找一条访问每个城市恰好一次的最短可能路线。配图以平面上的红色城市点及其连接而成的环游路线直观呈现了这一概念。

02

旅行商问题表述简单,但求解困难

讲述者明确对比了该问题表述的简洁性与实际求解的困难性。这种对比是以定性警示的方式呈现,而非形式化的复杂度证明。

03

游乐场中的两种机器学习方法

该片段说明,机器学习游乐场为旅行商问题实现了两种方法:一种是遗传算法,另一种是基于弹性神经网络与自组织映射相结合的方法。本视频仅详细演示了遗传算法页面。

04

遗传算法演示的参数设置

在导航至遗传算法对应网址后,可见输入面板显示:迭代次数为100、种群规模为1000、启用贪心交叉为真、随机种子为3;而在定制面板中还可见城市数量为30。这些参数共同界定了所观察到的路径优化动画。

05

贪心交叉规则

视频解释道,该遗传算法采用贪心交叉策略:在每一步中,它都尝试选择距离当前城市最近的未访问城市作为下一个访问城市。该启发式策略被介绍为一种能快速获得较短路径的方法。

06

状态栏报告路径长度

讲解者指出,当前路径长度会在状态栏区域更新。在演示中,底部栏会随着路线优化过程实时显示变化的路径长度数值。

07

种群规模参考标准

该片段建议采用较大的初始种群,以便搜索从一组丰富的解出发。演示中使用的种群规模为1000,并提到一个常见参考标准:种群规模通常为城市数量的30至60倍。

30×n≤population size≤60×n30 \times n \le \text{population size} \le 60 \times n
08

TSP路径可视化

本视频将旅行商问题建模为一个位于2维坐标系中的城市点集,并以连接线段形式绘制候选路径。屏幕上关注的核心指标是底部状态栏中显示的总路径长度。

09

种群规模对比

在迭代次数固定为100的情况下,演示对比了种群规模100、50和30。讲解员指出,50未能得到较好的解,且可见的最终路径长度依次从4296上升至4823再至5816。

10

自相交路径作为质量信号

讲解员明确指出,在种群规模为50的运行中,那些自身相交的路径是解质量较差的标志。这一视觉提示与更长的最终路径长度相对应。

11

重新加载可恢复默认设置

点击浏览器的重新加载按钮,会将左侧输入面板重置为默认值,并在默认实例上重新运行遗传算法。在所展示的示例中,重置后的运行以路径长度 = 4218结束。

12

自定义面板的作用

右侧面板被介绍为用于控制结果可视化效果的外观。它包含若干显示选项,例如标记类型、颜色、线宽和延迟,以及 numberOfCities 参数——该参数用于改变旅行商问题(TSP)实例的规模。

13

numberOfCities 控制实例规模

参数 numberOfCities 的默认值为30。将其更改为20并点击“更新”后,图表将重新生成,城市点数量减少,并针对这个更小的问题启动优化。

14

样式参数影响渲染效果

将 citySymbol 改为 cross、citySymbolColor 改为 blue、lineColor 改为 purple,再点击“更新”,仅会改变视觉呈现效果;底层的20-城市实例保持不变,而路径将以新样式重新绘制。

15

延迟控制更新速度

延迟参数设置可视化刷新间隔。讲解员指出,默认值100表示结果每100毫秒更新一次,而演示中将其改为500。

16

旅行商问题(TSP)

TSP是一类经典优化问题,目标是找出一条最短可能的闭合路径,使其恰好访问列表中的每座城市一次,并最终返回出发城市。在本视频中,它被可视化为寻找连接一组2维点的最小周长多边形。

17

用于TSP的遗传算法

一种受生物进化启发的启发式搜索方法。它维护一组候选路径构成的“种群”,并通过多轮“迭代”施加交叉、变异等操作,逐步演化出更优解。该方法擅长在合理时间内找到高质量近似解,但无法保证获得绝对最优路径,尤其当城市数量庞大时。

18

弹性神经网络(SOM变体)

一种基于科霍宁自组织映射的TSP求解新思路。它将路径建模为一条具有柔性的神经元环,通过学习率与邻域半径调控其形态变化:环在收缩中最小化自身长度,同时扩张以覆盖全部城市,从而自然生成平滑且无自相交的路径。

19

启发式解与最优解

视频强调了解决 NP 难问题的一个关键区别:遗传算法等启发式方法仅能提供“非常优的近似解”(例如路径长度 8476 对于 100 个城市)在合理时间内求解,但可能导致路径交叉等瑕疵。与穷举搜索方法不同,它们无法保证找到真正的全局最优解;而穷举搜索方法对大规模输入在计算上不可行。

20

旅行商问题(TSP)

经典的 NP 难优化问题:给定 n 座城市及其两两之间的距离,求访问每座城市恰好一次并返回起点的最短哈密顿回路。目标是最小化总欧氏路径长度。本演示中,城市在1000×10001000\times 1000正方形区域内随机放置;解的质量以标量路径长度衡量。

min⁡σ∈Sn∑i=1nd(cσ(i),cσ(i+1)) where σ(n+1)=σ(1)\min_{\sigma \in S_n} \sum_{i=1}^{n} d(c_{\sigma(i)}, c_{\sigma(i+1)}) \text{ where } \sigma(n+1)=\sigma(1)
21

自组织映射(Kohonen 映射)

一种无监督神经网络,能将高维输入映射到低维离散网格,同时保持拓扑结构。在 TSP 中,其实现为一个1维环形神经元阵列;这些神经元在2维空间中的位置通过竞争学习不断调整:每座城市激活其最近的神经元,该神经元及其邻域神经元均向该城市移动。经多轮迭代,该环形结构自组织为一条合法的巡游路径。

Δwi=η(t)⋅hci(t)⋅(x(t)−wi) for winning neuron c 且 neighbors i\Delta w_i = \eta(t) \cdot h_{ci}(t) \cdot (x(t) - w_i) \text{ for winning neuron } c \text{ \text{且} neighbors } i
22

TSP 中 SOM 参数的缩放策略

关键可调参数演示:numberOfCities 设置问题规模;iterations 控制训练时长(按比例缩放10k→60k10k\to 60k 对应于30→10030\to 100 个城市);学习半径控制邻域范围(针对更密集的实例减小为0.1→0.050.1\to 0.05 以实现更精细的定位);学习率(保持为0.5)调节更新幅度;Kohonen 参数(设为3)可能与网格拓扑结构或邻域函数形状相关。

23

解读 SOM 的优化动态

训练过程中,绿色环代表当前神经元位置,构成一条候选路径。路径长度指标对相邻神经元(按邻近性分配的城市)之间的欧氏距离求和。单调递减表明学习有效;稳定则表示收敛。最终状态中无边交叉,反映了成功的拓扑保持——自组织映射(SOM)因邻域耦合约束而天然避免自相交。

L(t)=∑j=1N∥wj(t)−wj+1(t)∥2,wN+1=w1L(t) = \sum_{j=1}^{N} \| w_j(t) - w_{j+1}(t) \|_2, \quad w_{N+1}=w_1
24

自组织映射(SOM)与遗传算法(GA)求解旅行商问题(TSP)的对比

对比范式:遗传算法(GA)采用基于种群的进化搜索,对排列表示进行交叉/变异操作;自组织映射(SOM)则在嵌入式环形拓扑上执行连续的类梯度更新。叙述者指出 SOM “效率不高”(可能指计算开销较大或收敛较慢),但在此例中仍获得了更短路径(8029 对比未指明的 GA 基线),适用于该100个城市实例——说明效率与最优性是两个不同的评估维度。

详细学习笔记

按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。

符号定义 · 35

TSP

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者将该问题命名为“旅行商问题”,并将其描述为:在 n 座城市构成的集合中,寻找一条最短路径,使得每座城市恰好被访问一次。

  2. 图示
    观察依据

    图表标题为“旅行商问题(TSP)”;红色点代表城市,绿色线段构成一条巡游路线。

符号

TSP

含义

旅行商问题是一种优化问题,目标是找到一条最短巡游路线,使得每座城市恰好被访问一次。

适用范围

在一组有限城市及其两两之间距离构成的集合上进行的组合优化。

n

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白指出该路径经过“n 座城市构成的集合”。

符号

n

含义

旅行商问题实例中的城市数量。

适用范围

城市的正整数个数。

numberOfCities

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    右侧自定义面板在神经网络视图中显示参数“numberOfCities”,其值为100;在遗传算法视图中该参数值为30。

待核验内容
  1. 红色点的实际视觉数量未通过抽样帧独立验证;所记录的数值即为界面上显示的参数值。

符号

numberOfCities

含义

自定义面板中用于设定可视化所用城市数量的参数。

适用范围

取整数值的显示/模拟参数。

Iterations

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    切换至遗传编程页面后,左侧输入面板显示“迭代次数:100”。

符号

Iterations

含义

遗传算法迭代次数,显示在遗传编程页面的输入面板中。

适用范围

整数值的算法控制参数。

population size

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    遗传编程输入面板显示“种群规模:1000”。

  2. 声音
    观察依据

    讲解员说:“我们使用非常大的种群规模,即一千。”

符号

population size

含义

为搜索初始化的遗传算法种群的规模。

适用范围

整数值的算法控制参数。

greedy crossover

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    遗传编程输入面板显示“贪心交叉:true”。

  2. 声音
    观察依据

    讲解员说:“对于交叉操作,我们采用贪心算法,该算法尝试选择下一个尚未访问过的最近城市作为下一步移动。”

符号

greedy crossover

含义

遗传算法实现中采用最近未访问城市规则的交叉选项。

适用范围

布尔值的算法控制参数。

Iterations

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    在神经网络视图中,左侧输入面板显示“迭代次数:60000”。

符号

Iterations

含义

神经网络页面输入面板中显示的迭代次数。

适用范围

取整数值的算法控制参数。

learning rate

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    神经网络输入面板显示“学习率:0.5”。

符号

learning rate

含义

在神经网络输入面板中显示的训练步长参数。

适用范围

取实数值的训练超参数。

learning radius

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    神经网络输入面板显示“学习半径:0.05”。

符号

learning radius

含义

在神经网络输入面板中显示的邻域大小参数。

适用范围

取实数值的训练超参数。

ANN

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    神经网络输入面板显示“ANN:3”。

待核验内容
  1. 视频未解释 ANN=3 除作为参数显示外的具体含义。

符号

ANN

含义

在神经网络输入面板中显示的参数标签。

适用范围

取整数值的模型参数,本片段未说明其确切含义。

path length

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    底部状态栏在动画过程中显示变化的文字,例如“路径长度 = 5772”、“路径长度 = 4286”及其他数值。

  2. 声音
    观察依据

    讲解员说道:“路径长度会在状态栏区域更新。”

待核验内容
  1. 采样帧中仅部分选中的状态栏数值清晰可辨;许多中间值变化过快,无法逐一验证。

符号

path length

含义

当前所显示路径的总长度,于状态栏中实时更新。

适用范围

该路径的非负实数值目标度量。

https://gincker.com/AI/neural-net-traveling-salesman

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    浏览器地址栏显示 https://gincker.com/AI/neural-net-traveling-salesman。

符号

https://gincker.com/AI/neural-net-traveling-salesman

含义

视频开头展示的神经网络旅行商问题演示页面的网址。

适用范围

网页地址。

知识点 · 17

旅行商问题的定义

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员将该问题定义为:在 n 座城市构成的集合中,寻找一条最短路径,使得每座城市恰好被访问一次。

  2. 图示
    观察依据

    图表标题将该问题标识为“旅行商问题(TSP)”,并展示了一条经过所有红色城市点的闭合路径。

定义
解释

视频将旅行商问题呈现为一个经典的优化问题:给定一组包含 n 个城市的集合,找出一条访问每个城市恰好一次的最短可能路径。配套图示将此问题可视化为一条连接所有红色城市点的环游路径。

公式
适用条件
  1. 存在一个包含 n 个城市的有限集合。

  2. 目标是最小化总路径长度。

  3. 每个城市必须被访问且仅被访问一次。

游乐场中使用的两种机器学习方法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者指出,实现了两种机器学习方法:一种采用遗传算法,另一种基于弹性神经网络与自组织映射。

待核验内容
  1. 该片段提到了这些方法的名称,但在此部分并未从数学角度对其加以定义。

方法
解释

视频指出,机器学习游乐场为旅行商问题实现了两种方法:一种是遗传算法,另一种是基于弹性神经网络与自组织映射相结合的方法。本片段中仅详细演示了遗传算法页面。

公式
适用条件
  1. 背景是机器学习游乐场中的旅行商问题演示。

先修条目
  1. 旅行商问题的定义

遗传算法中的贪心交叉启发式

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者说:“在交叉操作中,我们采用贪心算法,该算法尝试选择下一个未访问的最近城市作为下一步移动。”

  2. 图示
    观察依据

    遗传编程输入面板显示“贪心交叉:启用”。

方法
解释

视频解释道,该遗传算法实现采用了贪心交叉规则:在构造下一步移动时,优先选择距离最近的未访问城市。这被作为一种能快速获得有效较短路径的方法。

公式
适用条件
  1. 用于遗传算法求解旅行商问题(TSP)的实现中。

  2. 交叉选项已启用。

  3. 每一步中,下一城市均依据“最近未访问城市”偏好来选择。

先修条目
  1. 旅行商问题的定义

遗传算法的种群规模指导原则

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员指出,该实现使用了高达一千的极大种群规模,并提到有人建议将种群规模设为30至60倍的城市数量。

  2. 图示
    观察依据

    遗传编程输入面板显示“种群规模:1000”和“城市数量:30”。

待核验内容
  1. 该片段口头给出了该指导原则,但并未证明为何这一乘数范围是最优的。

方法
解释

视频指出,遗传算法应以丰富多样的解集进行初始化。演示中使用的种群规模为1000,并提及一种常见建议:将种群规模设为城市数量的30至60倍。

公式
30×n≤population size≤60×n30 \times n \le \text{population size} \le 60 \times n
适用条件
  1. n 表示城市数量。

  2. 这是视频中提到的一种启发式指导原则,而非此处证明的定理。

先修条目
  1. 旅行商问题的定义

状态栏报告当前路径长度

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者说:“路径长度会在状态栏区域更新。”

  2. 图示
    观察依据

    底部状态栏显示动态变化的文字,包括“路径长度 = 4286”。

方法
解释

视频指出,优化过程通过状态栏进行监控,随着路径的变化,当前路径长度也会随之更新。

公式
适用条件
  1. 适用于本片段中展示的交互式旅行商问题(TSP)可视化。

先修条目
  1. 旅行商问题的定义

在2维平面上的TSP路径可视化

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    中心图表标题为“旅行商问题(TSP)”;红色点代表城市,绿色线段构成一条闭合路径。

  2. 声音
    观察依据

    旁白讨论路径自我交叉的情况,并对比不同设置下的路径长度。

定义
解释

视频将旅行商问题呈现为正方形坐标区域内的一组城市点,并用连接各城市的线段绘制出一个候选巡游路线;隐含的目标是获得一条更短且不自交的路径。

公式
适用条件
  1. 城市以离散点的形式绘制在2维坐标系中。

  2. 候选解由一条连接所有城市的折线形巡游路线表示。

应用程序中显示的遗传算法输入参数

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    左侧输入面板列出了迭代次数、种群规模、贪心交叉和k近邻距离(knnd)。

  2. 声音
    观察依据

    旁白在重新加载后提及输入面板及其中的默认值。

待核验内容
  1. 该片段未从数学角度定义贪心交叉或k近邻距离(knnd)。

定义
解释

界面提供了若干算法控制输入项:迭代次数、种群大小、贪心交叉和 knnd。本片段中,仅讨论了种群大小与解质量之间的关系。

公式
适用条件
  1. 这些参数控制中心图中所示的优化运行过程。

先修条目
  1. 在2维平面上的TSP路径可视化

自定义面板控制显示效果与问题规模

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    右侧自定义面板列出了图表参数,包括 numberOfCities、citySymbol、citySymbolColor、citySymbolSize、lineColor、lineWidth 和 delay。

  2. 声音
    观察依据

    讲解员指出,右侧面板控制结果可视化效果的外观。

定义
解释

右侧面板被描述为控制可视化效果的外观;其中 numberOfCities 改变旅行商问题(TSP)实例的规模,delay 改变更新频率。

公式
适用条件
  1. 部分参数仅影响渲染效果;numberOfCities 改变底层点集;delay 改变动画时序。

先修条目
  1. 在2维平面上的TSP路径可视化

较小的种群规模可能使所展示的 TSP 解变差

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员指出,50无法得到优质解,并指出该路径长度比此前种群规模较大时所得路径更长。

  2. 图示
    观察依据

    种群大小依次从100变为50,再变为30;最终显示的路径长度则依次从4296增至4823,再增至5816。

待核验内容
  1. 该片段呈现的是单次运行的经验性对比,而非普适性定理。

方法
解释

该演示对比了种群规模分别为100、50和30的运行结果,同时将迭代次数固定为100。讲解者指出,50未能得到一个较好的解,且较小种群规模下所见的最终路径长度更大。

公式
适用条件
  1. 在迭代次数固定为100、界面显示设置相同的情况下观察所得。

  2. 该结论基于所展示的运行结果,而非形式化证明。

先修条目
  1. 应用程序中显示的遗传算法输入参数
  2. 在2维平面上的TSP路径可视化

旅行商问题(TSP)

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图表标题明确标出“旅行商问题(TSP)”。

  2. 声音
    观察依据

    讲解员提到求解“旅行商问题”。

定义
解释

旅行商问题要求找出一条最短可能的路线,该路线恰好访问给定的一组城市一次,并返回起始城市。在视频中,这表现为在2D平面上寻找一个闭合回路,连接所有蓝色方块点,且总路径长度最小。

公式
适用条件
  1. 必须恰好访问每一座城市一次。

  2. 必须返回起始城市。

  3. 目标是最小化总路径长度。

用于TSP的遗传算法

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    网址中包含“genetic-algorithm-traveling-salesman”。

  2. 声音
    观察依据

    讲解员讨论了增大遗传算法的种群规模和迭代次数。

方法
解释

一种受自然选择启发的启发式搜索方法。它维护一组候选路线(染色体)构成的种群。通过交叉(合并两条路线的部分)和变异(随机改变某条路线)等操作,在多轮迭代中演化种群,以找到更短的路径。视频展示了增大种群规模和迭代次数如何提升对最优路径的近似效果,但结果中仍可能存在部分路径交叉。

公式
适用条件
  1. 需要设置种群规模、迭代次数和交叉策略等参数。

  2. 得到的是一个近似解,不能保证是绝对最短路径。

先修条目
  1. 旅行商问题(TSP)

用于旅行商问题的弹性神经网络/自组织映射

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员说道:“我们的方法基于弹性神经网络加自组织映射。”

  2. 图示
    观察依据

    菜单选择显示为“神经网络:自组织映射(SOM)”下的“用于旅行商问题的SOM”。

方法
解释

一种求解旅行商问题的替代方法,使用一圈神经元(即弹性网),该网络通过调整自身形状来包裹所有城市。它被描述为科霍宁自组织映射(SOM)的一种变体。该网络通过收缩来最小化自身能量,同时受到城市的排斥作用,最终形成一条平滑且不自交的路径。

公式
适用条件
  1. 神经元构成环状结构。

  2. 使用学习率和学习半径等参数进行权值更新。

先修条目
  1. 旅行商问题(TSP)
定理与条件 · 12

旅行商问题易于描述,但难以求解

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者说:“这个问题看起来非常简单,但求解起来却非常困难。”

待核验内容
  1. 本片段未给出任何形式化的复杂度类或证明。

命题
命题

视频指出,旅行商问题(TSP)看似简单,实则极难求解。

前提
  1. 该问题即本片段前文所述的标准旅行商问题。

量词

本视频中关于旅行商问题的一般性陈述。

遗传算法在默认参数下表现良好

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者说:“你可以看到,遗传算法能够利用默认参数高效地解决旅行商问题。”

  2. 图示
    观察依据

    遗传编程页面以可见参数运行,包括:迭代次数:100、种群规模:1000、启用贪心交叉:是、城市数量:30。

待核验内容
  1. 此处的“高效”属于定性描述;未提供任何形式化的效率度量或运行时间上界。

命题
命题

该视频声称,在此交互环境中,遗传算法能够利用默认参数高效地解决旅行商问题。

前提
  1. 遗传算法实现使用所展示的默认参数运行。

  2. 问题实例即可视化中所呈现的那个实例。

量词

该视频中关于所演示实现及其对应问题类别的主张。

贪心交叉能快速生成较短路径

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者称,贪心交叉“能快速给出一条实际较短的路径。”

待核验内容
  1. 未提供任何证明或最坏情况分析;这是视频中一个基于经验/解释性的主张。

命题
命题

该视频声称,采用贪心交叉(即每一步选择最近的未访问城市作为下一目标)可快速生成一条实际较短的路径。

前提
  1. 遗传算法采用所述的贪心交叉规则。

量词

关于所演示实现行为的定性描述。

种群规模50所呈现的路径质量劣于大规模种群运行所得路径。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者说:50无法得到一个较好的解。此处可见部分路径存在自相交现象。另请注意,该路径长度比此前大规模种群所得路径更长。

  2. 图示
    观察依据

    在种群规模为 50 下运行后,底部栏显示路径长度 = 4823,与之前显示的 4296(对应种群规模为 100)相比。

待核验内容
  1. 这是一个观察性示例,并非全称命题定理。

命题
命题

在本次演示运行中,采用种群规模50所得路径存在自相交现象,且其最终路径长度长于此前大规模种群运行所得路径。

前提
  1. 迭代次数 = 100

  2. 种群规模 = 50

  3. 该比较是相对于此前展示的大规模种群运行结果进行的。

量词

这是关于本次具体演示运行的存在性命题。

重新加载页面会恢复默认输入,并重新运行默认案例。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说明:点击重新加载按钮会将输入面板重置为默认值,遗传算法将尝试为默认输入数据寻找路径。

  2. 图示
    观察依据

    重新加载后,左侧面板恢复为种群规模100,显示的最终路径长度变为4218。

命题
命题

点击浏览器的重新加载按钮会将输入面板重置为默认值,并使遗传算法搜索与默认输入数据对应的路径。

前提
  1. 用户点击浏览器的重新加载按钮。

量词

该行为在所演示的网页应用中具有普适性。

城市数量的默认值为30。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说明:城市数量由该参数控制,其默认值为30。

  2. 图示
    观察依据

    右侧面板在编辑前显示 numberOfCities = 30。

命题
命题

在自定义面板中,参数 numberOfCities 控制城市数量,其默认值为30。

前提
  1. 应用处于默认的自定义状态。

量词

该描述适用于所展示的默认配置。

延迟控制可视化更新速率

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说明:延迟参数控制结果更新的速度,缺省值100表示结果每100毫秒更新一次。

  2. 图示
    观察依据

    右侧面板显示延迟初始值为100,随后被更改为500。

命题
命题

延迟参数设定可视化更新的时间间隔,缺省值100对应每100毫秒更新一次。

前提
  1. 应用程序采用缺省延迟设置。

量词

适用于所展示界面行为的通用设定。

遗传算法生成近似解

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员说:“我们确信这不是最短路线,但却是非常优秀的近似解。”

命题
命题

遗传算法在有限次迭代后所得结果不能保证是绝对最短路线,但可作为良好的近似解。

前提
  1. 遗传算法仅运行有限次数的迭代。

  2. 问题规模(城市数量)过大,导致穷举搜索不切实际。

量词

对于旅行商问题(TSP)任一实例,遗传算法在有限迭代次数下的任意一次运行。

弹性神经网络是自组织映射(SOM)的一种变体。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说道:“这是一种称为弹性神经网络的自组织映射(Kohonen SOM)变体。”

命题
命题

用于求解旅行商问题(TSP)的弹性神经网络,是Kohonen自组织映射(SOM)算法的一种特定变体。

量词

在此背景下,关于弹性神经网络与自组织映射(SOM)之间关系的普适性论断。

SOM 生成的巡回路径不自相交

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员说:“您可以看到旅行路径看起来非常理想,没有任何交叉。”

  2. 图示
    观察依据

    最终的绿色路径不包含相交的线段。

命题
命题

SOM 方法优化所得路径无交叉(即任意两条边均不相交)。

前提
  1. SOM 训练已成功完成

  2. 学习参数经过恰当调优

量词

针对所示的特定100城市实例

自组织映射(SOM)在此实例上的路径长度优于遗传算法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员说:“最终路径长度为8029,比遗传算法所得路径更短。”

  2. 图示
    观察依据

    状态栏显示“路径长度 = 8029”。

待核验内容
  1. 本片段未直接展示遗传算法的路径长度值,无法直接验证。

命题
命题

对于该100城市旅行商问题(TSP)实例,自组织映射(SOM)生成的路径长度(8029)短于遗传算法所得路径长度。

前提
  1. 同一100城市实例

  2. 遗传算法以默认参数或指定参数运行

量词

存在性(仅针对该特定实例)

对于规模更大的旅行商问题实例,建议采用更小的学习半径

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员说:“通常,城市数量较多时,我们还需减小学习半径。此处将其设为0.05。”

待核验内容
  1. 未提供数学依据说明为何城市数量增多时更小的半径效果更佳。

命题
命题

使用自组织映射(SOM)求解城市数量更多的旅行商问题(TSP)时,学习半径应减小(例如,从0.1减至0.05,对应100座城市与30座城市的对比)。

前提
  1. 采用基于自组织映射(SOM)的方法求解旅行商问题

  2. 城市数量增加

量词

通用启发式规则(‘通常’)

推导与证明 · 6

旅行商问题及两类解法的直观图示

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者先定义旅行商问题(TSP),随后在图表持续显示的同时,引出两种机器学习方法。

  2. 图示
    观察依据

    红色点散落在一个2D平面上,并由绿色线段连接,构成一条回路。

  3. 动画
    观察依据

    回路线条随时间变化形状,而城市点位置保持固定。

视觉说明
步骤
  1. 公式
    解释

    该片段首先确立问题对象:一组以平面上红色点表示的城市。

    步骤依据

    由旁白直接陈述,并通过图表标题和点集呈现。

    视频直接表达
  2. 公式
    解释

    接着展示一条候选路径——用绿色线段将各城市连接成一条回路。

    步骤依据

    在图中表现为一条经过所有红色点的连通路径。

    视频直接表达
  3. 公式
    解释

    旁白指出,目标是找到一条访问每个城市恰好一次的最短可能路径,从而将这幅图转化为一个优化问题,而不仅仅是一幅示意图。

    步骤依据

    旁白明确给出的旅行商问题(TSP)定义。

    视频直接表达
  4. 公式
    解释

    最后,视频指出该游乐场实现了两种方法:遗传算法和弹性神经网络加自组织映射,并将后续的网址切换设定为这两种方法的对比。

    步骤依据

    明确口头介绍了这两种方法。

    视频直接表达
结论

该片段使用固定的城市集合与动态变化的旅行路线,来说明旅行商问题(TSP)是一个路径优化问题,且本演示将采用两种不同的机器学习策略来求解。

如何从参数设置与动画表现中理解该遗传算法演示

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    遗传编程页面显示:迭代次数:100,种群规模:1000,贪婪交叉:true,随机种子:3,城市数量:30。

  2. 动画
    观察依据

    绿色旅行路线不断变化,同时底部状态栏持续更新路径长度数值。

  3. 声音
    观察依据

    讲解员评论道,遗传算法在默认参数下运行高效,解释了贪婪交叉的含义,并讨论了种群规模的影响。

待核验内容
  1. 从所采样的帧中无法完全辨识出所有中间路径长度值的精确序列。

视觉说明
步骤
  1. 公式
    解释

    页面切换后呈现出另一种TSP求解器配置,现被明确标注为遗传编程,并附有显式的输入参数。

    步骤依据

    在网址切换后,可见于左侧输入面板中。

    视频直接表达
  2. 公式
    解释

    动画展示了旅行路线随迭代过程不断修订,而城市位置保持不变。

    步骤依据

    通过不断变化的绿色路线与保持不变的红色点位之间的对比可观察到这一点。

    视频直接表达
  3. 公式
    解释

    旁白将优化路径的改进过程与遗传算法联系起来,并特别指出贪心交叉策略会选择最近的未访问城市。

    步骤依据

    与正在运行的演示同步的口述讲解。

    视频直接表达
  4. 公式
    解释

    旁白随后将显示的种群规模1000与需要丰富初始解集的需求联系起来,并引用了30至60倍于n的指导原则。

    步骤依据

    输入面板保持可见时的明确口述解说。

    视频直接表达
结论

该片段将动态变化的旅行路线解释为:在所展示参数下,遗传算法正在搜索更短的TSP路径,其中种群规模和贪心交叉被呈现为关键控制因素。

演示中对不同种群规模的经验性对比

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    各次运行序列显示种群规模依次为100→50→30100\to 50\to 30,最终路径长度依次为4296→4823→58164296\to 4823\to 5816。

  2. 声音
    观察依据

    旁白指出:50无法得到较优解,且其路径长度长于此前大规模种群所得路径。

待核验内容
  1. 该对比基于单次展示运行的经验观察,并非从第一性原理推导得出。

数值验证
步骤
  1. 公式
    population size=100, final Path length=4296population\ size=100,\ final\ Path\ length=4296
    解释

    首次展示的运行使用种群规模100,最终路径长度为4296。

    步骤依据

    直接取自左侧输入面板及底部状态栏。

    视频直接表达
  2. 公式
    population size=50, final Path length=4823population\ size=50,\ final\ Path\ length=4823
    解释

    将种群大小更改为50并重新运行后,显示的最终路径长度增加至4823。

    步骤依据

    第二次运行后直接从界面读取。

    视频直接表达
  3. 公式
    population size=30, final Path length=5816population\ size=30,\ final\ Path\ length=5816
    解释

    将种群大小更改为30并重新运行后,显示的最终路径长度进一步增加至5816。

    步骤依据

    第三次运行后直接从界面读取。

    视频直接表达
结论

在所演示的运行中,种群大小从100减小到50、再减小到30,与更长的最终显示路径长度相关。

修改 numberOfCities 会改变旅行商问题(TSP)实例的规模。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    将 numberOfCities 从30编辑为20,点击“更新”,图表随之重新生成,且点数减少。

  2. 声音
    观察依据

    旁白说:“我们把城市数量改为20,然后点击更新按钮,优化过程便针对20座城市开始。”

视觉说明
步骤
  1. 公式
    numberOfCities:30→20numberOfCities: 30 \to 20
    解释

    右侧面板中的数值从30编辑为20。

    步骤依据

    自定义面板中可见的文字变化。

    视频直接表达
  2. 公式
    click Update\text{click Update}
    解释

    用户激活“更新”按钮。

    步骤依据

    可见的光标操作及旁白指令。

    视频直接表达
  3. 公式
    plot regenerates with 20 city points\text{plot regenerates with 20 city points}
    解释

    中心图表刷新为更少的点集,并重新优化路径。

    步骤依据

    绘图点数量变化前后的对比清晰可见。

    视频直接表达
结论

numberOfCities 参数决定显示的优化问题中包含多少个城市点。

样式参数仅在点击更新后影响渲染效果。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    citySymbol 从圆形变为十字形,citySymbolColor 从红色变为蓝色,lineColor 从绿色变为紫色;点击更新后,图表样式随之改变。

  2. 声音
    观察依据

    旁白说道:现在我们将城市符号改为十字形,将城市符号颜色改为蓝色,将连线颜色改为紫色,然后点击更新按钮,这些更改即刻生效。

视觉说明
步骤
  1. 公式
    citySymbol:circle→crosscitySymbol: circle \to cross
    解释

    标记形状参数已被更改。

    步骤依据

    右侧面板中可见下拉菜单编辑操作。

    视频直接表达
  2. 公式
    citySymbolColor:red→bluecitySymbolColor: red \to blue
    解释

    标记颜色参数已被更改。

    步骤依据

    右侧面板中可见文本编辑操作。

    视频直接表达
  3. 公式
    lineColor:green→purplelineColor: green \to purple
    解释

    路径颜色参数已被更改。

    步骤依据

    右侧面板中可见文本编辑操作。

    视频直接表达
  4. 公式
    click Update\text{click Update}
    解释

    界面应用了待定的样式更改。

    步骤依据

    旁白明确指出,这些更改将在点击“更新”后生效。

    视频直接表达
结论

符号类型与颜色的自定义字段会改变所绘制城市及路径的视觉外观,但不会更改左侧的算法输入。

参数调整:从30城配置变为100城配置

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者逐步说明参数调整过程。

  2. 图示
    观察依据

    用户界面依次显示各参数值的编辑过程。

直观解释
步骤
  1. 公式
    numberOfCities:30→100numberOfCities: 30 \rightarrow 100
    解释

    将问题规模从30个城市扩大至100个城市。

    步骤依据

    用于测试自组织映射(SOM)方法的可扩展性。

    视频直接表达
  2. 公式
    iterations:10000→60000iterations: 10000 \rightarrow 60000
    解释

    将训练迭代次数增加六倍。

    步骤依据

    规模更大的问题需要更多迭代次数才能收敛。

    视频直接表达
  3. 公式
    learningradius:0.1→0.05learning radius: 0.1 \rightarrow 0.05
    解释

    将学习半径减半。

    步骤依据

    旁白指出,通常需要这样做,以便容纳更多城市,从而实现更精细的局部调整。

    视频直接表达
  4. 公式Click Update button
    解释

    应用新参数并重新启动优化过程。

    步骤依据

    必须重新生成城市,并使用新设置重新训练网络。

    视频直接表达
结论

参数被系统性地放大(迭代次数)和缩小(半径),以适应增大的问题规模,然后再运行优化。

例题详解 · 9

交互式遗传算法TSP演示

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白指示观众访问 gincker.com/AI/genetic-algorithm-traveling-salesman,然后对正在运行的遗传算法演示进行评述。

  2. 图示
    观察依据

    遗传编程页面显示:迭代次数:100,种群规模:1000,贪心交叉:true,随机种子:3,城市数量:30。

  3. 动画
    观察依据

    绿色旅行路线持续更新,同时状态栏显示不断变化的路径长度值,包括4286。

待核验内容
  1. 最终优化后的路径长度在采样帧中未能稳定清晰显示;仅有部分中间值清晰可辨。

题目

打开遗传算法旅行商问题演示,观察在所显示参数下旅行路线如何演化。

已知条件
  1. 网址:https://gincker.com/AI/genetic-algorithm-traveling-salesman

  2. 迭代次数:100

  3. 种群规模:1000

  4. 贪心交叉:启用

  5. 随机种子:3

  6. 城市数量:30

目标

观察遗传算法如何搜索更短的旅行商问题路径,以及界面如何报告搜索进度。

步骤
  1. 公式
    解释

    在浏览器中导航至遗传算法页面。

    步骤依据

    旁白中的明确指示与可见的网址变化。

    视频直接表达
  2. 公式
    解释

    观察左侧输入面板,识别当前使用的算法参数。

    步骤依据

    该面板清晰列出了迭代次数、种群规模、贪心交叉、随机种子及相关设置。

    视频直接表达
  3. 公式
    解释

    观察绿色巡游路径随时间变化,而红色城市点保持固定。

    步骤依据

    图表上直接可见的动画效果。

    视频直接表达
  4. 公式
    解释

    请查看底部状态栏,获取路线更新时的当前路径长度。

    步骤依据

    旁白明确指出,路径长度会在状态栏中实时更新。

    视频直接表达
  5. 公式
    解释

    将这种改进解读为遗传算法采用贪心交叉策略及较大种群规模所产生的效果。

    步骤依据

    口述讲解将所观察到的路线优化过程与这些参数设置联系起来。

    视频直接表达
结果

该演示以可视化方式展示了一个遗传算法TSP求解器,在一个30城市的实例上不断优化路线,其种群规模为1000,并启用了贪心交叉策略;同时,状态栏持续报告演化的路径长度。

检验

验证仅限于所显示的界面:网址、输入参数、动态巡游动画以及状态栏中的路径长度读数,在视频片段中均清晰可见。

例如:比较人口规模100、50和30

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    该应用程序分别以人口规模100、50和30运行三次,而迭代次数保持为100。

  2. 声音
    观察依据

    旁白评论了人口规模50下解的质量较差,并建议尝试不同的人口规模。

待核验内容
  1. 每种人口规模仅展示一次示例运行。

题目

展示在遗传算法模拟环境中,改变人口规模如何影响所显示的旅行商问题(TSP)解的质量。

已知条件
  1. 迭代次数 = 100

  2. 启用贪心交叉

  3. k近邻距离参数 knnD = 3

  4. 人口规模在100、50和30之间变化

目标

比较三次运行所得路径的外观及最终路径长度。

步骤
  1. 公式
    Run with population size 100\text{Run with population size }100
    解释

    初始配置采用开始时显示的较大种群规模。

    步骤依据

    在左侧输入面板中可见。

    视频直接表达
  2. 公式
    Final Path length =4296\text{Final Path length }=4296
    解释

    第一次完成的运行以路径长度4296结束。

    步骤依据

    在底部状态栏中可见。

    视频直接表达
  3. 公式
    Change population size to 50 且 run\text{Change population size to }50\text{ \text{且} run}
    解释

    用户编辑种群规模字段并重新运行优化。

    步骤依据

    可见字段编辑后点击“运行”。

    视频直接表达
  4. 公式
    Final Path length =4823\text{Final Path length }=4823
    解释

    第二次完成的运行以更长的路径长度结束。

    步骤依据

    在底部状态栏中可见。

    视频直接表达
  5. 公式
    Change population size to 30 且 run\text{Change population size to }30\text{ \text{且} run}
    解释

    用户再次调低种群规模并重新运行。

    步骤依据

    可见字段编辑后点击“运行”。

    视频直接表达
  6. 公式
    Final Path length =5816\text{Final Path length }=5816
    解释

    第三次完成的运行以更长的路径长度结束。

    步骤依据

    在底部状态栏中可见。

    视频直接表达
结果

显示的最终路径长度分别为:4296(对应种群规模为 100)、4823(对应 50)、以及 5816(对应 30)。

检验

讲解员明确指出,50次运行出现了交叉且路径比之前的大种群运行更长,底部状态栏显示了具体的路径长度数值。

示例:重新加载会将应用程序重置为默认输入

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    重新加载后,左侧面板恢复为种群规模100,图表重新运行并得到路径长度 = 4218。

  2. 声音
    观察依据

    讲解员解释道,重新加载会将输入面板重置为默认值,并使用默认输入数据重新运行。

待核验内容
  1. 重新加载后,knnd 的确切默认值和贪心交叉的默认值分别显示为3和 true,但该片段并未通过独立验证来证明这些值确为默认值,仅依赖讲解员的说明。

题目

演示在旅行商问题(TSP)互动平台会话期间按下浏览器刷新按钮时发生的情况。

已知条件
  1. 应用程序已偏离其初始状态。

  2. 用户点击浏览器的刷新按钮。

目标

观察输入面板的重置行为以及随之产生的优化运行结果。

步骤
  1. 公式
    click reload\text{click reload}
    解释

    浏览器刷新控件被激活。

    步骤依据

    光标可见地移动到刷新图标,并伴随解说员的说明。

    视频直接表达
  2. 公式
    input panel resets to defaults\text{input panel resets to defaults}
    解释

    左侧面板恢复为默认值,包括种群大小100。

    步骤依据

    刷新后的状态可见,并伴有解说员的解释。

    视频直接表达
  3. 公式
    algorithm reruns on default data\text{algorithm reruns on default data}
    解释

    遗传算法针对默认输入配置重新启动。

    步骤依据

    解说员明确指出这一行为。

    视频直接表达
  4. 公式
    Final Path length =4218\text{Final Path length }=4218
    解释

    刷新后的默认运行以显示路径长度4218结束。

    步骤依据

    在底部状态栏中可见。

    视频直接表达
结果

刷新操作将恢复默认输入并重新运行优化过程,本例中最终显示的路径长度为4218。

检验

界面刷新前后的状态与解说员的解释一致。

例如:将城市数量从30减少至20。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    城市数量从30更改为20,图表随之重新生成,显示的点数减少。

  2. 声音
    观察依据

    解说员说明优化过程针对20座城市启动。

题目

展示在自定义面板中修改 numberOfCities 参数的效果。

已知条件
  1. 初始 numberOfCities = 30

  2. 用户将 numberOfCities 修改为 20

  3. 用户点击“更新”

目标

观察旅行商问题(TSP)实例的变化。

步骤
  1. 公式
    numberOfCities:30→20numberOfCities: 30 \to 20
    解释

    城市数量字段被向下编辑。

    步骤依据

    在右侧面板中可见。

    视频直接表达
  2. 公式
    click Update\text{click Update}
    解释

    该修改已被应用。

    步骤依据

    可见按钮点击动作及旁白说明。

    视频直接表达
  3. 公式
    new run with 20 city points\text{new run with 20 city points}
    解释

    中心图表重新生成,点数减少,并优化出一条新路径。

    步骤依据

    可见绘图点数量减少及旁白陈述。

    视频直接表达
  4. 公式
    Final Path length =3903\text{Final Path length }=3903
    解释

    完成的 20-城市运行结果显示路径长度为 3903。

    步骤依据

    可见于底部状态栏。

    视频直接表达
结果

将 numberOfCities 更改为20会创建一个规模更小的旅行商问题(TSP)实例;该次运行所显示的最终路径长度为3903。

检验

讲解员明确指出优化过程从20座城市开始,且图表中明显呈现的点数更少。

示例:修改标记样式和连线样式

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    编辑 citySymbol、citySymbolColor 和 lineColor 后,点击“更新”,图表样式随即发生变化。

  2. 声音
    观察依据

    讲解员逐条列出样式变更,并说明这些更改将在点击“更新”后生效。

题目

演示自定义面板中的外观参数如何影响所绘制路线的显示效果。

已知条件
  1. 当前图表使用红色圆形城市标记和绿色路线连线。

  2. 用户将 citySymbol 改为十字形,citySymbolColor 改为蓝色,lineColor 改为紫色。

  3. 用户点击“更新”。

目标

观察渲染后的样式变化。

步骤
  1. 公式
    citySymbol:circle→crosscitySymbol: circle \to cross
    解释

    标记形状已更改。

    步骤依据

    显示下拉编辑框。

    视频直接表达
  2. 公式
    citySymbolColor:red→bluecitySymbolColor: red \to blue
    解释

    标记颜色已更改。

    步骤依据

    显示文本编辑框。

    视频直接表达
  3. 公式
    lineColor:green→purplelineColor: green \to purple
    解释

    路径颜色已更改。

    步骤依据

    显示文本编辑框。

    视频直接表达
  4. 公式
    click Update\text{click Update}
    解释

    待应用的样式更改已被应用。

    步骤依据

    旁白说明更改即刻生效。

    视频直接表达
  5. 公式
    Final Path length =3769\text{Final Path length }=3769
    解释

    使用新样式的重新运行结果显示路径长度为3769。

    步骤依据

    在底部状态栏中可见。

    视频直接表达
结果

更新后,城市以蓝色十字绘制,路径以紫色线条绘制;显示的最终路径长度为3769。

检验

更新前后的图表外观与所编辑的参数值一致。

示例:增大可视化延迟

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    delay 从100编辑为500,并点击了更新。

  2. 声音
    观察依据

    讲解员说明延迟参数控制更新速度,并提示将延迟值设为500,然后点击“更新”按钮。

待核验内容
  1. 经过120秒后实际变慢的帧率节奏,在本片段中无法完全观察到。

题目

展示如何在自定义面板中修改延迟参数。

已知条件
  1. 默认延迟 = 100 毫秒

  2. 用户将延迟值编辑为500

  3. 用户点击“更新”按钮。

目标

应用更慢的可视化更新速率。

步骤
  1. 公式
    delay:100→500delay: 100 \to 500
    解释

    延迟字段的数值被调大。

    步骤依据

    右侧面板中可见文本编辑操作。

    视频直接表达
  2. 公式
    click Update\text{click Update}
    解释

    新的延迟值被提交。

    步骤依据

    可见按钮点击动作及讲解员的口头提示。

    视频直接表达
结果

延迟参数从100更改为500毫秒,并通过点击“更新”应用。

检验

讲解员明确解释了延迟的含义,界面同时显示已编辑的数值。

在20座城市上的遗传算法

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    初始状态显示20座城市、种群规模为1000、迭代次数为100;路径长度从2709逐步下降至2709(趋于稳定)。

  2. 声音
    观察依据

    旁白指出进度条更新速度明显变慢。

题目

使用遗传算法为 20 个城市寻找一条近似最短路径,种群规模为 1000,且进行 100 次迭代。

已知条件
  1. 城市数量 = 20

  2. 种群规模 = 1000

  3. 迭代次数 = 100

  4. 贪心交叉 = 启用

  5. 克诺尔德等于3

目标

观察路径长度与最终路线的演化过程。

步骤
  1. 公式
    解释

    使用给定参数初始化遗传算法。

    步骤依据

    用户界面中显示的初始化阶段。

    视频直接表达
  2. 公式
    解释

    运行算法并观察随着种群演化,路径长度逐渐减小。

    步骤依据

    动画展示了连线的变化以及路径长度的下降。

    视频直接表达
  3. 公式
    Final Path Length≈2709\text{Final Path Length} \approx 2709
    解释

    算法稳定于路径长度约为 2709 的状态。

    步骤依据

    左下角显示“路径长度 = 2709”。

    视频直接表达
结果

一条访问全部 20 座城市的闭合回路,总路径长度约为 2709。

检验

对最终路径的目视检查表明其无明显交叉,且路径长度指标趋于稳定。

针对100座城市的遗传算法

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    参数已更改为100座城市、种群规模5000、迭代次数500、延迟1。最终路径长度显示为8476。

  2. 声音
    观察依据

    解说员描述调整参数并观察结果:‘最终路径长度为8476……仍存在部分路径交叉。’

题目

扩大遗传算法的规模,通过增加种群规模与迭代次数,求解100座城市的旅行商问题。

已知条件
  1. 城市数量 = 100

  2. 种群规模 = 5000

  3. 迭代次数 = 500

  4. 延迟 = 1

目标

评估近似解的质量,并识别其局限性。

步骤
  1. 公式
    解释

    在用户界面中更新参数,以应对更大规模的问题。

    步骤依据

    解说员明确指出:对于100座城市,需增大种群规模与迭代次数。

    视频直接表达
  2. 公式
    解释

    以较快速度(较低延迟)运行算法,并观察路径的演化过程。

    步骤依据

    动画展示了复杂线条网络中快速的变化。

    视频直接表达
  3. 公式
    Final Path Length=8476\text{Final Path Length} = 8476
    解释

    该算法以路径长度为8476结束。

    步骤依据

    左下角显示“路径长度 = 8476”。

    视频直接表达
  4. 公式
    解释

    检查最终路径,寻找仍存在的低效之处。

    步骤依据

    解说员指出“路径上仍存在一些交叉”。

    视频直接表达
结果

一条长度为8476的路径,这是一个不错的近似解,但仍包含若干交叉线段。

检验

目视检查确认最终路线中存在相交的线段,从而验证了解说员关于该路径并非绝对最短路径的说法。

使用自组织映射神经网络求解100城市的旅行商问题。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    从参数修改开始,经优化,直至最终结果的完整流程。

  2. 声音
    观察依据

    旁白引导观众完整走一遍该示例。

待核验内容
  1. 初始的随机环形配置坐标未被记录。

题目

寻找一条访问 100 个随机放置的城市的短路径,这些城市位于一个 1000×10001000\times 1000 坐标空间中,使用自组织映射(SOM)神经网络。

已知条件
  1. 城市数量 = 100

  2. 迭代次数 = 60000

  3. 学习率 = 0.5

  4. 学习半径 = 0.05

  5. 自组织映射(Kohonen)网络 = 3

  6. 城市坐标在 [0,1000]×[0,1000] 范围内随机生成。

目标

生成一条总欧氏路径长度最小的有效哈密顿回路。

步骤
  1. 公式Initialize ring of 100 neurons with random positions
    解释

    在训练开始前,构建神经元的闭合环形结构。

    步骤依据

    旅行商问题(TSP)的标准自组织映射初始化方法。

    依据视频推导
  2. 公式Run 60000 iterations of competitive learning
    解释

    迭代调整神经元位置,使其逐步靠近最近的城市,同时保持拓扑结构不变。

    步骤依据

    自组织映射的核心训练过程。

    视频直接表达
  3. 公式Monitor path length decreasing from ~9497 to 8029
    解释

    通过状态栏更新观察收敛过程。

    步骤依据

    交互式演示界面的可视化反馈机制。

    视频直接表达
  4. 公式Extract final tour from ordered neuron positions
    解释

    收敛后,从环形拓扑结构中读取城市访问顺序。

    步骤依据

    SOM算法求解旅行商问题(TSP)的输出结果解读。

    依据视频推导
结果

最终路径长度为8029,且无边交叉,短于遗传算法基线结果。

检验

目视检查确认无路径交叉;解说员在口述中将该结果与遗传算法结果进行了数值对比(视频片段中未显示遗传算法的具体数值)。

图示与动画 · 20

神经网络TSP初始可视化

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    页面标题区域和图表显示“旅行商问题(TSP)”;左侧面板标题为“神经网络——旅行商问题”,其中包含迭代次数:60000、学习率:0.5、学习半径:0.05、ANN:3;右侧面板显示城市数量:100及样式选项。

  2. 动画
    观察依据

    绿色巡游线路在红色城市点之间动态变化,同时底部状态栏持续更新路径长度数值。

待核验内容
  1. 该视频片段未在屏幕上提供关于神经网络参数如何影响动画的详细说明。

图中对象
  1. 图表标题为“旅行商问题(TSP)”

  2. 红色城市点

  3. 绿色路线线

  4. 神经网络——旅行商问题的左侧输入面板

  5. 右侧自定义面板

  6. 底部状态栏,显示路径长度

变化过程
  1. 绿色路线随时间推移而改变形状。

  2. 状态栏中的路径长度值反复更新。

不变量
  1. 该图表始终保持为一个2D 散点图,坐标轴范围大致从0到1000。

  2. 在所观察的动画过程中,红色城市点位置保持固定。

  3. 右侧面板的样式参数持续可见。

数学含义

此初始视图将旅行商问题(TSP)呈现为一个几何路径优化问题,并展示了一个机器学习求解器在固定城市集合上持续修订路线的过程。

浏览器导航至遗传算法页面

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个大型覆盖层显示网址 https://gincker.com/AI/genetic-algorithm-traveling-salesman,浏览器地址栏随之更改为该网址。

  2. 声音
    观察依据

    讲解员提示观众前往该网址并按下回车键。

图中对象
  1. 浏览器地址栏

  2. 大幅显示的URL文字

  3. Gincker页面

变化过程
  1. 显示的URL从神经网络页面变更为遗传算法页面。

  2. 页面内容从神经网络输入切换为遗传编程输入。

不变量
  1. 整体网站布局保持不变,仍为左侧输入面板、中央图表和右侧自定义面板。

数学含义

此次导航标志着在同一交互式界面中,从一种TSP求解方法过渡到另一种TSP求解方法。

遗传编程求解旅行商问题的动画

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    左侧面板现在显示“遗传编程——旅行商问题”,其中迭代次数:100,种群规模:1000,贪心交叉:启用,随机种子:3;右侧面板显示城市数量:30。

  2. 动画
    观察依据

    绿色路径在比开场画面更少的红色点上重绘,状态栏持续更新路径长度数值。

待核验内容
  1. 可见红色点的确切数量并未从采样帧中独立统计;可靠数值为所显示的城市数量:30。

图中对象
  1. 遗传编程输入面板

  2. 中心旅行商问题图表

  3. 红色城市点

  4. 绿色路径线

  5. 底部状态栏

变化过程
  1. 自定义面板中显示的城市数量从100变为30。

  2. 路径几何形状逐次迭代发生变化。

  3. 随着路径优化,路径长度读数实时更新。

不变量
  1. 该问题始终是定义在2D点集上的旅行商问题。

  2. 界面持续显示一条连接所有城市的单一路径。

数学含义

本片段在规模较小的实例上展示遗传算法方法,并通过可见参数明确揭示了种群规模与贪心交叉操作的作用。

初始的30城路径显示

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    中心图表标题为“旅行商问题(TSP)”,图中红色城市点由一条绿色闭合路径连接;底部状态栏显示“路径长度 = 4296”。

图中对象
  1. 红色城市点

  2. 绿色路径线段

  3. 坐标轴

  4. 底部状态栏

变化过程
  1. 此短暂时间间隔内无其他内容;已完成的路径将被显示。

不变量
  1. 标题保持为“旅行商问题(TSP)”。

  2. 左侧面板中种群规模为100。

  3. 路径长度为4296。

数学含义

视频片段以默认较大种群规模运行所得到的完整旅行商问题(TSP)路径开场。

种群规模为50的动态优化过程

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    点击‘运行’按钮且种群规模为50后,多条淡绿色候选路径出现,随后逐渐收敛为一条颜色更深的最终路径。

  2. 图示
    观察依据

    底部状态栏依次更新中间数值,最终显示‘路径长度 = 4823’。

待核验内容
  1. 各中间迭代序号字体过小,无法在整个动画过程中稳定辨识。

图中对象
  1. 红色城市点

  2. 多条浅绿色候选路径

  3. 一条颜色更深的最终路径

  4. 进度/状态栏

变化过程
  1. 首先显示若干条相互重叠的路径。

  2. 路径集合逐步收窄,最终只剩一条最终路径。

  3. 路径长度更新为4823。

不变量
  1. 城市位置保持固定。

  2. 迭代次数保持为100。

  3. 坐标轴和标题保持不变。

数学含义

该动画可视化了一种基于遗传算法的搜索过程,其在候选路径种群上进行,并最终高亮显示所保留的最佳路径。

种群规模为30的动态优化过程

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    当种群规模为30时,图表再次显示若干候选路径,随后收敛至唯一最终路径。

  2. 图示
    观察依据

    底部状态栏以“路径长度 = 5816”结尾。

图中对象
  1. 红色城市点

  2. 浅绿色候选路径

  3. 深绿色最终路径

  4. 状态栏

变化过程
  1. 候选路径被依次显示,随后缩减为一条最终路径。

  2. 最终路径长度增加至5816。

不变量
  1. 城市集合与上一次运行相同。

  2. 迭代次数保持为100。

数学含义

较小的种群规模在此示例中产生了明显更长的最终旅行路线。

页面重新加载并默认重新运行

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    重新加载后,页面刷新,左侧面板恢复默认设置,并开始新一轮优化运行。

  2. 图示
    观察依据

    最终显示的路径长度变为4218。

图中对象
  1. 浏览器重新加载控件

  2. 左侧输入面板

  3. 中心TSP图示

  4. 状态栏

变化过程
  1. 界面状态重置。

  2. 新一轮运行会自动开始,或在重置后立即启动。

  3. 最终路径长度变为4218。

不变量
  1. 该问题仍是定义在2维点集上的旅行商问题(TSP)。

  2. 右侧面板的默认设置仍显示城市数量为30。

数学含义

重新加载将恢复默认实验设置,并在默认实例上重新运行优化器。

减少城市数量后的重新生成

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    当城市数量更改为20并点击“更新”后,图表将重新生成:红色城市点减少,同时启动新的路径搜索。

  2. 图示
    观察依据

    显示的最终路径长度为3903。

图中对象
  1. 红色城市点

  2. 绿色路径线段

  3. 右侧自定义面板

  4. 状态栏

变化过程
  1. 绘制的点数从30减少到20。

  2. 显示一次新的优化运行。

  3. 最终路径长度变为3903。

不变量
  1. 左侧算法输入保持为:迭代次数 = 100,种群规模 = 100,贪婪交叉 = true,knnd = 3。

数学含义

自定义参数 numberOfCities 会直接改变旅行商问题(TSP)实例本身的规模。

更新后的视觉样式重设

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    点击更新后,城市标记变为蓝色十字,路线线条变为紫色。

  2. 图示
    观察依据

    显示的最终路径长度为3769。

图中对象
  1. 蓝色十字形标记

  2. 紫色路线线条

  3. 右侧自定义面板

变化过程
  1. 标记形状由圆形变为十字形。

  2. 标记颜色从红色变为蓝色。

  3. 线条颜色从绿色变为紫色。

不变量
  1. 底层的20-城市实例保持不变。

  2. 左侧的算法输入不发生变化。

数学含义

该事件将呈现参数与优化参数分离开来:外观发生变化,而问题规模仍为20个城市。

延迟参数已被编辑。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    延迟字段从100编辑为500,并点击更新。

待核验内容
  1. 减慢的更新节奏由旁白指出,但在剩余时间内无法完全测量。

图中对象
  1. 右侧自定义面板。

  2. 延迟字段。

  3. 更新按钮。

变化过程
  1. 延迟值从100增加至500。

  2. 点击“更新”以应用更改。

不变量
  1. 其他显示的参数在此区间内保持不变。

数学含义

界面将动画时序作为一项独立于算法输入的控制项予以呈现。

遗传算法演化(20座城市)

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    连接蓝色方块的紫色线条持续改变形状,缠绕程度逐渐降低,总长度也不断缩短。

图中对象
  1. 蓝色方块(城市)

  2. 紫色线条(路径线段)

  3. 红色文字(路径长度度量)

变化过程
  1. 路径线段重新连接到不同的城市。

  2. 总路径长度减小。

  3. 线条变得更平滑,并避开相交。

不变量
  1. 20个蓝色方块的位置保持不变。

  2. 该路径始终构成一条访问所有方块的单一闭合回路。

数学含义

遗传算法通过选择并组合更优的子路径,迭代优化路线,从而减少总行驶距离。

遗传算法演化(100个城市)

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    一张密集的紫色连线网络,连接着100个蓝色方块,迅速变动并简化为一条更为有序、尽管尚不完美的闭合回路。

图中对象
  1. 100个蓝色方块(城市)

  2. 密集的紫色连线(初始随机路径)

  3. 稀疏的紫色连线(演化后的路径)

变化过程
  1. 可见的重叠连线数量大幅减少。

  2. 路径长度从大于30000下降至8476。

  3. 最终状态中仍存在一些局部交叉。

不变量
  1. 城市位置固定不变。

  2. 算法持续运行,直至达到迭代次数上限。

数学含义

扩大问题规模需要更大的种群数量和更多迭代次数。该算法能快速找到一条全局上较为合理的路径,但在给定的计算资源限制内难以消除所有局部交叉。

易错点 · 6

误以为旅行商问题(TSP)很简单,只因其题干表述简洁

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员说道:“这个问题看起来非常简单,但求解起来却非常困难。”

误区

有人可能认为,既然TSP只需一句话就能陈述清楚,那么求解起来也应该很容易。

说明

视频明确警示:该问题看似简单,实则极难求解。

遗传算法中种群规模设置过小

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    叙述者指出,种群规模需足够大,以便用丰富多样的解来初始化,并建议取城市数量的30至60倍作为参考。

待核验内容
  1. 该片段并未提供种群过小导致失败的反例,仅给出了这一指导性建议。

误区

有人可能假设遗传算法只需较小的初始种群就已足够。

说明

视频建议采用较大的种群规模,以确保搜索从一组丰富多样的解出发,并提到城市数量的30至60倍是常用的经验准则。

路径自相交表明在此演示中该旅行商问题(TSP)解的质量较差。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说道:‘此处您看到一些路径会与自身相交,同时展示种群规模为50的结果。’

  2. 图示
    观察依据

    最终的绿色路径明显包含相交的线段。

误区

人们可能误以为所有显示的闭合路径都同样可接受为TSP解。

说明

视频明确指出路径交叉现象,并将其与更差的解相关联,以更长的路径长度作为佐证依据。

外观控制项与优化控制项并不相同。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白说道:‘右侧面板用于控制结果可视化效果的外观’,随后分别调整城市数量(numberOfCities)和样式参数。

  2. 图示
    观察依据

    左侧面板容纳算法输入;右侧面板容纳图表与显示参数。

误区

人们可能将所有界面参数与算法超参数混为一谈。

说明

在此应用中,左侧的输入面板控制遗传算法,而右侧的自定义面板主要控制渲染效果;但其中 numberOfCities 会改变问题实例,delay 则影响更新时机。

常见误解:遗传算法能保证得到旅行商问题的最优解

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员澄清道:“我们确信这不是最短路线,但却是非常优秀的近似解。”

误区

用户可能认为,对遗传算法运行大量迭代后,总能得到旅行商问题的绝对最短路径。

说明

遗传算法属于启发式方法。尽管它们能高效地找到质量很高的近似解,却无法保证找到全局最优解,尤其在大规模实例中更是如此——如100个城市示例中仍存在的路径交叉现象即为明证。

‘效率’术语存在歧义

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员称该方法‘与遗传算法相比效率不高’,但随后又声称其生成的路径更短。

待核验内容
  1. ‘效率’定义模糊:可能指计算开销、收敛速度或实现复杂度,而非解的质量。

误区

观众可能将计算效率与解的质量混淆——当讲解员称自组织映射(SOM)‘效率不高’,却随后报告其路径长度更优时,易产生误解。

说明

此处‘效率’很可能指资源消耗或收敛特性,而路径长度衡量的是最优性差距。某种方法虽计算开销更大,却可能在特定实例上产出更优解。

概念关系 · 16

旅行商问题的定义 → 遗传算法中的贪心交叉启发式

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    叙述者在定义TSP之后,介绍了两种机器学习方法,其中之一便是遗传算法。

应用
解释

贪心交叉法被作为遗传算法求解TSP的一部分予以呈现。

旅行商问题的定义 → 游乐场中使用的两种机器学习方法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    旁白指出,该交互式演示平台实现了两种机器学习方法来求解此问题。

应用
解释

这两种被命名的机器学习方法,被介绍为求解前述已定义的TSP问题的手段。

遗传算法中的贪心交叉启发式 → 遗传算法的种群规模指导原则

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    关于种群规模的讨论紧随遗传算法运行原理的讲解之后。

  2. 图示
    观察依据

    遗传编程输入面板在讲解过程中显示种群规模。

包含
解释

在遗传算法方法中,该片段将种群规模的选择视为实现过程中的一个重要子组件。

遗传算法中的贪心交叉启发式 → 状态栏报告当前路径长度

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    narrator 指出,在遗传算法演示运行期间,状态栏中的路径长度会实时更新。

应用
解释

状态栏中的路径长度读数用于监控遗传算法搜索的结果。

应用程序中显示的遗传算法输入参数 → 较小的种群规模可能使所展示的 TSP 解变差

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员将种群规模50与一个不佳的解及更长的路径长度关联起来。

  2. 图示
    观察依据

    改变种群规模后,最终路径长度也随之不同。

应用
解释

输入参数种群规模被直接用于所演示的解质量对比中。

在2维平面上的TSP路径可视化 → 自定义面板控制显示效果与问题规模

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    中心图表标题为旅行商问题(TSP),所有参数变化均反映在路径可视化中。

应用
解释

自定义面板控制 TSP 解的显示方式,并通过 numberOfCities 控制所显示问题实例的规模大小。

例如:比较人口规模100、50和30 → 种群规模50所呈现的路径质量劣于大规模种群运行所得路径。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员关于种群规模50的论断,得到了所展示运行过程及对应路径长度的支持。

  2. 图示
    观察依据

    该示例运行提供了数值层面的对比。

证明依赖
解释

关于种群规模50下性能更差的命题,基于所展示的示例运行而成立。

示例:重新加载会将应用程序重置为默认输入 → 重新加载页面会恢复默认输入,并重新运行默认案例。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员在界面明显重置的同时,解释重载行为。

证明依赖
解释

重载示例为‘重置为默认值’这一说法提供了所观察到的依据。

例如:将城市数量从30减少至20。 → 自定义面板控制显示效果与问题规模

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    将 numberOfCities 从30改为20,会改变所绘制点的数量。

应用
解释

本示例说明,“城市数量”是自定义面板中一个实质性的实例规模控制项。

用于TSP的遗传算法 → 旅行商问题(TSP)

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    用户界面标题为“遗传编程——旅行商问题”。

应用
解释

遗传算法被用作求解旅行商问题近似解的一种方法。

用于旅行商问题的弹性神经网络/自组织映射 → 旅行商问题(TSP)

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员引入弹性神经网络来求解旅行商问题。

应用
解释

此处介绍的弹性神经网络(自组织映射的一种变体)被呈现为求解旅行商问题的另一种方法。

用于旅行商问题的弹性神经网络/自组织映射 → 用于旅行商问题的弹性神经网络/自组织映射

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    解说员指出,这是一种‘科霍宁自组织映射的变体’。

特例
解释

本处所用的弹性神经网络,是针对闭环优化而专门调整的一般自组织映射概念的一种特定变体或特例。

问题定位 · 21

本视频中所定义的旅行商问题(TSP)是什么?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    narrator 在此时间段内用语言定义了旅行商问题(TSP)。

涉及知识点
  1. 旅行商问题的定义

尽管旅行商问题(TSP)的表述十分简洁,为何视频仍称其难以求解?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    narrator 表示,该问题看似简单,但实际求解极为困难。

涉及知识点
  1. 旅行商问题的定义

该交互式演示平台针对旅行商问题(TSP)采用了哪两种机器学习方法?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    narrator 提到了遗传算法、弹性神经网络加自组织映射这两种方法。

涉及知识点
  1. 游乐场中使用的两种机器学习方法

贪心交叉在遗传算法求解旅行商问题(TSP)的演示中起什么作用?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    narrator 将贪婪交叉解释为:选择距离当前城市最近的未访问城市作为下一步移动目标。

涉及知识点
  1. 遗传算法中的贪心交叉启发式

根据视频,遗传算法的种群规模应设为多大?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者讨论了种群规模1000以及30到60乘以n的指导原则。

涉及知识点
  1. 遗传算法的种群规模指导原则

该演示在何处报告当前路径长度?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者指出,路径长度会在状态栏区域实时更新。

涉及知识点
  1. 状态栏报告当前路径长度

为什么视频说种群规模50得不到一个好的解?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者讨论种群规模50,并比较路径长度。

  2. 图示
    观察依据

    可见的最终路径长度对应于100、50和30。

涉及知识点
  1. 较小的种群规模可能使所展示的 TSP 解变差
  2. 例如:比较人口规模100、50和30
  3. 种群规模50所呈现的路径质量劣于大规模种群运行所得路径。

本演示中,何种视觉迹象表明该旅行商问题(TSP)路线更差?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者指出,某些路径会与自身相交。

  2. 图示
    观察依据

    最终路径显示出交叉点。

涉及知识点
  1. 路径自相交表明在此演示中该旅行商问题(TSP)解的质量较差。
  2. 种群规模为50的动态优化过程
  3. 种群规模50所呈现的路径质量劣于大规模种群运行所得路径。

在此旅行商问题(TSP)演示平台中,点击浏览器的重载按钮会发生什么?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者解释,“重载”会将输入面板重置为默认值。

  2. 图示
    观察依据

    界面在刷新后恢复为默认值。

涉及知识点
  1. 示例:重新加载会将应用程序重置为默认输入
  2. 重新加载页面会恢复默认输入,并重新运行默认案例。

哪个参数会改变所绘制的旅行商问题(TSP)实例中的城市数量?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者指出,城市数量由该参数控制,并将其更改为20。

  2. 图示
    观察依据

    图表以更少的点重新生成。

涉及知识点
  1. 自定义面板控制显示效果与问题规模
  2. 例如:将城市数量从30减少至20。
  3. 城市数量的默认值为30。

延迟参数在可视化中控制什么?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员将延迟定义为更新速度,并说明默认值100表示每隔100毫秒更新一次。

  2. 图示
    观察依据

    延迟字段从100更改为500。

涉及知识点
  1. 自定义面板控制显示效果与问题规模
  2. 示例:增大可视化延迟
  3. 延迟控制可视化更新速率

右侧的自定义设置是算法超参数还是显示设置?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员指出右侧面板控制结果可视化效果的外观。

  2. 图示
    观察依据

    左侧面板和右侧面板包含不同类型的参数。

涉及知识点
  1. 自定义面板控制显示效果与问题规模
  2. 外观控制项与优化控制项并不相同。
  3. 示例:修改标记样式和连线样式
覆盖情况与待核验内容

已覆盖 · 开场画面显示神经网络版TSP游乐场,同时讲解者介绍本系列及主题。

已覆盖 · 讲解者定义了旅行商问题(TSP),并指出其描述简单但求解困难。

已覆盖 · 视频介绍了游乐场中实现的两种机器学习方法。

已覆盖 · 浏览器按讲解者的指示跳转至遗传算法对应的网址。

已覆盖 · 遗传编程页面运行时参数可见,并配有动画导览。

已覆盖 · 讲解者评论了使用默认参数即可高效求解,并解释了贪心交叉与状态栏中的路径长度显示。

已覆盖 · 讲解者讨论了种群规模1000以及30到60乘以n的指导原则,随后话音渐弱。

已覆盖 · 显示已完成的TSP路径,其路径长度为4296。

已覆盖 · 以种群规模50运行;讲解员评论了路径中存在的交叉现象及更长的路径长度。

已覆盖 · 用户在重新运行前将种群规模从50编辑为30。

已覆盖 · 以种群规模30运行,最终路径长度为5816。

已覆盖 · 浏览器刷新会将输入重置为默认值,并重新运行默认案例。

已覆盖 · 讲解员介绍右侧自定义面板,并指出默认城市数量为30。

已覆盖 · 将城市数量更改为20,点击‘更新’后生成一个规模更小的旅行商问题实例。

已覆盖 · 修改标记样式与连线样式参数,并通过‘更新’应用这些更改。

已覆盖 · 解释延迟参数,并将其从100毫秒调整为500毫秒。

已覆盖 · 介绍旅行商问题(TSP),并在20座城市上演示遗传算法。

已覆盖 · 将遗传算法扩展至100座城市,并讨论其近似解的局限性。

已覆盖 · 过渡并引出弹性神经网络/自组织映射(SOM)方法。

已覆盖 · 旅行商问题(TSP)的自组织映射(SOM)方法入门介绍,并与遗传算法进行对比。

已覆盖 · 为运行100城市的实验而进行的参数调整序列。

已覆盖 · 自组织映射(SOM)优化过程的动态演示,路径长度逐步收敛。

已覆盖 · 最终优化所得的100城市环游路径的展示与验证。

已覆盖 · 通过AI下拉菜单概览机器学习游乐场(Machine Learning Playground)的模型目录。

已覆盖 · 本节展示在用户界面上选择TSP机器学习模型的操作过程,以及由此生成的可视化结果。

探索视频中的知识

已审核的主题路径

这个视频解答的问题

认识概念

↗
掌握方法

↗
掌握方法

↗
理解原因

↗
理解原因

↗
认识概念

↗