Выбрать главу

Во время моей недавней лекции по АВМ в академии заведующий кафедрой стрелково-пушечного вооружения самолётов Бравиным была предложена для примера задача нахождения параметров возвратной пружины, обладающей максимально возможной накапливаемой энергией. Я вообще терпеть ненавижу когда преподаватели читают лекции по принесённой из дома бумажке, исписывая все доступные доски без остатка сухими формулами. Нагоняет это тоску на аудиторию, поэтому с радостью ухватился за предложенную задачу. Тем более была она из самой гущи жизни из КБ Ковровского завода от конструктора Дегтярёва, обратившегося к Бравину по данному вопросу за консультацией.

Ухватился и чуть было не сел в лужу: для решения поставленной задачи потребовалось нахождение минимума функционала жесткости пружины, которая зависит от диаметра проволоки и диаметра пружины (вектор оптимизируемых параметров) нетривиальным образом. По форме кривых первой и второй частных производных, выведенных последовательно на экран АВМ после получаса подбора коэфициентов можно было сделать вывод что экстремум скорее всего существует и что это – минимум, но точность полученного результата, полученного на экранчике диаметром десять сантиметров, была невысока – думаю, процентов двадцать, что уже давало возможность поставить такое заключение под сомнение.

"Ничего, теперь с графопостроителем и математическим сопроцессором – расколем этот крепкий орешек. Сейчас при всех искать ошибки оператора не буду, напишу лучше свою программу".

– Вычислительная машина будет работать у нас следующим образом, – занимаю рабочее место оператора РВМ, где просходит набивка программы на перфоленту. – поскольку наша функция зависит от трёх пременных: от диаметра провода, диаметра пружины и её шага, то программа сначала вычислит все частные производные функции и построим их графики на графопостроителе. Те точки, где они обратятся обратяться в нуль, будем считать подозрительными на экстремум или стационарными. Говорю, а пальцы стучат по клавиатуре: программирование в машинных кодах – не простое занятие, но при определённой практике вполне доступное любому человеку.

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

– Согласен, Евгений Леонидович, – поворачиваю голову к профессору, продолжая печатать и демонстрируя свои способности, как Юлий Цезарь, делать одновременно несколько дел. – но не забывайте о граничных условиях, вполне может так произойти что не останется вообще ни одной. Здесь мы сделаем программный останов, машина будет ждать от нас подтверждения продолжения работы, новую стартовую точку и новый шаг аргументов: посмотрим как быстро производная будет стремиться к нулю…

Наум ловит каждое наше слово, боясь пропустить хоть одно.

– … Итак, допустим стационарная точка найдена. Что делаем дальше, тёзка? – Обращаюсь к смущённому оператору.

– Находим все частные производные второго порядка в стационарной точке и помещаем эти значения в матрицу Гессе, – бодро рапортует тот. – вычисляем угловые миноры один, два и три. Если все они больше нуля, то мы нашли минимум функции, если меньше нуля, то – максимум, а третий минор равен нулю, то может быть как максимум, так и минимум.

– Наум, возражений нет? – Заканчиваю печатать и отрываю перфоленту.

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

"Деликатно исправил"…

– Принято, – с чувством жму на чёрную обрезиненную кнопку "Пуск", комната заполнилась звуками быстрых металлических щелчков, сливающихся в один сплошной гул. – а теперь пока машина вычисляет первую точку расскажу немного об её устройстве: от обычного арифмометра она отличается тем, что работает по программе, зашитой на этой перфоленте. Конкретно эта машина от других РВМ, выпускаемых в Ленинградском физтехе – тем, что в её составе имеется особое устройство, которое может выполнять до четырёх сложных математических задач одновременно. Взгляните на составные части нашего функционала: он состоит из нескольких членов, которые могут быть получены независимо друг от друга, вычисление куба диаметра проволоки и корня из длины пружины не должны друг друга ждать. Пусть это вспомогательное устройство их и вычисляет одновременно, а как ответы будут готовы центральный вычислитель использует их и получит окончательный результат. Это сильно сокращает время вычислений.