Tesina per il corso di Apprendimento Mimetico (III Livello) Riconoscimento del database MNIST mediante rete neurale di Hopfield Politecnico di Torino

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tesina per il corso di Apprendimento Mimetico (III Livello) Riconoscimento del database MNIST mediante rete neurale di Hopfield Politecnico di Torino"

Transcript

1 Tesina per il corso di Apprendimento Mimetico (III Livello) Riconoscimento del database MNIST mediante rete neurale di Hopfield Politecnico di Torino Ivano Cerrato Matteo Virgilio Novembre Introduzione Le reti neurali artificiali sono modelli matematici basati sulle reti neurali biologiche e sono costituite dall interconnessione di unitá di elaborazione molto semplici chiamate appunto neuroni. La natura di queste connessioni interne puó essere opportunamente modificata attraverso un processo di apprendimento (apprendimento per rinforzo, apprendimento supervisionato o apprendimento non supervisionato). Questo modello é ampiamente impiegato in numerosi campi della matematica, dell informatica e della medicina per affrontare, e spesso risolvere, intere classi di problemi: programmi di diagnostica in medicina, programmi per il controllo della qualitá in ambito industriale, programmi per il riconoscimento vocale o di manoscritti digitalizzati attraverso periferiche di imaging. Proprio quest ultimo punto é il tema principale della presente tesina: studiare e implementare una rete neurale di Hopfield che, a partire da un dataset reale di caratteri manoscritti (in particolare il dataset MNIST), sia in grado di identificare i caratteri numerici forniti in ingresso. 2 La rete di Hopfield In questa sezione, verrá (brevemente) introdotto il modello di rete che è stato scelto per l implementazione del sistema. 2.1 Il modello La rete di Hopfield è una particolare tipologia di rete neurale costituita da N neuroni, i quali sono utilizzati sia per l input che per l output dei dati. In questo modello, l uscita di ogni neurone è collegata all ingresso di tutti gli altri neuroni, formando cosí una topologia di rete a grafo completo unidirezionale, come mostrato in Figura 3. La forza delle connessioni tra i neuroni è determinata dalla matrice dei pesi W ; i pesi soddisfano i seguenti vincoli: 1. w ii = 0, i (nessun neurone ha una connessione con se stesso) 2. w ij = w ji, i, j (la matrice dei pesi è simmetrica) dove w ij rappresenta il peso della connessione dal neurone i al neurone j. Lo stato s i di ciascun neurone in un certo istante è determinato dalla seguente formula: { 1 se j s i = w ijs j > θ i 1 altrimenti 1

2 Figura 1: Esempio di rete di Hopfield dove θ i è, in generale, la soglia di attivazione associata al neurone i-esimo. Il modello del neurone é, quindi, quello di un comparatore a soglia in cui l input é costituito da una somma pesata degli ingressi e l uscita puó valere +1 o Apprendimento: l Hebbian learning rule A questo punto è lecito chiedersi da dove derivi la matrice dei pesi introdotta precedentemente, la quale determina il modo in cui si comporta la rete neurale. A tale proposito è importante sottolineare che, prima dell utilizzo vero e proprio, la rete di Hopfield deve essere addestrata mediante un opportuno processo di training (o apprendimento). Questa fase preliminare è appunto quella che permette il calcolo della matrice dei pesi; infatti, durante l apprendimento, vengono analizzati dei patterns di training e aggiornati coerentemente tutti i pesi della matrice, in modo che la rete sia poi in grado poi di riconoscere tali patterns. In altri termini, lo scopo della fase di apprendimento è quello di memorizzare il contenuto informativo di tutti i patterns all interno della matrice dei pesi, in modo che la rete possa convergere ad uno di questi quando verrá utilizzata, per esempio, in applicazioni di pattern matching. L apprendimento puó essere effettuato mediante diverse regole di aggiornamento dei pesi, come mostrato in [6]. Nel modello da noi elaborato, si è scelto di utilizzare la regola di Hebb, la quale è una delle regole di apprendimento piú classiche ed efficaci [7]. La sua formalizzazione matematica è la seguente: w ij = N µ=1 ɛ µ i ɛµ j i, j dove ɛ µ i rappresenta l i-esimo bit del pattern µ. 2.3 L update dei neuroni Dati il modello di rete e i concetti fondamentali per la costruzione della matrice dei pesi, passiamo adesso ad evidenziare in che modo la rete operativamente funzioni quando vengono presentati in input dei dati da elaborare. Innanzitutto, ciascun neurone assume il valore del segnale in ingresso. Nel caso del problema del pattern matching applicato alle immagini binarie, avremo una rete costituita da tanti neuroni quanti sono i pixel dell immagine che si vuole processare e il valore di ciascun neurone dipenderá dal colore del pixel che rappresenta: 1 per il nero e +1 per il bianco, ad esempio. A questo punto, la rete puó evolvere in due modi fondamentali: 2

3 sincrono: tutti i neuroni della rete vengono aggiornati nello stesso istante sulla base dello stato che la rete ha in quel particolare istante; asincrono: viene effettuato l aggiornamento di un neurone alla volta secondo un ordine che puó essere casuale o deciso a priori. Nel modello da noi implementato, si è scelto di utilizzare l aggiornamento asincrono con ordine prestabilito e dettato da un loop che analizza e aggiorna, in sequenza, tutti i neuroni della rete. Il ciclo di iterazioni termina quando tutti i neuroni della rete diventano stabili, ovvero non cambiano il loro stato in seguito ad una ulteriore operazione di aggiornamento. Per tutti i dettagli implementativi si rimanda alla sezione di codice. Per un introduzione piú formale sulle reti di Hopfield si veda [4], mentre per iniziare a sperimentare con questo tipo di reti si vedano [1] e [2], dove sono disponibili alcuni prototipi web-based di reti neurali. 3 MNIST MNIST [3] (Mixed National Institute of Standards and Technology) è un grande database contenente numeri scritti a mano (rappresentati in immagini di 28 x 28 pixels), comunemente usato per la fase di apprendimento di sistemi di processamento di immagini. Il database MNIST è anche ampiamente usato sia per la fase di apprendimento che di testing nel campo del machine learning; esso contiene infatti oltre mila immagini per il training e immagini per il testing. In letteratura sono presenti numerose pubblicazioni scentifiche che tentano di raggiungere il più basso tasso di errore nella classificazione delle immagini di test; per esempio, in [5], usando un sistema gerarchico di reti neurali convoluzionali, si raggiunge un tasso di errore dello 0.23%. Un estratto del database MNIST è mostrato in Figura 2. Figura 2: Esempio di dati estratti dal database MNIST 4 Implementazione Nel seguito è riportato il codice Matlab rappresentante la rete di Hopfield sviluppata. Il file è, inoltre, disponibile per il download al seguente URL: 1 % Author : Matteo V i r g i l i o 2 % Author : Ivano Cerrato 3 4 % 5 % Funzione p r i n c i p a l e. Esegue prima l addestamento d e l l a r e t e d i H o p f i e l d e poi l a t e s t a. 6 % 7 f u n c t i o n h o p f i e l d n n ( ) c l c 3

4 11 % Le immagini hanno formato 28 x28 p i x e l 12 num rows = 2 8 ; 13 num cols = 2 8 ; 14 num pixel = num rows num cols ; % S o g l i a usata per c o n v e r t i r e l e immagini i n bianco e nero 17 SOGLIA = ; % Lettura d e l t r a i n i n g s e t l e l a b e l s non vengono u t i l i z z a t e 20 [ imgs l a b e l s ] = r e a d m n i s t ( t r a i n i m a g e s, t r a i n l a b e l s ) ; % Ottengo i l numero d i immagini 23 [ num images p i x e l s ] = s i z e ( imgs ) % Converto l e immagini i n bianco e nero 26 imgs = bnimage ( imgs, num pixel, num images ) ; % Azzero l a matrice d e i p e s i p e s i n e t = i n t 8 ( z e r o s ( num pixel, num pixel ) ) ; 30 %... e q u e l l a d e i neuroni Ci sono t a n t i neuroni quanti sono i p e x e l s d i un immagine 31 h o p f i e l d n e t = i n t 8 ( z e r o s ( num pixel ) ) ; d i s p ( I n i z i o f a s e d i t r a i n i n g... ) ; 34 % L apprendimento e f a t t o mediante Hebb r u l e. 35 % Vedi : http : / / en. w i k i p e d i a. org / w i k i / H o p f i e l d n e t w o r k# H e b b i a n L e a r n i n g R u l e f o r H o p f i e l d N e t w o r k s f o r i = 1 : num images 38 f o r m = 1 : num pixel 39 f o r n = 1 : num pixel 40 % Hebb r u l e : 41 % Wij = SUM( BITi BITj ) 42 % l a somma su t u t t i i num images p a t t e r n s 43 i f ne (m, n ) 44 % i p e s i vengono a g g i o r n a t i s e l a c e l l a a t t u a l e non e s u l l a d i a g o n a l e 45 % l a diagona i n f a t t i r a p p r e s e n t a i s e l f l o o p s 46 % s u i neuroni, e t a l i a r c h i hanno peso 0 47 p e s i n e t (m, n ) = p e s i n e t (m, n )+( i n t 8 ( imgs ( i, m) ) i n t 8 ( imgs ( i, n ) ) ) ; %Formula a l t e r n a t i v a per i l c a l c o l o d e i p e s i 50 %( http : / /www. c s. u c l a. edu / r o s e n /161/ n o t e s / h o p f i e l d. html ) 51 %p e s i n e t (m, n )=p e s i n e t (m, n ) +((2 imgs ( i,m) 1) (2 imgs ( i, n ) 1) ) ; 52 end 53 end 54 end 55 end 56 d i s p ( Fine t r a i n i n g! ) ; % V i s u a l i z z o l a matrice d e i p e s i 59 d i s p ( i n t 8 ( p e s i n e t ) ) ; % I n i z i o f a s e d i t e s t 62 d i s p ( I n i z i o f a s e d i t e s t... ) ; % S e t t o i l numero d i t e s t da e f f e t t u a r e 65 num images test = 3 ; % Lettura d e l t e s t s e t ( l e l a b e l s non vengono u t i l i z z a t e ) 68 [ imgs l a b e l s ] = r e a d m n i s t ( t e s t i m a g e s, t e s t l a b e l s ) ; % Stampa l e immagini d i t e s t 71 f o r i = 1 : num images test 72 p r i n t M a t r i x ( imgs, num rows, num cols, i, s t r c a t ( TEST, num2str ( i ) ) ) ; 73 end % Converto l e immagini i n bianco e nero 76 imgs = bnimage ( imgs, num pixel, num images ) ; f o r i = 1 : num images test 79 % I n i z i a l i z z a z i o n e d e l l e r e t e per l a nuova immagine 80 f o r m = 1 : num pixel 81 h o p f i e l d n e t (m) = imgs ( i, m) ; 82 end 4

5 83 ischanged = 1 ; 84 i t e r a t i o n s = 0 ; 85 % I t e r o f i n quando l a r e t e s i s t a b i l i z z a 86 w h i l e eq ( ischanged, 1) 87 f o r m = 1 : num pixel 88 [ new value ischanged ]= updateneuron ( h o p f i e l d n e t, p e s i n e t, num pixel, m) ; 89 i f eq ( ischanged, 1) 90 h o p f i e l d n e t (m) = new value ; 91 end 92 end 93 i t e r a t i o n s = i t e r a t i o n s + 1 ; 94 end 95 d i s p ( s t r c a t ( Numero d i i t e r a z i o n i=, num2str ( i t e r a t i o n s ) ) ) ; % Stampo l o s t a t o f i n a l e d e l l a r e t e 98 printnetwork ( h o p f i e l d n e t, num rows, num cols, 0, s t r c a t ( HOPFIELD, num2str ( i ) ) ) ; 99 end d i s p ( Fine t e s t! ) ; end % 106 % Converte l e immagini i n bianco e nero : 107 % s e un p i x e s ha v a l o r e maggiore d e l l a s o g l i a, d i v e n t a nero ; 108 % a l t r i m e n t i d i v e n t a bianco 109 % 110 % Input 111 % image : matrice contenente l e immagini da c o n v e r t i r e 112 % num pixel : numero d i p i x e l d i ogni immagine 113 % num images : numero d i immagini contenute n e l l a matrice 114 % 115 % Output : 116 % image : matrice contenente l e immagini i n bianco e nero 117 % 118 f u n c t i o n image = bnimage ( image, num pixel, num images ) SOGLIA = ; 121 f o r i = 1 : num images 122 f o r j = 1 : num pixel 123 i f image ( i, j ) > SOGLIA 124 image ( i, j ) = i n t 8 ( 1) ; 125 e l s e 126 image ( i, j ) = i n t 8 ( 1 ) ; 127 end 128 end 129 end end % Legge l e immagini e l e l a b e l s contenute n e l database MNIST 134 % 135 % Input 136 % i m g f i l e : nome d e l f i l e contenente l e immagini 137 % l a b e l f i l e : nome d e l f i l e contenente l e l a b e l s 138 % 139 % Output 140 % image : matrice contenente l e immagini l e t t e 141 % l a b e l s : v e t t o r e contenente l e l a b e l s l e t t e 142 % 143 f u n c t i o n [ image l a b e l s ] = r e a d m n i s t ( i m g f i l e, l a b e l f i l e ) 144 FALSE = 0 ; 145 TRUE = 1 ; 146 NUM ESEMPI = 1 0 ; 147 NUMERI = 1 0 ; f o r i = 1 :NUMERI 150 o c c o r r e n z e ( i ) = 0 ; 151 end 152 fp = fopen ( l a b e l f i l e, rb ) ; 153 a s s e r t ( fp = 1, [ Could not open, l a b e l f i l e, ] ) ; 154 5

6 155 magic = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; 156 a s s e r t ( magic == 2049, [ Bad magic number i n, l a b e l f i l e, ] ) ; numlabels = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; l a b e l s = f r e a d ( fp, i n f, unsigned char ) ; a s s e r t ( s i z e ( l a b e l s, 1 ) == numlabels, Mismatch i n l a b e l count ) ; 163 f c l o s e ( fp ) ; 164 %%%%%% 165 fp = fopen ( i m g f i l e, rb ) ; 166 a s s e r t ( fp = 1, [ Could not open, i m g f i l e, ] ) ; magic = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; 169 a s s e r t ( magic == 2051, [ Bad magic number i n, i m g f i l e, ] ) ; numimages = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; 172 numrows = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; 173 numcols = f r e a d ( fp, 1, i n t 3 2, 0, i e e e be ) ; l u n g v e t t = numrows numcols ; 176 i n d i c e = 1 ; 177 i n d i c e l a b e l = 1 ; 178 f i n i t o = FALSE; 179 image = [ ] ; 180 v e t t = f r e a d ( fp, l u n g v e t t, uchar ) ; 181 w h i l e ( ( f e o f ( fp ) == 0) && ( f i n i t o == FALSE) ) 182 i = l a b e l s ( i n d i c e ) + 1 ; 183 i f ( o c c o r r e n z e ( i ) < NUM ESEMPI) 184 o c c o r r e n z e ( i ) = o c c o r r e n z e ( i ) + 1 ; 185 v e t t a u x = vett ; 186 image = [ image ; v e t t a u x ] ; 187 l a b e l o u t ( i n d i c e l a b e l ) = l a b e l s ( i n d i c e ) ; 188 i n d i c e l a b e l = i n d i c e l a b e l + 1 ; 189 end 190 i = 1 ; % t e s t per f i n e e s t r a z i o n e 191 f i n i t o = TRUE; 192 w h i l e ( ( i <= NUMERI) && ( f i n i t o == TRUE) ) 193 i f ( o c c o r r e n z e ( i ) < NUM ESEMPI) 194 f i n i t o = FALSE; 195 e l s e 196 i = i + 1 ; 197 end 198 end 199 i n d i c e = i n d i c e +1; 200 v e t t = f r e a d ( fp, l u n g v e t t, uchar ) ; 201 end 202 f c l o s e ( fp ) ; 203 end % 206 % Aggiorna un neurone 207 % 208 % Input 209 % h o p f i e l d n e t : matrice contenente i l v a l o r e d i t u t t i i neuroni d e l l a r e t e 210 % weights : matrice d e i p e s i, c a l c o l a t a durante l a f a s e d i t r a i n i n g 211 % num neurons : numero d i neuroni d e l l a r e t e 212 % elem : p o s i z i o n e, i n h o p f i e l d n e t, d e l neurone da a g g i o r n a r e 213 % 214 % Output : 215 % new value : nuovo v a l o r e d e l neurone 216 % ischanged : i n d i c a s e i l v a l o r e d e l neurone e cambiato oppure no 217 % 218 f u n c t i o n [ new value ischanged ] = updateneuron ( h o p f i e l d n e t, weights, num neurons, elem ) somma = 0 ; 221 f o r i = 1 : num neurons 222 i f ne ( i, elem ) 223 somma = somma + ( h o p f i e l d n e t ( i ) weights ( elem, i ) ) ; 224 end 225 end 226 i f somma > 0 && ne ( h o p f i e l d n e t ( elem ), 1) 227 new value = 1 ; 6

7 228 ischanged = 1 ; 229 e l s e i f somma <= 0 && ne ( h o p f i e l d n e t ( elem ), 1) 230 new value = 1; 231 ischanged = 1 ; 232 e l s e 233 % Siccome i l v a l o r e d e l neurone non e cambiato, new value e i n u t i l e 234 ischanged = 0 ; 235 new value = 1; 236 end end % 241 % Stampa un immagine 242 % 243 % Input 244 % images : matrice contenente l e immagini 245 % num rows : numero d i r i g h e d e l l immagine da stampare 246 % num cols : numero d i colonne d e l l immagine da stampare 247 % img index : p o s i z i o n e d e l l immagine da stampare a l l i n t e r n o d i images 248 % l a b e l : s t r i n g a da u s a r e come t i t o l o d e l l immagine 249 % 250 f u n c t i o n p r i n t M a t r i x ( images, num rows, num cols, img index, l a b e l ) SOGLIA = ; 253 img = z e r o s ( num rows, num cols ) ; 254 index = 1 ; 255 f o r j = 1 : num rows 256 f o r k = 1 : num cols 257 i f images ( img index, index ) > SOGLIA 258 img ( j, k ) = 0 ; 259 e l s e 260 img ( j, k ) = 1 ; 261 end 262 index = index + 1 ; 263 end 264 end 265 f i g u r e, imshow ( img ) ; 266 t i t l e ( l a b e l ) ; end % 271 % Stampa l a r e t e d i h o p f i e l d 272 % 273 % Input 274 % image : matrice contenente l a r e t e da stampare 275 % num rows : numero d i r i g h e d e l l a r e t e 276 % num cols : numero d i colonne d e l l a r e t e 277 % o f f s e t : o f f s e t da u s a r e n e l l a stampa 278 % l a b e l : s t r i n g a da u s a r e come t i t o l o d e l l immagine 279 % 280 f u n c t i o n printnetwork ( image, num rows, num cols, o f f s e t, l a b e l ) img = z e r o s ( num rows, num cols ) ; 283 index = 1 ; 284 f o r k = 1 : num rows 285 f o r j = 1 : num cols 286 i f image ( o f f s e t + index ) > img ( k, j ) = 1 ; 288 e l s e 289 img ( k, j ) = 0 ; 290 end 291 index = index + 1 ; 292 end 293 end 294 f i g u r e, imshow ( img ) ; 295 t i t l e ( l a b e l ) ; end Codice 1: Implementazione rete di Hopfield 7

8 5 Conclusioni I risultati ottenuti con il modello di rete neurale implementato sono stati piuttosto scadenti. Infatti, se vengono utilizzate più di due immagini durante la fase di apprendimento, nella la fase di testing la rete converge sempre alla stessa immagine, la quale non rappresenta nessuna di quelle usate per il training. Invece, se l apprendimento è effettuato usando due sole immagini, nella fase di testing la rete converge effettivamente ad uno dei pattern memorizzati, come mostrato in Figura 3. Ovviamente, siccome i patterns di testing sono diversi da quelli usati per l apprendimento della rete, la rete non poteva convergere ai pattern in ingresso; per questo motivo, essa ha converso ai patterns di training più simili a quelli forniti per il test. Figura 3: Esecuzione della rete di Hopfield in ambiente Matlab Riferimenti bibliografici [1] Technology House. J.o.h.n. - java-based observation of the hopfield network. dmorris/john/stinternet.html, Novembre [2] LABORATORY OF COMPUTATIONAL NEUROSCIENCE LCN. Associative memory: Hopfield model. Novembre [3] Yann LeCun, Corinna Cortes, and Christopher J.C. Burges. The mnist database. Novembre [4] Faculty of Engineering University of Leeds. Hopfield networks. Novembre

9 [5] Jurgen Schmidhuber. Multi-column deep neural networks for image classification. In Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), CVPR 12, pages , Washington, DC, USA, IEEE Computer Society. [6] ucla.edu. A hopfield net example. rosen/161/notes/hopfield.html, Novembre [7] WikiPedia. Hopfield network. network, Novembre

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità Intelligenza Artificiale Soft Computing: Reti Neurali Generalità Neurone Artificiale Costituito da due stadi in cascata: sommatore lineare (produce il cosiddetto net input) net = S j w j i j w j è il peso

