Codice (teoria dell'informazione): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m WND
Nessun oggetto della modifica
Riga 9:
 
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.
 
==Definizione formale==
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à==
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 [[codice correttore|correggere errori]], [[codice compressore|comprimere i messaggi]], essere [[codice lineare|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]].
 
==Esempi==
Line 21 ⟶ 32:
 
Con l'avvento dell'informatica e delle telecomunicazioni i codici hanno preso ulteriore piede per la [[trasmissione (telecomunicazioni)|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==
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à==
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 [[codice correttore|correggere errori]], [[codice compressore|comprimere i messaggi]], essere [[codice lineare|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==
Riga 41:
==Voci correlate==
* [[Codifica dei caratteri]]
* [[Codice sorgente]]
 
==Altri progetti==