Троичная логика: от истоков к упущенному шансу изменить цифровой мир

Современная цивилизация прочно стоит на фундаменте двоичной логики. Эта концепция предельно лаконична: «да» или «нет», истина или ложь, наличие сигнала или его отсутствие. На базе этой дуальности выстроены сложнейшие аппаратные архитектуры, протоколы передачи данных и все многообразие цифрового мира. Кажется, что такой путь был единственно верным и предопределенным.

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

В чем заключался глубокий смысл такого подхода и почему инженеры всерьез рассматривали альтернативу биту? Давайте разберемся в истоках и перспективах этой идеи.

Работа с «Сетунью»
Эксплуатация ЭВМ «Сетунь»

Превосходство тройки над двойкой

Чтобы осознать преимущества троичного подхода, нужно обратиться к классической математике. Еще в начале XIII века Леонардо Пизанский, более известный как Фибоначчи, сформулировал знаменитую «задачу о гирях». Он искал способ измерить любой груз массой от 1 до 40 фунтов, используя минимальный набор эталонов.

Математик наглядно показал: если гири размещаются только на одной чаше весов, оптимальной будет двоичная прогрессия (1, 2, 4, 8, 16, 32). Однако если задействовать обе чаши, используя гири как груз и как противовес, самым эффективным решением становится троичный ряд: 1, 3, 9 и 27 фунтов. Всего четыре гири вместо шести позволяют получить любую комбинацию в указанном диапазоне. В этом случае гиря на чаше с грузом получает условный знак «минус», а на свободной — «плюс». Так родилась симметричная троичная система счисления со значениями (-1, 0, 1).

С точки зрения вычислительной техники такая система обладает уникальными свойствами. В ней исчезает потребность в отдельном «знаковом бите», так как знак числа определяется его старшим разрядом. Операция смены знака превращается в простую инверсию всех разрядов, а округление до ближайшего целого сводится к банальному отсечению лишних знаков без сложных алгоритмических проверок.

Но главная теоретическая ценность кроется в плотности записи данных. В середине прошлого века профессор МГУ С.В. Фомин математически обосновал, что наиболее экономичной системой счисления является та, чье основание максимально близко к числу Непера (e ≈ 2,718). Именно в этой точке эффективность использования ресурсов достигает пика. Поскольку ближайшее целое число к e — это 3, троичная система теоретически позволяет оперировать большим объемом информации при сопоставимых затратах на «железо».

Но как это выглядит в контексте инженерного бюджета?

Тот самый Фибоначчи
Леонардо Пизанский (Фибоначчи)

Математическая элегантность Фомина

Для тех, кто предпочитает наглядные примеры сложным формулам, эффективность троичного подхода можно объяснить через простую модель оптимизации ресурсов.

Представьте, что мы проектируем запоминающее устройство, где создание каждого устойчивого состояния элемента стоит фиксированную сумму. Пусть бюджет составляет 100 условных единиц. Наша цель — сконфигурировать память так, чтобы она могла хранить максимальное количество уникальных чисел.

Сравним два варианта:

1. Двоичная система: каждая ячейка (2 состояния) стоит 2 единицы. На 100 единиц мы покупаем 50 ячеек. Количество комбинаций: 2⁵⁰ ≈ 1,13 × 10¹⁵.

2. Троичная система: ячейка (3 состояния) стоит 3 единицы. Мы приобретаем 33 ячейки. Количество комбинаций: 3³³ ≈ 5,5 × 10¹⁵.

Результат впечатляет: при идентичных затратах троичная система обеспечивает почти пятикратное преимущество в информативной емкости по сравнению с двоичной. Дальнейшее увеличение основания системы (например, переход к десятичной) лишь снижает эффективность — на те же 100 единиц в десятичной системе мы получим всего 10¹⁰ комбинаций, что несопоставимо меньше двоичного варианта.

Для Фомина и его единомышленников тройка была «математическим граалем», обещающим колоссальный прирост мощности. Проблема заключалась лишь в создании надежного физического носителя для трех состояний.

Нюансы теории

Стоит признать, что выкладки Фомина носят сугубо теоретический характер. Они базируются на допущении, что стоимость реализации троичного триггера лишь в 1,5 раза превышает стоимость двоичного, что на практике подтверждается далеко не всегда.

Если в бинарных системах разграничить уровни сигнала («есть» или «нет») технически просто, то удержание трех стабильных состояний требует гораздо более сложных инженерных решений, где математический идеал часто сталкивается с суровой промышленной реальностью.

«Сетунь»: Троичный прорыв в советской науке

