Читаем Структура реальности. Наука параллельных вселенных полностью

Насколько эффективно можно воспроизвести те или иные аспекты реальности? Другими словами, какие вычисления можно практически выполнить за данное время и при данных возможностях? Это основной вопрос теории вычислительной сложности, которая, как я уже сказал, занимается изучением ресурсов, необходимых для решения вычислительных задач. Теория сложности ещё не объединена в достаточной степени с физикой, чтобы дать многие ответы в количественном виде. Однако она достигла немалого успеха в важном деле грубого различия вычислительных задач на легко- и труднорешаемые. Общий подход лучше всего проиллюстрировать на примере. Рассмотрим задачу умножения двух достаточно больших чисел, скажем, 4 220 851 и 2 594 209. Многие из нас помнят тот метод умножения, которому мы научились в детстве. Он включает умножение каждой цифры одного числа поочерёдно на каждую цифру другого, сдвиг промежуточных результатов и их сложение. Этот стандартный алгоритм позволяет получить окончательный ответ, в данном случае — 10 949 769 651 859. Вероятно, многие не захотят признать, что эта утомительная процедура делает умножение «лёгкой» задачей хоть в каком-то обыденном смысле этого слова. (В действительности существуют более эффективные методы умножения больших чисел, но этот весьма нагляден.) Однако с точки зрения теории сложности, которая имеет дело с трудными задачами, решаемыми компьютерами, не подверженными скуке и почти никогда не ошибающимися, этот метод определённо попадает в категорию «лёгких».

В соответствии со стандартным определением для «лёгкости» решения задачи важно не фактическое время, затрачиваемое на умножение конкретной пары чисел, а тот факт, что при применении того же самого метода даже к большим числам время увеличивается не слишком резко. Возможно, это покажется неожиданным, но такой очень косвенный метод определения «лёгкости» очень хорошо работает на практике для многих (хотя и не всех) важных классов вычислительных задач. В случае умножения, например, нетрудно убедиться, что стандартный метод можно использовать и для умножения чисел, скажем, в десять раз больших, приложив совсем незначительные дополнительные усилия. Ради иллюстрации предположим, что каждое элементарное умножение одной цифры на другую занимает у некоторого компьютера одну микросекунду (включая время, необходимое для сложения, сдвига и других операций, сопровождающих каждое элементарное умножение). При умножении семизначных чисел 4 220 851 и 2 594 209 каждую из семи цифр первого числа нужно умножить на каждую из семи цифр второго числа. Таким образом, общее время, необходимое для умножения (если операции выполняются последовательно), составит семью семь, или 49 микросекунд. Если на вход поданы числа примерно в десять раз бо́льшие, то есть содержащие по восемь цифр, на их умножения потребуется 64 микросекунды: увеличение составляет всего 31 %.

Ясно, что числа из огромного диапазона — безусловно содержащего любые числа, которые когда-либо были измерены как количественные значения физических переменных, — можно перемножить за крошечную долю секунды. Таким образом, умножение действительно является легкорешаемой задачей для любых целей в пределах физики (или, по крайней мере, в пределах существующей физики). За пределами физики, конечно, могут появиться практические причины для умножения куда больших чисел. Например, для криптографии огромный интерес представляют произведения простых чисел, состоящих примерно из 125 цифр. Наша гипотетическая машина могла бы перемножить два таких простых числа, получив произведение, состоящее из 250 цифр, примерно за 0,01 секунды. За одну секунду она могла бы перемножить два тысячезначных числа, и современные компьютеры легко могут улучшить это достижение. Лишь немногие исследователи эзотерических областей чистой математики интересуются перемножением столь непостижимо больших чисел, однако мы видим, что даже у них нет причины считать умножение неразрешимой задачей.

Напротив, разложение на множители — по сути, процесс, обратный умножению, — кажется гораздо сложнее. Вначале вводится одно число, скажем, 10 949 769 651 859. Задача заключается в том, чтобы найти два его множителя — меньших числа, произведение которых равно 10 949 769 651 859. Поскольку мы только что перемножили эти числа, мы знаем, что в данном случае ответ будет 4 220 851 и 2 594 209 (и поскольку оба эти числа простые, это единственный подходящий ответ). Но не располагая заранее такой подсказкой, как бы мы нашли эти множители? Если в поисках простого метода вы обратитесь к детским воспоминаниям, то это будет бесполезно, поскольку такого метода не существует.

Перейти на страницу:

Похожие книги

12 недель в году
12 недель в году

Многие из нас четко знают, чего хотят. Это отражается в наших планах – как личных, так и планах компаний. Проблема чаще всего заключается не в планировании, а в исполнении запланированного. Для уменьшения разрыва между тем, что мы хотели бы делать, и тем, что мы делаем, авторы предлагают свою концепцию «года, состоящего из 12 недель».Люди и компании мыслят в рамках календарного года. Новый год – важная психологическая отметка, от которой мы привыкли отталкиваться, ставя себе новые цели. Но 12 месяцев – не самый эффективный горизонт планирования: нам кажется, что впереди много времени, и в результате мы откладываем действия на потом. Сохранить мотивацию и действовать решительнее можно, мысля в рамках 12-недельного цикла планирования. Эта система проверена спортсменами мирового уровня и многими компаниями. Она поможет тем, кто хочет быть эффективным во всем, что делает.На русском языке публикуется впервые.

Брайан Моран , Майкл Леннингтон

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература
1991. Хроника войны в Персидском заливе
1991. Хроника войны в Персидском заливе

Книга американского военного историка Ричарда С. Лаури посвящена операции «Буря в пустыне», которую международная военная коалиция блестяще провела против войск Саддама Хусейна в январе – феврале 1991 г. Этот конфликт стал первой большой войной современности, а ее планирование и проведение по сей день является своего рода эталоном масштабных боевых действий эпохи профессиональных западных армий и новейших военных технологий. Опираясь на многочисленные источники, включая рассказы участников событий, автор подробно и вместе с тем живо описывает боевые действия сторон, причем особое внимание он уделяет наземной фазе войны – наступлению коалиционных войск, приведшему к изгнанию иракских оккупантов из Кувейта и поражению армии Саддама Хусейна.Работа Лаури будет интересна не только специалистам, профессионально изучающим историю «Первой войны в Заливе», но и всем любителям, интересующимся вооруженными конфликтами нашего времени.

Ричард С. Лаури

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Прочая справочная литература / Военная документалистика / Прочая документальная литература
100 способов уложить ребенка спать
100 способов уложить ребенка спать

Благодаря этой книге французские мамы и папы блестяще справляются с проблемой, которая волнует родителей во всем мире, – как без труда уложить ребенка 0–4 лет спать. В книге содержатся 100 простых и действенных советов, как раз и навсегда забыть о вечерних капризах, нежелании засыпать, ночных побудках, неспокойном сне, детских кошмарах и многом другом. Всемирно известный психолог, одна из основоположников французской системы воспитания Анн Бакюс считает, что проблемы гораздо проще предотвратить, чем сражаться с ними потом. Достаточно лишь с младенчества прививать малышу нужные привычки и внимательно относиться к тому, как по мере роста меняется характер его сна.

Анн Бакюс

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Детская психология / Образование и наука