3. Gli algoritmi di ottimizzazione.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "3. Gli algoritmi di ottimizzazione."

Transcript

1 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 di numerosi problemi di ottimizzazione. Spesso infatti è utile non tanto cercare la soluzione di un dato problema, bensì ricondurlo ad una classe di problemi noti dei quali si conosce, o almeno si ha idea, dei possibili approcci per la soluzione. Un insieme è una collezione di elementi e viene indicato come: S = { a, b, c, d }. La cardinalità di un insieme è il numero dei suoi elementi e si indica con S. La copertura di un insieme è un insieme di sottoinsiemi tali che la loro unione corrisponde all insieme stesso. Una partizione di un insieme è una copertura nella quale i sottoinsiemi, detti blocchi, sono disgiunti, ovvero non hanno elementi in comune. Un grafo G(V, E) è una coppia di insiemi V e E. Gli elementi dell insieme V sono detti vertici, e gli elementi dell insieme E sono detti connessioni e rappresentano le relazioni che esistono tra i vertici. In un grafo diretto le connessioni sono rappresentate da coppie ordinate di vertici e sono rappresentate con E k = (v i, v j ), mentre in un grafo indiretto sono rappresentate da coppie non ordinate di vertici e sono rappresentate con E k = {v i, v j } (vedi Figura ). Una connessione si dice incidente su un vertice, quando su tale vertice ha uno dei due punti di collegamento. Il grado di un vertice è il numero di connessioni su di esso incidenti. Un ipergrafo è una estensione di un grafo nel quale le connessioni possono essere incidenti su un numero qualsiasi di vertici. Figura Grafo indiretto e grafo diretto Grafi indiretti e diretti. Per i grafi indiretti possono essere introdotte delle definizioni che saranno estendibili anche per i grafi diretti. Due vertici si dicono adiacenti se esiste tra essi una connessione. Un loop è una connessione i cui estremi corrispondono allo stesso vertice. Un grafo si definisce semplice se è privo di loop e di connessioni che hanno estremi sulla stessa coppia di vertici.

2 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-2 Un cammino (walk) è una alternanza di vertici e di connessioni. Un percorso (path) è un cammino con vertici distinti. Un ciclo è un cammino chiuso. Un grafo senza cicli è detto aciclico. Un grafo si dice connesso se tutte le coppie di vertici sono collegate da un percorso. Un albero è un grafo aciclico connesso. I vertici di un albero sono detti nodi. Le foglie sono nodi adiacenti ad un solo vertice. Un grafo si dice completo se tutte le coppie di vertici sono adiacenti. Un raggruppamento (clique) è un sottografo completo. Un grafo si definisce planare se è possibile una rappresentazione su un piano tale che le connessioni non si intersecano tra loro. Un insieme stabile, o indipendente, di vertici è un insieme di vertici tale che non esiste alcuna connessione tra qualsiasi coppia di vertici. È detta colorazione una partizione in sottoinsiemi stabili. Per i grafi diretti valgono tutte le definizioni fatte per i grafi indiretti salvo farne una estensione al fatto che le connessioni hanno ora un verso. Per i vertici si parlerà quindi di grado di ingresso e di uscita per indicare rispettivamente la cardinalità delle connessioni in ingresso e in uscita di un vertice. I cammini e i percorsi vanno ora considerati tenendo presente il verso delle connessioni. a b c d e d a 2 e b c Figura 2 Grafo e sue rappresentazioni matriciali I grafi indiretti e diretti possono essere rappresentati attraverso matrici. In Figura 2 è rappresentato un grafo e la sua matrice di incidenza (sopra) e di adiacenza (sotto). La matrice di incidenza è costituita da tante righe quanti sono i vertici e da tante colonne quante sono le connessioni. In un grafo indiretto la posizione (i, j) è pari a se la j-esima connessione è incidente al vertice v i, altrimenti è pari a. Nel caso di grafi diretti tale posizione è pari a se il vertice v i è la testa della connessione ed è pari a - se è la coda.

