русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы, использующие производные функции.


Дата добавления: 2013-12-23; просмотров: 1528; Нарушение авторских прав


Метод "золотого сечения".

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

Рассмотрим на исходном отрезке [а;b] точку и вычислим ¦(). Зная значение целевой функции в одной точке, невозможно сузить область поиска точки . Поэтому выберем вто­рую точку так, чтобы a< < <b, и вычислим ¦(). Возможен один из следующих двух случаев ¦() £ ¦() или ¦() ³ ¦().

Согласно свойству унимодальных функций: если ¦() £ ¦(), то *<; если же ¦() ³ ¦(), то x* >; в первом случае искомая точка * не может быть на отрезке [;b], а во втором – на отрезке [a;] (эти отрезки на рисунке 5.3 отмечены штриховкой). Следовательно, теперь область поиска сужается и следующую точку следует брать в одном из укороченных отрезков [a; ] или [;b].

 

 


a) б)

Рис. 5.3. Уменьшение интервала поиска точки минимума методом золотого сечения.

Установим где на исходном отрезке лучше всего выбрать точки и . Так как первоначально ничего не известно о положении *, то оба указанных выше случая равновозможные, то есть "лишним" может оказаться любой из отрезков [;b] и [a;]. Отсюда ясно, что точки и должны быть расположены симметрично относительно середины отрезка [a;b]. Чтобы максимально сузить область поиска, эти точки должны быть "поближе" к середине исходного отрезка. Если их взять рядом с серединой исходного отрезка, то на втором этапе сужение области поиска будет незначительным (рис. 5.4).

 

 
 

 


 

 

Риc. 5.4. К выбору пробных точек и .



На втором этапе сужения области поиска потребуется вычислить лишь одно значение ¦(), которое будем сравнивать с уже имеющимся значением ¦() или ¦() в зависимости от того, какой из двух случаев реализовался. Поэтому, с одной стороны, точки и следует выбирать рядом с серединой отрезка, а с другой – слишком близкими их брать нельзя. Для того, чтобы найти “золотую середину”, используется метод "золотого сечения".

Поиск с помощью метода золотого сечения основан на разбиении отрезка прямой на две части, известном как золотое сечение – отношение длины всего отрезка к большей части равно отношению большей части к меньшей. Рассмотрим симметричное расположение двух пробных точек на исходном интервале единичной длины (рисунок 5.5.).

 

Рис.5.5. Поиск пробных точек с помощью метода золотого сечения

Пробные точки и отстоят от граничных точек интервала на расстоянии F. При таком симметричном расположении точек длина остающегося после исключения интервала всегда равна F независимо от того, какое из значений функции в пробных точках оказывается меньшим. Предположим, что исключается правый подинтервал. На рис. 5.6. показано, что оставшийся под интервал длины F содержит одну пробную точку , расположенную на расстоянии (1-F) от левой граничной точки.

 

 
 

 

 


Рис.5.6. Интервалы, полученные методом золотого сечения.

 

Чтобы точки =1-F и =F делили отрезки [0;F] и [0;1] в одном и том же отношении должно выполнятся равенство или , откуда находим положительное значение . Таким образом, , .Дроби и называются дробями Фибоначчи или числа Фибоначчи (Bonaccio (итал.)), сын Боначчо – добродушный, простодушный, то есть сын добряка, сын удачника. Это название им дал Леонардо Фибоначчи из Пизы, который первым открыл их еще в 1202 году, подсчитывая, сколько пар потомства могут дать в год пара кроликов и их последующее потомство.

Для того чтобы симметрия поискового образа сохранялась, расстояние (1-F) должно составлять F-ю часть длины интервала (которая равна F). При таком выборе F следующая пробная точка размещается на расстоянии, равном F-й части длины интервала, от правой граничной точки интервала (рис. 5.7.).

 

Риc. 5.7. Симметрия золотого сечения интервала.

Отсюда следует, что при выборе F в соответствии с условием 1-F= симметрия поискового образца (рис.5.5.) сохраняется при переходе к уменьшенному интервалу (рис.5.7.). Схема поиска, при которой пробные точки делят интервал в этом отношении, известна под названием поиска с помощью метода золотого сечения. Для произвольного отрезка [a;b] выражения для пробных точек примут вид

, . (5.3)

Зная одну из точек золотого сечения отрезка [a;b], другую можно найти по одной из формул

, . (5.4)

Пусть ¦()ÎQ[a,b] и требуется найти точку минимума * функции ¦() на [a;b]. Построим последовательности {},{} и {}, n=1,2,..., следующим образом:

, , , если ¦() £ ¦(); (5.5)

, , , если ¦() > ¦(), n=2,3,…,

где , ,и -первая и вторая точки золотого сечения (5.3) отрезка [,].

Для определения чисел ,,по найденным ,, необходимо выполнить следующие операции:

1. найти одну из точек золотого сечения отрезка [,] по известной другой точке , используя формулы (5.4). При определении * с большой точностью, чтобы избежать накопления ошибок округления, обычно точки золотого сечения отрезка [;] находят по формулам (5.3) и в качествеи используют и ту из найденных точек, которая больше отличается от .

2. вычислить значение ¦(х) во вновь найденной точке золотого сечения (значение в другой точке уже вычислено на одном из предыдущих шагов).

3. сравнить значения ¦() и ¦() и найти ,,по формулам (5.5).

Таким образом, на каждом шаге определения ,,, n=2,3... , требуется вычисление одного значения ¦(). Положив * найдем точку минимума * с точностью :

,

откуда следует, что число шагов n метода золотого сечения, обеспечивающее заданную точность e нахождения точки *, должно удовлетворять неравенству

. (5.6)

Пример 5.3. Решить пример 5.2 методом золотого сечения. Вычисления проведем по формулам (5.5), представив результаты в таблице 5.3, где стрелками отмечены сохраняющиеся при переходе к следующему шагу значения.

Таблица 5.3

Значения пробных точек и функции f()

n ¦() ¦() Примечание
1 0.309 1.5 2.0 1.691 1.809 -92.049 -91.814 ¦()<¦(), =
2 0.191 1.5 1.809 1.618 1.691 -91.464 -92.049 ¦()>¦(), =
3 0.118 1.618 1.809 1.691 1.736 -92.049 -92.138 ¦()>¦(), =
4 0.073 1.691 1.809 1.736 1.764 -92.138 -92.083 ¦()<¦(), =
0.045       1.736   -92.138 точность достигнута.

Из таблицы 5.3 получаем х*»1.736, ¦*»¦(). Если воспользоваться формулой (5.6), то n можно определить заранее. В нашем случае n³4,79, то есть n=5.

 

 

Прямые методы используются при минимальных требованиях к целевой функции ¦(x)-она считается унимодальной, и вычислению подлежат значения только самой функции, но не её производных.

Если усилить эти требования, предположив, что ¦(x) является дифференцируемой или дважды дифференцируемой выпуклой функцией, и считать, что возможно вычисление производных ¦(x) в произвольно выбранных точках, то эффективность процедур поиска можно существенно повысить.

Рассмотрим методы минимизации, в которых используются значения производных целевой функции. Напомним, что для выпуклой дифференцируемой функции равенство ¦’(x)=0 является не только необходимым, но и достаточным условием глобального минимума. Поэтому, если известно, что х* является внутренней точкой отрезка [a,b], то приближенное равенство ¦’(x)»0 или |¦’(x)|£e, где e ³0 - достаточно малое число, может служить условием остановки вычислений в рассматриваемых ниже методах.

 



<== предыдущая лекция | следующая лекция ==>
Методы исключения интервалов. | Метод Ньютона – Рафсона.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.