• Non ci sono risultati.

Rappresentazione e Codifica dell’Informazione

N/A
N/A
Protected

Academic year: 2021

Condividi "Rappresentazione e Codifica dell’Informazione"

Copied!
15
0
0

Testo completo

(1)

Elementi di Informatica 32 Prof. G. A. Di Lucca - Univ. del Sannio

… problema della rappresentazione dei valori delle informazioni

… uso di sequenze di simboli

Rappresentazione e Codifica dell’Informazione

Esempi:

parole della lingua italiana … sequenze di lettere {a, b, c, …, z}

numeri Naturali … sequenze di cifre {0, 1, 2, …., 9} ….

categoria di un albergo … sequenza di ‘stelle’

Studente universitario … sequenza di cifre che formano un numero di matricola rappresentante uno studente

codice articolo …sequenza di simboli (cifre, barre) rappresentanti un articolo di un negozio

codice fiscale … sequenza di lettere e cifre rappresentanti una persona

La CODIFICA è una tecnica con cui il valore di un’informazione (un dato) viene rappresentato mediante un definito e finito insieme di simboli, o di altri dati più elementari (rispetto a quelli da codificare), di qualsiasi natura (grafica, luminosa, acustica, …)

Con tali simboli è possibile formare sequenze che possono essere messe in relazione biunivoca con gli elementi costituenti l’informazione

Rappresentazione e Codifica dell’Informazione

la rappresentazione è effettuata attraverso combinazioni di un insieme definito e finito di simboli disponibili

il numero di simboli disponibili è in generale minore del numero di valori da rappresentare

Esempio:

lettere alfabeto italiano (21) ==> parole lingua italiane (>> 21)

… non tutte le possibili combinazioni di lettere formano una parola italiana valida …

la rappresentazione avviene associando a ciascun valore da rappresentare una determinata sequenza di simboli

(2)

Elementi di Informatica 34 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica dell’Informazione

Formalizzando:

l’informazione da rappresentare appartiene ad un tipo T a cardinalità N T=(x1, …, xn) xi generico valore da rappresentare

T è detto Alfabeto Sorgente

si vogliono rappresentare i valori xi tramite gli elementi di un altro tipo E a cardinalità K  N

E=(a1, …, ak) aj generico simbolo E è detto Alfabeto in Codice

La Codifica è un’applicazione C, detta tabella-codice, che trasforma ciascun elemento xiT in una sequenza univoca di elementi aj  E, detta parola- codice (di lunghezza li)

Esempio:

Alfabeto Sorgente: (a, b, c, ……, v, z) Alfabeto in codice: ( - , . )

Codifica dell’Informazione

Codifica a .- b -…

c -.-.

o ---

s …

(3)

Elementi di Informatica 36 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica a lunghezza fissa

la lunghezza li delle parole codice associate ai valori dell'alfabeto sorgente è costante

Codifica a lunghezza variabile

la lunghezza li delle parole codice associate ai valori dell'alfabeto sorgente è variabile

• il codice può essere una associazione del tutto arbitraria di parole codice a valori

• oppure, può essere fondato su regole ben definite

• esempi: il codice fiscale, numero di matricola, il codice di un insegnamento

Codifica dell’Informazione

Esempio:

