Есть одномерный эталонный массив в котором содержатся элементы в правильном порядке. Нужно его сравнить с другим массивом, где порядок элементов может отличаться. И выразить это расхождение нужно какой-то численной метрикой.
Есть ли какие-то готовые решения по этому поводу?
Если содержимое массивов одинаковое, и отличается только перестановками, то можно применить алгоритм Вагнера-Фишера, или Хишберга если всем операциям кроме транспозиции цену задрать.
Можно попробовать вычислить разницу между индексами одного и того же элемента в двух массивах и найти сумму этих разниц для всех элементов. Разницу брать по модулю, чтобы плюсы/минусы не влияли на результат.
Если в массивах некоторые элементы дублируются, то нужно запоминать индексы уже проверенных элементов чтобы не сравнивать их повторно.
первыйМассив.зип(второйМассив).мап(абс(первыйЭлемент-второйЭлемент)).сумм
П. С.
если не понятно - то это сумма разностей элементов, по модулю.
если элементы не числа, то вам самостоятельно нужно придумать метрику для сравнения элементов.
Это не совсем то. В массивах одинаковые числа и мне их не нужно сравнивать. Мне важно сравнить именно их порядок по сравнению с эталонным массивом. А модуль разности подошел бы для упорядоченного массива, может быть.