Codice (teoria dell'informazione)

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Codifica)

In tutte le attività nelle quali si trattano informazioni, come nelle telecomunicazioni (e di conseguenza anche nell'elettronica e nell'informatica), nell'organizzazione delle biblioteche e in molte attività gestionali, per codice si intende una modalità di rappresentazione, mediante un opportuno insieme di stringhe (o di simboli), di un insieme di oggetti materiali o un insieme di informazioni tendenzialmente più complesse delle stringhe (o dei simboli) che le codificano.

Significati[modifica | modifica wikitesto]

Il termine codice viene usato con due significati:

  • procedimento di codifica, riguarda la modalità seguita per assegnare univocamente ad ogni elemento dell'insieme da rappresentare una stringa che lo rappresenta;
  • insieme delle codifiche, denota l'insieme delle stringhe rappresentative (questo è il significato utilizzato nel capitolo della matematica chiamato teoria dei codici (v. 94-XX).

Un codice si dice efficiente quando utilizza un numero di simboli strettamente necessario per codificare l'informazione, mentre all'opposto si dice ridondante quando usa un numero di simboli abbondanti, e quindi più di quelli necessari, ma utili per semplificare la generazione e la interpretazione delle informazioni.

Esempi[modifica | modifica wikitesto]

Codice Morse, caratteri principali

Un esempio tradizionale di codice è il Morse, appartenente alla codifica dei caratteri ed utilizzato nei primi tempi della telegrafia (1840): in cui ad ogni lettera dell'alfabeto inglese (l'insieme di informazioni da rappresentare) viene assegnata una sequenza di punti e linee (gli elementi dell'alfabeto usato per la codifica).

Altre esempi di codifica sono la codifica digitale di un segnale analogico ovvero la conversione analogico-digitale, la codifica di sorgente e la codifica di canale.

Utilità[modifica | modifica wikitesto]

L'univocità della rappresentazione gioca un ruolo cruciale in tutte le applicazioni della codifica (il procedimento di trasportare gli elementi dalla rappresentazione di partenza a quella definita dal codice) e di decodifica (l'inverso). I codici risultano utili quando la comunicazione verbale normale non è sufficiente o non è praticabile. Con un'opportuna codifica è possibile descrivere realtà ben più complesse del lessico del linguaggio naturale, come ad esempio un'immagine o una serie di suoni.

Con l'avvento dell'informatica e delle telecomunicazioni i codici hanno preso ulteriore piede per la trasmissione affidabile e la compressione dati, anche se già all'epoca del telegrafo venivano usate delle parole in codice per trasmettere frasi di uso particolarmente frequente, ad esempio:

  • BYOXO (Are you trying to weasel out of our deal? - Stai cercando di uscire dal nostro accordo?)
  • LIOUY (Why do you not answer my question? - Come mai non rispondi alla mia domanda?)
  • AYYLU (Not clearly coded, repeat more clearly. - Codificato male, per favore ripetere più chiaramente).

Definizione formale[modifica | modifica wikitesto]

Sia S un insieme finito di elementi detto alfabeto del codice, come ad esempio le due facce con una moneta (T, C). Un insieme A di sequenze costruite giustapponendo uno o più elementi di S è un codice. Ogni elemento di A è una parola del codice e il numero di elementi dell'alfabeto usati per costruirla ne indica la lunghezza. Perché un codice abbia utilità e senso, tuttavia, dev'essere associato con qualche meccanismo controllabile (formula, algoritmo, elenco ben definito, ...) a un insieme di possibili dati che deve rappresentare fedelmente e dunque averne la stessa cardinalità. Per esempio, l'insieme {T, C, TC, TT} è un codice e può essere usato come codifica dei numeri 0, 1, 2, 3.

Proprietà[modifica | modifica wikitesto]

Giustapponendo più parole del codice si ha un messaggio costruito su tal codice, come ad esempio TTC o TCTC. Dipendentemente dal fatto che un qualsiasi messaggio possa essere scomposto in modo che esista un'unica serie di parole del codice che la compongano il codice si dice univocamente decodificabile o meno. Il codice di cui sopra non è univocamente decodificabile poiché il messaggio TT potrebbe essere scomposto come la ripetizione 2 volte della parola T o la parola stessa del codice TT. Al contrario, {C, TC, TTC, TTTC} è un codice univocamente decodificabile. Un codice in cui tutte le parole hanno la stessa lunghezza si dice codice a blocchi o in caso contrario codice a lunghezza variabile.

Altre proprietà di un codice sono la capacità di correggere errori, comprimere i messaggi, essere lineari o meno, essere utilizzabili in crittografia o essere istantanei.

Lo studio dei codici in maniera sistematica come elementi fondamentali per la teoria dell'informazione e della trasmissione è nato nel 1948 con il lavoro di Claude Shannon.

Codice di Gödel[modifica | modifica wikitesto]

In matematica, un codice di Gödel è alla base della dimostrazione del Teorema di incompletezza di Gödel. In tal caso, l'idea consiste nel trasformare notazione matematica in un numero naturale (numero di Gödel).

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]