Rappresentazione
dellinformazione
Roberto Serra
Universit di Modena e Reggio Emilia &
European Centre for Living Technology, Venice
quale informazione?
finora abbiamo parlato di informazione in termini
molto generali
ma cosa vorremmo rappresentare?
numeri
lettere, parole
immagini
suoni
segnali
Continuo vs
discreto
luce
ticchet
tio
Continuo vs
discreto
le grandezze continue sono quelle che di
solito associamo ai sistemi fisici e
chimici spontanei
lunghezze, velocit, concentrazioni
sono tipicamente rappresentate da numeri
reali, che costituiscono un continuum
le grandezze discrete sono quelle che
possono assumere solo solo alcuni valori
ad esempio, un prezzo di vendita non pu
avere una granularit minore di 1/100 di euro
il ticchettio di un telegrafo Morse
la meccanica quantistica ha mostrato che
molte variabili che pensavamo continue sono
in realt discrete
alcuni ipotizzano che in realt siano tutte
cos, ma la nostra attuale descrizione del
mondo si basa in larga misura su variabili
continue
un calcolatore digitale opera con variabili
discrete
quindi per rappresentare variabili continue
in un calcolatore digitale necessario
approssimarle con variabili discrete
le variabili continue sono tipicamente associate a
valori reali
anche i numeri complessi sono coppie di reali
in un sistema digitale non possono possono essere
rappresentati valori irrazionali (non esprimibili come
rapporto di due interi come p.es. , e, 2, etc.
una bella dimostrazione: dimostriamo che 2 non pu
essere pari al rapporto rapporto di due interi.
Ragionamento per assurdo: 2=p/q primi fra loro
(altrimenti semplifichiamo)
2=p/q => p2=2q2 => p2 pari => p pari quindi p=2p
p2=2q2 => 4p2=2q2 => 2p2=q2 => anche q pari contrario
allipotesi! QED
in un calcolatore abbiamo sempre a che fare con
sistemi finiti, quindi non possibile
esprimere in forma decimale numeri periodici
p.es. 1/3=0.333333.
ma necessario approssimarli con un numero
finito di cifre
p.es. 1/3=0.3333
2/3=0.6667,
2/3=0.666666,
reali
razionali
reali
rappresentabili su macchina digitale finita
calcolatori
analogici?
La competizione fra calcolatori analogici e digitali nel XX
secolo
I primi rappresentano le variabili in gioco mediante grandezze
fisiche che evolvono in opportuni circuiti, dando una risposta
P.es. calcolo di integrali
Il circuito simula fisicamente il processo da descrivere
si possono rappresentare numeri reali
I calcolatori digitali invece usano variabili discrete che cambiano
nel tempo secondo regole opportune
fino circa alla met del 900 i calcolatori analogici erano concorrenti
pericolosi, ma nella seconda met si sono affermati decisamente i
calcolatori digitali
per ora?
calolatori digitali
I calcolatori digitali usano variabili discrete che
cambiano nel tempo secondo regole opportune
Il programma simula logicamente il processo da
descrivere
Quanti diversi valori delle variabili discrete sono
necessari?
sono possibili diverse soluzioni, ma la pi semplice
quella che si basa solo su due valori
questa scelta rende molto semplice distinguere i
valori dal punto di vista circuitale
Rappresentazione
binaria
Due soli simboli
Nel mondo fisico
la pi semplice la presenza o assenza
di un fenomeno
Nel mondo logico
i concetti di vero e falso
Un sistema binario
imporre una scelta binaria (tertium non datur) non
privo di conseguenze
vi sono domande a cui non si pu rispondere con un
semplice s/no
mi ami? sei felice?
possono richiedere risposte pi articolate: vedremo per
che possibile esprimere mediante due soli simboli
tutto quello che pu essere espresso dal linguaggio
vi sono per anche domande fisiche che non ammettono
proprio una risposta binaria
da quale fenditura passato lelettrone?
Un sistema binario
come fare se vi sono pi di due alternative?
esprimere le diverse possibili situazioni come
combinazioni di stati elementari binari
esempio: i numeri (Sistema binario)
Lunit base di il bit
abbreviazione di binary digit
numeri decimali e
numeri binari
numeri decimali: 165 significa 1*100+6*10+5*1
165 = 5*100 + 6*101 + 1*102
analogamente, il numero binario 100110
corrisponde a
0*20 + 1*21 + 1*22+ 0*23+ 0*24+ 1*25
quindi, in base 10, a
2+4+32 = 38
Un sistema binario
combinando diversi bit in maniera opportuna
si possono rappresentare molte cose
Ladozione di un sistema binario, ovvero di
due soli simboli, presenta notevoli
vantaggi tecnologici
La memoria di un computer organizzata
come una sequenza di bit
ogni posizione registra la presenza o
lassenza
leggibile successivamente
Un gruppo di 8 bit costituisce un byte
Analogia
Un sentiero di blocchi di cemento
su ogni blocco pu esserci un sasso
Se su un blocco
c un sasso: rappresenta 1
non c un sasso: rappresenta 0
Esempio
10100010
Uno strano
computer
Codifica del CD-ROM
strato riflettente
raggio laser
lato etichetta
lato trasparente
Combinare pi bit
Come rappresentare simboli pi numerosi?
Una sequenza di bit rappresenta
abbastanza simboli per codificare dati
complessi
2 valori, con sequenze di lunghezza n ,
possiamo creare 2n simboli
Esempio con 2 simboli: le basi del DNA
00 A
01 C
10 G
11 T
non solo numeri
una sequenza di bit pu rappresentare
lo stato di un sistema
N biglie numerate 1, 2 N
{0,1}
2 urne lo stato della bigliaxi i-esima
X [x1, x2 ...xN ] {0,1}N
lo stato dell'intero sistema
informazione
N
stati
nr. bit
(I)
0,1
00, 01,
10, 11
000,001,0
10..
2N
W il numero di stati diversi
I log 2 W
un altro approccio
supponiamo di avere due giocatori; uno
sceglie a caso un numero, l'altro deve
indovinarlo
in altri termini: che probabilit ho di
scegliere a caso un particolare numero?
p=1/W
quindi
1
log 2 p
p
legame fra informazione e probabilit
I log 2 W log 2
la formula in questa versione vale se le
scelte sono equiprobabili
cosa succede?
se al posto delle
biglie consideriamo
delle molecole
che possono stare in
uno dei due comparti?
la descrizione dello
stato del sistema
la stessa
descrizione
macroscopica
noi potremmo essere
interessati a sapere solo
quante molecole stanno da una
parte e quante dall'altra
ovvero a una descrizione
macroscopica
uno stato macro corrisponder
a diversi stati micro
quanti?
probabilit dei
macrostati
esiste un solo modo per realizzare il macrostato N 1=0
esistono N modi diversi per realizzare N 1=1
(1,0,0 0,0),
(0,1,00,0),
(0,0,10,0) (0,0,0 0,1)
esistono N(N-1)/2 modi per realizzare N 1=2
(0,0,0 0)
una volta fissata la posizione di uno degli 1 restano N-1
posti possibili per la seconda (si divide per due per
evitare di contare due volte la stessa coppia, p.es. 2,3 e
3,2)
esistono N(N-1)(N-2)/(2*3) modi per realizzare N 1=3 ...
draft - not for quotation
numero
microstati per
certo valore di
di
un
N1
esistono N(N-1)(N-k+1)/(2*3*..*k) modi per
realizzare N1=k
esistono N modi diversi per realizzare N 1=N-1
esiste un solo modo per realizzare il macrostato
N ( N 1)...( N N1 1)
N1=N
( N1 )
N1!
draft - not for quotation
( N1 )
N ( N 1)...( N N1 1) ( N N1 )( N N1 1)...2 *1
*
N1!
( N N1 )( N N1 1)...2 *1
( N1 )
N!
N! N
N1!( N N1 )! N1! N 2! N1
macrostati
Per calcolare la probabilit di un dato
macrostato M, necessario:
Conoscere le probabilit dei singoli
microstati
Sommare tutte le probabilit dei
microstati che corrispondono allo stesso
macrostato M
In assenza di informazioni specifiche,
l ipotesi pi fair quella di supporre
che tutti i microstati abbiano la stessa
probabilit
draft - not for quotation
se tutti i microstati sono
equiprobabili, la probabilit di un
macrostato pari al numero di
microstati corrispondenti, diviso per
il numero totale di microstati
(2
( N )N) N!
possibili
p( N ) 1
2 N
1
draft - not for quotation
2N
N1!( N N1 )!
p(N1); N=6
0,35
0,3
0,25
0,2
0,15
0,1
0,05
0
0
p(N1); N=20
0,2
0,15
0,1
0,05
0
0
10
15
20
p(N1); N=50
0,12
0,1
0,08
0,06
0,04
0,02
0
-0,02
draft - not for quotation
10
20
30
40
50
entropia
il macrostato corrispondente al
maggior numero di microstati quello
pi probabile
se un sistema si trova in uno stato
diverso, tender ad evolvere verso
quello pi probabile
legame col secondo principio della
termodinamica!
cosa succede se gli
stati non sono
equiprobabili?
partiamo dal caso di un sistema con soli due
stati: 1 o 0
se sono equiprobabili, come abbiamo visto:
W=2, p=1/2;
se per i due stati non sono equiprobabili, e la
cosa nota, allora il compito di chi deve
indovinare pi facile
quindi linformazione associata alla conoscenza di
un valore vale di meno, minore della
precedente
I=logW=-logp=1
in questo caso linformazione data da una formula
simile alla precedente (-logp), ma riferita al
valore atteso (-<logp>)
come si calcola <>?
per ogni funzione f vale la stessa formula
<f>=f1p1+f0p0
dove f1 (f0) il valore di f quando il risultato del
lancio 1 (0)
e p1 (p0) la probabilit che il risultato del lancio sia
1 (0)
come si calcola <>? supponiamo di fare tanti lanci, e
che per ogni 1 io guadagni g1=10, e ad ogni 0 io
guadagni soltanto g0=2
e supponiamo che la probabilit di ottenere 1 sia x
in media, in M lanci otterr xM volte 1, (1-x)M volte 0
il mio guadagno atteso quindi 10xM+2(1-x)M =g 1xM+g0(1-x)M
il guadagno atteso per ogni lancio <g>=g 1x+g0(1-x)
=g1p1+g0p0
<g> proprio il valore atteso del guadagno g
la formula scritta in maniera da essere indipendente
dai valori effettivi del guadagno e delle probabilit,
del tutto generale
per ogni funzione f vale quindi la stessa formula
<f>=f1p1+f0p0
dove f1 (f0) il valore di f quando il risultato del
lancio 1 (0)
quindi adesso possiamo chiederci qual il valor medio
dellinformazione, ovvero del logaritmo della probabilit
<I>=-<logp>= -p1logp1 - p0logp0 = - pilogpi
lespressione ha valore generale, quindi non sempre
trasmettere il risultato di una scelta binaria
corrisponde a un bit di informazione
Rappresentazione
binaria
a rigore: un bit la quantit di
informazione associata ad una scelta
fra due alternative equiprobabili
in generale noi assoceremo comunque un
bit ad una scelta binaria, supponendo
implicitamente lequiprobabilit
come si fa di solito in informatica
il bit diventa una cosa che pu avere
due stati
tenete per presente anche la def. pi
generale di informazione
Rappresentazione
binaria
utilizzata per la codifica di
numeri e di caratteri
Anche per digitalizzare i suoni, i
video e altro
per codificare TUTTO!
vediamo ad esempio i simboli che
usiamo per scrivere (lettere, numeri,
segni di punteggiatura)
I caratteri da
codificare
95 caratteri (lingua inglese)
26 lettere minuscole e 26 maiuscole,
10 cifre numeriche,
10 segni aritmetici,
20 segni di interpunzione (spazi
inclusi)
3 caratteri non stampabili (a capo,
tabulazione, )
sono
sono necessari
necessari 77 bit
bit
2277=128
=128
Codifica ASCII
American Standard Code for
Information Interchange
rappresentazione a 7 bit
limportanza degli standard condivisi
Limiti
non basta per rappresentare i caratteri
dei linguaggi diversi dallinglese
lingue latine, nord europee,
Extended ASCII
Estensione di ASCII a 8 bit (256
simboli)
la prima met lASCII originale
con 0 alla MSD di ogni gruppo di bit
Vantaggi
codifica quasi tutti i linguaggi
occidentali
include molti altri simboli utili
Un gruppo di 8 bit costituisce un
byte
Codifica UNICODE
Utilizza 32 bit
Rappresenta anche i caratteri di
alfabeti non europei
p.e.: asiatici, arabi, ebraici,
cirillici,
I primi 256 caratteri sono quelli di
extended ASCII
I nuovi standard generalizzano quelli
vecchi, non li contraddicono
facilita i programmi di conversione
Champernowne number
a proposito di numeri binari e di informazione
questa una versione modificata del numero di
Cx
0.
0.01
0.0100011011
0.0100011011000001010011100101110111
iterando all'infinito, questo numero < 1
contiene tutte le possibili sequenze di bit
quindi anche tutti i libri che sono
stati scritti (e quelli che non sono
stati scritti!)
la biblioteca di Babel
contiene anche il genoma di ogni
individuo di ogni specie mai comparso
sulla terra
e tanti che non si sono mai visti
dipende dalla codifica
Codifica numero
telefonico
Il numero telefonico 888 555 1212
come sar rappresentato nella memoria di un
computer?
Codifica
Codifica ogni
ogni cifra
cifra
in
in un
un byte
byte ASCII
ASCII
Nota che il numero telefonico una
sequenza di simboli ma in effetti noi non
usiamo mai in questi casi le propriet dei
numeri
Codifica ridondante
Il codice per telecomunicazioni
lettere intelligibili anche in presenza
di rumore
necessariamente inefficiente
Es.: alfabeto NATO
Codifica NATO
A
Alpha
Hotel
Oscar
Victor
Bravo
India
Papa
Whiskey
Charlie
Juliet
Quebec
X-ray
Delta
Kilo
Romeo
Yankee
Echo
Lima
Sierra
Zulu
Foxtrot
Mike
Tango
Golf
November
Uniform
un altro codice
ridondante: il
codice genetico
Rappresentazione
dei numeri
Il caso pi semplice quello dei numeri
naturali
Compreso lo zero
interi senza segno
Vengono rappresentati come numeri binari
Esempio: 10100 =0*20+0*21+1*22+0*23+1*24 =
=4+16= 20
di solito esiste una lunghezza massima ammessa
della codifica di un numero, che determina il
valore massimo che pu essere rappresentato
dipende dalla macchina (e a volte dal linguaggio)
Conversioni fra
sistema binario e
decimale
Il sistema binario pu descrivere tutti i numeri come
quello decimale, anche se in maniera meno concisa
Entrambi sono sistemi posizionali
Non tutti sono cos, p.es. il sistema romano
104
103
102
101
100
3*104 + 0*103 + 5*102 + 5*101 + 2*100 = 30.000 + 500 + 50 +
2
Conversioni fra
sistema binario e
decimale
Sistema posizionale a base p ha p cifre: 0,p-1;
un numero generico Np rappresentato in questa
base da una sequenza cifre an, an-1a0
Np an p an1 p
n
n1
... a0 p ak pk
0
k 0
Abbiamo visto come convertire un numero binario in
decimale
Per effettuare la conversione da decimale a binario
possiamo usare un semplice algoritmo
qui descritto in linguaggio naturale
Dividi il numero per due e registra il
resto; poi dividi il quoziente per due
resto; ripeti queste operazioni finch
non si annulla; a quel punto scrivi le
in successione, partendo dallultima
risultato
valore del
e registra il
il quoziente
cifre dei resti
questo il
Esempio: il numero
165
165:2 = 82
resto 1
82:2 = 41 resto 0
41:2 = 20 resto 1
20:2 =10
resto 0
10:2 = 5
resto 0
5:2 = 2
resto 1
2:2 = 1
resto 0
1:2 = 0
resto 1
16510=101001012
perch funziona?
lo si capisce meglio applicandolo al
familiare sistema decimale
165:10 = 16
resto 5
16:10
resto 6
1:10
mettendo in ordine i resti
(dallultimo al primo) ottengo
proprio 165!
= 1
=
resto 1
Numeri interi
La rappresentazione pi semplice riserva il
primo bit per il segno (0 <-> +, 1 <-> -)
Se sono disponibili m bit potremo
rappresentare gli interi compresi fra (2 m1-1) e +(2m-1-1)
Quindi con un byte potremmo rappresentare i
numeri fra -127 e +127
A destra un esempio con tre bit
Si noti la doppia rappresentazione dello 0
Altre rappresentazioni meno intuitive
consentono di evitare questo spreco
-3
-2
-1
-0
+0
+1
+2
+3
111
110
101
100
000
001
010
011
La memoria di un calcolatore divisa
in byte da 8 bit
E in parole da 16 o 32 bit
Questo spiega perch in informatica
si sia fatto largo uso di sistemi di
numerazione a base 8 e soprattutto 16
Il sistema esadecimale consente di
descrivere con un unico simbolo il
contenuto di una parola da 16 bit
Come fa il sistema a sapere se la
successione di 1 e 0 in una data
posizione rappresenta un carattere
Ascii o un numero intero?
O addirittura, come vedremo, una
istruzione di programma?
Di questo si occupa il controllo, che
studieremo in futuro
Per ora vediamo altre
rappresentazioni
Numeri reali
Possono avere un numero infinito di
cifre decimali
Ma un calcolatore ha una memoria finita
P.es. , e, numero aureo, 2
In generale per ogni numero definita una
dimensione massima della porzione di
memoria che pu essere impiegata
Quindi in un calcolatore un numero reale
approssimato da un numero razionale
Con un numero limitato di cifre decimali
numero aureo
il rapporto fra due numeri, di cui
il maggiore medio proporzionale fra
la loro somma e il minore dei due
chiamato anche sezione aurea o divina
proporzione (Leonardo, Luca Pacioli)
(a b) : a a: b
scoperto dai pitagorici
o prima?
il limite del rapporto fra due
termini successivi della successione
di Fibonacci
a b a ab b2 a2
a2 ab b2 0
a
b
ab
ab
a
a b
b
2 1 0
Fk = Fk-1 + Fk-2
architettura (p.es. rettangolo
aureo), forme naturali
1 5
1, 618...
2
Numeri frazionari
Sono numeri reali compresi fra 0 e 1
approssimati con numeri razionali
Espressione in base p
n1
Np an p an1 p
... a2 p a1 p
a p
kn
Anche in questo caso esistono regole
per passare da base 2 a base 10
Rappresentazione
dei numeri reali
In virgola fissa: si definisce una
volta per tutte quanti bit sono
dedicati alla parte decimale
P.es. 00101001011.10110
Richiede di allocare un numero fisso di
posizioni per la parte decimale
Non sempre necessario
Risente delle consuete limitazioni sui
valori massimi esprimibili per la parte
intera
Fra (2m-1-1) e +(2m-1-1) se vi sono m bit
per la parte intera
Rappresentazione in
virgola mobile
Notazione esponenziale
345,67 = 0,34567*103
Il primo elemento, compreso fra -1 e 1,
detto mantissa
Ed un numero frazionario
Lesponente detto caratteristica
Ed un numero intero
In questo caso si riserva un numero fisso di
cifre alla mantissa e alla caratteristica
Lo stesso pu essere fatto in binario
Per passare alla notazione decimale si
operano le due conversioni
indipendentemente
La rappresentazione in virgola mobile
consente di rappresentare con lo stesso
numero di bit numeri pi grandi
Perch la notazione esponenziale consente di
rappresentare numeri elevati con poche cifre
Sebbene con granularit non uniforme
I numeri sono pi fitti attorno allo 0 e pi
radi alle estremit dellintervallo
I linguaggi di programmazione consentono di
scegliere il tipo di rappresentazione
numerica pi appropriato
vedremo in seguito altre rappresentazioni
Rappresentazione di
segnali sonori (p.es.
musica)
Le onde di pressione sonora fanno
vibrare i nostri timpani
La forza o intensit della pressione
determina il volume
La frequenza (numero di onde al
secondo) il tono
il caso pi
semplice: nota
una nota pura corrisponde a un'onda
sinusoidale
frequenza : numero di cicli al
secondo
un ciclo al secondo <-> un Hertz
lunghezza d'onda : distanza fra due
creste
velocit (di gruppo) V=
infatti se un'onda lunga 10m, e ne
passano 100 al secondo, il sistema
percorre 10*100=1000 m al secondo
stessa frequenza,
diversa intensit
sovrapposizione di
onde
in un segnale complesso possibile
distinguere i singoli componenti
sinusoidali mediante la tecnica
dell'analisi di Fourier
Da analogico a
digitale
Digitalizzare informazioni continue
I valori della pressione andranno
registrati a certi intervalli
e i risultati andranno espressi in
maniera digitale
Quando eseguire le misure?
non possiamo registrare ogni punto
dellonda
Conversioni
Campionamento
Si prendono le misure a intervalli
regolari
Frequenza di campionamento
il numero di misurazioni al secondo
maggiore la frequenza, pi accurata
sar la registrazione
la frequenza di campionamento non
coincide con quella dell'onda sonora
ma occorrono alcune cautele per evitare
disastri!
pressione del suono
Esempio di
campionamento
tempo
Quale frequenza?
Frequenza di campionamento legata a
quella dellonda
una frequenza di campionamento troppo
bassa potrebbe interpretare in maniera
errata i punti campionati (aliasing)
Regola di Nyquist
Frequenza di campionamento
almeno il doppio di quella dellonda da
registrare
luomo pu percepire suoni fino a
20.000Hz, un campionamento di 40.000Hz
sufficiente
la frequenza CD standard 44.100Hz
Quanti bit per
campione?
Quanto devessere accurato un
campione?
i bit devono rappresentare i valori sia
positivi che negativi
pi bit ci sono, pi accurato il
campione
Campione CD
La rappresentazione digitale dei CD
audio utilizza 16 bit
registra 65.536 livelli,
la met per i valori positivi e
altrettanti per quelli negativi
Il campionamento converte il segnale
in una sequenza di numeri, ognuno dei
quali indica il valore del segnale in
una specifica finestra
Una conversione simile viene operata
in numerosi altri casi
Segnali radar e sonar
Serie temporali di dati meteo
Serie temporali finanziarie
Molto più che documenti.
Scopri tutto ciò che Scribd ha da offrire, inclusi libri e audiolibri dei maggiori editori.
Annulla in qualsiasi momento.