Python 获取最小MSE的路径

Python 获取最小MSE的路径,python,algorithm,sorting,Python,Algorithm,Sorting,我有一个向量列表 [ [[1,2,3],[7,8,5]], [[7,8,9],[2,8,6],[2,6,3]], [[7,5,1],[1,7,3],[6,1,1],[5,2,7]] ] 对于第一个列表中的每个向量,我想提取每个列表中向量之间的最小距离(MSE)路径 例如,对于第一个列表中的第一个元素,我应该获得以下路径: [1,2,3] -> [2,6,3] -> [1,7,3] 在指标方面: [0,2,1] 我应该为第一个列表中的每个元素获取此路径。列表非常庞大,真正的

我有一个向量列表

[
 [[1,2,3],[7,8,5]],
 [[7,8,9],[2,8,6],[2,6,3]],
 [[7,5,1],[1,7,3],[6,1,1],[5,2,7]]
]
对于第一个列表中的每个向量,我想提取每个列表中向量之间的最小距离(MSE)路径

例如,对于第一个列表中的第一个元素,我应该获得以下路径:

[1,2,3] -> [2,6,3] -> [1,7,3]
在指标方面:

[0,2,1]
我应该为第一个列表中的每个元素获取此路径。列表非常庞大,真正的向量大约有300个元素



有一些python方法可以避免for循环的硬迭代?

我的算法知识有点有限。我不认为有任何特定于python的最佳方法可以实现这一点。李岩的评论是准确的。如果你能找到解决这个问题的最佳方法,那就有一百万美元的奖金。实现Dijkstra算法或任何你最喜欢的搜索方法。可以从一个列表到下一个列表自动计算权重。除此之外,它的纯算法

我的算法知识有点有限。我不认为有任何特定于python的最佳方法可以实现这一点。李岩的评论是准确的。如果你能找到解决这个问题的最佳方法,那就有一百万美元的奖金。实现Dijkstra算法或任何你最喜欢的搜索方法。可以从一个列表到下一个列表自动计算权重。除此之外,它的纯算法

所有向量都有固定长度吗?对不起,误读了。然而,我不认为有任何可能避免循环——循环是O(n),任何形式的循环都会使其超过O(n)。但是(如果你不是在寻找旅行推销员的解决方案),这只是O(m*n),应该是相当快的。你能发布你的解决方案吗?你想避免“硬迭代”吗?@Rock Li我知道。但在python中,可能有一些有用的单行程序可以在图形层之间的排列中保持最小值。我正在寻求一种pythonic方法来实现这个特定的图形搜索。谢谢一行程序不能避免循环-很容易将循环转化为理解,但这根本不能改进算法-这就是你想要的吗?所有向量都有固定长度吗?很抱歉误读。然而,我不认为有任何可能避免循环——循环是O(n),任何形式的循环都会使其超过O(n)。但是(如果你不是在寻找旅行推销员的解决方案),这只是O(m*n),应该是相当快的。你能发布你的解决方案吗?你想避免“硬迭代”吗?@Rock Li我知道。但在python中,可能有一些有用的单行程序可以在图形层之间的排列中保持最小值。我正在寻求一种pythonic方法来实现这个特定的图形搜索。谢谢一行程序并没有避免循环-很容易将循环转化为理解,但这根本不会改进算法-这就是你想要的吗?为什么这篇文章会作为答案而不是评论发布?这不是旅行推销员的问题,OP正在寻找从第一个向量列表的一个元素到最后一个向量列表的一个元素的最短路径。他没有说他想全部拜访他们。这应该是一个评论。我在发布后意识到了这一点。为什么这是作为答案而不是评论发布的?这不是旅行推销员的问题,OP是寻找从第一个向量列表的一个元素到最后一个向量列表的一个元素的最短路径。他没有说他想全部拜访他们。这应该是一个评论。我在贴了之后才意识到这一点。