6. Универсальность и пределы вычислений
Сердце генератора виртуальной реальности — его компьютер, и вопрос о том, какие среды можно воссоздать в виртуальной реальности, в конечном итоге должен сводиться к вопросу о том, какие вычисления можно осуществить. Даже сегодня репертуар генераторов виртуальной реальности в той же мере ограничен их компьютерами, в какой и генераторами образов. Как только к генератору виртуальной реальности подключают новый, более мощный компьютер, с увеличенным объёмом памяти и более современной аппаратурой для обработки изображений, репертуар генератора расширяется. Но будет ли это продолжаться непрерывно, или в конце концов мы столкнёмся с полной универсальностью, чего, как я уже утверждал, нам следует ожидать в случае с генераторами образов? Другими словами, есть ли такой генератор виртуальной реальности, который, будучи однажды построен, может быть запрограммирован на воспроизведение любой среды, которую способен воспринять человеческий разум?
Как и в случае с генераторами образов, здесь мы не подразумеваем, что один этот генератор виртуальной реальности мог бы содержать в себе описания всех логически возможных сред. Мы только имеем в виду, что его можно было бы запрограммировать для воспроизведения любой логически возможной среды. Можно предусмотреть кодирование таких программ, например, на магнитных дисках. Чем выше сложность среды, тем больше понадобится дисков для хранения соответствующей программы. Таким образом, для создания сложных сред машина должна обладать механизмом (который я уже описал для универсального генератора образов), способным прочитать неограниченное количество дисков. В отличие от генератора образов, генератору виртуальной реальности может также понадобиться увеличение объёма рабочей памяти, чтобы хранить промежуточные результаты вычислений. Для этого можно предусмотреть наличие чистых дисков. И снова тот факт, что машина должна обеспечиваться энергией, чистыми дисками и обслуживанием, не мешает нам считать эту установку «отдельной машиной» при условии, что все эти действия не равносильны изменению конструкции машины и не запрещены законами физики.
В этом смысле компьютер с фактически неограниченной ёмкостью памяти можно себе представить, по крайней мере принципиально. В отличие от компьютера с неограниченной скоростью вычислений. Компьютер определённой конфигурации всегда будет иметь фиксированную максимальную скорость, которую можно увеличить, только изменив эту конфигурацию. Следовательно, данный генератор виртуальной реальности не сможет выполнять неограниченное количество вычислений в единицу времени. Разве это не будет ограничивать его репертуар? Если вычисление того, что должен увидеть пользователь через одну секунду, из-за сложности среды занимает у машины больше секунды, то каким образом машина сможет точно воспроизвести эту среду? Для достижения универсальности нам необходим новый технологический трюк.
Чтобы расширить свой репертуар в такой степени, в какой это физически возможно, генератору виртуальной реальности пришлось бы взять под контроль ещё одно свойство сенсорной системы пользователя: скорость обработки информации мозгом пользователя. Будь человеческий мозг подобен электронному компьютеру, достаточно было бы изменить скорость испускания синхронизирующих импульсов его генератором тактовой частоты. Несомненно, «часами» мозга управлять не так просто, но в принципе это не проблема. Мозг — конечный физический объект, и все его функции — физические процессы, которые в принципе можно замедлить или остановить. Предельный генератор виртуальной реальности должен обладать такой способностью.
Чтобы добиться совершенного воспроизведения сред, требующих большого объёма вычислений, генератор виртуальной реальности должен был бы действовать приблизительно следующим образом. Каждый сенсорный нерв физически способен передавать сигналы с определённой максимальной частотой, поскольку возбудившаяся и передавшая импульс нервная клетка сможет вновь возбудиться только через одну миллисекунду. Следовательно, сразу после срабатывания определённого нерва у компьютера есть по крайней мере одна миллисекунда, чтобы решить, возбудится ли этот нерв снова и когда это произойдёт. Если он вычислил решение, скажем, за половину миллисекунды, то в корректировке скорости работы мозга нет необходимости, и компьютер просто возбуждает этот нерв в нужное время. В противном случае компьютер заставляет мозг замедлить (или при необходимости остановить) свою работу до завершения вычисления следующего события; затем компьютер восстанавливает нормальную скорость работы мозга. Как бы это ощутил пользователь? По определению никак. Пользователь получил бы ощущение нахождения в среде, заданной в программе, без каких бы то ни было замедлений, остановок или повторных пусков. К счастью, генератору виртуальной реальности не нужно заставлять мозг работать быстрее нормального, поскольку это привело бы в итоге к принципиальным проблемам, так как, кроме всего прочего, ни один сигнал не может двигаться быстрее скорости света.
Этот метод позволяет нам заранее задать сколь угодно сложную среду, для моделирования которой потребуется любой конечный объём вычислений, и получить ощущение нахождения в этой среде при любой субъективной скорости и уровне детализации, которые наш разум способен воспринять. Если необходимых вычислений слишком много, чтобы компьютер смог выполнить их в течение субъективно воспринимаемого времени, ощущение всё равно останется естественным, но пользователь заплатит за его сложность потерянным внешним временем. Он может выйти из генератора виртуальной реальности после пятиминутного, на его субъективный взгляд, пребывания там и обнаружить, что в физической реальности прошли годы.
Пользователь, мозг которого отключается на любое время, а потом снова включается, будет ощущать непрерывное пребывание в некоторой среде. Но пользователь, мозг которого отключён навсегда, с момента его отключения ничего не чувствует. Это значит, что программа, которая в какой-то момент может отключить мозг пользователя и уже никогда не включить его, не создаёт среду, которую пользователь почувствовал бы, и, следовательно, не может считаться адекватной программой для генератора виртуальной реальности. Но программа, которая в конечном итоге всегда включает мозг пользователя, позволяет генератору виртуальной реальности создавать какую-то среду. Даже программа, которая вообще не испускает нервных сигналов, создаёт тёмную безмолвную среду абсолютной сенсорной изоляции.
Поиски пределов виртуальной реальности увели нас очень далеко от того, что осуществимо сегодня, или даже от того, что достижимо в обозримой технологической перспективе. Поэтому я ещё раз хочу подчеркнуть, что для целей нашего разговора технологические трудности не имеют значения. Мы не исследуем, какие виды генераторов виртуальной реальности могут быть построены или даже с необходимостью будут когда-нибудь построены инженерами. Мы изучаем, что позволяют, а что не позволяют законы физики в области виртуальной реальности. Причина важности всего этого никак не связана с перспективой создания лучших генераторов виртуальной реальности. Суть в том, что отношение между виртуальной реальностью и «обычной» реальностью — часть глубокого, неожиданного устройства мира, о котором и рассказывает эта книга.
Рассматривая всевозможные трюки — стимуляцию нервов, остановку и запуск мозга и т. д., — мы смогли представить себе физически возможный генератор виртуальной реальности, репертуар которого охватывает весь сенсорный диапазон. Кроме того, этот генератор полностью интерактивен и не ограничен ни скоростью, ни объёмом памяти своего компьютера. Существует ли что-либо, что не входит в репертуар такого генератора виртуальной реальности? Будет ли этот репертуар набором всех логически возможных сред? Нет. Репертуар даже этой фантастической машины резко ограничен хотя бы тем, что она представляет собой физический объект. Она даже поверхностно не затрагивает то, что возможно логически, и сейчас я докажу это.
Основная идея такого доказательства — известного как диагональный аргумент — предшествует идее виртуальной реальности. Впервые этот аргумент использовал математик XIX века Георг Кантор[17], чтобы доказать существование бесконечных величин, превышающих бесконечность натуральных чисел (1, 2, 3…). Такого же рода доказательство лежит в основе современной теории вычислений, разработанной Аланом Тьюрингом[18] и другими в 1930-х годах. Им также пользовался Курт Гёдель[19] для доказательства своей знаменитой «теоремы о неполноте», о которой я подробнее расскажу в главе 10.
Каждая среда в репертуаре нашей машины формируется некой программой, заложенной в её компьютер. Представьте себе набор всех адекватных программ для этого компьютера. С точки зрения физики каждая из этих программ задаёт конкретный набор значений физических переменных на дисках или других носителях, которые представляют компьютерную программу. Из квантовой теории нам известно, что все такие переменные квантуются, и, следовательно, независимо от того, как работает компьютер, набор возможных программ дискретен. Значит, каждую программу можно выразить как конечную последовательность символов в дискретном коде или на компьютерном языке. Существует бесконечное множество таких программ, но каждая из них может содержать лишь конечное количество символов. Так происходит потому, что символы — это физические объекты, созданные из вещества в узнаваемых конфигурациях, и бесконечное количество символов создать невозможно. Как я объясню в главе 10, эти интуитивно очевидные физические требования (что программы должны квантоваться, что каждая должна состоять из конечного числа символов и выполняться последовательно по этапам) гораздо более существенны, чем кажется. Они являются единственными следствиями законов физики, которые необходимы в качестве посылок нашего доказательства, но их достаточно, чтобы наложить очень сильные ограничения на репертуар любой физически возможной машины. Другие физические законы могут наложить более серьёзные ограничения, но они никак не повлияют на выводы этой главы.
Теперь давайте представим себе, что весь этот бесконечный набор возможных программ организован в виде бесконечно длинного нумерованного списка: программа № 1, программа № 2 и т. д. Эти программы можно расположить, например, в «алфавитном» порядке в соответствии с символами, в которых они выражены. Поскольку каждая программа формирует некую среду, этот список можно рассматривать и как список всех сред из репертуара данной машины; мы можем называть их среда № 1, среда № 2 и т. д. Возможно, некоторые среды в списке будут повторяться, потому что две разные программы в действительности могут осуществлять одинаковые вычисления, но это никак не повлияет на доказательство. Важно то, что каждая среда из репертуара нашей машины должна появиться в списке хотя бы один раз.
Виртуальная среда может быть как ограниченной, так и неограниченной в видимом физическом размере и видимой длительности. Виртуальным домом, созданным архитектором, например, можно будет пользоваться сколь угодно долго, но объём этой среды, вероятно, будет ограничен. Видеоигра может выделить пользователю только конечное игровое время до её окончания, но может генерировать игру-вселенную неограниченных размеров, давая возможность неограниченного количества исследований, и пользователь может лишь сознательно завершить её. Для упрощения доказательства мы будем рассматривать только неограниченно долго работающие программы. Это не такое уж большое ограничение, потому что если программа останавливается, то мы всегда можем рассматривать отсутствие ответной реакции с её стороны как ответ от среды сенсорной изоляции.
Мне хотелось бы определить класс логически возможных сред, которые я назову CGT-средами, частично в честь Кантора, Гёделя и Тьюринга, а частично по причине, которую я скоро объясню. Я определяю их следующим образом. В течение первой субъективной минуты среда типа CGT ведёт себя не так, как среда № 1 (созданная программой № 1 нашего генератора). Неважно, как именно она себя ведёт, важно, что пользователь ощущает отличие её поведения от поведения среды № 1. В течение второй минуты эта среда ведёт себя отлично от среды № 2 (но теперь может напоминать среду № 1). В течение третьей минуты она ведёт себя отлично от среды № 3 и т. д. Любую среду, которая удовлетворяет этим условиям, я назову CGT-средой.
Далее, поскольку CGT-среда не ведёт себя в точности как среда № 1, она не может быть средой № 1; поскольку она не ведёт себя в точности как среда № 2, она не может быть средой № 2. Поскольку рано или поздно она гарантированно будет вести себя не так, как среда № 3, среда № 4 и любая другая среда из нашего списка, значит, она не может быть ни одной из этих сред. Однако по допущению этот список содержит все среды, созданные каждой возможной программой для этой машины. Следовательно, ни одна CGT-среда не входит в репертуар машины. CGT-среды — это те среды, в которые мы не можем пойти[20], используя данный генератор виртуальной реальности.
Ясно, что существует невообразимо много сред типа CGT, потому что данное определение оставляет огромную свободу выбора возможного поведения этих сред; единственное ограничение состоит в том, что в течение каждой минуты они не должны вести себя вполне определённым образом. Можно доказать, что для каждой среды из репертуара данного генератора виртуальной реальности существует бесконечно много CGT-сред, которые генератор не может создать. Не удастся принципиально расширить репертуар и путём использования ряда различных генераторов виртуальной реальности. Допустим, что у нас есть сто таких генераторов, причём у каждого (в целях доказательства) отличный от других репертуар. Тогда весь набор генераторов вместе с программируемой системой управления, определяющей, какие из них нужно использовать для запуска данной программы, — это просто более крупный генератор виртуальной реальности. Такой генератор также подчиняется приведённому мной доказательству, поэтому для каждой среды, которую он может создать, будет существовать бесконечно много сред, которые он создать не сможет. Более того, допущение о том, что различные генераторы виртуальной реальности могут иметь различные репертуары, оказывается чрезмерно оптимистичным. Как мы скоро увидим, все достаточно сложные генераторы виртуальной реальности имеют по сути один и тот же репертуар.
Таким образом, наш гипотетический проект создания предельного генератора виртуальной реальности, который столь уверенно продвигался вперёд, внезапно наткнулся на кирпичную стену. Какие бы усовершенствования ни произошли в отдалённом будущем, репертуар всей технологии виртуальной реальности никогда не выйдет за пределы некоторого фиксированного набора сред. Следует признать, что этот набор бесконечно велик и весьма разнообразен по сравнению с человеческим опытом, предшествующим появлению технологии виртуальной реальности. Тем не менее это всего лишь бесконечно малая доля набора всех логически возможных сред.
На что было бы похоже пребывание в CGT-среде? Хотя законы физики и не позволяют нам оказаться в такой среде, логически это возможно, а потому вопрос об ощущениях правомерен. Безусловно, она не дала бы нам никаких новых ощущений, поскольку универсальный генератор образов является возможным и считается частью нашего высокотехнологичного генератора виртуальной реальности. Таким образом, CGT-среда показалась бы нам загадочной лишь после того, как мы оказались бы в ней и поразмышляли над результатами. Это было бы примерно так. Допустим, что вы фанат виртуальной реальности из далёкого ультратехнологического будущего. Вы пресытились: кажется, вы уже испробовали всё интересное. Но вдруг однажды появляется джинн и заявляет, что он может перенести вас в CGT-среду. Вы сомневаетесь, но согласны проверить его способности. Вас мгновенно переносят в эту среду. После нескольких экспериментов вам кажется, что вы узнаёте её: она реагирует как одна из ваших любимейших сред, которая на вашей домашней системе виртуальной реальности создаётся при запуске программы под номером X. Однако вы продолжаете экспериментировать, и в конце концов по окончании субъективной минуты номер X реакция среды становится явно отличной от той, которую могла бы предложить среда X. Тогда вы отказываетесь от мысли, что это есть среда X. Потом вы можете заметить, что всё происшедшее очень напоминает другую воспроизводимую у вас среду — среду Y. Но по истечении субъективной минуты номер Y вы понимаете, что вновь ошиблись. Для CGT-среды характерно следующее: сколько бы вы ни гадали, какой бы сложной ни была программа, которую вы приняли за программу, создающую именно эту среду, вы всегда обнаружите ошибку, потому что ни одна программа не создаст её ни на вашем генераторе виртуальной реальности, ни на каком-то другом.
Рано или поздно вам придётся завершить свою проверку. К тому времени вы, может быть, справедливо решите признать правоту джинна. Я не хочу сказать, что вы когда-либо сможете доказать, что были в CGT-среде, поскольку всегда существует ещё более сложная программа, которую мог выполнять джинн и которая могла бы соответствовать полученным вами до этого момента ощущениям. Просто такова общая черта виртуальной реальности, о которой я уже говорил, — опыт не может доказать пребывание человека в данной среде, будь это центральный корт Уимблдона или среда типа CGT.
В любом случае не существует ни таких джиннов, ни таких сред. Поэтому следует сделать вывод, что физика не даёт репертуару генератора виртуальной реальности даже приблизиться к тому огромному репертуару, который позволяет одна лишь логика. Насколько же велик может быть этот репертуар?
Поскольку мы не можем надеяться на воспроизведение всех логически возможных сред, давайте рассмотрим более слабую (но в конечном счёте более интересную) степень универсальности. Определим универсальный генератор виртуальной реальности как генератор, репертуар которого содержит репертуары всех остальных физически возможных генераторов виртуальной реальности. Может ли существовать такая машина? Может. Размышление о фантастических устройствах, основанных на управляемой компьютером стимуляции нервов, делает это очевидным — в действительности почти слишком очевидным. Подобную машину можно было бы запрограммировать так, чтобы она имела характеристики любой машины-конкурента. Она могла бы вычислить реакции иной машины при любой данной программе в ответ на любое поведение пользователя и, следовательно, смогла бы воспроизвести эти реакции с совершенной точностью (с точки зрения любого данного пользователя). Я говорю, что это «почти слишком очевидно», потому что здесь содержится важное допущение относительно того, на выполнение каких действий можно запрограммировать предлагаемое устройство, а точнее, его компьютер: при наличии подходящей программы, достаточного времени и средств хранения информации компьютер смог бы рассчитать результат любого вычисления, выполненного любым другим компьютером, в том числе и компьютером конкурирующего генератора виртуальной реальности. Таким образом, возможность реализации универсального генератора виртуальной реальности зависит от существования универсального компьютера — отдельной машины, способной вычислить всё, что только можно вычислить.
Как я уже сказал, такая универсальность была впервые изучена не физиками, а математиками. Они пытались придать строгость интуитивному понятию «вычисления» («расчёта» или «доказательства») в математике. Они не учитывали, что математическое вычисление — это физический процесс (в частности, как я уже объяснил, процесс создания в виртуальной реальности), поэтому путём математического рассуждения невозможно определить, что можно вычислить математически, а что нельзя. Это полностью зависит от законов физики. Но вместо того, чтобы пытаться вывести свои результаты из законов физики, математики постулировали абстрактные модели «вычисления» и определили «расчёт» и «доказательство» на основе этих моделей. (Я вернусь к этой интересной ошибке в главе 10.) Вот так и получилось, что за несколько месяцев 1936 года три математика — Эмиль Пост[21], Алонзо Чёрч[22] и, главное, Алан Тьюринг — независимо друг от друга создали первые абстрактные схемы универсальных компьютеров. Каждый из них считал, что его модель «вычисления» действительно правильно формализует традиционное интуитивное понятие математического «вычисления». Следовательно, каждый из них также полагал, что его модель эквивалентна (имеет тот же репертуар) любой другой разумной формализации подобной интуиции. Сейчас это известно как гипотеза Чёрча — Тьюринга.
Модель вычисления Тьюринга и концепция природы проблемы, которую он решал, была наиболее близка к физике. Его абстрактный компьютер, машина Тьюринга, представлял собой бумажную ленту, разделённую на квадраты, причём на каждом квадрате был написан один из конечного числа легко различимых символов. Вычисление осуществлялось следующим образом: на каждом шаге считывался один квадрат, затем лента перемещалась вперёд или назад и производилось стирание или запись одного из символов в соответствии с простыми недвусмысленными правилами. Тьюринг доказал, что один конкретный компьютер такого типа, универсальная машина Тьюринга, имеет объединённый репертуар всех других машин Тьюринга. Он предположил, что этот репертуар в точности состоит из «всех функций, которые естественно полагать вычислимыми». Он имел в виду вычислимость математиками.
Однако математики — это достаточно нетипичные физические объекты. Почему мы должны допускать, что воспроизведение их в ходе выполнении вычислений — предел вычислительных задач? Оказывается, что не должны. Как я объясню в главе 9, квантовые компьютеры могут выполнять вычисления, которые ни один человек-математик никогда, даже в принципе, не сможет выполнить. В работе Тьюринга неявно выражено его ожидание того, что функции, которые «естественно полагать вычислимыми», могли бы, по крайней мере в принципе, быть вычисленными и в природе. Это ожидание эквивалентно более сильной, физической версии гипотезы Чёрча — Тьюринга. Математик Роджер Пенроуз[23] предложил назвать его принципом Тьюринга.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК