Comprensibile e Significativa, di una notizia o messaggio che, in un certo contesto o ambiente, apporta maggiori Conoscenze



Scaricare 338.31 Kb.
Pagina1/4
23.05.2018
Dimensione del file338.31 Kb.
  1   2   3   4

dati(1)


fondamenti

informazione – dato – tipo di dato

Col termine Informazione si intende l’espressione, in forma Comprensibile e Significativa, di una notizia o messaggio che, in un certo contesto o ambiente, apporta maggiori Conoscenze circa una realtà o fenomeno.

In altri termini, l’informazione è ciò che riduce la Incertezza delle conoscenze in relazione ad un certo argomento o al verificarsi di un certo evento.

Il concetto di informazione è strettamente legato a quello di Comunicazione: l’informazione è ciò che un soggetto sorgente S intende comunicare ad un soggetto destinatario D quando S e D convergono verso uno stesso Rapporto Semiotico (in altri termini, quando S e D stabiliscono un accordo univoco circa i significati, cioè la semantica, di ciò che viene comunicato).

L’informazione può essere acquisita in diverse forme da diverse fonti (suoni, immagini, gesti, alfabeto, simboli, cifre), secondo diverse modalità (in tempo reale o differito, in modo diretto o indiretto se trasformata) e secondo vari Gradi di Attendibilità, infatti, siccome in qualche modo l’informazione implica la comunicazione, si pone almeno il problema della Univocità di Interpretazione dell’informazione.

La trasmissione dell’informazione, quale fase di un processo di comunicazione, implica che l’informazione sia rappresentata tramite un modello, fondamentalmente basato su di un Linguaggio (in senso lato); una entità minima di senso compiuto di tale modello viene a costituire ciò che si chiama Dato.

Stabilire una entità minima di informazione consente di poter parlare di quantità di informazione, cioè di poter definire una Misura della Informazione (vedi seguito).

Per ora e per il seguito si farà riferimento anche alle slide DATI01 e DATI02.

Col termine Dato si intende una Rappresentazione Formalizzata o codificata di una informazione, tale da poter essere interpretata, comunicata ed elaborata da esseri umani o sistemi automatici.

La parola Dato deriva dal latino Datum, traducibile col termine fatto: i dati sono fatti, anche ipotetici, che diventano informazioni quando trasmettono un significato, ciò che è come dire che l’informazione è il significato dei dati, i quali codificano fatti.

Un dato è dunque una rappresentazione formale di eventi, concetti, istruzioni, comandi (espressi in forme opportune, p.es. simboli o caratteri di un alfabeto, simboli grafici o icone, ecc.) cui può essere assegnato e/o riconosciuto un significato e rispetto al quale sia possibile compiere delle Operazioni (in senso lato) ed instaurare una comunicazione.

Un dato costituisce pertanto (o contiene) un’informazione per un soggetto se, fornendone una chiave interpretativa (significato o Semantica del dato), ciò comporta un reale aumento delle conoscenze del soggetto circa la realtà che il dato rappresenta.

Come già accennato, il concetto di dato, in quanto derivato da un processo di formalizzazione, implica l’esistenza di un Modello di Rappresentazione, fondamentalmente basato su di un Linguaggio, in cui il dato stesso gioca il ruolo di entità minima dotata di senso compiuto.

Tramite i dati, espressi in forma opportuna (simboli, caratteri, icone, ecc.), è dunque possibile Modellare la Realtà (eventi, concetti, comandi, ecc.) dandone una rappresentazione formale cui sia assegnato e/o riconosciuto un significato certo ed in cui sia possibile effettuare delle Operazioni e la comunicazione.

Distinguendo i dati in base alla loro natura (o al loro dominio di definizione) ed alle operazioni su di essi definibili si perviene al concetto di Tipo di Dato.

Col termine Tipo di Dato si intende un insieme di dati cui sia associato un insieme di operazioni.

In altri termini, un tipo di dato è un insieme di dati dotato di una struttura di tipo algebrico.

Oppure, un tipo di dato è definito quando è dato un insieme di “oggetti” o “valori” (elementi costituenti l’insieme di supporto del tipo di dato) ed un insieme di operazioni eseguibili su di essi (algebra associata).

Distinguendo i dati in base alla loro natura (ciò che si rappresenta) e le operazioni in base alle loro proprietà (ciò che si può fare) si possono ottenere per astrazione diversi tipi di dati.

I Tipi di Dati sono trattati più avanti in questa dispensa e nella Dispensa DATI(2).



misura della informazione

Come già accennato, almeno da un punto di vista intuitivo si può dire che la Informazione è ciò che riduce la incertezza delle conoscenze su di un certo argomento o, in altri termini, il grado di incertezza del verificarsi di un certo evento E.

Viene dunque spontaneo esprimere una misura H della quantità di informazione associata ad E in base alla probabilità P(E) del verificarsi di E, ovvero esprimere H come una funzione di P(E):

H=f(P(E))

In tal senso, informazione non va confusa con significato; in particolare, per quanto concerne la teoria delle comunicazioni, il termine informazione riguarda non tanto ciò che si dice effettivamente quanto piuttosto ciò che si potrebbe dire: l'informazione esprime una misura del grado di libertà di scelta nella scelta di un messaggio fra un insieme di messaggi possibili.

Quale Unità di Misura dell'Informazione si può fare riferimento alla informazione minima per prendere una decisione tra due eventi equiprobabili, in altri termini, una situazione a due alternative (del tipo "tutto o nulla") possiede una unità elementare di informazione, alla quale viene naturale associare la cifra binaria, cioè il Bit.

In tale ottica, H cresce al diminuire di P(E) (da 1 a 0) e dovrà risultare nulla per P(E)=1 ed infinita per P(E)=0, in conformità con la constatazione, ovvia, che l'evento certo non fornisce informazione ed il verificarsi dell'evento impossibile implica un contenuto informativo teoricamente infinito (casi limite).



P(E) H

0 (evento impossibile) (informazione "infinita")

 


1 (evento certo) 0 (informazione nulla)

Rimane da determinare le caratteristiche della funzione:

f:P(E)H

Una funzione che può descrivere H, in base alle considerazioni svolte, può essere la funzione logaritmica (in base 2).

Siccome H è proporzionale ad 1/P(E) allora può porsi:

H=log2(1/P(E))=-log2P(E)

La quantità di informazione è quindi esprimibile tramite la formula:

H = -log2P(E)

Tale relazione, nei casi più elementari, definisce la quantità di informazione come logaritmo del numero di scelte possibili (vedi esempio seguente, ove la formula va presa col segno positivo) e, più in generale, stabilisce uno stretto legame col concetto di entropia, ricorrente in termodinamica.

Si noti che il segno meno davanti al logaritmo sarebbe comunque necessario per rendere positiva H, in quanto P(E) varia tra 0 e 1.

La formula dell'informazione è generalizzabile ad insiemi di n simboli (o messaggi completi) indipendenti con associate probabilità di scelta P1,P2,...,Pn (formula dell’informazione media pesata):



n

H = -Pilog2Pi

i=1

L’analisi del caso discreto non è restrittiva in quanto lo studio di un segnale analogico può essere ricondotto a quello di un corrispondente segnale discreto (teoria di campionamento).



Esempio

Un dispositivo bistabile - p.es. un relè - può trattare una situazione di unità di informazione a 2 alternative di messaggi (chiuso=0, aperto=1), percui esso fornisce una quantità di informazione pari a:

H=Log22=1 bit

Com'è noto, dati n relè - p.es. 4 - si hanno:

24=16

scelte (configurazioni, messaggi o alternative) possibili (da 0000 a 1111), cioè il quadruplo che nel caso singolo (2x2x2x2), sensatamente con il risultato:

H=Log216=4 bit



dati astratti e concreti

Definito un insieme minimo di Dati Elementari si possono introdurre Meccanismi Astratti di Strutturazione dei Dati che consentono di costruire Dati Derivati, a partire da quelli semplici, e nuove operazioni, pervenendo così al concetto di Struttura Astratta o Logica di Dati.

Traducendo le rappresentazioni logiche dei dati in rappresentazioni interne ad un elaboratore elettronico si perviene al concetto di Struttura Concreta o Fisica di Dati, la cui implementazione dipende dai meccanismi di strutturazione dei dati offerti dai linguaggi di programmazione e dalle caratteristiche hardware dei sistemi di elaborazione dati.

Si noti che in tale passaggio la rappresentazione logica del dato, la cui semantica è attibuita dall’uomo, viene a sua volta rappresentata nella macchina, traducendosi nella semantica interna dei tipi di dati.

Vediamo di cogliere le differenze tra strutture logiche e fisiche di dati da un punto di vista un pò più generale di quello dell’EDP. A tale scopo, esaminiamo come possono essere considerati gli elementi che caratterizzano un dato (nome, indirizzo, tipo, valore, significato) da parte dell’uomo (U) e della macchina (M).
Nome


  1. Determina l’identificazione del dato e consente di referenziarlo (il nome è collegato all’indirizzo);

  1. Determina l’identificazione del dato e consente di referenziarlo.


Indirizzo

  1. Determina l’ubicazione del dato e consente di accederlo;

  1. Nessun significato in generale.


Tipo

  1. Determina la semantica del dato in termini di spazio allocato, codifica, operazioni ammesse, valori ammessi (limitati dalla natura discreta e finita delle rappresentazioni macchina);

  1. Determina la proprietà di appartenenza del dato ad un certo insieme di “oggetti” I.