3 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3 La matrice di adiacenza è quadrata e la sua dimensione è pari alla cardinalità dei vertici. La posizione (i, j) è pari a se v j è adiacente a v i, altrimenti è pari a. Tale matrice è simmetrica solo se il grafo è indiretto. I grafi diretti e indiretti possono essere pesati, ovvero ai vertici e/o alle connessioni possono essere associati dei pesi. Un modo di schematizzare un grafo, alternativo alla matrice delle incidenze, può essere attraverso la matrice dei pesi. Questa è una matrice quadrata nella quale si trovano direttamente i pesi delle connessioni tra due vertici del grafo. Si noti che, in questo caso, è necessario comunque disporre della matrice delle adiacenze per discriminare i casi in cui tra due vertici non esista una connessione evitando di dover inserire un termine nella matrice dei pesi. Un grafo può essere caratterizzato da quattro valori. Il numero di raggruppamento ω(g) è la cardinalità del più grande raggruppamento possibile su G (V, E). Il numero di copertura κ(g) è la cardinalità della copertura con minor numero di raggruppamenti di G (V, E). Il numero di stabilità α(g) è la cardinalità del più grande insieme stabile di G(V, E). Il numero cromatico χ(g) è la cardinalità del più piccolo insieme di colorazione di G(V, E). Dalle definizioni si ha che: ω(g) χ(g) α(g) κ(g) Un grafo si definisce perfetto se nelle espressioni precedenti è valida l eguaglianza. Grafi e algoritmi. Un problema decisionale è un problema con una soluzione binaria. Questo genere di problemi possono essere utili per valutare la proprietà di un modello. Un problema di ottimizzazione è un problema la cui soluzione può essere misurata in termini di una funzione costo, detta anche obiettivo. Il valore da cercare è normalmente il valore minimo o il valore massimo di tale funzione. I problemi di ottimizzazione possono essere ridotti ad una sequenza di problemi decisionali. Un algoritmo è una procedura computazionale che ha un insieme di ingressi ed un insieme di uscite, ha un numero finito di istruzioni e termina in un numero finito di passi. I problemi che possono essere risolti attraverso un algoritmo sono detti decidibili. Un algoritmo è esatto quando fornisce sempre la soluzione esatta. Se problemi di complessità computazionale rendono impossibile la ricerca di una soluzione esatta, possono essere usati algoritmi euristici. Questi, in base a conoscenze del problema e dall esperienza, possono essere in grado di trovare soluzioni approssimate il cui valore è abbastanza vicino a quello ottimo. La complessità di un algoritmo si misura in termini di dimensioni della memoria necessaria a svolgere le operazioni e di tempo necessario per raggiungere la soluzione. La complessità viene normalmente espressa in funzione della dimensione del problema a meno di una costante moltiplicativa. Si parlerà dunque di ordine di complessità e sarà denotata come O(f(n)) dove n rappresenta la dimensione del problema. Si avrà ad esempio O(n), O(n log n), O(n 2 ), O(2 n ).

4 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-4 Generalmente gli algoritmi con una complessità polinomiale sono utilizzabili, mentre non lo sono quelli di complessità esponenziale. Ogni considerazione naturalmente non può prescindere dalla costante moltiplicativa, che potrebbe, per una dimensione del problema di nostro interesse, rendere maggiore il tempo necessario allo svolgimento di una procedura con complessità polinomiale rispetto ad un altra con complessità esponenziale. Un algoritmo si definisce ottimo quando l ordine di complessità è pari a O(n). Ciò non ha nulla a che fare con la soluzione ottima di un problema. Algoritmi per LP, ILP e ZOLP. Un algoritmo può essere classificato in base alla natura dello spazio delle soluzioni che esso deve considerare. Molti problemi possono essere considerati come problemi di ottimizzazione di funzioni lineari sottoposte a vincoli lineari. Il caso più generale è quello noto come programmazione lineare (LP, linear program) e può essere espresso nella forma: min c T x A x b, x dove x R n, c R n, b R m, A R m n. In letteratura sono stati presentati differenti algoritmi, come quello del simplesso (semplice, ma con una complessità maggiore di quella polinomiale), quello dell ellissoide (con complessità polinomiale, ma inefficiente), quello proiettivo (con complessità polinomiale). Un caso particolare di questa tipologia di ottimizzazioni è quella in cui il vettore incognito appartiene all insieme dei numeri interi. Si parla in questo caso di programmazione lineare intera (ILP, integer linear program) e si ha che x Z n. La natura discreta del problema lo rende intrattabile. Si può utilizzare un algoritmo di tipo LP, trovare una soluzione nel campo dei numeri reali ed effettuare un arrotondamento del vettore soluzione per ottenere un corrispondente vettore di interi. In questo caso però non è garantito che la soluzione ottenuta sia ottima. Un caso specifico nella categoria dei problemi ILP si ha quando il vettore della soluzione è binario. Il problema prende il nome di programmazione lineare binaria (ZOLP, zero-one linear program). Classi di algoritmi di ottimizzazione. Gli algoritmi di ricerca della soluzione ottima possono essere classificati in tre classi come illustrato in Figura 3. Tecniche enumerative Tecniche numeriche Tecniche probabilistiche Figura 3 Classi di tecniche di ricerca

