• 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 31 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 33 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 35 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 37 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 39 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 41 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 43 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 45 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 47 Prof. G. A. Di Lucca - Univ. del Sannio

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

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

(10)

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

… 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 …

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

(11)

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

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

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

(12)

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

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

Informazione e Registri

Le informazioni (dati e/o istruzioni) elaborate 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:

(13)

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

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

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) ciascuno associabile ad uno degli N valori distinti di un’informazione

Esempio:

Registro con 4 celle

0 0 0 0

...

5 1 0 7

...

9 9 9 9

(14)

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

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

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

# *

* * # #

(15)

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

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

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

Riferimenti

Documenti correlati

[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

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

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