Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл 1_ 1.3.doc
Скачиваний:
24
Добавлен:
27.04.2019
Размер:
2.04 Mб
Скачать

Метод дихотомии

В этом методе точки и в каждой итерации выбираются по правилу

, , , (1.61)

где k – номер итерации (порядковый номер отбрасывания части отрезка, см.

п.3 алгоритма),

,

п ричем и – левая и правая границы отрезка на шаге под номером k, при этом – заданный параметр, см. рис. 1.16.

Заметим, что точки и располагаются симметрично относительно середины текущего отрезка, см. рис. 1.16. Покажем, что параметр следует назначать так, чтобы

. (1.62)

С этой целью установим закономерность, по которой будет уменьшаться длина отрезка при использовании алгоритма, рассмотренного в предыдущем разделе. Исходная длина отрезка . После первого, второго, третьего отбрасывания длина отрезка будет соответствовать равной

, , .

После N-го отбрасывания получим длину

. (1.63)

Далее устанавливаем, что

,

т.е. длина отрезка никогда не может стать меньше числа . Как было отмечено выше, процесс вычислений заканчивается по признаку

,

где k – номер некоторой итерации (отбрасывания части отрезка). Следовательно, для того, чтобы процесс вычислений закончился необходимо выполнить условие (1.62). Достаточно, например, назначить . В таком случае, как это следует из (1.61)

; ,

Пример. Пусть

Г рафик этой функции показан на рис. 1.17.

В данном примере отрезок [a,b] таков, что , . Пусть, кроме того, назначено, что . Примем, что .

Проследим работу алгоритма (метода дихотомии) при отыскании точки минимума .

Первая итерация (k = 1):

.

В данном случае , следовательно, отрезок отбрасываем.

Вторая итерация (k =2):

, , , , , , . Имеем , следовательно, отбрасывается отрезок .

Переходим к итерации под номером и т.д. Процесс вычислений заканчивается как только при некотором k длина отрезка станет меньше 0,03. В этом случае принимаем, что

.

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

Золотым сечением отрезка (золотой пропорцией) называется такое деление отрезка на две неравные части, когда отношение большей части к исходной длине равно отношению меньшей части к большей части. Это определение поясняет рис. 1.18.

О трезок длины считается разделенным точкой на две части по правилу золотого сечения, если

, (1.64)

где число подлежит определению.

Определим, чему равно число .

Рассмотрим равенство

, (1.65)

выясним, каким должно быть число , чтобы кроме (1.65) имело место еще и равенство

. (1.66)

Как следует из рис. 1.18,

,

тогда, принимая во внимание (1.65), запишем, что

, (1.67)

следовательно, равенство (1.66) имеет место, если

,

т.е.

. (1.68)

Из двух корней уравнения (1.68) выбираем корень

. (1.69)

При этом, как это вытекает из (1.67), координата точки , т.е. ,

или

. (1.70)

З аметим, что вместо точки можно рассмотреть точку , которая симметрична относительно середины отрезка , т.е. точки с, рис. 1.19.

Все выкладки (1.64) – (1.69) имеют место и в данном случае, только лишь теперь , т.е.

. (1.71)

Покажем, что точка делит отрезок в золотой пропорции, см. рис. 1.19.

Как следует из этого рисунка, отрезок аx1 является большей частью отрезка ax2. Это подтверждает и соотношение (1.66) –

.

Для золотого сечения должно иметь место соотношение

,

т.е.

.

Справедливость этого равенства легко устанавливается, если учесть соотношения (1.66), (1.68).

Совершенно аналогично можно показать, что и точка делит в золотой пропорции интервал [x1,b]. Таким образом, в каком бы виде не оставался укороченный отрезок, уже одну точку золотой пропорции он будет содержать – либо x1, либо x2.

В рассматриваемом методе золотого сечения координаты точек x1 и x2 будем назначать в соответствии с формулами (1.70), (1.71). Изложим теперь алгоритм метода золотого сечения, предназначенного для отыскания локального минимума унимодальной функции , где .

Нулевая итерация (k = 0). На этой итерации исследуется интервал , он совпадает с исходным, т.е. , . В таком случае

Если , то отбрасывается отрезок (назовем это случаем А); если , то отбрасывается отрезок (случай B).

Первая итерация (k = 1).

В случае А – исследуется интервал и при этом

, ; , ;

В случае B – исследуется интервал , при этом

, ; , .

Если

, то отбрасывается отрезок , если же

, то отбрасывается отрезок

и т.д. Вычисления заканчиваются, как только . В этом случае .

Подчеркнем, что метод золотого сечения отличается от метода дихотомии в принципе лишь способом задания точек x1 и x2.

Выясним, как изменяется длина отрезка от итерации к итерации, т.е. при в методе золотого сечения.

Запишем:

и т.д., в общем случае

. (1.72)

Формула (1.72) может быть использована для определения необходимого количества итераций N для получения результата с заданной точностью . Кроме того, формулы (1.63), (1.72) позволяют сравнить эффективность методов дихотомии и золотого сечения.

Пример. Пусть

(cм. рис. 1.16). Имеем:

. Поскольку , то отбрасываем отрезок ;

;

. Поскольку , то отбрасываем отрезок ;

и т.д.

Замечание. Как было показано выше, в методе дихотомии параметр должен назначаться так, чтобы выполнялось неравенство

. (1.73)

В пределах указанного интервала параметру можно присвоить бесконечное количество значений, например, ; и т.д. Имеет место некоторый произвол в назначении . Поставим следующую задачу.

Доопределить параметр так, чтобы при выполнении условия (1.73), количество итераций по методу дихотомии достигало минимума.

Из (1.63) находим, что для любого конкретного процесс вычислений заканчивается, если

, (1.74)

т.е.

и, следовательно, количество итераций при этом

. (1.75)

Используя (1.75), выясним характер зависимости . Во-первых, замечаем, что

; (1.76)

.

В интервале функция – монотонно возрастает. Действительно, производная

,

т.е.

при .

Функция имеет такой вид, как это показано на рис. 1.20.

Т аким образом, своего наименьшего значения величина N достигает при . Величину , найденную по формуле (1.76), округлим до ближайшего большего целого числа, которое обозначим как,

. (1.77)

При таком значении , как это следует из (1.74),

.

Слагаемым в знаменателе можно пренебречь, следовательно,

. (1.78)

Как правило, составляет доли процента от , т.е. , где .

В таком случае, согласно (1.77)

,

т.е.

, . (1.79)

Так при (точность вычислений 1%)

.

Как следует из (1.78),

,

т.е.

, . (1.80)

В заключение заметим, что при использовании алгоритмического языка TURBO PASCAL согласно (1.79) вычисляется как

, (1.81)

где команда усекает любое вещественное число x путем отбрасывания его дробной части.

Имея в виду полученный результат, полезно сравнить метод дихотомии и метод золотого сечения – какой же из них более выгодный в смысле количества итераций при одной и той же точности .

Количество итераций без округления в методе дихотомии (см. (1.77))

, (1.82)

в методе золотого сечения

, (1.83)

их разность

,

т.е.

. (1.84)

При , где

,

т.е.

, . (1.85)

Этот результат говорит о том, что количество итераций при использовании метода золотого сечения будет всегда больше. Более того, чем требуемая точность, т.е. выше, тем выгоднее становится применение метода дихотомии.

Итак, при конкретных расчетах необходимо:

1) задать (одно из чисел 2,3,…);

2) по формуле (1.81) вычислить ;

3) по формуле (1.80) вычислить .