Современная математика состоит из многих самостоятельных разделов, и нелегко перечислить явления, которые удалось свести к ее формулам, символам и значкам. А когда-то человек не мог сосчитать даже собственных пальцев. Он мог лишь сказать, что их много, потому что первобытная арифметика знала только две количественные оценки: или «много», или «один». Потом человек научился считать. Потом заменил числа значками, и оказалось, что с помощью иксов и игреков гораздо легче решить любую задачу, потому что не надо помнить о яблоках, лежащих в ящиках или корзинах, о поездах или пешеходах - заменяй все иксом и игреком и сразу получишь ответ. А теперь еще алгебра логики... Если вместо наших обозначений подставить в формулы иксы и игреки, логика лифта будет выглядеть так:
М = p·q(x·y + h·x·z).
С виду обычное уравнение. Сколько раз мы писали их на уроках алгебры в наших школьных тетрадках! И все_ же это не те уравнения, и алгебра тоже не та: за символами х, у, р или q здесь скрываются не бездумные трубы бассейна, где труба р отбирает x литров в секунду, а труба q с таким же бессмысленным равнодушием наливает воду обратно в бассейн. Наша схема не позволит лить воду из пустого в порожнее! Ведь она обладает логикой, может взвешивать обстоятельства и решать: если p наполняет бассейн водой, то незачем через q гнать воду назад.
Чувствуете, как тут все происходит? В этой простой и маленькой схеме живет частица гибкой человеческой мысли! Именно живет: если меняются обстоятельства, то меняется и результат. Конечно, «обстоятельств» в лифте не так уж много: вошел пассажир или вышел, намерен ехать вверх или вниз. И все же. решая свою простую задачу, схема должна сопоставить все, что в данный момент происходит, для того чтоб «принять решение», как ей следует поступить. В сложной схеме таких обстоятельств будет уже значительно больше, длиннее станут ее уравнения, а «рассуждения» будут настолько разнообразны, что сам создатель такой машины уже не предскажет их результат.
В последнее время на страницах журналов и газет часто спорят, сможет ли когда-нибудь машина написать хорошую музыку или стихи. Пока можно твердо сказать одно: для настоящего творчества в логике этих машин не хватает многих еще не известных науке правил. Но и без «машинных стихов» алгебру логики связывают с поэзией узы самого тесного потомственного родства: ее «отцом» был отец известной писательницы Войнич10, а «крестной матерью», посвятившей жизнь развитию этой отрасли знаний, - племянница знаменитого Байрона - леди Лавлейс.
Надо думать, что связь эта далеко не случайна. В этой науке и тех схемах, которые она -породила, смелый полет фантазии сочетается со строгой логикой рассуждений, и в этом есть, несомненно, своя поэзия и красота.
Универсальный язык
Мне кажется, что читатель уже не рискует показаться нескромным, утверждая, что в вопросах, связанных с информацией, он приобрел кое-какой багаж.
Работая над проектом, мы научились превращать сообщения в электрические сигналы, передавать их по многим каналам и обрабатывать эти сигналы с помощью логических схем. Остается решить лишь один важный вопрос. Для того чтобы все звенья нашей системы взаимодействовали и имели «общий язык», мы должны применять в них какой-то единый код. Опыт последних десятилетий подсказывает единственный путь: самым удобным «языком электроники» является двоичный код.
Главным его преимуществом является простота. В самом деле: можно забыть все цифры, правила деления и умножения и ряд более сложных правил, если умеешь верно считать до двух.
Смотрите, как это просто: возьмите любое десятичное число, например 307.
Что означает подобная запись?
Она означает, что в этом числе содержится 3 сотни, 0 десятков и 7 единиц. И десятки, и сотни, и единицы - это различные степени числа 10. В этом нетрудно убедиться, взглянув на такую запись:
100
102
3
10
101
0
1
100
7
Значит, число 307 можно представить так:
307 = 3·102 + 0·101 + 7·100.
Теперь такую же запись составьте и для различных степеней числа 2.
20
1
21
2
22
4
23
8
24
16
и т.д.
Любое число (например, число 25) вы можете разложить по степеням числа 2 и определить, какие разряды двоичной системы содержит в себе это число:
25 = 16 + 8 + 1 = 1·24 + 1·23 + 0·22 + 0·21 + 1·20.
Теперь вынесите множители всех разрядов и прочтите полученное число: 11 001. Так выглядит в двоичной системе счисления десятичное число 25.
Таким же путем можно превращать в набор единиц и нулей любые числа. Теперь вспомните, каких трудов стоило вам в свое время выучить наизусть таблицу умножения. До сих пор живут в вашей памяти обложки тоненьких школьных тетрадок, а на них девять столбиков, в каждом по 10 строк. А в двоичной системе всю таблицу можно усвоить с первого взгляда:
0 x 0 = 0
0 x 1 = 0
1 x 1 = 1
Остается условиться о том, что, посылая импульс, мы передаем цифру I, а отсутствие импульса соответствует цифре 0; и различными сочетаниями импульсов мы сможем сообщать любое число. По этому принципу и строится двоичный код.