Algoritmi di Ottimizzazione: Parte B gli Algoritmi Genetici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi di Ottimizzazione: Parte B gli Algoritmi Genetici"

Transcript

1 Identificazione e Controllo Intelligente Algoritmi di Ottimizzazione: Parte B gli Algoritmi Genetici David Naso A.A Identificazione e Controllo Intelligente 1 Algoritmi Evolutivi Nell ultimo trentennio, le teorie sull evoluzione naturale delle specie e l ereditarietà dei geni, hanno richiamato l attenzione di alcuni matematici ed ingegneri come fonte di ispirazione per nuove tecniche di ottimizzazione stocastica. Queste nuove tecniche condividono anche il meccanismo di funzionamento, riassumibile in una breve sequenza di operazioni: 1. la generazione di un insieme iniziale di soluzioni (la popolazione); 2. La selezione delle soluzioni con più alto valore di fitness ; 3. l alterazione delle soluzioni prescelte con meccanismi che emulano le leggi della genetica naturale; 4. La creazione di una nuova popolazione, che contiene le migliori soluzioni e quelle alterate. 5. L iterazione dei passi 1-4. Identificazione e Controllo Intelligente 2 1

2 Algoritmi Evolutivi Programmazione Genetica (Genetic Programming, GP) sperimentata da J. R. Koza al Massachusetts Institute of Technology in questo caso gli individui di una popolazione che competono per la sopravvivenza sono costituiti da programmi, talvolta in grado di auto-modificarsi Programmazione Evolutiva (Evolutionary Programming, EP) fu ideata e sperimentata da Lawrence J. Fogel nel 1960 nell ambito di uno studio su automi a stati finiti per esperimenti di intelligenza artificiale. Identificazione e Controllo Intelligente 3 Algoritmi Evolutivi Algoritmi Genetici (Genetic Algorithms, GA), senza dubbio i più famosi algoritmi evolutivi, furono sviluppati all Università del Michigan da John Holland ed alcuni suoi studenti nel corso di un progetto di ricerca finalizzato all analisi ed emulazione artificiale dei meccanismi di evoluzione naturale. Strategie Evolutive (Evolutionary Strategies, ES) furono ideate da due studenti dell Università Tecnica di Berlino nel 1963, Ingo Rechenberg e Hans-Paul Schwefel, per lo studio di sagome aerodinamiche in una galleria del vento. Identificazione e Controllo Intelligente 4 2

3 Algoritmi Evolutivi Il termine comune per indicare tutti queste tecniche di ottimizzazione basate sulla sopravvivenza degli individui più forti è Algoritmi (o Programmi) Evolutivi (Evolutionary Algorithms, EA). Gli EA sono in alcuni aspetti simili ad altre tecniche di ricerca derivativefree (metodo del Simplesso, Random Search), spesso utilizzate anche nell ambito di problemi di ottimizzazione combinatoria come i metodi di Tabu Search, Simulated Annealing. Esistono ad oggi molte tecniche di ricerca ispirate ad altri fenomeni o comunità di organismi biologici che rientrano negli EA come ad ad esempio le immune networks, la ant colony optimization. Identificazione e Controllo Intelligente 6 Vantaggi per applicare un EA non è necessario imporre né ipotizzare che la funzione obbiettivo soddisfi i prerequisiti tipici delle tecniche di ottimizzazione convessa basate sul calcolo dei gradienti. In altre parole, è possibile applicare un GA a problemi di cui si conosce ben poco sulla forma della funzione obiettivo, cosa che rende questi algoritmi estremamente versatili. la scrittura di un EA è particolarmente semplice, perlomeno rispetto a molte altre tecniche di ottimizzazione stocastica di paragonabile efficacia. Gli EA sono implicitamente paralleli: ad ogni generazione, si indaga in parallelo su punti diversi. All inizio dell esecuzione, ogni soluzione nella popolazione è estremamente diversa dalle altre, e quindi l algoritmo parte esplorando in parallelo svariate zone. In particolare, l operatore di selezione è progettato in modo tale da dirigere l esplorazione nell intorno di quelle soluzioni più promettenti. Identificazione e Controllo Intelligente 7 3

