Swiffy Output
Quan un lector de codi de barres llegeix els nombres que codifiquen un producte sap si la lectura que ha fet és correcta o no perquè realitza uns càlculs determinats amb les primeres dotze xifres per obtenir-ne la tretzena. Si coincideixen la lectura està ben feta. Per altra banda, les targetes de crèdit o el números de compte corrent tenen també uns dígits de control que s'obtenen a partir de les altres xifres del nombre. Serveixen per autentificar-los i eliminar possibles errors o falsificacions. Podeu llegir més sobre els càlculs que es fan en cada cas al web del
Calaix +ie. Una cosa és clara: aquests codis detecten un error, però no el corregeixen.
En una transmissió "digital", com la TDT o la telefonia mòbil, és molt possible que les interferències modifiquin les seqüències de uns i zeros de la transmissió. No en parlem de la connexió telefònica d'internet. Ens interessa "netejar" aquestes interferències i reconstruir el codi original si ha estat alterat: hem de detectar l'error i corregir-lo. Si, per exemple, enviem duplicada una seqüència, comparem les dues versions i són diferents, no sabrem ni quina és la bona ni si les dues són incorrectes. Ens pot passar el mateix si tripliquem una seqüència. Dues poden haver "patit" la mateixa interferència i ser correcta la diferent. O poden ser les tres incorrectes. Per tant, cal fer un altre "invent" i que sigui més econòmic en termes de transmissió. I l'invent ja està fet. Es coneixen com a
codis de detecció i correcció d'errors. Bàsicament consisteixen en afegir una cadena de bites a la seqüència origen que, amb un algoritme concret, comprovi el missatge i el modifiqui si no s'ajusta al que "tocaria".
El 22 de setembre de 2015, en una conferència realitzada al
MMACA, el professor
Jin Akiyama va presentar un petit joc matemàtic que il·lustra perfectament un d'aquests codis correctors. També l'explica
Clara Grima a una de les seves "mateaventures" (
Adivinando en 55 segundos). L'únic que afegiré de nou serà un model interactiu ampliat del joc perquè podeu jugar i algunes explicacions lleugerament diferents.
|
Jin Akiyama |
El joc matemàtic és una modificació del força conegut conjunt de targetes binàries per endevinar un nombre. Bàsicament la versió clàssica del joc es basa en que qualsevol nombre es pot descompondre en potències de 2. Així si vull endevinar nombres entre 1 i 31 faré el següent:
- Fabricaré 5 targetes amb 16 caselles.
- Encapçalaré les targetes amb els nombres 1, 2, 4, 8 i 16
- Descompondré els nombres de l'1 al 31 en sumes de potències de 2 (1, 2, 4, 8 i 16). Per exemple el 6=2+4,13=1+2+8, 23=1+2+4+16...
- Col·locaré els nombres de l'1 al 31 a les targetes encapçalades pels nombres que intervenen en la seva descomposició. El 6 estarà a les targetes de 2 i el 4, el 13 a la de l'1, el 2 i el 8, etc.
- Amb les meves 5 targetes li demanaré a alguna persona que pensi un número de l'1 al 31 i que m'indiqui a quines targetes està el nombre pensat. Si, per exemple, m'indica les targetes encapçalades pel 2, el 8 i el 16, per endevinar el nombre pensat només haig de sumar mentalment aquests tres nombres 2+8+16=26.
Podeu veure un exemple interactiu d'aquestes targetes a la pàgina
Càlculus, així com descobrir, amb més detall, com es construeixen.
Però...
... què passa si ens diuen una mentida?