После слов «атом» и «спутник» нет, пожалуй, сейчас слова, которое, родившись в мире науки, завоевало бы такую широкую популярность, как слово «кибернетика».
Мы не будем повторять его истории, подробно описанной во всех популярных книгах и брошюрах, посвященных кибернетике. Напомним лишь, что с нею связаны имена философа древности Платона, французского физика прошлого столетия Ампера, имя которого нам уже встречалось, и покойного американского математика Норберта Винера.
И не будем пытаться точно определять предмет и содержание нового научного направления, которое обозначено этим древним словом, тем более что это не так просто сделать.
Надо только запомнить, что кибернетика — это когда физик обучает биолога теории наследственности, когда инженер объясняет физиологу, как вырабатывается условный рефлекс, а тот, в свою очередь, растолковывает принцип действия обратной связи специалисту в области автоматического управления. Кибернетика — это когда математики, физики, физиологи и инженеры дают уроки по правилам перевода, стихосложения и игре в шахматы филологам, поэтам и гроссмейстерам; когда все они вместе непрерывно сравнивают человека с автоматом, непрерывно оговариваясь, что между человеком и автоматом нет ничего общего.
Мы ограничимся этим несколько расплывчатым определением, утешаясь тем, что оно, может быть, лишь немногим хуже всех других определений, которые пытаются навязать кибернетике.
Но вот что действительно может показаться удивительным! Кибернетика опровергла, казалось бы, незыблемую истину, выраженную словами известной басни И. А. Крылова:
Беда, коль пироги начнет печи сапожник,
А сапоги тачать — пирожник…
Дружная работа бок о бок ученых разных специальностей, взаимное проникновение различных отраслей знаний оказались неожиданно мощным и многообещающим средством прогресса науки и техники. Уже сейчас можно привести много примеров, когда это средство было пущено в ход и принесло свои плоды. И число таких примеров непрерывно растет по мере того, как в различных сочетаниях объединяют свои усилия математики, физики, инженеры, медики, филологи, экономисты, химики, биологи… Вместе с тем каждый из них остается математиком, инженером, филологом и обижается, если его пытаются назвать просто кибернетиком. Сегодня это значило бы быть специалистом во всем, другими словами — ни в чем.
В научной литературе все больше и больше появляется исследований, посвященных вопросам создания читающих, распознающих, обучающих, диагностических и многих других машин, наглядно иллюстрирующих действенность идей, объединенных под звучным словом «кибернетика». Хотя, прочитав многие из толстых книг, в которых эти исследования опубликованы, вы ни разу не наткнетесь на слово «кибернетика», за исключением, может быть, заглавий. Объясняется это тем, что реализация кибернетических идей осуществляется применением и развитием обычных математических, физических, технических и других методов и средств.
Кибернетический подход позволяет обычное явление, привычный факт разглядеть с неожиданной, иногда очень полезной, позиции. Не менее важно и то, что он дает возможность применить обычные методы и средства для изучения и использования новых и подчас очень важных фактов и явлений.
Все, что составляет окружающий нас мир, можно классифицировать по самым различным признакам: вещества — по их состояниям, металлы и материалы — по химическому составу, растения и животных — по семействам и родам, сотрудников учреждения — по занимаемой должности, книги — по формату и объему, лошадей — по породам, колбасу — по сортам.
Но есть один признак, который самым существенным образом разграничивает все, что было, есть и будет в нашем мире. Этот признак — живое и неживое.
Вместе с животными и растениями человек стоит по одну сторону грани, а по другую — создание рук человека — автомат.
Можно долго перечислять, чем отличается живое от неживого, человек от автомата. Этого не стоит делать потому, что не к отрицанию этих различий сводятся идеи кибернетики, а «только» к поиску, исследованию и использованию аналогий между живым организмом и техническим устройством; в частности, и особенности аналогий в процессах сбора, переработки и использования информации.
Но информационные процессы пронизывают буквально все сферы деятельности человека и направляют работу всех машин. Поэтому кибернетику ищут и находят в машиностроении и химии, в биологии и медицине, ищут вне нас и внутри нас. Приложений кибернетических идей бесчисленное множество, хотя, как это ни странно, кибернетики как науки в обычном понимании этого слова не существует.
Кибернетика работает на грани между живым и неживым. Что может быть интересней для каждого, кто читает и думает?
И вот параллельно потоку научной литературы течет поток литературы популярной, пропагандирующей новейшие достижения кибернетики. Жаль только, что передача информации из одного потока в другой иногда происходит, как в известной игре «испорченный телефон», когда первый из числа участников игры говорит одно, а последний повторяет… совсем другое.
Почти в каждой популярной книжке по кибернетике вы можете найти рассказ о машинах, которые переводят с одного языка на другой. О них говорится так, будто проблема автоматического перевода уже решена и сейчас дело только за тем, чтобы построить достаточное количество соответствующих машин. И почти ничего не говорится о тех трудностях, которые встречают и те, кто разрабатывает теоретические основы автоматического перевода, и непосредственно разработчики самих машин.
Трудности эти двоякого рода. Прежде всего подготовка такой машины к работе требует, чтобы переводимый текст был предварительно «переведен» с обычного языка на «язык» машины. Если это делать вручную, то может оказаться, что проще «вручную» переводить непосредственно с одного языка на другой. Но трудности автоматизации «чтения» текста носят в значительной мере технический характер. С созданием читающих машин они будут преодолены.
Основные трудности, возникающие при попытке полноценно автоматизировать перевод, заключены в самом существе творческой деятельности человека.
Перед нами два стихотворения. Первое:
Как волны набегают на каменья
И каждая там гибнет в свой черед,
Так к своему концу спешат мгновенья
В стремленьи неизменном все вперед!
Родимся мы в огне лучей без тени
И в зрелости бежим; но с той поры
Должны бороться против злых затмений,
И время требует назад дары.
Ты, Время, юность губишь беспощадно,
В морщинах искажаешь блеск красы,
Все, что прекрасно, пожираешь жадно,
Ничто не свято для твоей косы
И все ж мой стих переживет столетья.
Так славы стоит, что хочу воспеть я!
А вот другое стихотворение:
Как движется к земле морской прибой,
Так и ряды бессчетные минут,
Сменяя предыдущие собой,
Поочередно к вечности бегут.
Младенчества новорожденный серп
Стремится к зрелости и, наконец,
Кривых затмений испытав ущерб,
Сдает в борьбе свой золотой венец.
Резец годов у жизни на челе
За полосой проводит полосу.
Все лучшее, что дышит на земле,
Ложится под разящую косу.
Но время не сметет моей строки,
Где ты пребудешь смерти вопреки!
Внимательно их прочитав, вы, конечно, обнаружите, что оба они совпадают по теме, по отношению авторов стихотворений к этой теме, даже по тем образам, которые в них использованы.
Это не удивительно! Ведь здесь приведены два перевода одного и того же поэтического произведения — шестидесятого сонета Шекспира. Выполнены эти переводы выдающимися поэтами; первый — Валерием Брюсовым, второй — Самуилом Маршаком. Закройте глаза и попытайтесь ответить на такой вопрос: сколько одинаковых слов содержится в строках двух разных переводов с одного и того же оригинала?
А теперь откройте глаза и сравните строки стихов. Наверное, вы будете удивлены результатами подсчета. Ведь при этом обнаружится, что одинаковых слов, имеющих отношение к смыслу произведения, насчитывается всего три: «зрелость», «затмение», «коса». Может быть, еще два-три одинаковых слова вы найдете, если будете вести сравнение не построчно. И еще вы, обнаружите, что сильно различается общее количество слов в обоих переводах.
Значит, ясно, что пословный, или, как говорят, подстрочный перевод — это только первый шаг в области автоматизации перевода, и именно этот шаг сейчас делают создатели таких машин.
Как будет переводить автомат будущего? Как Брюсов или как Маршак? И как его научить переводить, как Брюсов? Как Маршак? На эти вопросы вы не найдете сейчас ответа. Современная наука не умеет строго определять такие понятия, как «талант», «эмоции», «чувства», «настроения». А конструкторы не умеют строить машины, которые бы оперировали с некими неопределенными понятиями.
Любая электронная вычислительная машина, независимо от ее назначения, работает при помощи счета. Ее работой управляют числа. Совокупность их образует информацию, которую человек должен подготовить и ввести в машину. Машина «знает» только простейшие арифметические правила и правила формальной логики. И само собой разумеется, может выполнять над введенной в нее информацией только те действия, которые ограничиваются указанными правилами. Окончательный результат машина также выражает в числовом виде.
Если бы все действия, связанные с переводом, стихосложением, конструированием, мышлением, сочинением музыки, научно-популярных статей и каламбуров, можно было свести к простым арифметическим и логическим операциям, то тогда машина по желанию заказчика могла бы мыслить, сочинять стихи и музыку, каламбуры и статьи.
Если бы можно было выразить в числах вдохновение и эмоции, настроения и чувства, талант и способности, то по заказу любое из этих произведений было бы написало на соответствующем уровне и наполнено заказанными настроением и эмоциями.
Пока же, к сожалению, еще многое не удается выразить числами хотя бы потому, что об этом многом мы знаем совсем мало.
Зато если содержание задачи сформулировано достаточно точно и вместе с необходимыми для ее решения указаниями выражено числами, то вычислительная машина по известным ей правилам выполняет действия с действительно гигантской скоростью. Десятки, сотни тысяч операций в секунду — далеко не предел быстродействия. И это особое свойство — быстродействие — превратило электронную машину в мощнейшее оружие научного и технического прогресса.
Не так давно астрономия казалась абстрактной наукой, которая не может привлечь к себе широкое внимание, пока в «расписании» движения небесных тел не происходит заметных изменений. Но это расписание само по себе всегда крайне интересовало ученых. Ведь чтобы судить о нарушениях расписания, необходимо для начала иметь его самое. А теперь этот интерес крайне усугубился по вполне понятным причинам. Где окажется каждая из планет через месяц, через три года или тогда, когда мы соберемся отправиться на одну из них в свое свободное время?
Ученые давно составили уравнения, описывающие движения планет. Но расчеты по этим уравнениям связаны с ужасающим объемом вычислений. Ведь в своем движении каждая из планет подвергается воздействию Солнца и одновременно всех других планет, расстояния между ними все время изменяются и, следовательно, изменяются величины всех воздействий. Небесное расписание в течение многих лет оставалось «хрупкой мечтой» ученых.
Лет двадцать назад в это дело вмешалась одна из первых электронных вычислительных машин. В короткий срок были рассчитаны расписания для Юпитера, Сатурна, Урана, Нептуна, Плутона, Солнца. В расписаниях были указаны положения этих планет через каждые 40 суток на 100 лет вперед, то есть по 2050 год. Десятки, сотни миллионов действий — сложений, вычитаний, умножений, делений и извлечений квадратного корня — были выполнены над 16-значными числами. Отпечатанное расписание представляет собой солидный том объемом в 300 страниц.
Прошло время, когда инженер, проектируя плотину, мост, корабль, самолет, мог действовать в значительной мере на глазок. В наши дни он должен принимать в расчет все известные ему факторы, могущие повлиять на работу создаваемой конструкции, и рассчитать эффект их воздействия.
Проектируя крыло самолета, надо задать такую конфигурацию его поверхности, чтобы при огромной скорости полета поток воздуха плавно обтекал эту поверхность, оказывая минимальное сопротивление движению, и в то же время обеспечивал максимально возможную подъемную силу. Проектируя крыло, надо рассчитать эффект воздействия воздушного потока на каждую из мельчайших площадок, составляющих его поверхность, а затем найти суммарный эффект.
Каждый движущийся с большой скоростью объект склонен к вибрации, и для обеспечения прочности конструкции и безопасности полета важно знать, на каких скоростях вибрации крыльев могут достигнуть опасного предела. Никакая интуиция не может сколько-нибудь точно ответить на этот вопрос. Необходимы расчеты, расчеты и еще раз расчеты.
Ученый непрерывно стремится понять и познать новые и все более сложные явления природы. Он строит гипотезы, согласующиеся с известными ему законами окружающего мира. Он производит наблюдения, используя микроскопы, телескопы, циклотроны. Эти наблюдения должны быть обработаны, обобщены, и их результаты следует сравнить с теми, что дает теория. Вычислительные машины позволяют ученому сделать это за приемлемый промежуток времени и с необходимой в каждом случае точностью.
Самые мощные и быстродействующие машины служат для разрешения важнейших проблем, связанных с проникновением в глубь вещества и в космос, с развитием ядерной физики и с ее практическими приложениями. Вместе с тем эти проблемы составляют небольшую долю среди тех, для решения которых уже сейчас привлечены вычислительные машины.
В середине 1963 года в одном из технических журналов был приведен перечень, содержащий 600 таких проблем, затрагивающих важнейшие отрасли науки, инженерного дела, экономики, медицины, торговли, транспорта, снабжения, связи.
Круглым счетом двадцать лет прошло с тех пор, как была построена первая электронная машина. А теперь только в США и Советском Союзе насчитывается больше 100 типов электронных вычислительных машин, отличающихся по производительности, быстродействию, по их назначению и конструкции. Машины многих из этих типов построены несколькими десятками и даже сотнями штук. Непрерывно разрабатываются новые и развертывается серийное производство отлаженных образцов.
Становятся актуальными разработки таких систем, которые еще вчера казались если уж не чистой воды фантастикой, то по меньшей мере делом далекого будущего.
Ученым и инженерам уже мало того, что они могут поручать решение своих задач специальным центрам, обладающим вычислительными машинами. Им кажется, что между дачей задания и получением решения проходит слишком много времени, много по сравнению с чистым временем решения задачи. Они предпочли бы иметь дело непосредственно с машиной, давать ей задание и получать ответ, например, по телефону, как получают по телефону ответ на вопрос о точном времени.
Создание такой системы связано с двумя большими трудностями. Прежде всего потребуется разработка устройств, позволяющих пользоваться для общения с машиной самыми простыми и доступными человеку средствами — скажем, устными командами или обычной записью. И что не менее важно, эти входные устройства должны быть такими компактными и дешевыми, чтобы ими было удобно и выгодно пользоваться от случая к случаю, как мы пользуемся в быту телевизором или стиральной машиной.
При выполнении этих условий через 10 лет, как подсчитали английские ученые, в сеть «мгновенных вычислений» включатся 300 000 абонентов, для обслуживания которых понадобится от 20 до 50 мощных вычислительных центров.
Двадцать лет назад над идеей создания электронных вычислительных машин работали небольшие группы ученых. В размышлениях за письменным столом, в спорах и обсуждениях идея обрастала живой тканью; в лабораториях из подручных средств собирались и «паялись» первые макеты отдельных узлов и устройств; на каждую удачу приходилось по десятку неудач; на правильное решение по десятку ошибок; на каждого оптимиста по сотне скептиков. Окончательный результат рисовался в самых смутных очертаниях, и даже скромные прогнозы встречали холодок недоверия. История являла самую обычную картину, с которой на протяжении этой книги мы уже встречались неоднократно. А в наши дни проектирование и постройка электронных вычислительных машин — новая, большая и непрерывно расширяющаяся отрасль техники. И эта метаморфоза тоже обычное и уже знакомое нам явление.
В тех примерах, с которыми мы сейчас познакомились, электронные машины действуют в качестве вычислительных автоматов. Их работой управляют числа; их продукцию также составляют числа. Скорость вычислений при этом имеет значение прежде всего с точки зрения увеличения объема выпускаемой продукции и снижения ее стоимости.
Но вычисления — только одна область приложения электронных машин. Вторая, не менее важная и гигантская по масштабам приложения, — управление.
Управляемая ракета еще с земли нацеливается на полет по определенной траектории и с определенной скоростью. Но если в полете ее предоставить самой себе, то сопротивление воздуха, ветер, всякие случайные воздействия в период запуска и в процессе полета сделают бесполезной самую тщательную начальную установку. Ракетой надо управлять непосредственно в процессе ее движения — управлять так, чтобы фактические траектория и скорость достаточно мало отличались от заданных.
Заданные траектория и скорость известны еще до начала полета, а фактическая траектория должна быть рассчитана в процессе движения. Для этого после запуска ракеты включаются устройства, автоматически измеряющие ее положение и скорость в полете.
Результаты измерений поступают в вычислительную машину, рассчитывающую по ним фактическую траекторию. Затем машина сравнивает фактическую траекторию с заданной и определяет необходимые поправки. Они потом в форме сигналов поступают в механизмы управления, поправляя курс ракеты.
А в следующее мгновение начинается новый цикл управления. Очередные сведения о положении и скорости поступают в вычислительную машину, рассчитывается фактическая траектория, определяется необходимая коррекция, изменяется курс ракеты.
Теперь продукция машины — не просто числа, которые можно собрать в книгу, полезную сегодня, завтра, через год. Теперь продукция машины — управляющий сигнал, который полезен, только если он получен, когда можно и нужно внести поправку в курс движения ракеты, проглатывающей несколько километров в секунду.
Каждый цикл вычислений должен уложиться в маленький промежуток времени, отделяющий момент отбора полетных данных от момента внесения поправок. И эти циклы повторяются до тех пор, пока ракета находится в пределах, позволяющих достаточно точно измерять ее положения и скорости.
Теперь вычислительная машина должна работать в «реальном времени». Вместе с ракетой, а также с устройствами, собирающими информацию о ее положениях и скоростях, и устройствами, передающими на ее «рули» управляющие сигналы, она должна образовать единую замкнутую в кольцо автоматическую систему. В этой системе машина несет все функции управления, осуществляя их в точном соответствии с заданной ей программой.
Вот когда быстродействие вычислительного автомата решает все. Вот почему без вычислительных машин немыслима космонавтика, немыслимо создание эффективных методов защиты от агрессии, немыслима автоматизация технологических процессов, требующих молниеносной обработки информации.
Вы помните, что, когда обсуждались первые проекты станков с программным управлением, самые серьезные возражения со стороны экспертов и рецензентов возникали в связи с вопросом о расчете сложных программ. Это было в начале 1950 года. Тогда сведения об электронных вычислительных машинах только еще начали появляться в печати, и предложения об их использовании в широком масштабе в заводских условиях для подготовки программы работы станков казались крайне несерьезными, попахивавшими чем-то от фантастических рассказов.
Вместе со спорами и дискуссиями шло время, и оказалось, что если бы это время можно было вернуть, то его полезней было бы затратить не на споры о том, когда у инженеров будут электронные вычислительные машины, а на подготовку к их наилучшему использованию для самых, казалось бы, фантастических целей. Оказалось, что вычислительные машины уже тут, у наших дверей. И не одна. Их 10, 100, 1000!
С первых лет работы над станками с цифровым управлением использовались два возможных варианта применения электронных машин. Были построены несколько станков, работавших «в одной упряжке» с электронной машиной, то есть в «реальном времени».
В приемные устройства машины на перфорированной ленте, примерно такой же, что используется в автоматических телеграфных аппаратах, вводится информация, характеризующая опорные точки траектории движения инструмента. Затем машина автоматически рассчитывает всю траекторию движения по таким формулам и так подробно, как это необходимо, чтобы изделие было обработано с заданной точностью. А на выходе машины результаты расчета превращаются в управляющие сигналы, воздействующие непосредственно на исполнительные механизмы станка.
Так, в частности, действовал первый американский станок с цифровым управлением, сведения о котором появились в печати в 1952 году.
Однако для непосредственного управления станками электронные машины пока не привились.
Почему? Да потому, что, как сказал поэт,
В одну телегу впрячь не можно
Коня и трепетную лань.
Действительно, место электронной машины — в вычислительном центре, в конструкторском бюро, там, где создаются проекты новых изделий, детали которых будут обрабатываться на станках с программным управлением. А в цехах должны работать станки. И чем проще их конструкция, чем меньше сложных вычислительных и электронных узлов их окружает, тем проще их эксплуатация, тем более надежной и безотказной будет их работа.
И еще одно важное соображение говорит за то, что целесообразно разделить работу двух автоматов — вычислительного, который готовит программу, и станка, который работает по ней.
Электронная машина очень производительна. Она одна может обслужить несколько станков с программным управлением. И использовать ее для непосредственного управления одним станком — значит согласиться с тем, что значительную часть времени она будет бездействовать.
Сейчас это слишком дорогое удовольствие. Но будет ли так всегда? Ответ на этот вопрос ясен. Если удастся создать малогабаритный, высоконадежный, быстродействующий вычислительный блок, который сравнительно дешево сумеет выполнять ограниченный класс задач программирования, свойственных конкретной конструкции станка, то тогда станок и машина могут и будут работать в одной упряжке. Этот вопрос уже обсуждается в технической литературе. А пока в подавляющем большинстве современных конструкций оба автомата разделены во времени и пространстве. Единственно, что их объединяет, — это лента.
Вот уж действительно удивительное средство автоматизации — лента (или карта) с закодированными на ней числами! Около двухсот лет ею пользуются люди. Сначала просто как «находкой», случайно изобретенной предшественниками Жаккара. Затем эту находку приспособили для автоматизации музыкального инструмента, потом в телеграфии, полиграфии, в вычислительной технике, в современных электронных автоматах.
…На магнитную ленту часто в самом простом унитарном коде записывает подробную программу вычислительная машина. На этом ее функции заканчиваются. Программы эти можно хранить, собирать в специальные библиотеки, размножать, пересылать одновременно нескольким заводам.
А станки с программным управлением снабжаются специальными устройствами, предназначенными для введения ленты, считывания и расшифровки сигналов. Для обработки того или иного изделия надо лишь запросить из библиотеки соответствующую программу. И если одинаковые изделия обрабатываются даже на разных заводах, то можно быть уверенным, что они будут действительно одинаковыми.
…В стороне от станка стоит небольшой пульт. Под стеклом с катушки на катушку переливается блестящая коричневой поверхностью магнитная лента. Конструкция напоминает магнитофон. Так и кажется, что сейчас услышишь «мелодию» изделия. Гибкий шланг соединяет пульт со станком. И неслышимая «мелодия» перекодируется в движения — то медленней, то быстрей, вправо и влево, вверх и вниз движутся инструмент и стол станка, и грубая заготовка превращается в изящное, блестящее изделие. Этим превращением управляют числа.
Давайте еще раз проследим тот путь, который отделяет изготовленное таким образом изделие от момента, когда конструктор, сидя за чертежной доской, сделал его чертеж.
Конструктор передает чертеж программисту, который намечает во всех подробностях программу обработки детали и составляет таблицу опорных точек.
Затем эта таблица поступает к оператору. Он сидит за перфоратором и работает, как телеграфист. Только вместо текста телеграммы перед ним лежит таблица и вместо букв он набирает числа — только числа.
Оператор считывает эти числа из таблицы и слегка нажимает на клавиши перфоратора. При этом механизмы перфоратора приводят в движение специальные пробойнички — пуансоны, которые в определенном коде пробивают на ленте отверстия. Оператор работает быстро. Он успевает набирать до ста с лишним знаков в минуту.
Но как гарантировать, что при таком ручном наборе в подготовленную программу не вкралась ошибка?
Текст любой книги после того, как он набран наборщиком, проверяется автором книги, редактором, корректором. При таком многократном контроле у опечатки очень мало шансов остаться незамеченной. А если это и случается, то, как правило, не приносит много вреда. Читатель либо опечатку не заметит либо быстро разберется в сути дела.
Ошибка в одной букве даже в телеграмме, передающей информацию в предельно сжатой форме, редко приводит к трагическим последствиям.
А как обстоит дело при подготовке программы работы станка? При записи ее в унитарном коде лишнее отверстие или отсутствие отверстия в необходимом месте приведут лишь к небольшой ошибке в размерах изделия, она может даже остаться незамеченной.
Но ведь оператор ведет запись на бумажной ленте в ином, более компактном коде. При этом в случае ошибки оператора лишнее отверстие может оказаться в одном из высших разрядов. И, будучи незамеченной, такая ошибка может привести не только к порче изделия, но и к поломке станка.
Во избежание подобных «опечаток» рекомендуют каждую программу записывать дважды; причем поручать это двум разным операторам, а затем результаты их работы тщательно сличить.
Для такого сличения существуют специальные автоматические контрольно-считывающие устройства. Если между двумя проверяемыми лентами оказывается различие, то такое устройство, конечно, не может ответить на вопрос, какая из лент несет правильную программу. Оно просто останавливается и дает оператору сигнал о наличии ошибки. Тогда места несовпадения проверяются и необходимые исправления вносятся вручную.
Такой способ контроля правильности работы оператора весьма далек от совершенства и по надежности и по трудоемкости. И эти недостатки ему свойственны совсем не потому, что он нов. Впервые подобный способ нашел применение свыше тысячи лет тому назад.
В те времена церковники были крайне озабочены большими расхождениями текстов различных экземпляров библии. Было это задолго до изобретения книгопечатания. Переписка текстов велась вручную в течение многих поколений. Переписчики иногда просто ошибались, а подчас пытались по-своему объяснить неясные места в библии. В результате возникали многочисленные разночтения.
Из этого положения был найден следующий выход. На специальном совещании высших духовных лиц был избран и утвержден один из текстов библии, объявленный каноном. Все остальные списки библии подлежали уничтожению. Одновременно была установлена система, исключавшая возможность дальнейшего появления разночтений: были сосчитаны числа слов и букв в каждой главе канонического текста, и переписчики должны были в процессе переписки очередного экземпляра сверяться с этими цифрами.
Таким образом, переписчик работал сначала как оператор, переписывая «программу», то есть библейский текст, с оригинала в список, а затем выполнял функции контрольно-считывающего устройства, сравнивая число написанных им слов и букв с заданными контрольными цифрами.
Само собой разумеется, что церковь не афишировала свое изобретение, а факт удивительного совпадения различных списков библии относила за счет ее якобы божественного происхождения.
Как видите, способы контроля человеческого труда в этой области мало изменились за последнюю тысячу лет. Почему? На этот вопрос не так просто ответить. Во всяком случае, не потому, что над усовершенствованием этих способов не думали. Скорее всего дело в тех трудностях, с которыми связаны любые попытки автоматизировать операции, требующие участия человеческой мысли.
Операция переноса чисел из таблицы на ленту — это мостик, соединяющий два противоположных берега. На одном берегу работают люди, идет творческий процесс. Конструктор создает машину, изделие и разрабатывает чертежи деталей этой машины. Технологи обсуждают процесс обработки и выбирают оборудование, на котором будет вестись обработка, программист составляет программы.
На другом берегу — автоматы. Одни автоматы — вычислительные — «обрабатывают» программы; другие — станки — обрабатывают детали.
А на мостике оператор. Именно он переводит числа с человеческого языка на «машинный» язык. И как ни скромна эта задача, ее решение пока еще требует непосредственного участия человека.
Но вот исходные данные подготовлены человеком и записаны им в удобном для вычислительной машины виде, теперь она будет рассчитывать программу настолько подробно, насколько это предусмотрено человеком, а результаты расчета нанесет на магнитную ленту. Только после этого станок может приступить к делу.
Не правда ли, цепочка операций, предшествующих началу работы станка, кажется с первого взгляда излишне длинной? Может быть, можно ее укоротить?
Какой заманчивой, например, кажется идея подготовить программу работы автомата, не прибегая ни к чертежам, ни к числам! Казалось бы, можно, наблюдая за работай высококвалифицированного мастера, вручную управляющего станком, «запомнить» с помощью специальных устройств все его действия. А затем полученную таким образом программу использовать для автоматического управления станком при обработке целой группы таких же изделий. Ведь можно же, однажды записав речь или мелодию на пластинку или на магнитную ленту, потом безошибочно воспроизвести их сколько угодно раз!
В Советском Союзе и за рубежом по этому принципу было построено несколько систем. Однако для целей автоматизации сколько-нибудь сложных процессов они распространения не получили.
Чтобы точно обработать деталь, вручную управляя станком, нет необходимости выполнять какие-либо чрезмерно сложные движения. И все же, когда мастер ведет обработку точной и сложной детали, он часто останавливает станок, производя измерения, несколько раз повторяет отдельные операции, снимая припуск на обработку в несколько приемов, по-разному устанавливает инструмент относительно изделия, вновь производит измерения. Он особыми приемами добивается устранения влияния зазоров и люфтов на точность обработки, знает способы заставить стол станка передвинуться на малую величину и т. д.
Если записать полностью такую «программу» работы мастера, то окажется, что значительная часть движений, целесообразных при ручном управлении, совершенно излишня, а может быть, и просто вредна тогда, когда ставится задача автоматизировать процесс обработки. Такую «программу» придется значительно усовершенствовать и изменять, а в сравнительно сложных случаях ее, наверное, даже не удастся принять за основу программы автоматической обработки.
Попытка заставить машину автоматически повторить все движения человека, которые он выполняет чисто «по-человечески», напоминает попытку построить паровоз с ногами вместо колес. А ведь мы уже неоднократно убеждались, что совершенно бессмысленно пытаться заставить автомат работать точно так, как работает человек, использовать один и тот же технологический процесс, располагая совершенно различными средствами. Нет, такие попытки заранее обречены на провал!
Программа обработки типичного изделия на первом макете станка, оснащенного шаговой системой цифрового управления, содержала меньше 2 тысяч единиц информации. Современный фрезерный станок с цифровым управлением при обработке сложных изделий реализует многие миллионы единиц информации. Можно быть уверенным, что в будущем объем информации, перерабатываемой станками с цифровым управлением, будет продолжать расти.
Точно так же обстоит дело и в других областях техники, в медицине, биологии, экономике, где непрерывно накапливаются целые горы информации, обработка которой не терпит никакого отлагательства. Даже короткая задержка грозит срывом плана, удорожанием стоимости производства, возникновением неразберихи.
Чтобы удовлетворить непрерывно растущий спрос на вычисления, инженеры и ученые разрабатывают новые, более мощные вычислительные машины. Аппетит приходит во время еды, и новые возможности машин провоцируют ученых на постановку новых задач, казавшихся ранее бессмысленными, поскольку решение их скрывалось на дне целого океана вычислений.
Скорость вычислений в десятки и сотни тысяч операций в секунду оказывается уже недостаточной, нужна скорость в миллионы, десятки миллионов операций.
Возможно ли такое быстродействие и где его предел?
Электрический импульс, движущийся со скоростью света, пробегает за одну миллиардную долю секунды всего лишь 30 сантиметров. Конструкция вычислительной машины становится все сложнее. И если речь идет о скоростях в десятки и сотни миллионов операций в секунду, то вся эта сложная конструкция должна укладываться в очень скромные габариты, иначе сигналы не будут успевать перемещаться по ее коммуникациям. Это серьезное ограничение. Пока оно еще не стало решающим, но ученые и инженеры к этому готовятся и разрабатывают электронные узлы и приборы, по сравнению с которыми обычные полупроводниковые устройства будут казаться неуклюже большими и грубыми.
А наряду с разработкой новых конструкций машин и их новых элементов и узлов идет развитие математических методов, позволяющих наиболее эффективным образом использовать гигантские возможности вычислительной техники как по прямому назначению — для выполнения вычислений, — так и для целей управления.
Эти возможности ошеломляют воображение, и чуть ли не с первых дней создания электронных машин их уподобляют гигантскому мозгу; импульсный, дискретный способ действия нервной системы усугубляет это сходство.
Из разных уголков человеческого тела по восходящим путям дискретные сигналы мчатся в различные отделы мозга человека; все они имеют одинаковую максимальную величину — амплитуду, но разные частоты. В мозгу человека с этими импульсами что-то происходит; что-то они по дороге включают и выключают, как-то складываются и вычитаются, где-то образуют замкнутые цепочки и сложные структуры, запоминающие информацию, поступающую извне, и результаты ее переработки; в процессе работы мозга эти результаты вызываются из памяти и используются, может быть, так же, как вызывается и используется информация, внесенная в память электронной машины. И наконец, по нисходящим путям из мозга мчатся потоки сигналов, управляя движениями тела, может быть, так же, как электронная машина управляет, например, ракетой.
Ну как тут удержаться и не пытаться сравнить электронную машину и мозг?
Одну из первых таких попыток сделал несколько лет назад американский математик Джон фон Нейман. В рукописи книги, опубликованной год спустя после его смерти, он привел, в частности, количественные оценки, которые повторяются во многих популярных книгах по кибернетике. Вот они.
Время реакции нервной клетки на возбуждение составляет от сотых до десятитысячных долей секунды; электронных ламп или полупроводниковых элементов, из которых строятся машины, — десятимиллионные доли секунды. Следовательно, в отношении быстродействия искусственные элементы превосходят естественные в десятки тысяч раз.
Что касается числа элементов и их объема, то здесь картина обратная. Фон Нейман, исходя из предположения, что в объеме 1000 кубических сантиметров, который занимает мозг, сосредоточено 10 миллиардов нейронов (сейчас думают, что их 14, 15, 17 миллиардов), считает, что естественный мозг построен в сотни миллионов раз компактнее искусственного полупроводникового прибора.
Мозг расходует около 10 ватт мощности, значит, приблизительно миллиардную долю ватта на нейрон. Расход энергии на полупроводниковый элемент он оценивает в десятую долю ватта. В энергетическом отношении естественная система оказывается в сотни миллионов раз экономнее искусственной.
Объем памяти больших электронных машин достигает миллионов единиц информации. Объем человеческой памяти, по оценке фон Неймана, составляет величину 2 · 1020 единиц информации, превосходя в этом отношении машину в астрономическое число раз.
Итак, количественное сравнение по многим параметрам оказалось не в пользу современной машины. А время качественных сравнений, вероятно, настанет тогда, когда будут решены многочисленные загадки мозга, поняты механизмы его действия.
С самых разных сторон физики и физиологи, математики и инженеры идут к решению этих загадок. Забираются в мозг скальпелем и электродом. Слой за слоем изучают его строение, пытаясь установить функциональные связи в отделах и между отделами мозга. Изучают биотоки мозга, биотоки отдельных клеток и групп клеток, строят электронные модели нейронов, собирают из них искусственные нервные сети и структуры, проникая в механизмы сложных рефлексов и пытаясь проникнуть в механизмы мышления.
Эта работа неизбежно связана с догадками, предположениями, многочисленными гипотезами. В различных сочетаниях и в самом тесном соседстве тысячи раз повторяются слова «машина», «мозг». Иногда о непроверенной гипотезе говорится как об абсолютной истине; результат, полученный на простенькой модели, обобщается на сложную систему. Тогда задача представляется более наглядной и более простой, чем в действительности, и как логическое следствие работа мозга кажется (только кажется!) более глубоко познанной, а возможности вычислительных машин — более могучими и всеобъемлющими, чем в действительности.
Так обстоит дело потому, что всегда существуют противоречия между чисто логическими построениями и физическими реализациями, как существуют противоречия между фантазией и действительностью.
Обратимся к простому примеру, для чего еще раз вернемся к автоматам с цифровым управлением.
Пусть электронная машина управляет обработкой какого-либо изделия на станке с цифровым управлением. Достаточно мощная машина может программу управления рассчитать со сколь угодно высокой точностью: в этом отношении ее возможности практически неограниченны. При таком расчете каждый знак после запятой для вычислительной или управляющей машины полон, если можно так выразиться, глубокого смысла.
А станок? Обработать изделие с точностью до 0,1 миллиметра сравнительно легко. Обработать это же изделие с точностью до 0,01 миллиметра уже очень сложно. Точность 0,001 миллиметра близка к пределу, приближаясь к которому мы вступаем в область, где начинает ощущаться жизнь металла. А еще на один-два знака точнее работают единичные машины, и среди них знакомая нам делительная машина.
Итак, для станка имеют смысл первая, вторая, третья значащие цифры после запятой. Все остальные цифры для станка останутся «пустым звуком». Физические ограничения (упругие и тепловые деформации, зазоры и люфты, износ инструмента и т. д.) сведут на нет все прямые попытки управляющей машины принудить станок работать по расчетной программе. Чтобы управляющая машина могла заставить станок воспринимать хотя бы еще один знак, надо ее сначала «научить» теории упругости и динамике, химии и физике, способам термообработки и технологическим приемам изготовления сверхточных деталей станка. Управляющую машину надо будет научить «конструированию», а это особенно трудно.
Короче говоря, при рассмотрении даже такой узкоограниченной технической задачи окажется, что гипотетическая управляющая машина должна обладать способностями и свойствами целого коллектива людей, разносторонне образованных, талантливых, трудолюбивых, творчески относящихся к своему делу.
Чтобы создать такую машину, надо объяснить конструктору, что такое творческий процесс, талант, мышление, объяснить не по-общежитейски, а так, чтобы у конструктора возникли определенные количественные представления.
Наверное, наступит такой день, когда человек поймет во всех подробностях и тонкостях, как устроен и действует его мозг, и сумеет построить «настоящий» электронный мозг. Он сумеет по своему желанию изменять и совершенствовать созданную им конструкцию и эффективно использовать ее возможности; в этот день человек станет «сверхчеловеком».
Что он будет делать на следующий день? Конечно, возьмется за создание электронного «сверхмозга». Он ему будет просто необходим, поскольку для решения тех задач, которые перед собой поставит «сверхчеловек», обычный «настоящий» электронный мозг будет подходить так же мало, как сейчас мало подходят конторские счеты для определения траекторий спутников.
Человек будущего по своим знаниям и возможностям будет превосходить нашего современника настолько, насколько современный человек превосходит своего первобытного предка; и в музеях будущего на наши электронные машины будут смотреть так, как мы в наших музеях смотрим на каменные топоры и ножи.
Будут ли «мыслить» автоматы будущего? Конечно, будут. Но они будут «мыслить» совсем не так, как мыслит человек. Чем сложней технологический процесс, тем все меньшим и меньшим становится сходство между тем, как его выполняют человек и автомат, тем яснее видна вся глубина различия между живым организмом и техническим устройством.
В этом нас убеждает вся история развития техники, и вряд ли дело кардинальным образом изменится, когда люди вплотную подойдут к созданию мыслящих автоматов.
По мере того как все точнее будет познаваться механизм мышления, все яснее станет, что для технической (а не естественной) реализации этот механизм малопригоден, что функции, выполняемые им, гораздо лучше реализуются при совершенно иной схеме, что технологический процесс «мышления» автомата должен быть совершенно не таким, как «технологический процесс» мышления человека.
И чем глубже будет познавать человек самого себя, тем более глубокие бездны незнания будут перед ним открываться, чем больше «человекоподобия» человек, пользуясь своими знаниями, будет вкладывать в автоматы, тем точнее он сумеет указать различия между собой и своим творением и, что самое главное, тем существеннее окажутся эти различия.
Такова диалектика тех идей, которые объединены словом «кибернетика».
Мы с вами договорились, что, пытаясь разобраться в общих принципах построения автоматов, будем следить за потоками и ручейками энергии и информации, текущими через его узлы, и на протяжении всей книги стремились придерживаться этого правила.
Используя его, мы разобрались в основных принципах построения двигателей, предназначенных специально для преобразования и передачи энергии. Движение потоков энергии в этих машинах направляется ручейками информации.
Мы ознакомились с устройствами и автоматами, предназначенными специально для передачи и преобразования информации: от первого аппарата Морзе до современной электронной вычислительной машины. Движение и переработка потоков информации в этих системах поддерживается ручейками энергии.
Затем мы встретились с рабочими машинами и увидели, что их механизмы и устройства также осуществляют передачу и преобразование потоков энергии и информации. Конечно, теперь эти процессы не составляют конечную цель работы машины; они подчинены главной задаче, связанной с обработкой потоков материала, заготовок с изготовлением тех или иных изделий.
Но, отдавая должное особенностям, связанным с тем или иным назначением машины — для преобразования и передачи энергии, для преобразования и передачи информации, для обработки и транспортировки материала и изделий, — мы вместе с тем заметили, что процессы управления во всех машинах независимо от их назначения организованы по вполне определенным принципам. Оказывается, что цепь управления в машинах может состоять из одного полукольца — действовать по разомкнутой схеме; либо она может быть замкнута в кольцо, действуя по схеме с обратной связью. Пытаясь разобраться в устройстве машины, следует понять, по какой из этих схем организовано управление, организованы потоки информации и энергии.
Несколько примеров показали, что это сделать сравнительно несложно, если попытаться разыскать те устройства, которые задают программу работы автомату, если выяснить, собирает ли автомат информацию в процессе работы, и если да, то с помощью каких механизмов он это делает. Такой подход позволяет рассортировать автоматы, расставить их по полкам воображаемой этажерки, может быть, не так хорошо и понятно, как этого бы хотелось, но, во всяком случае, наилучшим способом, который только возможен при всем их многообразии.
Пожалуй, сейчас самая пора этим заняться.