Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica per le Scienze Umanistiche: Codifica e Trattamento, Appunti di Elementi di Informatica

Una parte di un corso universitario intitolato 'fondamenti dell'informatica per le scienze umanistiche'. Esso tratta del concetto di codifica dell'informazione e del suo trattamento, inclusi i livelli di codifica, l'ambiguità della codifica, la codifica di segnali fisici, la codifica di messaggi e il trattamento dell'informazione. Il documento include esempi pratici e applicazioni di queste teorie.

Tipologia: Appunti

2012/2013

Caricato il 28/02/2013

oscarlogoteta
oscarlogoteta 🇮🇹

4.4

(103)

16 documenti

1 / 20

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
2/18/11%
1%
Università degli Studi di Milano
Facoltà di Lettere e Filosofia
Corso di Fondamenti dell’Informatica per le Scienze Umanistiche
http://islab.dico.unimi.it/fisu
INFORMAZIONE E CODICI
Prof. Alfio Ferrara
Dipartimento di Informatica e Comunicazione
http://islab.dico.unimi.it/ferrara
A.A. 2010/2011
LA COMUNICAZIONE IN INFORMATICA
2010/2011 2 Fondamenti dell'Informatica per le Scienze Umanistiche
Sorgente Trasmettitore Ricevitore Destinazione
Segnale fisico
Messaggio
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Anteprima parziale del testo

Scarica Informatica per le Scienze Umanistiche: Codifica e Trattamento e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Università degli Studi di Milano Facoltà di Lettere e Filosofia Corso di Fondamenti dell’Informatica per le Scienze Umanistiche http://islab.dico.unimi.it/fisu

INFORMAZIONE E CODICI

Prof. Alfio Ferrara

Dipartimento di Informatica e Comunicazione http://islab.dico.unimi.it/ferrara [email protected] A.A. 2010/ LA COMUNICAZIONE IN INFORMATICA 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 2 Sorgente Trasmettitore (^) Ricevitore Destinazione Segnale fisico Messaggio

CODIFICA DELL’INFORMAZIONE

  • Per essere trasmessa e trattata, l’informazione necessita

di essere codificata, ovvero espressa attraverso un

sistema simbolico e trasformata in messaggio

2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 3 Le ore quindici e quaranta 15: Le ore quindici e quaranta codifica informazione decodifica messaggio AMBIGUITÀ DELLA CODIFICA

  • La stessa informazione può essere codificata in più modi 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 4 Le ore quindici e quaranta 15:40 (^) 3:40 PM
  • La stessa codifica può rappresentare informazioni

diverse

15: Le ore quindici e quaranta Il punteggio tennistico quindici-quaranta

LA NOZIONE DI MESSAGGIO E DI CODICE

  • Un messaggio è una successione ordinata di simboli
    • NB: l’ordine è importante. Il messaggio IRTO è diverso dal messaggio TRIO, pur essendo composto dagli stessi simboli
  • Un codice è:
    • Un insieme di simboli (detto anche alfabeto)
    • Un insieme di regole con cui combinare i simboli in messaggi validi
  • Esempio: inventiamo il codice GINO
    • Alfabeto: G, I, N, O
    • Regole: qualsiasi successione di 3 simboli è valida (ma ogni messaggio deve essere composto da 3 simboli) 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 7 QUANTITÀ DI INFORMAZIONE
  • Usando il codice GINO, quante informazioni diverse

possiamo trasmettere?

  • Il numero di informazioni è pari al numero di messaggi validi diversi che possiamo comporre con i simboli a disposizione
  • Ad esempio:
    • GIN
    • GGN
    • GGG
    • GGI
    • IGG
    • Etc. Quanti sono? 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 8

QUANTITÀ DI INFORMAZIONE

  • La quantità di informazione dipende dal numero di

simboli dell’alfabeto e dalla lunghezza dei messaggi

  • Esempio 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 9 G I N O GG GI GN GO IG II IN IO NG NI NN NO OG OI ON OO GGG GGI GGN GGO …e così via, per ognuno dei messaggi di lunghezza 2 Quindi se abbiamo 4 simboli, a partire da ogni messaggio possiamo generare altri 4 messaggi aggiungendo al messaggio di partenza uno dei simboli a disposizione

