- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Криптономикон - Нил Стивенсон
Шрифт:
Интервал:
Закладка:
Исходя из разумного предположения, что доктор Тьюринг находится в хорошей спортивной форме и развивает скорость примерно 25 км/час, а радиус колеса – примерно треть метра, если бы дефектное звено задевало гнутую спицу при каждом обороте колеса, то цепь сваливалась бы каждую третью долю секунды.
На самом деле цепь не сваливается, пока гнутая спица не заденет дефектное звено. Теперь допустим, что вы описываете положение заднего колеса традиционной буквой Q. Ради простоты договоримся: если колесо начинает вращаться из положения, в котором гнутая спица может задеть дефектное звено (разумеется, только если дефектное звено находится там, где его можно задеть), то Q = 0. Если в качестве единицы измерения используются градусы, то за один поворот колеса Q принимает все значения вплоть до 359, прежде чем вернуться к нулю, когда гнутая спица вновь может сбросить цепь. Теперь предположим, что положение цепи вы описываете переменной С по очень простому принципу: нумеруя все звенья цепи. Дефектному звену ставится в соответствие число 0, следующему 1 и так далее до l – 1, где l – общее число звеньев в цепи. Опять-таки ради простоты примем, что в положении, в котором дефектное звено может задеть гнутую спицу (при условии, что спица – там, где ее можно задеть), С = 0.
Чтобы вычислить, когда с велосипеда доктора Тьюринга свалится цепь, все, что нам надо знать про велосипед, – это значения Q и С. Эти два числа определяют состояние велосипеда. У велосипеда столько возможных состояний, сколько существует возможных значений (Q, С), но только в одном из этих состояний, а именно (0, 0), цепь свалится на дорогу.
Предположим, мы начинаем с этого состояния, т. е. (Q = 0, С = 0), но цепь не свалилась, потому что доктор Тьюринг (прекрасно зная состояние своего велосипеда в каждый конкретный момент времени) остановился посреди дороги и едва избежал столкновения со своим другом и коллегой Лоуренсом Притчардом Уотерхаузом, поскольку противогаз блокирует его периферическое зрение. Доктор Тьюринг немного прокрутил цепь вперед, одновременно оттягивая ее вбок, чтобы не задела за гнутую спицу. Теперь он снова садится на велосипед и начинает крутить педали. Окружность его колеса примерно два метра, значит, когда он проехал два метра по дороге, колесо совершило полный оборот и вернулось в состояние Q = 0, в котором, как мы помним, гнутая спица может задеть дефектное звено.
Что с цепью? Ее положение, определяемое как С, начинается с 0, достигает единицы, когда в фатальную позицию перемещается следующее звено, потом двойки и так далее. Цепь движется синхронно с зубцами звездочки в центре заднего колеса. У звездочки n зубцов, так что после второго полного оборота заднего колеса Q снова = 0, но С теперь = 2n. В следующий раз С = 3n и так далее. Однако не забывайте, что цепь – не бесконечная прямая линия, а замкнутая петля, имеющая всего l позиций; при С = l, она возвращается к началу цикла, и С снова принимает нулевое значение. Так что при вычислении С следует прибегнуть к арифметике остатков: то есть если в цепи сто звеньев (l =100), а общее число перемещенных звеньев – 135, то значение С не 135, а 35. Как только вы получаете число, больше или равное l, вы просто последовательно вычитаете l, пока результат не станет меньше l. Математики обозначают эту операцию mod l. Так что последовательные значения С, всякий раз как заднее колесо возвращается в положение Q = 0, равны:
Ci = n mod l, 2n mod l, 3n mod l…, in mod lгде i = (1, 2, 3… 8 ∞)
меньше или больше в зависимости от того, насколько близкое к бесконечности время Тьюринг намерен ехать на велосипеде. Через некоторое время Уотерхаузу начинает казаться, что они и впрямь едут бесконечно.
Цепь сваливается, когда велосипед достигает состояния (Q = 0, С = 0). В свете вышесказанного это происходит, когда i (которое просто означает число оборотов, совершенных задним колесом) достигает некоего гипотетического значения, при котором in mod l = 0, или, говоря по-человечески, когда некое число, кратное n (такое, как, например 2n, 3n, 395n или 109 948 368 443n), оказывается в то же время кратным l. Вообще-то это может быть любое из так называемых общих кратных, но с практической точки зрения важно только первое – наименьшее общее кратное, или НОК, поскольку именно оно будет достигнуто первым и вызовет падение цепи.
Если, скажем, у звездочки двадцать зубцов (n = 20), а в цепи сто звеньев (l = 100), то после первого поворота колеса мы имеем С = 20, после двух поворотов С = 40, потом 60, 80 и 100. Однако поскольку мы ищем остаток от деления на 100, значение надо изменить на ноль. Таким образом, после пяти оборотов колеса мы достигли состояния (Q = 0, С = 0) и цепь Тьюринга сваливается. За пять оборотов колеса он проезжает всего десять метров, поэтому при таких значениях l и n велосипед практически бесполезен. Разумеется, все это верно лишь в том случае, если Тьюринг такой дурак, чтобы начать движение из состояния спадения цепи. Если же он начинает крутить педали, когда велосипед находится в состоянии (Q = 0, С = 1), то С принимает значения 21, 41, 61, 81, 1, 21… и так до бесконечности, и цепь не свалится никогда. Однако это вырожденное состояние, где «вырожденное» для математика означает «невыносимо скучное». В теории, если Тьюринг будет всякий раз выставлять нужное состояние, прежде чем бросить велосипед на улице, никто не сможет его украсть – цепь свалится через первые же десять метров.
Если же в цепи Тьюринга сто одно звено (l = 101), то после пяти оборотов мы имеем С = 100, а после шести С = 19, тогда
С = 39, 59, 79, 99, 18, 38, 58, 78, 98, 17, 37, 57, 77, 97, 16, 36, 56,76, 96, 15, 35, 55, 75, 95, 14, 34, 54, 74, 94, 13, 33, 53, 73, 93, 12, 32, 52, 72, 92, 11, 31, 51, 71, 91, 10, 30, 50, 70, 90, 9, 29, 49, 69, 89, 8, 28, 48, 68, 88, 7, 27, 47, 67, 87, 6, 26, 46, 66, 86, 5, 25, 45, 65, 85, 4, 24, 44, 64, 84, 3, 23, 43, 63, 83, 2, 22, 42, 62, 82, 1, 21, 41, 61, 81, 0
Так что состояние (Q = 0, С = 0) не будет достигнуто и цепь не свалится, пока колесо не совершит сто один оборот. За сто один оборот велосипед Тьюринга успевает проехать по дороге пятую часть километра, что совсем не так плохо. Значит, велосипед работающий. Однако в отличие от вырожденного случая его нельзя привести в такое состояние, чтобы цепь не спадала совсем. Это легко доказать, просмотрев приведенный список значений С и убедившись, что все возможные значения – все числа от одного до ста – в нем присутствуют. Это означает, что с какого бы значения С Тьюринг ни начал крутить педали, рано или поздно он придет к фатальному С = 0 и цепь свалится.
Разница между вырожденным и невырожденным случаем заключена в свойствах использованных чисел. Комбинация (n = 20, l = 101) принципиально отличается от комбинации (n = 20, l = 100). Главная разница в том, что 20 и 101 – «взаимно простые», т. е. у них нет общих делителей. Это означает, что их наименьшее общее кратное, их НОК – большое число и равняется собственно l х n, т. е. 20 х 101 = 2020. А вот НОК ста и двадцати – всего 100. У велосипеда с l = 101 длинный период – он проходит через множество различных состояний, прежде чем вернуться к исходному, а у велосипеда с l = 100 – короткий, всего из нескольких состояний.
Предположим, что велосипед Тьюринга – шифромашина, основанная на алфавитной замене, т. е. заменяет каждую из двадцати шести букв английского алфавита какой-то другой буквой. А открытого текста может стать Т шифртекста, В – F, С – М и так дальше до Z. Сам по себе такой шифр до смешного прост, взломать его – детская забава. Однако предположим, что схема замены меняется от буквы к букве. Первая буква открытого текста шифруется с помощью одного алфавита замены, вторая – с помощью другого, третья – с помощью третьего и так далее. Это называется полиалфавитный шифр.
Предположим, что велосипед Тьюринга генерирует свой алфавит для каждого из состояний. Тогда состоянию (Q = 0, С = 0) будет соответствовать, например, такой алфавит замены:
а состоянию (Q = 180, С = 15) – такой:
Никакие две буквы не будут зашифрованы одним и тем же алфавитом замены, пока велосипед не вернется в исходное состояние (Q = 0, С = 0) и цикл не пойдет с начала. То есть это периодическая полиалфавитная система. Теперь, если период у машины короткий, она часто повторяет саму себя и в качестве шифровальной системы тоже годится исключительно для детской забавы. Чем длиннее период (чем больше взаимно простых чисел в него встроено), тем реже используется один и тот же алфавит замены и тем выше устойчивость шифра.