4 Role of GAs in Global Problems GA largely motivated for global search/optimization problems Global problem generally very difficult GAs (and related) have long history of success in global problems Some global problems essentially impossible to solve Much solid research and applications with GAs But also more misrepresentations and dubious claims Much hype with many methods (genetic algorithm [GA] software advertisements): can handle the most complex problems, including problems unsolvable by any other method. uses GAs to solve any optimization problem! No clear indication of problem class(es) for which GAs are superior to other methods Identificazione e Controllo Intelligente 8 Struttura di un EA begin t 0 initialize P(t) (population at time t) evaluate P(t) while (not terminate condition) do begin t t+1 select P(t) from P(t-1) alter P(t) evaluate P(t) end end Identificazione e Controllo Intelligente 9 4

5 Tipi di EA e campi di applicazione In base allo spazio delle soluzioni Ottimizzazione numerica vincolata e non Ottimizzazione combinatoria Problemi ibridi In base alla funzione obiettivo Singolo obiettivo Problema multi-modale Problema ad obiettivi multipli Identificazione e Controllo Intelligente 10 Gli Algoritmi Genetici Sono la forma di EA più largamente utilizzata. La principale peculiarità dei GA è la presenza di un operatore matematico che combina due soluzioni (dette genitori) al fine di trovare due nuove soluzioni che ereditino parte delle caratteristiche di entrambi i genitori. Questa operazione è detta crossover. Vi è poi una seconda strategia per trovare nuove soluzioni, detta mutazione. La mutazione altera casualmente una o più caratteristiche della soluzione che la subisce. Identificazione e Controllo Intelligente 11 5

6 Struttura di un GA Define Initial Population Pop(i) Fitness Function Increment Generation Assess Fitness Children Best Individuals Mutation Reproduction Crossover Genetic Algorithm Identificazione e Controllo Intelligente 12 Realizzare un GA I passi basilari per la costruzione di un algoritmo genetico sono i seguenti: scelta della codifica genetica di ogni individuo della popolazione determinazione di una funzione obiettivo per la valutazione degli individui definizione di una popolazione iniziale Definizione di una funzione di selezione degli individui destinati alla ricombinazione Definizione degli operatori di ricombinazione genetica (come si generano nuove soluzioni). Identificazione e Controllo Intelligente 13 6

7 Codifica di una soluzione La popolazione di un GA è composta da un insieme di soluzioni. Ciascuna soluzione è detta individuo, ed è univocamente descritta da una stringa di simboli in un predefinito alfabeto. La stringa che specifica un individuo si chiama cromosoma e ciascuno dei simboli che al compone è detto gene. In termini pratici, ogni gene specifica o contribuisce a specificare il valore di uno dei parametri che costituiscono la generica soluzione. Se, per esempio, consideriamo il problema di ricerca della migliore stima dei coefficienti di un polinomio (P(s)=a 0 s n +a 1 s n-1 + +a n ) che descriva i poli di un processo dinamico, si può pensare di codificare la generica soluzione di un problema con un vettore di n+1 parametri (geni) reali, ciascuno direttamente legato ad un coefficiente del polinomio. a 0 a 1 a 2 a 3 a 4 Bounded Double Prec. Real Identificazione e Controllo Intelligente 14 Codifica Un altra alternativa potrebbe essere data da geni che rappresentano direttamente le radici del polinomio cercato, ma ciò richiederebbe di specificare se le radici sono complesse, ed in tal caso rappresentare sia la parte reale che quella immaginaria di ogni radice, garantendo la presenza di coppie complesse e coniugate. Molto frequentemente i parametri che descrivono una soluzione sono soggetti a vincoli che possono far preferire una codifica rispetto ad un altra (ad esempio poli nel cerchio di raggio unitario). La scelta di come rappresentare un individuo nella stringa assume un ruolo decisivo anche per la velocità di esecuzione dell algoritmo, e per la qualità della soluzione finale raggiunta. Ogni possibile rappresentazione presenta dei vantaggi e svantaggi: alcune possono rendere difficoltoso o inefficace (o addirittura impossibile) l uso di alcuni operatori genetici, o più o meno oneroso il calcolo della fitness di ogni individuo. Identificazione e Controllo Intelligente 15 7

