La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione Data una funzione f che dipende da una o più variabili, si vogliono trovare i valori delle variabili in corrispondenza dei quali f assume.

Presentazioni simili


Presentazione sul tema: "Introduzione Data una funzione f che dipende da una o più variabili, si vogliono trovare i valori delle variabili in corrispondenza dei quali f assume."— Transcript della presentazione:

1

2 Introduzione Data una funzione f che dipende da una o più variabili, si vogliono trovare i valori delle variabili in corrispondenza dei quali f assume valore massimo o minimo, e calcolare tale valore i due problemi sono equivalenti: il massimo (minimo) di f è il minimo (massimo) di –f Classificazione degli estremi: estremo globale: è il punto in cui la funzione assume il valore più alto (o più basso) in assoluto estremo locale: è il punto in cui la funzione assume il valore più alto (o più basso) limitatamente ad un intorno dellestremo (massimi e minimi relativi) In genere si vogliono ricercare gli estremi locali di una funzione Ci sono due tipi di metodi di ricerca di massimi e minimi: metodi che non richiedono il calcolo delle derivate metodi che richiedono il calcolo delle derivate nel caso multidimensionale la derivata è un gradiente in genere questi metodi richiedono un numero maggiore di calcoli, ma sono più efficaci

3 Intrappolamento (bracketing) Un minimo di una funzione f(x) si dice intrappolato se esistono tre punti a,b,c con af(c) x y a bc f(c) f(b) f(a)

4 Metodo della sezione aurea (1) Si parte da un minimo inizialmente intrappolato Detti a,b,c i punti che intrappolano il minimo si ha: Analogamente a quanto viene fatto nel metodo di bisezione, si cerca un nuovo punto x, compreso tra a e b oppure tra b e c, che restringa lintervallo Supponiamo di scegliere x tra b e c: se f(x)>f(b) il nuovo tripletto di punti sarà a,b,x se f(x)

5 Metodo della sezione aurea (2) Il processo di intrappolamento viene arrestato quando la distanza c-a è sufficientemente piccola se è la precisione della macchina, si potrebbe pensare di fermare il processo quando a=b(1- ) e c=b(1+ ) in realtà conviene fermarsi prima per evitare troppi calcoli Se x=b è la posizione del minimo, in un intorno di x si ha: Il secondo termine della somma deve essere trascurabile rispetto al primo (di un fattore ): Poiché il termine sotto radice è in genere dellordine dellunità, è sufficiente che la larghezza frazionaria dellintervallo |x-b|/b sia dellordine di ε 1/2 in questo modo si evita di effettuare troppe bisezioni

6 Metodo della sezione aurea (3) Quale è la strategia migliore per scegliere il nuovo punto x in ogni iterazione? Poniamo: Supponiamo che il punto x successivo si trovi tra b e c e poniamo: Se x si trova tra a e b si ragiona analogamente (in questo caso sarà Z<0) abc x W(c-a)(1-W)(c-a) Z(c-a)

7 Metodo della sezione aurea (4) A seconda del valore di f(x) si sceglierà il nuovo tripletto di punti: se f(x)>f(b) i nuovi 3 punti da usare sono a,b,x il nuovo intervallo [a,x] ha lunghezza (W+Z)(c-a) se f(x)

8 Metodo della sezione aurea (5) Il punto x è il simmetrico di b nellintervallo [a,c] il punto x si trova sempre allinterno del più lungo tra i segmenti [a,b] (se Z 0) Consideriamo i tripletti di punti a,b,c e b,x,c: Se gli intervalli vengono divisi sempre allo stesso modo, allora i due rapporti devono essere uguali e quindi deve aversi: abc x W(c-a)(1-W)(c-a) Z(c-a)W(c-a)

9 Metodo della sezione aurea (6) Lintrappolamento ottimale porta a tripletti di punti in cui il punto centrale si trova ad una distanza frazionaria W=0,38197 da uno dei due estremi e ad una distanza frazionaria 1-W=0,61803 dallaltro estremo (sezioni auree) Dato un tripletto di punti a,b,c, il punto successivo x in cui calcolare il valore della funzione si trova alla distanza frazionaria W= dal punto di mezzo del tripletto, nel più lungo dei due intervalli [a,b] o [b,c] Se gli intervalli del tripletto di partenza non rispettano i rapporti aurei non è un problema la procedura iterativa converge rapidamente verso intervalli ottimali La dimensione dellintervallo ottenuto alla n-esima iterazione è pari a 0,61803 volte la dimensione dellintervallo ottenuto alla (n- 1)-esima iterazione questo valore va confrontato con il valore di 0,5 del metodo di bisezione per la ricerca degli zeri

