如何将由两点定义的随机线连接到一条路径中?像旅行推销员一样的问题

2024-04-26 17:57:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一组由两点定义的直线生成一条连续的直线。 目前,我生成了随机线的子集,如下所示:

[ [0, 0] [2, 2], [2, 1] [0, 1], [0, 1] [2, 2], ... ]

接下来,我要沿着这些线追踪,以使最长的不间断路径成为可能。因为会有成百上千条这样的线路,有些线路最终无法连接,这是可以的。原因是它们之间可以具有以下特性:

  1. Same starting point
  2. Same ending point
  3. Same starting and ending point

结果输出看起来像一个矩阵,它跟踪应该采取的最佳路径,例如:

[ [0, 0], [2, 2], [0, 1], [2, 1] ]

我不想优化路径长度(因为长度已经由生成的行的总长度预定义),但是我想最小化断点的数量。而且,连续线不必在同一位置开始和结束

在python中编码我最初是从指南开始的here我可以使用数组数组作为我的“城市”。我不确定这是不是最好的方法,因为它试图缩短距离。因此,我觉得在分析基因测序数据时可能会遇到类似的问题;具有许多必须排列成一条连续的DNA片段的

最后,我将寻找关于使用以前发布的python包将这些路径对齐到单个连续延伸的任何建议。最后,如果我自己编写代码,我会在这里发布我的结果


Tags: and路径定义ending原因矩阵数组特性