Rappresentazione dei dati e codifica delle informazioni 25/03/2017 Rappresentazione dei dati e codifica delle informazioni Prima parte
Argomenti trattati Informazione Codifica Rappresentazione dei numeri 25/03/2017 Argomenti trattati Informazione Codifica Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni Codifica a lunghezza variabile informazione 10 codifica, bit 15 rappresentazione posizionale 15 conversioni di base 10 basi esadecimale/ottale 10 rappresentazione dei carateri 10 codifica a lunghezza variabile 10 errori e parità 10 TOTALE 50+40
Informazione Il numero di telefono di casa di Andrea è 081 769900 mi dai il numero di Andrea? 081769900 Il numero di telefono di casa di Andrea è 081 769900
il numero di telefono di casa di Andrea Informazione Attributo (significato): il numero di telefono di casa di Andrea Valore: 081769900 Elemento spesso implicito: l’insieme a cui appartiene il valore (Tipo) sequenza di cifre Convenzione per la manipolazione del valore: codifica
Informazione, dato e codifica attributo valore tipo codifica decodifica dato
Codifica delle informazioni 25/03/2017 Codifica delle informazioni Rappresentazione di informazioni appartenenti a un insieme finito D Funzione iniettiva dall’insieme D (dominio) a un insieme direttamente manipolabile R (codominio) c : D R R D La funzione c è detta codifica o rappresentazione delle informazioni appartenenti a D Notazioni Cardinalità Insistere sulla natura finita di R Discretizzazione di insiemi continui Funzione iniettiva: manda elementi distinti di D in elementi distinti di R
Esempi di codifica Autostrada Strada statale Strada provinciale Ferrovia R (codice) D (nformazioni) 262 103 Come rappresentazione si può usare una sequenza (stringa) di m valori (simboli) appartenenti a un insieme R: R m D
Codifica delle informazioni Codifica a lunghezza fissa Codice fiscale Codice di avviamento postale Codici a lunghezza variabile Alfabeto morse In generale poi la codifica può essere diretta o indiretta Parole
Codifica a lunghezza fissa Per codificare un dato di cardinalità N mediante un alfabeto di k simboli è necessaria una stringa di lunghezza minima m, con: Km >=N m={[logk N]} l>=m l lunghezza del codice
Esempio di codifica a lunghezza fissa Codificare i giorni della settimana usando l’insieme [Ω,∆,ф] m={[log3 7]}=2 32 = 9
Esempio di codifica a lunghezza fissa Lunedì ф ф Martedì Ф ∆ Mercoledì Ф Ω Giovedì ∆ ∆ Venerdì ∆ ф Sabato ∆ Ω Domenica Ω Ω Ω ф Ω ∆
Codifica in bit Il dato a cardinalità minima è quello di valore 2 (per un dato di cardinalità 1 non ho scelta e dunque non ho informazione !): tale dato è detto bit. Se utilizzo il bit per codificare l’informazione ottengo la codifica binaria, che è la più “semplice” possibile.
Misura dell’informazione Il numero di bit necessari a codificare un dato di cardinalità N, e cioè la quantità m: è detta misura della quantità di informazione contenuta nel dato. m={[log2 N]}
Binary Digit (bit) D = 4 m = 2 R { 0 , 1 } 25/03/2017 Binary Digit (bit) R { 0 , 1 } Può rappresentare qualunque informazione a due valori (D = 2 ) Una stringa di m bit può assumere 2m valori diversi Esempio: D = 4 m = 2
Codifica con stringhe di bit 25/03/2017 Codifica con stringhe di bit Esempio: codifica che non usa 111 codifica che non usa 011 D= 7 log2D = 3 23 = 8 Successioni, sequenze, liste, stringhe Combinazioni con ripetizione di h oggetti in m posti Notazioni, funzioni floor, ceiling
Significato di un codice Un codice non ha significato di per sé Il significato è attribuito dalla codifica (cioè dalla funzione c) L’associazione stringa-codifica è data dall’operatore umano Ad esempio, la stringa 1000 0101 rappresenta: il numero naturale 133 in binario naturale il numero naturale -123 in complemento a 2 il carattere à in codice ASCII esteso
Codifica indiretta Nella codifica indiretta, oltre all’insieme iniziale T dei dati da codificare e a quello B scelto per effettuare la codifica, si introduce un ulteriore insieme J per effettuare una codifica intermedia. Con la codifica indiretta la lunghezza della stringa rappresentativa di ciascun valore originario è in generale maggiore di quella relativa ad una codifica diretta.
Codifica indiretta Esempi: Le parole di un dizionario I numeri ! T=(x1,x2,…,x20) alfabeto origine J=(a,b,c) alfabeto intermedio B=(0,1) alfabeto destinazione X16 bac 011100 Le parole di un dizionario I numeri !
Codifica a lunghezza variabile 25/03/2017 Codifica a lunghezza variabile Data la rappresentazione c : D R, l’insieme R può essere costituito da stringhe di lunghezza differente Esempio (stringhe di cifre da 0 a 3): Esempio: i numeri di telefono Le istruzioni in linguaggio macchina Esemplificare mettendo in evidenza il ruolo del prefisso e sottolineando I trade-off possibili Il risparmio di tempo dipende dal tipo di operazioni Algoritmi di codifica/decodifica più complessi
Codifica a lunghezza variabile 25/03/2017 Codifica a lunghezza variabile La corrispondenza viene decisa tenendo conto della frequenza con cui vengono usati i valori in D Vantaggi: Risparmio di spazio nella memorizzazione Risparmio di tempo nella trasmissione Esempio: i numeri di telefono Le istruzioni in linguaggio macchina Esemplificare mettendo in evidenza il ruolo del prefisso e sottolineando I trade-off possibili Il risparmio di tempo dipende dal tipo di operazioni Algoritmi di codifica/decodifica più complessi