Lezione 02

annuncio pubblicitario
TECNOLOGIE INFORMATICHE MULTIMEDIALI
«La formulazione di un problema è spesso più
importante della soluzione stessa»
(Jacob Getzels e Albert Einstein)
Prof. Giorgio Poletti
[email protected]
Università degli Studi di Ferrara
Dipartimento di Studi Umanistici
Corso di Laurea in «Scienze e Tecnologie della Comunicazione»
aa 2012-2013
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PROBLEM SOLVING
PRINCIPI DI PROBLEM SOLVING
(attività di soluzione di un problema)
CONDIZIONE
DATA
Attività di pensiero
organismo
PROBLEM FINDING
Insiemi di procedimenti in grado di
«scoprire» l’esistenza di un problema
PROBLEM SETTING
Insiemi di procedimenti in grado di configurare in
maniera cognitiva il problema riconosciuto
CONDIZIONE
Intelligenza Artificiale
DESIDERATA
PROBLEM SHAPING.
Insiemi di procedimenti in grado di meglio
definire un problema complesso
PROBLEM TALKING
Insiemi di procedimenti in grado di
descrivere spiegare e comunicare il
problema
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PROBLEM SOLVING
(attività di soluzione di un problema)
Attività di pensiero
CONDIZIONE
DATA
organismo
CONDIZIONE
Intelligenza Artificiale
DESIDERATA
Scoperta di un problema: intuizione e creatività
PROBLEM FINDING
Dal greco πρόβλημα (próblēma) «sporgenza,
promontorio, impedimento, ostacolo»
capacità cognitiva di creare e
inventare;
dal «creare» latino, condivide
«crescere» la radice KAR. In
sanscrito, "KAR-TR" è «colui che
fa» (dal niente).
Dal latino intueor (in («dentro») + tueor («guardare»), cioè «entrar
dentro con lo sguardo»); forma di sapere non spiegabile a parole, che
si rivela per lampi improvvisi (Knowledge discovery o Data MIning)
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PROBLEM SOLVING
(attività di soluzione di un problema)
CONDIZIONE
DATA
PROBLEM FINDING
Attività di pensiero
organismo
Intelligenza Artificiale
CONDIZIONE
DESIDERATA
ANALISI DELLE INTERCONNESSIONI
(brainstorming, focus group o la creazione di
diagrammi e mappe concettuali)
ESAMINA DEI PROBLEMI POSSIBILI ED ALTERNATIVI
(cercare di porsi il maggior numero di domande su tutto ciò che riguarda la situazione che deve affrontare, ad evitare errori
di similitudine)
PORRE LE GIUSTE DOMANDE
(Da un un elenco il più possibile completo delle possibili domande relative al problema si deve scegliere la migliore)
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
definizione
EURISTICA
NUOVA
approccio
Non LINEARE
dal greco εὑρίσκω: scoprire trovare(scovare)
inventare conoscere
CONOSCENZA
INTUITO
si affida
per generare
CIRCOSTANZE
PRINCIPI DI EURISTICA
Euristica: parte della ricerca il cui compito è quello di favorire l'accesso a nuovi sviluppi teorici o a scoperte empiriche (parte
dell’epistemologia)
Epistemologia (episteme , «conoscenza certa»  «scienza»): filosofia della scienza, studia i fondamenti delle diverse
discipline scientifiche.
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PRINCIPIO MDL
(MINIMUM DESCRIPTION LENGTH)
postulato da
Teoria
dell’informazione
RASOIO DI OCCAM
identifica
Principio metodologico
afferma
INUTILE aggiungere ipotesi a quelle giudicate sufficienti
William of Ockham – XIV sec
(Guglielmo di Occam)
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PRINCIPIO MDL
(MINIMUM DESCRIPTION LENGTH)
postulato da
William of Ockham – XIV sec
(Guglielmo di Occam)
Teoria
dell’informazione
RASOIO DI OCCAM
«A parità di fattori la spiegazione più
semplice è da preferire»
(Guglielmo di Occam)
espresso
in termini di «risoluzione dei problemi»
Non moltiplicare gli elementi
più del necessario.
È inutile fare con più ciò
che si può fare con meno.
Non considerare la pluralità
se non è necessario.
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
PRINCIPIO MDL
(MINIMUM DESCRIPTION LENGTH)
postulato da
Teoria
dell’informazione
William of Ockham – XIV sec
(Guglielmo di Occam)
RASOIO DI OCCAM
Concetti di inferenza
bayesiana
Procedimento per cui si inducono le caratteristiche di una popolazione
all'osservazione di una parte di essa (il campione), parte determinata, normalmente,
mediante un esperimento casuale (aleatorio).
Approccio all'inferenza statistica: le probabilità non sono interpretate come frequenze o
proporzioni, ma piuttosto come livelli di fiducia nel verificarsi di un dato evento.
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
Logica di
Primo Ordine
LINGUAGGI DICHIARATIVI
(O LOGICI)
Sistema formale
Esprimono
enunciati
Conseguenze
logiche
modalità
MECCANICO
FORMALE
LINGUAGGIO DEL PRIMO ORDINE
• alfabeto di simboli
• insieme di termini («oggetti» dell'insieme che si sta considerando)
• insieme di formule ben formate (insieme di stringhe composte di simboli dell'alfabeto che vengono considerate sintatticamente
corrette)
NOZIONI PRELIMINARI
Approccio alla soluzione dei problemi
DATI
LINGUAGGI DICHIARATIVI
(O LOGICI)
Istruzione
diventa
Descrivono
Insieme di relazioni
Clausola
RISULTATO DESIDERATO
Non c’è un ordine prestabilito per
l’esecuzione delle clausole
Descrive relazioni tra dati
Discorso
PROGRAMMAZIONE LOGICA E
LOGICA DI PRIMO ORDINE
Parole
Verbi
INFORMATION MANAGEMENT
Strutturare dati
Organizzazione dei dati
Tipi di dato
Strutture fisiche
• Omogeneo
• Complesso
• Aggregati
INFORMAZIONI
ALGORITMI
• MEMORIZZAZIONE
• ESTRAZIONE
• CONNESSIONE
Strutture logiche
ASTRARRE PER LA PROGETTAZIONE
INFORMATION MANAGEMENT
Strutturare dati
Strutture LOGICHE o astratte
diverse
caratterizzate
• Tempi e modalità di accesso
• Tipi di operazioni consentite
COSTRUTTORI
Struttura (Record)
Classe (Class)
Processo di
ISTANZIAZIONE
Vettore (Array)
hanno
IMPLEMENTAZIONI
Strutture complesse
(composizione di costruttori)
INFORMATION MANAGEMENT
Strutturare dati
Vettore (Array)
•
•
•
•
Dati omogenei
Numero finito di elementi
1
Lunghezze diverse oggetti diversi
Costo computazionale
 COSTANTE in accesso
 inserimento e cancellazione ONEROSO
2
n
…
Campo 1
Struttura (Record)
Classe (Class)
• Dati omogenei o eterogenei
• Gli elementi sono detti CAMPI
Campo n
…
• Record con associati metodi (azioni)
Processo di ISTANZIAZIONE
Strutture complesse
(composizione di costruttori)
Costruiti come combinazioni dei costruttori Vettore, Struttura e Classe e sono STRUTTURE
STATICHE
INFORMATION MANAGEMENT
Strutturare dati dinamiche
STRUTTURE DATI DINAMICHE
PUNTATORI
ALLOCAZIONE DINAMICA della Memoria
• LISTA (Catena)
• LISTA BIDIREZIONALE (Doppia Catena)
INFORMATION MANAGEMENT
Strutturare dati dinamiche
STRUTTURE DATI DINAMICHE
PUNTATORI
ALLOCAZIONE DINAMICA della Memoria
• ALBERO
 ALBERO Ordinato
 ALBERO Binario Ordinato
 GRAFO
a
ALBERO
b
c
GRAFO
d
f
e
7
6
g
4
h
i
5
ALBERO ORDINATO
3
2
1
ALBERO BINARIO ORDINATO
INFORMATION MANAGEMENT
Strutturare dati dinamiche
STRUTTURE DATI DINAMICHE
PUNTATORI
ALLOCAZIONE DINAMICA della Memoria
• TABELLA HASH (hash, pezzettino, table)
In senso figurato rappresenta un composto eterogeneo dalla forma incerta, e in informatica la funzione hash è una funzione che
mappa una stringa di lunghezza arbitraria in una stringa di lunghezza predefinita. Struttura dati utile per cercare velocemente un
elemento all'interno di un insieme sulla base di una chiave
HASH TABLE
CHIAVE
HASHING STATICO
Metodi Hash di ricerca
VALORE
HASHING ESTENDIBILE (O LINEARE)
Progettazione di DBMS (Data Base Management System)
INFORMATION MANAGEMENT
Strutturare dati: contenitori
STRUTTURE DATI DINAMICHE
PUNTATORI
ALLOCAZIONE DINAMICA della Memoria
• TABELLA HASH
CHIAVE
HASH TABLE
Metodi Hash di ricerca
VALORE
Paolo Rossi
0532 112233
Ugo Bianchi
45
46
Ugo Bianchi
0532 114433
Franco Verdi
834
835
FrancoVerdi
0533 112244
Luigi Rosso
1023
1024
Luigi Rosso
0521 226699
RECORDs
0
1
ARRAY
Paolo Rossi
INFORMATION MANAGEMENT
Strutture dati: contenitori
IN
ACCESSO DIRETTO
ACCESSO SEQUENZIALE
CODA(Queue)
OUT
• Accesso sequenziale
• Struttura LIFO (Last In First Out)
• Accesso sequenziale
• Struttura FIFO (First In First Out)
IN
PILA(Stack)
OUT
CONTENITORI STRUTTURE
INFORMATION MANAGEMENT
Strutturare dati: contenitori
CONTENITORI STRUTTURE
i
ACCESSO DIRETTO
j
i
Vettore N-dimensionale
• Accesso diretto
• Dati omogenei
C
i
ACCESSO SEQUENZIALE
j
M
V
Tridimensionale
Monodimensionale
Key
Bidimensionale
Matricola
Tabella
k
Corso
IN
• Accesso per chiave
• Insieme di Record
Studente
INFORMATION MANAGEMENT
Strutturare dati: contenitori
CONTENITORI STRUTTURE
ACCESSO DIRETTO
ACCESSO SEQUENZIALE
Plesso (Plesso) • Accesso PER CHIAVE
• Ogni elemento di lunghezza variabile e con un descrittore
INFORMATION MANAGEMENT
Data Base
DATA BASE
INSIEME DI ARCHIVI
MODELLO LOGICO DI CONNESSIONE
Archivio
Archivio
Dati correlati
DATA BASE
Archivio
Informazioni Reperibili
INFORMATION MANAGEMENT
Data Base
DATA BASE
INSIEME DI ARCHIVI
MODELLO LOGICO DI CONNESSIONE
GERARCHICO
RETICOLARE
RELAZIONALE
A OGGETTI
SEMANTICO
Modello Logico
Anni 60
GERARCHICO
Anni 70
RETICOLARE
RELAZIONALE
Anni 80
A OGGETTI
dal 2000
SEMANTICO
Modello di rappresentazione
Albero
Grafo
Relazioni tra tabelle
Paradigma Object
Oriented
Grafo Relazionale
Linguaggio XML
INFORMATION MANAGEMENT
Data Base
DATA BASE
Linguaggi per UTILIZZO
Linguaggi per TIPOLOGIA
Linguaggi per UTILIZZO
DDL (DATA DEFINITION LANGUAGE)
Definizione delle strutture dati e regole di accesso
DMCL (DEVICE MEDIA CONTROL LANGUAGE)
Controllo delle memorie di massa utilizzate
DML (DATA MANIPULATION LANGUAGE)
Funzioni di inserimento, gestione e
cancellazione dati
DCL (DATA CONTROL LANGUAGE)
Funzioni di inserimento, gestione e
cancellazione dati
QL (QUERY LANGUAGE)
Funzioni interrogazione ed estrazione dati
secondo criteri
INFORMATION MANAGEMENT
Data Base
DATA BASE
Linguaggi per UTILIZZO
Linguaggi per TIPOLOGIA
TESTUALI E INTERATTIVI
SQL (Structured Query Language)
Linguaggi per TIPOLOGIA
TESTUALI INTERATTIVI, PARTE DI ALTRI
LINGUAGGI STANDARD
Linguaggi di programmazione,
come ad esempio C o Java
TESTUALI INTERATTIVI, PARTE DI ALTRI
LINGUAGGI PROPRIETARI
Linguaggi di programmazione
proprietari come Flash
GRAFICI (USER-FRENDLY)
QBE (Query By Example), utilizzabili
anche dai meno esperti
Scarica