ESPRESSIVITÀ DEL CODICE

  • In generale, se abbiamo un codice di N simboli e

messaggi di lunghezza L, possiamo calcolare il numero I

di informazioni diverse che possiamo esprimere

combinando fra loro gli N simboli L volte

  • Ad esempio, nel caso di GINO abbiano 4 simboli e messaggi di lunghezza 3
  • Possiamo allora combinare fra loro i 4 simboli 3 volte
  • Ovvero: I = 4 x 4 x 4 = 4^3 = 64
  • Possiamo esprimere questo ragionamento con una

formula generale:

2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 10 Quantità di informazione

I = N

L

Lunghezza messaggio Numero simboli

ESEMPIO

  • Supponiamo di giocare alla roulette insieme a un amico

che legge il futuro e non sbaglia mai.

  • Quale di queste “osservazioni dal futuro” del nostro

amico contiene più informazione (e ci fa vincere di più)?

  • Uscirà un numero compreso fra 0 e 36
  • Uscirà un numero pari
  • Uscirà il numero 6
  • La quantità di informazione di ogni osservazione è

inversamente proporzionale alla probabilità che si

verifichi il fatto previsto

  • Tale probabilità è 1 nel primo caso, 1/2 nel secondo e 1/36 nel terzo 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 13 UNITÀ MINIMA DI INFORMAZIONE
  • La minima quantità di informazione è quella che si

ottiene selezionando una configurazione da un insieme

che ne contiene due equiprobabili

  • Per esempio scegliendo una pallina in un vaso che ne contiene 5 bianche e 5 nere
  • Questa quantità minima di informazione è detta BIT
  • Il bit è quindi l’unità minima che misura l’informazione
  • Supponiamo che vi venga sottoposto un test composto da 4 domande a cui si risponde VERO o FALSO
  • Supponiamo che non sappiate la risposta a nessuna delle domande
  • L’informazione che vi serve per passare il test è quantificabile in 4 bit (la risposta giusta alle 4 domande) 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 14

APPLICAZIONI DELLA NOZIONE DI BIT

  • Il BIT (Binary digIT) essendo un’unità di misura binaria,

è esprimibile facilmente utilizzando due simboli (0, 1)

  • L’adozione di due soli simboli permette di mettere

facilmente in corrispondenza ogni bit di informazione

con uno stato fisico, come ad esempio la presenza o

assenza di corrente in un circuito elettrico

  • Per tradurre quindi una qualsiasi informazione in

impulsi elettrici è sufficiente dunque tradurla in un

insieme di BIT

2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 15 CODICI BINARI

  • In informatica si adottano dunque diversi codici binari
    • Alfabeto: 0, 1
    • Regole: le regole di composizione dei messaggi cambiano a seconda del tipo di informazione da codificare
    • Tipologie di informazione sottoposte a codifica
      • Testo (dati non numerici)
      • Numeri
      • Immagini
      • Audio
      • Video 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 16

TEMPO: ASSOCIAZIONE DELL’INFORMAZIONE AL CODICE

  • Passo 3: associamo le informazioni da codificare a arbitrarie combinazioni di 3 BIT 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 19 Soleggiato 000 Nuvoloso 001 Piovoso 011 Nevoso 111 Nebbioso 010 Variabile 110 Non assegnato 100 Non assegnato 010 Si noti che la logica di associazione fra stringhe di BIT e condizioni meteorologiche è del tutto arbitraria e convenzionale. È cioè indipendente dal significato dell’informazione trasmessa. Inoltre si noti che per poter decodificare il messaggio è necessario conoscere il codice. IL TEMPO DELLA SETTIMANA
  • Usando TEMPO, possiamo quindi trasmettere la

situazione meteorologica della settimana con un

messaggio come:

  • Distinguendo i giorni, avremo quindi
  • 001 010 110 110 000 001 001
  • …in generale non una bella settimana… 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 20

