ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.06.2024
Просмотров: 675
Скачиваний: 0
СОДЕРЖАНИЕ
Дэвид Дойч. Структура Реальности. Оглавление
Глава 5. Виртуальная реальность.
Глава 6. Универсальность и пределы вычислений.
Глава 7. Беседа о доказательстве (или «Дэвид и Крипто-индуктивист»).
Глава 9. Квантовые компьютеры.
Глава 11. Время: первая квантовая концепция.
Глава 12. Путешествие во времени.
Квантовое вычисление —это нечто большее, чем просто более быстрая и миниатюрная технология реализации машин Тьюринга.Квантовый компьютер —это машина, использующая уникальные квантово-механические эффекты, в особенности, интерференцию. для выполнения совершенно новых видов вычислений, которые, даже в принципе, невозможно выполнить ни на одной машине Тьюринга, а следовательно, ни на каком классическом компьютере. Таким образом, квантовое вычисление —это ни что иное, как принципиально новый способ использования природы.
Позвольте мне конкретизировать это заявление. Самыми первыми изобретениями для использования природы были инструменты, управляемые силой человеческих мускулов. Они вывели наших предков на новый этап развития, но страдали от ограничения, которое заключалось в том, что они требовали постоянного внимания и усилий человека во время их использования. Дальнейшее развитие технологии позволило преодолеть это ограничение: люди сумели приручить некоторых животных и растения, изменив биологическую адаптацию этих организмов, приблизив их к человеку. Таким образом, урожай рос, а сторожевые собаки охраняли дом, пока их владельцы спали. Еще один новый вид технологии появился, когда люди начали не просто использовать существующие адаптации (и существующие небиологические явления, например, огонь), а создали совершенно новые для мира адаптации в виде кирпичей, колес, гончарных и металлических изделий и машин. Чтобы сделать это, они должны были поразмыслить и понять законы природы, управляющие вселенной, включая, как я уже объяснил, не только ее поверхностные аспекты, но и лежащую в основе структуру реальности. Последовали тысячи лет развития этого вида техники —использование некоторыхматериалов, силиэнергийфизики. В двадцатом веке, когда изобретение компьютеров позволило осуществить обработку сложной информации вне человеческого мозга, к этому списку добавиласьинформация. Квантовоевычисление, которое сейчас находится в зачаточном состоянии, —качественно новый этап этого движения. Это будет первая технология, которая позволит выполнять полезные задачи при участии параллельных вселенных. Квантовый компьютер сможет распределить составляющие сложной задачи между множеством параллельных вселенных, а затем поделиться результатами.
Я уже говорил о важности универсальности вычислений —о том, что один физически возможный компьютер может, при наличии достаточного времени и памяти, выполнить любое вычисление, которое может выполнить любой другой физически возможный компьютер. Законы физики, как мы понимаем их сейчас, допускают универсальность вычисления. Однако, настоящего определения универсальности недостаточно, чтобы считать ее полезной или важной в общей схеме всего. Она просто означает, что,в конечном итоге,универсальный компьютер сможет делать то, что может делать любой другой компьютер. Другими словами, он универсаленпри наличии достаточного времени. Ачто делать, если времени недостаточно? Представьте универсальный компьютер, который мог бы выполнить только одно вычислительное действие за всю жизнь вселенной.Егоуниверсальность по-прежнему оставалась бы глубоким свойством реальности? Вероятно, нет. Говоря в общем, можно критиковать это узкое понятие универсальности, потому что оно относит любую задачу к разряду находящихся в репертуаре компьютера, не принимая во внимание физические ресурсы, которые придется израсходовать компьютеру на выполнение этой задачи. Так, например, мы рассмотрели пользователя виртуальной реальности, который готов отправиться в виртуальную реальность с остановкой мозга на миллиарды лет и повторным его запуском: в течение этого времени компьютер вычислит, что показывать дальше. Такое отношение вполне уместно при обсуждении верхних пределов виртуальной реальности. Но при рассмотрении ееполезности,или, что даже более важно, фундаментальной роли, которую она играет в структуре реальности, нам следует быть более разборчивыми. Эволюция никогда бы не произошла, если бы задача передачи определенных свойств самых первых, простейших сред обитания не былалегко обрабатываемой(т. е. вычислимой в течение разумного периода времени) при использовании в качестве компьютеров легко доступных молекул. Точно так же никогда не началось бы развитие науки и техники, если бы для создания инструмента из камня понадобились тысячи лет размышлений. Более того, то, что было истиной в самом начале, осталось абсолютным условием прогресса на каждом этапе. Универсальность вычислений была бы бесполезна для генов, независимо от количества содержащегося в них знания, если бы передача их организма не была легко обрабатываемой задачей — скажем, если бы один репродуктивный цикл занимал миллиарды лет.
Таким образом, факт существованиясложных организмов и непрерывного ряда постепенно совершенствующихся изобретений и научных теорий (таких, как механика Галилея, механика Ньютона, механика Эйнштейна, квантовая механика, ...)говорит о том, универсальность вычислений какого рода существует в реальности. Он говорит нам, что действительные законы физики, по крайней мере, до сих пор, поддаются последовательной аппроксимации с помощью теорий, дающих лучшие объяснения и предсказания, и что задача открытия каждой теории при наличии предыдущей легко решалась с помощью вычислений при наличии уже известных законов и уже имеющейся технологии. Структура реальности должна бытьмногоуровневой(какой она и была) для более легкого доступа к самой себе. Подобным образом, если рассматривать саму эволюцию как вычисление, она говорит нам, что существовало достаточно много жизнеспособных организмов, закодированных ДНК, что позволило вычислить (т.е. эволюционировать) организмы с более высокой степенью адаптации, используя ресурсы, предоставленные их предками с низкой степенью адаптации. Таким образом, мы можем сделать вывод, что законы физики, кроме того, что удостоверяют свою собственную постижимость через принцип Тьюринга, гарантируют, что соответствующие эволюционные процессы, такие, как жизнь и мышление, не являются трудоемкими и требуют не слишком много дополнительных ресурсов, чтобы произойти в реальности.
Итак, законы физики не только позволяют (или, как я доказал, требуют)существование жизни и мышления, но требуют от них эффективности, в некотором уместном смысле. Для выражения этого важного свойства реальности современные анализы универсальности обычно постулируют компьютеры, универсальные даже в более строгом смысле, чем того потребовал бы в данной ситуации принцип Тьюринга: универсальные генераторы виртуальной реальности не только возможны, их можно построить так, что они не потребуют нереально больших ресурсов для передачи простых аспектов реальности. С настоящего момента, говоря об универсальности, я буду иметь в виду именно такую универсальность, пока не приведу другого определения.
Насколько эффективно можно передать данные аспекты реальности? Другими словами, какие вычисления можно практически выполнить за данное время и при данных финансовых возможностях? Это основной вопрос теории вычислительной сложности, которая, как я уже сказал, занимается изучением ресурсов, необходимых для выполнения данных вычислительных задач. Теория сложности все еще в достаточной степени не объединена с физикой и потому не дает много количественных ответов. Однако она достигла успеха в определении полезного приближенного различия между легко-итруднообрабатываемыми вычислительными задачами. Общий подход лучше всего проиллюстрировать на примере. Рассмотрим задачу умножения двух достаточно больших чисел, скажем. 4 220 851и 2594209.Многие из нас помнят тот метод умножения, которому мы научились в детстве. Нужно по очереди перемножить каждую цифру одного числа на каждую цифру другого и, сложив результаты, дать окончательный ответ, в данном случае10949769651859.Вероятно, многие не захотят признать, что эта утомительная процедура делает умножение «легко обрабатываемым» хоть в каком-то обыденном смысле этого слова. (В действительности, существуют более эффективные методы умножения больших чисел, но этот весьма нагляден). Однако с точки зрения теории сложности, которая имеет дело с массивными задачами, решаемыми компьютерами которые не подвержены скуке и почти никогда не ошибаются, этот метод определенно попадает в категорию «легко обрабатываемых».
В соответствии со стандартным определением для «легкости обработки» важно не действительное время, затрачиваемое на умножение конкретной пары чисел, а важен факт, что при применении того же самого метода даже к большим числам, время увеличивается не слишком резко. Возможно это удивит вас, но этот весьма косвенный метод определения легкости обработки очень хорошо работает на практике для многих (хотя и не всех) важных классов вычислительных задач. Например, при умножении нетрудно увидеть, что стандартный метод можно использовать для умножения чисел, скажем, в десять раз больших, Приложив совсем незначительные дополнительные усилия. Ради доказательства предположим, что каждое элементарное умножение одной цифры на другую занимает у определенного компьютера одну микросекунду (включая время, необходимое для сложения, переходов и других операций, сопровождающих каждое элементарное умножение). При умножении семизначных чисел 4220851и 2594209каждую из семи цифр первого числа нужно умножить на каждую из семи цифр второго числа. Таким образом, общее время, необходимое для умножения (если операции выполняются последовательно), будет равно семи, умноженному на семь, или 49микросекундам. При введении чисел, примерно в десять раз больших, содержащих по восемь цифр, время, необходимое для их умножения, будет равно 64микросекундам: увеличение составляет всего 31%.
Ясно, что числа из огромного диапазона —безусловно содержащего любые числа, которые когда-либо были измерены как численные значения физических переменных —можно перемножить за крошечную долю секунды. Таким образом, умножение действительно легко поддается обработке для любых целей в пределах физики (или, по крайней мере, в пределах существующей физики). Вероятно, за пределами физики могут появиться практические причины умножения гораздо больших чисел. Например, для шифровальщиков огромный интерес представляют произведения простых чисел, состоящих примерно из 125цифр. Наша гипотетическая машина могла бы умножить два таких простых числа, получив произведение, состоящее из 250цифр, примерно за одну сотую секунды. За одну секунду она могла бы перемножить два тысячезначных числа, а современные компьютеры легко могут осуществить более точный расчет этого времени. Только некоторые исследователи эзотерических областей чистой математики заинтересованы в выполнении таких непостижимо огромных умножений, однако, мы видим, что даже у них нет причины считать умножение трудно обрабатываемым.
Напротив, разложение на множители,по сути процесс, обратный умножению, кажется гораздо сложнее. В начале вводится одно число, скажем, 10949769651859,задача заключается в том, чтобы найти два множителя, меньших числа, произведение которых равно10949769651859.Поскольку мы только что умножили эти числа, мы знаем, что в этом случае ответ будет 4220851и 2594209(и поскольку оба эти числа простые, это единственно правильный ответ). Но не обладая таким внутренним знанием, как мы нашли бы эти множители? В поисках простого метода вы обратитесь к детским воспоминаниям, но впустую, поскольку такого метода не существует.
Самый очевидный метод разложения на множители —делить вводимое число на все возможные множители, начиная с 2и продолжая каждым нечетным числом, до тех пор, пока введенное число не разделится без остатка. По крайней мере, один из множителей (принимая, что введенное число не является простым) не может быть больше квадратного корня введенного числа, что позволяет оценить, сколько времени может занять этот метод. В рассматриваемом нами случае наш компьютер найдет меньший из двух множителей, 2 594 209,примерно за одну секунду. Однако, если вводимое число будет в десять раз больше, а его квадратный корень примерно в три раза больше, то разложение его на множители по этому методу займет в три раза больше времени. Другими словами, увеличение вводимого числа на один разряд ужеутроитвремя обработки. Увеличение его еще на один разряд снова утроит это время и т. д. Таким образом, время обработки будет увеличиваться в геометрической прогрессии, т.е. экспоненциально, с увеличением количества разрядов в раскладываемом на множители числе. Разложение на множители числа с 25-значными множителями по этому методу заняло бы все компьютеры на Земле на несколько веков.
Этот метод можно усовершенствовать, однако всемсовременным методам разложения числа на множители присуще это свойство экспоненциального увеличения. Самое большое число, которое было «в гневе» (а это было действительно так) разложено на множители, —число, множители которого тайно выбрали одни математики, чтобы бросить вызов другим математикам, —имело 129разрядов. Разложение на множители выполнили с помощью сети Интернет глобальными совместными усилиями, задействовав тысячи компьютеров. Дональд Кнут, специалист по вычислительной технике, подсчитал, что разложение на множители 250-значного числа при использовании самых эффективных из известных методов, с помощью сети, состоящей из миллиона компьютеров, заняло бы более миллиона лет. Такие вещи трудно оценить, но даже если Кнут чрезмерно пессимистичен, то попробуйте хотя бы взять числа на несколько разрядов большие, и задача во много раз усложнится. Именно это мы имеем в виду, когда говорим, что разложение на множители больших чисел с трудом поддается обработке. Все это весьма отличается от умножения, где как мы видели, задачу умножения пары 250-значных чисел можно элементарно решить с помощью домашнего компьютера. Никто не может даже представить себе, как можно разложить на множители числа, состоящие из тысячи или миллиона разрядов.
По крайней мере, этого никто не могпредставить до недавнего Времени.
В 1982году физик Ричард Фейнман занимался компьютерным моделированием квантово-механических объектов. Его отправной точкой было нечто, что уже было известно в течение некоторого времени, однако важность чего не оценили, а именно, что задача предсказания поведения квантово-механических систем (или, как мы можем это описать, Передача квантово-механических сред в виртуальной реальности), в общем случае, с трудом поддается обработке. Одна из причин того, что важность этого не оценили, в том, что никто и не ожидал, что предсказание интересных физических явлений с помощью компьютера будет особо легким. Возьмите, например, прогноз погоды или землетрясения. Несмотря на то, что известны нужные уравнения, сложность их применения для реальных ситуаций общеизвестна. Все это недавно вынесли на всеобщее обозрение в популярных книгах и статьях похаосуи «эффекту бабочки». Эти эффекты не ответственны за трудность обработки о которой говорил Фейнман, по простой причине, что они имеют место только в классической физике —т. е. не в реальности, поскольку реальность квантово-механическая. Тем не менее, я хочу сделать несколько замечаний относительно классических «хаотических» движений, только чтобы подчеркнуть достаточно различный характер невозможности получения классических и квантовых предсказаний.
Теория хаоса касается ограничений получения предсказаний в классической физике, проистекающих из факта внутренней неустойчивости всех классических систем. «Неустойчивость», о которой идет речь, не имеет ничего общего с какой-либо тенденцией буйного поведения или распада. Она связана с чрезмерной чувствительностью к начальным условиям. Допустим, что нам известно настоящее состояние какой-то физической системы, например, комплекта бильярдных шаров, катающихся по столу. Если бы система подчинялась законам классической физики, что она и делает в хорошем приближении, то мы смогли бы определить ее будущее поведение (скажем, попадет ли определенный шар в лузу) из соответствующих законов движения точно так же, как мы можем предсказать солнечное затмение или парад планет, исходя из этих же законов. Но на практике мы никогда не можем абсолютно точно определить начальные положения и скорости. Таким образом, возникает вопрос: если мы знаем их с некоторой разумной степенью точности, можем ли мы предсказать их будущее поведение с разумной степенью точности? Обычный ответ: не можем. Разница между реальной траекторией и предсказанной траекторией, вычисленной из слегка неточных данных, стремится расти экспоненциально и нерегулярно («хаотически») во времени, так что через некоторое время первоначальное состояние, содержащее небольшую погрешность, уже не сможет быть ключом к поведению системы. Компьютерное предсказание говорит о том, что движение планет, классическая предсказуемость в миниатюре, —нетипичная классическая система. Чтобы предсказать поведение типичной классической системы всего лишь через небольшой промежуток времени, необходимо определить начальное состояние этой системы с невозможно высокой точностью. Поэтому говорят, что, в принципе, бабочка, находящаяся в одном полушарии, взмахом своих крылышек может вызвать ураган в другом полушарии. Неспособность дать прогноз погоды и тому подобное приписывают невозможности учесть каждую бабочку на планете.