Wykrywacz błędów

Kable szumią, ludzie robią literówki, kurz siada na płytach. Skąd komputer wie, że coś się popsuło? Dokłada do danych kilka dodatkowych cyfr, które pilnują reszty. Sprawdź, jak działa bit parzystości, sztuczka z kartami, PESEL i kod kreskowy.

1 · najprostszy strażnikBit parzystości

Litera to w komputerze 7 bitów. Nadawca dokłada ósmy bit tak, żeby jedynek było zawsze parzyście. Odbiorca liczy jedynki. Jeśli wyszło nieparzyście, coś się po drodze zepsuło. Klikaj bity u odbiorcy, żeby udawać zakłócenia.

Nadawca
Kabel
Odbiorca

A gdyby wysłać 1000 liter?

Każdy bit może się zepsuć z pewną szansą. Zobacz, ile błędów bit parzystości wyłapie, a ile przemknie niezauważonych.

Szansa na błąd bitu:
doszły bez błędu–
błąd wykryty ✓–
błąd niewykryty ✗–

2 · sztuczka magicznaKtóra karta jest odwrócona?

Ta sama sztuczka działa w pamięci komputerów i na dyskach. Bit parzystości w każdym wierszu i każdej kolumnie pozwala nie tylko zauważyć błąd, ale też wskazać, gdzie jest, i go naprawić.

  1. Ułóż karty 5 × 5 (możesz klikać, żeby je odwracać).
  2. Komputer dokłada karty kontrolne (żółta ramka), żeby w każdym wierszu i kolumnie było parzyście czarnych.
  3. Odwróć jedną dowolną kartę. Na lekcji: nauczyciel odwraca się tyłem!
  4. Komputer szuka odwróconej karty.

3 · suma kontrolnaPESEL: ostatnia cyfra pilnuje reszty

Numer PESEL ma 11 cyfr. Pierwsze 6 to data urodzenia, potem 4 cyfry porządkowe (przedostatnia mówi o płci), a ostatnia to cyfra kontrolna. Wystarczy pomylić się w jednej cyfrze, a urząd od razu zobaczy, że numer jest zły.

⚠️ Nie wpisuj tu prawdziwego numeru PESEL: ani swojego, ani cudzego. Aplikacja niczego nie wysyła, ale PESEL to dana osobowa, którą oszuści mogą wykorzystać. Używaj przycisku „Wymyśl PESEL”: daje numery osób urodzonych w XXIII wieku, więc na pewno nikogo nie ma.

Wiersze: cyfra · waga · iloczyn · ostatnia cyfra

4 · w każdym sklepieKod kreskowy EAN-13

Pod paskami na opakowaniu jest 13 cyfr. Ostatnia to znowu cyfra kontrolna, tym razem z wagami 1 i 3 na zmianę. Gdy kasa źle odczyta jeden pasek, suma się nie zgodzi i kasa zapiszczy, żeby zeskanować jeszcze raz.

Wpisz 12 cyfr, a aplikacja doliczy trzynastą, albo 13 cyfr, żeby sprawdzić cały kod.

Wiersze: cyfra · waga · iloczyn

5 · wszędzie wokółGdzie jeszcze są strażnicy?

Zielone tylko wykrywają błąd. Niebieskie potrafią go też naprawić.

Numer karty płatniczejwykrywa · algorytm Luhna

Ostatnia cyfra karty to cyfra kontrolna. Sklep internetowy od razu wie, że wpisałeś numer z literówką.

Numer konta (IBAN)wykrywa · dwie cyfry kontrolne

Dwie cyfry po „PL” pilnują całego numeru. Bank nie wyśle przelewu na konto z literówką.

ISBN książkiwykrywa · jak EAN-13

Kod kreskowy książki zaczyna się od 978 lub 979 i ma taką samą cyfrę kontrolną jak inne produkty.

Paczki w interneciewykrywa · suma CRC

Każda porcja danych w sieci ma sumę kontrolną. Uszkodzona paczka jest wyrzucana i wysyłana jeszcze raz.

Kod QRnaprawia · Reed-Solomon

Kod QR działa nawet z logo na środku, bo może odtworzyć do 30% zniszczonych danych.

Pamięć ECC w serwerachnaprawia · kod Hamminga

