Калькулятор расстояния Хэмминга

Подсчитайте различающиеся позиции в двух строках равной длины и сразу узнайте их позиционное сходство.

Сравнение двух последовательностей
Введите строки одинаковой длины. Буквы, цифры, пробелы и символы сравниваются точно.

О калькуляторе расстояния Хэмминга

Расстояние Хэмминга показывает, сколько соответствующих позиций различается в двух строках равной длины. Сравнивайте строки посимвольно и прибавляйте единицу при каждом несовпадении. Итоговое число — расстояние Хэмминга. Ноль означает, что строки идентичны, а расстояние, равное длине строки, — что различается каждая позиция. Понятие названо в честь математика Ричарда Хэмминга и лежит в основе теории кодирования и цифровой связи. Например, hello и hallo различаются только во второй позиции, поэтому расстояние равно единице. Двоичные строки 1011101 и 1001001 различаются в третьей и пятой позициях, давая расстояние два. Инструмент нумерует позиции с единицы: первый символ имеет позицию один, а не индекс ноль. Позиционное сходство также рассчитывается как число совпадающих позиций, делённое на общую длину, и выражается в процентах. Равная длина обязательна для стандартного определения. Расстояние Хэмминга описывает только замены: символ в некоторой позиции заменяется другим. Вставки и удаления не учитываются, поскольку они сдвигают последующие позиции и исключают прямое взаимно-однозначное сравнение. Для строк разной длины обычно лучше подходит редакционное расстояние, например расстояние Левенштейна. Поэтому калькулятор отклоняет неравные по длине входные данные, а не дополняет или обрезает их без предупреждения. Расстояние Хэмминга широко применяется в кодах обнаружения и исправления ошибок. Допустимые кодовые слова проектируются с определённым минимальным расстоянием между ними. Если принятое слово отличается от допустимого лишь несколькими битами, декодер может предположить, какие ошибки передачи произошли. При стандартных допущениях код с минимальным расстоянием три обнаруживает до двух битовых ошибок и исправляет одну. Эта мера также используется в теории информации, криптографии, кластеризации, компьютерном зрении и анализе биологических последовательностей. Сравнение хешей может подсчитывать разные биты для изучения лавинного эффекта, а двоичные векторы признаков эффективно сравниваются операцией исключающего ИЛИ. Калькулятор выполняет точное посимвольное сравнение с учётом регистра, поэтому заглавная A отличается от строчной a. Пробелы и знаки препинания тоже считаются символами. Используйте единый формат ввода и перед интерпретацией убедитесь, что последовательности представляют выровненные наблюдения.

Примеры расстояния Хэмминга

ПоследовательностиРасстояниеРазличающиеся позиции
hello и hallo1Различается только позиция 2.
1011101 и 10010012Различаются позиции 3 и 5.
karolin и kathrin3Различаются позиции 3, 4 и 5.

Как рассчитать расстояние Хэмминга

  1. Введите первую последовательность точно в том виде, в котором её нужно сравнить.
  2. Введите вторую последовательность с тем же числом символов.
  3. Нажмите «Рассчитать расстояние Хэмминга», чтобы подсчитать несовпадения.
  4. Просмотрите расстояние, процент сходства и несовпадающие позиции с нумерацией от единицы.

Частые вопросы о расстоянии Хэмминга

Что означает нулевое расстояние Хэмминга?

Каждый символ совпадает с символом на соответствующей позиции. Последовательности идентичны при точном сравнении с учётом регистра.

Могут ли строки быть разной длины?

Нет, стандартное расстояние Хэмминга определено для строк равной длины. Если нужно учитывать вставки и удаления, используйте расстояние Левенштейна или другую редакционную метрику.

Учитывается ли регистр?

Да, заглавные и строчные буквы считаются разными символами. Если анализ должен игнорировать регистр, приведите строки к единому регистру до ввода.

Как вычисляется процент сходства?

Калькулятор вычитает расстояние из длины последовательности и делит на эту длину. Умножение на 100 переводит долю совпадений в проценты.

Как расстояние Хэмминга используется для исправления ошибок?

Системы кодирования разделяют допустимые кодовые слова известными минимальными расстояниями. Приёмник может выбрать ближайшее допустимое слово, чтобы обнаружить или исправить ограниченное число изменённых битов.