Ответ 1
Формула евклидова расстояния находит расстояние между любыми двумя точками в евклидовом пространстве.
Точка в евклидовом пространстве также называется евклидовым вектором.
Вы можете использовать формулу Евклидова расстояния для вычисления расстояния между векторами двух разных длин.
Для векторов различной размерности применяется тот же принцип.
Предположим, что вектор более низкой размерности также существует в пространстве высших мер. Затем вы можете установить все недостающие компоненты в векторе нижнего измерения равным 0, чтобы оба вектора имели одинаковую размерность. Затем вы использовали бы любую из упомянутых формул расстояния для вычисления расстояния.
Например, рассмотрим двумерный вектор A
в R²
с компонентами (a1,a2)
и трехмерный вектор B
в R³
с компонентами (b1,b2,b3)
.
Чтобы выразить A
в R³
, вы должны установить его компоненты в (a1,a2,0)
. Тогда евклидово расстояние d
между A
и B
можно найти по формуле:
d² = (b1 - a1)² + (b2 - a2)² + (b3 - 0)²
d = sqrt((b1 - a1)² + (b2 - a2)² + b3²)
В вашем конкретном случае компоненты будут либо 0
, либо 1
, поэтому все различия будут -1
, 0
или 1
. Квадратные различия будут тогда 0
или 1
.
Если вы используете целые числа или отдельные биты для представления компонентов, вы можете использовать простые побитовые операции вместо некоторой арифметики (^
означает XOR
или exclusive or
):
d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) ^ a(n-1) + b(n) ^ a(n))
И мы полагаем, что конечными компонентами A
являются 0
, поэтому окончательная формула будет:
d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) + b(n))