Двоичная система Лейбница (1703)

Что произошло

В 1703 году Готфрид Вильгельм Лейбниц — немецкий философ, математик, дипломат, юрист, историк, библиотекарь и, пожалуй, последний в истории настоящий универсальный гений — опубликовал в трудах Парижской академии наук статью с длинным названием: «Explication de l’Arithmétique Binaire, qui se sert des seuls caractères 0 & 1, avec des Remarques sur son utilité, & sur ce qu’elle donne le sens des anciennes figures Chinoises de Fohy» — «Объяснение двоичной арифметики, которая использует лишь символы 0 и 1, с замечаниями о её полезности и о том, что она раскрывает смысл древних китайских фигур Фуси».

В этой статье Лейбниц изложил позиционную систему счисления с основанием 2. Вместо десяти цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) — только две: 0 и 1. Число «пять» записывается как 101. Число «десять» — как 1010. Лейбниц показал, что в этой системе можно выполнять все арифметические операции — складывать, вычитать, умножать, делить — так же, как в привычной десятичной, только проще: таблица умножения состоит из четырёх строк вместо ста.

Статья 1703 года не произвела фурора. Для практических вычислений XVIII века двоичная запись была неудобна: число, которое в десятичной системе занимает три цифры, в двоичной растягивается на десять. Никаких электрических схем, для которых два состояния — «включено» и «выключено» — были бы идеальным языком, ещё не существовало. Мир не был готов.

Лейбниц и сам воспринимал двоичную арифметику не столько как вычислительный инструмент, сколько как метафизическое откровение. Он видел в ней доказательство того, что всё многообразие мира может быть порождено из двух начал — единицы и нуля, бытия и небытия, Бога и пустоты. «Чтобы всё извлечь из ничего, достаточно единицы», — писал он.

Контекст эпохи

Готфрид Вильгельм Лейбниц родился в 1646 году в Лейпциге, в семье профессора нравственной философии. Отец умер, когда мальчику было шесть лет, оставив после себя библиотеку. К двенадцати годам Готфрид самостоятельно выучил латынь, читая книги отца. К пятнадцати поступил в Лейпцигский университет. К двадцати получил докторскую степень по праву в Альтдорфе. Лейпцигский университет отказал ему в степени — слишком молод. Альтдорф не только присвоил степень, но и предложил профессорскую кафедру. Лейбниц отказался — ему было тесно в академии.

Следующие пятьдесят лет его жизни — это непрерывная полифония занятий, каждое из которых хватило бы на отдельную биографию. Он изобрёл дифференциальное и интегральное исчисление — независимо от Ньютона и с другой нотацией, которая оказалась удобнее ньютоновской и используется до сих пор. Спроектировал и построил механический калькулятор — Stepped Reckoner — первую в мире машину, способную умножать и делить (калькулятор Паскаля умел только складывать и вычитать). Разработал проект горного насоса для откачки воды из шахт Гарца. Написал тысячи страниц по философии, в которых предложил концепцию монад — элементарных единиц бытия. Состоял в переписке с сотнями людей по всей Европе — от Ньютона до Петра I.

Именно в этом контексте — контексте человека, одержимого идеей универсального языка, способного описать всё сущее, — появилась двоичная система. Лейбниц не просто искал удобный способ записи чисел. Он искал алфавит мироздания. Язык, состоящий из минимального числа символов, который тем не менее мог бы выразить всё. Два символа — 0 и 1 — казались ему таким алфавитом.

В этих поисках Лейбниц неожиданно обнаружил родственную душу — на расстоянии тысяч километров и тысяч лет. В 1697 году французский иезуит-миссионер Жоаким Буве, работавший при дворе китайского императора Канси, прислал Лейбницу описание Книги перемен — И-Цзин. Эта древнекитайская система, приписываемая легендарному императору Фуси, основана на 64 гексаграммах — фигурах из шести линий, каждая из которых может быть сплошной (ян) или прерывистой (инь). Лейбниц мгновенно увидел в гексаграммах двоичные числа от 0 до 63. Сплошная линия — единица, прерывистая — ноль. Порядок гексаграмм Фуси, расположенных определённым образом, точно воспроизводил двоичную последовательность.

Это совпадение потрясло Лейбница. Он интерпретировал его как свидетельство существования универсальной математической гармонии, доступной разным цивилизациям в разные эпохи. Именно после получения письма Буве он решил наконец опубликовать статью о двоичной арифметике — ту самую статью 1703 года, в заголовке которой упоминаются «древние китайские фигуры Фуси».

Современные синологи относятся к интерпретации Лейбница с осторожностью: И-Цзин — не математический трактат, а гадательная и философская система, и совпадение с двоичным счётом, вероятно, поверхностное. Но для истории идей важен не вопрос о том, правильно ли Лейбниц понял И-Цзин. Важно то, что встреча с древней китайской мыслью дала ему импульс опубликовать работу, которая через два с половиной столетия ляжет в основу всех компьютеров на планете.

Значение для UX

Между статьёй Лейбница 1703 года и современными цифровыми интерфейсами — длинная цепочка шагов, каждый из которых был необходим.

