Книга: Краткая история цифровизации
Назад: 4. Математическое дитя
Дальше: 6. Ужин с салатом из индейки

5. Всё и ничто

Еще Ницше предупреждал, что сражающемуся с чудовищами следует остерегаться, как бы самому не стать чудовищем. Таким чудовищем, без сомнения, следует признать современную логику, потому что она сыграла злую шутку со всеми, кто всерьез ей занимался. Готтлоб Фреге ушел в депрессию и исступленный антисемитизм, Георг Кантор умер в психиатрической лечебнице, Курту Гёделю постоянно чудилось, что холодильник сильно гудит, вокруг снуют призраки, а окружающие хотят его отравить (ну а когда его жена оказалась в больнице с травмой позвоночника, то никто и не заметил, как он умер от голода). Неужели быть психически здоровым – это исключительный случай для любого логика?
Ясно одно: основатель символической логики Джордж Буль сохранил здравый рассудок – возможно потому, что он сам и создал тот самый лабиринт, из которого не смогли найти выход его последователи. Буль создал бинарную систему из нулей и единиц, которая является основой любого современного языка программирования.
Эта система была решением проблемы десятичного переноса, с которой не смог справиться Чарльз Бэббидж при создании своей аналитической машины, хотя всё это стало ясно значительно позже. Трудами Буля пользовались Клод Шеннон, считающийся автором современной теории информации, а также Конрад Цузе, создатель первого работоспособного цифрового компьютера: описывать сложение, вычитание и умножение в булевой логике было значительно проще, чем в традиционной десятичной системе.
Только вот утверждать, что Джордж Буль был просто математиком, было бы ошибкой. Он родился в 1815 году в английском городе Линкольн в семье сапожника и с самых ранних лет прослыл вундеркиндом: самостоятельно выучив латынь и греческий, он в двенадцатилетнем возрасте так хорошо перевел оду Горация, что преисполненный гордости отец опубликовал ее, а учитель местной школы даже усомнился, что ребенок вообще способен на такую глубину чувств.
Всё это никак не смутило Буля. Он продолжил изучать языки и освоил немецкий, итальянский и французский, а в 16 лет, когда дела отца пошли плохо, стал основным кормильцем большой семьи: работая вначале помощником учителя, а потом и учителем в Институте механики своего родного города Линкольн. Мальчика привлекала карьера священника, однако педагогическая стезя в итоге одержала верх, и через четыре года 20-летний Буль открыл собственную школу.
Его обращение к математике после глубокого интереса к классическим и современным языкам связано с откровением, которое он испытал в 17 лет. В этом откровении не было ничего сверхъестественного – не сравнить с опытами Чарльза Бэббиджа, который пытался выманить дьявола из своего царства, очертив себя кругом из крови (тот опыт провалился, а сам Бэббидж стал веселым агностиком). В случае Буля не было ни искушения, ни драмы, просто в очередной раз проходя по тропинке через луг, он вдруг задался вопросом: почему люди обозначают такие разные вещи, например яблоки и груши, одними и теми же знаками – в этом случае цифрой 3? Получается, в человеческом мозге есть какая-то природная сила, которая сопровождает любое осознание и любую мысль, позволяя одинаковым образом считать и яблоки, и груши?
В самой постановке вопроса нет ничего революционно нового: многие поколения математиков до Буля были убеждены в том, что числа – это что-то априорное, изначально присущее нашему рассудку ровно в той же мере, что и чувство прекрасного, доброго и хорошего. Однако в этой точке зрения есть одна загвоздка: мысль о том, что каждый человек – математик от рождения, может, пожалуй, возмутить какого-нибудь математика, притом что вся остальная общественность вряд ли сильно впечатлится этим. И потом – такое утверждение порождает серьезные логические проблемы. Скажем, человек от рождения знает о числе 3. А о числах 4001 и 41627?
А об отрицательных числах? А об иррациональном и трансцендентном числе π?

 

 