В середине 1950-х МГУ остро нуждался в вычислительных мощностях. После того как университету не удалось получить готовую машину М-2, академик Сергей Соболев инициировал разработку собственного малогабаритного компьютера. Техническое руководство проектом взял на себя Николай Брусенцов — инженер с нестандартным взглядом на архитектуру ЭВМ.

Николай Петрович Брусенцов
Николай Петрович Брусенцов в период разработки «Сетуни»

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

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

Архитектура «Сетуни» стала эталоном инженерного минимализма:

  • Компоненты: Всего 3500 феррит-диодных ячеек и около 300 транзисторов (вспомогательно). Это обеспечило феноменальную для того времени живучесть.

  • Числовое представление: Использование «тритов» (ternary digit) и «трайтов» (6 тритов). Диапазон значений одного трайта составлял от -364 до +364.

  • Программная лаконичность: Система команд включала всего 24 операции. Программировать «Сетунь» можно было напрямую в кодах, обходясь без ассемблера, благодаря интуитивной понятности троичной арифметики.

  • Надежность: Машина демонстрировала аптайм на уровне 95-98%. Первый прототип успешно эксплуатировался 15 лет, зафиксировав лишь единичные случаи отказа компонентов.

Серийное производство стартовало в Казани в 1961 году. Около полусотни машин разошлись по всему Союзу, работая в самых суровых условиях без постоянного штата техников, что было абсолютным нонсенсом для тогдашней индустрии.

«Сетунь». Компактный машзал
Машзал с установленной ЭВМ «Сетунь»

Причины заката троичной эры

Несмотря на явный успех, в 1965 году проект был свернут. Причины фиаско лежали не в технической, а в экономической и психологической плоскостях.

Во-первых, «Сетунь» оказалась «слишком дешевой». В условиях советской плановой экономики заводам было выгоднее производить дорогостоящие двоичные машины, чтобы легче выполнять план «по валу» в денежном эквиваленте.

Во-вторых, мировая индустрия уже сделала выбор в пользу бинарных транзисторов. Полупроводниковый триггер идеально работал в режиме ключа («включено/выключено»). Создание столь же простых и эффективных трехпозиционных элементов на полупроводниках оказалось нетривиальной задачей. Троичные системы требовали иной культуры производства и специфических техпроцессов, к которым промышленность того времени не была готова.

В 1970 году Брусенцов представил еще более совершенную «Сетунь-70», предвосхитившую многие идеи современного структурного программирования, но в серию она так и не пошла.

Логика Аристотеля против Буля

Брусенцов полагал, что двоичная булева логика слишком ограничена для описания реальности. Она жестко диктует «закон исключенного третьего», в то время как человеческое мышление оперирует категориями «неизвестно» или «несущественно».

Троичная логика, опирающаяся на идеи Аристотеля, естественным образом обрабатывает неопределенность. С инженерной точки зрения это открывает колоссальный потенциал: если в двоичной логике возможны 16 бинарных функций, то в троичной их число достигает 19 683. Это комбинаторное богатство позволяет создавать невероятно компактные и мощные алгоритмы, недоступные классическим бинарным системам.

Еще немного «Сетуни»
Фрагмент конструкции ЭВМ «Сетунь»

Наследие и взгляд в будущее

После закрытия программы «Сетунь» троичные разработки переместились в область чистых исследований. В 70-80-х годах в Казахстане велись работы по созданию спецпроцессоров для навигационных систем, использующих преимущества троичного исчисления. Однако до массового производства дело не дошло.

Сегодня, когда кремниевая электроника вплотную приблизилась к физическим пределам миниатюризации, интерес к троичным системам вспыхивает вновь. Ученые экспериментируют с КМОП-транзисторами, резонансными туннельными диодами и нейроморфными архитектурами, способными эффективно обрабатывать три и более состояния.

Интересный факт

В англоязычной технической литературе двоичный триггер называют flip-flop. Патриарх программирования Дональд Кнут, рассуждая о троичных системах, предложил термин flip-flap-flop — звучное описание трех стабильных состояний. К сожалению, этот «flap» пока остается лишь теоретическим допущением в мире тотального господства бинарных систем.

История «Сетуни» — это рассказ о том, как изящное и эффективное решение может проиграть в борьбе с инерцией мейнстрима и экономическими факторами. Но идеи не умирают. Возможно, именно отчеты Брусенцова станут фундаментом для компьютеров будущего, которые наконец-то научатся понимать не только «да» и «нет», но и все многообразие промежуточных состояний нашего мира.


Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.
Эксклюзивно для читателей SE7ENа мы даем бонус 10% при первом пополнении.

Воспользоваться
Воспользоваться предложением
 

Источник

Читайте также