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

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

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

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

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

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

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

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

I GA sono metodi adattativi che possono essere usati per risolvere problemi di ricerca

I GA sono metodi adattativi che possono essere usati per risolvere problemi di ricerca Capitolo 1 Algoritmi Genetici I GA sono metodi adattativi che possono essere usati per risolvere problemi di ricerca e ottimizzazione. Sono basati sui processi genetici degli organismi biologici. Imitando

Dettagli

Ricerca informata. Scelta dell euristica

Ricerca informata. Scelta dell euristica Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella

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

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

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

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

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

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

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

Ricerca Operativa A.A. 2007/2008

Ricerca Operativa A.A. 2007/2008 Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del

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

ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FORMULAZIONE AGLI ELEMENTI FINITI DI PROBLEMI DI IDENTIFICAZIONE PARAMETRICA

ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FORMULAZIONE AGLI ELEMENTI FINITI DI PROBLEMI DI IDENTIFICAZIONE PARAMETRICA ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA CIVILE DISTART Scienza delle Costruzioni TESI DI LAUREA in Teoria delle Strutture FORMULAZIONE

Dettagli

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

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

Ant Colony Optimization (ACO) e Swarm Intelligence

Ant Colony Optimization (ACO) e Swarm Intelligence Università degli Studi di Milano Facoltà di scienze Matematiche, Fisiche e Naturali Ant Colony Optimization (ACO) e Swarm Intelligence Seminario per il corso di Sistemi Intelligenti Prof. N. Alberto BORGHESE

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

Dettagli

Progetto e analisi di algoritmi

Progetto e analisi di algoritmi Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento

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 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

3. Gli algoritmi di ottimizzazione.

3. Gli algoritmi di ottimizzazione. Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3. Gli algoritmi di ottimizzazione. I grafi. La teoria dei grafi è un comodo strumento per la definizione e la formalizzazione

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

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

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

Ottimizzazione e modelli ad agenti

Ottimizzazione e modelli ad agenti e modelli ad Dipartimento di Economia Ca Foscari - Venezia Vittorio Veneto, 24 Maggio 2011 Metodi moderni per l ottimizzazione. 1 Esempi e definizione del problema. 2 Grandi problemi, grandi idee... 3

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

DoE - Design of Experiment

DoE - Design of Experiment 3 Tecniche di DoE DoE - Design of Experiment Sequenza di Prove Sperimentali da Effettuare per Studiare e Ottimizzare un Processo Un esperimento programmato è una prova o una serie di prove in cui vengono

Dettagli

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale Esperienze di Apprendimento Automatico per il corso di lippi@dsi.unifi.it Dipartimento Sistemi e Informatica Università di Firenze Dipartimento Ingegneria dell Informazione Università di Siena Introduzione

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

Algoritmi genetici Ing. Valerio Lacagnina

Algoritmi genetici Ing. Valerio Lacagnina Variazione genetica e selezione naturale Gli Algoritmi Genetici (AG), proposti nel 1975 da J.H. Holland, sono un modello computazionale idealizzato dall evoluzione naturale darwinista. Ogni individuo ha

Dettagli

CORSO DI STATISTICA ED ELEMENTI DI INFORMATICA

CORSO DI STATISTICA ED ELEMENTI DI INFORMATICA ANNO ACCADEMICO 2013-2014 UNIVERSITA DEGLI STUDI DI TERAMO FACOLTA DI MEDICINA VETERINARIA CORSO DI STATISTICA ED ELEMENTI DI INFORMATICA CFU 5 DURATA DEL CORSO : ORE 35 DOCENTE PROF. DOMENICO DI DONATO

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

Algoritmi euristici ed evolutivi per l ottimizzazione

Algoritmi euristici ed evolutivi per l ottimizzazione Algoritmi euristici ed evolutivi per l ottimizzazione Dipartimento di Matematica e Informatica Università degli Studi di Perugia Via Vanvitelli, Perugia 17 febbraio 2009 / GALN 2009 Sommario Introduzione

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

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

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

Introduzione all elaborazione di immagini Part II

Introduzione all elaborazione di immagini Part II Introduzione all elaborazione di immagini Part II Obiettivi delle tecniche di elaborazione di immagini: miglioramento di qualità (image enhancement) ripristino di qualità o restauro (image restoration)

Dettagli

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri Stima di parametri Il gestore di un sito turistico dove si pratica il bungee-jumping deve fornire alla sovrintendenza municipale un documento che riguarda la sicurezza del servizio fornito. Il documento