Фокус Буля состоял в том, что он вообще не пускался в эти софистические рассуждения, а посмотрел на мир по-новому взглядом, свободным от всяческих предрассудков. Он спросил себя, может ли быть такое, что эта природная сила еще никем не была найдена и представляла собой нечто неосознанное. При этом «неосознанное» в его интерпретации было чем-то крайне простым, – тем, что делает маленький ребенок, когда прячет, а потом достает игрушку: «Где зайчик? Вот он!»
Буль понял, что законы мышления опирались на факт присутствия или отсутствия предмета, и это прозрение имело далеко идущие последствия, ведь, начав считать в яблоках и грушах, он недолго думая отправил прежний мир чисел на свалку истории. Буль размышлял следующим образом: если все, что существует в мире, бросить в один котел, то это можно будет обозначить одним словом – единством, вселенной или универсумом. Что же останется после того, как мы уместим все в один котел? Правильно – останется ничто. Так он сформулировал два полюса той парадигмы, которую мы не осознаем, но всегда учитываем: «присутствие» и «отсутствие», «всё» и «ничто».
И в этот момент Буль снова вводит в рассмотрение числа, но уже не для вычислений. Напротив, он придает им новое, почти философское значение: единица теперь означает «универсум», а ноль – «ничто». Тут, конечно, возникает вопрос: чего же он добился этим? Давайте возьмем в качестве примера бумажник, который я вчера положил на стол, а сегодня его там нет. Поможет ли мне булева система найти его? Раз я уже всюду обыскался своего бумажника, это значит, что я могу в точности представить его себе. Рассуждая от обратного, можно помыслить и противоположное, то есть универсум без моего бумажника.
Таким образом, мы только что описали искомый бумажник, который для простоты будем называть X, и можем преобразовать это описание в уравнение:

 

1 – не-X (то есть вселенная без того, что не является моим бумажником) = 0 + X (то есть ничто плюс бумажник).

 

Этим приемом Булю удалось добиться того, что было невозможно в классической математике, потому что теперь вычисления стало можно производить с чем угодно. В определенном смысле такой способ мышления значительно точнее, чем традиционный подход, основанный на числах: ведь когда я ищу потерянный бумажник, я не думаю о красно-коричневом кожаном бумажнике шириной 12,5 см, высотой 9 см, глубиной 2 см, содержащем ровно 67 евро и 58 центов. Нет, я просто ищу и не нахожу знакомый мне предмет. В этот момент идентификация предмета происходит не через числа, а через восприятие – то есть через осознание того факта, что нужная мне вещь отсутствует на привычном месте. Всё это скорее роднит булеву логику с обычной операцией поиска, а не с операцией подсчета.
Если вы успели уследить за моими объяснениями, то уже начинаете понимать, что идеи Буля были такими же революционными, каким было открытие электрического флюида. Они позволяли описывать любой объект и любое соотношение объектов в логике нулей и единиц: бумажник (есть или нет), состояние двери в квартиру (открыта или закрыта), количество сорванных с дерева яблок или груш в корзине. Числа передают только один из аспектов окружающего мира (квант), а булева логика позволяет описывать все мыслимые качества: голос, который приглашает покупателей в магазин, данные о местоположении кита или движение руки (которое за человеком тут же повторяет робот). Это даже не математика, это шаг к созданию совершенно новой универсальной письменности. Какова же наименьшая единица этой письменности? В логике наличия и отсутствия это уже не цифра, а минимально возможная единица значения – бит.

 

 

Как известно, бит может быть «включен» или «выключен», что определяет его булево значение: наличие или отсутствие. Как же преобразовать такой бит в число? Просто взять и выразить его числом. При этом численное значение – далеко не единственное возможное. Если мне захочется, бит я могу представить и в виде закрашенного квадратика (■) или в виде буквы, с которой начинается следующий абзац. Ясно одно: в булевой алгебре ничто больше не является тем, что собой представляет. Любая сущность в этой логике – всего лишь последовательность битов. Теперь давайте разберемся, как преобразовать предмет в биты. Начнем с чисел, которые Буль выносит за рамки своего рассуждения о наличии и отсутствии, о «всем» и «ничем». Что произойдет, если представить бит в виде числа? Во-первых, я не смогу даже досчитать этими числами до двух, ведь «невключенный» бит интерпретируется как «ничто», то есть 0, а «включенный» как 1.

 

 