8 Codifica binaria La rappresentazione binaria ha il vantaggio di rendere più semplice la definizione degli operatori genetici, ed inoltre si presta meglio ad alcune analisi di carattere teorico sulle garanzie di convergenza dell algoritmo (note come Schemata Theory ). Per contro, essa rallenta l esecuzione dell algoritmo a causa delle continue conversioni binario-decimale e viceversa determina una maggiore lunghezza dei cromosomi (se si scegliesse di rappresentare su 16 bit (65k quanti) ciascun parametro reale, un cromosoma con 20 parametri sarebbe codificato con: 16 x 20 bit = 320 bit). Con una codifica binaria dei parametri reali, è necessario scegliere preliminarmente la risoluzione della strategia di codifica, la quale determina il numero di bit necessari a rappresentare le soluzioni. Identificazione e Controllo Intelligente 16 Codifica binaria l metodo più semplice per codificare in binario un parametro reale è suddividere l intervallo di variazione del parametro [Pmin,Pmax] nell insieme discreto [0, 2 L ] (con L lunghezza massima della stringa di bit) in modo tale da ottenere la seguente risoluzione β: β= (Pmax-Pmin)/(2 L -1) Naturalmente usando un numero maggiore di bit L si ottiene una maggiore precisione, ma anche cromosomi più lunghi. I codici di conversione di gran lunga più usati sono il BCD (Binary-Coded Digit) o i codici Gray, in molte fonti indicati come del tutto equivalenti in termini di prestazioni. La codifica di un vettore di n parametri reali si può ottenere semplicemente concatenando n stringhe di lunghezza l. Identificazione e Controllo Intelligente 17 8

9 Codifica reale La codifica reale invece offre una maggiore compattezza e leggibilità del cromosoma, la possibilità di esplorare più ampi intervalli di variabilità dei parametri e una precisione che dipende dalla macchina su cui si lavora (generalmente migliore di quella binaria). si dovranno utilizzare operatori genetici diversi da quelli binari che impongano ai nuovi individui generati di appartenere ai relativi range. La codifica reale ha inoltre la proprietà che due punti vicini nello spazio della rappresentazione sono vicini anche nello spazio del problema e viceversa. Questo non è generalmente vero per l approccio binario, ma si può ovviare al problema utilizzando la codifica di Gray. Identificazione e Controllo Intelligente 18 Esempio P(s)=a 0 s n +a 1 s n-1 + +a n a 0 a 1 a 2 a 3 a 4 Real bounded Re(p 1 ) Im(p 1 ) Re(p 1 ) Im(p 1 ) Real bounded Binary Identificazione e Controllo Intelligente 19 9

10 Hybrid encoding: unstructured controllers e(k) z z1 z p 1 z z z p 2 2 ( z z )( z z ) 3 3 ( z p )( z p ) 3 3 u(k) F1 F2 F3 F4 F5 Chromosome of a single controller : F1 F2 F3 F4 F5 K Z 1 P 1 Z 2 P 2 Z 3 Structure Binary Flags Real or complex Parameters La soluzione finale si ottiene come cascata dei blocchi attivi (quelli con il flag su on ). Identificazione e Controllo Intelligente 20 Popolazione iniziale In assenza di informazioni preliminari, la popolazione iniziale di un GA è generata in modo casuale. La dimensione della popolazione è uno dei principali parametri di configurazione dell algoritmo. Se si sceglie una popolazione piccola, l algoritmo è in grado di eseguire le sue iterazioni più velocemente, ma presenta una minore capacità esplorativa, cosa che può determinare una convergenza prematura in una soluzione molto lontana dall ottimo effettivo. Se si sceglie invece una dimensione della popolazione troppo ampia, si rende l algoritmo eccessivamente ed inutilmente lento. La scelta appropriata della dimensione della popolazione dipende anche dalla lunghezza dei cromosomi che descrivono una soluzione. All aumentare del numero di geni di una soluzione corrisponde un aumento della minima dimensione della popolazione in grado di garantire risultati soddisfacenti. Identificazione e Controllo Intelligente 21 10

