Вопрос, который меня интересует, связан с генерацией случайных перестановок. Учитывая вероятностный попарно-обменный вентиль в качестве основного строительного блока, каков наиболее эффективный способ создания равномерно случайной перестановки из элементов? Здесь я принимаю «вероятностный попарно-обменный вентиль» как операцию, которая реализует коммутационный вентиль между выбранными элементами и с некоторой вероятностью которую можно свободно выбирать для каждого вентиля, и идентификатором в противном случае.
Я понимаю, что это обычно не тот способ, которым генерируются случайные перестановки, где обычно можно использовать что-то вроде случайного преобразования Фишера-Йейтса, однако это не будет работать для приложения, которое я имею в виду, поскольку разрешенные операции отличаются.
Понятно, что это можно сделать, вопрос в том, насколько эффективно. Какое наименьшее количество вероятностных свопов необходимо для достижения этой цели?
ОБНОВИТЬ:
Энтони Леверье предоставляет нижеприведенный метод, который действительно дает правильное распределение, используя ворота , а Цуёси Ито предлагает другой подход с таким же масштабированием в комментариях. Однако, лучшая нижняя граница, которую я до сих пор видел, это , которая масштабируется как . Таким образом, вопрос все еще остается открытым: является ли лучшим, что может быть сделано (т.е. есть ли лучшая нижняя граница)? Или, в качестве альтернативы, существует ли более эффективное семейство схем?
ОБНОВИТЬ:
В нескольких ответах и комментариях предложены схемы, которые полностью состоят из вероятностных свопов, где вероятность зафиксирована на . Такая схема не может решить эту проблему по следующей причине (снято с комментариев):
Представьте себе схему, которая использует таких ворот. Тогда есть равновероятных вычислительных путей, и поэтому любая перестановка должна происходить с вероятностью для некоторого целого числа k. Однако для равномерного распределения мы требуем, чтобы , Который можно переписать как . Очевидно, что это не может быть выполнено для целочисленного значения для , так как(для , но .
ОБНОВЛЕНИЕ (от mjqxxxx, который предлагает награду):
Предлагаемая награда предназначена для (1) доказательства того, что требуются ворота , или (2) рабочей схемы для любого , в котором используются меньше чем ворот.n n ( n - 1 ) / 2