science >> Wetenschap >  >> Fysica

Hoe Hamming-afstand te berekenen

Tegenwoordig omvat bijna elk aspect van het moderne leven de overdracht van digitale informatie, tussen individuele mensen of tussen individuele servers of systemen. Wanneer u uw bankrekeningen online beheert, uw sociale mediapagina's bijwerkt of zelfs een dvd afspeelt met een dvd-speler die op uw televisie is aangesloten, wordt informatie digitaal van de ene plaats naar de andere verplaatst, hetzij via een kabel of via een draadloos signaal. Om deze informatie van de ene naar de andere locatie te laten gaan, moet deze via computercode worden overgedragen. In deze "taal" wordt informatie verplaatst via een combinatie van enen en nullen, ook wel binaire code genoemd. Een fout in de binaire code die van het ene systeem naar het andere wordt verplaatst, kan betekenen dat informatie niet correct wordt overgebracht, wat voor de computergebruiker veel problemen kan veroorzaken. Hamming-afstand is een manier om te begrijpen hoe codes verschillen. Dit kan vervolgens worden gebruikt om fouten te corrigeren.

TL; DR (te lang; niet gelezen)

Hamming-afstand verwijst naar het aantal punten waarop twee regels binaire code verschillen, bepaald door eenvoudig het aantal punten op te tellen waar twee regels code verschillen. De afstand tussen de twee codewoorden 10101010 en 01011010 is bijvoorbeeld vier: hoewel dit misschien niet veel betekent zonder context, zou dit kunnen betekenen dat op vier punten fouten in de code ertoe hebben geleid dat een audiobestand niet correct wordt afgespeeld, de beelden op een televisie wordt onjuist weergegeven, of een kritieke computerfunctie wordt verkeerd geïnterpreteerd.
Wat is Hamming-afstand?

De Hamming-afstand van twee gegeven regels code is het aantal punten waarop de binaire codewaarden van de lijnen verschillend zijn (ervan uitgaande dat de twee coderegels dezelfde lengte hebben). Dit kan een beetje verwarrend zijn om te begrijpen bij de eerste passage, dus overweeg dit eenvoudige voorbeeld: een sms-bericht wordt van telefoon A naar telefoon B verzonden. Bij vertaling naar binaire code, de regel code die het sms-bericht op telefoon A vertegenwoordigt leest "101" en op telefoon B leest de coderegel "010." Als u deze lijnen vergelijkt, ziet u dat er verschillende symbolen in elk van de drie vlekken zijn. Dit kan een teken zijn dat het bericht niet correct is verzonden.
Hamming-afstand berekenen

In eenvoudige scenario's is het berekenen van Hamming-afstand eenvoudig, hoewel het belangrijk is te onthouden dat Hamming-afstand alleen kan worden berekend voor lijnen met dezelfde lengte. U telt eenvoudig het aantal punten op waar de lijnen verschillende waarden hebben. In het bovenstaande voorbeeld zou de Hamming-afstand drie zijn, omdat de lijnen verschillende waarden op drie plekken hebben. Het maken van deze vergelijking wordt echter meer tijdrovend naarmate de lijn met binaire code langer is. Overweeg een iets langer voorbeeld, met twee coderegels: 100110 en 110011. Deze coderegels bevatten beide zes informatiepunten. De waarden zijn verschillend op drie van die punten, dus de Hamming-afstand tussen deze twee lijnen is ook drie. Hamming-afstand berekenen met een grotere set gegevens wordt ingewikkelder en omvat het gebruik van ingewikkelde vergelijkingen en functies zoals d \u003d min {d (x, y): x, y∈C, x ≠ y}.
Waarom is Hamming-afstand nuttig ?

Buiten de context kan Hamming-afstand willekeurig lijken. Het is echter een belangrijke meting voor codeerders. Hamming-afstand kan codeerders helpen code te schrijven die fouten detecteert en zelfs zelf corrigeert. Het kan mensen ook helpen begrijpen hoe foutgevoelig een code is. De afstand van Hamming is vernoemd naar Richard Wesley Hamming, die de meting eind jaren veertig ontwikkelde toen hij bij Bell Telephone Laboratories werkte. Hoewel Hamming de viering van de innovatie heeft gebagatelliseerd, heeft de technologie-industrie dit opgemerkt en met groot effect gebruikt bij het oplossen van code. Bijna 50 jaar nadat Hamming de meting ontdekte, ontving hij de Eduard Rheim Award for Achievement in Technology van de Eduard Rheim Foundation in Duitsland in 1996. Daarnaast geeft de IEEE, een grote professionele organisatie in de technologiesector, de jaarlijkse Richard W. Hamming Medaille ter ere van hem.