Так откуда внезапный интерес к квантовым компьютерам? – спрашивает Капитан Великолепие.
Свет, пробивающийся сквозь ставни, меркнет. Комната погружается во тьму. Порыв ветра качает цветочные корзины на веранде. Внезапный дождь стучит по черепичной крыше.
– Ты кого-то встретил, да? Ах ты, сучка! Кто она? Говори!
Капитан Великолепие садится, щекочет Мальчика-Загадку. В его голосе нет ни ревности, ни горечи. Не те у них отношения, не тот это город. Здесь можно жить множеством жизней и быть множеством «я». На глазах мистера Персика Сестинью не раз разбивали сердце, но это никак не изменило их встречи в фазенде на вершине холма. В жизни Эдсона есть стороны, о которых мистер Персик почти ничего не знает, а о многих, наверное, никогда и не узнает.
– Расскажи мне, может, тогда я расскажу тебе, – говорит Мальчик-Загадка, уворачиваясь от беспощадных пальцев и держа в руке окурок маконьи. Эдсон надеется, что в один прекрасный день он перестанет быть чьим-то Мальчиком, превратится в Мужчину или даже в Капитана.
– Хорошо. Ложись обратно в постель. Но ты ведь расскажешь мне? – Он накрывает ладонями вставший член Мальчика-Загадки и начинает историю.
По словам Капитана Великолепие, существует два типа вычислений: выполнимые и разорительные. Здесь, как и на любом другом предприятии, время – деньги, поэтому нужно понимать, сколько часов потребуется на твои подсчеты, будут ли они завершены сейчас или же им понадобится срок, превышающий жизнь этой вселенной. Удивительно, но огромное количество повседневных задач попадает во вторую категорию и называется НП-задачами. Наиболее распространенной проблемой, к примеру, является факторизация целых чисел на простые множители.
Мальчик-Загадка говорит:
– Про простые я знаю. Это такие волшебные числа, из которых строятся все остальные. Типа химических элементов, но только в математике.
– Хорошая аналогия, Сестинью, – говорит Капитан Великолепие. – Легко и просто перемножить два простых числа, неважно, насколько они велики, пусть даже в них сто тысяч цифр. Но разложить полученное произведение обратно уже не так просто – это мы и называем факторизацией. Существует множество математических трюков, чтобы устранить те числа, которые очевидно не годятся для нашей задачи, но в какой-то момент все равно приходится делить исходное число на все нечетные, пока не получится целое. Если добавить всего один знак к исходному числу, то время, необходимое компьютеру для вычислений, увеличится в три раза. На расчет для числа из двухсот пятидесяти знаков даже самой быстрой машине потребуется больше десяти миллионов лет. И этим пользуются кодировщики. Скажем, можно легко взять два простых числа из двухсот пятидесяти знаков в качестве ключа к чипу арчида и перемножить их между собой. Но, чтобы одному компьютеру в одиночку разложить получившееся произведение с миллионом знаков на простые множители,