Чтобы досчитать до трех, нам потребуется два бита:

 

 

Если добавить еще один бит, то мы уже продвинемся до семи.

 

 

Доступное нам пространство для вычислений удваивается с каждым битом, как в задаче о шахматной доске, где за первую клетку изобретатель шахмат запросил у короля одно рисовое зернышко, а за каждую следующую вдвое больше, чем за предыдущую. Если тремя битами можно записать восемь чисел (от 0 до 7), то четырьмя битами – уже 16 чисел, пятью битами – 32 числа, а 64 бита уже позволяют нам оперировать невообразимым количеством из 18 квинтиллионов 446 квадриллионов 744 триллионов с мелочью чисел. При всем этом число является лишь одним из возможных выражений последовательности битов, ведь с таким же успехом ее можно представить в виде акустической волны или букв (а если это ASCI-код, то это будут такие же буквы, какими вы читаете эту книжку).
Упомянутая нами связь с электричеством неслучайна, потому что булева алгебра стала универсальным языком, который позволяет описать все, поддающееся электрификации, в виде последовательности из нулей и единиц. В этом смысле та судьбоносная мысль на прогулке стала для Буля громом среди ясного неба. Конечно, вряд ли Джордж Буль с самого начала понимал, что его детище однажды примет облик электронных вычислительных машин: когда Чарльз Бэббидж в 1862 году показал ему свою аналитическую машину, выяснилось, что Буль ничего не знал ни о жаккардовом ткацком станке, ни о законах электричества, что, однако, не умаляет важности его открытия. Несмотря на то, что Буль не видел прямого практического применения своей алгебры, она действительно совершила революцию не только в математике, но и в логике и философии – не только из-за того, что она сделала мир чисел миром информации, а еще из-за того, что позволила выполнять любые математические операции: с ее помощью можно складывать и вычитать, использовать сложные алгебраические формулы и даже оценивать логические высказывания, интерпретируя «присутствие» и «отсутствие» как «правду» и «ложь». В определенной мере эта логика становится машиной, ведь суждения теперь выносятся не по усмотрению какого-то определенного человека, а на основе объективных логических умозаключений. Именно такой принцип вдохновил экономиста Уильяма Стэнли Джевонса на создание «логического пианино» – механического аппарата, который оценивал истинность посылки, введенной с клавиатуры.
Поиск основной движущей силы нашего мышления вообще был основным направлением науки того времени.
Пока Буль сидит за своей алгеброй, английский хирург Альфред Сми, исследователь нервной системы и человеческого мозга, издает книгу, где целая глава посвящена законам мышления. Эти законы он тоже называет биологической алгеброй.
Тем не менее булева логика поначалу долгое время оставалась в тени: ее никто не заметил, кроме нескольких математиков. Возможно, дело было в подчеркнутой скромности самого Буля или в том, что он преподавал в университете на юге Ирландии, – в любом случае он стал неизвестным солдатом в истории вычислительной техники. Любой программист сегодня знаком с булевыми операторами, однако мало кто знает хотя бы что-то о жизни их изобретателя. На его надгробии лишь одна скупая запись: «Джордж Буль, скончался 8 декабря 1864 г.» В его смерти есть что-то трагическое: однажды по дороге домой профессор Буль попал под холодный ливень, а его супруга, следуя тогдашним представлениям о природном врачевании, решила лечить подобное подобным и облила мужа ледяной водой. В результате такой терапии у Буля развился отек легких, и вскоре он скончался. Так базовая формула компьютерной эры осталась в неизвестности, как и ее создатель.

 

 

