Помните:
"--Ватсон, этот человек -- математик!
--Но как вы угадали, Холмс?!! Вы же видите его впервые в жизни!
--Его ответ абсолютно правилен, и абсолютно бесполезен. "
В моей второй профессиональной задаче, которая подвернулась вскоре после конфузной первой, надо было искать минимум функции девяти переменных.
Нет ничего проще, решил я. Применю-ка я "теорему для лентяев" и все будет ОК.
Это сейчас я ее так называю -- "теорема для лентяев". А тогда я ее вспомнил как совершенно очаровательный математический результат, которому не помню кто уж нас учил курсе на втором. А суть результата в том, что для функции с единственным минимумом, чтобы его найти, можно двигаться в любом случайно выбранном направлении, уменьшающем текущее значение, пока не доберешься до минимума на этом луче. И повторять этот шаг до посинения: алгоритм сходится к минимуму.
Запрограммиривать процедуру вычисления функции было делом плевым, да и сам алгоритм пустяк. А дальше -- машина железная, пусть ищет.
Вообще-то, теоремка была именная и принадлежала не помню кому. Но и вспоминать не хочу. Типа, какому-то соратнику Марчука по водородной бомбе.
Более вредной теоремы представить себе трудно.
Во-первых, функция в окрестности любого приличного минимума выполаживается. И попробуйте-ка сравнить два значения с ограниченной мантиссой в окрестности нулевой производной... Причем, неизбежные ошибки вычислительного метода могут вводить в заблуждение: какое из двух больше или меньше.
Во-вторых, легко считается, что при малом угле допустимых направлений, уменьшающих текущее значение, на сфере в 9-мерном пространсве пятнышко конуса этих направлений ничтожно мало. Так что, если каждое вычисление функции занимало на железяке одну секунду, долго же это пятно искалось...
Но и это не все! Даже в идеальном случае параболического минимума, когда поверхности постоянных значений функции эллипсоиды, перпендекуляр к эллипсоиду в текущей точке никогда не смотрит на минимум, а куда-то вбок. То-есть, при вытянутом эллипсоиде траектория напоминает зубастую пилу, которая движется к минимуму хуже чем танцор ледки-енки.
Многожды я выходил в ночную вахту на машину, чтобы добраться до злосчастного минимума... Когда месяца через три я сообразил, что происходит, пошел за советом к Романовскому.
Какие именно слова он говорил, я не помню. Но сейчас смысл его совета перевожу как "Нечего выебываться, применяй метод наименьших квадратов."
Метод наименьших квадратов сошелся к минимуму за одну итерацию.
"--Ватсон, этот человек -- математик!
--Но как вы угадали, Холмс?!! Вы же видите его впервые в жизни!
--Его ответ абсолютно правилен, и абсолютно бесполезен. "
В моей второй профессиональной задаче, которая подвернулась вскоре после конфузной первой, надо было искать минимум функции девяти переменных.
Нет ничего проще, решил я. Применю-ка я "теорему для лентяев" и все будет ОК.
Это сейчас я ее так называю -- "теорема для лентяев". А тогда я ее вспомнил как совершенно очаровательный математический результат, которому не помню кто уж нас учил курсе на втором. А суть результата в том, что для функции с единственным минимумом, чтобы его найти, можно двигаться в любом случайно выбранном направлении, уменьшающем текущее значение, пока не доберешься до минимума на этом луче. И повторять этот шаг до посинения: алгоритм сходится к минимуму.
Запрограммиривать процедуру вычисления функции было делом плевым, да и сам алгоритм пустяк. А дальше -- машина железная, пусть ищет.
Вообще-то, теоремка была именная и принадлежала не помню кому. Но и вспоминать не хочу. Типа, какому-то соратнику Марчука по водородной бомбе.
Более вредной теоремы представить себе трудно.
Во-первых, функция в окрестности любого приличного минимума выполаживается. И попробуйте-ка сравнить два значения с ограниченной мантиссой в окрестности нулевой производной... Причем, неизбежные ошибки вычислительного метода могут вводить в заблуждение: какое из двух больше или меньше.
Во-вторых, легко считается, что при малом угле допустимых направлений, уменьшающих текущее значение, на сфере в 9-мерном пространсве пятнышко конуса этих направлений ничтожно мало. Так что, если каждое вычисление функции занимало на железяке одну секунду, долго же это пятно искалось...
Но и это не все! Даже в идеальном случае параболического минимума, когда поверхности постоянных значений функции эллипсоиды, перпендекуляр к эллипсоиду в текущей точке никогда не смотрит на минимум, а куда-то вбок. То-есть, при вытянутом эллипсоиде траектория напоминает зубастую пилу, которая движется к минимуму хуже чем танцор ледки-енки.
Многожды я выходил в ночную вахту на машину, чтобы добраться до злосчастного минимума... Когда месяца через три я сообразил, что происходит, пошел за советом к Романовскому.
Какие именно слова он говорил, я не помню. Но сейчас смысл его совета перевожу как "Нечего выебываться, применяй метод наименьших квадратов."
Метод наименьших квадратов сошелся к минимуму за одну итерацию.