11 Scelta e calcolo della fitness Per definire quanto sia buona la qualità di un individuo della popolazione si definisce una funzione obiettivo che specifica numericamente la fitness dell individuo: un valore migliore della fitness indica una migliore soluzione del problema considerato. In questo modo la funzione obiettivo emula lo stesso ruolo della naturale capacità di sopravvivenza degli organismi biologici, legata alla loro forza. I GA non richiedono particolari ipotesi sulla forma o altre caratteristiche della funzione obiettivo, che può quindi essere non lineare nei parametri ottimizzati, multi-modale e discontinua. Al contrario, è necessario rendere il più possibile efficienti i meccanismi necessari alla valutazione della fitness, perché un GA richiede in genere (centinaia di) migliaia di chiamate alla funzione obiettivo per convergere alla soluzione finale. Identificazione e Controllo Intelligente 22 Scelta e calcolo della fitness Un tipico esempio di fitness può essere, nell esempio già citato di stima dei coefficienti di un modello dinamico, la somma degli scarti quadratici tra la risposta misurata del sistema dinamico y i e quella del modello y i stimata, corrispondenti alla medesima sollecitazione di ingresso: n fitness = ( y y ) i= 1 i istimata 2 Identificazione e Controllo Intelligente 23 11

12 Meccanismi di selezione Nella versione dei GA più frequentemente utilizzata, la selezione degli individui che partecipano alla riproduzione è di tipo probabilistico. Il meccanismo di scelta più frequentemente utilizzato assegna a ciascun individuo della popolazione una probabilità di sopravvivenza proporzionale alla sua fitness. Ciò implica che, in media, gli individui più forti si riproducano più frequentemente. Il principale inconveniente della riproduzione probabilistica è che essa comporta il rischio di un fenomeno denominato convergenza prematura. p =0.5 1 p =0.17 Esempio: In una popolazione costituita da tre individui 2 caratterizzati dalle seguenti fitness: f 1 =0.9, f 2 =0.3, f 3 =0.6 p 3=0.33 si ha: p 1 =f 1 /1.8 = 0.5, p 2 = f 2 /1.8 = 0.17, p 3 = 0.6/1.8 = Identificazione e Controllo Intelligente 24 Altri criteri di selezione Tra le soluzioni più adottate per risolvere questo problema citiamo le strategie di fitness scaling (la fitness di ogni individuo viene scalata in modo lineare o per elevazione a potenza secondo coefficienti predefiniti), di ranking (gli individui della popolazione sono ordinati per fitness decrescente ed a ciascuno di essi è assegnata una probabilità di riproduzione in base alla posizione nella graduatoria e non in base al valore specifico della fitness) ed infine di tournament selection (si estraggono casualmente n coppie di individui nella popolazione e li si confronta fra di loro, e selezionando per la riproduzione i vincitori di ciascun confronto come individui ). Identificazione e Controllo Intelligente 25 12

13 Ulteriori criteri Esistono poi numerose varianti dei criteri di selezione citati, ideate con varie finalità. L elitist GA conserva il miglior individuo della popolazione prima che qualsiasi operazione di selezione e riproduzione avvenga; e lo ricopia nella popolazione discendente. In questo modo si evita il rischio di perdere il migliore individuo finora trovato, tipico dei meccanismi di selezione probabilistica. La tecnica del crowding factor seleziona gli individui che partecipano alla riproduzione non solo sulla base della fitness, ma anche di quanto ciascuna soluzione sia in media vicina ad altre soluzioni nella popolazione (crowding factor). Lo scopo di questa tecnica e favorire l esplorazione di nuove aree dello spazio delle soluzioni, evitando che le soluzioni si avvicinino troppo l una all altra. Identificazione e Controllo Intelligente 26 Crossover e mutazione Negli algoritmi genetici l operatore a cui è demandato il compito che in natura è svolto dalla riproduzione sessuata è sicuramente il crossover. Tale operatore deve generare nuove soluzioni a partire da quelle prescelte dall operatore di selezione. In natura un discendente è raramente un esatto clone di un genitore: esso ha due genitori ed eredita geni da entrambi. Il crossover opera appunto su due individui e trae da loro preziose informazioni combinandole per trovare dei discendenti con una fitness migliore. Parametro caratteristico del crossover è la sua probabilità di applicazione agli individui della popolazione. Identificazione e Controllo Intelligente 27 13

