1/107
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
machine learning
algoritmi di apprendimento automatico, cioècome le macchine riescono ad apprendere nuove informazioni in modo automatico.
informatica
coniato negli anni ‘60 da Philippe Dreyfus, indica l’elaborazione automatica dell’informazione;
information + automatique
analisi dell’informazione simbolica
analisi dei simboli e delle loro interazioni (sintassi) senza preoccuparsi del significato;
include la teoria dell’informazione (Claude Shannon) e gli aspetti quantitativi
entropia
misura la quantità di incertezza associata al valore di una variabile
analisi dell’informazione semantica
analisi del significato e del valore di verità dei simboli;
comprende la filosofia dell’informazione (Luciano Floridi) e gli aspetti quantitativi
sistema di notazione additiva
Egizi, Romani;
un simbolo distinto per rappresentare ogni diversa unità (I,II, III, IV, V, ecc.)
sistema di notazione posizionale
decimale;
i valori rappresentati sono indicati dalla posizione del simbolo nella sequenza di caratteri che rappresentano il numero (1, 2, 3, 4, 5, ecc.)
abaco
strumento in uso dal XXI sec. a.C. in Cina e Medio Oriente, mentre in Europa si hanno le prime evidenze in Grecia nel V sec. a.C.
radici dell’informatica
logiche (filosofia, logica, matematica);
ingegneristiche (fisica, meccanica)
Gottfriend Leibniz
inventa il calcolo infinitesimale indipendentemente da Newton
«Idea meravigliosa»
creare un linguaggio che, tramite calcoli simbolici, potesse stabilire quali dei suoi enunciati erano veri e quali relazioni logiche intercorrevano tra essi
caratteristica dell'a «idea meravigliosa»
sistema simbolico simile a quello dell’algebra per rappresentare le idee ben definite;
calculus rationcianatur
regole per manipolare i simboli
Alan Turing
padre della scienza informatica, introduce un modello astratto di calcolo che si basa sull’osservazione (1936), che continua ad essere alla base dei sistemi informatici contemporanei
transistor
nato nel 1947;
è un interruttore controllato elettronicamente che permette l’interpretazione delle porte logiche (logica Booleana) alla base dei processori.
miniaturizzazione dei transitor
computer più potenti a parità di spazio
legge empirica di Moore
il numero di transitor in un circuito integrato di dimensioni fissate raddoppia ogni due anni circa
cloud computing
delegare i calcoli a un server esterno
quantum computing
si sfruttano diverse leggi della fisica
computer quantistico
i transitor di base non sono i bit (0/1) ma i qbit, che possono trovarsi in una combinazione di 0 e 1
modello di calcolatore astratto
Alan Turing: descrive il comportamento di un computer in termini astratti osservando un essere umano che esegue un calcolo basato su un insieme finito di regole;
vincoli del modello astratto di calcolo
limite fisso allo spazio su carta che un essere umano può considerare in un dato momento
solo un numero finito di simboli può essere scritto e usato in qualsiasi calcolo;
i simboli possono essere cancellati o scritti in qualsiasi momento;
lo stato mentale attuale insieme all’ultimo simbolo scritto determina cosa fare dopo
macchina di Turing
nastro illimitato diviso in caselle, ciascuna può contenere un simbolo di un determinato alfabeto finito;
una testina per leggere e scrivere simboli da un dato alfabeto sulle caselle;
un’unità di controllo che si trova in uno dei molti stati finiti in un dato momento
problema della macchina di Turing in azione
dato un numero naturale bisogna verificare se è pari o dispari
input
numero scritto sul nastro
output
quadrati tutti vuoti (simbolo speciale per la terminazione) tranne uno che sarà 0 se l’input era pari, 1 se era dispari
Q
l'insieme degli stati della macchina; ogni stato rappresenta una configurazione interna della macchina
Σ
l'alfabeto di ingresso, cioè l'insieme dei simboli che la macchina può leggere dal suo nastro (o dall'ingresso).
δ
funzione di transizione; in una macchina a stati finiti, questa funzione determina come la macchina cambia stato in base al simbolo in ingresso e allo stato attuale; nella macchina di Turing, δ può essere una funzione che definisce sia il nuovo stato che l'operazione di movimento (spostamento a sinistra o destra del nastro)
q₀
lo stato iniziale della macchina, cioè lo stato da cui la macchina inizia il suo processo di elaborazione
F
l'insieme degli stati finali (o di accettazione), che rappresentano le configurazioni in cui la macchina termina l'elaborazione con successo.
conseguenze della macchina di Turing
qualsiasi cosa calcolabile attraverso un processo algoritmico può essere calcolata da una macchina di Turing; se dimostriamo che un determinato compito non può essere svolto da una macchina di Turing, possiamo concludere che nessun processo algoritmico può svolgere tale compito (tesi Church-Turing); tutte le macchine (anche quelle odierne) possono essere ricondotte al modello di Turing
hardware
componenti materiali
software
applicazione, sistema operativo
architettura di von Neumann
modello di elaboratore elettronico;
modello di calcolatore universale in grado di svolgere ogni tipo di calcolo; la memoria è condivisa tra dati e applicazioni; codifica binaria di dati e istruzioni; separazione tra meccanismo di elaborazione e memorizzazione
CPU
Central Processing Unit, opera la trasformazione dei dati;
contiene i registri di memoria → le istruzioni correnti, l’indirizzo di memoria istruzione, unità di controllo (comunicazione tra ALU e registri/memoria)
ALU
Arithmetic Logic Unit, circuiti dedicati alle operazioni aritmetiche-logiche elementari
memoria
insieme di celle numerate (indirizzate), ciascuna contenente un dato di base
memoria cache
piccola, veloce, integrata nella CPU
memoria centrale
RAM, interagisce direttamente con la CPU; volatile
memoria di massa
capiente ma lenta
interfaccia
diviso in input e output, gestisce l’interazione con l’ambiente esterno
Bus
canale di comunicazione unico che gestisce lo scambio di informazioni tra i sottoinsiemi
struttura calcolatore (PC)
segue l’architettura di von Neumann:
periferiche input e output;
unità centrale: alimentatore, ventole di raffreddamento; scheda madre
scheda madre
slot a cui si connettono il processore (CPU) e la memoria RAM
classificazione calcolatori
Embedded: integrati dentro i sistemi per eseguire un solo task;
Minicomputer: es. PC;
Mainframe: fascia alta, calcoli massivi, usati da grandi organizzazioni
Supercomputer: tecnologia innovativa con prestazioni elevatissime, usato in campo scientifico
pensiero computazionale
introdotto per la prima volta da Seymour Papert in ‘Mindstorms’ (1980), è la capacità di immaginare e descrivere un procedimento costruttivo che porti alla soluzione (generica, quindi riapplicabile) di un problema;
viene acquisito tramite la programmazione;
è un concetto ampio che permette di acquisire elasticità mentale e capacità di risoluzione dei problemi
quattro cardini del pensiero computazionale
Scomposizione: scomporrre un problema o sistema complesso in parti più piccole e gestibili;
Ricerca di somiglianze tra e all’interno del problema;
Astrazione: concentrarci solo sulle informazioni importanti;
Algoritmi: sviluppare una soluzione dettagliata al problema e definire le regole per risolverlo
Social Media Site
algoritmo che comprime le immagini
istruzione (algoritmo)
può essere espressa in un linguaggio comprensibile ad un essere umano (pseudocodice); poi viene tradotta in un linguaggio per il computer (detto linguaggio di programmazione)
azioni del computer
può eseguire solo operazioni binarie che richiedono due operandi, come:
aggiungere due numeri (1 + 1)
moltiplicare due numeri (2 ∗ 3)
confrontare due numeri (2 < 8)
non può elaborare tanti dati contemporaneamente, ma solamente confrontare due oggetti alla volta;
l’algoritmo deve essere espresso in termini di operazioni di confronto binarie
trovare il valore massimo in una sequenza di valori
inizialmente, il valore massimo è il primo valore della lista, quindi esaminiamo ogni valore nell’elenco; se è maggiore del massimo attuale, quel valore diventa il massimo, altrimenti il massimo rimane lo stesso.
dopo aver esaminato l’intero elenco, il valore massimo corrente è il massimo del valore nell’elenco.
pseudocodice
descrizione informale, di alto livello, di ciò che fa l’algoritmo, è destinato agli esseri umani, piuttosto che alle macchine; esiste una sintassi standard; facilita la scrittura dei programmi
definizione algoritmo
è una serie di passaggi ben definiti per risolvere un problema o eseguire un compito; una sequenza di istruzioni non ambigue che può essere eseguita in un numero finito di passaggi
definizione di programma
insieme di istruzioni scritte in un linguaggio di programmazione che specifica un'attività da svolgere da un computer;
i programmi implementano algoritmi per risolvere problemi specifici
ruolo del programma
traduce gli algoritmi in un linguaggio comprensibile per il computer
ruolo programmazione
arte di scrivere i programmi per risolvere problemi
dato
valore (numerico) grezzo, privo di un particolare significato associato
informazione
valore grezzo con un significato assocaito
conoscenza
insieme di informazioni collegate tra loro (sintesi di informazioni)
rappresentazione dei dati
Sistema romano, non posizionale (X, IX)
Notazione posizionale decimale (0,1,….,9)
Notazione posizionale ottale (0,1,…,7)
Notazione posizionale esadecimale (0,…,9,A,B,C,…)
Notazione posizionale binaria (0,1)
sistema binario
usato perché un dato di base è codificato tramite un segno elettrico, che può essere presente (bit 1) o assente (bit 0);
è naturale in molti altri contesti, come DVD e CD
configurazione K bit
ogni bit può assumere due valori: 000 oppure 111. Il numero totale di configurazioni diverse è dato dal numero di tutte le possibili combinazioni di valori per K bit.
Usando 1 bit: 0,1 (2 configurazioni)
Usando 2 bit: 00, 01, 10, 11 (4 configurazioni)
Usando 3 bit: 000, 001, 010, 011, 100, 101, 110, 111 (8 configurazioni)
ASCII
American Standard Code for Information Interchange (Extended); vengono usati 8 bit (1 byte) per simbolo (256 simboli / configurazioni possibili)
rappresentazione immagini
l’immagine è composta da pixel disposti su una griglia quadrata regolare
digitalizzazione a campionamento
Solitamente si approssima l’immagine usando una griglia (matrice) con celle della stessa dimensione.
Ogni campione è chiamato pixel, più la griglia di campionamento è fitta, migliore sarà il risultato
dati (riferimento ai sistemi informatici)
strutture binarie su un certo supporto di memoria; affinché i dati apportino contenuto informativo, acquistino significato e generino conoscenza, abbiamo bisogno di una chiave di interpretazione, e di organizzare o strutturare i dati
modello dati
consente di attribuire una struttura ai dati e di rappresentare il dominio sul quale si sta lavorando
modello
rappresentazione di fatti relativi a un fenomeno, espressi in un linguaggio formale;
risultato di un processo di interpretazione mosso dalle idee e conoscenze dell’osservatore;
processo di astrazione: rilasciare gli elementi non importanti
database
insieme di dati strutturati secondo un certo schema. I dati contenuti possono cambiare, aumentare o diminuire ma hanno sempre lo stesso schema (stessa struttura e soddisfano sempre i vincoli di integrità)
caratteristiche del database
Efficiente, specialmente nel recuperare le informazioni.
Resistente: un guasto non può portare alla perdita dei dati.
Integro: mantenere i dati consistenti e corretti
Sicuro: diversi utenti / diversi privilegi
tipologie di database
Relazionali: Dati strutturati in tabelle.
Object-oriented: Dati strutturati come una collezione di oggetti, ognuno con attributi e relazioni con altri oggetti.
GIS – Geographic Information Systems: Ottimizzati per immagazzinare dati spaziali/geografici e per recuperare informazioni in base alle relazioni spaziali tra gli oggetti.
progettare il databse
Analisi requisiti: raccogliamo informazioni sul dominio (tramite interviste agli utenti).
Progettazione concettuale: costruiamo un modello del dominio, identificandone le entità e relazioni. Solitamente vengono usati i diagrammi ER (Entity-Relationship).
Progettazione logica: trasformiamo il diagramma ER in uno schema di tabelle (modello relazionale).
Progettazione fisica: implementiamo lo schema logico progettato al punto precedente con un linguaggio formale come SQL
modelli ER
schemi concettuali grafici che ci permettono di modellare la conoscenza di un dominio al fine di crearne un database;
sono composti da: entità e le loro classi, attributi associati alle entità e classi, relazioni tra entità
entità
oggetti di base che appartengono al nostro modello; possono possedere una o più proprietà
proprietà
nome - dominio (insieme dei possibili valori e che la proprietà può assumere;
Atomica: se il suo valore non può essere scomposto in ulteriori sotto-valori;
Unica: Se ha un solo possibile valore.
Totale: Se ogni entità ha un valore per questa proprietà;
Parziale: Se esistono entità senza quella proprietà
proprietà costante
il valore non cambia nel tempo
calcolata
il valore può essere calcolato a partire da altre proprietà
istanza di un’entità
valore specifico di questa
chiave
insieme di attributi di un’entità tali che due entità diverse hanno due diverse chiavi
chiave primaria
se quella che abbiamo deciso che verrà utilizzata nel database per identificare univocamente le entità; in un diagramma ER, sottolineiamo la chiave primaria
classi
tutte le entità del dominio lo condividono; le classi possono essere organizzate in modo gerarchico
diagramma entità-relazioni (RE)
schemi concettuali grafici che ci permettono di modellare la conoscenza di un dominio al fine di crearne un database.
Composti da:
Entità e loro classi
Attributi associati alle entità e classi
Relazioni tra entità
sistema database
modello di dati che non fornisce solo strumenti per strutturare e vincolare i dati, manipolandoli; in questo senso le basi dei dati non sono solo un contenitore di dati strutturali per gestire la programmazione e gestire il database relazionale
SQL
Structured Query Language;
linguaggio di programmazione per la gestione di database relazionali. Consente di memorizzare, recuperare, aggiornare, inserire e analizzare i dati nelle tabelle.
raccolta automatica e sistematica dei dati
infrastruttura web globale e pervasiva: apps, internet delle cose (IoT), dispositivi indossabili…
Procedure di misurazione automatizzate, meccanismi di incentivi
Software di web scraping / Interfaccia di programmazione delle applicazioni (API) /
Piattaforme di crowdsourcing
dati pubblicamente disponibili
dati sul web, pubblici
dati ‘sociali’
racconti attraverso l’osservazione;
non derivati da interventi progettati;
non derivare da interventi progetti
dati interconnessi
emergenza di pattner o regolarità e creazione di modelli produttivi;
confronto tra oggetti
parte di un gruppo (o distribuzione) e discriminare tra gruppi (classificare). Somiglianze e differenze (ad es. identificare gli outliers)
Inferenza e analisi attraverso l'unione e la combinazione di dati, ad es.:
I miei dati di viaggio possono rivelare più che i dettagli di viaggio (es. come la mia capacità d'acquisto)
Dati sui social media per prevedere l’affidabilità creditizia (credit scoring)
Legge europea sulla protezione dei dati personali (GDPR)
entra in vigore ne 2016, dopo essere stato approvato dal Parlamento Europeo. Altrimenti come rimani chiuso la porta, come se ci siano degli obblighi da parte dell’amministrazione.
Dato personale (act. 4)
qualsiasi informazione riguardante una persona fisica identificata o identificabile («interessato»); si considera identificabile la persona fisica che può essere identificata, direttamente o indirettamente, con particolare riferimento a un identificativo come il nome, un numero di identificazione, dati relativi all'ubicazione, un identificativo online o a uno o più elementi caratteristici della sua identità fisica, fisiologica, genetica, psichica, economica, culturale o sociale.
Trattamento (art. 4)
qualsiasi operazione o insieme di operazioni, compiute con o senza ausilio di processi automatizzati e applicate a dati personali o insiemi di dati personali, come la raccolta, la registrazione, l'organizzazione, la strutturazione, la conservazione, l'adattamento o la modifica, l'estrazione, la consultazione, l'uso, la comunicazione mediante trasmissione, diffusione o qualsiasi altra forma di messa a disposizione, il raffronto o l'interconnessione, la limitazione, la cancellazione o la distruzione
principi generali del GDPR
Liceità, correttezza e trasparenza;
Limitazione delle finalità;
Minimizzazione dei dati;
Esattezza dei dati;
Limitazione della conservazione;
Sicurezza dei dati (integrità riservatezza);
Responsabilità (accountability)
leicità, correttezza, trasparenza
i dati devono essere raccolti in modo lecito:
Consenso dell’interessato;
Necessità di concludere un contratto;
Necessità di salvaguardare gli interessi del soggetto;
Trattamento deve essere effettuato in modo corretto e trasparente;
Informazioni chiare sulle finalità e le operazioni del trattamento;
Informazioni sui potenziali rischi associati;
Diritto di accedere ai propri dati;
Consenso informato e limiti
qualsiasi manifestazione di volontà libera, specifica, informata e inequivocabile dell'interessato, con la quale lo stesso manifesta il proprio assenso, mediante dichiarazione o azione positiva inequivocabile, che i dati personali che lo riguardano siano oggetto di trattamento (art 4, GDPR)
Condizioni per aumentare il consenso di DIVE , comprensione di cosa potrebbe essere fatto con i dati (linguaggio)
comprensione di come i dati verranno utilizzati
Mancanza di competenze nella comprensione delle tecniche di trattamento dei dati
Documenti lunghi e scritti in linguaggio giuridico non favoriscono il consenso attivo
Consenso passivo vs. consenso attivo
Imprevedibilità degli usi futuri (ricerca scientifica)
limitazione finalità del trattamento dati
Le finalità del trattamento dei dati deve essere definita prima che il trattamento inizi; non può esserci ulteriore trattamento dei dati che non sia compatibile con la finalità iniziale, salvo eccezioni, es: ricerca scientifica
“In molti casi non è possibile individuare pienamente la finalità del trattamento dei dati personali a fini di ricerca scientifica al momento della raccolta dei dati. Pertanto, dovrebbe essere consentito agli interessati di prestare il proprio consenso a taluni settori della ricerca scientifica laddove vi sia rispetto delle norme deontologiche riconosciute per la ricercascientifica.’’ (Considerando 33 del GDPR).