У вас есть массив из отдельных элементов. У вас есть доступ к компаратору (функция черного ящика, принимающая два элемента и и возвращающая true, если ) и действительно случайный источник битов (функция черного ящика, не принимающая аргументов и возвращающая независимо равномерно случайный бит). Рассмотрим следующие две задачи:
- В настоящее время массив отсортирован. Произведите равномерно (или приблизительно равномерно) случайно выбранную перестановку.
- Массив состоит из некоторой перестановки, выбранной равномерно случайным образом по своей природе. Создайте отсортированный массив.
Мой вопрос
Какая задача требует больше энергии асимптотически?
Я не могу определить вопрос более точно, потому что я недостаточно знаю о связи между теорией информации, термодинамикой или чем-то еще, что необходимо для ответа на этот вопрос. Тем не менее, я думаю, что вопрос может быть четко определен (и я надеюсь, что кто-то поможет мне с этим в ответе!).
Теперь, алгоритмически, моя интуиция заключается в том, что они равны. Обратите внимание, что каждый вид - это случайное перемешивание, и наоборот. Для сортировки требуется сравнений во время перемешивания, так как он выбирает случайную перестановку извыбор, требует случайных бит. Для перемешивания и сортировки требуется около перестановок.
Тем не менее, я чувствую, что должен быть ответ, применяющий принцип Ландауэра , который гласит, что требуется энергия, чтобы «стереть» немного. Интуитивно, я думаю, это означает, что сортировка массива более трудна, потому что это требует «стирания» битов информации, переходящих от низкоэнергетического основного состояния с высокой энтропией к беспорядку к высокоупорядоченному. Но с другой стороны, для любого данного вычисления сортировка просто преобразует одну перестановку в другую. Поскольку я здесь совершенно не эксперт, я надеялся, что кто-то, обладающий знанием связи с физикой, сможет помочь с этим разобраться!
(Вопрос не получил никаких ответов на math.se , поэтому я разместил его здесь. Надеюсь, что все в порядке.)
Ответы:
По принципу Ландауэра, если вы хотите взять равномерную случайную перестановку из ключей в отсортированную и не хранить в компьютере никаких битов, которые бы раскрыли, какова была равномерная случайная перестановка, вам нужно стереть бит. Это займет энергии. С другой стороны, вычисление, переводящее отсортированный массив и случайных битов в случайный массив, является обратимым, и, таким образом, затраченная энергия может быть сделана сколь угодно малой.л о г н ! ≈ n log 2 n ( n ln n ) k T n log 2 nN л о гн ! ≈ n log2N ( n lnn ) k T журнал n2N
Обратите внимание, что это только теоретические нижние оценки. Энергия, потребляемая в настоящее время этими процессами на реальном цифровом компьютере, не имеет никакого отношения к приведенному выше анализу.
источник
Ни. Любая схема может быть сделана обратимой , отслеживая вход, и рассеяние энергии обратимого вычисления может быть сделано сколь угодно малым .
источник