Dettagli

Reti Neurali in Generale

Reti Neurali in Generale istemi di Elaborazione dell Informazione 76 Reti Neurali in Generale Le Reti Neurali Artificiali sono studiate sotto molti punti di vista. In particolare, contributi alla ricerca in questo campo provengono

Dettagli

Introduzione alle Reti Neurali

Introduzione alle Reti Neurali Introduzione alle Reti Neurali Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com Reti Neurali Terminator

Dettagli

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo.

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo. Reti Neurali Corso di AA, anno 2016/17, Padova Fabio Aiolli 2 Novembre 2016 Fabio Aiolli Reti Neurali 2 Novembre 2016 1 / 14 Reti Neurali Artificiali: Generalità Due motivazioni diverse hanno spinto storicamente

Dettagli

Riconoscimento di cifre manoscritte tramite una rete neurale

Riconoscimento di cifre manoscritte tramite una rete neurale Riconoscimento di cifre manoscritte tramite una rete neurale 3 luglio 2008 Argomenti discussi 1 Il problema 2 Il training set Codifica dei file 3 Soluzione implementata Soluzione ideale Soluzione implementata

Dettagli

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale Il presente lavoro, facente segiuto a quanto scritto precedentemente ha il fine di descrivere il codice di calcolo

Dettagli

