Главная > КВАНТОВЫЙ КОМПЬЮТЕР КВАНТОВЫЕ ВЫЧИСЛЕНИЯ (В.А.Садовничий)
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

Во введении мы анализировали рис. 1 в связи с командой установка в единицу и установили необходимость диссипации энергии. Теперь мы предпримем попытку обобщения такого способа рассуждений. Установка в единицу является примером логической функции истинности, которую мы будем называть необратимой. Назовем устройство логически необратимым, если по сигналу на выходе нельзя однозначно определить сигнал на входе. Мы считаем, что логически необратимые устройства имеют принципиальное значение для вычислительной техники. Мы считаем также, что логическая необратимость предполагает в свою очередь физическую необратимость, а последняя сопровождается диссипативными эффектами.

Будем рассматривать компьютер как строго конечный массив из $N$ двоичных элементов, способных сохранять информацию без диссипации. Будем считать компьютер синхронным, что означает, что существует хорошо определенный машинный цикл, и в конце каждого цикла состояние $N$ элементов является сложной функцией их состояния в начале цикла.

Наш анализ логической необратимости будет осуществлен на трех различных уровнях. Аргументы первого уровня заключаются просто в утверждении о том, что существующие вычислительные устройства сильно зависят от логически необратимых действий, и, следовательно, любая машина, воспроизводящая логическую организацию существующих машин, будет обладать логической необратимостью, а, значит, согласно рассуждениям следующего раздела, и физической необратимостью.

На втором уровне мы рассматриваем специальный класс компьютеров, использующих логические функции только одной или двух переменных. После выполнения машинного цикла состояние каждого из $N$ элементов становится функцией состояния не более двух двоичных элементов до выполнения цикла. Допустим теперь, что компьютер логически обратим. Тогда машинный цикл отображает $2^{N}$ возможных начальных состояний на то же самое пространство $2^{N}$ состояний, а не только на некоторое подпространство. В $2^{N}$ возможных состояниях каждый бит имеет равную вероятность оказаться в состоянии единица и в состоянии нуль. Следовательно, обратимый компьютер может использовать только те функции, таблицы истинности которых содержат равное число состояний единица и нуль. Таким образом, допустимыми функциями являются тождество и отрицание, а также исключающее или и его отрицание. Однако эти функции не образуют полного набора [8] и не позволяют образовать все остальные функции истинности.

На третьем уровне мы рассматриваем более общие устройства, например, устройство с тремя входами и тремя выходами, т. е. небольшой трехбитный компьютер. Пусть $p, q$ и $r$ – переменные до выполнения машинного цикла. Рассмотрим конкретную функцию истинности, которая заменяет $r$ на $p \cdot q$, если $r=0$, и заменяет $r$ на $\overline{p \cdot q}$, если $r=1$. Во время машинного цикла переменные $p$ и $q$ не изменяются. Можно сказать, что $r$ определяет выбор программы, а $p$ и $q$ являются переменными, на которых выполняется выбранная программа. Это устройство логически обратимо, поскольку результат на выходе однозначно определяет входные данные. Тем не менее, оно пригодно для реализации такой операции как и, которая сама по себе не является логически обратимой. Но компьютер сохраннет достаточно входной информации для обеспечения обратимости. Все же было бы интересным отметить, что программа на самом деле не «сохраняется»; какая она была, можно понять только дедуктивным путем.

Теперь рассмотрим компьютер, предназначенный для более общих целей, который при выполнении программы проходит, как правило, через множество машинных циклов. На первый взгляд может показаться, что логическую обратимость легко получить, просто сохраняя входные данные в некоторой части машины. Однако мы будем называть машину логически обратимой тогда и только тогда, когда обратимым является каждое ее действие. Это означает, что каждый раз, когда вычисляется функция истинности двух переменных, необходимо сохранять дополнительную информацию о величинах, над которыми производятся действия, вне зависимости от того, нужна эта информация или нет. Стирание, эквивалентное установке в единицу, обсуждавшемуся во введении, не допускается. Следовательно, при выполнении длинной программы мы будем загромождать нашу машину несущественной информацией о промежуточных результатах. Более того, если потребуется использовать обратимую функцию трех переменных, такую как и, то необходимо будет дополнить исходную программу отдельным состоянием нуль для каждой операции и, поскольку «отклонение», программирующее машину, не сохраняется в процессе выполнения и. Это значит, что машина должна иметь гигантские дополнительные возможности для хранения как дополнительных битов с «отклонениями», так и дополнительных битов с выходными данными. Можно ли обеспечить такие возможности для реализации обратимости всех промежуточных действий? Если наша машина способна в обычном смысле выполнять непрерывную программу, то понятно, что сохранение в ней всей информации о промежуточных действиях невозможно.

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

Прежде всего, чтобы обеспечить пространство для сохранения дополнительных входных и выходных данных, требуется знать, сколько раз необходимо выполнить каждую операцию исходной (необратимой) машины. Однако полезность компьютера заключается в том, что он представляет собой нечто большее, чем настольное справочное устройство; он может также выполнять множество программ, которые не предусматривались при его разработке. Такая машина с расширенными функциями должна включать в себя некоторое количество положений битов для каждого встроенного устройства порядка числа шагов программы и требует обеспечения числа переключений во время загрузки программы, сравнимого с числом переключений в самой программе. Настройка управления во время загрузки программы, которая обычно заключается в определении длинного ряда битов для состояния нуль, является как раз одной из разновидностей необратимой логической операции, чего мы пытались избежать. Таким образом, наша громоздкая машина не использует необратимых операций во время выполнения программы только за счет дополнительной необратимости на этапе загрузки.

Categories

1
Оглавление
email@scask.ru