5 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-5 Le tecniche enumerative ricercano la soluzione ottima in tutti i punti del dominio, eventualmente discretizzato, della funzione. Semplificazioni possono derivare dalla riduzione del problema in sottoproblemi più semplici. La programmazione dinamica è una di queste tecniche. Le tecniche numeriche usano un insieme di condizioni necessarie e sufficienti che devono essere soddisfatte dalla soluzione del problema di ottimizzazione. Queste si possono classificare in dirette e indirette. I metodi indiretti ricercano il minimo di una funzione risolvendo un insieme di funzioni non lineari e ricercando iterativamente la soluzione finché il gradiente della funzione costo è nullo. I metodi diretti fanno in modo che sia il gradiente a guidare la ricerca della soluzione. Le tecniche probabilistiche si basano su tecniche enumerative, ma usano informazioni addizionali per effettuare la ricerca e possono essere viste come processi evolutivi. Fanno parte di questa categoria l algoritmo del Simulated Annealing, che usa un processo evolutivo termodinamico, e la classe degli algoritmi genetici, che sfruttano tecniche evolutive biologiche. Algoritmi di programmazione dinamica. La programmazione dinamica è una metodologia che risolve problemi complessi attraverso la loro scomposizione in problemi decisionali più semplici. Ovviamente il problema deve essere tale per cui l unione delle soluzioni ottime dei sottoproblemi corrisponda alla soluzione ottima globale. L efficienza dell algoritmo dipende dal numero di decisioni e dalla complessità nel trovare la soluzione dei singoli sottoproblemi. Nel caso il problema sia adatto ad un tale tipo di approccio, la complessità dell algoritmo può essere addirittura lineare con le sue dimensioni. a t t 2 t 4 b c d e t 3 t 4 f g t 2 Figura 4 Copertura di un albero

6 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-6 Come esempio si consideri la Figura 4. Si abbia l albero sulla sinistra costituito dai vertici a, b, c, d, e, f, g. Si consideri il problema della copertura a costo minimo attraverso i modelli t, t 2, t 3 e t 4, il costo dei quali sia rispettivamente pari a 2, 3, 4, 5. I modelli t e t 2 sarebbero sufficienti per la copertura di qualsiasi albero binario, ma non è detto che questa risulti la copertura a costo minimo. Si procede verificando che l unico modello in grado di coprire il vertice e è il modello t 2 con costo 3. Il vertice c può essere coperto dal modello t 3 con costo 4 oppure dal modello t con costo 2 più il modello t 2 con costo 3. La seconda soluzione ha un costo totale pari a 5, ovvero maggiore del costo della prima. Il costo di c viene posto quindi pari a 4. Il vertice b può essere coperto solo dal modello t con costo pari a 2. Il vertice radice a può essere coperto dal modello t 2 con costo pari a 3 più i costi pari a 2 e 4 per un totale di 9. Questo può però anche essere coperto da t 4 con un costo pari a 5 più 3 per un totale di 8. La seconda scelta è la migliore, quindi la copertura migliore a costo minimo risulterà costituita da t 4 e t 2 come illustrato in figura. Algoritmo del branch-and-bound. Si supponga di avere un problema tipo ZOLP e che la soluzione decisionale sia costituita da n variabili binarie, ovvero: x = [ x, x 2, x n ] T. Esistono quindi 2 n possibili valori per il vettore x come soluzione della funzione obiettivo. Un metodo di soluzione è quello di fissare prima x = e trovare la soluzione x del problema ridotto e poi di fissare x = e trovare l altra soluzione di x. Questo problema può essere visualizzato come un albero decisionale binario, dove ogni foglia rappresenta una possibile soluzione. Un algoritmo che visiti tutte le foglie, ovvero che valuti tutte le possibili soluzioni ha una complessità esponenziale. Bound = 2 X = X = X 2 = X 2 = X 2 = X 2 = Figura 5 Albero decisionale

7 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-7 L algoritmo branch-and-bound si basa sull idea di visitare solo una parte dell albero. Per ogni branch, ovvero per ogni diramazione, viene stimato il limite inferiore della soluzioni per tutte le soluzioni di quel ramo. Se tale stima è maggiore della migliore soluzione trovata, quel ramo viene tagliato (pruned) poiché le soluzioni ad esso relative hanno probabilmente un costo maggiore di una soluzione già acquisita. Ovviamente prima di tagliare qualsiasi ramo occorre aver visitato almeno una foglia, ovvero aver trovato una soluzione e aver calcolato il suo costo. Come esempio si consideri la Figura 5. Il problema prevede un vettore soluzione x = [ x, x2 ] di due variabili binarie. L algoritmo impone inizialmente x =. Successivamente x 2 =. Avendo raggiunto una foglia, ovvero una soluzione, ne calcola il costo ottenendo il valore. A questo punto risale l albero e ridiscende imponendo x 2 =. Questa è una nuova soluzione ed il suo costo, pari ad 8, è minore del miglior costo trovato al momento. La soluzione [, ] viene assunta dunque come migliore soluzione attuale. L algoritmo risale ancora l albero per analizzare il ramo in cui x =. Anziché discendere ancora prova a stimare il limite inferiore del costo di tutte le soluzioni appartenenti a quel ramo. Ottiene un limite (bound) pari a 2. Ciò vuol dire che sicuramente su quel ramo non esiste una soluzione migliore di 2. Poiché tale valore è maggiore della migliore soluzione trovata, il ramo viene tagliato e le soluzioni in esso comprese non vengono prese in considerazione. Dalla figura si può vedere che il limite è stato effettivamente calcolato correttamente. Infatti le soluzioni appartenenti a quel ramo avrebbero avuto costo pari a 5 e 7. Migliore è la stima del limite, migliore saranno le prestazioni dell algoritmo che riuscirà a tagliare, ovvero non esplorare, sezioni dell albero maggiori. In questo caso il metodo non influisce sull esattezza della soluzione, bensì sul solo tempo di calcolo, ovvero sulla complessità. Non sempre è possibile una stima sicura del costo delle soluzioni di un ramo. Il calcolo del limite potrebbe avvenire anche con tecniche euristiche che effettuino un calcolo statistico del costo. Questo potrebbe essere non corretto e la soluzione trovata non sarebbe con sicurezza la migliore. Problemi di cammino minimo e massimo. I problemi del cammino a costo minimo e a costo massimo sono modellizzazioni di un grande numero di altri problemi e in letteratura sono stati proposti molti algoritmi che ricercano con diversi approcci la soluzione migliore. Il problema del cammino minimo (quello a cammino massimo può essere considerato una sua estensione) può essere formalizzato da un grafo diretto connesso con connessioni pesate ed un vertice, chiamato sorgente, con un grado di ingresso nullo. Si deve ricercare nel grafo il percorso dal vertice sorgente a un altro qualsiasi vertice che abbia minima la somma dei pesi delle connessioni. In Figura 6 è illustrato un grafo G(V, E, W) che modellizza un problema a cammino minimo. Il grafo deve avere la caratteristica di non avere cicli negativi, altrimenti il problema è inconsistente.