Dettagli

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

Dettagli

Codifica di sorgente. esempio di sorgente con memoria

Codifica di sorgente. esempio di sorgente con memoria Codifica di sorgente esercitazione su sorgenti markoviane 1 esempio di sorgente con memoria Esempio di sorgente con memoria markoviana a due stati NB: per la simmetria del sistema, i simboli sono equiprobabili

Dettagli

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it Laboratory for innovation MUSP Macchine utensili e sistemi di produzione www.musp.it Sommario La schedulazione della produzione Gli obiettivi nella schedulazione Le problematiche legate alla schedulazione

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

Università degli Studi della Calabria FACOLTÀ DI INGEGNERIA

Università degli Studi della Calabria FACOLTÀ DI INGEGNERIA Università degli Studi della Calabria FACOLTÀ DI INGEGNERIA Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA UNA IMPLEMENTAZIONE DISTRIBUITA DELLA PROGRAMMAZIONE GENETICA IN AMBIENTE PEER-TO-PEER

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

Rappresentazione e Memorizzazione dei Dati

Rappresentazione e Memorizzazione dei Dati Rappresentazione e Memorizzazione dei Dati Giuseppe Nicosia CdL in Matematica (Laurea Triennale) Facoltà di Scienze MM.FF.NN. Università di Catania Bit e loro Memorizzazione Definizioni Algoritmo: una

Dettagli

EMERGENCE OF SELF ORGANIZATION AND SEARCH FOR OPTIMAL ENTERPRISE STRUCTURE: AI EVOLUTIONARY METHODS APPLIED TO AGENT BASED PROCESS SIMULATION

EMERGENCE OF SELF ORGANIZATION AND SEARCH FOR OPTIMAL ENTERPRISE STRUCTURE: AI EVOLUTIONARY METHODS APPLIED TO AGENT BASED PROCESS SIMULATION EMERGENCE OF SELF ORGANIZATION AND SEARCH FOR OPTIMAL ENTERPRISE STRUCTURE: AI EVOLUTIONARY METHODS APPLIED TO AGENT BASED PROCESS SIMULATION remond@di.unito.it Department of Computer Science University

Dettagli

Complessità computazionale

Complessità computazionale 1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

0. Piano cartesiano 1

0. Piano cartesiano 1 0. Piano cartesiano Per piano cartesiano si intende un piano dotato di due assi (che per ragioni pratiche possiamo scegliere ortogonali). Il punto in comune ai due assi è detto origine, e funziona da origine

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le tre leggi di Mendel, che descrivono la trasmissione dei caratteri ereditari da una generazione all altra, segnano l inizio della

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

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Nicola Febbrari Università degli Studi di Verona Facoltà MM.FF.NN. nicola.febbrari@studenti.univr.it 22 gennaio 2013 1 Introduzione

Dettagli

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33 Docente: Laura Palagi Homework in Ricerca Operativa gruppo n 33 Turni del Personale Martina Conti

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

Introduzione alla scienza della comunicazione (E. T. Jaynes)

Introduzione alla scienza della comunicazione (E. T. Jaynes) Introduzione alla scienza della comunicazione (E T Jaynes) S Bonaccorsi Department of Mathematics University of Trento Corso di Mathematical model for the Physical, Natural and Social Sciences Outline

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

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Parte I Sui testi di approfondimento: leggere dal Cap. del testo C (Console, Ribaudo):.,. fino a pg.6 La codifica delle informazioni Un calcolatore memorizza ed elabora informazioni

Dettagli

Implementazione parallela di algoritmi genetici per la stima di HMM

Implementazione parallela di algoritmi genetici per la stima di HMM Università degli Studi di Trieste Implementazione parallela di algoritmi genetici per la stima di HMM Relatore Enzo Mumolo Candidato Nicola Timeus 14 marzo 2014 Motivazioni Pattern recognition mediante

Dettagli

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

LA RAPPRESENTAZIONE DELLE INFORMAZIONI ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY LA RAPPRESENTAZIONE DELLE INFORMAZIONI Prof. G. Ciaschetti DATI E INFORMAZIONI Sappiamo che il computer è una macchina stupida, capace di eseguire

Dettagli

2.5 Stabilità dei sistemi dinamici 20. - funzioni di trasferimento, nella variabile di Laplace s, razionali fratte del tipo:

