В древние времена каждый человек знал и назначение и устройство своих орудий: молотка, лука, стрелы[99]. Прогрессирующее разделение труда уменьшало это индивидуальное знание, и в современном промышленном обществе существует отчетливая граница между теми, кто обслуживает устройства (рабочие, техники) или пользуется ими (человек в лифте, у телевизора, за рулем автомашины), и теми, кто знает их конструкцию. Ни один из ныне живущих не знает устройства всех орудий, которыми располагает цивилизация. Тем не менее некто, знающий все, существует — это общество. Знание, частичное у отдельных людей, становится полным, если учесть всех членов данного общества.
Однако процесс отчуждения, процесс изымания сведений об орудиях из общественного сознания развивается. Кибернетика продолжает этот процесс, поднимая его на более высокую ступень. Ибо в принципе возможно создать такие кибернетические устройства, структуру которых не будет знать уже никто. Кибернетическое устройство превращается в «черный ящик» (термин, который охотно употребляют специалисты). «Черный ящик», например, может быть регулятором, подключенным к определенному процессу (к процессу производства товаров или к процессу их экономического круговорота, к процессам управления транспортом, лечением болезни и т. п.). Необходимо лишь, чтобы определенным состояниям «входа» отвечали вполне определенные состояния «выхода» — и ничего более. Создаваемые пока что «черные ящики» настолько просты, что инженер-кибернетик знает характер связи между величинами на их «входах» и «выходах». Эта связь выражается какой-нибудь математической функцией. Возможна, однако, и такая ситуация, когда даже конструктор не будет знать математического выражения этой функции. Его задачей будет создать «черный ящик», выполняющий определенные регулирующие действия. Однако ни конструктор, ни кто-либо иной не будет знать, как «черный ящик» выполняет эти действия. Математический вид функции, выражающей зависимость состояний «выходов» от состояний «входов», не будет известен никому, причем не потому, что узнать это невозможно, а потому, что знать это не нужно[100].
Неплохим введением в проблематику «черного ящика» может служить рассказ о сороконожке, которую спросили, как это она помнит, какую ногу ей нужно поднять после двадцать седьмой. Сороконожка, как известно, надолго задумалась над этим и, не сумев найти ответ, умерла с голоду, потому что больше уже не могла сдвинуться с места. Эта сороконожка является в действительности «черным ящиком», который выполняет определенные действия, хотя и «не имеет понятия», как он их выполняет. Принцип действия «черного ящика» является необычайно общим и, как правило, очень простым, выраженным фразами вроде «сороконожки ходят» или «кошки ловят мышей». «Черный ящик» обладает определенной «внутренней программой» действия, которая определяет все отдельные акты его поведения.
Современный технолог начинает конструкторскую работу с составления соответствующих планов и расчетов. Мост, локомотив, дом, реактивный истребитель или ракета создаются, таким образом, как бы дважды: сначала теоретически, на бумаге, а потом в действительности — когда символический язык чертежей и планов или алгоритм поведения «переводится» в последовательность материальных действий.
«Черный ящик» нельзя запрограммировать с помощью алгоритма. Алгоритм — это раз навсегда составленная программа действий, в которой все заранее предусмотрено. Выражаясь популярно, алгоритм — это точное, воспроизводимое, поддающееся исполнению предписание, определяющее — шаг за шагом, — каким путем надлежит решать данную задачу. Алгоритмом является любое формализованное доказательство математической теоремы, равно как и программа цифровой машины, переводящей с одного языка на другой. Понятие алгоритма возникло в математике, и применительно к инженерному делу я употребляю его несколько вопреки обыкновению. Алгоритм математика-теоретика никогда не может «подвести»: тот, кто однажды разработал алгоритм математического доказательства, может быть уверен, что это доказательство никогда не «подведет». Прикладной алгоритм, которым пользуется инженер, может и подвести, потому что в нем «все предусмотрено заранее» только внешне. Мосты рассчитывают на прочность по определенным алгоритмам, что, однако, не гарантирует их абсолютной сохранности. Мост может обрушиться, если на него действуют силы, превосходящие те, которые предусмотрел конструктор. Во всяком случае, имея алгоритм некоторого процесса, мы можем исследовать — в заданных границах — все последовательные фазы, все этапы этого процесса.