CODIFICA DEL TESTO

  • Problema: definire un codice binario per rappresentare l’informazione testuale - Quantità di informazione da rappresentare (considerando l’alfabeto inglese): 26 lettere + le 26 lettere maiuscole + 10 cifre decimali + 30 caratteri circa di uso comune (., *, %, etc.) + alcuni caratteri di controllo (spazi, interruzione di riga) ovvero 120 caratteri circa - Numero di BIT necessari: bastano 7 bit poiché 2^7 = 128 > 120
  • Su questa base è stato creato il codice ASCII, basato appunto sull’uso di 7 bit per ogni carattere - Esempi: - A diventa 1000001 - B diventa 1000010 - a diventa 1100000 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 21 LIMITI DI ASCII E ALTRI CODICI
  • Poiché i 7 bit usati da ASCII consentono di rappresentare

solo 128 caratteri diversi, sono stati definiti nel tempo

altri codici per consentire la rappresentazione di più

caratteri

  • ASCII esteso: usa 8 bit (un BYTE) per carattere. Consente quindi di rappresentare anche caratteri accentati e lingue diverse dall’inglese.
  • UNICODE: usa 2 BYTE (16 BIT) per carattere. Consente quindi di rappresentare 2^16 caratteri diversi (65536). Usato per le lingue che utilizzano altri alfabeti (es. cirillico, arabo, ebraico, greco) 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 22

NUMERI IN BASE DIVERSA DA 10

  • Con la stessa regola è possibile scrivere i numeri in

qualsiasi base

  • Usiamo ad esempio la base 6
    • Simboli: 0, 1, 2, 3, 4, 5
  • Esempio:
    • Il numero 542 in base 6 si legge
    • 5 x 6^2 + 4 x 6^1 + 2 x 6^0 = 180 + 24 + 2 = 206
    • NB: se lo stesso numero invece che in base 6 fosse in base 8 avrebbe un altro significato
    • 5 x 8^2 + 4 x 8^1 + 2 x 8^0 = 320 + 32 + 2 = 354 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 25 L’OPERAZIONE INVERSA
  • Partendo invece da una quantità, occorre comprendere

come scriverla in una certa base

  • Per farlo dobbiamo chiederci quante volte la base rientri nella quantità e capire se abbiamo abbastanza cifre per scrivere tale informazione
  • Di conseguenza, dividiamo il numero originario per la base e memorizziamo i resti, fino a non poter più procedere con la divisione
  • Basterà leggere i resti in senso inverso per ottenere il numero 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 26

ESEMPIO

  • Trasformiamo il numero 23 dalla base 10 alla base 2
    • 23 / 2 = 11 con il resto di 1
    • 11 / 2 = 5 con il resto di 1
    • 5 / 2 = 2 con il resto di 1
    • 2 / 2 = 1 con il resto di 0
    • 1 / 2 = 0 con il resto di 1
  • Il numero è quindi 10111
  • Verifichiamo:
    • 1 x 2^4 + 0 x 2^3 + 1 x 2^2 + 1 x 2^1 + 1 x 2^0 = 16 + 0 + 4 + 2 + 1 = 23 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 27 CODIFICA DELL’IMMAGINE
  • La codifica delle immagini si basa sull’idea di vedere

l’immagine come un insieme di punti di colore

  • A questo scopo, l’immagine viene suddivisa per mezzo di

una griglia in sottoporzioni, dette pixel

  • Il calcolatore visualizza l’immagine riproducendo i pixel

che la compongono

  • Maggiore il numero di pixel (risoluzione), maggiore la

qualità dell’immagine risultante

2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 28

CODIFICA DELL’IMMAGINE

  • Per tradurre un’immagine in BIT occorre pensare a ogni

pixel come a un punto di colore

  • Se associamo a ogni colore una codifica binaria, ogni pixel verrà trasformato in una sequenza di BIT
  • Per convenzione rappresentiamo i pixel dal basso in alto e da sinistra a destra
  • Il caso più semplice è quello di un’immagine in bianco e

nero

  • Ogni pixel può avere solo due colori
  • Basta quindi un BIT per ogni pixel
    • 0 indica il bianco
    • 1 indica il nero 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 31 ESEMPIO 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 32  0000000011111000111000001000 22 23 24 25 26 27 28 15 16 17 18 19 20 21 8 9 10 11 12 13 14 1 2 3 4 5 6 7 Il triangolo è approssimato a causa della bassissima risoluzione (7x4) Con risoluzione più alta la figura sarebbe migliore 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0

