Алгоритм фибоначчи

Алгоритм Фибоначчи

Рассмотрим следующую задачу условной оптимизации: найти минимум одномерной унимодальной функции алгоритм фибоначчи - student2.ru ( алгоритм фибоначчи - student2.ru ), определенной в замкнутой области допустимых значений алгоритм фибоначчи - student2.ru =[ алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru ],
алгоритм фибоначчи - student2.ru

Числа Фибоначчи и их некоторые свойства.

Числа Фибоначчи задаются следующим рекуррентным уравнением:

алгоритм фибоначчи - student2.ru (1)

Числа Фибоначчи алгоритм фибоначчи - student2.ru ,..., алгоритм фибоначчи - student2.ru приведены в нижеследующей табл. 1.

Таблица 1

алгоритм фибоначчи - student2.ru ...
алгоритм фибоначчи - student2.ru ...

Общее выражение для алгоритм фибоначчи - student2.ru -го числа Фибоначчи можно получить из решения уравнения (1):
алгоритм фибоначчи - student2.ru

При больших значениях алгоритм фибоначчи - student2.ru членом (- алгоритм фибоначчи - student2.ru )N+1 можно пренебречь. При этом

алгоритм фибоначчи - student2.ru (2)

Отсюда следует, что алгоритм фибоначчи - student2.ru . Т.е. отношение двух соседних чисел Фибоначчи примерно постоянно и равно алгоритм фибоначчи - student2.ru .

Алгоритм Фибоначчи.

Алгоритм Фибоначчи относится к классу поисковых методов оптимизации и включает в себя два этапа.

Первый этап состоит из ( алгоритм фибоначчи - student2.ru -1)-й итерации для алгоритм фибоначчи - student2.ru =1,2,… алгоритм фибоначчи - student2.ru -1. Рассмотрим схему алгоритм фибоначчи - student2.ru -й итерации, когда ТИНr=[ алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru ]:

1. Вычисляем величины
алгоритм фибоначчи - student2.ru
алгоритм фибоначчи - student2.ru

2. Вычисляем значения алгоритм фибоначчи - student2.ru функции алгоритм фибоначчи - student2.ru ( алгоритм фибоначчи - student2.ru ).

3. Если алгоритм фибоначчи - student2.ru , то выполняем присваивания алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru . Иначе - выполняем присваивания алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru , алгоритм фибоначчи - student2.ru алгоритм фибоначчи - student2.ru

Алгоритм Фибоначчи обладает тем свойством, что после выполнения ( алгоритм фибоначчи - student2.ru -1)-й итерации имеет место следующая ситуация: алгоритм фибоначчи - student2.ru . Т.е. в результате ( алгоритм фибоначчи - student2.ru -1)-й итерации сужение текущего интервала неопределенности не происходит:
алгоритм фибоначчи - student2.ru

Второй этап призван решить по какую сторону от точки алгоритм фибоначчи - student2.ru лежит точка минимума функции алгоритм фибоначчи - student2.ru ( алгоритм фибоначчи - student2.ru ).

Второй этап выполняется по следующей схеме:

1. Находим точку алгоритм фибоначчи - student2.ru = алгоритм фибоначчи - student2.ru + алгоритм фибоначчи - student2.ru , где алгоритм фибоначчи - student2.ru |ТИНN-1| - свободный параметр алгоритма.

2. Вычисляем значение функции алгоритм фибоначчи - student2.ru .

3. Если алгоритм фибоначчи - student2.ru , то выполняем присваивания алгоритм фибоначчи - student2.ru . Иначе - выполняем присваивания алгоритм фибоначчи - student2.ru алгоритм фибоначчи - student2.ru

В качестве приближенного значения точки минимума алгоритм фибоначчи - student2.ru с равными основаниями может быть принята любая точка ТИНN.

Наши рекомендации