Sunteți pe pagina 1din 7

LABORATOR TOP

2. Metoda Sectiunii de Aur versus Metoda lui Fibonacci


Ambele metode urmaresc gasirea unui minim in functia f(x) intr-un interval dat.
Fiecare are propria strategie de micsorare a numarului de evaluari facute functiei.
Functiile asupra carora se aplica metodele trebuie sa fie unimodale. O functie este
unimodala daca exista un numar unic p, astfel incat f(x) sa fie descrescatoare pe [a,p]
si crescatoare pe [p,b].

Metoda sectiunii de aur


Este o metoda nederivativa, care necesita doua sectionari.
Se fac 2 evaluari la fiecare iteratie, apoi cate o evaluare la fiecare din iteratiile urmatoare. Valoarea
lui r ramane neschimbata si cautarea se termina in cadrul celui de-al k interval, deoarece sau
unde sunt tolerante predefinite. In metoda lui Fibonacci, r nu este constant ci
difera de la un subinterval la altul.
Daca f(x) este o functie unimodala pe [a,b], atunci putem inlocui intervalul cu un subinterval pentru
care f(x) ia valoarea minima. Putem selecta 2 puncte din interior c<d. Aceasta inseamna ca a<c<d<b.
Conditia ca f(x) sa fie unimodala garanteaza ca valorile functiilor f(c) si f(d) sunt mai mici
decat .
Daca , atunci exista un minimum in subintervalul , inlocuim pe b cu
d si continuam cautarea in subintervalul .
Daca , atunci exista un minimum in subintervalul , inlocuim pe a cu c
si continuam cautarea pe subintervalul [c,b]. Aceste alegeri sunt reprezentate in
Figura 1.

Figure 1. Procesul decizional pentru cautarea cu metoda numarului de aur.

Punctele de interior c si d din intervalul original trebuie construite astfel incat intervalele
rezultate si sa fie simterice in . Aceasta inseamna ca , de unde
rezulta doua ecuatii:
(1) ,
si
(2) ,

unde ( pentru a pastra ordinea ).


Vrem ca valoarea lui r sa ramana constanta pe fiecare subinterval. Daca r este
ales bine, atunci este nevoie doar de constructia unui singur punct nou e (ca in Figura
1) pentru interatia urmatoare. In plus, unul din punctele de interior vechi (c sau d) vor
fi folosite pentru ca puncte de interior pentru urmatorul subinterval, iar celalalt punct
de interior (d sau c) va deveni un punct de margine pentru urmatorul subinterval in
procesul de interatie. Astfel, pentru fiecare iteratie doar un singur punct nou e va
trebui sa fie construit si o singura evaluare de functie f(e) va avea loc. Aceasta
inseamna ca valoarea lui r trebuie sa fie aleasa cu grija pentru a imparti intervalul
in subintervale care au urmatoarele rapoarte:
(3) si ,
si
(4) si .

Daca si doar o singura noua evaluare de functie trebuie facuta pe intervalul , atunci
putem avea:

Folosind (3) si (4) pentru a rescrie aceasta ecuatie si simplificand:

Solutiile ecuatiei patratice sunt:

Valoarea pe care o cautam este , r = 0.618, fiind referita ca si conjugata numarului de aur, unde
numarul de aur are valoarea 1.618.

Analog, daca , rezulta ca .

Metoda lui Fibonacci


Se bazeaza pe sirul lui Fibonacci, care est definit de urmatoarele ecuatii

pentru
Numerele Fibonacci sunt:

Presupunem ca avem o functie unimodala pe intervalul . Ca si in metoda sectiunii de aur, se alege

un numar pentru ca, in functie de acesta sa alegem alte doua puncte din interiorul
intervalului.
Daca , minimul se afla in subintervalul , si inlocuim si si
continuam cautarea in subintervalul .
Daca , minimul se afla in subintervalul , inlocuim si si
continuam cautarea in subintervalul .

