
В 1951 году в ЛГУ была создана кафедра вычислительной математики, одним из первых сотрудников которой стал профессор кафедры матанализа ЛГУ Леонид Канторович. «Вычислительной» в современном понимании назвать эту кафедру в первые годы ее существования затруднительно. В Советском Союзе в год ее создания была только одна ЭВМ «МЭСМ» в единственном экземпляре. Для сравнения: по данным Российского государственного архива новейшей истории, в США в 1950 году было 15 типов ЭВМ общим числом около 170 штук, в 1953 году — 76 типов мейнфреймов общим числом 1156 штук, а у нас в том же году — ЭВМ 4-х типов в количестве 4 штук. В последующие годы этот разрыв довольно быстро стал уменьшаться.
В 1956 году Канторович стал заведующим кафедрой вычислительной математики ЛГУ. Параллельно он заведовал отделом приближенных вычислений в ленинградском отделении Математического института имени Стеклова АН СССР (что касается места его работы, то Канторович всегда был «многостаночником»). И в том же 1956 году он опубликовал в коллективной монографии Математического института имени Стеклова «Математика, ее содержание, методы и значение» своего рола программную статью «Перспективы развития и использования электронных счетных машин», весьма интересную его отношением на тот момент к возможностям компьютерной техники архитектуры его коллеги по линейному программированию фон Неймана (тоже, к слову, вундеркинда, который в 6 лет делил в уме восьмизначные числа).
Эта статья короткая (8 страниц) и свободно доступна в интернете, желающие могут прочитать ее самостоятельно. Профессиональный айтишный сленг тогда еще не сложился, поэтому чтение интересное, особенно описание простым человеческим языком перспектив компьютерного программирования.
«Составление программ обычными способами легко осуществимо лишь для относительно простых математических задач, — пишет Канторович, — в больших реальных задачах оно представляет довольно сложную и длительную работу. Некоторое облегчение этой работе дает использование «библиотеки» раз навсегда составленных стандартных подпрограмм для вычисления основных функций и выполнения некоторых употребительных математических операций… Но согласование основной программы с подпрограммами, адресация и переадресация результатов, проверка и отладка программы представляет собой достаточно сложную и длительную работу, требующую определенного навыка. Это обстоятельство может тормозить постановку новых работ на электронные машины».
«Есть два пути дальнейшего развития в этом направлении, — продолжает он. — Один из состоит в автоматическом построении программ с использованием самой машины для этой цели, т.е. превращения основных формул и логического плана задачи, вводимых в машину в закодированном виде, в программу посредством работы машины про специальной “программирующей программе”. Другой путь состоит в том, что машина, действуя по некоторой специальной универсальной программе, непосредственно разбирает и выполняет операции в соответствии с введенным в машину общим планом вычислений, содержащим ряд крупных заданий без составления детальной рабочей программы, обеспечивая при этом правильное размещение и вывод результатов».
Нетрудно заметить, что мало чего изменилось со времен аналитической машины Чарльза Бэббиджа и его программистки Ады Лавлейс и до наших дней. Только сейчас слова используются другие. А что касается необходимости «определенного навыка» у программистов, то в ЛГУ и других крупных университетах страны в 1960-х годах начали появляться кафедры математического обеспечения ЭВМ, а с 1970-х годов в приказах Минвуза СССР присутствует специальность 1735 «Программирование для быстродействующих математических машин».
Но это было потом, а в конце 1940-х-начале 1950-х вычислительные задачи сам Канторович и его сотрудники решали «вручную» на настольных полуавтоматических электромеханических счетных машинах, а по сути продвинутых арифмометрах фирм «Мерседес» и «Рейнметалл», которые поставлялись по репарациям из Германии, и с помощью самых свежих восьмизначных таблиц функций вплоть до интегрального логарифма, купленных в Америке.
В 1949 году у Канторовича писал дипломную работу студент Бауманки Владимир Эпштейн, которому пришла идея, как можно сильно облегчить себе труд рутинных расчетов. В 1950 году Канторович, доцент из его вычислительной группы Марк Гавурин и уже их сотрудник Канторовича Владимир Эпштейн подали заявку на изобретение и в 1954 году получили авторское свидетельство (SU98671) на «функциональный преобразователь, состоящий из системы электромагнитных реле и выполненный в виде приставки к табулятору или подобной счетно-аналитической машине, работающей совместно с табулятором и служащей для нахождения значений функции по ее аргументу, например, значений тригонометрических величин по значению угла».
Этот вычислительный аппарат, в составе которого было две батареи электромагнитных реле, первая из 45 однообмоточных самоблокирующихся реле для фиксации значения аргумента и вторая из 83 десятиобмоточных реле, их которых 81 для фиксации значений функций и два для фиксации ее знака, и медно-закисных диодов служил исключительно для «домашних нужд» группы Канторовича в ленинградском отделении Математического института имени Стеклова АН СССР (ЛОМИ). Как, впрочем, и мейнфреймого размера релейная вычислительная машина, разработанная начальником вычислительного бюро (в ЛОМИ работали в основном теоретики, но было и свое небольшое вычислительное бюро) Николаем Николаевичем Посновым. Это была на тот момент единственная релейная вычислительная машина в Советском Союзе.
В бюро, кстати, уже была и ЭВМ на электронных лампах, тогда большая редкость. Но для предприятий и организаций требовалось что-то попроще — например, настольный аналог такой машины, который появился в виде «Релейной клавишной вычислительной машины для автоматического выполнения арифметических операций». Заявка на изобретение была подана Канторовичем и его сотрудниками Петровым и Посновым в марте 1958 года, «Авторское свидетельство» (SU123762) было получено ими в январе 1959 года, а в конце 1959 года в бюро уже работал модельный экземпляр этой машины. Эта их машина пошла в серийное производство.
Она была на германиевых диодах и от известных релейных вычислительных машин импульсного действия, выполнявших арифметические операции в десятичной и двоичной системе, «отличалась наличием двух систем сдвинутых друг относительно друга управляющих импульсов, обеспечивающих переключение только обесточенных контактов реле, и специального релейного тактового устройства для образования цепей с различным количеством импульсов, что обеспечивало ее большую надежностью по сравнению с существовавшими аналогами».
Как вспоминал в своих «Записках профессора» (2010) один из ее изобретателей профессор ЛГУ Юрий Петрович Петров, они дали ей название «Нева», но выпускалась она на заводах в Вильнюсе и Кирове под названиями «Вильнюс» и «Вятка» с 1964 до 1974 года. Всего таких машин было сделано 40 тысяч штук. Спустя 10 лет после получения авторского свидетельства профессор Петров случайно встретил свое изобретение под названием «Вильнюс» в институтской бухгалтерии, когда пришел туда проверить небольшую неувязку в начислении зарплаты. А когда бухгалтер узнала, что ее машину придумал он, то преисполнилась к нему таким почтением, что профессор понял, что работал он не зря.
В 1957 году партия и правительство постановили создать Сибирское отделение АН СССР. В 1958 году началось строительство Новосибирского академгородка, в 1959 году начались занятия в Новосибирском университете. А в марте 1958 года Канторовича избирают членом-корреспондентом по СО АН СССР (экономика и статистика). Иными словами, для него это был такой же призыв, как в 1939 году, когда он надел военную гимнастерку. В 1960 году он уезжает в Новосибирск, где пробудет 10 лет. Академик Соболев назначает его своим заместителем в Институте математики с вычислительным центром, где Канторович создает и возглавляет математико-экономическое отделение. В Новосибирском университете профессор Канторович заведует кафедрой вычислительной математики. В 1964 году его избирают действительным членом АН СССР (математика, экономика).
В библиографических указателях работ Канторовича числится 13 авторских свидетельств и патентов с его именем, и все они относятся к 1950-м годам и ЛОМИ и 1960-м годам, когда Канторович работал в Новосибирске. Правда, пять из них патенты, полученные за рубежом (в Англии, США, Италии, ГДР и ФРГ) на одно и то же изобретение — «Арифметической машины». При взгляде со стороны можно заметить, что инженерно-изобретательская активность Канторовича в IT-области была относительно короткой, касалась исключительно «железа» и шла в двух направлениях. Первое — это создание достаточно простых по конструкции и относительно дешевых аппаратных вычислительных средств и их комплектующих для «персональных» вычислений. Тут быстродействие стояло на втором плане.
Второе направление — разработка быстродействующего дополнительного процессора для ЭВМ «с целью повышения их эффективности». А если перевести этот эвфемизм Канторовича на нормальный язык, то для решения задач линейного программирования.
Что касается первых, сугубо прагматичных изобретений Канторовича, то к ленинградским «Функциональному преобразователю» и «Релейной клавишной вычислительной машине» в Новосибирске добавился «Сумматор для одновременного сложения нескольких двоичных слагаемых» (SU188151 от 20 октября 1966 г. с приоритетом от 15 марта 1965 г.). Потом «Электромеханическое запоминающее устройство, предназначенное для использования в специализированных вычислительных устройствах с малым быстродействием и высокой надежностью» (SU427390, 1973 г., с приоритетом от марта 1971 года). А чуть раньше, в феврале 1971 г., сотрудники Института математики СО АН СССР Канторович, Толстьев и Фет подают заявку на «Устройство для умножения», которое по своей архитектуре «гораздо проще и дешевле аналогичных устройств» (SU409222 от 30 ноября 1973 года).
Но хронологически первой в Новосибирске была заявка Канторовича на изобретение «Вычислительной системы, состоящей из универсальной цифровой вычислительной машины и малой цифровой вычислительной машины», поданная в феврале 1963 года. «Авторское свидетельство Госкомитета Совмина СССР по делам открытий и изобретений» на нее он получил в июне 1965 года (SU172567). Подобные приставки к мейнфреймам патентовались и в других высокоразвитых странах, их функция, образно говоря, состояла в пережевывании исходных данных, чтобы основная машина могла их быстрее глотать и переваривать. И хронологически последний патент Канторовича на «Цифровое арифметическое устройство» был посвящен приставке к мейнфреймам.
Заявку на это изобретение сотрудники новосибирского Института математики Леонид Витальевич Канторович, Валерий Петрович Толстьев и Яков Ильич Фет подали в октябре 1971 года. Она также была запатентована ими за рубежом (см., например, патент США №3758767). У себя в институте они называли ее «Арифметической машиной» или коротко — «АМ». Это был быстродействующий специализированный процессор с микропрограммным управлением и предполагалось использовать его как «приставку» к действующим или проектируемым ЭВМ с целью повышения их эффективности.
Канторовичу было уже предельно ясно, что никто не станет пересматривать фон-Неймановскую архитектуру компьютера, так что оставалось делать к ней «приставки». Хотя не оставлял попыток направить отечественный IT-секр в русло «крупноблочного программирования», как он это называл, которое, по его убеждению, в перспективе даст более весомые результаты.
В частности, в 1973 году в своем докладе на специально координационном совещании в Ленинграде, где обсуждались возможности получить в СССР такие же, как в США высокие показатели при решении на ЭВМ больших задач особой важности, он говорил: «Существенная особенность фон-Неймановской архитектуры состоит в сведении сложной и объемной задачи к последовательному выполнению ряда команд над индивидуальными числами и не предполагает какой-либо организованности и специальных свойств числовых массивов и операций… В то же время, при наличии таких особенностей (параллелизма и т. п.) она лишь частично использует их для повышения эффективности, причем — чисто программными методами. Между тем, структурная организация информации и операций является типичной для современных сложных и объемных задач. Учет этих особенностей при организации решения их на ЭВМ может значительно повысить эффективность решения, особенно — если использовать не только программные, но и аппаратные средства, если сама архитектура машин строится с расчетом на использование этих особенностей».
Говорил он о том же и в ранге Нобелевского лауреата. Его слушали, соглашались или делали вид, что соглашаются. Во всяком случае в нарушении принципов марксизма больше не обвиняли. Сейчас задним числом глупо кого-либо обвинять в искаженном взгляде на будущее IT-технологий. Начиналось производство семейства Единой Системы машин, в ходе которого шло клонирование IBM-360, и кто знает, чем бы завершился этот обратный инжиниринг в рамках мировых трендов в области «софта» и «железа», если бы не привходящее, не прогнозируемое никакими математическими методами обстоятельство — моментальный и катастрофический развал советской экономики. И сейчас отечественным IT-историкам остается называть «АМ» Канторовича и его коллег по Институту математики СО АН СССР «одним из первых векторных конвейерных процессоров — прообразом будущих суперкомпьютеров».
Что же касается не «железа», а «софта» Канторовича — линейного программирования, то его судьба, выражаясь математическими терминами, носила стохастический характер и может быть проиллюстрирована классической кривой распределения Пуассона — сначала резкий взлет и потом плавное и неуклонное снижение. В 1965 году еще в Новосибирске Канторович становится лауреатом Ленинской премии «за научную разработку метода линейного программирования и экономических моделей». В 1967 году он был награжден орденом Ленина, а в США избран членом-учредителем Международного эконометрического общества.
В 1968 году выходит его книжка «Математическое оптимальное планирование в экономике. Публикует ее не АН СССР, а издательство Всесоюзного общества «Знание» тиражом 64,5 тыс. экз. Как пишет в предисловии к ней Канторович, рассчитана она на инженерно-технический состав, экономистов и плановиков, специалистов, работающих в разных областях народного хозяйства, которые хотели бы познакомиться с основными идеями математической экономики и может быть полезна учащимся старших классов средней школы, так как особой математической подготовки ее чтение не требует. А говоря проще: линейное программирование — в массы!
Там действительно довольно просто с картинками многогранников объясняется суть линейного программирования и есть любопытный метафорический пассаж о преимуществе советской плановой экономики для крупноблочного математического моделирования.
«Помочь понять сравнение эффективности планирования и рыночного механизма может такая аналогия. Пусть требуется плотная укладка в пространстве (в вагон, контейнер) различных предметов. При крупных или геометрически правильных предметах наиболее эффективным будет нахождение рациональной укладки путем расчетов, путем сравнения разных вариантов. Однако при мелких неправильной формы предметах ни лучше уложатся, если, не прибегая ни к каким расчетам, положить их в наброс, а потом утрясти».
Кто тогда мог подумать, что не пройдет и четверти века, как вагон с плотной уложенной в него советской экономикой сойдет с рельсов. Весной 1971 года XXIV съезд КПСС принял план 9-й пятилетки развития народного хозяйства СССР, в котором фигурировала Общегосударственная автоматизированная система (ОГАС) сбора и обработки информации для учета, планирования и управления на основе «Единой государственной сети вычислительных центров (ЕГСВЦ).
И в том же 1971 году Канторович возвращается из Новосибирска, но не в Ленинград, а в Москву, где его ждала Проблемная лаборатория Института управления народным хозяйством Государственного комитета СССР по науке и технике (ГКНТ), созданного годом раньше для обучения специалистов по современным методам управления народным хозяйством. Там был свой вычислительный центр, где специалисты повышали свою квалификацию в течение трех месяцев. Попутно Канторовича назначают Главным математиком Госснаба СССР.
После получения Нобелевской премии в 1975 году его назначают заведующий отделом системного моделирования научно-технического прогресса ВНИИ системных исследований ГКНТ и АН СССР, председателем научно-технической комиссии ГКНТ по науке и технике по улучшению использования оптимизации в АСУ отраслей народного хозяйства, членом бюро Научного совета по вычислительной технике и системам управления ГКНТ и Президиума АН СССР. И начинается череда его командировок за границу на всевозможные симпозиумы и конгрессы по экономике, за 10 лет в 24 командировках он объездил все континенты, кроме Африки и Антарктиды.
В 2012 году профессор Александр Бухвалов из Высшей школа менеджмента СПбГУ (альма-матер Канторовича) провел интересный анализ статистики публикаций, связанных с линейным программированием в «Management Science Journal», главном международном рупоре специалистов по математической оптимизации экономики. В его трех томах за 1954–1956 гг. статей по ЛП было 33 из 75 исследовательских статей, то есть почти половина. А в трех томах за 2009-2011 гг. всего 7 статей в той или иной мере были посвящены развитию или использованию ЛП при общем числе статей порядка 150, то есть около 5%.
Это и есть пусть приблизительный, но наглядный показатель востребованности линейного программирования на сегодня. Да, его используют в самых разных областях экономики для решения самых разных конкретных задач типа задачи фанерного треста и подобных, и 5% — вполне конкурентоспособная цифра. Но все это из области микроэкономики, и главное — макроэкономическая оптимизация — у него еще впереди.
Сейчас предпринимаются попытки скрестить ЛП с нейросетями. Что даст этот мичуринский подход пока не ясно. Но в любом случае, идея Канторовича оперировать не с числами и символами, а с величинами по-прежнему остается актуальной. И в этом, наверное, заключается его главный вклад в IT.
Автор: Oksana_Nedvigina