Н.Н. Калиткин - Численные методы (1133437), страница 45
Текст из файла (страница 45)
(21) Докажем, что тогда спуск по координатам из данного нулевого приближенна сходится к минимуму, причем линейно. Значения функции вдоль траектории спуска не возрастают; поэтому траектория не может выйти из области б, и неравенства (21) будут выполняться на всех шагах. Рассмотрим один из циклов, начинающийся в точке А (рис. 38,а). Предыдущий цикл окончился поиском минимума по направлению у, следовательно, (Фу)А=-0 и ~Ф»~А=«»~0. Первый шаг нового цикла спускает нас по направлению х в точку В, в которой Ф„=О и )ФУ)=«1ФО.
Поскольку вторые производные непрерывны, можно применить теорему о среднем; получим 5»=~(Ф.)А — (Ф.-)а~=~Ф.~РАв=аРАЕ, т) = ~ (Фу)А — (Фу)а ! = ( 1»ку ( РАе . с РАН, где через р обозначены расстояния между точками. Отсюда получаем с $! -- а «1. Выполним второй шаг цикла — спуск по направлению у в точку С, после которого (Ф„)с = 0 и ~ Ф ~с = е« поиск минимумА ~гл. уп Аналогичные рассуждения дают соотношение ст)) 6$,. Объединяя эти неравенства, найдем с' "»э=-г) "» Ч=»ь О(Ч(1.
Следовательно, за один цикл Ф уменьшается в д раз: то же справедливо для Ф„, если рассмотреть цикл, сдвинутый на один шаг, т. е. начинающийся в точке В и кончающийся в точке О. Значит, когда число циклов п-«со, то все первые производные линейно стремятся к нулю: )Ф»)»~ц~)Фх(» «О н (ФУ)~ 9» ) О Первые производные одновременно обращаются в нуль в точке минимума и вблизи него являются линейными однородными функциями приращений координат. Поэтому координаты точек спуска линейно стремятся к координатам точки минимума, т. е. в данном случае спуск по координатам сходится, причем линейно.
Случай (21) заведомо реализуется в достаточно малой окрестности невырожденного минимума, ибо эти условия эквивалентны требованию положительной определенности квадратичной формы (18). Таким образом, вблизи невырожденного минимума достаточно гладкой функции спуск по координатам линейно сходится к минимуму. В частности, для квадратичной функции этот метод сходится при любом нулевом приближении.
Фактическая скорость сходимости будет неплохой при малых д, когда линии уровня близки к эллипсам, оси которых параллельны осям координат. Для эллипсов, сильно вытянутых под значительным углом к осям координат, величина д — 1 и сходимость очень медленная. Если сходимость медленная, но траектория уже попала в близкую окрестность минимума, то итерации можно уточнять процессом Эйткена; разумеется, при этом надо брать в качестве исходных значения не на трех последних спусках, а на трех циклах спусков (т. е. Ие точки А, В, С, а точки В, )'.1 и третья точка, которой нет на рис. 38, а).
Разрешимый овраг напоминает сильно вытянутую котловину (см. рис. 38, б). При попадании траектории спуска в такой овраг сходимость становится настолько медленной, что расчет практически невозможно вести. Отметим, что в стохастических задачах наличие ошибок эквивалентно превращению истинных оврагов и гребней в разрешимые; расчет при этом можно продолжать, хотя практическая ценность такого расчета неввлика: сходимость очень медленная. Метод спуска по координатам несложен и легко программируется на ЭВМ. Но сходится он медленно, а при наличии оврагов в очень плохо.
Поэтому его используют в качестве первой попытки при нахождении минимума. минимтм етикции многих пвгамвниых 207 Пример. Рассмотрим квадратичную функцию Ф(х, У) = = х'+у'+ху и выберем нулевое приближение хв = 1, у, = 2. Выполняя вычисления, получим — Ув= lь' «в= — 7в Ув= lв' «в= 7вв~ Ув= 7вв. 1 ° 1 1 ° 1 1 Уточнение по Эйткену дает х=у=О, т. е. точное положение минимума (заметим, что делать уточнение о использованием нулевого приближения нельзя; читателям предлагается обьяснить, почему). 3.
Наискорейшнй спуск. Спускаться можно не только параллельно осям координат. Вдоль любой прямой »=»в+а( функция зависит только от одной переменной, Ф (»в+ а() = сг (7), и минимум на этой прямой находится описанными в 2 1 методами. Наиболее известным является метод наискорейшего спуска, когда выбирается а= — (лгал Ф),=.,„т. е.
направление, в котором функция быстрее всего убывает при бесконечно малом движении из данной точки. Спуск по этому направлению до минимума определяет новое приближение г,. В этой точке снова определяется градиент и делается следующий спуск. Однако этот метод значительно сложнее спуска по координатам, ибо требуется вычислять производные и градиент (это нередко делают конечно-разиостиыми методами) и переходить к другим переменным. К тому же, по сходимости наискорейший спуск не лучше спуска по координатам.
При попадании траектории в истинный овраг спуск прекращается, а в разрешимом овраге сильно замедляется. Если функция является положительно определенной квадратичной функцией Ф (г) = (», Аг) + (И, г) + с, (22) то формулы наискорейшего спуска приобретают несложный вид.
Вдоль прямой г = г„+ а( функция (22) квадратично зависит от параметра 7: <р(1)= — Ф(гв+а7)=Ф(г„)+(2А»,+И, а)1+(а, Аа)(в. (23) Из уравнения (аЧ~/А1) =О легко находим ее минимум г= — (2Аг„+И, а)/2(а, Аа), (24) дающий нам следующую точку спуска: »в+в г» + а(~ (2Авв+ Ь, а)в (25) 4(вв, Аа) Направление наискорейшего спуска определяется градиентом квадратичной функции (22): а= — (йгаб Ф), = — (2Аг„+И). (26) пОиск минимумА 1гл уп Подставляя это значение в формулы (24) — (25), получим окончательные выражения для вычисления последовательных спусков.
Если воспользоваться разложением всех движений по базису, состоящему из собственных векторов матрицы А, то можно доказать, что для квадратичной функции метод наискорейшего спуска линейно сходится, причем (т„,— т ,'«-д(г,— т"), где д= " '" 1; (27) Хаааа+Х(ып здесь й — собственные значения положительно определенной матрицы А (они вещественны и положительны). Если )а ы~(~Х,„, что соответствует сильно вытянутым эллипсам — линиям уровня, то д — 1 и сходимость может быть у очень медленной.
Есть такие начальные приближения (рнс. 39), когда точно реализуется наихудшая возможная оценка, т. е. в (27) + имеет место равенство. Причины нетрудно понять. Вопервых, в данной точке любую прямую, в том числе невыгодную для спуска, можно сделать направлением градиента, если спеРис. 39. циально подобрать изменение мас- штабов по осям. Во-вторых, каждый спуск кончается в точке, где его направление касается линии (поверхности) уровня. Градиент перпендикулярен поверхности уровня.
Следовательно, в методе наискорейшего спуска каждый спуск перпендикулярен предыдущему. В двумерном случае это означает, что мы совершаем спуск по координатам, повернутым так, что одна ось параллельна градиенту в начальной точке. Для улучшения метода наискорейшего спуска предлагают «кухонные» поправки к алгоритму — например, совершают по каждому направлению спуск не точно до минимума. Наиболее любопытным представляется такое видоизменение алгоритма. Будем делать по направлению, противоположному градиенту, только бесконечно малый шаг и после него вновь уточнять направление спуска. Это приводит к движению по кривой г(Г), являющейся решением системы обыкновенных дифференциальных уравнений: — „, = — дгас(Ф(г'(()). (2о) Вдоль этой кривой ОФ(п(= (с(Ф/й') (й (й) = — (ягаб Ф)' (О, т.
е. функция убывает, и мы движемся к минимуму при ( — «+оо. минимум ч>ункции мнОГих переменных 209 Уравнение (28) моделирует безынерционное движение материальной точки вниз по линии градиента. Можно построить и другие уравнения — например, дифференциальное уравнение второго порядка, моделирующее движение точки при наличии вязкого трения. Однако от идеи метода еще далеко до надежного алгоритма. Фактически систему дифференциальных уравнений (28) надо численно интегрировать (см. главу ЧП)).
Если интегрировать с большим шагом, то численное решение будет заметно отклоняться от линии градиента. А при интегрировании малым шагом сильно возрастает объем расчетов. Кроме того, если рельеф имеет извилистые овраги, то трудно ожидать хорошей сходимости этого метода. Алгоритмы наискорейшего спуска и всех его видоизменений сейчас недостаточно отработаны. Поэтому метод наискорейшего спуска для сложных нелинейных задач с большим числом переменных (и ) 5) редко применяется, но в частных случаях он может оказаться полезным.
4. Метод оврагов. Рассмотрим задачу Ф(г)=ш>п. Выберем произвольно точку рэ и спустимся из нее (напрнмер, по координатам), делая не очень много шагов, т, е. не требуя высокой точности сходимости. Конечную точну спуска обозначим гг. Если рельеф овражный, эта точна окажется вблизи дна оврага (рис. 40). Теперь выберем другую точку р, не слишком далеко ат первой, Из нее также сделаем спуск и попадем в некоторую точку г,. Зта точка тоже лежит вблизи дна оврага.
Проведем через точки г„и г, на дне оврага прямую— приблизительную линию дна оврага, передвинемся по этой линии в сторону убывания функции и выбереы новую точку р, = г, ->- (г, †) й, 6=сопи ) О. (29) В формуле (29) выбирается плюс, если Ф(г,) (Ф(г„), и минус в об- Рис. 40. ратном случае, так что движение направлено в сторону пони>кения дна оврага. Величина Д называется овражным и>агом и для каждой функции подбирается в ходе расчета. Дно оврага не является отрезком прямой, поэтому точна рз на самом деле лежит не на дне оврага, а на склоне. Из этой точки снова спустимся на дно и попадем в некоторую точку гз. Затем соединим точки г, и гз прямой, нанетим новую линию дна оврага и сделаем новый шаг по оврагу. Продолжим процесс до тех пор, пока значения функции на дне оврага, т.