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 CONDIZIONE 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 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) CONDIZIONE CONDIZIONE Attività di pensiero DATA organismo 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 Clausola Descrivono Insieme di relazioni 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) Struttura (Record) Classe (Class) • • • • Dati omogenei Numero finito di elementi 1 Lunghezze diverse oggetti diversi Costo computazionale COSTANTE in accesso inserimento e cancellazione ONEROSO • Dati omogenei o eterogenei • Gli elementi sono detti CAMPI 2 n … Campo 1 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 h d f e 7 6 g 4 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 CHIAVE HASHING STATICO HASH TABLE 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 834 835 FrancoVerdi 0533 112244 1023 1024 Luigi Rosso 0521 226699 Franco Verdi Luigi Rosso RECORDs 0 1 ARRAY Paolo Rossi INFORMATION MANAGEMENT Strutture dati: contenitori CONTENITORI STRUTTURE OUT IN ACCESSO DIRETTO ACCESSO SEQUENZIALE • Accesso sequenziale • Struttura LIFO (Last In First Out) OUT PILA(Stack) • Accesso sequenziale • Struttura FIFO (First In First Out) IN CODA(Queue) INFORMATION MANAGEMENT Strutturare dati: contenitori CONTENITORI STRUTTURE i ACCESSO DIRETTO j i Vettore N-dimensionale j M V Tridimensionale Monodimensionale Bidimensionale Key • Accesso diretto • Dati omogenei C i ACCESSO SEQUENZIALE 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 STANDARD Linguaggi di programmazione proprietari come Flash GRAFICI (USER-FRENDLY) QBE (Query By Example), utilizzabili anche dai meno esperti