Я студент, только начинающий читать о обратимых вычислениях. Я знаю, что по принципу Ландауэра необратимые вычисления рассеивают тепло (а обратимые - нет). Я рассказал об этом своему профессору, который никогда раньше не слышал об обратимых вычислениях, и ему было трудно понять, почему теория обратимых вычислений не является тривиальной.
Он просто хотел сохранить входные данные, то есть для любой функции которую вы хотите сделать обратимой, определите новую функцию (или и вы просто вводите с для последних бит входных данных), что возвращает выходные данные в первых битах и входные данные в других битах. Затем, чтобы инвертировать вы просто отбрасываете вывод и возвращаете сохраненный вами ввод.f r e v e r s i b l e : { 0 , 1 } n → { 0 , 1 } 2 n { 0 , 1 } 2 n → { 0 , 1 } 2 n 0 n n n f
Мое непосредственное возражение состояло в том, что для этого требуется больше памяти, чем для исходной функции, хотя только с учетом постоянного фактора. Ограничение вывода до битов, похоже, восстановит интересность проблемы. Это то, что обычно подразумевается под обратимыми вычислениями?
Казалось, что еще одно возражение заключается в том, что когда мы отказываемся от результата, мы делаем что-то необратимое, которое рассеивает тепло. Но мы правильно восстановили исходное состояние, так как оно может быть необратимым? Я не знаю достаточно физики, чтобы понять, является ли важная вещь с высокой температурой только для того, чтобы все вычисления были обратимыми, или же каждый шаг должен быть обратимым, или эта идея просто не в том дереве ,
источник