Элементы a-d должны быть в паре с элементами 0-3 таким образом, чтобы общее расстояние между всеми парами элементов было минимальным. Например, эта матрица может описывать расстояние между каждым элементом в первой группе и элементом в его группе партнеров:
[[2, 2, 4, 9],
[4, 7, 1, 1],
[3, 3, 8, 3],
[6, 1, 7, 8]]
Предполагается, что это означает, что расстояние «a» -> «0» равно 2, «a» -> «1» равно 2, «a» -> «2» равно 4, «a» - > «3» равно 9. Из «b» -> «0» это 4 и так далее.
Существует ли алгоритм, который может сопоставить каждую букву с цифрой, чтобы общее расстояние было минимальным? E.g.:
[('a', 1), ('b', 3), ('c', 0), ('d', 2)]
Было бы легальным решением с общим расстоянием: 2 + 1 + 3 + 7 = 13. Грубое принуждение и проверка всех возможных комбинаций невозможны, так как в реальном мире есть группы с более чем четырьмя предметами.