Северин В.П. Методы ОП
.pdf
неопределенности не станет меньше заданного значения. Погрешность вычисления точки минимума x не превысит половины длины конечного интервала неопределенности.
Если на каждой итерации интервалом неопределенности становится левая половина предыдущего интервала неопределенности, то результате n вычислений функции получим конечный интервал не-
определенности длины |
|
|
|
Ln |
L |
. |
|
|
|||
2n 1 |
|||
|
|
Если же на каждой итерации интервалом неопределенности становится не левая половина предыдущего интервала неопределенности, то результате n вычислений функции получим конечный интервал неопределенности длины
Ln |
L |
. |
|
|
|||
2(n 1) 2 |
|||
|
|
||
В общем случае |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L |
Ln |
|
|
|
L |
|
|
. |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
2n 1 |
2(n 1) 2 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Эффективность метода деления интервала пополам определяется |
|||||||||||||||||||||||||
аналогично эффективности метода дихотомии: |
|
|
|||||||||||||||||||||||
|
|
|
|
|
r |
|
Ln |
, |
|
1 |
|
r |
|
1 |
. |
(3.3) |
|||||||||
|
|
|
|
|
|
n |
|
|
|
L |
|
|
2n 1 |
|
|
n |
|
|
2(n 1) 2 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Пусть, например, интервал неопределенности необходимо |
|||||||||||||||||||||||||
уменьшить не менее чем в сто раз и rn 0,01 : |
|
|
|||||||||||||||||||||||
|
1 |
|
|
1 |
|
, |
|
|
2n 1 |
100 , |
|
n 1 7 , |
|
n 8 ; |
|||||||||||
|
|
2n 1 |
|
|
|
|
|
|
|
||||||||||||||||
|
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
1 |
|
|
1 |
|
, |
|
2n 2 |
100 , |
|
|
n 1 |
7 |
, |
n 15 . |
|||||||||||
|
2(n 1) 2 |
|
|
|
|
|
|
||||||||||||||||||
|
100 |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
||||||||
51
Здесь использовано неравенство 27 128 100 . Таким образом,
8 n 15 .
Если же интервал неопределенности необходимо уменьшить не менее чем в 1000 раз, то, используя неравенство 210 1024 1000 , по-
лучим 11 n 21 .
Итак, метод деления интервала пополам в наихудшем случае может потратить только на одно вычисление функции больше, чем метод дихотомии, а в наилучшем случае он использует почти вдвое меньшее количество вычислений. К тому же метод деления интервала пополам не использует малого параметра, а в нем применяются только простые арифметические операции сложения чисел и деления на два. Поэтому данный метод надежнее и во многих случаях эффективнее метода дихотомии.
А л г о р и т м м е т о д а д е л е н и я и н т е р в а л а п о п о л а м .
Входные параметры: a , b |
– концы интервала неопределенности, |
||||
e – допустимая погрешность. |
|
|
|
|
|
Выходные параметры: c и |
fc – лучшая точка и значение функ- |
||||
ции в ней. |
|
|
|
|
|
1. |
Вычислить c (a b) 2 , |
fc f (c) . |
|
|
|
2. |
Вычислить u (a c) 2 , |
fu f (u) . |
|
|
|
3. |
Если fu fc , то положить b c , |
c u , |
fc fu |
и перейти к |
|
шагу 7. |
|
|
|
|
|
4. |
Вычислить v (c b) 2 , |
fv f (v) . |
|
|
|
5. |
Если fv fc , то положить a u , |
c v , |
fc fv |
и перейти к |
|
шагу 7.
6.Положить a u , b v .
7.Если c a e , то перейти к шагу 2.
8.Остановиться.
В этом алгоритме на первых двух шагах вычисляются средние точки интервала и левой половины интервала, а на шаге 4 – средняя точка правой половины интервала. Точки сравниваются на шагах 3 и 5.
52
3.4. Числа Фибоначчи и их свойства
Леонардо Пизано Фибоначчи – известный математик эпохи Средневековья, который в 1202 году написал книгу «Liber abacci», содержащую почти все арифметические и алгебраические сведения того времени. В частности, по этой книге европейцы познакомились с индусскими или «арабскими» цифрами. Там же содержалась знаменитая «задача о размножении кроликов».
«Пусть в огороженном месте имеется пара кроликов (самка и самец) в первый день января. Эта пара кроликов производит новую пару кроликов в первый день февраля и затем в первый день каждого следующего месяца. Каждая новорожденная пара кроликов становится зрелой уже через месяц и затем через месяц дает жизнь новой паре кроликов. Сколько пар кроликов будет в огороженном месте через год, то есть через 12 месяцев с начала размножения?»
Решение этой задачи приводит к числам Фибоначчи:
F0 1, F1 1 , F2 2 , F3 3 , F4 5 , F5 8 , F6 13 , F7 21 , … ,
где индекс числа Фибоначчи соответствует номеру месяца, а значение числа – количеству пар кроликов в этом месяце. Такой последовательности чисел, начиная с F2 , отвечает закономерность: каждый член последовательности равен сумме двух предыдущих. Это правило мо-
жет быть записано в виде первой в истории математики рекуррентной формулы
Fn Fn 1 Fn 2 . |
(3.4) |
Числа Фибоначчи Fn для номера n от 0 до 51 представлены в табл. 3.1.
Таким образом, по этой таблице получим решение приведенной «задачи о размножении кроликов»: через год в огороженном месте окажется F13 377 пар кроликов.
Числа Фибоначчи кроме описания количественных характеристик
53
процесса размножения кроликов представляют собой удобный математический инструмент для описания различных явлений природы: процессов развития растений и животных, форм живых организмов и неживой материи.
Таблица 3.1 – Числа Фибоначчи
n |
Fn |
n |
Fn |
n |
Fn |
n |
Fn |
|
|
|
|
|
|
|
|
0 |
1 |
13 |
377 |
26 |
196418 |
39 |
102334155 |
|
|
|
|
|
|
|
|
1 |
1 |
14 |
610 |
27 |
317811 |
40 |
165580141 |
|
|
|
|
|
|
|
|
2 |
2 |
15 |
987 |
28 |
514229 |
41 |
267914296 |
|
|
|
|
|
|
|
|
3 |
3 |
16 |
1597 |
29 |
832040 |
42 |
433494437 |
|
|
|
|
|
|
|
|
4 |
5 |
17 |
2584 |
30 |
1346269 |
43 |
701408733 |
|
|
|
|
|
|
|
|
5 |
8 |
18 |
4181 |
31 |
2178309 |
44 |
1134903170 |
|
|
|
|
|
|
|
|
6 |
13 |
19 |
6765 |
32 |
3524578 |
45 |
1836311903 |
|
|
|
|
|
|
|
|
7 |
21 |
20 |
10946 |
33 |
5702887 |
46 |
2971215073 |
|
|
|
|
|
|
|
|
8 |
34 |
21 |
17711 |
34 |
9227465 |
47 |
4807526976 |
|
|
|
|
|
|
|
|
9 |
55 |
22 |
28657 |
35 |
14930352 |
48 |
7778742049 |
|
|
|
|
|
|
|
|
10 |
89 |
23 |
46368 |
36 |
24157817 |
49 |
12586269025 |
|
|
|
|
|
|
|
|
11 |
144 |
24 |
75025 |
37 |
39088169 |
50 |
20365011074 |
|
|
|
|
|
|
|
|
12 |
233 |
25 |
121393 |
38 |
63245986 |
51 |
32951280099 |
|
|
|
|
|
|
|
|
Числа Фибоначчи обладают многими интересными математическими свойствами. В частности,
|
F 2 |
F F 12 1 2 1 , |
|
F 2 |
F F 22 1 3 1 , |
||||||
|
1 |
|
0 |
2 |
|
|
2 |
|
1 |
3 |
|
F 2 |
F F 32 |
2 5 1, |
F 2 |
F F 52 |
3 8 1, … . |
||||||
3 |
|
2 |
4 |
|
|
4 |
|
3 |
5 |
|
|
Методом математической индукции докажем справедливость общей математической формулы
F 2 |
F |
F |
( 1)n . |
(3.5) |
n |
n 1 |
n 1 |
|
|
Пусть эта формула верна при некотором n k , то есть
54
F 2 |
F |
F |
( 1)k . |
(3.6) |
k |
k 1 |
k 1 |
|
|
Докажем справедливость формулы (3.5) и при n k 1 , то есть, что
F 2 |
F F |
( 1)k 1 . |
(3.7) |
k 1 |
k k 2 |
|
|
На основании равенства (3.4) имеем
Fk2 1 Fk Fk 2 Fk 1(Fk Fk 1) Fk (Fk 1 Fk ) .
Раскрывая скобки в правой части, получим
Fk2 1 Fk Fk 2 Fk 1Fk Fk 1Fk 1 Fk Fk 1 Fk2 ,
и с учетом равенства (3.6)
Fk2 1 Fk Fk 2 (Fk2 Fk 1Fk 1) ( 1)k
приходим к равенству (3.7).
Докажем теперь справедливость формулы
F |
F |
F F |
( 1)n . |
(3.8) |
n 1 |
n 2 |
n n 3 |
|
|
На основании равенства (3.4) имеем
Fn 1Fn 2 Fn Fn 3 Fn 1(Fn Fn 1) Fn (Fn 1 Fn 2 ) .
Раскрывая скобки, получим
Fn 1Fn 2 Fn Fn 3 Fn 1Fn Fn2 1 Fn Fn 1 Fn Fn 2 .
С учетом равенства (3.5)
Fn 1Fn 2 Fn Fn 3 (Fn2 1 Fn Fn 2 ) ( 1)n 1 ,
откуда и следует формула (3.8).
Получим выражения для чисел Фибоначчи в явном виде. Для этого будем искать решение рекуррентного уравнения (3.4) среди геомет-
рических прогрессий с n -м членом xn
55
xn xn 1 xn 2 .
Сокращая на xn 2 , получим уравнение |
|
|
|
|
|
|
||||||
|
x2 x 1 0 , |
(3.9) |
||||||||||
корни которого |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
1 5 |
, |
x |
|
|
1 5 |
. |
(3.10) |
||||
|
|
|
2 |
|
||||||||
1 |
2 |
|
|
|
|
2 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
Итак, последовательности {xn } |
и {xn } удовлетворяют |
рекур- |
||||||||||
|
|
|
|
|
1 |
|
2 |
|
|
|
|
|
рентному уравнению (3.4). Ему же удовлетворяет и любая линейная
комбинация этих последовательностей {c xn c |
2 |
xn} . Выберем коэф- |
|||||||||
|
|
|
|
|
|
|
|
1 |
1 |
2 |
|
фициенты c1 и c2 так, чтобы |
|
|
|
|
|
|
|
|
|
|
|
F |
c xn |
c xn . |
|
|
(3.11) |
||||||
n |
|
1 1 |
|
|
|
|
2 2 |
|
|
|
|
Для этого достаточно потребовать выполнения двух условий: F0 1, |
|||||||||||
F1 1. Имеем: |
|
|
|
|
|
|
|
|
|
|
|
c |
c |
2 |
1, |
|
|
|
|
||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. |
|
|
|
c x c |
2 |
x |
2 |
|
|
|
|||||
|
1 |
1 |
|
|
|
|
|
|
|
||
Решим эту систему уравнений по правилу Крамера:
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
x |
|
x |
1 5 |
|
1 5 |
|
2 5 |
|
, |
|
||||||||||||||||||||||||||||
|
|
|
2 |
|
5 |
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
x1 |
|
x2 |
|
|
|
|
1 |
2 |
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
1 |
|
|
x |
|
1 |
1 5 |
1 |
1 5 |
|
1 5 |
x |
, |
|||||||||||||||||||||||||||||
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
1 |
1 |
x2 |
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
2 |
|
|
1 |
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
1 |
|
|
1 x 1 |
1 5 |
|
1 5 |
x |
|
|
, |
|
|
|
|
|||||||||||||||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
x1 |
|
|
1 |
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
56
c 1 |
|
x |
1 |
|
|
|
x |
1 |
|
|
|
, |
|
|
c |
|
|
|
2 |
|
|
x2 |
|
x |
2 |
|
. |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
1 |
|
|
|
5 |
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
5 |
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
Подставляя найденные значения c1 и c2 |
|
|
в формулу (3.11), полу- |
|||||||||||||||||||||||||||||||||||||||
чим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
xn |
|
|
x |
2 |
|
xn |
|
|
|
xn 1 xn 1 |
|
|
|
|
|
|||||||||||||||||||
|
|
F |
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
2 |
|
. |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
n |
5 |
1 |
|
|
|
|
|
|
|
5 |
2 |
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
С учетом значений корней (3.10) окончательно имеем |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
1 |
|
|
n 1 |
|
|
|
|
|
|
|
n 1 |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
5 |
|
|
1 5 |
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
Fn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
(3.12) |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Это равенство называется формулой Бине. Таким образом, все числа Фибоначчи, по определению входящие в множество целых чисел, могут быть выражены в явном виде через разность степеней дро-
бей, включающих иррациональное число 
5 .
3.5. Метод Фибоначчи
Метод Фибоначчи основан на числах Фибоначчи и применяется для уменьшения интервала неопределенности точки минимума x целевой функции f (x) .
При рассмотрении метода дихотомии для интервала неопределенности [a, b] длины L b a двумя внутренними точками, показано, что точки деления целесообразно располагать симметрично относительно центра интервала на малом расстоянии между ними. Но в методе дихотомии на каждой итерации значения целевой функции необходимо вычислять в двух точках.
В методе Фибоначчи также две первые точки деления x1 и x2 расположим симметрично относительно центра интервала, вычислим в
57
них значения функции и применим правило исключения интервалов. На следующей итерации в оставшемся интервале неопределенности с одной известной внутренней точкой найдем вторую внутреннюю точку x3 , симметричную оставшейся внутренней точке, вычислим в точке
x3 значение функции и опять применим правило исключения интервалов. Таким образом, сохраняя принцип симметрии внутренних точек, на каждой последующей итерации будем вычислять только одно значение функции.
Пусть на уменьшение интервала неопределенности отводится n вычислений целевой функции. Чтобы обеспечить наибольшее уменьшение интервала, последнюю точку поиска xn , как и в методе дихотомии, расположим симметрично относительно оставшейся внутренней точки xn 1 на малом расстоянии от нее. Обозначим конечную длину интервала неопределенности, полученную при n вычислениях
целевой функции, |
через |
Ln . Окончание процесса деления интервала |
|
неопределенности показано на рис. 3.6. |
|||
|
|
|
Ln 3 |
|
Ln 2 |
Ln 1 |
|
|
|
xn 2 |
xn 3 |
Ln 1 |
|
Ln |
|
|
xn 1 |
xn 2 |
|
Ln |
Ln |
|
|
xn xn 1
Рис. 3.6. Окончание деления интервала методом Фибоначчи
58
Найдем длины интервалов неопределенности:
Ln 1 Ln (Ln ) 2Ln , |
Ln 2 Ln 1 Ln 3Ln , |
|
Ln 3 Ln 2 Ln 1 5Ln 2 , |
Ln 4 Ln 3 Ln 2 8Ln 3 , … . |
|
Перепишем эти равенства с использованием чисел Фибоначчи:
Ln 1 F2 Ln F0 , |
Ln 2 F3Ln F1 , |
|
|||
Ln 3 F4 Ln F2 , |
Ln 4 F5Ln F3 , … . |
||||
Отсюда выведем общую формулу для длин интервалов: |
|||||
Ln j Fj 1Ln Fj 1 , |
|
|
|
|
|
j 1, n 1 . |
(3.13) |
||||
Полагая j n 1, найдем исходную длину интервала L1 |
L b a |
||||
L Fn Ln Fn 2 . |
|
||||
Отсюда получим, что при n вычислениях функции в методе Фибоначчи конечная длина интервала неопределенности станет равной
L |
n |
|
L |
|
Fn 2 |
. |
(3.14) |
|
|
||||||
|
|
Fn |
|
Fn |
|
||
|
|
|
|
|
|||
Для начала поиска необходимо найти положение первой точки деления исходного интервала, которая должна лежать на расстоянии
L2 от конца интервала. Полагая в формуле (3.13) |
j n 2 , получим |
|||||||||||||
|
|
|
|
|
|
L2 Fn 1Ln Fn 3 . |
|
|
|
|
||||
Подставим в эту формулу выражение для Ln из формулы (3.14): |
||||||||||||||
|
|
|
L |
|
F |
|
|
|
F |
F |
F |
F F |
||
L F |
|
|
|
n 2 |
|
F |
|
n 1 |
L |
n 1 n 2 |
n n 3 |
. |
||
|
|
|
|
|
||||||||||
2 |
n 1 |
|
Fn |
|
Fn |
|
n 3 |
|
Fn |
|
Fn |
|||
|
|
|
|
|
|
|
|
|||||||
С учетом равенства (3.8) окончательно получим
59
L |
1 |
[(b a)F |
( 1)n ] . |
(3.15) |
|
|
|||||
2 |
Fn |
n 1 |
|
|
|
|
|
|
|
||
По свойству симметрии для двух первых точек деления исходного |
|||||
интервала неопределенности [a, b] |
можно положить: |
|
|||
x1 b L2 , |
x2 a L2 . |
|
|||
Отсюда следует, что |
|
|
|
|
|
L2 b x1 , |
x2 a b x1 . |
|
|||
Если на некоторой итерации известна внутренняя точка xk |
интервала |
||||
[ak , bk ] , то симметричная ей точка находится по формуле |
|
|
|||
xk 1 a b xk . |
|
(3.16) |
|||
Путем сравнения xk и xk 1 , fk |
f (xk ) и fk 1 f (xk 1) |
по правилу |
|||
исключения интервалов уменьшается интервал неопределенности. |
|||||
При пренебрежимо малом значении в результате |
n |
вычисле- |
|||
ний функции по формуле (3.14) получим интервал длины |
|
|
|||
L |
|
L |
. |
|
|
|
|
|
|||
n |
|
Fn |
|
|
|
|
|
|
|
||
Эффективность метода Фибоначчи определим отношением длин конечного и начального интервалов неопределенности:
r |
Ln |
, |
r |
1 |
. |
(3.17) |
n |
L |
n |
Fn |
|
||
|
|
|
||||
Если интервал неопределенности необходимо уменьшить не менее чем в сто раз, то по числам Фибоначчи из табл. 3.1 получим:
r |
1 |
, |
1 |
|
|
1 |
, F 100 , |
F 144 100 , |
n 11. |
|
n |
100 |
|
Fn |
100 |
n |
11 |
|
|||
|
|
|
|
|
||||||
Если же интервал неопределенности необходимо уменьшить не менее
60
