|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Кубическая интерполяция (метод Дэвидона)Предложенный Дэвидоном быстрый метод одномерного поиска минимума, подобно рассмотренному выше методу квадратичной интерполяции, основан на локальной замене минимизируемой функции многочленом. Отличие заключается, во-первых, в том, что используется многочлен не второй, а третьей степени, а во-вторых — в способе построения этого многочлена. Многочлен второй степени является простейшим многочленом, способным обладать минимумом (или максимумом). При этом парабола всегда симметрична относительно точки экстремума. Для минимизируемой функции произвольного вида (возможно, несимметричной) квадратичный интерполяционный многочлен обеспечивает удовлетворительную аппроксимацию лишь в непосредственной близости от экстремальной точки (там, где можно пренебречь членами третьего и более высоких порядков в разложении f(x) в ряд Тейлора). По этой причине скорость сходимости метода квадратичной интерполяции становится достаточно высокой только в конце процесса, когда интервал неопределенности мал. Многочлен третьей степени способен воспроизвести асимметрию минимизируемой функции вблизи точки экстремума. Он позволяет аппроксимировать f(x) на более широком интервале и в пределе дает не квадратичную, а кубическую скорость сходимости к искомому решению. Поэтому метод Дэвидона обычно применяют как самостоятельный метод поиска минимума, не комбинируя его с какой-либо предварительной процедурой сжатия интервала неопределенности. Поскольку многочлен третьей степени содержит четыре коэффициента, то для его построения необходимо иметь четыре независимые величины, характеризующие форму аппроксимируемой функции. Это могут быть, например, значения f(x) в четырех разных точках, позволяющие построить кубический интерполяционный многочлен по схеме Лагранжа. Однако такой вариант неудобен: локализация минимума однозначно определяется всего тремя точками; четвертая точка является избыточной, и ее добавление плохо сочетается со структурой основных алгоритмов минимизации. В методе Дэвидона многочлен строится по двум точкам, но в этих точках берутся значения не только самой функции, но и ее первой производной f¢(x). При выводе расчетных формул предполагается, что начало отсчета и положительное направление переменной x можно выбирать произвольно. Поэтому ради упрощения выражений берут точки x1=0 и x2=q>0. Как мы увидим в дальнейшем, для тех алгоритмов, где применяется метод Дэвидона, это ограничение является вполне естественным. Пусть заданы значения: f(x1)ºf(0)=f1, f¢(0)=g1; f(x2)ºf(q)=f2, f¢(q)=g2. Тогда коэффициенты аппроксимирующего многочлена P3(x)=a+bx+cx2+dx3 можно найти из уравнений: a =f1, Эти уравнения имеют следующее решение: , (6) где . Точки экстремумов кубического многочлена P3(x) являются решениями квадратного уравнения b+2cx+3dx2=0. Учитывая выражения (6) для коэффициентов, получим решения в виде: , где . Минимуму отвечает решение со знаком “+” в числителе: . (7) В этом легко убедиться, подставив (7) в выражение для второй производной (с учетом (6)): . Величина r дает относительное положение минимума, выраженное в единицах длины отрезка [0, q]. Поскольку для построения многочлена выбирают точки, охватывающие минимум с двух сторон, то g1 и g2 имеют противоположные знаки. Поэтому на практике вместо (7) применяют эквивалентную формулу, более устойчивую к вычислительным ошибкам: . (7a) Особенность алгоритма Дэвидона состоит в том, что поиск начинается без предварительной локализации минимума, т. е. первоначально задана только исходная точка (начальное приближение) x=0. Перед выполнением первого шага необходимо каким-то образом выбрать вторую точку x=q. Этот выбор производится на основании оценки значения функции в точке минимума fmin, которую должен предоставить пользователь. Значение q определяют по формуле , (8)
где f1 и g1 – значения функции и ее производной в начальной точке, а L – ограничитель шага, предусмотренный на тот случай, если заданная оценка fmin окажется нереалистичной, или же величина g1 слишком мала (ситуацию g1=0 можно исключить из рассмотрения, так как это означало бы, что минимум находится в исходной точке). Смысл формулы (8) иллюстрируется рис. 4. Таким образом, применяя метод Дэвидона, необходимо обеспечить возможность расчета значений минимизируемой функции и ее первой производной, а также задать начальную точку и оценку fmin. Последнее обстоятельство вызывает у пользователей наибольшие затруднения, поскольку значение функции в точке минимума, как правило, заранее неизвестно. Необходимо подчеркнуть, что здесь не требуется точное значение fmin. Речь идет лишь об ориентировочной оценке, исходя из общих представлений о порядке величины и характере поведения минимизируемой функции. Фактически, значение fmin обеспечивает лишь выбор разумного масштаба при выполнении первого пробного шага вдоль оси x. Изменение этой величины в ту или другую сторону в несколько раз обычно никак не сказывается на дальнейшем поведении алгоритма; в худшем случае будет сделано 1-2 лишних шага. К тому же от грубых ошибок страхует заложенный в алгоритме параметр-ограничитель L. Общая схема алгоритма Дэвидона такова. Предполагается, что в начальной точке первая производная отрицательна (g1<0), т. е. ось x направлена в сторону убывания функции. Если это не так, направление оси меняется на противоположное. Затем по формуле (8) оценивается начальное значение q и в точке x=q вычисляется g2=f¢(q). Если g2>0, то x=q лежит с другой стороны от минимума по сравнению с начальной точкой; следовательно, минимум локализован, и подготовка к первому шагу закончена. В противном случае (g2<0) величина q, очевидно, слишком мала. Поэтому q удваивается и вновь проверяется знак g2. Эти действия повторяются до тех пор, пока g2 не станет положительным. Затем начинается основная часть алгоритма. На каждом шаге по формуле (7а) оценивается положение минимума x=rq. В силу выбора исходных точек минимум заключен внутри отрезка [0, q], так что 0<r<1. Точка rq делит отрезок [0, q] на две части. Если f¢(rq)>0, то q заменяется на rq, в противном случае начальная точка переносится в точку rq (иными словами, в зависимости от знака производной для следующего шага выбирается левая или правая часть отрезка). Процесс продолжается до тех пор, пока значение производной, длина отрезка или понижение значения функции не станут меньше заданного предела (конкретная форма критерия окончания поиска зависит от решаемой задачи). Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |