我必须基于彼此之间的相似性(由系数表示)对元素序列进行重新排序,以使每个元素与其每个相邻元素最相似。我必须找到一种算法而不是代码。
示例包含10个元素,并为以下每对元素计算出相似系数:
可以在以下位置找到excel文件:https://1drv.ms/x/s!AtmZN4-kjgrPms99fqgaDwAS_F4uYw
我尝试过的:
这是结果:
结果还不错。我看到的缺点之一是,以与0.99> 0.01相同的方式考虑0.99> 0.98。
我考虑过的第二个选择是最大化所有邻居之间的系数之和,但真的不知道从哪里开始。尤其是当元素明显超过10个时。而且,这可能会导致更“平坦”的顺序,尽管总体上具有更好的相似性,但某些极端相似的元素却可以彼此远离放置。
对于这类问题真的很陌生,我很确定这对于现有解决方案来说应该是一个相当标准的问题。您能指出那些吗?
谢谢!
答案 0 :(得分:0)
经过研究,我发现我的问题可以被视为“旅行商问题”(TSP)。更多内容:https://en.wikipedia.org/wiki/Travelling_salesman_problem
要应用它,您可以在示例中将“元素”视为TSP中的“城市”,并将(1-相似系数)视为“距离”。