Valore

  1. Determina il contenuto del dato, variabile nell’ambito del range di valori ammessi dal suo tipo (insieme di definizione o dominio del dato) secondo la codifica adottata;

  1. Determina un elemento dell’insieme I di appartenenza del dato.


Significato

  1. Nella semantica della macchina il significato del dato non può che essere quello stabilito dal suo Tipo;

  1. Nella semantica dell’uomo il dato rappresenta un Modello di una certa realtà (eventualmente da trasferire ad un elaboratore, il cui modello coincide col Tipo).

Conclusione: la semantica dei modelli logici di dati è vista dall’elaboratore solo in termini di tipi di dati, insufficienti da soli per modellare le realtà che i modelli logici possono descrivere.

La possibilità di trasferire all’elaboratore la semantica dell’uomo è una funzione che deve essere svolta dal software, attraverso la definizione di strutture di dati, relazioni e vincoli tra dati, procedure.

Dal punto di vista logico il contenuto informativo dei dati (in quanto rappresentazioni di realtà) è palesato quando è noto:


  • Il Significato Intensionale dei Dati, cioè la chiave di interpretazione, la semantica, ciò che essi rappresentano in quanto attributi, forme o modelli, ovvero il modello di rappresentazione o Schema dei dati (che nell’ambito dei linguaggi di programmazione coincide col modello fornito dai tipi di dati);

  • Il Significato Estensionale dei Dati, cioè i loro valori specifici o Istanze (estensioni, esemplari) dello schema, ovvero ciò che essi sono contestualmente in quanto valori di attributi, esemplari di forme o modelli.

Si può dunque definire uno Schema o Modello di Dati come una rappresentazione del significato intensionale dei dati, a prescindere dalle particolari istanziazioni di essi; un modello fornisce una descrizione degli oggetti reali da rappresentare attraverso i dati in termini di talune proprietà formali tramite le quali essi sono individuati.

Giova richiamare ancora l’attenzione sulla differenza tra il concetto di Schema o Modello di Dati e Istanza dello schema: lo schema descrive gli aspetti formali di una certa realtà (indipendentemente dagli aspetti “concreti” che potrebbero riguardarla), fornendone la chiave interpretativa, una istanza è invece uno dei possibili reali stati di tale realtà (uno dei possibili “valori” assumibili dagli attributi nel loro dominio di definizione), cioè una estensione o esemplare dello schema (ovvero uno dei possibili “riempimenti” dello schema).


Nota

I modelli di dati sono trattati nella dispensa Data Base Management System (1); vengono qui fornite alcune definizioni come premessa didattica.

Un Modello di Dati identifica:



  • Le Categorie che individuano e suddividono i dati (classi di oggetti della realtà da rappresentare);

  • Gli Attributi di ciascuna categoria (proprietà interessanti tramite le quali si individuano e caratterizzano gli oggetti di una data classe);

  • Le eventuali Associazioni definite tra categorie (relazioni tra classi di oggetti) e gli eventuali attibuti di ciascuna associazione (proprietà informative interessanti relative alle relazioni);

  • I Vincoli di Integrità cui sono soggetti i dati (restrizioni cui sono soggetti i dati). Tali vincoli possono essere:

    • Impliciti: in quanto imposti dalla categoria cui i dati appartengono;

    • Espliciti: in quanto imposti dall’esterno tramite esplicite dichiarazioni.

Strutture Informative
La Rappresentazione della Informazione tramite i dati è un processo di rappresentazione e modellizzazione della realtà che coinvolge il Significato dei dati e si basa sul concetto di Struttura Informativa.

Una Struttura Informativa implica la considerazione di 2 aspetti concernenti i dati ed è costituita da:



  • un Insieme di Dati, dato in senso estensionale, quale insieme di valori che costituiscono l’informazione, o in senso intensionale, quale insieme di attributi;

  • una Struttura dei Dati, data dalle relazioni logiche secondo le quali i dati sono tra loro correlati.


Esempio

L’informazione “distanza tra 2 città” è acquisibile da una tabella (struttura informativa di tipo bidimensionale) scandendone righe e colonne

Tabella Distanze Stradali (Km)

CITTà

Milano

Bologna

Roma

Napoli

Milano

*

220

640

860

Bologna

220

*

410

640

Roma

640

410

*

235

Napoli

860

640

235

*

La struttura (forma della tabella) non varia al variare dei suoi valori (p.es. per la realizzazione di nuove strade) ma potrebbe essere modificata p. es. a scopi di ottimizzazione (minor spazio, eliminazione di ridondanze)




Milano







Bologna

220

Bologna




Roma

640

410

Roma

Napoli

860

640

235