8 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo Figura 6 Modello per il cammino minimo Il caso più semplice si verifica quando il grafo è anche aciclico. In questo caso i vertici possono essere ordinati topologicamente. Il problema ha complessità pari a O(n 2 ). Il caso generale può essere risolto attraverso l algoritmo di Bellman-Ford che opera la ricerca della soluzione attraverso la tecnica del rilassamento. Esso inizializza i pesi del cammino minimo con quelli delle connessioni dal vertice sorgente. Successivamente i pesi di tutti i cammini vengono aggiornati iterativamente. Quando il problema è consistente, le stime dei pesi del cammino convergono su valori stabili corrispondenti ai pesi del cammino minimo. Se la convergenza non si ottiene in un numero di iterazioni pari a V -, il problema è probabilmente inconsistente. Il problema di colorazione. Il problema della colorazione di un grafo è un altro classico problema che si riscontra spesso nel CAD. In questo caso la connessione tra due vertici può essere vista come una incompatibilità tra le caratteristiche degli stessi. Si supponga, per esempio di avere a che fare con la ricerca del numero minimo di risorse necessarie per poter eseguire un certo numero di processi. Questi sono caratterizzati temporalmente da un istante di inizio e da un istante di termine. La modellizzazione di questo problema può essere effettuata attraverso un grafo nel quale i vertici rappresentano i processi e la connessione tra due di questi una sovrapposizione temporale della loro esecuzione come mostrato in come illustrato in Figura 7. Trovare il numero minimo di colori N della colorazione del grafo corrisponde ad allocare i processi su un numero N di risorse. Esistono in letteratura diversi algoritmi, per lo più di tipo euristico, per la ricerca della soluzione. Una possibile soluzione del problema è mostrato in Figura 8.

9 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo Figura 7 Grafo per lo scheduling Figura 8 Colorazione del grafo dello scheduling Il problema dei minimi locali. Un algoritmo che esplora lo spazio delle soluzioni per valutarne il costo, non sempre è in grado di trovare la soluzione ottima. Uno dei problemi è quello dei minimi locali.

10 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3 - Se l algoritmo, per qualunque nuova soluzione, dovesse verificare che la funzione costo è peggiore di un altra soluzione trovata precedentemente, potrebbe far supporre che non esistano soluzioni migliori. Ma alle volte questo indica unicamente che l algoritmo non può evolvere verso soluzioni migliori. Si consideri ad esempio il problema della migliore disposizione di un certo numero di oggetti. Questo è un caso tipico di ottimizzazione nei sistemi elettronici, come il piazzamento delle celle. Si abbia per semplicità il caso di 3 oggetti nominati come a, b, c. Le disposizioni possibili sono dunque 6. Ad ognuna delle disposizioni sia associato un certo costo. Il problema è modellizzabile come in Figura 9. Ad ogni vertice è associata una delle soluzioni, ovvero una disposizione dei 3 oggetti. abc 2 bac cba 6 3 cab bca 5 acb 4 Figura 9 Spazio delle soluzioni per la disposizione di 3 oggetti Algoritmi del gradiente. Le metodologie per la ricerca del minimo globale di una funzione costo possono seguire diversi approcci. Il disporre di algoritmi efficienti è molto importante soprattutto quando le dimensioni del problema sono molto grandi, come nel caso del piazzamento delle celle in un sistema standard cell. Supponiamo di avere a che fare con una funzione, della quale naturalmente non conosciamo l espressione analitica, ad una sola variabile come quella indicata in Figura e di voler ricercare di tale funzione il minimo. Possiamo fissare inizialmente un punto di partenza x sull asse delle ascisse e calcolare la funzione costo y. Se da questa posizione ci spostiamo leggermente a destra e sinistra, calcolando la relativa funzione costo per questi due punti, verificheremmo che per il punto a destra detta funzione ha un valore minore. Questo nuovo punto sull ascissa viene dunque