2.5 Stabilità dei sistemi dinamici 20. - funzioni di trasferimento, nella variabile di Laplace s, razionali fratte del tipo: .5 Stabilità dei sistemi dinamici 9 Risulta: 3 ( s(s + 4).5 Stabilità dei sistemi dinamici Si è visto come un sistema fisico può essere descritto tramite equazioni differenziali o attraverso una funzione

Dettagli

L'algebra di Boole falso vero livello logico alto livello logico basso Volts

L'algebra di Boole falso vero livello logico alto livello logico basso Volts L algebra di Boole L'algebra di Boole comprende una serie di regole per eseguire operazioni con variabili logiche. Le variabili logiche possono assumere solo due valori. I due possibili stati che possono

Dettagli

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo Lezione2 Ricerca di zeri http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali Fernando Palombo Aritmetica Finita nel Computer Nel computer l aritmetica è a precisione finita cioè

Dettagli

La modellazione delle strutture

La modellazione delle strutture La modellazione delle strutture 1 Programma 31-1-2012 Introduzione e brevi richiami al metodo degli elementi finiti 7-2-2012 La modellazione della geometria 14-2-2012 21-2-2012 28-2-2012 6-3-2012 13-32012

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

CURRICOLO MATEMATICA

CURRICOLO MATEMATICA 1 CURRICOLO MATEMATICA Competenza 1 al termine della scuola dell Infanzia 2 NUMERI Raggruppare, ordinare, contare, misurare oggetti, grandezze ed eventi direttamente esperibili. Utilizzare calendari settimanali

Dettagli

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it MACHINE LEARNING e DATA MINING Introduzione a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it Apprendimento Automatico(i) Branca dell AI che si occupa di realizzare dispositivi artificiali capaci di

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Modelli di Ottimizzazione

Modelli di Ottimizzazione Capitolo 2 Modelli di Ottimizzazione 2.1 Introduzione In questo capitolo ci occuperemo più nel dettaglio di quei particolari modelli matematici noti come Modelli di Ottimizzazione che rivestono un ruolo

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

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

Sistemi di forze: calcolo grafico

Sistemi di forze: calcolo grafico UNTÀ D3 Sistemi di forze: calcolo grafico TEOA Uso del CAD nei procedimenti grafici 2 appresentazione grafica dei vettori 3 Poligono delle forze 4 Poligono delle successive risultanti 5 Poligono funicolare

Dettagli

Analisi 2. Argomenti. Raffaele D. Facendola

Analisi 2. Argomenti. Raffaele D. Facendola Analisi 2 Argomenti Successioni di funzioni Definizione Convergenza puntuale Proprietà della convergenza puntuale Convergenza uniforme Continuità e limitatezza Teorema della continuità del limite Teorema

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

Controllo Predittivo (cenni)

Controllo Predittivo (cenni) Controllo Predittivo (cenni) Controllo Digitale - A. Bemporad - A.a. 2007/08 Optimizer Model Predictive Control Plant Reference r(t) Input u(t) Output y(t) Measurements MODEL: è richiesto un modello del

Dettagli

Indice. Capitolo 1: Introduzione 1 1.1 Premessa 2 1.2 Scopi 3 1.3 Organizzazione del lavoro 4

Indice. Capitolo 1: Introduzione 1 1.1 Premessa 2 1.2 Scopi 3 1.3 Organizzazione del lavoro 4 dei capitoli Capitolo 1: Introduzione 1 1.1 Premessa 2 1.2 Scopi 3 1.3 Organizzazione del lavoro 4 Capitolo 2: Analisi sperimentale 6 2.1 Metodi di analisi sperimentale 7 2.2 Monitoraggio strutturale 9

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

Dettagli

Scheda n.5: variabili aleatorie e valori medi

Scheda n.5: variabili aleatorie e valori medi Scheda n.5: variabili aleatorie e valori medi October 26, 2008 1 Variabili aleatorie Per la definizione rigorosa di variabile aleatoria rimandiamo ai testi di probabilità; essa è non del tutto immediata

Dettagli

Dott.ssa Lorella Gabriele PhD in Psicologia della Programmazione e Intelligenza Artificiale Dipartimento di Fisica Università della Calabria

Dott.ssa Lorella Gabriele PhD in Psicologia della Programmazione e Intelligenza Artificiale Dipartimento di Fisica Università della Calabria Dott.ssa Lorella Gabriele PhD in Psicologia della Programmazione e Intelligenza Artificiale Dipartimento di Fisica Università della Calabria La robotica è una scienza che si occupa di studiare e sviluppare

Dettagli

16.3.1 Alberi binari di ricerca

16.3.1 Alberi binari di ricerca 442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

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