След при минимизации функции двух переменных
На рис. 6.29 показан след поиска минимума функции х8+y6.
Наполните ванну водой, бросьте туда перышко или какой-нибудь другой легкий предмет и выдерните пробку. Перышко сначала будет более-менее спокойно двигаться к отверстию (первый график на рис. 6.29), а затем закрутится в водовороте (второй график). Наш метод поиска минимума можно назвать не просто методом наискорейшего спуска, а методом наискорейшего спуска воды. Жидкость не просто спускается водоворотом, она всегда вращается в одну сторону. Если даже раскрутить ее в противоположном направлении, то, преодолев насилие, она снова потечет по часовой стрелке. Говорят, что это физическое явление через силы Кориолиса связано с вращением Земли: на экваторе вода в ванне не закручивается, но севернее или южнее экватора она приобретает «правый» (как на рис. 6.29) или «левый» уклон. Автор проверил эту гипотезу: он переслал по е-mail файл с задачей коллеге в Австралию. Все подтвердилось: линии траектории спуска стали закручиваться в другую сторону – против часовой стрелки. Интересно, как они себя поведут на Северном или на Южном полюсах? С водой там все ясно, она вообще не будет течь – замерзнет. А вот что будет с кривыми? К сожалению, у автора нет коллег в Арктике и Антарктике.
Читатель, наверное, уже догадался, что его разыгрывают – этот материал был опубликован в апрельском выпуске одного компьютерного журнала[45].
Но самое смешное в этой истории то, что траектории спуска, показанные на рис. 6.29 в Австралии на самом деле стали закручиваться в другую сторону. Все объяснилось довольно просто: при передаче файла на линии произошел маленький сбой и в программе на рис. 6.27 вместо строки for i Î ORIGIN .. L - 1 появилась строка for i Î L - 1 .. ORIGIN[46]. Вот и все объяснение. Но виноваты в этом все те же силы Кориолиса – магнитные диски винчестеров на серверах и маршрутизаторах Южного полушария вращаются несколько иначе, чем на Северном полушарии. Отсюда и сбои, выявить которые довольно сложно, так как при контрольной обратной пересылке файла ошибка исправляется по принципу «минус на минус дает плюс»[47].