11 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3 - preso come nuovo valore migliore. Ripetendo la procedura iterativamente si giungerà ad un punto per cui sia il valore a destra che quello a sinistra possiedono un costo maggiore. Questo valore viene considerato come il minimo della nostra funzione costo. Il problema di questo algoritmo è che funziona correttamente solo se è presente un solo minimo, altrimenti, come nel caso considerato, si potrebbe andare a finire in un minimo relativo della funzione anziché nel minimo assoluto. Qui di seguito sono descritte alcune tecniche implementative per la ricerca della miglior disposizione di un certo numero di oggetti che si possono classificare sotto questa categoria. y x Figura Funzione ad una variabile Il Constructive initial placement seleziona gli oggetti, una alla volta, basandosi su una funzione valutativa che misura il grado di net-connectivity rispetto a oggetti già posizionati. L oggetto è quindi piazzato in una posizione disponibile sullo scenario, in modo che la lunghezza totale dei collegamenti sia minimizzata rispetto al posizionamento precedente. Il Pairwise interchange inizia posizionando gli oggetti, quindi ne seleziona due e prova a scambiarli. Se lo scambio non comporta un incremento della lunghezza dei collegamenti lo si accetta, altrimenti si ristabilisce la configurazione precedente. Se ci sono n oggetti, allora n(n-)/2 scambi sono tentati ad ogni ciclo. Se la lunghezza dei collegamenti non diminuisce alla fine del ciclo, la procedura termina. Il Neighborhood interchange, come il precedente, si basa sullo scambio di due oggetti, questa volta in posizioni adiacenti. Un ciclo è completato quando ciascun oggetto è stata scambiato con ogni sua vicino. Anche in questo caso, se la lunghezza dei collegamenti non diminuisce alla fine di un ciclo, la procedura termina. Lo Steinberg s Algorithm opera su insiemi di oggetti indipendenti, cioè su oggetti che non hanno collegamenti comuni. Si procede selezionando un insieme indipendente di oggetti, li si rimuove dalla configurazione e si calcola il costo del piazzamento di ciascun oggetto in ogni traccia disponibile. Poiché questi costi sono indipendenti dal posizionamento degli altri insiemi di oggetti è possibile ricavare una buona soluzione risolvendo piccoli problemi lineari. Nel Force-directed relaxation viene calcolato per ogni oggetto k un vettore forza F k che risulta essere la somma di varie forze ciascuna dipendente dalla distanza dei collegamenti tra

12 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-2 l oggetto k e quelli a questo collegati. Si cerca quindi di posizionare l oggetto in un posto dove la somma delle forze sia zero. Algoritmo del Simulated Annealing. Nella categoria degli algoritmi probabilistici, uno di quelli che da migliori risultati è quello del Simulated Annealing introdotto nel 983 da Kirkpatrick, Gelatt e Vecchi. Il nome deriva da un equivalente meccanico nel quale lo stato di equilibrio, ovvero ad energia minore, di un certo numero di punti materiali, viene ottenuto attraverso l interazione dei punti materiali stessi ai quali viene fornita, in modo probabilistico, una certa quantità di energia cinetica. Si pensi ad esempio al metodo usato per sistemare nella maniera migliore possibile delle arance in una cassetta. In questo caso agitare la cassetta, significa fornire energia ad ogni arancia, inizialmente in una posizione di equilibrio locale dovuta alle forze di attrito, per uscire da quella posizione e trovare una posizione di equilibrio ad energia minore. Il riscaldamento viene inoltre utilizzato nei processi fisici per risistemare gli atomi di un reticolo cristallino dopo aver eseguito una impiantazione ionica che ha modificato la simmetria geometrica del cristallo. Questi metodi si basano quindi sul fornire ad ogni elemento del sistema una quantità di energia casuale, probabilisticamente in grado di togliere quella particella dal suo stato di equilibrio per trovarne uno migliore. In pratica la cosa si può vedere nel grafico precedente come un modo per poter scavalcare un dosso della caratteristica della funzione costo per poter raggiungere un punto di minimo più basso. Questa energia, durante il processo viene man mano diminuita. Praticamente, le funzioni di generazione della configurazione iniziale e della funzione costo, sono uguali ai precedenti algoritmi, mentre quella che si discosta è la funzione di accettazione della nuova configurazione. Definita c la differenza di costo tra la configurazione precedente e quella nuova, se tale valore risulta negativo (nuova configurazione migliore), questa viene sempre accettata. Se invece tale termine è positivo, la probabilità che lo stato venga accettato è distribuita in accordo con una funzione di probabilità. Si può scegliere a questo proposito la distribuzione di Boltzmann f c T ( c, T ) = e o quella di Dirac f, =. ( c T ) + e c T Il parametro T è proprio la temperatura. Il suo valore iniziale T viene scelto abbastanza alto da fare in modo che il maggior numero degli stati inizialmente venga accettato. È buona norma scegliere T molto maggiore del valore della deviazione standard della distribuzione dei costi (assunta come normale), in particolare: 3 T = σ c, ln P