10 Interpolazione parabolica (1) Se la funzione f(x) è abbastanza regolare, in un intorno del minimo si può approssimare il suo grafico con quello di una parabola Sia x 0 lascissa del minimo e sviluppiamo f(x) in serie di Taylor in un intorno di x 0 : avendo sfruttato il fatto che f(x 0 )=0 In prossimità del minimo ha dunque senso approssimare il grafico della funzione con quello di una parabola Una volta individuati 3 punti a,b,c che intrappolano il minimo di f(x) consideriamo la parabola per i tre punti [a,f(a)], [b,f(b)] e [c,f(c)] il minimo della parabola (che ne è anche il vertice) sarà usato come approssimazione del minimo della funzione

11 Interpolazione parabolica (2) Scriviamo lequazione della parabola che passa per i tre punti [a,f(a)], [b,f(b)] e [c,f(c)] nella forma: e determiniamo i parametri A, B e C: Restano da risolvere la prima e la terza equazione per trovare i valori di A e B

12 Interpolazione parabolica (3) Riscrivendo in maniera opportuna le due equazioni e sottraendo membro a membro si ha:

13 Interpolazione parabolica (4) Cerchiamo adesso lascissa del minimo della parabola: Sostituendo i valori di A e B determinati prima si ha: Linterpolazione parabolica viene usata nel metodo di Brent, in combinazione con la regola aurea

14

15 Metodo di Nelder e Mead (1) Il metodo di Nelder e Mead, noto come downhill simplex method o metodo dellameba, permette di ricercare massimi e minimi di funzioni di più variabili In tale metodo si utilizzano soltanto i valori della funzione, senza calcolarne le derivate Definizione: si chiama simplex in uno spazio a N dimensioni la figura geometrica definita da N+1 vertici e da tutte le linee che connettono tali vertici nello spazio a 2 dimensioni un simplex è un triangolo nello spazio a 3 dimensioni un simplex è un tetraedro In generale ci interessano i simplex non degeneri, ossia i simplex che racchiudono un volume N-dimensionale nello spazio a 2 dimensioni un triangolo è degenere se i suoi 3 vertici sono collineari in tal caso il triangolo degenera in un segmento e la sua superficie è nulla nello spazio a 3 dimensioni un tetraedro è degenere se i suoi 4 vertici sono complanari in tal caso il tetraedro degenera in un triangolo ed il suo volume è nullo in generale, nello spazio a N dimensioni un simplex è degenere se i suoi N+1 vertici sono contenuti in un iperpiano di dimensione N-1

16 Metodo di Nelder e Mead (2) Si sceglie un simplex di partenza individuato dagli N+1 punti P 0,P 1,...,P N in genere conviene fissare P 0 e scegliere gli altri N punti in modo che sia: dove gli e i sono N vettori unitari linearmente indipendenti e λ è una costante che può rappresentare una costante di scala del problema in esame in principio si possono scegliere N valori di λ i diversi Si procede in maniera iterativa: in ogni iterazione il simplex ottenuto nelliterazione precedente viene opportunamente modificato

17 Metodo di Nelder e Mead (3) Possibili operazioni: riflessione: il punto in cui f(x) ha il valore più alto viene sostituito con il suo simmetrico rispetto alla faccia opposta del simplex riflessione con espansione: il punto in cui f(x) ha il valore più alto è sostituito con un punto simmetrico rispetto alla faccia opposta del simplex, a distanza maggiore contrazione lungo una dimensione: il punto in cui f(x) ha il valore più alto è sostituito con un punto lungo la perpendicolare alla faccia opposta, a distanza minore contrazione lungo tutte le dimensioni verso il punto in cui f(x) ha il valore più basso: gli altri N punti del simplex dove f(x) ha il valore maggiore vengono spostati lungo la congiungente con il punto in cui f(x) ha il valore più basso in direzione di tale punto

18 Metodo di Nelder e Mead (4) A B C A A B C A f(A)>f(B)>f(C) A B C A C A A B B riflessione riflessione con espansione contrazione in una dimensione contrazione lungo più dimensioni

19 Metodo di Nelder e Mead (5)

20 Metodo di Nelder e Mead (6) La procedura iterativa sceglie di volta in volta quale è loperazione più opportuna da compiere sul simplex di partenza La procedura termina quando la distanza percorsa in una iterazione è più piccola di un valore di tolleranza prefissato dallutente tipicamente si sceglie una tolleranza pari alla precisione della macchina A volte la procedura iterativa può essere terminata erroneamente è sempre bene far ripartire lalgoritmo dal punto in cui è stato individuato il minimo se effettivamente il punto di partenza è un minimo, allora la procedura iterativa restituirà ancora una volta tale punto

21 Esempio Consideriamo la funzione f(x,y)=(1-x) (y-x 2 ) 2 +1 Tale funzione ha un minimo in (1,1) e f(1,1)=1


Scaricare ppt "Introduzione Data una funzione f che dipende da una o più variabili, si vogliono trovare i valori delle variabili in corrispondenza dei quali f assume."

Presentazioni simili


Annunci Google