Фокусное расстояние
- 1 year ago
- 0
- 0
Расстоя́ние Хэ́мминга (кодовое расстояние) — число позиций, в которых соответствующие символы двух слов одинаковой длины различны . В более общем случае расстояние Хэмминга применяется для строк одинаковой длины любых q -ичных алфавитов и служит метрикой различия (функцией, определяющей расстояние в метрическом пространстве ) объектов одинаковой размерности.
Первоначально метрика была сформулирована Ричардом Хэммингом во время его работы в Bell Labs для определения меры различия между кодовыми комбинациями (двоичными векторами ) в векторном пространстве кодовых последовательностей: в этом случае расстоянием Хэмминга между двумя двоичными последовательностями (векторами) и длины называется число позиций, в которых они различны. В такой формулировке расстояние Хэмминга вошло в словарь алгоритмов и структур данных национального института стандартов и технологий США ( англ. NIST Dictionary of Algorithms and Data Structures ). Расстояние Хэмминга является частным случаем метрики Минковского (при соответствующем определении вычитания):
Два слова, расстояние Хэмминга между которыми равно 1, называют соседними.
В некоторых системах счисления, например, в коде Грея , целые кодированные числа, различающиеся на 1, имеют расстояние Хэмминга равное 1. Говорят, что такие числа являются «соседними».
Соседнее кодирование важно при проектировании логических устройств, где необходимо исключить логические гонки .
def hamming_distance(string1, string2):
if (len(string1) != len(string2)):
raise Exception('Strings must be of equal length.')
dist_counter = 0
for n in range(len(string1)):
if string1[n] != string2[n]:
dist_counter += 1
return dist_counter
Множество слов равной длины образуют метрическое пространство , где для каждой пары элементов пространства определено число — расстояние Хэмминга удовлетворяющее аксиомам метрики:
Расстояние Хэмминга всегда:
Для нуклеиновых кислот ( ДНК и РНК ) возможность гибридизации двух полинуклеотидных цепей с образованием вторичной структуры — двойной спирали — зависит от степени комплементарности нуклеотидных последовательностей обеих цепей. При увеличении расстояния Хэмминга количество водородных связей , образованных комплементарными парами оснований уменьшается и, соответственно, уменьшается стабильность двойной цепи. Начиная с некоторого граничного расстояния Хэмминга гибридизация становится невозможной.
При эволюционном расхождении гомологичных ДНК-последовательностей расстояние Хэмминга является мерой, по которой можно судить о времени, прошедшем с момента расхождения гомологов, например, о длительности эволюционного отрезка, разделяющего гены-гомологи и ген-предшественник.
Алгоритм используется в телекоммуникациях для подсчета количества неправильных бит в слове фиксированной длины для оценки ошибки и поэтому иногда называется расстоянием сигналов (англ. signal distance).