13 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3 dove P è la probabilità che si desidera che lo stato, in questo caso, venga accettato. Il valore di T al passo n viene scelto normalmente tale che: α = T n T n con α tra.95 e.8. In questo modo la temperatura scenderà lentamente con il progredire delle iterazioni. Da un punto di vista della libertà di poter scegliere nuove soluzioni, l algoritmo del Simulated Annealing applicato al grafo di Figura 9 permetterebbe di raddoppiare le connessioni rendendo possibile la scelta anche di quelle disposizioni con un costo maggiore. Algoritmi genetici. Gli algoritmi genetici appartengono alla categoria delle tecniche evolutive e vengono di sovente utilizzati in problemi particolarmente complessi nei quali i metodi tradizionali spesso falliscono. L efficienza dei processi osservati nell evoluzione naturale è dimostrata dall elevato sviluppo conseguito dagli esseri viventi in tempi relativamente brevi. I meccanismi che guidano questa evoluzione non sono stati pienamente compresi, ma alcune delle loro caratteristiche sono conosciute. L evoluzione ha luogo nei cromosomi, dispositivi organici in grado di codificare la struttura degli esseri viventi. Un essere vivente è creato parzialmente attraverso un processo di decodifica dei cromosomi. I processi di codifica e decodifica non sono del tutto noti, ma sono largamente accettate alcune idee.. L evoluzione è un processo che opera sui cromosomi piuttosto che sugli esseri viventi che codifica. 2. La selezione naturale consente una maggiore probabilità di riproduzione a quei cromosomi che codificano strutture che si adattano con maggiore successo all ambiente. 3. Il processo di riproduzione è il punto in cui ha luogo l evoluzione. La mutazione (mutation) altera il cromosoma di un figlio rispetto a quelli della coppia di genitori, mentre il processo di ricombinazione (crossover) è in grado di generare cromosomi nel figlio notevolmente differenti da quelli dei genitori. 4. L evoluzione biologica non ha memoria. La nuova generazione viene creata a partire da quella attuale e dal suo patrimonio genetico, senza conoscere il precedente percorso evolutivo. Questi furono introdotti agli inizi degli anni 7 da Holland e hanno avuto negli anni numerosi adattamenti ed applicazioni ad un grande numero di problemi. Egli credeva che, incorporati adeguatamente in un algoritmo per calcolatore, essi potessero costituire una tecnica per risolvere difficoltosi problemi nello stesso modo in cui ha fatto la natura: attraverso l evoluzione. Iniziò quindi a creare algoritmi in grado di manipolare stringhe binarie, dette cromosomi: come in natura, l evoluzione avviene secondo il ciclo di selezione, riproduzione, alterazione e sostituzione delle stringhe. L ambiente esterno (in questo caso il problema da risolvere) interviene come analizzatore della capacità del cromosoma di costituire una adeguata soluzione; il solo uso che viene fatto di questa informazione consiste nel favorire la riproduzione dei cromosomi che esibiscono un maggiore adattamento all ambiente (cioè costituiscono soluzioni migliori del problema). Gli algoritmi di Holland,

14 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-4 come altri da essi derivati, pur usando semplici meccanismi di codifica e riproduzione sono in grado di risolvere problemi estremamente complessi che non possono essere risolti con altre tecniche. L algoritmo può essere sinteticamente descritto dalla seguente sequenza di operazioni.. Scelta della codifica dei cromosomi. 2. Inizializzazione casuale di un insieme di cromosomi (popolazione) e loro valutazione. 3. Creazione di nuovi cromosomi, applicando le operazioni di ricombinazione e mutazione. 4. Eliminazione di elementi della generazione precedente. 5. Valutazione del criterio di arresto. Verranno ora esaminati in dettaglio alcuni aspetti rilevanti dell algoritmo. Codifica. La codifica è un aspetto fondamentale nella modellizzazione di un problema e, nel caso degli algoritmi genetici in particolare, riveste un ruolo determinante. Il metodo forse più utilizzato è quella della codifica binaria. Attraverso una stringa di bit viene espresso il valore della soluzione. Nel caso la soluzione appartenga all insieme dei numeri interi, allora la codifica può essere direttamente il valore numerico della soluzione. Se la soluzione è un numero reale, occorrerà effettuare prima una discretizzazione per potersi ricondurre ad una stringa di bit. Se, inoltre, la soluzione è rappresentata da un vettore di soluzioni, allora si può pensare ad una sola stringa binaria costituita dagli elementi stessi del vettore. Naturalmente la lunghezza in bit della stringa determina la risoluzione della soluzione. In realtà la codifica dovrebbe essere fatta in modo che soluzioni numericamente vicine, abbiano anche rappresentazioni con distanza di Hamming piccola. Ciò accade, per esempio, nel caso della codifica di Grey. Inizializzazione della popolazione. Inizialmente vengono generati casualmente un certo numero di elementi della popolazione. La stringa di bit della loro codifica rappresenta ciò che in natura è il cromosoma di un individuo. La funzione costo, a questo punto, viene valutata per tutti gli elementi della popolazione e si tiene traccia della soluzione migliore, ovvero quella a costo minimo. Generazione di una nuova popolazione. Viene ora creata una nuova popolazione a partire da quella precedente attraverso un processo di riproduzione. Questo consiste nella selezione di due genitori e nella generazione da questi di due nuovi elementi. La selezione dei genitori avviene attraverso un metodo probabilistico tale che la probabilità di un elemento di essere selezionato sia proporzionale alla bontà della sua soluzione. La generazione avviene attraverso gli operatori di ricombinazione e di mutazione. La ricombinazione consiste nella creazione dei cromosomi dei nuovi elementi a partire da quelli dei genitori. La tecnica più semplice consiste nell incrocio della coppia di cromosomi tagliati in punto casuale come illustrato in Figura. Una variante è quella di tagliare i

