Як розрахувати відстань Хеммінга

Сьогодні майже кожен аспект сучасного життя передбачає передачу цифрової інформації або між окремими людьми, або між окремими серверами чи системами. Коли ви керуєте своїми банківськими рахунками в Інтернеті, оновлюйте сторінки у соціальних мережах або навіть відтворюйте DVD із підключеним DVD-програвачем до телевізора інформація переміщується з одного місця в інше цифровим способом, або через шнур, або через бездротову мережу сигналу. Щоб ця інформація переходила з одного місця в інше, її потрібно передати за допомогою комп'ютерного коду. У цій "мові" інформація рухається за допомогою комбінації 1 і 0, відомих як двійковий код. Помилка при переміщенні двійкового коду з однієї системи в іншу може означати, що інформація передається неправильно, що може спричинити багато проблем для користувача комп'ютера. Відстань Хеммінга - це спосіб зрозуміти, як коди відрізняються. Потім це можна використовувати для виправлення помилок.

TL; ДР (занадто довгий; Не читав)

Відстань Хеммінга відноситься до кількості точок, в яких два рядки двійкового коду відрізняються, що визначається простим складанням кількості плям, де два рядки коду відрізняються. Наприклад, відстань між двома кодовими словами 10101010 і 01011010 дорівнює чотирьом: хоча це може означати не багато без контексту, це може означати, що в чотирьох точках, помилки в коді призвели до того, що звуковий файл не відтворюється належним чином, візуальні зображення на телевізорі відображаються неправильно або критична функція комп'ютера неправильно витлумачено.

Що таке відстань Хеммінга?

Відстань Хеммінга двох заданих рядків коду - це кількість точок, в яких значення двійкового коду рядків відрізняються (припускаючи, що два рядки коду мають однакову довжину). Це може дещо заплутати для розуміння на першому етапі, тому розглянемо цей простий приклад: текстове повідомлення з одного слова надсилається з телефону А на телефон В. При перекладі в двійковий код рядок коду, що представляє текстове повідомлення на телефоні A, читає "101", а на телефоні B - рядок коду читає "010". Порівнюючи ці рядки, ви бачите, що в кожному з трьох місць є різні символи. Це може бути ознакою того, що повідомлення було надіслано неправильно.

Як розрахувати відстань Хеммінга

У простих сценаріях розрахувати відстань Хеммінга легко, хоча важливо пам’ятати, що відстань Хеммінга можна обчислити лише для ліній однакової довжини. Ви просто складаєте кількість плям, де рядки мають різні значення. У наведеному вище прикладі відстань Хеммінга дорівнювала б трьом, оскільки лінії мають різні значення в трьох точках. Здійснення цього порівняння стає більш трудомістким, проте довший рядок двійкового коду. Розглянемо трохи довший приклад із двома рядками коду: 100110 та 110011. Ці рядки коду містять шість інформаційних точок. Значення в трьох з цих точок різні, тому відстань Хеммінга між цими двома лініями також дорівнює трьом. Обчислення відстані Хеммінга з більшим набором даних ускладнюється і передбачає використання складних рівнянь та функцій, таких як d = min {d (x, y): x, y∈C, x ≠ y}.

Чому дистанція Хеммінга корисна?

Поза контекстом дистанція Хеммінга може здатися довільною. Однак це важливе вимірювання для кодерів. Відстань Хеммінга може допомогти кодерам написати код, який виявляє помилки і навіть самостійно виправляє ці помилки. Це також може допомогти людям зрозуміти, наскільки код схильний до помилок. Відстань Хеммінга названа на честь Річарда Уеслі Хеммінга, який розробив вимірювання наприкінці 1940-х років, коли працював у лабораторіях Bell Telephone. Хоча Хеммінг применшив святкування інновації, технологічна індустрія помітила це і використала це з великим ефектом при усуненні коду. Приблизно через 50 років після того, як Хаммінг виявив вимірювання, він отримав нагороду Едуарда Ргейма за досягнення в галузі технологій Фондом Едуарда Ргейма, Німеччина, в 1996 році. Крім того, I.E.E.E., велика професійна організація в технологічному секторі, видає щорічний Річард В. Медаль Хеммінга на його честь.

  • Поділитися
instagram viewer