Ottimizzazione euristica
|
|
- Cosima Mazzoni
- 5 anni fa
- Visualizzazioni
Transcript
1 Ottimizzazione euristica 1
2 Il problema della ottimizzazione Componenti: Un insieme di variabili indipendenti Un insieme di condizioni sulle variabili (vincoli) Una funzione obiettivo Soluzione: I valori delle variabili che, rispettando i vincoli, portano la funzione obiettivo ad un valore ottimo In forma generale: Con i vincoli
3 Lo spazio di ricerca della soluzione Descritto da: Numero di dimensioni Dominio di ciascuna dimensione Discreto Limitato Reale Natura della relazione tra vettori di ingresso e funzione obiettivo Continua Discontinua Ricerca locale nello spazio di ricerca: non tiene conto delle soluzioni precedenti Considera solo la soluzione corrente Usa un metodo per generare soluzioni alternative.
4 Una tassonomia approssimata delle tecniche di ottimizzazione ottimizzazione Tecniche euristiche Tecniche enumerative DFS Programmazione dinamica BFS Tabu Search Hill Climbing Simulated Annealing Algoritmi evoluzionistici Programmazione genetica Algoritmi genetici
5 Tecniche euristiche Tecniche per la soluzione di problemi mediante algoritmi iterativi che selezionano via via la soluzione più appropriata tra quelle ottenute a ciascun passo. Tra queste: Tabu search. Definisce come muoversi localmente da una soluzione all altra usando una tabella delle soluzioni visitate recentemente Hill Climbing: parte da un punto e cerca punti con migliore funzione obiettivo Ant colony optimization: risolve problemi che possono essere ridotti alla ricerca di cammini ottimi in un grafo. Idea: le formiche in cerca di cibo esplorano a caso l ambiente e quando lo trovano ritornano alla colonia lasciando tracce chimiche, eventualmente rinforzate da altre formiche Simulated annealing: ricerca la soluzione generando soluzioni vicine alla corrente. Soluzioni che portano a un valore superiore sono sempre accettate. Soluzioni che portano a un valore inferiore sono accettate probabilisticamente Genetic algorithms: mantiene un insieme di soluzioni che evolvono usando i principi della evoluzione Darwiniana
6 Hill Climbing varianti: stochastic hill climbing Non sceglie sempre il migliore first-choice hill climbing Prende il primo buon successore (utile se il numero di successori è grande) random restart Cerca il punto migliore da diversi punti di partenza Ovviamente la probabilità di trovare il massimo aumenta con l aumentare del numero di tentativi
7 Algoritmi di ottimizzazione mediante Simulated Annealing Simulated Annealing: (~ tempera simulata) Idea: imitare quello che succede nel processo di tempera la tempera è il processo nel quale il metallo viene riscaldato e poi raffreddato lentamente Il materiale temperato arriva ad uno stato a minore energia nel quale le molecle si assestano su una posizione più stabile
8 Riassunto dell algoritmo di minimizzazione selezione dei parametri iniziali perturba i parametri Valutazione Se v < v accetta la perturbazione Altrimenti accetta la perturbazione con Prob(E,T) Test di Metropolis Ripeti con stato e temperatura aggiornati
9 Test di Metropolis Si approssima l allineamento delle molecole in natura consentendo le transizioni verso l alto con qualche probabilità Prob (nello stato ad energia E) ~ Funzione di distribuzione di probabilità di Boltzmann (Z normalizz., k cost.boltzmann) Anche quando T è piccola, c è una possibilità di accettazione Prob (accettazione) = Metropolis if E 2 < E 1, prob () > 1 if E 2 > E 1, possiamo trasferirci ad uno stato ad energia maggiore La velocità alla quale si decrementa T e la quantità di decremento è stabilito da una sequenza di tempera prestabilita (annealing schedule)
10 Pseudocodice del Simulated annealing Fissa un valore iniziale del parametro T sufficientemente alto: T0 Fissa la configurazione iniziale: i0 Ripeti Ripeti Perturba la configurazione attuale: ij Calcola Δc=c(i)-c(j); Se Δc 0 Allora Accetta la configurazione j; Altrimenti Se (exp(-δc/t) Random(0,1)) Allora Accetta la configurazione j; FineSe FinoAQuando(l equilibro termico è bene approssimato); Decrementa T; FinoAQuando(il criterio di stop è verificato);
11 Proprietà L algoritmo può essere considerato come una successione di catene di Markov omogenee Si può realizzare delle catene non omogenee diminuendo la temperatura ad ogni iterazione Si può dimostrare che se T scende abbastanza lentamente, il processo converge all ottimo globale con probabilità 1 presentato in: Kirkpatrick, Gelatt and Vecchi, Optimization by Simulated Annealing, Science, 220(4598): , May 1983 per problemi di routing VLSI semplice da utilizzare per l ottimizzazione vincolata
12 Sequenze di raffreddamento La temperatura iniziale, la temperatura finale e la sequenza di raffreddamento sono determinate sperimentalmente Alcuni schemi: t = αt, dove α è tipicamente intorno a 0.95 t = e - βt t, dove β è tipicamente intorno a
13 Parametri di SA Valore iniziale di temperatura determina l efficienza dell algoritmo un valore troppo basso fà convergere l algoritmo ad un minimo locale un valore troppo alto fà si che le prime catene siano superflue possibile modo di determinare T0: 1. Si fissa un valore arbitrario 2. si esegue un certo numero di iterazioni 3. si calcola il rapporto tra il numero di transizioni accettate e il numero di transizioni proposte 4. se il rapporto è superiore a un numero prefissato (tipicamente 0.8), allora il valore di T0 proposto viene accettato, altrimenti si raddoppia tale valore e si ripete da 2.
14 Algoritmi Genetici (GA) Tecnica di ottimizzazione euristica; prende come modello il processo di evoluzione biologica NB: IL PROCESSO DI EVOLUZIONE BIOLOGICO E GROSSOLANAMENTE APPROSSIMATO!!! Proposta da John Holland nel 1975 Uno sguardo sul suo modo di operare: mantiene una popolazione di possibili soluzioni al problema Gestisce la loro evoluzione applicando concetti di evoluzione naturale e ereditarietà genetica Questi concetti sono applicati mediante Operatori Stocastici: Selezione Ricombinazione Mutazione
15 Operatori stocastici Selezione: preferisce le soluzioni migliori nella popolazione definizione della qualità di una soluzione Ricombinazione: prende due soluzioni distinte e genera nuove soluzioni ricombinandole a caso Mutazione: perturba a caso una soluzione
16 Il processo preso a modello Evoluzione naturale Problema: adattarsi all ambiente Attori: gli individui viventi in quell ambiente Il metro di giudizio: la capacità degli individui di adattarsi all ambiente Modalità di evoluzione: selezione, ricombinazione e mutazione genetica delle specie viventi Algoritmi genetici Problema: trovare l ottimo globale di una funzione Attori: le possibili soluzioni Il metro di giudizio: valore della funzione da ottimizzare, chiamata fitness Modalità di evoluzione: applicazione iterativa degli Operatori Stocastici Risultato: le specie viventi si adattano all ambiente Risultato: la popolazione di soluzioni cambia cercando di massimizzare la funzione
17 Ottimizzazione Genetica: pseudocodice Genera la popolazione iniziale di soluzioni; Valuta la fitness di ogni soluzione; while (condizione di termine non raggiunta) do done seleziona le soluzioni per la riproduzione; ricombina le soluzioni selezionate; mutazione delle soluzioni; valuta la fitness delle soluzioni modificate; genera una nuova popolazione rimpiazzando la popolazione iniziale con le soluzioni modificate;
18 GA for(gen=0; gen<maxgen; gen++) fprintf(outfp,"\nrun %d of %d: GENERATION %d->%d\n",run,maxruns,gen,maxgen); application(); /*application dependent routines*/ generation(); /* create a new generation */ statistics(newpop); /* compute fitness statistics on new populations */ report(); /* report results for new generation */ } temp = oldpop; /* advance the generation */ oldpop = newpop; newpop = temp;
19 Evoluzione selezione riproduzione Genera la popolazione valutazione
20 Esempio massimizzare la funzione f(x)=x 2 con x tra 0 e 31 struttura dati:... individuo i individuo i+1 unsigned *chrom double fitness int xsite int *parent int *utility unsigned *chrom double fitness int xsite int *parent int *utility cromosoma genitori eventuali variabili utili...
21 Esempio inzializzazione a caso di una popolazione di 4 individui con cromosoma lungo ) v ) v ) v ) v
22 Codice: inizializzazione initpop() int j, j1, k, stop; unsigned mask = 1; for(j = 0; j < popsize; j++) for(k = 0; k < chromsize; k++) oldpop[j].chrom[k] = 0; if(k == (chromsize-1)) stop = lchrom - (k*uintsize); else stop = UINTSIZE; for(j1 = 1; j1 <= stop; j1++) oldpop[j].chrom[k] = oldpop[j].chrom[k]<<1; if(flip(0.5)) oldpop[j].chrom[k] = oldpop[j].chrom[k] mask; } } oldpop[j].parent[0] = 0; /* Initialize parent info. */ oldpop[j].parent[1] = 0; oldpop[j].xsite = 0; objfunc(&(oldpop[j])); /* Evaluate initial fitness */ } } 22
23 Codice: inizializzazione Inizializzazione della popolazione: initpop() int j, j1, k, stop; unsigned mask = 1; for(j = 0; j < popsize; j++) for(k = 0; k < chromsize; k++) oldpop[j].chrom[k] = 0; if(k == (chromsize-1)) stop = lchrom - (k*uintsize); else stop = UINTSIZE; for(j1 = 1; j1 <= stop; j1++) oldpop[j].chrom[k] = oldpop[j].chrom[k]<<1; if(flip(0.5)) oldpop[j].chrom[k] = oldpop[j].chrom[k] mask; } } oldpop[j].parent[0] = 0; /* Initialize parent info. */ oldpop[j].parent[1] = 0; oldpop[j].xsite = 0; objfunc(&(oldpop[j])); /* Evaluate initial fitness */ } } 22
24 Selezione Metodo della ruota della roulette: L individuo i ha una probabilità pari a di essere scelto n 1 4 Si ripete la selezione tante volte quanti sono gli individui che devono avere gli stessi genitori 2 3 quest area è proporzionale al valore della fitness
25 Selezione: int rws(struct individual *pop) float rand, partsum; int j,k; float randomperc(); Codice: selezione sumfitness=0; for(j = 0; j < popsize; j++) } sumfitness = sumfitness + pop[j].fitness; //trova la fitness totale rand = randomperc() * sumfitness; partsum=0.; j=0; do partsum += pop[j].fitness; j++; } while(!((partsum>=rand) (j==popsize))); return(j-1); }
26 Esempio Crossover. Prima: s 1` = s 2` = s 5` = s 6` = Dopo: s 1`` = s 2`` = s 5`` = s 6`` =
27 Codice: crossover int crossover (unsigned *parent1, *parent2, *child1, *child2) int j, jcross, k; unsigned mask, temp; if(flip(pcross)) jcross = rnd(1,(lchrom - 1));/* Cross tra 1 and l-1 */ ncross++; for(k = 1; k <= chromsize; k++) if(jcross >= (k*uintsize)) child1[k-1] = parent1[k-1]; child2[k-1] = parent2[k-1];} else if((jcross < (k*uintsize)) && (jcross > ((k-1)*uintsize))) mask = 1; for(j = 1; j <= (jcross-1-((k-1)*uintsize)); j++) temp = 1; mask = mask<<1; mask = mask temp; } child1[k-1] = (parent1[k-1]&mask) (parent2[k-1]&(~mask)); child2[k-1] = (parent1[k-1]&(~mask)) (parent2[k-1]&mask); } else child1[k-1] = parent2[k-1]; child2[k-1] = parent1[k-1]; } } } else for(k = 0; k < chromsize; k++) child1[k] = parent1[k]; child2[k] = parent2[k]; } jcross = 0; } return(jcross);
28 Esempio Mutazione:ogni bit è sottoposto ad una piccola probabilità d errore (per esempio 0.1) Prima: s 1`` = Dopo: s 1``` = f (s 1``` ) = 6 s 2`` = s 3`` = s 4`` = s 5`` = s 6`` = s 2``` = f (s 2``` ) = 7 s 3``` = f (s 3``` ) = 8 s 4``` = f (s 4``` ) = 5 s 5``` = f (s 5``` ) = 5 s 6``` = f (s 6``` ) = 6
29 Codice: mutazione mutation(child) unsigned *child; /* Mutate an allele w/ pmutation, count # of mutations */ int j, k, stop; unsigned mask, temp = 1; for(k = 0; k < chromsize; k++) mask = 0; if(k == (chromsize-1)) stop = lchrom - (k*uintsize); else stop = UINTSIZE; for(j = 0; j < stop; j++) if(flip(pmutation)) mask = mask (temp<<j); nmutation++; } } child[k] = child[k]^mask; }
30 Generation 0 Generation 1 num string value fitness parents xsite string value fitness ) v ( 4, 3) v ) v ( 4, 3) v ) v ( 2, 4) v ) v ( 2, 4) v Generation 1 Generation 2 num string value fitness parents xsite string value fitness ) v ( 2, 1) v ) v ( 2, 1) v ) v ( 4, 3) v ) v ( 4, 3) v Generation 2 Generation 3 num string value fitness parents xsite string value fitness ) v ( 3, 4) v ) v ( 3, 4) v ) v ( 1, 2) v ) v ( 1, 2) v Generation 3 Generation 4
31 Operatori Alternativi per il Crossover Crossover a n punti Scegliere a caso n punti per il crossover Dividere i cromosomi in questi punti incrociarli, alternano i genitori Generalizzazione del crossover a 1 punto
32 Crossover Uniforme Assegnare la testa a un genitore, la coda all altro Lanciare una moneta per ogni gene del primo figlio Realizza una copia inversa per il gene del secondo figlio L ereditarietà è indipendente dalla posizione
33 Crossover o mutazione? Lungo dibattito: qual è migliore o necessario Risposta: dipende dal problema in generale, è meglio avere entrambi entrambi hanno il loro ruolo generalmente, usare solo mutazione è possibile, usare solo crossover non funziona bene
34 Rappresentazioni Possibili codifiche degli individui Bit strings ( ) Real numbers ( ) Permutations of element (E11 E3 E7... E1 E15) Lists of rules (R1 R2 R3... R22 R23) Elementi di programmi (genetic programming)... strutture dati...
35 Rappresentazioni Alcuni problemi hanno varabili intere, per. esempio segnali campionati Altri problemi hanno valori da un insieme prefissato Molti problemi sono intrinsicamente reali, tipicamente l ottimizzazione f : R n R Esempio: la funzione di Ackley s
36 Crossover tra valori reali Discrete: each allele value in offspring z comes from one of its parents (x,y) with equal probability: z i = x i or y i Could use n-point or uniform Intermediate exploits idea of creating children between parents (hence a.k.a. arithmetic recombination) z i = α x i + (1 - α) y i where α : 0 α 1. The parameter α can be: constant: uniform arithmetical crossover variable (e.g. depend on the age of the population) picked at random every time
37 Crossover aritmetico singolo Genitori: x 1,,x n e y 1,,y n Scegliere a caso un gene (k) il figlio è: ugualmente per l altro figlio. Esempio (α = 0.5) estensione al caso multiplo
38 GA: ottimizzazione vincolata I GA sono adatti per l ottimizzazione non vincolata attività in corso i metodi proposti sono basati sulla penalizzazione basati sulla ricerca di soluzioni fattibili basati sulla preservazione della fattibilità metodi ibridi
Intelligenza Artificiale Ing. Tiziano Papini
Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction metodi riparativi Intelligenza Artificiale - CSP Tiziano Papini -
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
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
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
DettagliComputazione Naturale AA. 2011-2012
Computazione Naturale AA. 2011-2012 Prof. Mario Pavone CdL Magistrale in Informatica Dip. Matematica ed Informatica mpavone@dmi.unict.it http://www.dmi.unict.it/mpavone/ INDICE Obiettivi formativi Cos
DettagliAlgoritmi metaeuristici: I - introduzione
Algoritmi metaeuristici: I - introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 2.0 - Aprile 200 Tecniche Meta-euristiche Algoritmi Local Search che usano speciali tecniche
DettagliPolitecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini
Politecnico di Milano Reti Wireless Seminari didattici Dalla teoria alla soluzione Ilario Filippini 2 Approccio euristico 3 Obiettivo dell approccio euristico 4 Tipi di euristiche Dalla teoria alla soluzione
DettagliPrincipi e Metodologie della Progettazione Meccanica
Principi e Metodologie della Progettazione Meccanica ing. F. Campana a.a. 06-07 Lezione 11: CAE e Ottimizzazione Strutturale Il ruolo dell ottimizzazione nell ambito della progettazione meccanica Durante
DettagliRicerca informata. Scelta dell euristica
Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella
DettagliIntelligenza Artificiale. Introduzione al calcolo evolutivo
Intelligenza Artificiale Introduzione al calcolo evolutivo Marco Piastra Calcolo evolutivo - 1 Calcolo evolutivo ed IA Universe Borg Vogons Earth etc Biotop Society Stones & Seas etc Art Science Politics
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
DettagliAlgoritmi Genetici. e programmazione genetica
Algoritmi Genetici e programmazione genetica Algoritmi Genetici Algoritmi motivati dall analogia con l evoluzione biologica Lamarck: le specie trasmutano nel tempo Darwin e Wallace: variazioni consistenti
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
DettagliCorso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011
Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011 Foglio 4: Metodi diretti per i sistemi lineari Scrivere un programma
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliEvoluzione Grammaticale
bollini@vision.unipv.it Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, 1 27100 Pavia Programmazione genetica Algoritmo di base mutuato dagli algoritmi genetici Inizializzazione
DettagliProblem solving elementare su dati vettoriali
Problem solving elementare su dati vettoriali Introduzione Verifiche su sequenze di dati Selezione o ricerca di dati 2 2006 Politecnico di Torino 1 Introduzione (1/2) I problemi di verifica consistono
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
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliIteration 2. Iteration 7. Iteration 1. Iteration 6
Iteration 2 Iteration Iteration 7 area Low quality area Iteration 4 Iteration 3 Iteration 5 Iteration 6 del Random restart Start Start ling Tabu search ALGORITMI METAEURISTICI Classificazione Euristici
DettagliLa programmazione con vincoli in breve. La programmazione con vincoli in breve
Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con
DettagliAlgoritmi di Ottimizzazione: Parte B gli Algoritmi Genetici
Identificazione e Controllo Intelligente Algoritmi di Ottimizzazione: Parte B gli Algoritmi Genetici David Naso A.A. 2006-2007 Identificazione e Controllo Intelligente 1 Algoritmi Evolutivi Nell ultimo
DettagliIngegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliLaboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it
Laboratory for innovation MUSP Macchine utensili e sistemi di produzione www.musp.it Sommario La schedulazione della produzione Gli obiettivi nella schedulazione Le problematiche legate alla schedulazione
DettagliAlgoritmi euristici ed evolutivi per l ottimizzazione
Algoritmi euristici ed evolutivi per l ottimizzazione Dipartimento di Matematica e Informatica Università degli Studi di Perugia Via Vanvitelli, Perugia 17 febbraio 2009 / GALN 2009 Sommario Introduzione
DettagliStimare il WCET Metodo classico e applicazione di un algoritmo genetico
Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliBarriere assorbenti nelle catene di Markov e una loro applicazione al web
Università Roma Tre Facoltà di Scienze M.F.N Corso di Laurea in Matematica a.a. 2001/2002 Barriere assorbenti nelle catene di Markov e una loro applicazione al web Giulio Simeone 1 Sommario Descrizione
DettagliLaurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1
Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/
DettagliIntelligenza Artificiale. Lezione 14. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 14 0
Intelligenza Artificiale Lezione 14 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 14 0 Sommario Russell & Norvig Capitolo 4, Paragrafi 3 4 IDA* SMA* Ricerca Hill-climbing Simulated annealing Intelligenza
DettagliQuadratic assignment Problem: The Hospital Layout
Università degli Studi di Modena e Reggio Emilia Corso di Laurea Magistrale in Ingegneria Gestionale Metodi di ottimizzazione per la logistica e la produzione Quadratic assignment Problem: The Hospital
DettagliBest-first search. Idea: use an evaluation function for each node. Implementation: Order the nodes in fringe in decreasing order of desirability
Ricerca euristica Review: Tree Search Best-first search Idea: use an evaluation function for each node estimate of "desirability" Expand most desirable unexpanded node Implementation: Order the nodes in
DettagliTipi di dato-prima parte
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Dettagli1 Automi Cellulari (Rev. 2.0.3)
1 Automi Cellulari (Rev. 2.0.3) Gli automi cellulari sono una classe di modelli introdotti originariamente da von Neumann e Ulam nel 1948 come una semplice idealizzazione dell evoluzione delle cellule
DettagliDIEGO POGGIOLI Soft Computing
Primer design using genetic algorithm DIEGO POGGIOLI Soft Computing Bologna, 18 Maggio 2007 PCR Polymerase Chain Reaction Tecnica di biologia molecolare, fu ideata nel 1983 da Kary B. Mullis, che consente
Dettagliarxiv:1606.04306v1 [cs.ne] 14 Jun 2016
Viral Search: un algoritmo genetico Matteo Gardini 15 giugno 16 arxiv:166.436v1 [cs.ne] 14 Jun 16 Sommario L articolo, dopo una breve introduzione sugli algoritmi genetici e sul loro funzionamento, presenta
DettagliAgenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015
Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015 Agenti risolutori di problemi Adottano il paradigma della risoluzione di problemi come ricerca in uno spazio
DettagliEvoluzione. Alcune pietre miliari
Sistemi Intelligenti Algoritmi genetici Alberto Borghese Università degli Studi di Milano Laboratory of Applied Intelligent Systems (AIS-Lab) Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it
DettagliCorso di Gestione dei sistemi di trasporto. Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche. Simona Sacone - DIST
Corso di Gestione dei sistemi di trasporto Cap.8 Pianificazione operativa (di breve periodo) di reti logistiche Simona Sacone - DIST Introduzione La gestione operativa dell azienda è estremamente critica.
DettagliSperimentazioni I Sessione di Laboratorio: 13 Novembre 2014
Sperimentazioni I Sessione di Laboratorio: 13 Novembre 2014 A. Garfagnini, M. Mazzocco Università degli studi di Padova AA 2014/2015 Statistica Secondo Kendall [1], Statistics is the branch of a scientific
DettagliCluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!
La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. Le tecniche di cluster analysis vengono usate per esplorare i dati e non per modellare! La cluster analysis
DettagliCorso di Automazione Industriale 1. Capitolo 4
Simona Sacone - DIST Corso di Automazione Corso Industriale di 1 Automazione Industriale 1 Capitolo 4 Analisi delle prestazioni tramite l approccio simulativo Aspetti statistici della simulazione: generazione
DettagliALGORITMI EURISTICI PER PROBLEMI DI TAGLIO BIDIMENSIONALE
ALMA MATER STUDIORUM - UNIVERSITA DI BOLOGNA FACOLTA DI INGEGNERIA Corso di Laurea in INGEGNERIA INFORMATICA Insegnamento: OTTIMIZZAZIONE COMBINATORIA ALGORITMI EURISTICI PER PROBLEMI DI TAGLIO BIDIMENSIONALE
DettagliALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FORMULAZIONE AGLI ELEMENTI FINITI DI PROBLEMI DI IDENTIFICAZIONE PARAMETRICA
ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA CIVILE DISTART Scienza delle Costruzioni TESI DI LAUREA in Teoria delle Strutture FORMULAZIONE
DettagliAlberi binari di ricerca
Alberi binari di ricerca Definizione Visita dell albero inorder Ricerca Ricerca minimo, massimo e successore. Inserimento ed eliminazione di un nodo Problema del bilanciamento dell albero Albero binario
DettagliUniversita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati
Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Strategie per la progettazione di algoritmi: semplificazione e trasformazione algebrica, tecniche di Montecarlo
DettagliAnt Colony Optimization (ACO) e Swarm Intelligence
Università degli Studi di Milano Facoltà di scienze Matematiche, Fisiche e Naturali Ant Colony Optimization (ACO) e Swarm Intelligence Seminario per il corso di Sistemi Intelligenti Prof. N. Alberto BORGHESE
DettagliElementi di Informatica e Programmazione
Elementi di Informatica e Programmazione Introduzione Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Informazioni
DettagliComputazione per l interazione naturale: Modelli dinamici
Computazione per l interazione naturale: Modelli dinamici Corso di Interazione Naturale Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it boccignone.di.unimi.it/in_2015.html
DettagliProblemi di Instradamento di Veicoli
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Instradamento di Veicoli Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato
DettagliEsame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli
Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino Docente Risultati Scritto Fiorino Carulli Orali Cognome: Nome: Nro di Matricola: Docente: Domanda 1 (1 punto ) Stabilire il risultato
DettagliLa mappatura dei geni umani. SCOPO conoscere la localizzazione dei geni per identificarne la struttura e la funzione
La mappatura dei geni umani SCOPO conoscere la localizzazione dei geni per identificarne la struttura e la funzione Un grande impulso alla costruzione di mappe genetiche è stato dato da le tecniche della
Dettagli3. Gli algoritmi di ottimizzazione.
Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3. Gli algoritmi di ottimizzazione. I grafi. La teoria dei grafi è un comodo strumento per la definizione e la formalizzazione
DettagliSe x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2
NLP -OPT 1 CONDIZION DI OTTIMO [ Come ricavare le condizioni di ottimo. ] Si suppone x* sia punto di ottimo (minimo) per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J la condizione
DettagliLa Macchina RAM Shepherdson e Sturgis (1963)
La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura
DettagliAlgoritmi genetici Ing. Valerio Lacagnina
Variazione genetica e selezione naturale Gli Algoritmi Genetici (AG), proposti nel 1975 da J.H. Holland, sono un modello computazionale idealizzato dall evoluzione naturale darwinista. Ogni individuo ha
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria
SAPIENZA Università di Roma Facoltà di Ingegneria Tesina di Metodi formali nell ingegneria del software Autori: Piacentini Vanda - Rocco Germano Anno accademico 2006/2007 MODELLAZIONE DEL SISTEMA DI COMUNICAZIONE
DettagliEsercitazioni 2013/14
Esercitazioni 2013/14 Esercizio 1 Due ditte V e W partecipano ad una gara di appalto per la costruzione di un tratto di autostrada che viene assegnato a seconda del prezzo. L offerta fatta dalla ditta
DettagliLaboratorio di Informatica Lezione 2
Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3
DettagliInterpretazione astratta
Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica
DettagliIntelligenza collettiva Swarm intelligence. Swarm Intelligence. Intelligenza collettiva emergente in gruppi di agenti (semplici).
Swarm Intelligence Intelligenza collettiva Swarm intelligence Andrea Roli a.roli@unich.it Dipartimento di Scienze Università degli Studi G. D Annunzio Chieti-Pescara Intelligenza collettiva emergente in
DettagliLivello di Rete. Prof. Filippo Lanubile. Obiettivo
Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico
DettagliESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
DettagliEsame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli
04-giugno-2012-Soluzioni-9cfu-Fila-A.doc Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino Docente Risultati Scritto Fiorino Carulli Orali Cognome: Nome: Nro di Matricola: Docente:
DettagliLABORATORIO DI RETI. 02 La Multiplazione Statistica nelle Reti a Paccchetto
LABORATORIO DI RETI 02 La Multiplazione Statistica nelle Reti a Paccchetto La multiplazione La capacità dei mezzi trasmissivi fisici può essere suddivisa per ottenere più canali di velocità più bassa La
DettagliARRAY E STRINGHE. G. Frosini Slide 1
ARRAY E STRINGHE G. Frosini Slide 1 Array: VARIABILI ARRAY struttura dati costituita da elementi (anche nessuno, array vuoto) dello stesso tipo; tipo array: tipo degli elementi, non numero degli elementi;
DettagliComplessità computazionale
1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla
DettagliImplementazione parallela di algoritmi genetici per la stima di HMM
Università degli Studi di Trieste Implementazione parallela di algoritmi genetici per la stima di HMM Relatore Enzo Mumolo Candidato Nicola Timeus 14 marzo 2014 Motivazioni Pattern recognition mediante
DettagliGENOMA. c varia da pochi kb nei virus a milioni di kb in piante e animali
GENOMA Insieme del materiale genetico presente in una cellula (DNA nucleare, plastidiale e mitocondriale) Contiene tutte le informazioni necessarie per consentire la vita alla cellula e all individuo Nei
DettagliProgetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di
DettagliGENETICA. La mappatura dei cromosomi eucariotici mediante la ricombinazione
GENETICA La mappatura dei cromosomi eucariotici mediante la ricombinazione Mappatura: : domande Se 2 geni sono localizzati sullo stesso cromosoma (linked)) si possono scoprire nuove combinazioni di alleli
Dettaglidi Milazzo Gabriele Mangiagli Graziella Paternò Valentina Lomagno Valeria Mangione Enza Prof. C. Di Pietro
di Milazzo Gabriele Mangiagli Graziella Paternò Valentina Lomagno Valeria Mangione Enza Prof. C. Di Pietro Polymerase Chain Reaction Inventata a metà degli anni 80 da Kary Mullis, è a tutt oggi uno strumento
DettagliCerveri Pietro Dipartimento di Bioingegneria Politecnico di Milano. 25,27 Ottobre 2005. Evoluzione
Computazione evoluzionistica: algoritmi genetici e strategie evolutive - Fondamenti ed esempi di applicazione nel campo della Computer-Vision, Biomeccanica ed Elaborazione di Immagini Biomediche" Cerveri
DettagliMATLAB:Condizionamento Sistemi Lineari.
1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB:Condizionamento Sistemi Lineari. Innanzitutto vediamo qual è la funzione Matlab che ci permette di calcolare il
DettagliAXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema
AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel
DettagliAutovalori e Autovettori
Daniela Lera Università degli Studi di Cagliari Dipartimento di Matematica e Informatica A.A. 2008-2009 Autovalori e Autovettori Definizione Siano A C nxn, λ C, e x C n, x 0, tali che Ax = λx. (1) Allora
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
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
DettagliFondamenti di Internet e Reti 097246
sul livello di Rete Instradamento. o Si consideri la rete in figura.. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si calcoli il cammino
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002. Soluzione degli Esercizi
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002 degli Esercizi ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int i=0, j=0; int[][] a=b; boolean trovato=false;
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliPROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
DettagliMATEMATICA e COMPLEMENTI di MATEMATICA
ALLEGATO N.8_b MATEMATICA e COMPLEMENTI di MATEMATICA DESTINATARI gli studenti delle classi: terze e quarte nuovo ordinamento RISULTATI DI APPRENDIMENTO DELL OBBLIGO D ISTRUZIONE, CHIAVE EUROPEA Padroneggiare
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliEsercizio C2.1 - Acquisizione dati: specifiche dei blocchi
Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi È dato un segnale analogico avente banda 2 khz e dinamica compresa tra -2 V e 2V. Tale segnale deve essere convertito in segnale digitale da un
Dettagli10 - Programmare con gli Array
10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliDefinizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliSommario della lezione
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it 18 marzo 2011 Problema basato su 10.5 del libro di testo La CINA (Compagnia Italiana per il Noleggio di Automobili) dispone di
DettagliFondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C
Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati
DettagliPolitecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME
Politecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME 5 luglio 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di quattro
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
Dettagli