15 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-5 cromosomi in più punti, o, ancora più in generale, quella di stabilire un motivo di incrocio binario di lunghezza pari a quella dei cromosomi come illustrato in Figura 2. Se nel motivo, in una certa posizione, è presente uno oppure un, viene selezionato nel cromosoma del nuovo elemento nella stessa posizione, il bit di un genitore oppure dell altro. Figura Operazione di ricombinazione semplice Figura 2 Operazione di ricombinazione con motivo di incrocio L operazione di mutazione permette di mutare in modo casuale uno o più bit del cromosoma di un nuovo elemento. In Figura 3 è illustrato questo meccanismo. La probabilità di mutazione, comunque molto bassa, può essere diversa per ogni posizione del bit nel cromosoma, può essere diversa a seconda del valore del bit e l algoritmo può prevedere o no il fatto che possono variare più bit su ogni cromosoma. Figura 3 Operazione di mutazione

16 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-6 Eliminazione degli elementi. Il numero di nuovi elementi della popolazione è un parametro dell algoritmo, ma il numero degli elementi della popolazione deve rimanere costante per ogni ciclo. Ciò implica che per ogni coppia di nuovi elementi che viene generata, occorrerà, alla fine del ciclo, far corrispondere l eliminazione di altrettanti elementi della generazione precedente. Anche in questo caso l eliminazione viene eseguita con criteri probabilistici ed ogni elemento ha una probabilità di sopravvivere proporzionale alla bontà della sua soluzione. Valutazione della condizione di arresto. Dopo che un intero ciclo di generazione è completato viene valutata ogni soluzione, ovvero ogni cromosoma, per selezionare il migliore e determinare se il criterio di arresto del processo di ottimizzazione è soddisfatto. La valutazione dipende in modo specifico dal tipo di problema che si sta trattando.

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

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

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

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

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

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

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

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

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

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

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

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

Consideriamo due polinomi

Consideriamo due polinomi Capitolo 3 Il luogo delle radici Consideriamo due polinomi N(z) = (z z 1 )(z z 2 )... (z z m ) D(z) = (z p 1 )(z p 2 )... (z p n ) della variabile complessa z con m < n. Nelle problematiche connesse al

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

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

Esempi di funzione. Scheda Tre

Esempi di funzione. Scheda Tre Scheda Tre Funzioni Consideriamo una legge f che associa ad un elemento di un insieme X al più un elemento di un insieme Y; diciamo che f è una funzione, X è l insieme di partenza e X l insieme di arrivo.

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

1. Distribuzioni campionarie

1. Distribuzioni campionarie Università degli Studi di Basilicata Facoltà di Economia Corso di Laurea in Economia Aziendale - a.a. 2012/2013 lezioni di statistica del 3 e 6 giugno 2013 - di Massimo Cristallo - 1. Distribuzioni campionarie

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

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

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

3 GRAFICI DI FUNZIONI

3 GRAFICI DI FUNZIONI 3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom

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

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

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

Luigi Piroddi piroddi@elet.polimi.it

Luigi Piroddi piroddi@elet.polimi.it Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

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

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

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

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

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

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e Alberi di decisione Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e lanciarlo con i parametri di default.

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Osservazioni sulla continuità per le funzioni reali di variabile reale

Osservazioni sulla continuità per le funzioni reali di variabile reale Corso di Matematica, I modulo, Università di Udine, Osservazioni sulla continuità Osservazioni sulla continuità per le funzioni reali di variabile reale Come è noto una funzione è continua in un punto

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

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

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ In questa Appendice mostreremo come trovare la tariffa in due parti che massimizza i profitti di Clearvoice,

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

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

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA L CORRENTE ELETTRIC H P h Prima che si raggiunga l equilibrio c è un intervallo di tempo dove il livello del fluido non è uguale. Il verso del movimento del fluido va dal vaso a livello maggiore () verso

Dettagli

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

1 Giochi a due, con informazione perfetta e somma zero

1 Giochi a due, con informazione perfetta e somma zero 1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Il riduttore di focale utilizzato è il riduttore-correttore Celestron f/ 6.3.

