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

Изменили план? Учли, сколько дополнительных станков нужно и сколько на них уйдёт дополнительного крепежа? Успели утереть с лица пот? Это хорошо, если успели. Потому что вбежал к вам в кабинет главный технолог по изобретениям и радостно сообщил: болты теперь можно не точить и нарезать, а штамповать на прессе «Ламбада» – целых 10 000 в смену. И болтов в этой «Ламбаде» всего 15 – но 2 из них диаметром 50 мм, а ещё один – целых 100. И гаек лишь 13 – но одна 200-миллиметровая. Так что план надо пересчитать – и срочно, иначе ещё год будем переводить металл в стружку.

На самом деле всё не так уж страшно. Все перечисленные цифры образуют давно известную математикам систему уравнений. Причём простейших – линейных. Которые нас учат решать ещё в школе.

В школьном учебнике системы линейных уравнений решают методом Крамера. Метод очень хорош для теории – используемые в нём определители находят в математике множество применений. Но один недостаток у метода есть. Число действий, необходимых для расчёта определителя, пропорционально факториалу количества уравнений.

Факториал числа – это произведение всех чисел от единицы до этого числа. И растёт факториал немыслимо быстро. Факториал четырёх – 24, восьми – 40 320, а двенадцати – уже 479 001 600! Решать методом Крамера можно лишь учебные примеры. А для реальных систем с десятками и сотнями уравнений он неприменим.

Такие системы часто встречаются в астрономии. Видный астроном, «король математиков» Карл-Фридрих Гаусс разработал в конце XVIII века новый метод решения систем линейных уравнений. Изумительно простой метод – число действий в нём пропорционально всего лишь третьей степени числа уравнений.

«Пропорционально» – не значит «равно». Но в методе Гаусса коэффициент пропорциональности достаточно мал. Для простоты примем его равным единице. Тогда для системы в десять уравнений нужна всего тысяча арифметических действий – работа для человека с карандашом и бумагой всего на час-другой. И даже систему в сотню уравнений можно решить за миллион действий – всего несколько недель. А если нанять для расчётов целую бригаду (как поступал Гаусс), то самые сложные астрономические расчеты можно выполнять в считанные дни.

Но план производства содержит столько уравнений, сколько разных видов продукции производится. В середине 1970-х годов, когда великий кибернетик Виктор[1] Михайлович Глушков впервые в СССР опубликовал те рассуждения, которые я сейчас упрощённо пересказываю, в СССР производилось 20 миллионов видов продукции. Значит, для расчёта плана необходимо было решить систему из 20 000 000 уравнений. И выполнить для этого 8 000 000 000 000 000 000 000 действий.

Устали считать нули? Ну, это можно сделать и не вручную, а на компьютере. Самый быстродействующий тогда советский компьютер выполнял в секунду 1 000 000 операций. И требовалось ему для расчета плана 8 000 000 000 000 000 секунд – примерно 16 000 000 000 лет.

Правда, в методе Гаусса многие действия можно выполнять параллельно. То есть подключить к делу сразу многие компьютеры. Да и сами компьютеры с каждым днем работают быстрее. Сейчас есть уже и с быстродействием миллиарды операций в секунду. И если подключить к делу целый миллион (а больше нет во всём мире) компьютеров со стомиллионным быстродействием, план для СССР можно будет вычислить всего за 160 лет…

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

Впрочем, можно кое-что и сэкономить. Например, в пластмассовую расчёску железная руда непосредственно не входит. Конечно, пресс-форма для расчёски стальная. И инструменты для изготовления пресс-формы стальные. И станки, на которых сделаны эти инструменты, железа содержат немало. Но на пересечении строки «расчёска пластмассовая» и столбца «руда железная» стоит ноль. И нулей таких в системе уравнений материального баланса, по которой вычисляется план, очень много. Если правильно выбрать порядок действий, большая часть этих нулей сохранится. Для плановых расчётов удаётся снизить показатель степени в методе Гаусса с трёх до двух с половиной. Хотя коэффициент пропорциональности перед степенью многократно растёт. То есть время расчёта плана удастся сократить лет до пяти-десяти.

Но план нужно пересчитывать буквально каждый день! Ибо ежедневно сотнями рождаются новые изобретения, позволяющие что-нибудь делать удобнее и быстрее. И старый наш СССР был знаменит, кроме всего прочего, немыслимо медленным внедрением новинок – в план они не вписывались. Даже те сверхбыстродействующие компьютеры, в надежде на которые я говорю о годах – а не тысячелетиях – расчётов, появились не у нас. В СССР самые быстрые раз в пять-десять медленнее.

вернуться

[1]

В первой публикации он по моей непростительной ошибке назван Владимиром.