14 Encoding-crossover-mutation Binary encoding Chromosome (11, 6, 9) Crossover Gene Mutation Crossover point Mutation bit Identificazione e Controllo Intelligente 28 Crossover operators Simple crossover x = (x 1,,x k, x k+1,,x n ) y = (y 1, y k, y k+1,,y n ) scelta a caso una posizione k tra 1 ed n-1, si generano i due discendenti: x = (x 1,,x k, y k+1,,y n ) y = (y 1, y k, x k+1,,x n ) Arithmetic crossover Se x e y sono i genitori, scegliendo un numero casuale a tra 0 e 1, si ottengono i due discendenti x e y dalla seguente combinazione lineare: x = ax+(1-a)y y = ay+(1-a)x Identificazione e Controllo Intelligente 29 14

15 Crossover Heuristic Crossover La versione più comune di questo crossover genera solo un nuovo individuo, che viene affiancato al genitore a fitness maggiore. Se x e y sono i genitori e x è quello con la maggiore fitness, i due discendenti z 1 e z 2 si generano nel modo seguente: z 1 = x z 2 = x+a(x-y) con a numero scelto a caso tra 0 e 1. Identificazione e Controllo Intelligente 30 Mutation operators Uniform mutation - random selected element v k replaced by v k in the range [v min k and v max k ] Multiple uniform mutation - uniform mutation of n randomly selected elements, n {1,2,,N} t 1 Gaussian mutation - all elements are mutated: s + = ( v + f,, v + f,, v + f ) v 1 1 k k n n s + = ( v + f,, v + f,, v + f ) t 1 v 1 1 k k n n where f k, k=1,2,,n is a random number drawn from a Gaussian distribution Identificazione e Controllo Intelligente 31 15

16 Riassunto Terminologia Fitness function Population Encoding Individual Chromosome Gene Generation Selection Elitism Crossover Mutation Identificazione e Controllo Intelligente 32 The Basic Structure of the GA /* Single Criterion EA */ /* Algorithm Startup */ i = 1; Pop(1) = random_pop fitness_eval(pop(1)) i = 2; /* main loop of the EA */ For each individual in the population Simulate the system specified in the chromosome subject to the reference input. Compute the fitness (deviation of the simulated output from true reference output) WHILE terminating_condition == false p_best = findbest(pop(i-1)) /*elitist preservation of the best-known individual*/ Pop(i) = select(pop(i-1),sel_ops); Pop(i) = crossover(pop(i),p_cro); Pop(i) = mutation(pop(i),p_mut); fitness_eval(pop(i)) Pop(i)=Pop(i) p_best i=i+1; END WHILE Identificazione e Controllo Intelligente 33 16

17 (A) Single Run - Fitness (B) Single Run - Fitness std. dev x x Comportamento tipico Best Fitness Avg Fitness (C) Multiple Runs - Fitness 4 x Identificazione e Controllo Intelligente Number of generations Genetic Algorithms Example: Find the max. of the peaks function z = f(x, y) = 3*(1-x)^2*exp(-(x^2) - (y+1)^2) - 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2) -1/3*exp(-(x+1)^2 - y^2). Identificazione e Controllo Intelligente 35 17