Boltzmann Machine e Deep NN

Boltzmann Machine e Deep NN Boltzmann Machine e Deep NN Boltzmann Machine (Modelli Termodinamici) la Boltzmann Machine (BM) è una Rete Neurale stocastica, completamente connessa, con due tipi di unità: visibili (input, output) e

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

Modelli e Metodi per il Supporto alle Decisioni II A.A. 2016/2017

Modelli e Metodi per il Supporto alle Decisioni II A.A. 2016/2017 Modelli e Metodi per il Supporto alle Decisioni II A.A. 2016/2017 Macroprogetto MCDA: argomenti, obiettivi, risultati attesi Metodi di base individuare fenomeni di rank reversal (tra i problemi a 6 e a

Dettagli

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013 Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Reti Neurali. Introduzione Neuroni Biologici Neuroni Artificiali Tipologie di Reti

Reti Neurali. Introduzione Neuroni Biologici Neuroni Artificiali Tipologie di Reti Introduzione Neuroni Biologici Neuroni Artificiali Tipologie di Reti Multilayer Perceptron (P) Forward propagation Training: Error Backpropagation On-line Backpropagation Stochastic Gradient Descent (SGD)

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

Salvatore Cuomo Prolusione

Salvatore Cuomo Prolusione Salvatore Cuomo Prolusione 1 Lezione n. Parole chiave: Algoritmo, Esecutore Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email Docente: salvatore.cuomo@unina. it

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 8 gennaio 8 Il problema è simile all esercizio 5.6 del libro di testo di algoritmi (Introduzione agli algoritmi e strutture dati, T.

Dettagli

Esempi di applicazioni di reti neurali

Esempi di applicazioni di reti neurali Esempi di applicazioni di reti neurali Ogni problema di rete neurale segue la stessa procedura di base: (1) caricare il set di dati, (2) inizializzare la rete, (3) addestrare la rete (training), e (4)

Dettagli

Regressione Lineare e Regressione Logistica

Regressione Lineare e Regressione Logistica Regressione Lineare e Regressione Logistica Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com 1 Introduzione

Dettagli

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno

Dettagli

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Otacon22 HgComo. Reti neurali artificiali

Otacon22 HgComo. Reti neurali artificiali Otacon22 HgComo Reti neurali artificiali Chi sono? Daniele Iamartino ( aka Otacon22 ) Membro del team HgComo Studente/sperimentatore Futura matricola del PoliMi, ex liceale con tesina sulle reti neurali!

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

Magazzino: software di gestione di un database di strumenti musicali

Magazzino: software di gestione di un database di strumenti musicali Magazzino: software di gestione di un database di strumenti musicali Questo programma è un'applicazione Windows Form che si occupa della gestione di un magazzino virtuale di strumenti musicali. In questa

Dettagli

Classificazione Validazione Decision Tree & kmeans. Renato Mainetti

Classificazione Validazione Decision Tree & kmeans. Renato Mainetti Classificazione Validazione Decision Tree & kmeans Renato Mainetti Apprendimento Supervisionato e Non Supervisionato: forniamo input e output Non supervisionato: forniamo solo input 2 Apprendimento Supervisionato

Dettagli

senza stato una ed una sola

senza stato una ed una sola Reti Combinatorie Un calcolatore è costituito da circuiti digitali (hardware) che provvedono a realizzare fisicamente il calcolo. Tali circuiti digitali possono essere classificati in due classi dette

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

DESCRIZIONE. del brevetto per invenzione industriale dal titolo: METODO PER ASSOCIARE UNA IMMAGINE A UNA SEQUENZA DI

DESCRIZIONE. del brevetto per invenzione industriale dal titolo: METODO PER ASSOCIARE UNA IMMAGINE A UNA SEQUENZA DI DESCRIZIONE del brevetto per invenzione industriale dal titolo: METODO PER ASSOCIARE UNA IMMAGINE A UNA SEQUENZA DI PRESSIONI DI TASTI INSERITA TRAMITE UNA TASTIERA 1) ANGUSTI GIULIO di nazionalità italiana

Dettagli

HYPENS: Simulatore di Reti di Petri ibride

HYPENS: Simulatore di Reti di Petri ibride HYPENS: Simulatore di Reti di Petri ibride Maria Paola Cabasino DIEE, University of Cagliari Novembre 10 Maria Paola Cabasino (DIEE) HYPENS Novembre 10 1 / 21 Rete di Petri ibrida HYPENS: Hybrid Petri

Dettagli

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie. Reti combinatorie (segue) Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Rete di Hopfield applicata al problema del TSP

Rete di Hopfield applicata al problema del TSP Rete di Hopfield applicata al problema del TSP 1. Introduzione Nel 1982, il fisico John J. Hopfield pubblicò un articolo fondamentale in cui presentò un modello matematico comunemente noto come rete di

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

RETI DI CALCOLATORI II

RETI DI CALCOLATORI II RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Circuiti e algoritmi per l elaborazione dell informazione

Circuiti e algoritmi per l elaborazione dell informazione Università di Roma La Sapienza Facoltà di Ingegneria Laurea Specialistica in Ingegneria Elettronica Orientamento: Circuiti e algoritmi per l elaborazione dell informazione L x[n] y[n] Circuito: V g (t)

Dettagli

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1 Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Annamaria Bria 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS www.mat.unical.it/bria/informatica2011-12.html

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Programmazione in MATLAB Gestione File Grafici E s e rc i t a z i o n e 4 P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 carburante La matrice rappresenta

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

I numeri reali e la loro rappresentazione

I numeri reali e la loro rappresentazione I numeri reali e la loro rappresentazione 1 Alcune figure di questi appunti riportano nei commenti esempi in linguaggio MATLAB. In tali esempi i caratteri di peso normale sono prodotti dal computer mentre

Dettagli

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 -

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 - - 1 - Capitolo 1 INTRODUZIONE In crittografia il sistema PGP (Pretty Good Privacy) è forse il crittosistema più usato al mondo. PGP usa sia la crittografia asimmetrica (detta anche a chiave pubblica) sia

Dettagli

per il riconoscimento ottico dei caratteri

per il riconoscimento ottico dei caratteri 01GPW - Gestione della conoscenza e intelligenza artificiale Docente: Elio Piccolo Modello di rete neurale MULTY LAYER PERCEPTRON (MLP) con tecniche Feed-Forward e Back-Propagation per il riconoscimento

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Nicu Sebe March 14, 2016 Informatica Nicu Sebe 1 / 34 Operazioni su Bit Bit Scienza della rappresentazione e dell elaborazione dell informazione Abbiamo visto come i computer

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Lezione introduttiva su reti neurali e SVM Veronica Piccialli. Corso di Ottimizzazione a.a (seconda parte)

Lezione introduttiva su reti neurali e SVM Veronica Piccialli. Corso di Ottimizzazione a.a (seconda parte) Lezione introduttiva su reti neurali e SVM Veronica Piccialli Corso di Ottimizzazione a.a. 2009-10 (seconda parte) Ottimizzazione Statistica Fisica Biologia Reti Neurali Matematica Psicologia Informatica

Dettagli

Reti Complesse Biologiche

Reti Complesse Biologiche Reti Complesse Biologiche Corso di Modelli di Sistemi Biologici II Università di Roma Sapienza Anno Accademico 2008/2009 Fabrizio De Vico Fallani, PhD Dipartimento di Fisiologia Umana e Farmacologia fabrizio.devicofallani@uniroma1.it

Dettagli

Teoria e Tecniche del Riconoscimento

Teoria e Tecniche del Riconoscimento Facoltà di Scienze MM. FF. NN. Università di Verona A.A. 2010-11 Teoria e Tecniche del Riconoscimento Introduzione alla Pattern Recognition Marco Cristani 1 Inquadramento Sistemi di Pattern Recognition

Dettagli

Intelligenza Computazionale INSEGNAMENTO ANNO ACCADEMICO Informatica Magistrale CORSO DI LAUREA IN Anna Maria Fanelli DOCENTE II

Intelligenza Computazionale INSEGNAMENTO ANNO ACCADEMICO Informatica Magistrale CORSO DI LAUREA IN Anna Maria Fanelli DOCENTE II Intelligenza Computazionale INSEGNAMENTO 2016-17 ANNO ACCADEMICO Informatica Magistrale CORSO DI LAUREA IN Anna Maria Fanelli DOCENTE II I ANNO DI CORSO SEMESTRE 4 N CREDITI LEZIONI FRONTALI: 32 68 N ORE

Dettagli

Note sulle Catene di Markov

Note sulle Catene di Markov Note sulle Catene di Markov ELAUT Prof. Giuseppe C. Calafiore Sommario Queste note contengono un estratto schematico ridotto di parte del materiale relativo alle Catene di Markov a tempo continuo e a tempo

Dettagli

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA 1. Competenze: le specifiche competenze di base disciplinari previste dalla

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Informatica per la Comunicazione/ Verdicchio/ 23/05/2013/ Domande /Versione 1

Informatica per la Comunicazione/ Verdicchio/ 23/05/2013/ Domande /Versione 1 Informatica per la Comunicazione/ Verdicchio/ 23/05/2013/ Domande /Versione 1 1) Una stop-word, nell ambito della text-summarization a) è una parola che non sarà presente nell output b) è una parola che

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Iterazione (introduzione)

