3. Gli algoritmi di ottimizzazione.
|
|
- Silvano Cavallaro
- 8 anni fa
- Visualizzazioni
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 Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
DettagliAppunti 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
DettagliPage 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo
Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliMATEMATICA 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
DettagliLE 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
DettagliDimensione 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
DettagliAlgoritmi 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
DettagliCorso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano
DettagliIl 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
DettagliA 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
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliConsideriamo 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
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
Dettaglif(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
DettagliParte I. Prima Parte
Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti
DettagliEsponenziali 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.
DettagliCapitolo 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:
DettagliEsempi 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.
DettagliCapitolo 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
Dettagli1. 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
DettagliCorrispondenze 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
DettagliIl 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
Dettaglirisulta (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
DettagliAPPUNTI 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....................................
Dettaglie-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
Dettagli1. 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,
DettagliSequenziamento 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
Dettagli4 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
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.
Dettagli3 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
DettagliRiproduzione Crossover Mutazione
Algoritmi Genetici Sono algoritmi di ricerca basati sui principi evolutivi della selezione naturale e della genetica, che implicano la sopravvivenza degli elementi migliori e lo scambio di informazioni
DettagliLE 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
DettagliCapitolo 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
DettagliLuigi 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à,
DettagliRappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
DettagliSiamo 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
DettagliMatematica 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
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliSommario. 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
DettagliFasi 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
DettagliV= 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
DettagliTransitori 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
DettagliESEMPIO 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
DettagliIntroduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
DettagliFunzioni 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
DettagliLABORATORIO 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
DettagliAprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e
Alberi di decisione Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e lanciarlo con i parametri di default.
DettagliDeterminare 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
Dettagliper 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
DettagliOsservazioni 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
DettagliSeconda 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
DettagliCodifiche 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
DettagliLA 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,
DettagliCome 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
DettagliRicerca 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.
DettagliMacchine 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:
DettagliI 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
DettagliAnalisi 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
DettagliLA 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
DettagliLEZIONE 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
DettagliStatistica. 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
DettagliOrganizzazione 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
DettagliLA 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
Dettagli1 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
DettagliIntelligenza 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
DettagliIl 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
DettagliRicerca Operativa A.A. 2007/2008
Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del
DettagliAlessandro 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
DettagliMacchine 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
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
Dettagli1 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:
DettagliEnergia 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
DettagliEsercizi 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
DettagliAnalisi 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
DettagliRAPPRESENTAZIONE 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
DettagliStatistica 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:
DettagliCorso 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
DettagliCapitolo 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
Dettagli2 + (σ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
Dettagli13. 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
Dettagli19. 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
DettagliInformatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
DettagliREGOLAZIONE (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
DettagliPROVA 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
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
DettagliComputational 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:
Dettagli2. 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
DettagliIL 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
DettagliBlanchard, 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,
DettagliUso 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
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliAmplificatori 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
DettagliVERIFICA 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
DettagliRECUPERO 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
DettagliLA 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
DettagliDispense 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
Dettaglia) 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
DettagliTeoria 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
DettagliIntroduzione all analisi dei segnali digitali.
Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza
Dettagli