Днес почти всеки аспект на съвременния живот включва трансфер на цифрова информация или между отделни хора, или между отделни сървъри или системи. Когато управлявате банковите си сметки онлайн, актуализирайте страниците си в социалните медии или дори пуснете DVD със свързан DVD плейър към вашия телевизор информацията се премества от едно място на друго цифрово, или чрез кабел, или чрез безжична връзка сигнал. За да може тази информация да преминава от едно място на друго, тя трябва да бъде прехвърлена чрез компютърен код. В този „език“ информацията се движи чрез комбинация от 1 и 0, известна като двоичен код. Грешка в прехвърлянето на двоичен код от една система в друга може да означава, че информацията не се предава правилно, което може да причини много проблеми за потребителя на компютъра. Разстоянието на Хаминг е начин да се разбере как се различават кодовете. След това това може да се използва за коригиране на грешки.
TL; DR (твърде дълго; Не прочетох)
Разстоянието на Хаминг се отнася до броя точки, в които се различават два реда двоичен код, определени чрез просто събиране на броя на петна, където се различават два реда код. Например разстоянието между двете кодови думи 10101010 и 01011010 е четири: макар това да не означава много без контекст, това може да означава, че в четири точки, грешките в кода са довели до невъзможност за възпроизвеждане на звуков файл, визуализациите на телевизора се показват неправилно или критична компютърна функция е погрешно тълкуван.
Какво е разстоянието на Хаминг?
Разстоянието на Хаминг на два дадени реда код е броят точки, в които стойностите на двоичния код на редовете са различни (ако приемем, че двата реда код са с еднаква дължина). Това може да е малко объркващо за разбиране при първо преминаване, така че помислете за този прост пример: Текстово съобщение с една дума се изпраща от телефон А на телефон Б. Когато се превежда в двоичен код, редът на кода, представляващ текстовото съобщение на телефон A, гласи "101", а на телефон B - ред с код гласи "010". Сравнявайки тези редове, можете да видите, че във всяко от трите петна има различни символи. Това може да е знак, че съобщението не е изпратено правилно.
Как да изчислим разстоянието на Хаминг
В прости сценарии изчисляването на разстоянието на Хаминг е лесно, въпреки че е важно да запомните, че разстоянието на Хаминг може да се изчисли само за линии с еднаква дължина. Просто събирате броя на петна, където линиите имат различни стойности. В горния пример разстоянието на Хаминг ще бъде три, тъй като линиите имат различни стойности на три места. Извършването на това сравнение обаче отнема повече време, колкото по-дълъг е редът на двоичния код. Помислете за малко по-дълъг пример с два реда код: 100110 и 110011. Тези два реда код съдържат и шест информационни точки. Стойностите са различни в три от тези точки, така че разстоянието на Хаминг между тези две линии също е три. Изчисляването на разстоянието на Хаминг с по-голям набор от данни става по-сложно и включва използването на сложни уравнения и функции като d = min {d (x, y): x, y∈C, x ≠ y}.
Защо разстоянието Хаминг е полезно?
Извън контекста разстоянието на Хаминг може да изглежда произволно. Това обаче е важно измерване за кодерите. Разстоянието на Хаминг може да помогне на програмистите да напишат код, който открива грешки и дори коригира тези грешки самостоятелно. Също така може да помогне на хората да разберат доколко кодът е склонен към грешки. Разстоянието на Хаминг е кръстено на Ричард Уесли Хаминг, който разработва измерването в края на 40-те години, когато работи в Bell Telephone Laboratories. Въпреки че Хаминг омаловажи празника на иновацията, технологичната индустрия забеляза и го използва с голям ефект при отстраняване на неизправности. Почти 50 години след като Хаминг открива измерването, той получава наградата Едуард Рхайм за постижения в технологиите от фондацията на Едуард Рхайм в Германия през 1996 г. В допълнение, I.E.E.E., голяма професионална организация в технологичния сектор, издава годишния Richard W. Медал Хаминг в негова чест.