Iterazione (introduzione) Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale

Dettagli

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche

Dettagli

Lezione 25: File Mercoledì 18 Novembre 2009

Lezione 25: File Mercoledì 18 Novembre 2009 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 25:

Dettagli

Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007

Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007 Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni Avvertenze Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte retro) In ordine di preferenza usare inchiostro nero,

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

Laboratorio di Programmazione I Compitino (Vers. C)

Laboratorio di Programmazione I Compitino (Vers. C) Laboratorio di Programmazione I Compitino (Vers. C) 13 novembre 2009 Cognome... Nome... Matricola... Note. In alcune delle seguenti domande verrà usato il vostro numero di matricola. Scrivete il vostro

Dettagli

Aritmetica nel sistema Ternario bilanciato Giuseppe Talarico - 30/10/2013

Aritmetica nel sistema Ternario bilanciato Giuseppe Talarico - 30/10/2013 Aritmetica nel sistema Ternario bilanciato Giuseppe Talarico - 30/10/2013 Nel sistema ternario ( base 3 ) ogni trit di informazione, in un certo istante, può assumere uno di tre possibili valori e può

Dettagli

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 7 Immagini Digitali Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento

Dettagli

Apprendimento automatico e Reti Neurali. Francesco Sambo tel

Apprendimento automatico e Reti Neurali. Francesco Sambo  tel Apprendimento automatico e Reti Neurali Francesco Sambo www.dei.unipd.it/~sambofra francesco.sambo@dei.unipd.it tel. 049 827 7834 Apprendimento automatico Capacità di un agente di sintetizzare nuova conoscenza