Alfabeto Sorgente: (primavera, estate, autunno, inverno) Alfabeto in codice: (§, #, *)

Codifica dell’Informazione

Codifica primavera § estate # autunno * inverno **

Altra Codifica §#

##

§*

**

(4)

Elementi di Informatica 38 Prof. G. A. Di Lucca - Univ. del Sannio

Esempio:

Alfabeto Sorgente: (picche, fiori, quadri, cuori) Codifica dell’Informazione

Alfabeto in codice: (*, /) Codifica

picche * fiori / quadri **

cuori //

Alfabeto in codice: ($,£,@) Codifica $$

@$

£$

Codifica dell’Informazione

Codifica a lunghezza fissa

T=(x1, …, xn) Alfabeto Sorgente, cardinalità N E=(a1, …, ak) Alfabeto in Codice, cardinalità K

la parola-codice ha una lunghezza li = m = costante per tutti gli elementi di T Sono, in tal caso, possibili km parole codice differenti (le disposizioni con ripetizione dei k simboli di E sugli m posti della sequenza)

Ad ognuno degli elementi xiT si fa corrispondere una delle km parole codice e dovrà necessariamente essere km  N

gli N elementi devono trovare almeno altrettante disposizioni, parole-codice, che li rappresentino

Per codificare un elemento di un tipo a cardinalità N mediante un alfabeto in codice di K simboli è necessaria una sequenza di lunghezza minima m, con

m =[ log

k

N ] ovvero k

m

 N

(5)

Elementi di Informatica 40 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica dell’Informazione

Esempio:

T=(x1, x2, x3, x4, x5, x6, x7, x8, x9) E=(a, b, g )

m =[ log3 9 ] = 2 (km  N => 32  9) x1 = a b

x2 = ba x3 = ag x4 = ga x5 = b g x6 = g b x7 = aa x8 = b b x9 = g g

Codice non ridondante km = N

Codifica dell’Informazione

Esempio:

T=(x1, x2, x3, x4, x5, x6, x7, x8, x9) E=(0, 1)

m =[ log2 9 ] = 4 (km  N => 24  9) x1 = 0000

x2 = 0001 x3 = 0010 x4 = 0011 x5 = 0100 x6 = 0101 x7 = 0110 x8 = 0111 x9 = 1000

Codice ridondante km > N

(6)

Elementi di Informatica 42 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica dell’Informazione

T=(x1, …, xn) Alfabeto Sorgente, cardinalità N E=(a1, …, ak) Alfabeto in Codice, cardinalità K

Lunghezza parola codice:

m =[ log

k

N ] <=> k

m

 N

Codice non ridondante km = N

Codice ridondante km > N

Codifica dell’Informazione - Esempio

Codificare gli

elementi della tavola periodica degli elementi con i seguenti 4 simboli :

usando una codifica a lunghezza fissa

Fonte: http://it.wikipedia.org/wiki/Tavola_periodica_degli_elementi

(7)

Elementi di Informatica 44 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica dell’Informazione - Esempio

lunghezza (fissa) parola codice:

m =[ log

k

N ] <=> k

m

 N

Alfabeto sorgente: (xi : xi  tavola periodica elementi)

Alfabeto codice : ( )

lunghezza (fissa) parola codice:

m =[ log

4

118 ] <=> 4

m

 118 m = 4

Cardinalità Alfabeto sorgente: 118 Cardinalità Alfabeto codice: 4

H: He: Li: ... ... ... ...

Codifica dell’Informazione - Esempio

Codificare gli stati del continente Europa con un codice binario usando una codifica a lunghezza fissa

Fonte http://it.wikipedia.org/wiki/Europa

(8)

Elementi di Informatica 46 Prof. G. A. Di Lucca - Univ. del Sannio

Codifica dell’Informazione - Esempio

lunghezza (fissa) parola codice:

m =[ log

k

N ] <=> k

m

 N

Alfabeto sorgente: (Albania, Andorra, Austria, Belgio, …, Turchia, Vaticano)

Alfabeto codice : (

*

,

#

)

lunghezza (fissa) parola codice:

m =[ log

2

46 ] <=> 2

m

 46 m = 6

Cardinalità Alfabeto sorgente: 46 (fonte: http://it.wikipedia.org/wiki/Europa)

Cardinalità Alfabeto codice: 2

Albania: **###* Italia: ****** Malta: ##**** Vaticano: ######

CODIFICATORE

x1 x2 x3 ……… xn

a1 a2 … ak

CODIFICATORE

Lun Mar ……… Dom

1 0 1

Un Modello

n input, gli elementi dell’alfabeto sorgente, di cui 1 solo attivo

Un’applicazione che trasforma un elemento dell’alfabeto sorgente nella parola codice

k output, i simboli dell’alfabeto codice, formanti la parola codice

Esempio:

(9)

Elementi di Informatica 48 Prof. G. A. Di Lucca - Univ. del Sannio

Informazione e Registri

Le informazioni (dati e/o istruzioni) trattate da una macchina sono memorizzate in elementi detti registri

Il registro può essere visto come un contenitore di valori di informazione; un registro è individuato da un nome

Il valore è rappresentato (codificato) mediante apposite sequenze di simboli di un alfabeto codice

nome valore registro

cliente Rossi registro

Un registro contiene il valore di un’informazione di un determinato tipo, mentre il nome equivale all’attributo dell’informazione

Esempio:

Informazione e Registri - 2

Se il dato è codificato in un alfabeto codice a cardinalità k (ovvero con k simboli diversi) e la parola codice ha una lunghezza fissa l, il registro che lo memorizza è composto da una sequenza di almeno l celle k-stabili

(ciascuna cella deve poter assumere uno dei k simboli del codice)

Per la rappresentazione di un’informazione di un tipo a cardinalità N

occorrono registri ad almeno N stati stabili, ciascuno dei quali individua uno dei possibili valori dell’informazione

Un registro è composto da elementi più semplici (celle) ognuno dei quali può assumere un numero finito di stati

Registro con 4 celle

Elemento atomico del registro

(10)

Elementi di Informatica 50 Prof. G. A. Di Lucca - Univ. del Sannio

Informazione e Registri - 3

…supponiamo che:

… ogni cella può assumere 10 stati distinti (deca-stabile)

… ad esempio le cifre da 0 a 9

… il registro in totale può assumere 104 = 10000 stati distinti Registro: elemento fisico atto ad assumere N stati finiti (N-stabile) associabili a N valori distinti di un’informazione

Esempio:

Registro con 4 celle

0 0 0 0

...

5 1 0 7

...

9 9 9 9

Informazione e Registri - 4

Esempio:

T=(x1, x2, x3, x4, x5, x6, x7, x8, x9) E=(a, b, g )

m =[ log3 9 ] = 2

…un registro di 2 celle, ciascuna tri-stabile

• ciascuna delle celle del registro può assumere 1 dei tre valori (a, b, g )

• celle tri-stabili, registro a 9 stati totali

x1 = a b x2 = ba x3 = ag x4 = ga x5 = b g x6 = g b x7 = aa x8 = b b x9 = g g

a b

x1

g a

x4

(11)

Elementi di Informatica 52 Prof. G. A. Di Lucca - Univ. del Sannio

m =[ log2 46 ] = 6

T: {Albania, Andorra, Austria, Belgio, …, Turchia, Vaticano}

Cardinalità : 46 E: {

*

,

#

}

Registro di 6 celle, ciascuna bistabile

Informazione e Registri - 5

• ciascuna delle 6 celle del registro può assumere 1 dei 2 valori (*,#)

• celle bi-stabili, registro a 64 stati totali Malta

*

*

#

# * *

Albania: **###*

Italia: ******

Malta: ##****

Vaticano: ######

……

……

……

Albania

# *

* * # #

Informazione e Registri - 6

Esempio:

T=(x1, x2, x3, x4, x5, x6, x7, x8, x9) E=(0,1)

m =[ log2 9 ] = 4

…un registro di 4 celle, ciascuna bi-stabile

• ciascuna delle 4 celle del registro può assumere 1 dei 2 valori (0,1)

• celle bi-stabili, registro a 16 stati totali 0 0 1 1

x4

x1 = 0000 x2 = 0001 x3 = 0010 x4 = 0011 x5 = 0100 x6 = 0101 x7 = 0110 x8 = 0111 x9 = 1000

(12)

Elementi di Informatica 54 Prof. G. A. Di Lucca - Univ. del Sannio

Informazione e Registri - 6

In un elaboratore tutte le informazioni sono codificate in BIT e la cella elementare dei registri è un elemento, elettronico, bistabile, detto flip-flop l’alfabeto codice utilizzato per codificare le informazioni e renderle

comprensibili ad una macchina è quindi un alfabeto binario (cardinalità 2):

{0, 1},{spento, acceso},{falso, vero},{aperto, chiuso}, …

…. esistenza di elementi fisici bistabili economici

…. semplicità dei circuiti elettronici di elaborazione

…. sicurezza del funzionamento, ovveronecessità di ridurre la possibilità di commettere un errore durante una scelta (discriminazione tra livelli)

…. la dimensione (lunghezza) dei registri è ‘finita’

=>... cardinalità dei tipi di informazione finita

Codifica Diretta ed Indiretta

Codifica Diretta: ad ogni elemento dell’Alfabeto Sorgente è associata una parola codice con i simboli dell’Alfabeto Codice

Codifica Indiretta: la parola codice è ottenuta usando un codice intermedio T=(x1,x2,...,xn) J=(s1, s2,...., sk) E=(e1, …, ew)

Si vogliono codificare gli elementi di T secondo i simboli di E

• un codice intermedio associa ad ogni xi una sequenza di sj

Ciascun xi è codificato da una sequenza di simboli sj

• un altro codice associa ad ogni simbolo sj una sequenza di ew

Ciascun sj è codificato da una sequenza di simboli ew

• Si sostituiscono i simboli sj di ciascuna parola codice corrispondente agli xi con la corrispondente parola codice con i simboli ew...

Ciascun xi è codificato da una stringa di simboli ew

Codifica dell’Informazione

(13)

Elementi di Informatica 56 Prof. G. A. Di Lucca - Univ. del Sannio

X1 00 00 00 X2 00 00 01 X3 00 00 11 X4 00 01 00 X5 00 01 01 X6 00 01 11 X7 00 11 00 X8 00 11 01 X9 00 11 11 X10 01 00 00

Codifica Binaria Indiretta T alfabeto sorgente E alfabeto codice

Codifica dell’Informazione

Esempio:

T= (x1,x2,...x10) - sorgente J= (a,b,c) - intermedio Codice intermedio (l = 3):

x1 aaa x6 abc x2 aab x7 aca x3 aac x8 acb x4 aba x9 acc x5 abb x10 baa

E(0,1) codice binario per J (l = 2):

a 00 b 01 c 11

… nell'esempio precedente:

Una codifica indiretta produce parole codice di lunghezza maggiore od uguale di quella delle parole codice prodotte da una codifica diretta

(… log : parte intera, maggiorata di uno se ...)

[log

k

N] [log *

w

K] >= [log

w

N]

Codifica dell’Informazione

[log

3

10] [log *

2

3]

[log

2

10] = 4

= 3 * 2 = 6

… una parola codice ‘più lunga’ …

… codifica più ‘comoda’ ….

… non devo ricordare il codice per ciascun elemento sorgente, ma quello di ciascun simbolo costituente l’elemento sorgente …

(14)

Elementi di Informatica 58 Prof. G. A. Di Lucca - Univ. del Sannio

bit 000 001 010 011 100 101 110 111

esad. 0 1 2 3 4 5 6 7

0000 0 NUL DLE spz 0 @ P ` p

0001 1 SOH DC1 ! 1 A Q a q

0010 2 STX DC2 " 2 B R b r

0011 3 ETX DC3 # 3 C S c s

0100 4 EOT DC4 $ 4 D T d t

0101 5 ENQ NAK % 5 E U e u

0110 6 ACK SYN & 6 F V f v

0111 7 BEL ETB ' 7 G W g w

1000 8 BS CAN ( 8 H X h x

1001 9 HT EM ) 9 I Y i y

1010 A LF SS * : J Z j z

1011 B VT ESC + ; K [ k {

1100 C FF FS , < L \ l |

1101 D CR GS - = M ] m }

1110 E SO RS . > N ^ n ~

1111 F SI US / ? O _ o DEL

Codice ASCII

Codice ASCII (American Standard Code for Information Interchange):

usato per uniformare la codifica dei caratteri

Esempio: Carattere ‘A’ => 100 0001 -- Carattere ‘T’ => 101 0100 Carattere ‘7’ => 011 0111 -- Carattere ‘t’ => 111 0100

Codice ASCII

… codifica binaria indiretta per le parole …

Esempio: Carattere ‘a’ => 110 0001 -- Carattere ‘T’ => 101 0100 Carattere ‘u’ => 111 0101 -- Carattere ‘t’ => 111 0100

Tuta => 1010100 1110101 1110100 1100001

Tata => 1010100 1100001 1110100 1100001

(15)

Elementi di Informatica 60 Prof. G. A. Di Lucca - Univ. del Sannio

Codici ridondanti e controllo dell’errore

Codici binari ridondanti sono utilizzati per la individuazione di malfunzionamenti (guasto dei circuiti, difetti di trasmissione) che conducano a parole errate

In un codice ridondante, solo n delle Km parole disponibili sono lecite (dove n  Km-1 ) per cui

– se S non è una parola lecita, allora è certamente errata – se S è una parola lecita, allora è probabilmente corretta

… maggiore è la ridondanza maggiore è la probabilità di scoprire un errore … nessuna certezza che una parola codice lecita non sia errata ...

Codifica dell’Informazione

Un esempio: Il controllo di parità

Utilizzato per il controllo dell’errore nella trasmissione di parole di codici binari completi (K = 2, n = 2m )

Dal codice completo si ottiene un codice ridondante aggiungendo un bit con la seguente regola:

– 1 se gli m bit hanno un numero dispari di 1 – 0 se gli m bit hanno un numero pari di 1

… le parole lecite del nuovo codice avranno un numero pari di bit 1 ...

aggiunta bit di parità parola

(m bit)

trasmissione parola

(m+1 bit) Parola ricevuta

(m+1 bit)

controllo di parità

Parola lecita (m bit)

segnalazione esito trasmissione

… possibile scoprire un solo errore ...

Codifica dell’Informazione

Riferimenti

Documenti correlati

Stimare α per i diversi drogaggi Electron mobility versus temperature for different doping

[r]

(a) In this case the unit tangent vector is constant (it is contained in fixed plane for all t and it makes a constant angle with a fixed vector of that plane ).. This implies that

dell'algebra A di SO(4) sono prodotti diretti di rappr.. Ne segue

1 - Fame nel mondo; 2- Calamit à; 3- Edilizio scolastico; 4- Assistenza ai rifugiati; 5- Beni culturali. AWERTENZE Per esprimere la scelta a favore di una delle

Codice (n, k) con n&gt; k =&gt; codice con parole di lunghezza n di cui k bit di informazione Un codice rivelatore di errore ha la proprietà che la generazione di un errore su

Ma la probabilità che esso sia primo (e superi k volte il test) coincide con la la probabilità che esso sia primo (perché tutti i primi superano il test), dunque tale probabilità

Questa eguaglianza ci dice che il numero x di blocchi di un disegno di parametri (v,k,r) dipende dai 3 parametri secondo l’equazione precedente, quindi non può essere