В 1847 году английский математик Джордж Буль опубликовал «Математический анализ логики», в котором свёл логические операции — «и», «или», «не» — к алгебраическим выражениям, оперирующим двумя значениями: истина и ложь, 1 и 0. Булева алгебра стала языком, на котором можно описывать логические схемы.

В 1937 году 21-летний аспирант MIT Клод Шеннон в магистерской диссертации показал, что булева алгебра может быть реализована в электрических цепях: переключатели «замкнут» и «разомкнут» — это 1 и 0. Эта работа, которую многие считают самой важной магистерской диссертацией XX века, перебросила мост от абстрактной математики Лейбница и Буля к физическим устройствам.

В 1945 году Джон фон Нейман описал архитектуру компьютера с хранимой программой — машины, в которой и данные, и инструкции представлены в двоичном виде. Архитектура фон Неймана, основанная на двоичной системе Лейбница, стала стандартом для всех последующих компьютеров.

Сегодня двоичная система — невидимая инфраструктура каждого цифрового интерфейса. Каждый пиксель на экране — это набор битов, определяющих его цвет. Каждая буква текста — последовательность нулей и единиц (в кодировке UTF-8 кириллическая «А» — это 11010000 10000000). Каждый тап по экрану смартфона — электрический сигнал, который процессор интерпретирует как двоичное число: координаты точки касания, время, сила нажатия.

UX-дизайнер не думает о битах — как архитектор не думает о молекулах бетона. Но без двоичной системы не было бы ни экранов, ни мышей, ни тач-интерфейсов, ни голосовых ассистентов — ничего из того, что составляет предмет UX как дисциплины. Двоичная система Лейбница — не часть UX, а почва, на которой UX вырос.

Есть и более глубокая связь. Лейбниц всю жизнь мечтал о «characteristica universalis» — универсальном символическом языке, который позволил бы выражать любую мысль однозначно и разрешать споры вычислением. «Давайте посчитаем!» — говорил он вместо «давайте подискутируем». Эта мечта не осуществилась в том виде, в каком её задумывал Лейбниц, — но она реализовалась иначе. Языки программирования, протоколы передачи данных, стандарты кодирования — всё это попытки создать однозначные, непротиворечивые системы описания, в основе которых лежат два символа Лейбница.

А сам принцип — «достаточно двух символов, чтобы выразить всё» — это, если задуматься, частный случай бритвы Оккама: не умножай символы сверх необходимости. Два — достаточно. Из двух элементов, 0 и 1, можно построить текст, изображение, звук, видео, интерактивный интерфейс — всё, с чем работает современный UX.

Связанные статьи

Двоичная система Лейбница — технологический фундамент, на котором выросли все цифровые интерфейсы. Хотя прямых перелинковок с конкретными законами юзабилити здесь меньше, чем у других статей серии, контекст важен:

  • Что такое UX — само понятие пользовательского опыта существует только потому, что появились цифровые устройства, основанные на двоичной системе.
  • Что такое юзабилити — юзабилити как дисциплина возникла из необходимости сделать цифровые системы (работающие на двоичном коде) пригодными для людей (мыслящих не двоично).

Из других статей серии «История UX»:

  • Бритва Оккама (1300) — принцип минимальной достаточности: Лейбниц показал, что двух символов достаточно для выражения любого числа, как Оккам — что минимума допущений достаточно для объяснения явлений.
  • Рождение термина «Эргономика» (1857) — через полтора века после Лейбница наука обратилась к вопросу, который он не ставил: как приспособить инструменты (в том числе вычислительные) к возможностям человека.

Вопросы и ответы

Кто изобрёл двоичную систему счисления?

Двоичную систему счисления в её современном виде описал немецкий философ и математик Готфрид Вильгельм Лейбниц в 1703 году в статье «Explication de l'Arithmétique Binaire». Однако сам принцип двоичного кодирования был известен и ранее: индийский математик Пингала использовал двоичные комбинации для описания стихотворных размеров ещё во II веке до нашей эры, а китайская Книга перемен (И-Цзин) содержит систему из 64 гексаграмм, основанных на комбинациях сплошных и прерывистых линий.

Как двоичная система связана с компьютерами и интерфейсами?

Вся цифровая техника — от процессоров до экранов — работает на двоичной системе: электрический сигнал есть (1) или его нет (0). Каждый пиксель на экране, каждый символ текста, каждый клик мыши — всё кодируется последовательностями нулей и единиц. Двоичная система — невидимый фундамент всех цифровых интерфейсов, с которыми работают UX-дизайнеры.

Почему Лейбниц заинтересовался именно двоичной системой?

Лейбниц видел в двоичной системе не просто математический инструмент, а философскую и теологическую метафору. Он считал, что единица символизирует Бога (бытие), а ноль — пустоту (небытие), и все вещи в мире суть комбинации бытия и небытия. Когда он узнал о китайской Книге перемен (И-Цзин), основанной на комбинациях сплошных и прерывистых линий, это укрепило его убеждение в универсальности двоичного принципа.