Dettagli

L'implementazione delle ROC Curve nei modelli GAMLSS come strumento di previsione per i Big Data

L'implementazione delle ROC Curve nei modelli GAMLSS come strumento di previsione per i Big Data L'implementazione delle ROC Curve nei modelli GAMLSS come strumento di previsione per i Big Data Paolo Mariani, Andrea Marletta Dipartimento di Economia, Metodi Quantitativi e Strategie di Impresa, Università

Dettagli

21/10/14. Contatori. Registri: contatori. Sintesi del contatore modulo 8 (1) Sintesi del contatore modulo 8 (2) J 0 = K 0 = 1 J 1 = K 1 = y 0

21/10/14. Contatori. Registri: contatori. Sintesi del contatore modulo 8 (1) Sintesi del contatore modulo 8 (2) J 0 = K 0 = 1 J 1 = K 1 = y 0 //4 Contatori Un contatore è un registro usato per contare il numero di occorrenze di un determinato evento, sempre modulo un certo numero naturale. se formato da n FF, potrà contare fino a modulo n Tipicamente,

Dettagli

Rappresentazione dei numeri: il sistema di numerazione decimale

Rappresentazione dei numeri: il sistema di numerazione decimale Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica Corso di Elementi di Informatica Lezione 3 14 marzo 2017 Dott. A.A. 2016/2017 pgarau.unica@gmail.com 1 Codifica dei numeri