Figura 2. Procesul decizional pentru rata de cautare Fibonacci.

Daca se face o evaluare in intervalul , apoi selectam , pentru


subintervalul . Am notat si cum , il vom reeticheta cu .
Astfel, vom avea:
(1) .

Ratia este aleasa astfel incat si si scaderea duce la:

(2)

este ales astfel incat:


(3) .

Inlocuind (2) si (3) in (1), rezulta


(4) .

Lungimea intervalului a fost miscorata de factorul . Astfel, folosind in (4)


ajungem la:

(5) .

Reducand termenul in (5) avem acum:

(6) .

Rezolvand (6) pentru , vom obtine:

(7) .

Acum introducem numerele Fibonacci pentru . In ecuatia (7), inlocuim si


obtinem:

Rationand inductive, obtinem ca o cautare Fibonacci poate incepe cu:

si

pentru .

Ultimul pas va fi

Nu se pot adauga puncte noi la acest nivel ( algoritmul se termina). De aceea, setul de rate posibile este:
.
Vor fi exact n-2 pasi intr-o cautare Fibonacci!

Al subinterval este obtinut prin reducerea lungimii subintervalului k, printr-

un factor . Dupa pasi, lungimea ultimului subinterval va fi:

Daca abscisa minimului poate fi gasita cu o eroare , atunci vrem ca


. Este necesar sa folosim n iteratii, unde n este cel mai mic numar intreg astfel incat

(8) .

Punctele de interior, si in subintervalul k, , se pot gasi cu formulele:

(9) ,

(10) .

Comparatii intre diferite metode utilizand mai multe functii

4 1
1. f ( x) = x 5 − x+ , x ∈[0,1]
5 2
4
f’(x) = 0, rezulta 5 x 4 = , pe intervalul [0,1] avem minimul x=0.63245553.
5

Nr pasi Minim dat de metoda lui Minim dat metoda numarului Minim dat metoda 1/3
Fibonacci de aur
10 0.630901 0.630230 0.631188
20 0.632446 0.632450 0.632436
30 0.63245557 0.63245555 0.63245596

2. f ( x ) = x 2 , x ∈[−1,20] , are minimul x=0

Nr pasi Minim dat de metoda lui Minim dat metoda numarului Minim dat metoda 1/3
Fibonacci de aur
10 -0.008584 -0.020607 -0.021287
20 0.000279 0.000241 0.001374
30 -0.00000028 -0.00000154 -0.00001783

3. f ( x ) = sin x , x ∈[ 2,6] , are minimul x=4.71238898

Nr pasi Minim dat de metoda lui Minim dat metoda numarului Minim dat metoda 1/3
Fibonacci de aur
10 4.712446 4.71139 4.724043
20 4.712356 4.712348 4.712389
30 4.71238940 4.71238939 4.71238612

4. f ( x ) = ( x −1) 2 + e x , x ∈[0,2] , are minimul x=0.31492304


Nr pasi Minim dat de metoda lui Minim dat metoda numarului Minim dat metoda 1/3
Fibonacci de aur
10 0.317596 0.316188 0.312418
20 0.314899 0.314895 0.314915
30 0.31492281 0.31492378 0.31492280

Concluzia este ca metoda numarului de aur este cea mai buna pentru ca da rezultate mai precise si este mai
rapida.

Complexitate de calcul

Metoda Fibonacci Metoda cu numarul de aur Metoda cu raport de 1/3


• 2 adunari • 2 adunari • 3 adunari
• 2 inmultiri • 1 inmultire • 1 inmultire
• 1 evaluare de functie • 1 evaluare de functie • 2 evaluari de functie
• Calcul prealabil a n valori • Calcul prealabil a • Calcul prealabil a
a sirului lui Fibonacci raportului r (0.618) constantei 1-1/3 = 0.(6)

S-ar putea să vă placă și