vuoi
o PayPal
tutte le volte che vuoi
INFORMAZIONE: segnali utili in un mare di rumore
DATI: Informazione (dati utili) + Rumore (dati inutili) = unità informative grezze, disorganizzate che hanno bisogno di un'elaborazione per poter diventare informazione. Possono essere casuali e inutili.
Segnale ≠ MESSAGGIO: il significato trasmesso (se parlo in una lingua che il mio interlocutore non conosce, arriva il segnale ma non il messaggio).
Shannon definisce informazione ciò che può essere misurato con i BIT: quantità di informazione necessaria per scegliere tra due alternative ugualmente probabili (es. destra/sinistra, testa/croce). Altro significato di bit: cifra binaria (binary digit), valore di una variabile binaria che può assumere uno solo di due possibili valori (0/1).
Informazione analogica: può assumere un numero infinito di valori possibili.
Informazione digitale: può assumere un numero finito di valori possibili.
IL CALCOLATORE (COMPUTER): apparecchio destinato
all'elaborazione automatizzata dei dati tramite l'accettazione di istruzioni (input) per compiere determinate operazioni secondo procedure prestabilite ed espresse in modo formale (algoritmi) per produrre un risultato (output) come effetto di un processo di dati immessi determinato da una regola matematica o logica.- La Macchina di Anticitera (circa 150-100 a.C.): primo esempio di computer; apparecchio meccanico per il calcolo automatizzato della posizione dei pianeti nel cielo (output) ad ogni data futura e passata (input), secondo procedure prestabilite ed espresse in modo formale: i meccanismi e i loro movimenti.
- Macchina Analitica di Babbage (circa 1834): progettata (ma mai interamente costruita) dal matematico, filosofo e scienziato inglese CHARLES BABBAGE (1791–1871); è stato il primo prototipo di un computer meccanico sviluppato per eseguire compiti generici. Basato su un sistema di input per dati e programmi tramite schede perforate, un sistema per
L'elaborazione dei dati detta Mill (mulino) è in grado di svolgere le quattro operazioni matematiche, ha una memoria interna in grado di contenere 1000 numeri di 50 cifre e un sistema di output dati costituito da uno stampatore, un arco in grado di tracciare curve e un perforatore di schede per memorizzare dati da utilizzare successivamente. Il suo scopo era quello di calcolare e stampare le tabelle logaritmiche.
Con questa macchina nascono i primi algoritmi.
Il primo algoritmo (1842): la matematica inglese ADA LOVELACE (1815-1852), in una pubblicazione che descriveva il funzionamento della macchina analitica di Babbage, presenta un programma (un algoritmo) per il calcolo di una serie matematica con questa macchina. Il programma è il primo algoritmo specificamente pensato per essere calcolato da un computer. Ada Lovelace è considerata la prima programmatrice.
ALGORITMO: è una serie di istruzioni, di compiti e attività che devono essere compiuti.
perottenere il risultato voluto; è un metodo per risolvere problemi ed è alla base di ogni programma per computer. Esempio: Google utilizza l'algoritmo di ricerca PageRank, che ricerca e fornisce risultati utili e rilevanti in base a ciò che abbiamo cercato. Quando un algoritmo, o una serie di algoritmi, sono scritti in un linguaggio di programmazione, un linguaggio formale dotato di sintassi e semantica non ambigui, diventa comprensibile alla macchina e viene denominato programma. Affinché un algoritmo possa essere eseguito dalla macchina, le seguenti condizioni devono essere rispettate: - Logicità: l'algoritmo deve procedere per scelte binarie; ogni momento del processo algoritmico dipende da una condizione che può essere vera o falsa; GEORGE BOOLE (1815-1864) ha studiato la LOGICA BINARIA, ramo dell'algebra in cui le variabili possono assumere solo 2 valori (VERO e FALSO, solitamente indicati con 1 e 0) - Univocità e non ambiguità: ogni passo dell'algoritmo deve essere definito in modo chiaro e senza ambiguità, in modo che la macchina possa eseguirlo correttamente. - Finitudine: l'algoritmo deve terminare dopo un numero finito di passi, altrimenti si verificherebbe un ciclo infinito. - Effettività: ogni passo dell'algoritmo deve essere eseguibile in modo effettivo, cioè deve essere possibile eseguirlo con le risorse disponibili. Utilizzando gli appositi tag html, il testo formattato sarà il seguente:Per ottenere il risultato voluto, è un metodo per risolvere problemi ed è alla base di ogni programma per computer.
Esempio: Google utilizza l'algoritmo di ricerca PageRank, che ricerca e fornisce risultati utili e rilevanti in base a ciò che abbiamo cercato.
Quando un algoritmo, o una serie di algoritmi, sono scritti in un linguaggio di programmazione, un linguaggio formale dotato di sintassi e semantica non ambigui, diventa comprensibile alla macchina e viene denominato programma.
Affinché un algoritmo possa essere eseguito dalla macchina, le seguenti condizioni devono essere rispettate:
- Logicità: l'algoritmo deve procedere per scelte binarie; ogni momento del processo algoritmico dipende da una condizione che può essere vera o falsa; GEORGE BOOLE (1815-1864) ha studiato la LOGICA BINARIA, ramo dell'algebra in cui le variabili possono assumere solo 2 valori (VERO e FALSO, solitamente indicati con 1 e 0)
- Univocità e non ambiguità: ogni passo dell'algoritmo deve essere definito in modo chiaro e senza ambiguità, in modo che la macchina possa eseguirlo correttamente.
- Finitudine: l'algoritmo deve terminare dopo un numero finito di passi, altrimenti si verificherebbe un ciclo infinito.
- Effettività: ogni passo dell'algoritmo deve essere eseguibile in modo effettivo, cioè deve essere possibile eseguirlo con le risorse disponibili.
ambiguità: il significato dei comandi è univoco ed espresso mediante linguaggio formalizzato; uno e un solo significato.
Finitezza ed eseguibilità delle istruzioni: la serie di operazioni deve essere discreta enumerabile.
Terminatezza o completezza: la procedura deve poter arrivare a compimento e terminare.
La Macchina universale: descritta da ALAN TURING (1912-1954); egli definisce un modello matematico per un automa che potesse essere programmato per eseguire ogni algoritmo.
Il calcolatore: composto da 1) una parte fisica, chiamata hardware, che trasforma operazioni logiche in impulsi elettrici all'interno del computer per poter essere analizzati dal processore (la CPU - Central Procesing Unity), e 2) un software (con cui di solito ci interfacciamo), formato da programmi applicativi (Word, Power Point, un browser) che ci presentano le informazioni in modo che possiamo capirle, e sistemi operativi (Windows).
2) Rappresentazione
digitalizzazione (di un'immagine) 1. QUANTIZZAZIONE SPAZIALE = ridurre la risoluzione spaziale dell'immagine da un'area continua a un numero finito di elementi, i pixel (picture elements), ognuno dei quali rappresenta una porzione dell'area; tanto più piccolo è il pixel tanto più l'immagine si avvicina a quella analogica. 2. Convertire il livello di luminosità che corrisponde a ciascun pixel in un codice che possa rappresentare approssimativamente il valore di grigio.blu per ottenere il colore desiderato. La digitalizzazione delle informazioni è un processo fondamentale nella società moderna. Consiste nel convertire l'informazione in un codice univoco che la rappresenti, e successivamente decodificarla per riportarla alla sua forma originaria. Questo processo deve essere standardizzato in modo da poter essere utilizzato per diverse applicazioni, come dati numerici, testi, audio, immagini, video, ecc. Inoltre, deve essere compatibile con tecnologie affidabili e accessibili, in modo che la manipolazione dell'informazione sia robusta e tollerante agli errori. Un byte è composto da 8 bit ed è l'unità di misura utilizzata per rappresentare l'informazione digitale. Per rappresentare i testi si utilizza la codifica ASCII (American Standard Code for Information Interchange), che è composta da 128 codici, ognuno dei quali è formato da 7 cifre. Tuttavia, per rappresentare caratteri non inclusi nell'alfabeto inglese, come à, è, ì, ò, si utilizza la codifica UNICODE. Per rappresentare i colori si utilizza lo standard sRGB (Standard Red Green Blue). Ogni pixel deve rappresentare la giusta quantità di rosso, verde e blu per ottenere il colore desiderato.E blu per ottenere il colore voluto. Oppure si utilizza HSL (Hue, Saturation, Luminance): ogni pixel deve rappresentare la giusta quantità di colore, saturazione, e luminanza per ottenere il colore voluto.
SISTEMA NUMERICO ESADECIMALE = notazione numerica alternativa a base 16, spesso usata per indicare i valori RGB. 16 numerali: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
3) Compressione dei dati
- Compressione senza perdita di dati (Lossless): mira ad eliminare la ridondanza innata nei dataset, e a raggiungere un valore di informazione per bit di dati quanto più vicino al valore dell'entropia del sistema. Claude Shannon definisce l'ENTROPIA (H) della fonte dell'informazione = il contenuto informativo medio di una sequenza di dati; quanta informazione (bit di informazione) è contenuta in media in un bit di dati.
- Compressione con perdita di dati (Lossy): mira a semplificare il dataset tramite l'eliminazione di parte
dell'informazione.
Compressione file immagine:
- C'è molta ridondanza di dati (due pixel vicini in genere avranno molte caratteristiche in comune; lo stesso non avviene, ovviamente, con le righe di testo)
- I nostri occhi tollerano una certa approssimazione nella percezione delle informazioni visive (è possibile eliminare informazione senza causare l'illeggibilità del messaggio. Possiamo pensare a metodi di compressione con perdita di dati: lossy compression).
Formati di file per le immagini
Il formato dei file costituisce una strategia per i computer (e noi stessi) per standardizzare come organizzare i dati. Formati diversi indicano diversi tipi di file e organizzazione, compressione, e struttura dei dati.
I formati indicano al computer quale algoritmo impiegare per aprire i file e il protocollo da seguire per accedere all'informazione in maniera corretta.
4) Modellazione e strutturazione dei dati
MODELLO = processo di astrazione che ci permette di
decidere quali caratteristiche di quello che vogliamo rappresentare sono importanti; sono caratteristiche emergenti, perché dipendono da quello che noi vogliamo fare con esse. MODELLING = modellazione, azione di creare modelli; avviene in due fasi:- Modellazione concettuale: agisce sul livello semantico, permette l'identificazione e la descrizione di entità e delle loro relazioni.
- Modellazione logica: definizione della struttura dei dati che diviene computazionabile tramite modelli matematici.
Forniscono una prospettiva formalizzata sull'argomento, espresso in maniera tale da poter accedere ad informazioni specifiche sull'oggetto di studio; permettono di selezionare quali aspetti dell'argomento che ci servono, sono computabili e in quale forma.
La modellazione dei dati viene applicata alla creazione di DATABASE = strumenti per archiviare informazioni di un certo dominio e che permette di fare domande riguardo allo stato del dominio così descritto.
Modelli Formati
Il PROCESSO DI SERIALIZZAZIONE converte modelli in formati. Questi fanno sì che si possano convertire i dati in informazione binaria e che possano essere manipolati e trasmessi da computer e sistemi informatici. Ogni formato può a sua volta essere riconvertito da bit all'informazione originaria.
Tipi di modelli:
- Tabella
- Modello relazionale
- Linguaggio di marcatura: struttura ad albero, gerarchica, composta da famiglie di elementi
- Linked data: ogni dato è
Espresso come una tripletta di informazioni, ognuna delle quali collega un soggetto e un oggetto; strutt