Dettagli

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Introduzione. Sommario. Il software. Definizione di Ingegneria del software Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 06 Array" Lab06 1 Esercizio 1" n Creare un programma che legga da input un numero non noto a priori di interi

Dettagli

1 (6) 2 (7) 3 (7) 4 (7) 5 (6)

1 (6) 2 (7) 3 (7) 4 (7) 5 (6) CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B anno accademico 010-011 Prof. Danilo ARDAGNA Seconda Prova in Itinere 7.06.011 Durata 1h 30 Valutazioni 1 (6) (7) 3 (7) 4 (7)

Dettagli

INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C

INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C DESCRIZIONE GENERALE In questa esperienza il C verrà utilizzato per elaborare immagini

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Riconoscimento e recupero dell informazione per bioinformatica

Riconoscimento e recupero dell informazione per bioinformatica Riconoscimento e recupero dell informazione per bioinformatica Clustering: introduzione Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Una definizione

Dettagli

Seconda esercitazione per il corso di Sistemi di Telecom. 1 AA 07 08

Seconda esercitazione per il corso di Sistemi di Telecom. 1 AA 07 08 Seconda esercitazione per il corso di Sistemi di Telecom. AA 7 8 3th October 27 Abstract Scopo dell esercitazione Scopo dell esercitazione è la scrittura di una funzione Matlab per la decodifica di un

Dettagli

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda Informatica Comunicazione & DAMS A.A. 2015/16 Dr.ssa Valeria Fionda Informatica - Com&DAMS A.A. 2015/2016 Sistemi di numerazione I sistemi di numerazione servono a rappresentare i numeri grazie a un insieme

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 30 giugno 04 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e deve

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09 Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture

Dettagli

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Tipi di memorie Possono essere classificate in base a varie caratteristiche:

Dettagli

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Esercizi vari. Alberto Montresor. 19 Agosto, 2014 Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Sequential Functional Chart

Sequential Functional Chart Sequential Functional Chart Nel 1975 nasce il GRAFCET GRAPHe de Coordination Etapes Transitions Nel 1987 è stato adottato come standard internazionale dall IEC (Comitato Elettrotecnico Internazionale)

Dettagli

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: ! Stream cipher Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno Marzo 2012 ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Cifrari simmetrici I cifrari simmetrici

Dettagli

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino Modellazione di Workflow mediante le Reti di Petri Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Il successo di un sistema di workflow si basa sulla qualità dei flussi di lavoro che lo compongono.

Dettagli