Il concetto di informazione e codifica

Transcript

Il concetto di informazione e codifica
Elementi di informatica
Codifica dell’informazione
Ma il problema rimane …
Cosa significa informazione?
• Un esempio: lampioni e semafori ...
al di là delle differenze materiali, funzionalmente che
differenza c’è?
Energia elettrica
(alimentazione)
Luce
(energia)
Luce
(energia)
Energia elettrica
(alimentazione)
Informazione !!
1
I calcolatori: cos’hanno di speciale?
Molti strumenti sono stati progettati e realizzati per
trattare informazione:
• le matite servono per scrivere
(non per trasferire grafite su carta)
• i violini servono per suonare
(non per produrre onde acustiche)
A differenza di questi, i calcolatori sono dispositivi
programmabili.
Ma cosa significa programmabile?
Elaborazione dell’informazione
La programmabilità di un
dispositivo attiene alle
modalità con cui esso
gestisce informazione
Per esempio, per risolvere
questo problema, si può:
provare e riprovare (= operare nel
mondo fisico)
fare i conti a mente
fare i conti con carta e penna
(= operare con supporti passivi)
fare i conti con una calcolatrice
(= operare con supporti “rigidi”)
…
Quando si gestisce informazione,
si opera su dati mediante istruzioni
2
I primi calcolatori meccanici
/1
Blaise Pascal (1623(1623-1662)
dispositivo meccanico (ingranaggi azionati da una
manovella) per l’esecuzione di somme e sottrazioni.
sottrazioni.
Gottfried Wilhelm von Leibniz (1646(1646-1716)
introduce anche moltiplicazioni e divisioni
(~ calcolatrice a quattro funzioni).
Charles Babbage (1792(1792-1871)
progetta e realizza un “difference
“difference engine”
engine”
calcola tabelle di numeri utili per la navigazione;
unico algoritmo: polinomiale alle differenze finite;
finite
output: fori su una piastra di rame
(~ schede perforate).
I primi calcolatori meccanici
/2
Charles Babbage (1792-1871)
macchina programmabile: “analytical engine”
Formata da quattro parti:
•
•
•
•
store (memoria: 1000 celle × 50 cifre),
mill (unità di calcolo: 4 operazioni + trasferimento dati),
input (lettore schede),
output (perforatore schede).
3
l'ENIAC
L’ENIAC (Electronic Numerical Integrator And
Computer) fu il primo computer elettronico,
realizzato all’università di Pennsylvania nel
1946
Occupava una grande stanza ed era costituito
da molti armadi con circa 18000 valvole
(analoghe ai transistor), parecchie delle
quali si bruciavano ogni giorno e dovevano
essere sostituite
Veniva programmato collegando cavi su appositi
pannelli, simili a quelli dei centralini
telefonici, ed andava nuovamente
programmato in tal modo per ogni specifico
problema
John von Neumann
Partecipa al progetto ENIAC.
Due intuizioni fondamentali:
• memorizzare i programmi in forma digitale nella stessa
memoria dei dati per rendere più semplice la
programmazione (rispetto all’utilizzo di cavi e
interruttori);
• utilizzare l’aritmetica binaria invece di quella decimale
(due valvole per bit invece di dieci per cifra).
Il suo progetto (macchina
(macchina di von Neumann)
Neumann) è ancora oggi alla base di
quasi tutti i calcolatori digitali.
4
L’architettura di Von Neumann
Un calcolatore deve essere in grado di:
di:
•
•
•
•
•
eseguire istruzioni su dati;
controllare il flusso dell’esecuzione;
memorizzare i dati su cui operare;
memorizzare successioni di istruzioni;
interagire con gli utenti e con eventuali altri sistemi.
Sottosistema
di interfaccia
Comunica con utenti
o con altri dispositivi
Sottosistema
di memorizzazione
Memorizza dati
e istruzioni
Sottosistema
di elaborazione
Ha due funzioni:
1. eseguire le istruzioni;
2. controllare il flusso
dell’esecuzione.
Sottosistema di interconnessione
Il transistor
Inventato ai Bell Labs nel 1948 da John Bardeen,
Bardeen, Walter Brattain e William
Shockley:
Shockley:
• nel giro di 10 anni rivoluziona la ricerca sui calcolatori;
• alla fine degli anni ’50 i calcolatori a valvole sono già obsoleti.
Digital Equipment Corporation (DEC)
• fondata nel 1957 da Kenneth Olsen;
• nel 1961 realizza il PDP–1, il primo minicalcolatore.
Sviluppo della tecnologia d’
d’integrazione:
• decine (SSI), centinaia (MSI) e migliaia (LSI) di transistor sono integrati
sullo stesso pezzo di silicio (chip);
• possibilità di realizzare calcolatori più piccoli, più veloci e meno costosi
dei loro predecessori.
Due famiglie di calcolatori rappresentative:
• 360 di IBM
• PDP-11 di DEC
5
Very Large Scale Integration (VLSI)
105–
105–107 transistor integrati per chip.
Passaggio dai minicalcolatori,
minicalcolatori, alle workstation,
workstation, ai
Personal Computer (PC):
• usati per applicazioni fortemente interattive
(elaborazione testi, fogli elettronici, …);
• in origine proposti come kit da assemblare, senza
software;
• due architetture principali:
Apple (basato su CPU Motorola e PowerPC)
• primo PC, progettato da Steve Jobs e Steve Wozniak nel ’78,
• architettura proprietaria!
IBM e compatibili (CPU Intel e SW Microsoft – “Wintel”)
• realizzato utilizzando componenti “off the shelf”,
• architettura di dominio pubblico, quindi replicabile da altri (cloni)!
Il concetto di informazione
un foglio
cosparso di
macchie
Configurazione 1
Configurazione 2
6
Informazione e supporto
¾
L’informazione è “portata da”, o “trasmessa su”, o
“memorizzata in”, o “contenuta in” qualcosa;
questo “qualcosa” però non è l’informazione stessa.
¾
Ogni supporto ha le sue caratteristiche in quanto mezzo
su cui può essere scritta dell’informazione.
Informazione e supporti (1)
La stessa informazione può essere scritta su
differenti.
10
supporti
11
10
9
8
7
6
7
Informazione e supporto (3)
¾
Distinguere informazione e supporto fisico è distinguere
tra “entità logiche” ed “entità fisiche”:
• l’informazione richiede un supporto fisico,
fisico ma non
coincide con esso;
• l’informazione è un’entità extraextra-fisica,
fisica non
interpretabile in termini di materia-energia e
sottoposta alle leggi della fisica solo perché basata su
un supporto fisico.
¾
L’informazione si può creare e distruggere.
Quali caratteristiche deve avere un sistema
fisico per supportare informazioni?
¾
Si ottiene informazione quando, dato un insieme di
alternative possibili, la lettura del supporto ne elimina
alcune e ne seleziona altre.
¾ Condizione
necessaria perché un supporto possa
portare informazione è che possa assumere
configurazioni differenti, a ognuna delle quali
venga associata una differente entità di
informazione.
8
Informazione
Il concetto di informazione implica quello di scelta
Esempio:
di che colore è la luce accesa del semaforo all’incrocio?
La luce del semaforo è ..........
scelta fra { { rosso, giallo, verde} }
… scelta di un valore tra quelli definiti in un insieme finito di
di elementi
… nessun altro valore che non appartiene a { { rosso, giallo, verde}
verde} }
potrà essere usato per definire il colore della luce accesa del
semaforo ...l’eleborazione
...l’eleborazione automatica dei dati
17
Tipo e Valore
TIPO dell'informazione: insieme finito nel quale viene
effettuata la scelta
VALORE dell’informazione: l'elemento scelto
… Tipo e Valore non bastano ...
esempio:
numeri interi
Tipo
2.000.000
Valore
… ma cosa rappresenta il valore 2.000.000? gli abitanti di Napoli?
Napoli?
il patrimonio di Mario Rossi ? Il numero di articoli venduti? .....
.....
18
9
Attributo
ATTRIBUTO:
ATTRIBUTO definisce il significato dell’informazione, ossia serve a
capire di cosa si tratta e ad identificarla (distinguerla da altre)
altre)
Esempio:
Il cliente è il sig. Ugo
Attributo
Tipo: Nome di persona
Valore
la soluzione dell'equazione è
3,5
Tipo: Numero reale
19
Informazione
Definizione:
L'informazione è la terna di elementi
{TIPO, ATTRIBUTO, VALORE}
VALORE}
se manca uno di questi elementi non si ha informazione!
20
10
Cardinalità di un tipo e Quantità di
informazione
Ogni tipo ha una propria cardinalità n
che è pari al numero di elementi che compongono il tipo
La cardinalità esprime il numero di elementi tra cui
scegliere
La cardinalità può essere usata per misurare la quantità
di informazione
21
Cardinalità di un tipo e Quantità di
informazione
Una scelta fra valori di un tipo a cardinalità n é più
complessa di una scelta fra valori di un tipo a
cardinalità m se n>m
Una cardinalità n>m, implica che il tipo a cardinalità n
ha una quantità di informazione maggiore di quello a
cardinalità m
N.B. nell'universo esistono infiniti tipi, un ambiente di
elaborazione è caratterizzato da un numero finito e
definito di tipi
22
11
Misura dell’informazione
La scelta più elementare è quella fra elementi di un tipo
a cardinalità 2 (al di sotto di 2 non c’è scelta ...)
BIT:
è la quantità di informazione associata ad ogni
informazione il cui tipo ha cardinalità 2
il BIT è l’unità di misura dell’informazione
23
Misura dell’informazione
E' possibile stabilire a quanti bit equivale la quantità di
un’informazione il cui tipo sia a cardinalità n
Il problema può essere posto in questi termini:
a quante scelte fra 2 equivale una scelta fra n?
e ha una semplice formulazione matematica
24
12
Misura dell’informazione
Formulazione matematica
B = [log2n ]
B = quantità di informazione in BIT
n = cardinalità del tipo
[x] operazione che associa ad x il minimo numero intero maggiore o
uguale ad x
… ovvero B è pari alla parte intera di log2 n, maggiorata di 1 se la
parte decimale è diversa da 0
… ovvero B è l’esponente da dare a 2 affinché la potenza
risultante sia pari al minimo numero maggiore o uguale di n
2B>n
25
Esempi:
colore semaforo 2 bit
seme carta 2 bit
cifra decimale 4 bit
lettera alfabeto italiano 5 bit
numero lotto 7 bit
una regione di Italia ..........
uno studente in aula ..........
un cittadino di Napoli ..........
un italiano ..........
26
13
Misura dell’informazione
il bit ha solo multipli
byte 8 bit (23 )
K
1024 bit (210 )
Kbyte
1024 byte (210 byte)
M
1048576 bit (220 )
Mbyte
1048576 byte (220 byte)
G
1073741324 bit (230 )
Gbyte
1073741324 byte (230 byte)
27
Codifica dell’Informazione
problema della rappresentazione dei valori delle informazioni
la rappresentazione deve essere effettuata attraverso un insieme finito di
simboli disponibili
il numero di simboli disponibili è in generale minore del numero di valori
da rappresentare
la rappresentazione avviene associando a ciascun valore una sequenza
sequenza di
simboli
La CODIFICA è una tecnica con la quale un dato viene rappresentato
mediante un definito insieme di simboli,
simboli, o di dati,
dati, più elementari di qualsiasi
natura (grafica,
grafica, luminosa,
luminosa, acustica,
acustica, …)
Con tali simboli è possibile formare sequenze che possono essere messe in
relazione biunivoca con gli elementi costituenti l’informazione
28
14
Codifica dell’Informazione
Esempi:
Esempi:
Alfabeto Morse …sequenze di punti e linee rappresentanti
caratteri
numero matricola …sequenza di cifre
studente
rappresentanti uno
codice articolo …sequenza di simboli
articolo di un negozio
rappresentanti un
codice fiscale …sequenza di caratteri rappresentanti una
persona
numeri Naturali … sequenze di cifre {0, 1, 2, …., 9} ….
parole della lingua italiana … sequenze di lettere {a, b, c, …,
z}
29
Codifica dell’Informazione
Formalizzando:
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 tabellatabella-codice,
codice, che trasforma
ciascun elemento xi∈T in una sequenza di elementi aj ∈ E, detta parolaparolacodice (di lunghezza li)
30
15
Codifica dell’Informazione
Esempio:
Alfabeto Sorgente:
Sorgente: (picche, fiori, quadri, cuori)
Alfabeto in codice:
codice: (*, /)
picche
fiori
quadri
cuori
Codice
*
Altro Codice
**
/
**
//
*/
//
/*
31
Codifica dell’Informazione
Codifica a lunghezza fissa
la lunghezza li delle parole codice associate ai valori
dell'alfabeto sorgente è costante
Codifica a lunghezza variabile
la lunghezza li
li delle parole codice associate ai valori
dell'alfabeto sorgente è variabile
9 il codice può essere una associazione del tutto arbitraria
di parole codice a valori
9 oppure, può essere fondato su regole ben definite
9 esempi: il codice fiscale, il codice esame, numero di
matricola
32
16
Codifica dell’Informazione
Codifica a lunghezza fissa
T=(x1, …, xn) Alfabeto Sorgente,
Sorgente, cardinalità N
E=(a1, …, ak) Alfabeto in Codice,
Codice, cardinalità K
la parolaparola-codice ha una lunghezza li = m = costante per tutti gli elementi di T
ad ognuno degli elementi xi ∈ T si fa corrispondere una delle km disposizioni con
ripetizione dei k simboli di E sugli m posti della sequenza e dovrà necessariamente
aversi km > N
(gli N elementi devono trovare almeno altrettante disposizioni che li
rappresentino)
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 =[ logk N ]
33
Codifica dell’Informazione
Esempio:
Esempio:
T=(x1, x2, x3, x4, x5, x6, x7, x8, x9)
E=(a, b, c )
m =[ log3 9 ] = 2
x1 = a b
x2 = b a
x3 = a c
x4 = c a
x5 = b c
x6 = c b
x7 = a a
x8 = b b
x9 = c c
Codice non ridondante
km = N
34
17
Codifica dell’Informazione
Esempio:
Esempio:
T=(x1, x2, x3, x4, x5, x6, x7, x8, x9)
E=(0, 1)
m =[ log2 9 ] = 4
x1 = 0000
x2 = 0001
x3 = 0010
x4 = 0011
x5 = 0100
x6 = 0101
x7 = 0110
x8 = 0111
x9 = 1000
Codice ridondante
km > N
35
I giorni della settimana in binario (1)
Lunedì
Martedì
Domenica
Mercoledì
Sabato
Giovedì
Lunedì
Giovedì
0
Martedì
Mercoledì
Giovedì
Mercoledì
Domenica
Sabato
Venerdì
Lunedì
Martedì
1
Venerdì
1 bit
2 “gruppi”
Sabato
Venerdì
Domenica
00
01
10
11
2 bit
4 “gruppi”
000
001
010
011
100
101
110
111
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
3 bit
8 “gruppi”
36
18
Un Modello
x1 x2 x3 ……… xn
CODIFICATORE
a1 a2 … ak
Esempio:
Esempio:
n input, gli elementi dell’alfabeto
sorgente,
sorgente, di cui 1 solo attivo
Un’applicazione che trasforma un element
dell’alfabeto sorgente nella parola codice
k output, i simboli dell’alfabeto codice,
codice,
formanti la parola codice
Lun Mar ……… Dom
CODIFICATORE
37
1 0 1
19