18 Genetic Algorithms Derivatives of the peaks function dz/dx = -6*(1-x)*exp(-x^2-(y+1)^2) - 6*(1-x)^2*x*exp(-x^2-(y+1)^2) - 10*(1/5-3*x^2)*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*x*exp(-x^2-y^2) - 1/3*(- 2*x-2)*exp(-(x+1)^2-y^2) dz/dy = 3*(1-x)^2*(-2*y-2)*exp(-x^2-(y+1)^2) + 50*y^4*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*y*exp(-x^2-y^2) + 2/3*y*exp(-(x+1)^2-y^2) d(dz/dx)/dx = 36*x*exp(-x^2-(y+1)^2) - 18*x^2*exp(-x^2-(y+1)^2) - 24*x^3*exp(-x^2-(y+1)^2) + 12*x^4*exp(-x^2-(y+1)^2) + 72*x*exp(-x^2-y^2) - 148*x^3*exp(-x^2-y^2) - 20*y^5*exp(-x^2-y^2) + 40*x^5*exp(-x^2-y^2) + 40*x^2*exp(-x^2-y^2)*y^5-2/3*exp(-(x+1)^2-y^2) - 4/3*exp(-(x+1)^2- y^2)*x^2-8/3*exp(-(x+1)^2-y^2)*x d(dz/dy)/dy = -6*(1-x)^2*exp(-x^2-(y+1)^2) + 3*(1-x)^2*(-2*y-2)^2*exp(- x^2-(y+1)^2) + 200*y^3*exp(-x^2-y^2)-200*y^5*exp(-x^2-y^2) + 20*(1/5*xx^3-y^5)*exp(-x^2-y^2) - 40*(1/5*x-x^3-y^5)*y^2*exp(-x^2-y^2) + 2/3*exp(- (x+1)^2-y^2)-4/3*y^2*exp(-(x+1)^2-y^2) Identificazione e Controllo Intelligente 36 Genetic Algorithms GA process: Initial population 5th generation 10th generation Identificazione e Controllo Intelligente 37 18

19 Genetic Algorithms Performance profile Identificazione e Controllo Intelligente 38 Criteri di arresto Basati sul tempo di calcolo tempo a disposizione Numero di valutazioni della funzione obiettivo Basati sulle condizioni di convergenza Nessun incremento di prestazioni nelle ultime t iterazioni Fitness media della popolazione coincidente con fitness migliore Bassa diversità nella popolazione (individui praticamente tutti uguali). Identificazione e Controllo Intelligente 39 19

20 Quadro conclusivo Quando è opportuno usare un GA? Quando si deve risolvere un problema di ricerca dell ottimo in un dominio multidimensionale del quale non si hanno informazioni preliminari. Quando i parametri sono di tipo eterogeneo (binari, discreti, reali). Quando si vuole realizzare un algoritmo derivative-free in tempo rapido. Quando si vuole trovare una soluzione ottimale senza particolari restrizioni sul tempo di ricerca. Quando si è ragionevolmente certi che esistono più ottimi locali (se ce ne sono molti bisogna usare GA ad hoc) Quando può essere più efficiente il ricorso ad altre tecniche di ottimizzazione? Quando lo spazio di ricerca è a poche dimensioni (1, 2) in un rettangolo continuo. Quando sono necessarie garanzie di raggiungimento dell ottimo assoluto. Quando è disponibile analiticamente la forma della funzione obiettivo e la sua derivata prima. Quando si è certi che la funzione obiettivo non presenti minimi locali. Identificazione e Controllo Intelligente 40 Approfondimenti I principali campi di applicazione dei GA sui quali abbiamo recentemente condotto attività di ricerca sono: A. problemi combinatori GA per problemi di assegnamento, sequencing, scheduling nell ambito del controllo di sistemi manifatturieri automatizzati. Strategie di coordinamento per sistemi di controllo distribuito ad eventi (sistemi multi-agente). Ottimizzazione della gestione in tempo-reale di AGV. Problemi di logistica (scheduling della produzione in impianti distribuiti, gestione flotte di veicoli per il trasporto). B. Problemi di ottimizzazione numerica Identificazione di modelli non-lineari (Hammerstein, Wiener, reti neurofuzzy) per azionamenti e processi di laboratorio. Progetto automatico (hardware-in-the-loop) di sistemi di controllo lineari e non-lineari per azionamenti e manipolatori industriali. Identificazione e Controllo Intelligente 41 20

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Page 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

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione 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

Dettagli

Parte I. Prima Parte

Parte 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

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione 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

Dettagli

Computazione Naturale AA. 2011-2012

Computazione 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

Dettagli

Intelligenza Artificiale. Introduzione al calcolo evolutivo

Intelligenza Artificiale. Introduzione al calcolo evolutivo Intelligenza Artificiale Introduzione al calcolo evolutivo Marco Piastra Calcolo evolutivo - 1 Calcolo evolutivo ed IA Universe Borg Vogons Earth etc Biotop Society Stones & Seas etc Art Science Politics

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione 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

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Riproduzione Crossover Mutazione

