如何用Mathematica寻找哈密顿回路?
1、首先,我们需要定义两个列表。
一个是边,一个是边的权重(比如距离)
定义边中间的链接符号是UndirectedEdge的简记。输入方式是[ESC] ue [ESC]


2、然后,我们可以根据这两个列表的数据画图。
EdgeLabels选项"EdgeWeight"可以在图上显示边的权重。
VertexLabels选项"Name"可以显示顶点名称。
由于前面用1,2,3...编号代表定点,因此顶点名称这里就是1,2,3...


3、使用FindShortestTour函数来寻找最短哈密顿行迹。
该函数返回结果是{15, {1, 4, 5, 6, 3, 2, 1}},即{总长度,{点序列}}

4、Print函数显示该哈密顿序列的长度。


5、使用HighlightGraph突出显示图。
该函数第一个参数是前面画好的图,
第二个参数是要突出显示的部分,这里用PathGraph路径图作为第二个参数。
使用Manipulate函数创建交互。


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。