Ottimizzazione ELABORAZIONE DI SEGNALI E IMMAGINI MEDIANTE TECNICHE DI CALCOLO EVOLUTIVO. Ottimizzazione e Apprendimento Automatico
|
|
- Gabriella Carbone
- 8 anni fa
- Visualizzazioni
Transcript
1 Ottimizzazione ELABORAZIONE DI SEGNALI E IMMAGINI MEDIANTE TECNICHE DI CALCOLO EVOLUTIVO Stefano Cagnoni L approccio a problemi pratici per i quali non esistono (o sono solo parzialmente note) soluzioni dirette può essere riformulato in termini di ottimizzazione di una funzione obiettivo che rappresenta il costo o la qualità della soluzione. La soluzione, in questi casi, può essere definita in modo generale, con molti parametri. totalmente sconosciuta Spesso è l unica metodologia di progetto possibile! Ottimizzazione e Apprendimento Automatico Tipicamente la funzione da ottimizzare: rappresenta le specifiche di un problema da risolvere viene ottimizzata attraverso procedure automatiche sulla base delle prestazioni ottenute su un certo numero di esempi rappresentativi del problema, o comunque emulando un comportamento desiderato Si realizza quindi un processo di apprendimento induttivo Problema Soluzione incognita Funz. costo f(p 1 p n ) Esempi Metodo di ottimizzazione Soluzione Il problema della progettazione si sposta dalla definizione di una soluzione esatta e giustificata da una teoria alla Un diverso approccio alla progettazione ricerca di una soluzione che funziona bene, attraverso: definizione di un criterio per valutare la bontà (costo) della soluzione cercata scelta del metodo da utilizzare per massimizzarlo (minimizzarlo). 1
2 Quando ricorrere all ottimizzazione? Ottimizzazione e calcolo evolutivo assenza di soluzioni dirette specifiche del problema esprimibili solamente in modo qualitativo. comportamenti o fenomeni descrivibili o misurabili in modo impreciso (es. segnali affetti da rumore) scarsa conoscenza a priori sul problema da affrontare necessità di integrare moduli per i quali singolarmente valgono le precedenti condizioni Il calcolo evolutivo comprende metodi utili nei casi in cui: la soluzione è del tutto sconosciuta - l algoritmo evolutivo definisce forma e parametri della soluzione (ad es. Programmazione Genetica) la soluzione è definita a priori in forma parametrica - l algoritmo evolutivo ottimizza la funzione qualità (costo) agendo sui valori dei parametri che definiscono il comportamento della soluzione (ad es. Algoritmi Genetici, Strategie Evolutive, ecc.) Application frameworks Optimization of parameters of specific objective (fitness) functions related with a well-defined task. Optimization of parameters of specific objective (fitness) functions for a whole system. Optimization of qualitative performances based on comparisons between solutions (tournaments). Generation of solutions from scratch. Applications to signal and image processing and pattern recognition Optimization of filter/detector AND algorithm parameters for event detection and image segmentation. Qualitative optimization of image processing algorithms. Design of implicitly parallel binary classifiers and image operators.
3 Applications Optimization of a QRS detector of ECG signals. Optimization of the 3D segmentation of tomographic images based on an elastic contour model. GP optimization of color palettes for color processing of MR images. Low-level image processing and low-resolution character recognition. OTTIMIZZAZIONE DI FILTRI Typical problems: event detection image segmentation Basic structure of a detection / segmentation algorithm Filter => signal (contrast) enhancement Detector => event (feature) detection SIGNAL PROCESSING Signal Enhancement and Event Detection Linear filter: DESIGN OF QRS DETECTORS THROUGH PARAMETER OPTIMIZATION Given: Filter/detector layout Training set Fitness function Optimize: Filter coefficients Detector threshold Other parameters regulating the adaptive behaviour of the detector 3
4 FILTER LAYOUT ALTRI PARAMETRI DELLA SOLUZIONE Linear: Linear with selected samples: Quadratic with selected samples: EXPERIMENTAL SETUP TRAINING SET second tracts of the ECG from each of the minute records of the MIT-BIH Arrhythmia Database (5981 beats out of about 110,000). FITNESS FUNCTION f = f max - (FP + FN ), f max such that f>0 RESULTS 99.5% average sensitivity (100% on most normal recordings) Much faster detection with respect to published algorithms yielding comparable results FP = False Positives, FN = False Negatives 4
5 IMAGE SEGMENTATION Region based RATIONALE Pre-defined routines seldom work, so: Contour based GA optimisation of a specific edge detector, via interactive specification of a few training contours, followed by extraction of the contours of the structure of interest from the whole data set The problem can be reduced to 1D contour detection. CONTOUR EXTRACTION c 0, c k c k,l FILTER = filter coefficients of 0th, 1st, and nd order terms. d k = offsets along the scan line 5
6 DETECTOR possible detection schemes: Thresholding of filter output O(x i ) = 0 if o(x i )>T 1 otherwise where T = threshold Detection of the threshold-crossings of the filter output where Z= threshold O (x i ) = 1 if (o(x i ) - Z) ( o(xi-1) Z ) < 0 0 otherwise T and Z are also optimised by the GA SEGMENTATION Definition of a starting contour Iterate: Application of the GA-designed filter to the next contour Elastic contour model-based interpolation (also optimised by the GA) of the edge points extracted by the filter RESULTS TRAINING SET One slice following the one which is used to seed the iterative segmentation process FITNESS FUNCTION d yk = distance, along scan line L h, between the actual edge point and the one detected, K = constant 6
7 Evoluzione interattiva di tavole di lookup Scopo: date due immagini I 1 (x,y) e I (x,y), ottenere, evolvendola tramite GP, una immagine a colori I C (x,y) = F (I 1 (x,y), I (x,y) ) interessante dal punto di vista di una specifica applicazione. Fitness implicitamente definita dall utente che è l arbitro del torneo (di dimensione ) utilizzato nella fase di selezione. Dim. popolazione: 15 N. generazioni : Perc. Crossover: 0.7 No Mutazione: Risultati di 3 diversi esperimenti Sub-machine code Genetic Programming Sub-machine code Genetic Programming Variante di GP: si evolvono programmi che usano operatori logici bit a bit che operano su una codifica impacchettata di più dati binari. Programmi eseguibili su calcolatori sequenziali: realizzano implicitamente un paradigma SIMD (Single Instruction Multiple Data) Realizzazione software delle estensioni multimediali degli attuali processori (es. MMX, 3DNow). Tipicamente si usano variabili di tipo unsigned long (a 3 o 64 bit a seconda del compilatore o delle architetture su cui si lavora) per contenere la codifica della stringa di bit di input. La stringa può contenere la codifica di campioni consecutivi di una sequenza temporale, oppure una riga o una finestra di un immagine, ecc. Con una singola operazione binaria bit a bit si opera su un intero blocco di dati. 7
8 Sub-machine code Genetic Programming Vantaggi operare in parallelo su più dati e quindi rendere più efficiente la valutazione della funzione di fitness, valutare, con una singola sequenza di operazioni, la fitness su più casi contemporaneamente. Limiti Non è possibile applicare operazioni diverse (o pesi diversi) a dati appartenenti ad uno stesso blocco: il long int è visto come un array di dati indipendenti su cui viene applicata la stessa operazione. Aims of the application To test SmcGP effectiveness on a real-world problem (car license plate recognition) To compare results achieved by the SmcGP-evolved programs with the corresponding algorithms used in the APACHE license-plate recognition system Experimental test bed (APACHE plate-recognition system) Pre-processing Main task: car licenseplate recognition Data: 130 images of running cars Low-level tasks: plate extraction and character recognition Input image Grey-level image H.gradient image The horizontal-gradient image is then thresholded to obtain a binary image showing only the strongest edges. 8
9 Plate Extraction Character recognition Characters are extracted from the plate and an LVQ neural net is used to recognize them The plate region is the region where the horizontal edge density is highest Riconoscimento di caratteri Criteri di qualità per un classificatore binario Riconoscimento di cifre rappresentate da pattern binari bidimensionali: 10 classificatori binari che hanno in ingresso il pattern bidimensionale e in uscita: 1 se il pattern appartiene alla classe corrispondente al classificatore 0 se il pattern appartiene ad un altra classe Veri Positivi: output 1, risposta corretta 1 Veri Negativi: output 0, risposta corretta 0 Falsi Positivi: output 1, risposta corretta 0 Falsi Negativi: output 0, risposta corretta 1 Sensibilità: VP/(VP+FN) * 100 percentuale dei casi con output=1 in presenza del target Specificità: VN/(VN+FP) * 100 percentuale dei casi con output=0 in assenza del target Predittività positiva: VP/(VP+FP) * 100 percentuale dei casi in cui il target è presente in corrispondenza di output =1 9
10 Classificazione con classificatori indipendenti Vantaggi Ogni classificatore è specializzato e quindi ha prestazioni generalmente molto elevate. realizzazione particolarmente compatta, non richiede di tenere conto, in un unica funzione, delle caratteristiche di più classi. Svantaggi Casi limite (indecidibili): - tutti i classificatori rispondono 0 - più di un classificatore risponde 1. E necessario un meccanismo di disambiguazione. Codifica degli ingressi Pattern di ingresso: caratteri binari di dimensione 13x8 104 bit possono essere rappresentati su 4 (3x4=18) unsigned long. 7 bit del pattern sono impacchettati nei 4 bit meno significativi dei primi 3 long I restanti 3 sono impacchettati nel quarto long. Operatori utilizzati Operatori binari bitwise: AND OR NOT XOR Shift circolari : SHR, SHR, SHR4, SHL, SHL, SHL4 Funzione di fitness funzioni di fitness sperimentate FIT1 = numero di classificazioni corrette (VP + VN) FIT = sqrt ( Sensibilità + Specificità ) NB Se il training set è caratterizzato da una distribuzione uniforme degli esempi nelle 10 classi, allora i casi negativi per ogni classificatore sono 9 volte maggiori dei positivi. Costanti effimere (ERC) unsigned long su 3 bit => FIT1 privilegia la specificità FIT mantiene equilibrio fra le due proprietà 10
11 Parametri evoluzione Dati a disposizione Popolazione : 1000 Perc. Sopravvivenza : 17 % Perc. Crossover : 80% Perc. Mutazione : 3% Selezione tramite torneo con dimensione del torneo = 7 Database Soc. Autostrade circa caratteri 13x8 estratti da targhe reali binarizzati con soglia = 0.5 (0 = nero; 1 = bianco) 604 per il training set 5010 per il test set Da 300 a 000 iterazioni Singolo classificatore Metodo di classificazione Ingresso : unsigned long pattern[4] Uscita : unsigned long out Si considera come uscita del classificatore binario il bit di out che massimizza la fitness sul training set. Classificazione: si applicano i 10 classificatori e si guardano le risposte. Se la risposta è ambigua si applica un classificatore di emergenza (il classificatore LVQ attualmente in uso nel sistema APACHE). In caso di risposta nulla unica possibilità, in caso di più classi riconosciute è possibile specializzare altri classificatori nello spareggio fra classi. Scelta della fitness Con la strategia utilizzata, è stata scelta FIT1. Specificità molto elevata => quando il classificatore risponde 1, sbaglia molto raramente. I casi in cui non ci sono risposte sono meno del 5% I casi ambigui meno dell 1 % Circa il 95% dei caratteri può essere classificato direttamente (accuratezza train 99.98%, test 98.7%). Il restante 5% viene classificato tramite il classificatore LVQ. 11
12 Training set Risultati 99.65% di classificazioni corrette (99.98% sul 99% dei casi classificato direttamente) Test Set 97.43% di classificazioni corrette (98.7% sul 95.3% dei casi classificato direttamente) Circa 0.5 microsecondi per classificatore (.5 microsecondi per pattern) su un Pentium III 600MHz compilando i programmi genetici risultanti. Implementazione: notazione prefissa (AND (AND (NOT (SHR (OR PAT3 PAT))) (SHL4 (SHL4 (NOR (SHR PAT) (AND PAT3 (SHL4 (SHL4 (NOR (SHL (SHL4 PAT3)) (NOR (SHR4 (SHL PAT1)) PAT1)))))) (OR (OR (SHR PAT3) (AND (NOR PAT (AND (SHR PAT) (SHL PAT3)) (SHR (SHR4 (NOT (SHR PAT3)))))) (SHR (SHR4 PAT3))))))) Notazione infissa e listato C ( ( ( NOT ( SHR ( ( PAT3 ) OR ( PAT ) ) ) ) AND ( SHL4 ( SHL4 ( NOT ( ( SHR ( PAT ) ) OR (( PAT3 ) AND ( NOT ( ( SHR4 ( SHL ( PAT1 ) ) ) OR ( PAT1 ) ) ) ) ) ) ) ) ) AND ( SHL4 ( SHL4 ( NOT ( (SHL ( SHL4 ( PAT3 ) ) ) OR ( ( ( SHR ( PAT3 ) ) OR ( ( NOT ( ( PAT ) OR ( SHL ( PAT3 ) ) ) ) AND ( SHR ( SHR4 ( NOT ( SHR ( PAT3 ) ) ) ) ) ) ) OR ( ( SHR ( PAT ) ) AND ( SHR ( SHR4 ( PAT3 ) ) ) ) ) ) ) ) ) ) unsigned long class0 (unsigned long p1, unsigned long p, unsigned long p3, unsigned long p4) { return ( ( ( ~ ( SHR ( ( p3 ) ( p ) ) ) ) & ( SHL4 ( SHL4 ( ~ ( ( SHR ( p ) ) ( ( p3 ) & ( ~ ( ( SHR4 ( SHL ( p1 ) ) ) ( p1 ) ) ) ) ) ) ) ) ) & ( SHL4 ( SHL4 ( ~ ( ( SHL ( SHL4 ( p3 ) ) ) ( ( ( SHR ( p3 ) ) ( ( ~ ( ( p ) ( SHL ( p3 ) ) ) ) & ( SHR ( SHR4 ( ~ ( SHR ( p3 ) ) ) ) ) ) ) ( ( SHR ( p ) ) & ( SHR ( SHR4 ( p3 ) ) ) ) ) ) ) ) ) ); } SmcGP-based plate extraction Input data: 4 unsigned long words encoding a window, of size 3x4 pixels, from the binarized gradient image Desired SmcGP-evolved binary classifier output: 1 if the window belongs to the plate 0 otherwise 1
13 Training set Parametri dell evoluzione 80/130 images Input data: gradient image 100 samples/image: 60 from the plate area, 30 from around the plate, 10 from anywhere else in the image 366 negative positive = 5190 training samples Empty samples (that can be found both inside and outside the plate) have been purged. Popolazione = 1000 individui Selezione tramite torneo di dimensione 7 80% crossover 17% sopravvivenza 3% mutazione Fitness F' = ( nneg FP) ( n + nneg Pos FN ) n Pos = F'' = Dim _ Programma / F = F' + F'' Specificità + Sensibilità Results (training set) Typical results Performance of the best program: Specificity = 33/366 (88.5%) Sensitivity = 4045/484 (83.85%) Program size : 1087 Fitness: The same algorithm that APACHE directly applies to the gradient image can be applied to this image to improve plate localization 13
14 Results When several edges are present outside the plate, the basic algorithm may fail. Filling the gaps in the plate increases robustness The evolved algorithm produces a 10-fold increase in the density of detected pixels within the plate. Sample cases (comparison with APACHE) Both algorithms detect the plate correctly GRADIENT (%) GENETIC (%) PLATE PIXELS AVERAGE 367 (6.48%) 3513 (6.05%) 5661 The increase in the number of false detections is limited and mostly harmless. GRADIENT (%) GENETIC (%) BACKGROUND PIXELS AVERAGE 470 (0.1%) 8157 (.00%) Sample cases (comparison with APACHE) Apache fails, the genetic program detects the plate Quasi-ideal results Other results 14
15 Other results The plate is detected, despite a lot of noise Other results No edges are detected in the plate region: failure Sommario dei risultati Conclusioni Riconoscimento di caratteri: Prestazioni analoghe ad un classificatore LVQ con una riduzione del carico computazionale di circa 10 volte Individuazione della targa: Miglioramento in termini di accuratezza con limitato decremento dell efficienza computazionale L efficienza computazionale dei classificatori evoluti con SmcGP limita l overhead introdotto dal modulo aggiuntivo Nei molti casi in cui un problema di elaborazione/analisi di segnali/immagini è riconducibile ad un problema di ottimizzazione, gli algoritmi evolutivi forniscono strumenti potenti ed efficaci per la ricerca di buone soluzioni ai problemi da risolvere. PROVARE PER CREDERE!!! 15
16 BIBLIOGRAFIA Poli R., Cagnoni S., Valli G., ``Genetic design of optimum linear and non-linear QRS detectors'', IEEE Trans. on Biomedical Engineering, 4(11): ,1995. Poli R., Cagnoni S. ``Genetic programming with user-driven selection: experiments on the evolution of algorithms for image enhancement'', in Koza J.R., Deb K., Dorigo M., Fogel D.B., Garzon M., Iba H., and Riolo R.L. (editors), Genetic Programming 1997: Proceedings of the Second Annual Conference, July 13-16, 1997, Stanford University. San Francisco, CA: Morgan Kaufmann, pp , Cagnoni S., Dobrzeniecki A.B., Poli R., Yanch J.C. ``Genetic-algorithm-based interactive segmentation of 3D medical images'', Image and Vision Computing Journal, 17(1): , Cagnoni S., Bergenti F., Mordonini M., Adorni G., "Evolving binary classifiers through parallel computation of multiple fitness cases". IEEE Transactions on Systems, Man and Cybernetics Part B-Cybernetics, 35(3): ,
ELABORAZIONE DI SEGNALI E IMMAGINI MEDIANTE TECNICHE DI CALCOLO EVOLUTIVO. Stefano Cagnoni
ELABORAZIONE DI SEGNALI E IMMAGINI MEDIANTE TECNICHE DI CALCOLO EVOLUTIVO Stefano Cagnoni Ottimizzazione L approccio a problemi pratici per i quali non esistono (o sono solo parzialmente note) soluzioni
DettagliPage 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo
Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi
DettagliComputazione Naturale AA. 2011-2012
Computazione Naturale AA. 2011-2012 Prof. Mario Pavone CdL Magistrale in Informatica Dip. Matematica ed Informatica mpavone@dmi.unict.it http://www.dmi.unict.it/mpavone/ INDICE Obiettivi formativi Cos
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliStudio e implementazione di un OCR per auto-tele-lettura dei contatori di gas e acqua
POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione Studio e implementazione di un OCR per auto-tele-lettura dei contatori di gas e acqua AI & R Lab
DettagliImplementazione parallela di algoritmi genetici per la stima di HMM
Università degli Studi di Trieste Implementazione parallela di algoritmi genetici per la stima di HMM Relatore Enzo Mumolo Candidato Nicola Timeus 14 marzo 2014 Motivazioni Pattern recognition mediante
DettagliStimare il WCET Metodo classico e applicazione di un algoritmo genetico
Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di
DettagliLogica e codifica binaria dell informazione
Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliTecniche di riconoscimento statistico
On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 6 Lettura targhe e testi in esterno Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com
DettagliRegressione non lineare con un modello neurale feedforward
Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliBreve introduzione al Calcolo Evoluzionistico
Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
DettagliIntroduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
DettagliEsercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliUna metodologia di progettazione di applicazioni web centrate sui dati
Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si
DettagliRiproduzione Crossover Mutazione
Algoritmi Genetici Sono algoritmi di ricerca basati sui principi evolutivi della selezione naturale e della genetica, che implicano la sopravvivenza degli elementi migliori e lo scambio di informazioni
DettagliLinguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense
Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi
DettagliEsempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli
DettagliLiceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati
Indirizzo Informatico e Comunicazione Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Discipline con attività di laboratorio 3 4 5 Fisica 132 Gestione di progetto
DettagliMachine Learning -1. Seminari di Sistemi Informatici. F.Sciarrone-Università Roma Tre
Machine Learning -1 Seminari di Sistemi Informatici Sommario Problemi di apprendimento Well-Posed Esempi di problemi well-posed Progettazione di un sistema di apprendimento Scelta della Training Experience
DettagliTecniche di riconoscimento statistico
On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 4 Reti neurali per la classificazione Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com
DettagliIntroduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
DettagliParte I. Prima Parte
Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliEsercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"
Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un
DettagliUn circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati
Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliCap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche
Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche 3.1 LE PORTE LOGICHE E GLI OPERATORI ELEMENTARI 3.2 COMPORTAMENTO A REGIME E IN TRANSITORIO DEI CIRCUITI COMBINATORI I nuovi
DettagliRicerca Operativa A.A. 2007/2008
Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del
DettagliPro e contro delle RNA
Pro e contro delle RNA Pro: - flessibilità: le RNA sono approssimatori universali; - aggiornabilità sequenziale: la stima dei pesi della rete può essere aggiornata man mano che arriva nuova informazione;
DettagliAprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e
Alberi di decisione Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e lanciarlo con i parametri di default.
DettagliRICONOSCIMENTO DI TARGHE AUTOMOBILISTICHE
PROGETTO DEL CORSO DI VISIONE E PERCEZIONE PARTE 2 RICONOSCIMENTO DI TARGHE AUTOMOBILISTICHE Scopo del progetto Il progetto ha come obiettivo quello di riconoscere il testo di una targa automobilistica
DettagliImmagini binarie. Binarizzazione di immagini a livelli di grigio
Immagini binarie Binarizzazione di immagini a livelli di grigio Immagini binarie In molti casi gli le scene di interesse conducono ad immagini che possono essere considerate binarie, cioè contenenti nel
DettagliAPI e socket per lo sviluppo di applicazioni Web Based
API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione
DettagliInformatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliLEZIONE 3. Ing. Andrea Ghedi AA 2009/2010. Ing. Andrea Ghedi AA 2009/2010
LEZIONE 3 "Educare significa aiutare l'animo dell'uomo ad entrare nella totalità della realtà. Non si può però educare se non rivolgendosi alla libertà, la quale definisce il singolo, l'io. Quando uno
DettagliComplessità Computazionale
Complessità Computazionale Analisi Algoritmi e pseudocodice Cosa significa analizzare un algoritmo Modello di calcolo Analisi del caso peggiore e del caso medio Esempio di algoritmo in pseudocodice INSERTION
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliSuggerimenti per l approccio all analisi dei dati multivariati
Suggerimenti per l approccio all analisi dei dati multivariati Definizione degli obbiettivi Il primo passo è la definizione degli obbiettivi. Qual è l obbiettivo della sperimentazione i cui dati dovete
DettagliCalcolatori: Algebra Booleana e Reti Logiche
Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
Dettagli11. Evoluzione del Software
11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliRiconoscimento e Recupero dell'informazione per Bioinformatica
Riconoscimento e Recupero dell'informazione per Bioinformatica LAB. 8 PRTools (2) Pietro Lovato Corso di Laurea in Bioinformatica Dip. di Informatica Università di Verona A.A. 2015/2016 Ripasso: validazione
DettagliArchitettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):
Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande
DettagliTecniche di Simulazione: Introduzione. N. Del Buono:
Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire
DettagliSistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
DettagliTipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM
Obiettivo Tipi classici di memoria Fornire illimitata memoria veloce Problemi: costo tecnologia Soluzioni: utilizzare diversi tipi di memoria... Static RAM access times are 2-25ns at cost of $100 to $250
DettagliLa riforma del servizio di distribuzione del
CReSV Via Röntgen, 1 Centro Ricerche su Sostenibilità e Valore 20136 Milano tel +39 025836.3626 La riforma del servizio di distribuzione del 2013 gas naturale In collaborazione con ASSOGAS Gli ambiti territoriali
DettagliLA PROPRIETA INTELLETTUALE
LA PROPRIETA INTELLETTUALE Problemi Specifici nella Brevettazione 20 Gennaio 2010 Seminario Ufficio Brevetti ed Innovazione Tecnologica Camera di Commercio di Genova DR. Giorgio A. Karaghiosoff La protezione
DettagliIL COMPONENTE DATA MINING MODEL DEL PROGETTO
IL COMPONENTE DATA MINING MODEL DEL PROGETTO Relatore: prof. Anna Corazza Tutor Aziendale: dr. Massimo Brescia 1 PROGETTO DAME (DAta Mining& Exploration) Progettazione di web application per effettuare
DettagliMACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it
MACHINE LEARNING e DATA MINING Introduzione a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it Apprendimento Automatico(i) Branca dell AI che si occupa di realizzare dispositivi artificiali capaci di
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliGrafica ed interfacce per la comunicazione Scienze della Comunicazione
Grafica ed interfacce per la comunicazione Scienze della Comunicazione Paola Vocca Lezione 9: Prototipazione Lucidi tradotti e adattati da materiale presente su http://www.hcibook.com/e3/resources/ e http://www.robertopolillo.it
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliModulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.1)
Modulo 1 Concetti di base della Tecnologia dell Informazione ( Parte 1.1) Prof. Valerio Vaglio Gallipoli Rielaborazione: prof. Claudio Pellegrini - Sondrio L elaboratore elettronico Nasce come strumento
DettagliDistributed P2P Data Mining. Autore: Elia Gaglio (matricola n 809477) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo
Distributed P2P Data Mining Autore: (matricola n 809477) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo A.A. 2005/2006 Il settore del Data Mining Distribuito (DDM): Data Mining: cuore del processo
DettagliLezione 1. Introduzione e Modellazione Concettuale
Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliPIANO DI LAVORO DEI DOCENTI
Pag. 1 di 6 Docente: Materia insegnamento: SISTEMI ELETTRONICI AUTOMATICI Dipartimento: ELETTRONICA Classe Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Sono richieste conoscenze
DettagliL ICF - Classificazione Internazionale del Funzionamento, della Disabilità e della Salute
L ICF - Classificazione Internazionale del Funzionamento, della Disabilità e della Salute CHE COS È È una classificazione della salute e dei domini ad essa correlati che aiuta a descrivere i cambiamenti
DettagliCorso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano
DettagliLibrerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video
Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile
DettagliTipi di dato-prima parte
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliIl ragionamento diagnostico TEST DIAGNOSTICO. Dott.ssa Marta Di Nicola. L accertamento della condizione patologica viene eseguito TEST DIAGNOSTICO
Il ragionamento diagnostico http://www.biostatistica biostatistica.unich unich.itit 2 L accertamento della condizione patologica viene eseguito All'inizio del decorso clinico, per una prima diagnosi In
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata
Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura
DettagliRealizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript
tesi di laurea di difetti all interno di codice Javascript Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Domenico Amalfitano candidato Vincenzo Riccio Matr.
DettagliDAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
DettagliAutomazione Industriale 4- Ingegneria del Software
Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica
DettagliTRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA
SCUOLA PRIMARIA DI CORTE FRANCA MATEMATICA CLASSE QUINTA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA L ALUNNO SVILUPPA UN ATTEGGIAMENTO POSITIVO RISPETTO ALLA MATEMATICA,
DettagliSistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale
La Sicurezza Funzionale del Software Prof. Riccardo Sisto Ordinario di Sistemi di Elaborazione delle Informazioni Dipartimento di Automatica e Informatica Sicurezza Funzionale del Vari Aspetti Sicurezza
DettagliCos è un Calcolatore?
Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per
DettagliScopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
DettagliModelli per variabili dipendenti qualitative
SEMINARIO GRUPPO TEMATICO METODI e TECNICHE La valutazione degli incentivi industriali: aspetti metodologici Università di Brescia, 17 gennaio 2012 Modelli per variabili dipendenti qualitative Paola Zuccolotto
Dettagli12. Evoluzione del Software
12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,
DettagliRappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
DettagliOttimizzazione delle interrogazioni (parte I)
Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
DettagliARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow
ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE Design Flow Prof. Luigi Raffo Dipartimento di ingegneria elettrica ed elettronica Università di Cagliari Flusso di progetto classico su silicio
DettagliAlgoritmi di scheduling
Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliTutti i contenuti sono di proprietà letteraria riservata di Roberta Cocco e protetti dal diritto d autore. Si ricorda che il materiale didattico è
Il potere del brand risiede nella mente dei consumatori Il modello CBBE affronta la brand equity dal punto di vista del consumatore. Esso parte dal presupposto che per avere successo l impresa deve conoscere
DettagliIntroduzione all analisi dei segnali digitali.
Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliCorrettezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
Dettagli