Много лет назад, когда я впервые увидел эту формулу, она поразила меня как гром среди ясного неба. Почему? Да потому что она переворачивает привычные представления о мире с ног на голову. Первым в ней бросается в глаза то, что она описывает не равновесие, а структурную асимметрию мироустройства. При этом такая асимметрия вполне знакома нам, хотя и кажется чуждой: мы же знаем, что все, что было оцифровано, может быть воспроизведено бессчетное количество раз. Если же применить эту формулу к себе самому, то сразу начинаешь ощущать ее беспощадность, ведь она выражает мысль, которую каждый всегда гнал от себя: я – всего лишь один из многих, я образую популяцию, мое существование необязательно. В этот момент нас настигает болезненное осознание и когнитивный диссонанс: смутные подозрения реализовались, потому что мы-то знаем, что человеческое тело – не цифровая сущность, и его нельзя просто так взять и воспроизвести. Однако именно в этом и состоит фокус – булева формула дарит любой заурядной вещи возможность бесконечного существования. Это формула-обманка, подражающая природе, почти идеальная машина, которая, как и все успешные машины до нее, будет преобразовывать мир по своему образу и подобию. Я уже говорил, что булев закон поразил меня как гром среди ясного неба, но за этим последовало изумление: я ждал, что грозовая туча разразится ливнем, но не услышал ничего, кроме звенящей тишины. Дело в том, что мне так до сих пор и не удалось встретить хоть кого-нибудь, кто находит булеву логику естественной или хотя бы понятной. Наверное, именно поэтому люди пишут книги и утверждают в них, что могут точно определить момент начала какой-то истории. Как, например, понять фильм, если включаешь телевизор только в момент основной развязки?
Тем не менее булева алгебра все-таки смогла проложить себе дорогу, пусть и через третьи руки, в чужой трактовке и с множественными изменениями, в первую очередь благодаря Готтлобу Фреге – архетипическому философу, фанату чистоты и обсессивному педанту.
Если у Фреге и есть враги, то это язык, который он считает недостаточно точным и ясным. Чтобы вытравить из коварного языка всю двусмысленность и размытость, Фреге решительно берется за его переделку в точный инструмент, функционирующий столь же безотказно и эффективно, как законы математики. Его умозаключения безупречны, что дает ему право называть себя философом, смотрящим на мир сверху сквозь микроскоп – в отличие от обычных людей, которые ограничены собственным кругозором. Историки науки хвалят Фреге за то, что своей большой терминологической чисткой он совершил революцию в логике и философии. Именно Фреге считается основоположником философии языка и создателем формальных языков, и именно на него ссылаются такие мыслители, как Карнап, Рассел и Витгенштейн. От идей Фреге рукой подать до информатики и компьютерных наук, поэтому его часто представляют как гения, открывшего дверь в цифровую эру, забывая при этом одну важную деталь: логика, на которой основана вся его теория, позаимствована у Буля (это подметил еще современник великого немца Чарльз Сандерс Пирс, который с досадой писал, что постулаты Фреге в лучшем случае представляют собой «переписанные» труды Буля).
Воровство действительно является общепринятой научной практикой, если соблюдены три условия: воровать только у лучших, указывать их имена и не искажать сворованное. Фреге трудно упрекнуть в несоблюдении первого правила, а вот со вторым и третьим у него как-то не задалось: ведь мало того, что он всячески пытался принизить влияние, которое на него оказали идеи Буля, так еще и снова через черный ход вернул в свою теорию мир чисел, от которого смог избавиться Буль. Почему?
Ответ мы можем найти в небольшом рассуждении Фреге о природе мыслей, где он спрашивает себя, чем мысль отличается от молотка. Молоток, пишет он, является рукотворным инструментом, а мысль – как философское осознание – не создается человеком, а внушается ему высшими существами. Мысль как таковая «истинна и вне времени», как планета, которая всегда движется по своей орбите.
Такая идея, конечно же, вдохновила философов – кому же не понравится, что его причисляют к высшим существам? Опираясь на этот постулат, все начали создавать таблицы истинности, потому что увидели в символической логике ключ к решению всех проблем нашего мира.
Если мы тоже хотим последовать их примеру и петь осанну искусственному интеллекту, нам придется позабыть все, что обсуждали на предыдущих страницах: историю про электричество, ангелов и монстров, а также все те неизвестные, с которыми мы долго боролись. Для Фреге с его божественным микроскопом все это – грязь, требующая уборки, поэтому он и утверждает, что не позаимствовал свои максимы у Буля, а был осенен прозрением свыше, как художник, который закрашивает угол картины черным и говорит, что это ему приказал сделать высший разум. Узнаёте? С таким типажом мы уже неоднократно встречались: тут и невеста науки Ада Лавлейс, которая считала себя избранной, и исследователи электричества, которые думали, что могут вершить суд о жизни и смерти. Конечно, для этого надо мнить себя высшим существом, что в случае с Фреге выразилось не только в замалчивании заслуг Буля, но и в исступленном антисемитизме.
И тут наступает 1936 год. (Не удивляйтесь: история компьютера знает много подобных отступлений и идет странными путями, пронизывающими пространство и время словно червоточины.) Во всех домах есть электричество, уже изобрели радио и телевидение. В помещении Массачусетского технологического института стоит стотонный механизм колоссальных размеров, полный разных тяг и зубчатых колес. С помощью перфокарт в него вводится математическая задача, и он, произведя странные движения, в конце концов выплевывает результат вычислений.
Следить за работой его поручено Клоду Шеннону, который от своего начальника знает, что механический монстр построен по образу и подобию аналитической машины Бэббиджа. Это означает, что машина работает доцифровым образом, хотя и приводится в действие с помощью электричества. Агрегат постоянно ломается, и сотрудники института часто проводят время за починкой неработающих реле.
Наблюдая за этим, Шеннон замечает, что электрические цепи очень похожи на символьную логику Буля, про которую он слышал в университете. Клод Шеннон – незаурядный человек, умелый жонглер, любитель кататься на одноколесном велосипеде, а еще изобретатель – берется за дело и начинает придумывать, как усовершенствовать и модернизировать конструкцию механизма и сделать из него по-настоящему цифровой компьютер. Ему кажется, что для этого нужно всего лишь применить законы булевой логики к соединению реле. Чтобы складывать и умножать числа, нужны два реле, подключаемые к цепи по-разному: для арифметического сложения (или, точнее, для выполнения операции логического И) – последовательно:

 

 

