本文仅介绍思路,不进行实践。

以3个城市为例,假设给定的TSP问题中城市是以坐标的形式给出,那么坐标是一个二维的向量。从而我们设计一个SOM网络如下:

我们希望做到的是,在训练完成后,每个城市(黑色)下面的两个绿色权值都是这个城市的坐标,正好对应2维。更重要的是,希望可以做到,实际中相邻的城市,在我们的这个网络中也是相邻的。

举一个真实世界的例子,假设有4个城市,其在平面上分布如下图:

那么我们使用SOM网络进行训练完成后,我们希望,他们的相邻关系在SOM网络中依然得到保持,即还是相邻的。如下:

最后,我们只需要读取这个SOM网络上4个黑色节点分别代表哪个城市就行了。

如何确定一个城市对应哪个黑色节点?看一下黑色节点下面的两个权值即可,如果权值接近这个城市的坐标,就说明这个黑色节点对应这个城市。从而依次读取黑色节点就得到了TSP的一条环游。

反思:不难发现,这个SOM网络得到的结果有点类似于贪心算法。但是却不如贪心算法稳定,其面临的问题有,不能保证训练这么顺利,使得黑色节点的两个权值恰好对应一个城市的坐标,可能不准,到时候可能会有多个城市对应同一个黑色神经元的情况,那么就乱套了,即这几个城市可能考得比较近,那么需要枚举一下,从而安排这几个城市的顺序,其他保持不变。还有一个问题,如果真实世界离得近的城市,这个SOM网络训练之后有一些城市没有做到,那显然也很惨。

自组织映射网络(SOM)如何解决TSP问题相关推荐

  1. 自组织映射网络(SOM)+Kohonen自组织网络

    自组织映射网络(SOM)+Kohonen自组织网络 SOM算法总结: 我们有一个空间连续的输入空间,其中包含我们的输入向量.我们的目的是将其映射到低维的离散输出空间,其拓扑结构是通过在网格中布置一系列 ...

  2. 深度学习 自组织映射网络 ——python实现SOM(用于聚类)

    深度学习 自组织映射网络 --python实现SOM(用于聚类) 摘要 python实现代码 计算实例 摘要 SOM(Self Organizing Maps ) 的目标是用低维目标空间的点来表示高维 ...

  3. 蚁群算法解决tsp问题c语言,蚁群算法解决TSP问题程序.doc

    蚁群算法解决TSP问题程序 蚁群算法用于求解TSP问题,经过仿真测试,发现此程序的优化效率和鲁棒性都非常好. 这与在无线多媒体传感器网络路由算法应用到的寻找最佳路径的蚁群算法非常相似. functio ...

  4. 如何使用Python轻松解决TSP问题(遗传算法)

    文章目录 前言 TSP问题 枚举 智能算法 策略 算法 数据样例 遗传算法 算法流程 繁殖 交叉 变异 选择 逆转 代码 TSP遗传算法 种群表示 交叉,变异 代码 运行结果 总结 前言 临时接到一个 ...

  5. Hopfield神经网络解决TSP问题(Java)

    目录 一.网络原理 二.算法步骤 三.代码实现 (Java) 四.所用jar包 一.网络原理 Hopfield神经网络(HNN)是一种全互联反馈神经网络,它的每一个神经元都和其他神经元连接. Hopf ...

  6. 学习使用hopfield神经网络解决TSP问题(毕业设计Day01)

    学习使用hopfield神经网络解决TSP问题(毕业设计Day01) 本篇文章主要是学习 <Hopfield神经网络在TSP问题中的应用_兰兆青>这篇文章,如有侵权,请联系删除. (这系列 ...

  7. 连接网络计算机密码错误,局域网电脑连接提示网络错误怎么解决

    局域网可以实现文件管理.应用软件共享.打印机共享.工作组内的日程安排.***和传真通信服务等功能,功能十分强大,不过如果设置不恰当,内网中电脑连接网络会出现错误,具体怎么解决呢.下面是小编为大家整理的 ...

  8. NFS 网络挂载问题 解决

    NFS 网络挂载问题 解决 参考文章: (1)NFS 网络挂载问题 解决 (2)https://www.cnblogs.com/cherishui/p/4388628.html 备忘一下.

  9. Docker 网络不通的解决方法

    Docker 网络不通的解决方法 参考文章: (1)Docker 网络不通的解决方法 (2)https://www.cnblogs.com/jiu0821/p/10603793.html 备忘一下.

  10. 【算法】模拟退火算法解决TSP问题的matlab实现

    [算法]模拟退火算法解决TSP问题的matlab实现 参考文章: (1)[算法]模拟退火算法解决TSP问题的matlab实现 (2)https://www.cnblogs.com/wenyehoush ...

最新文章

  1. 四轴飞行器实践教程第1章什么是飞行器
  2. 转:Java NIO系列教程(九) Pipe
  3. springboot项目中一个实体类引用其它实体类的字段并显示到页面上
  4. [ERR0134] Requested Service is not available【转载】
  5. java 类型推理_java 11 局部变量类型推断
  6. 《转》Android 今日头条屏幕适配方案终极版正式发布!
  7. mysql 显示右边所有名称_查询表 - [ MySql参考手册 ] - 在线原生手册 - php中文网
  8. c语言错误封装,C语言实现的封装,继承,多态
  9. 赛前集训前的总结(警醒)
  10. C++开发技术的应用有哪些?
  11. Using mysqldump for Backups(备份还原数据库实例及参数详细说明)
  12. SSM(Spring+springMVC+MyBatis)框架-springMVC实现图片上传
  13. VMware Workstation 12 安装小于4GB的GHOST 64位win7系统
  14. 为什么爬虫需要代理IP?
  15. java获取本机ip_java获取本机IP
  16. 谷歌浏览器如何在不登录的情况下保存书签
  17. 你必须知道的 NET(第2版)
  18. linux删除文件名的文件夹,Linux删除文件夹和修改文件名
  19. 【图解】连狗子都能看懂的Python基础总结(二)什么是库、包、模块?
  20. 连接nacos服务器报错,显示/nacos/v1/ns/instance after all servers([localhost:8848])

热门文章

  1. 年度书单盘点 | “裁员潮”持续蔓延?职场没有铁饭碗,只有硬技能
  2. 程序员在翻车时的30种常见反应
  3. DCGAN及其TensorFlow源码
  4. ICCV 2013的人脸特征点检评测及代码
  5. 从量子物理到AI医疗,这位清华博士后想用十年弥补病理医生的百年缺口
  6. “2018中国AI英雄风云榜”年度人物榜:“AI天才”何恺明
  7. SpaceX龙飞船发射之后:在人类探索太空的征途中,深度学习能做什么?
  8. 【秋招必备】LeetCode神器,算法刷题宝典.pdf
  9. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)
  10. 【经典书籍】深度强化学习实战(附最新PDF和源代码下载)