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