Метод Фибоначчи
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Метод Фибоначчи
Метод Фибоначчи (англ. Fibonacci method) — это улучшение реализации поиска с помощью золотого сечения, служащего для нахождения минимума/максимума функции. Подобно методу золотого сечения, он требует двух вычислений функции на первой итерации, а на каждой последующей только по одному. Однако этот метод отличается от метода золотого сечения тем, что коэффициент сокращения интервала неопределенности меняется от итерации к итерации.
Описание
Метод основан на последовательности чисел Фибоначчи
, которая определяется следующим образом :
Таким образом, последовательность Фибоначчи имеет вид
Предположим, что на -й итерации интервал неопределенности равен . Рассмотрим две точки и , определяемые следующим образом:
,
где
и — заданное общее число вычислений функции.Новый интервал неопределенности
будет равен , если и , если . В первом случае, учитывая и полагая , получим.
Во втором случае, учитывая
, получаем.
Таким образом, в обоих случаях длина интервала неопределенности сжимается с коэффициентом
. Покажем, что на той итерации либо , либо , так что требуется только одно новое вычисление функции. Предположим, что . Тогда . Таким образом, используя и заменив на , получаем . Подставив выражение для и заменив на , получим ..
.
Если золотого сечения в методе Фибоначчи требуется, чтобы общее число вычислений (или коэффициент сокращения исходного интервала) было задано заранее. Это объясняется тем, что точки, в которых производятся вычисления, зависят от . Длина интервала неопределенности на -той итерации сжимается с коэффициентом . Следовательно, после итерации, где — заданное общее число вычислений функции , длина интервала неопределенности сократится от до .
, то выполнив аналогичные преобразования, получим . Таким образом, в обоих случаях на -й итерации требуется только одно вычисление функции. В отличие от методаАлгоритм
Предварительный этап. Выбрать допустимую конечную длину интервала неопределенности
и константу различимости . Пусть задан начальный интервал неопределенности . Выбрать общее число вычислений функции так, чтобы . Положить , .Вычислить , , положить и перейти к основному этапу.Основной этап.
Первый шаг. Если
, то перейти ко второму шагу, в противном случае – к третьему шагу.Второй шаг.Положить
. Затем положить , . Если , то перейти к пятому шагу, в противном случае вычислить и перейти к четвертому шагу.Третий шаг. Положить
, , , . Если , то перейти к пятому шагу, в противном случае и перейти к четвертому шагу.Четвертый шаг. Заменить
на и перейти к первому шагу.Пятый шаг. Положить
, . Если , то положить . В противном случае (если ), положить .Конец: оптимальное решение содержится в интервале
.