Допустим, нужно стране сегодня болтов и гаек по 1 000 000 штук. Ну что же. Из метра шестигранного прутка болтов выходит 5, гаек - 40. Пруток катают на стане «Полонез» - по 2 500 метров в сутки. Гайки сверлят на станке «Менуэт» - по 400 в смену, а нарезают на станке «Вальс» - по 200 в смену. Болты обтачивают на станке «Танго» - по 1 000 в сутки, нарезают на станке «Румба» - но 700 в сутки.
Подсчитали, сколько всего оборудования вам надо? А теперь учтите: в «Полонез» входит 150 болтов с гайками, в «Менуэт» - 88, в «Вальс» - целых 391. В «Танго» болтов 76, а гаек всего 42-34 болта вворачиваются в резьбовые гнёзда корпуса. А в «Румбе» болтов 28, а гаек целых 103 - 75 наворачиваются на шпильки. Расчётный срок службы «Полонеза» - 10 лет, «Менуэта» - 7, «Вальса» - 3, «Танго» - 5, «Румбы» - 4. И все гайки с болтами, необходимые для их производства, тоже необходимо сделать.
Изменили план? Учли, сколько дополнительных станков нужно и сколько на них уйдёт дополнительного крепежа? Успели утереть с лица нот? Это хорошо, если успели. Потому что вбежал к вам в кабинет главный технолог по изобретениям и радостно сообщил: болты теперь можно не точить и нарезать, а штамповать на прессе «Ламбада» - целых 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. Во-первых, коэффициент перед показателем степени - далеко не единица. Во-вторых, накладные расходы на организацию параллельной работы компьютеров отнимают немалую долю их производительности. Сотни тысяч и миллионы компьютеров потратят на взаимодействие, на обмен промежуточными результатами во много раз больше времени, чем на саму работу.