Riproduzione 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

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare 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

Dettagli

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Breve introduzione al Calcolo Evoluzionistico

Breve 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

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: 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

Dettagli

Cap.1 - L impresa come sistema

Cap.1 - L impresa come sistema Cap.1 - L impresa come sistema Indice: L impresa come sistema dinamico L impresa come sistema complesso e gerarchico La progettazione del sistema impresa Modelli organizzativi per la gestione Proprietà

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

Slide Cerbara parte1 5. Le distribuzioni teoriche

Slide Cerbara parte1 5. Le distribuzioni teoriche Slide Cerbara parte1 5 Le distribuzioni teoriche I fenomeni biologici, demografici, sociali ed economici, che sono il principale oggetto della statistica, non sono retti da leggi matematiche. Però dalle

Dettagli

Scheduling 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 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

Dettagli

LABORATORIO DI ANALISI DEI SISTEMI

LABORATORIO DI ANALISI DEI SISTEMI LABORATORIO DI ANALISI DEI SISTEMI Si utilizzerà, come strumento di lavoro, un foglio elettronico, il più diffuso Excel o anche quello gratuito di OpenOffice (www.openoffice.org). Tale scelta, pur non

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come 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

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo 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

Dettagli

Corso di Informatica

Corso 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

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione 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

Dettagli

Tecniche di riconoscimento statistico

Tecniche 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

Dettagli

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

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1 1 PORTAFOGLIO Portafoglio Markowitz (2 titoli) (rischiosi) due titoli rendimento/varianza ( μ 1, σ 1 ), ( μ 2, σ 2 ) Si suppone μ 1 > μ 2, σ 1 > σ 2 portafoglio con pesi w 1, w 2 w 1 = w, w 2 = 1- w 1

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie 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

Dettagli

Quadratic assignment Problem: The Hospital Layout

Quadratic assignment Problem: The Hospital Layout Università degli Studi di Modena e Reggio Emilia Corso di Laurea Magistrale in Ingegneria Gestionale Metodi di ottimizzazione per la logistica e la produzione Quadratic assignment Problem: The Hospital

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione 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

Dettagli

come nasce una ricerca

come nasce una ricerca PSICOLOGIA SOCIALE lez. 2 RICERCA SCIENTIFICA O SENSO COMUNE? Paola Magnano paola.magnano@unikore.it ricevimento: martedì ore 10-11 c/o Studio 16, piano -1 PSICOLOGIA SOCIALE COME SCIENZA EMPIRICA le sue

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. 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

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Ricerca di outlier. Ricerca di Anomalie/Outlier

Ricerca di outlier. Ricerca di Anomalie/Outlier Ricerca di outlier Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Ricerca di Anomalie/Outlier Cosa sono gli outlier? L insieme di dati che sono considerevolmente differenti dalla

Dettagli

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

Test statistici di verifica di ipotesi

Test statistici di verifica di ipotesi Test e verifica di ipotesi Test e verifica di ipotesi Il test delle ipotesi consente di verificare se, e quanto, una determinata ipotesi (di carattere biologico, medico, economico,...) è supportata dall

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche 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

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

PROGRAMMA SVOLTO NELLA SESSIONE N.

PROGRAMMA SVOLTO NELLA SESSIONE N. Università C. Cattaneo Liuc, Corso di Statistica, Sessione n. 1, 2014 Laboratorio Excel Sessione n. 1 Venerdì 031014 Gruppo PZ Lunedì 061014 Gruppo AD Martedì 071014 Gruppo EO PROGRAMMA SVOLTO NELLA SESSIONE

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso 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

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

DAL DIAGRAMMA AL CODICE

DAL 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

Dettagli

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Un po di statistica. Christian Ferrari. Laboratorio di Matematica Un po di statistica Christian Ferrari Laboratorio di Matematica 1 Introduzione La statistica è una parte della matematica applicata che si occupa della raccolta, dell analisi e dell interpretazione di

Dettagli

Algoritmi Genetici. e programmazione genetica

