Программируя Вселенную. Квантовый компьютер и будущее науки - Сет Ллойд
Шрифт:
Интервал:
Закладка:
Иначе говоря, десять битов соответствуют приблизительно трем цифрам нашей обычной десятичной системы счисления, которые обозначают единицы, десятки и сотни. Измерение количества информации – просто вопрос подсчета. Вести счет в битах проще, чем в цифрах, хотя этот метод знаком нам меньше. Счет от 0 до 9 очень прост: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Но тут цифры кончаются, и следующее число – это 1, после которого следует 0, то есть 10. Число 10 – это 1 в столбце десятков и 0 в столбце единиц. Следующее число, 11, – это 1 в столбце десятков и 1 в столбце единиц. Так можно продолжать считать вплоть до 99. Следующее число – 100. Это 1 в столбце сотен, 0 в столбце десятков и 0 в столбце единиц. (Понятно теперь, почему было так сложно понять десятичную систему счета в первый раз, в пятилетнем возрасте?)
Счет в битах ведется сходным образом. Начнем: 0 = нуль, 1 = один. Пока получается неплохо, но у нас закончились двоичные цифры – биты! Следующая комбинация битов – 10, которая равняется двум: 1 в столбце двоек и 0 в столбце единиц. (Такое представление двойки – это деталь двоичной арифметики, которая дается новичкам труднее всего. Отсюда прекрасная поговорка: «Есть 10 типов людей: те, кто знает двоичную систему счисления, и те, кто ее не знает».) Следующая комбинация – 11, она соответствует трем: 1 в столбце двоек и 1 в столбце единиц. Теперь у нас закончились двухбитовые наборы.
Еще одна комбинация цифр – 100. Она обозначает число четыре: 1 в столбце четверок, 0 в столбце двоек, и 0 в столбце единиц. Затем – комбинация 101, которая обозначает пятерку (1 в столбце четверок плюс 1 в столбце единиц), 110 = шесть, 111 = семь. Число восемь представлено уже четырьмя битами: 1000, где у нас есть 1 в столбце восьмерок и 0 в столбцах четверок, двоек и единиц. У нас есть только два бита вместо десяти цифр, поэтому длина двоичных чисел увеличивается быстрее, чем обычных.
Так же как степени десяти (десятки, сотни, тысячи, миллионы) являются важными числами в обычной, десятичной системе счисления, степени двойки важны при счете битами: 1 = один = 20; 10 = два = 21; 100 = четыре = 22; 1000 = восемь = 23; 10000 = шестнадцать = 24; 100000 = тридцать два = 25; 1000000 = шестьдесят четыре = 26; 10000000 = сто двадцать восемь = 27.
Эти цифры хорошо знакомы… поварам. Английская система мер и весов – это по сути двоичная система: 8 унций в чашке, 16 в пинте (если это американская пинта; британская пинта составляет 20 унций, а тройская пинта – 12 унций), 32 унции в кварте, 64 унции в половине галлона и 128 унций в американском галлоне. Записывать числа в двоичной системе ничуть не труднее, чем измерять объем в квартах, пинтах и чашках. Например, сто сорок шесть унций составляют один галлон плюс одна пинта плюс четверть чашки: 128 + 16 + 2 = 146. В двоичной записи 146 равно 10010010, с единицей в столбце «галлонов», единицей в столбце «пинт», единицей в столбце «четвертинок» и с нулями во всех остальных. Чтобы перевести число в двоичный вид, нужно просто измерить его чайными ложками!
Американская система измерения объема основана на двоичной системе счисления
Сто сорок шесть унций составляют один галлон плюс одна пинта плюс одна четверть чашки. В двоичной записи, 146 = 10010010
Вести счет в двоичной системе легко (но не очень, если вы встретились с ней впервые). Двоичная арифметика тоже проста. Вся таблица сложения здесь выглядит так: 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10. Таблица умножения тут выглядит еще проще: 0 × 0 = 0; 0 × 1 = 0; 1 × 1 = 1. Прелесть, правда?
Кроме того, двоичная система практична. Благодаря компактности двоичной записи можно создавать простые электронные схемы, способные выполнять двоичные арифметические операции. Такие схемы, в свою очередь, служат базой для цифровых компьютеров. Так что даже если мы не можем дать определение того, что такое информация, это не мешает нам ее использовать.
«А что будет, если у нас есть бесконечное число альтернатив? – спрашивает студент. – Например, между 0 и 1 находится бесконечное количество действительных чисел».
«Если у вас есть бесконечное число альтернатив, тогда у вас есть бесконечное количество информации», – отвечаю я.
Возьмем, например, такое двоичное число: 1001001 0110110 0100000 1110100 1101000 1100101 0100000 1100010 1100101 1100111 1101001 1101110 1101110 1101001 1101110 1101111. В стандартной таблице кодирования ASCII (American Standard Code for Information Interchange – американский стандартный код обмена информацией) каждой букве или символу на клавиатуре присвоено кодовое слово из семи битов[4]. И если воспринимать наше число в кодировке ASCII, мы получим такие символы: I = 1001001; n = 1101110; (пробел) = 0100000; t = 1110100; h = 1101000; e = 1100101; (пробел) = 0100000; b = 1100010; e = 1100101; g = 1100111; i = 1101001; n = 1101110; n = 1101110; i = 1101001; n = 1101110; g = 1100111. Если мы прочтем буквы, то получится «In the beginning» – первые слова библейской фразы «В начале было слово…». Добавляя бит за битом, можно выписать число, соответствующее всему тексту Евангелия от Иоанна. Если мы добавим еще больше битов, то можем получить всю Библию, а за ней Коран, а за ним Сутру белого лотоса, а за ней все книги из Библиотеки Конгресса и т. д. Бесконечное число альтернатив соответствует бесконечному числу цифр или битов, бесконечному количеству информации.
Но на практике число альтернатив в любой конечной системе конечно, поэтому количество информации тоже конечно. Обычно мы считаем, что такие величины, как длина, высота и вес, изменяются непрерывно: точно так же, как между 0 и 1 есть бесконечное количество действительных чисел, есть и бесконечное количество возможных длин между нулем метров и одним метром. Причина, по которой непрерывные вроде бы величины, такие как длина металлического стержня, могут содержать только конечное количество информации, состоит в том, что эти величины, как правило, определяются с конечным уровнем точности. Чтобы увидеть взаимосвязь между точностью и информацией, представьте себе измерение длины стержня с помощью мерной рейки. Итак, у вас в руках обычная деревянная линейка, на которой отмечены и пронумерованы сто сантиметров. На ней сделана также тысяча миллиметровых отметок, по десять в каждом сантиметре, но уже не хватает места, чтобы их пронумеровать. Поэтому линейка позволит нам измерить длину стержня с точностью примерно до миллиметра. Длины меньше миллиметра линейка измеряет плохо – просто потому, что физические характеристики задают предел ее разрешающей способности. Общее количество альтернатив – 1000, что соответствует трем значащим цифрам, или примерно десяти битам информации.
Самый известный в мире металлический стержень был сделан из сплава платины и иридия. Он находится в Международном бюро мер и весов в Париже и на протяжении почти столетия определял длину метра. (До этого метр считался одной десятимиллионной частью расстояния от Северного полюса до экватора, измеренного вдоль парижского меридиана.) Наша линейка показала бы, что длина этого стержня – один метр плюс-минус половина миллиметра.