А для арифметического умножения, то есть для операции логического ИЛИ, – параллельно:

 

 

Совсем тривиально это, конечно, не выглядит, особенно если представить себе схему из миллионов транзисторов, однако сам принцип крайне прост: электрический ток, прирученный с помощью булевой логики, – это энергия, которая преобразуется в информацию. Скажем так: если Бэббиджа сложить с Булем, получится Шеннон. Как там говорил Карл Маркс? История повторяется, причем второй раз – обычно в виде фарса. Сложность состоит в том, что мы часто упускаем из виду предысторию или, как в случае с Фреге, просто не знаем, что она была. Так произошло и с Клодом Шенноном – именно его научная общественность и окрестила отцом информационного века, а Американское инженерное общество вручило ему премию им. Альфреда Нобеля. В отличие от Фреге, Шеннон был достаточно добросовестным человеком, но в какой-то момент и он решил, что чужие достижения можно выдавать за свои. Когда журналисты однажды спросили его, в какой момент он воскликнул «Эврика!», он ответил: «Я не помню, а если такой момент и был, то я даже не знаю, как написать слово „Эврика“ греческими буквами». Другие знаковые достижения Шеннона также были сделаны в русле этой разрушительной, но не лишенной юмора антиметафизики. Среди них не только тромбон-огнемет, но и устройство, которое он назвал «совершенной машиной» (ultimate machine). На этой машине была только одна кнопка. Когда пользователь нажимал ее, крышка открывалась, из машины высовывалась «рука», которая снова нажимала ту же самую кнопку, и аппарат снова закрывался.
Назад: 4. Математическое дитя
Дальше: 6. Ужин с салатом из индейки