IMMAGINI A COLORI

  • Per i colori si usano diversi standard
  • Prendiamo in esame RGB (Red, Green, Blue)
  • In RGB il colore di ogni pixel è visto come una

combinazione dei colori Rosso, Verde e Blu

  • Per ogni colore si possono avere 256 sfumature
  • Il numero di colori diversi è quindi pari a 256x256x

(circa 16 milioni)

2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 33 Esempi Rosso Verde Blu 0 0 0 255 255 255 255 0 0 230 150 50 QUANTITÀ DI INFORMAZIONE IN UN’IMMAGINE

  • Il numero di colori che un pixel può avere determina il

numero di BIT necessario a rappresentare un pixel

  • Ogni colore è infatti una diversa informazione e il pixel l’unità è il messaggio
  • Nelle immagini in bianco e nero, il numero di colori è 2
  • Basta dunque un solo BIT (2 = 21) per ogni pixel
  • Nelle immagini in RGB necessitiamo di 8 BIT per ogni colore
  • 256 sfumature, quindi 256 informazioni diverse
  • Poiché 256 = 2^8 , dobbiamo usare 8 BIT (ovvero 1 BYTE)
  • Il numero di colori di base però è tre (rosso, verde e blu) e per ognuno occorre un BYTE
  • Quindi un pixel richiede 3 BYTE (24 BIT) 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 34

INFORMAZIONE E META-INFORMAZIONE

  • Quando codifichiamo un insieme di informazioni può

succedere che fra esse vi siano delle relazioni

  • Codifichiamo ad esempio il voto dato dai critici a un film sulla scala: - Pessimo, mediocre, discreto, buono, ottimo
  • Non sono abbiamo 5 informazioni diverse, ma tali informazioni sono legate da una relazione d’ordine, per cui ad esempio il giudizio “buono” è migliore di “discreto” e peggiore di “ottimo”
  • Possiamo dunque distinguere tra informazione (i voti possibili dati dai critici) e meta-informazione (la relazione che intercorre fra i voti) 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 37 INFORMAZIONE E META-INFORMAZIONE
  • Un buon sistema di codifica dovrebbe tradurre sia

l’informazione, sia la meta-informazione

  • Se ad esempio codificassimo i voti con il seguente codice binario:
    • 100 (pessimo), 001 (mediocre), 110 (discreto), 010 (buono), 000 (ottimo)
  • Avremmo una codifica corretta dell’informazione ma non della meta-informazione, poiché: - discreto < buono < ottimo - non corrisponde a - 110 < 010 < 000 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 38

DUE MODI PER CODIFICARE LA META-INFORMAZIONE

  • Esistono due strategie per codificare l’informazione

conservando la meta-informazione:

  • Si utilizza un sistema in cui fra i simboli intercorra la stessa relazione che intercorre fra le informazioni da codificare - In tal modo la meta-informazione è esplicita e si dice che il sistema simbolico è analogo all’informazione che codifica: per tale ragione chiamiamo questo sistema codifica ANALOGICA
  • Si utilizza un sistema in cui la relazione dei fra i simboli corrisponde alla relazione fra le informazioni solo in virtù della regola usata per associare simboli e informazioni - In tal modo la meta-informazione è implicita nella regola di codifica. Chiamiamo questa strategia codifica DIGITALE 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 39 ESEMPIO
  • Dati i giudizi:
  • Pessimo < mediocre < discreto < buono < ottimo
  • Codifica analogica:
    • < ** < *** < **** < *****
  • La relazione fra i giudizi corrisponde esplicitamente al numero di stelline usate per esprimerlo
  • Codifica digitale
  • 1 < 2 < 3 < 4 < 5
  • La relazione fra giudizi corrisponde alla relazione fra numeri solo in virtù della regola con cui abbiamo associato a un numero il giudizio corrispondente 2010/2011 Fondamenti dell'Informatica per le Scienze Umanistiche 40