Da un punto di vista concreto, in particolare per quanto concerne i sistemi EDP (elaboratori elettronici) occorrerà considerare che:

  • un tipo di dato avrà una rappresentazione in memoria cioè andrà ad occupare uno spazio fisico (in memoria centrale e/o di massa), percui, per la natura stessa dei sistemi, potranno perdere di validità talune proprietà generali delle algebre, intese in senso matematico, qualora queste siano applicate in tali contesti, dovendosi in essi considerare, di necessità, algebre discrete su elementi a rappresentazione finita;

  • la rappresentazione logica di un dato o di una struttura informativa costruita per via astratta dall’essere umano (per essere poi trasferita alla macchina) sarà diversa dalla rappresentazione fisica del dato o della struttura che la macchina si costruirà al suo interno.

Nel parlare di Tipi di Dati, quindi di Strutture Dati, occorrerà dunque tenere sempre presente due distinti livelli concettuali:

  • la Rappresentazione Logica dei dati;

  • la Rappresentazione Macchina dei dati.

Rappresentazione Logica dei Dati

La rappresentazione logica dei dati, in quanto attività di idealizzazione e schematizzazione compiuta dal programmatore allo scopo di modellare la realtà, corrisponde alla visione logica dei dati, “esterna” all'elaboratore e tendente a prescindere dagli aspetti fisici riguardanti i dati e la loro manipolazione.



L’attività di modellizzazione consiste in un processo di

Astrazione dei Dati

(Data Abstraction)



che consente di definire le

Strutture Astratte o Logiche di Dati

Le Strutture Logiche di Dati sono costruzioni mentali di strutture dati che, partendo da dati semplici, per astrazioni sempre più spinte possono divenire via via più ricche e complesse (si pensi, ad esempio, al maggior livello di astrazione implicato nella rappresentazione logica e macchina di un numero reale rispetto ad un carattere, pur trattandosi di tipi elementari).

Nella pratica della programmazione i dati di tipo elementare e le strutture logiche di dati realizzabili sono generalmente dipendenti dal linguaggio utilizzato.

Rappresentazione Macchina dei Dati

La rappresentazione macchina dei dati è la rappresentazione dei dati nelle memorie dell’elaboratore, cioè la visione “interna”, fisica, dei dati da parte della macchina.

Tali rappresentazioni riguardano principalmente il livello hardware della macchina e sono chiamate:

Strutture Concrete o Fisiche o Interne di Dati

Nella pratica della programmazione le strutture fisiche di dati sono generalmente dipendenti dal sistema EDP utilizzato.



Problematiche di Implementazione

In linea generale, a livello applicativo la natura di un certo tipo di problema da risolvere determina il tipo di struttura informativa cui ricorrere per la rappresentazione dei dati.

Una problematica che si pone a più basso livello è quella di tradurre le strutture logiche di dati in corrispondenti strutture fisiche o interne di dati.

In altri termini, le strutture logiche di dati, su cui opera il programmatore (software applicativo), dovranno trovare corrispondenti rappresentazioni interne alla macchina (hardware/software di base), tramite Implementazioni che organizzino ed interconnettano gli elementi di memoria (sequenze lineari di celle, o Word di memoria, con associati indirizzi) in modo opportuno.

In altri termini ancora, occorrerà disporre di appositi meccanismi che siano in grado di effettuare la:

Allocazione di Strutture Astratte in Strutture Interne di memoria

Tali meccanismi sono di norma moduli del Sistema Operativo i quali, tra i vari compiti, devono assolvere anche ai suddetti.

Questi moduli sono i seguenti:

Sistema di Gestione della Memoria

(Memory Management)

avente il compito di tradurre le strutture logiche di dati in corrispondenti strutture fisiche di dati in Memoria Centrale.

Sistema di Gestione dei File

(File System o Information Management)

avente il compito di tradurre le strutture logiche di dati in corrispondenti strutture fisiche di dati nelle Memorie Periferiche (memorie di massa).

Dalle considerazioni sopra esposte emerge che il linguaggio di definizione delle strutture interne, quindi in particolare il sistema di gestione della memoria, dovrà disporre, in via generale, dei seguenti meccanismi:



  • Allocazione

Assegnazione di una zona di memoria ad una struttura dati. Qualora gli elementi costituenti la zona siano adiacenti, la generazione degli indirizzi sarà additiva altrimenti si attuerà una concatenazione, dotando ogni elemento di un'informazione che consenta di rintracciare il successivo o correlarlo con altri (puntatori).

  • Rappresentazione

Codificazione dei dati e conversione tra i diversi sistemi di rappresentazione di essi.

  • Manipolazione

Lettura, scrittura, modifica della struttura dati in modo da consentire la manipolazione a programma degli stessi.
  1   2   3   4


©astratto.info 2017
invia messaggio

    Pagina principale