[an error occurred while processing this directive]
 

Метод золотого сечения и метод Фибоначчи

Метод почти половинного деления требует на каждой итерации двух вычислений значений функции: в точках $ l_i$ и $ r_i$. Имеются два схожих по идее, но более экономных метода, в которых каждая итерация требует только одного нового вычисления значения функции. Если основные вычислительные усилия на каждой итерации приходятся именно на вычисление значений функции (так, как правило, и бывает), то это приводит к ускорению вычислений примерно вдвое по сравнению с методом почти половинного деления.

Один из методов называется метод золотого сечения. В этом методе длины последовательных отрезков $ {\Delta}_i$ должны давать одно и то же число $ r$: Линейные уравнения с постоянными коэффициентами Для данных неоднородных линейных уравнений выписать соответствующие однородные линейные уравнения и составить характеристические уравнения:

 

$\displaystyle \dfrac{{\Delta}_{i-1}}{{\Delta}_i}=\dfrac{{\Delta}_i}{{\Delta}_{i+1}}=r.$

Рис.9.17.Три последовательных отрезка

Парадоксы из истории формализации и моделирования

Моделирование представляет собой один из основных методов познания, является формой отражения действительности и заключается в выяснении или воспроизведении тех или иных свойств реальных объектов, предметов и явлений с помощью других объектов, процессов, явлений, либо с помощью абстрактного описания в виде изображения, плана, карты, совокупности уравнений, алгоритмов и программ. Возможности моделирования, то есть перенос результатов, полученных в ходе построения и исследования модели, на оригинал основаны на том, что модель в определенном смысле отображает (воспроизводит, моделирует, описывает, имитирует) некоторые интересующие исследователя черты объекта. Моделирование как форма отражения действительности широко распространено, и достаточно полная классификация возможных видов моделирования крайне затруднительна, хотя бы в силу многозначности понятия "модель", широко используемого не только в науке и технике, но и в искусстве, и в повседневной жизни.

Виды моделирования. Все виды моделирования можно классифицировать следующим образом:

относительно значения параметров и времени их делят на: дискретное моделирование; непрерывное моделирование; дискретно-непрерывное моделирование;

относительно протекания процесса во времени различают: статическое моделирование; динамическое моделирование;

относительно способа представления модели моделирование делят на: аналитическое; концептуальное; структурно-функциональное; экспериментальное;

относительно математики и физических явлений различают: математическое (логико-математическое моделирование); физическое моделирование.

Имитационное моделирование можно отнести к каждой из перечисленных групп. Разумеется, перечисленные выше виды моделирования не являются взаимоисключающими и могут применяться при исследовании сложных объектов либо одновременно, либо в некоторой комбинации. Традиционно под моделированием на ЭВМ понималось лишь имитационное моделирование. Можно, однако, увидеть, что и при других видах моделирования компьютер может быть весьма полезен, за исключением разве физического моделирования, где компьютер вообще-то тоже может использоваться, но, скорее, для целей управления процессом моделирования. Например, при математическом моделировании выполнение одного из основных этапов - построение математических моделей по экспериментальным данным - в настоящее время просто немыслимо без компьютера. В последние годы, благодаря развитию графического интерфейса и графических пакетов, широкое развитие получило компьютерное, структурно-функциональное моделирование. Положено начало использованию компьютера даже при концептуальном моделировании, где он используется, например, при построении систем искусственного интеллекта. «Компьютерное моделирование" значительно шире традиционного понятия "моделирование на ЭВМ".


При этом $ {\Delta}_{i-1}={\Delta}_i+{\Delta}_{i+1}$, откуда легко получить, что число $ r$ удовлетворяет равенству $ r^2=r+1$. Решая это уравнение, получаем, что $ r=\dfrac{\sqrt{5}+1}{2}$. Таким образом, на первом шаге на отрезке $ I_0$ вычисляются значения в двух точках $ l_0$ и $ r_0$, расположенных симметрично на расстоянии $ {\Delta}_0(r-1)$ от концов отрезка $ a_0$ и $ b_0$ и делящих отрезок на части, составляющие "золотое сечение". Сравнивая точно так же, как в методе почти половинного деления, значения в этих точках, выбираем в качестве $ I_1$ либо $ [a_0,r_0]$, либо $ [l_0;b_0]$. Экономия по сравнению с методом почти половинного деления получается на всех остальных шагах, поскольку если процесс повторить на отрезке $ I_i$ при $ i\geqslant 1$, то одной из точек деления оказывается ранее найденная точка: $ l_i=r_{i-1}$ либо $ r_i=l_{i-1}$, так что одно из двух значений функции найдено на предыдущей итерации.

Ещё один метод -- метод Фибоначчи -- применяется в тех случаях, когда заранее известно, сколько итераций мы собираемся совершить, и при этом хотим получить наибольшую возможную точность в определении точки минимума. При этом оказывается, что длины отрезков $ {\Delta}_i$ связаны с последовательностью чисел Фибоначчи $ \{F_i\}$, заданной начальными значениями $ F_0=F_1=1$ и рекуррентной формулой $ F_i=F_{i-1}+F_{i-2}$.

Тех, кто заинтересовался этим методом, мы отсылаем за его точным описанием, как и за подробностями метода золотого сечения, к книге [Моисеев Н. Н., Иванилов Ю. П., Столярова Е. М., Методы оптимизации. -- М.: Наука, 1978].