Не все биты кодируют факты. Иногда последовательности битов служат совершенно другим целям. Во многих компьютерных процессах, таких как игра «Жизнь», биты могут вообще не кодировать никакие факты или предположения. Компьютеры по своей сути являются устройствами для кодирования структурной информации и манипулирования ею. Кодирование семантической информации и манипулирование ею – просто одно из их основных применений.
Область исследований XX века, известная как теория информации, сосредоточена на структурной, а не на семантической информации. Некоторые из ее главных достижений касаются измерения количества структурной информации. Для этого существует, по крайней мере, три важных показателя.
Самый простой и привычный способ оценить количество информации – посчитать размер последовательности битов. Например, объем информации в последовательности из 8 бит – это просто 8 бит, или 1 байт. Когда мы говорим, что объем памяти вашего компьютера составляет 32 гигабайта, мы ссылаемся на этот показатель. Второй показатель количества информации, разработанный в 1940-х математиком и инженером Клодом Шенноном, оценивает, насколько удивительной или невероятной является данная последовательность битов. Третий показатель количества информации, разработанный в 1960-х советским математиком Андреем Колмогоровым и американскими математиками Рэем Соломонофф и Грегори Хайтином, – определяет, насколько легко последовательность битов может быть сгенерирована компьютерной программой. Эти три показателя структурной информации* служат взаимодополняющим целям при анализе вычислений и коммуникации.
Как мы видели, структурная информация не всегда включает двоичные числа. Калькулятор Лейбница был основан на десятичных числах (от 0 до 9). Вы можете создать компьютер, который использует троичные информационные состояния (0, 1, 2), иногда называемые тритами. Цепочки тритов также считаются структурной информацией, хотя для вычислений биты более практичны.
Все виды структурной информации включают систему различий. Простейшее из них – это бинарная разница между двумя состояниями: 0 и 1. Вы можете классифицировать структурную информацию и другими способами, вплоть до квантовых и аналоговых различий.
Относительно новая область квантовых вычислений фокусируется на кубитах. Для кубита допустимы два состояния, но он может находиться в квантовой суперпозиции – в обоих состояниях одновременно. В то время как обычный бит – это либо 0, либо 1, кубит представляет собой суперпозицию 0 и 1, линейную комбинацию с разными амплитудами для каждого слагаемого. Кубиты более сложны, чем биты, но они по-прежнему являются формой структурной информации, включающей характерную систему различий.
Теоретики также разработали модели аналоговых вычислений* – вычислений с использованием действительных чисел, таких как 0,732 или квадратный корень из 2, множество которых непрерывно. Например, в статье 1989 года Ленор Блюм и двух ее коллег описывается компьютер, который использует действительные числа, такие как 0,2977 (с бесконечной точностью) вместо битов. Мы могли бы назвать эти числа «непрерывными» или «аналоговыми» цифрами, но для наших целей я буду обозначать «непрерывную»* версию битов реалами[15].
Аналоговые компьютеры, использующие непрерывные величины, не особенно полезны на практике. Невозможно создать надежные аналоговые компьютеры с бесконечной точностью. У нас нет бесконечно точного контроля над физическими материалами, и слабые сигналы перекрываются шумами. Аналоговые компьютеры с конечной точностью часто избыточны – они могут быть аппроксимированы обычными цифровыми компьютерами, если мы используем достаточное количество битов, – но тем не менее они нашли некоторое применение в разработке микросхем. Для философских целей непрерывные величины остаются полезны при размышлении о возможных системах обработки информации. Они станут особенно актуальны, когда мы начнем размышлять о связи между структурной информацией и непрерывными законами физики.