Działa jak sztuczka z kartami: znajduje zepsuty bit i od razu go odwraca.

Płyty, dyski, sondy kosmicznenaprawia

Porysowana płyta gra dalej, a zdjęcia z sond kosmicznych docierają przez miliardy kilometrów szumu.

Sprawdź się

Punkty 0 · Seria 0 · Rekord 0

Jak komputer wykrywa błędy?

Do danych dokłada się trochę nadmiarowych informacji, obliczonych z pozostałych danych: bit parzystości, cyfrę kontrolną albo sumę kontrolną. Odbiorca liczy to samo jeszcze raz. Jeśli wynik się nie zgadza, dane zostały uszkodzone. To jest wykrywanie błędów.

Gdy dodatkowych informacji jest więcej i są sprytnie ułożone, da się nie tylko zauważyć błąd, ale też wskazać jego miejsce i go poprawić. To jest korekcja błędów, tak jak w sztuczce z kartami, w kodzie QR czy w pamięci ECC.

Cyfra kontrolna PESEL krok po kroku

1. Pomnóż 10 pierwszych cyfr przez wagi 1, 3, 7, 9, 1, 3, 7, 9, 1, 3. 2. Dodaj wyniki. 3. Weź ostatnią cyfrę sumy. 4. Cyfra kontrolna to 10 minus ta cyfra (a gdy ostatnia cyfra sumy to 0, cyfra kontrolna też jest 0). Wagi 1, 3, 7 i 9 nie mają wspólnych dzielników z 10, dlatego każda pomyłka w jednej cyfrze zmienia wynik.

Historia w pigułce

  1. 1950Richard Hamming z Bell Labs publikuje kody, które same poprawiają błędy. Wymyślił je, bo komputer przerywał mu obliczenia w weekendy przy każdym błędzie.
  2. 1954Hans Peter Luhn z IBM zgłasza patent na cyfrę kontrolną, której do dziś używają karty płatnicze.
  3. 1974W amerykańskim sklepie pierwszy raz skanuje się kod kreskowy przy kasie: na opakowaniu gumy do żucia.
  4. 1977Powstaje europejski kod EAN. Polska dostaje prefiks 590 w 1990 roku.
  5. 1979W Polsce rusza system PESEL z cyfrą kontrolną na końcu numeru.

Najczęstsze pytania o wykrywanie błędów

Czym jest bit parzystości?

To dodatkowy bit dopisany do danych tak, żeby liczba jedynek była parzysta. Jeśli odbiorca policzy nieparzystą liczbę jedynek, wie, że wystąpił błąd. Bit parzystości nie wykryje jednak dwóch błędów naraz, bo wtedy liczba jedynek znów jest parzysta.

Jak obliczyć cyfrę kontrolną numeru PESEL?

Pomnóż pierwsze 10 cyfr przez wagi 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 i dodaj wyniki. Weź ostatnią cyfrę sumy i odejmij ją od 10. Jeśli ostatnia cyfra sumy to 0, cyfra kontrolna też wynosi 0.

Jak sprawdzić, czy kod kreskowy EAN-13 jest poprawny?

Pomnóż cyfry na pozycjach nieparzystych przez 1, a na parzystych przez 3, licząc wszystkie 13 cyfr, i dodaj wyniki. Kod jest poprawny, jeśli suma dzieli się przez 10.

Czy kod kreskowy zaczynający się od 590 oznacza produkt z Polski?

Niekoniecznie. Prefiks 590 oznacza, że numer nadała polska organizacja GS1, czyli firma jest w niej zarejestrowana. Sam produkt może być wyprodukowany w innym kraju.

Czym różni się wykrywanie błędów od ich korekcji?

Wykrywanie mówi tylko, że coś jest nie tak, i wtedy trzeba poprosić o dane jeszcze raz. Korekcja wskazuje, gdzie jest błąd, i sama go naprawia. Do korekcji potrzeba więcej dodatkowych danych, na przykład parzystości w wierszach i kolumnach.

Czy cyfra kontrolna chroni przed oszustwem?

Nie. Chroni przed przypadkowymi pomyłkami, ale każdy może obliczyć poprawną cyfrę kontrolną dla zmyślonego numeru. Przed celowym fałszerstwem chronią podpisy cyfrowe i inne metody kryptografii.