Algoritmi Genetici. e programmazione genetica Algoritmi Genetici e programmazione genetica Algoritmi Genetici Algoritmi motivati dall analogia con l evoluzione biologica Lamarck: le specie trasmutano nel tempo Darwin e Wallace: variazioni consistenti

Dettagli

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Considerazioni sulla leggibilità del codice a barre e dei caratteri OCR

Considerazioni sulla leggibilità del codice a barre e dei caratteri OCR OCR e font di codice a 3 di 9 1 Considerazioni sulla leggibilità del codice a e dei caratteri OCR Diversi sono i fattori che influiscono sulla leggibilità dei codici a e dei caratteri OCR, tra questi impostazioni

Dettagli

Corso di Matematica per la Chimica

Corso 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

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Rappresentazione dell Informazione

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI 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

Dettagli

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori. DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato

Dettagli

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali Corso Sistemi Informativi Aziendali,. Sistemi informativi aziendali di Simone Cavalli (simone.cavalli@unibg.it) Bergamo, Febbraio - Marzo 2009 Produzione (cenni) Pagina 2 Produzione La produzione, in termini

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a) Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B Eventi indipendenti: un evento non influenza l altro Eventi disgiunti: il verificarsi di un evento esclude l altro Evento prodotto:

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario:

1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario: Esempi di domande risposta multipla (Modulo II) 1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario: 1) ha un numero di elementi pari a 5; 2) ha un numero di elementi

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26 Indice L attività di recupero 6 Funzioni Teoria in sintesi 0 Obiettivo Ricerca del dominio e del codominio di funzioni note Obiettivo Ricerca del dominio di funzioni algebriche; scrittura del dominio Obiettivo

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Lezione 8. La macchina universale

Lezione 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

Dettagli

Metodi statistici per le ricerche di mercato

Metodi statistici per le ricerche di mercato Metodi statistici per le ricerche di mercato Prof.ssa Isabella Mingo A.A. 2014-2015 Facoltà di Scienze Politiche, Sociologia, Comunicazione Corso di laurea Magistrale in «Organizzazione e marketing per

Dettagli

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito. INTEGRALI DEFINITI Sia nel campo scientifico che in quello tecnico si presentano spesso situazioni per affrontare le quali è necessario ricorrere al calcolo dell integrale definito. Vi sono infatti svariati

Dettagli

La trasformata Zeta. Marco Marcon

La trasformata Zeta. Marco Marcon La trasformata Zeta Marco Marcon ENS Trasformata zeta E l estensione nel caso discreto della trasformata di Laplace. Applicata all analisi dei sistemi LTI permette di scrivere in modo diretto la relazione

Dettagli

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli 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

Dettagli

Introduzione alla Simulazione Numerica

Introduzione alla Simulazione Numerica Introduzione alla Simulazione Numerica Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - Novembre 2001 Simulazione numerica Tecnica che permette di eseguire esperimenti su un

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

Tecniche di Prototipazione. Introduzione

Tecniche di Prototipazione. Introduzione Tecniche di Prototipazione Introduzione Con il termine prototipo si intende il primo esempio di un prodotto che deve essere sviluppato e che consente di poter effettuare considerazioni preliminari prima

Dettagli

Federico Laschi. Conclusioni

Federico Laschi. Conclusioni Lo scopo di questa tesi è stato quello di proporre alcuni algoritmi di allocazione dinamica della capacità trasmissiva, basati su tecniche di predizione on-line dei processi di traffico. Come prima analisi

Dettagli

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale Ing. Tiziano Papini Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction metodi riparativi Intelligenza Artificiale - CSP Tiziano Papini -

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

Grandezze fisiche e loro misura

Grandezze fisiche e loro misura Grandezze fisiche e loro misura Cos è la fisica? e di che cosa si occupa? - Scienza sperimentale che studia i fenomeni naturali suscettibili di sperimentazione e caratterizzati da entità o grandezze misurabili.

Dettagli

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k Capitolo 4 Serie numeriche 4. Serie convergenti, divergenti, indeterminate Data una successione di numeri reali si chiama serie ad essa relativa il simbolo u +... + u +... u, u 2,..., u,..., (4.) oppure

Dettagli