Il riduttore di focale utilizzato è il riduttore-correttore Celestron f/ 6.3. LE FOCALI DEL C8 Di Giovanni Falcicchia Settembre 2010 Premessa (a cura del Telescope Doctor). Il Celestron C8 è uno Schmidt-Cassegrain, ovvero un telescopio composto da uno specchio primario concavo sferico

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

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

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

1 Estensione in strategia mista di un gioco

1 Estensione in strategia mista di un gioco AVVERTENZA: Di seguito trovate alcuni appunti, poco ordinati e poco formali, che uso come traccia durante le lezioni. Non sono assolutamente da considerarsi sostitutivi del materiale didattico. Riferimenti:

Dettagli

Energia potenziale elettrica e potenziale. In queste pagine R indicherà una regione in cui è presente un campo elettrostatico.

Energia potenziale elettrica e potenziale. In queste pagine R indicherà una regione in cui è presente un campo elettrostatico. Energia potenziale elettrica e potenziale 0. Premessa In queste pagine R indicherà una regione in cui è presente un campo elettrostatico. 1. La forza elettrostatica è conservativa Una o più cariche ferme

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL 1 RAPPRESENTAZIONE GRAFICA Per l analisi dati con Excel si fa riferimento alla versione 2007 di Office, le versioni successive non differiscono

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

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

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Capitolo 25: Lo scambio nel mercato delle assicurazioni Capitolo 25: Lo scambio nel mercato delle assicurazioni 25.1: Introduzione In questo capitolo la teoria economica discussa nei capitoli 23 e 24 viene applicata all analisi dello scambio del rischio nel

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

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

19. Inclusioni tra spazi L p.

19. Inclusioni tra spazi L p. 19. Inclusioni tra spazi L p. Nel n. 15.1 abbiamo provato (Teorema 15.1.1) che, se la misura µ è finita, allora tra i corispondenti spazi L p (µ) si hanno le seguenti inclusioni: ( ) p, r ]0, + [ : p

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

REGOLAZIONE (E TASSAZIONE OTTIMALE) DI UN MONOPOLIO CON PIÙ LINEE DI PRODUZIONE

REGOLAZIONE (E TASSAZIONE OTTIMALE) DI UN MONOPOLIO CON PIÙ LINEE DI PRODUZIONE REGOLAZIONE (E TASSAZIONE OTTIMALE) DI UN MONOPOLIO CON PIÙ LINEE DI PRODUZIONE Nella Sezione 16.5 abbiamo visto come un regolatore che voglia fissare il prezzo del monopolista in modo da minimizzare la

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

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

Computational Game Theory

Computational Game Theory Computational Game Theory Vincenzo Bonifaci 24 maggio 2012 5 Regret Minimization Consideriamo uno scenario in cui un agente deve selezionare, più volte nel tempo, una decisione tra un insieme di N disponibili:

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Blanchard, Macroeconomia Una prospettiva europea, Il Mulino 2011 Capitolo IV. I mercati finanziari. Capitolo IV. I mercati finanziari

Blanchard, Macroeconomia Una prospettiva europea, Il Mulino 2011 Capitolo IV. I mercati finanziari. Capitolo IV. I mercati finanziari Capitolo IV. I mercati finanziari 1. La domanda di moneta La moneta può essere usata per transazioni, ma non paga interessi. In realtà ci sono due tipi di moneta: il circolante, la moneta metallica e cartacea,

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

VERIFICA DELLE IPOTESI

VERIFICA DELLE IPOTESI VERIFICA DELLE IPOTESI Nella verifica delle ipotesi è necessario fissare alcune fasi prima di iniziare ad analizzare i dati. a) Si deve stabilire quale deve essere l'ipotesi nulla (H0) e quale l'ipotesi

Dettagli

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

RECUPERO DATI LIFO DA ARCHIVI ESTERNI RECUPERO DATI LIFO DA ARCHIVI ESTERNI È possibile importare i dati relativi ai LIFO di esercizi non gestiti con Arca2000? La risposta è Sì. Esistono tre strade per recuperare i dati LIFO per gli articoli

Dettagli

LA CORRENTE ELETTRICA CONTINUA

LA CORRENTE ELETTRICA CONTINUA LA CORRENTE ELETTRICA CONTINUA (Fenomeno, indipendente dal tempo, che si osserva nei corpi conduttori quando le cariche elettriche fluiscono in essi.) Un conduttore metallico è in equilibrio elettrostatico

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

a) Il campo di esistenza di f(x) è dato da 2x 0, ovvero x 0. Il grafico di f(x) è quello di una iperbole -1 1

a) Il campo di esistenza di f(x) è dato da 2x 0, ovvero x 0. Il grafico di f(x) è quello di una iperbole -1 1 LE FUNZIONI EALI DI VAIABILE EALE Soluzioni di quesiti e problemi estratti dal Corso Base Blu di Matematica volume 5 Q[] Sono date le due funzioni: ) = e g() = - se - se = - Determina il campo di esistenza

Dettagli

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 26 marzo 2015 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2015.html COOPERAZIONE Esempio: strategie correlate e problema

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