Каков наиболее эффективный способ генерации случайной перестановки из вероятностных парных перестановок?


48

Вопрос, который меня интересует, связан с генерацией случайных перестановок. Учитывая вероятностный попарно-обменный вентиль в качестве основного строительного блока, каков наиболее эффективный способ создания равномерно случайной перестановки из элементов? Здесь я принимаю «вероятностный попарно-обменный вентиль» как операцию, которая реализует коммутационный вентиль между выбранными элементами и с некоторой вероятностью которую можно свободно выбирать для каждого вентиля, и идентификатором в противном случае.nijp

Я понимаю, что это обычно не тот способ, которым генерируются случайные перестановки, где обычно можно использовать что-то вроде случайного преобразования Фишера-Йейтса, однако это не будет работать для приложения, которое я имею в виду, поскольку разрешенные операции отличаются.

Понятно, что это можно сделать, вопрос в том, насколько эффективно. Какое наименьшее количество вероятностных свопов необходимо для достижения этой цели?

ОБНОВИТЬ:

Энтони Леверье предоставляет нижеприведенный метод, который действительно дает правильное распределение, используя ворота , а Цуёси Ито предлагает другой подход с таким же масштабированием в комментариях. Однако, лучшая нижняя граница, которую я до сих пор видел, это , которая масштабируется как . Таким образом, вопрос все еще остается открытым: является ли лучшим, что может быть сделано (т.е. есть ли лучшая нижняя граница)? Или, в качестве альтернативы, существует ли более эффективное семейство схем?O(n2)log2(n!)O(nlogn)O(n2)

ОБНОВИТЬ:

В нескольких ответах и ​​комментариях предложены схемы, которые полностью состоят из вероятностных свопов, где вероятность зафиксирована на . Такая схема не может решить эту проблему по следующей причине (снято с комментариев):12

Представьте себе схему, которая использует таких ворот. Тогда есть равновероятных вычислительных путей, и поэтому любая перестановка должна происходить с вероятностью для некоторого целого числа k. Однако для равномерного распределения мы требуем, чтобы , Который можно переписать как . Очевидно, что это не может быть выполнено для целочисленного значения для , так как(для , но .m2mk2mk2m=1n!kn!=2mkn33|n!n332m

ОБНОВЛЕНИЕ (от mjqxxxx, который предлагает награду):

Предлагаемая награда предназначена для (1) доказательства того, что требуются ворота , или (2) рабочей схемы для любого , в котором используются меньше чем ворот.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@ Энтони: Возможно, это не очевидно, но вы можете: представьте, что схема создает равномерное распределение перестановок первых элементов. Тогда последующим вероятностным обменом (с вероятностью 0,5) между позицией и позицией приведет к равномерно случайному выбору позиции . Если вы последуете этому, снова применив к первым элементам, вы получите равномерно случайное распределение. CC n - 1 n n C n - 1n1Cn1nnCn1
Джо Фитцзимонс

4
хорошо, спасибо за объяснение! Обратите внимание, что вероятностный своп должен иметь вероятности между позицией и позицией . n - 1 n(n1)/nn1n
Энтони Леверье

5
С точки зрения требуемой энтропии, алгоритм требует случайных битов, где - двоичная энтропийная функция. Я не могу точно вычислить эту сумму, но она равна соответствии с математикой ... в то время как оптимум составляет по крайней мере . h ( . ) O ( n log 2 ( n(n1)h(1/2)+(n2)h(1/3)++(nk)h(1/(k+1))++h(1/n)h(.)O ( n log 2 ( n ) )O(nlog2(n)2)O(nlog2(n))
Энтони Леверье

8
Это отличается от того, что вы хотите, но есть семейство цепей размером O (n log n), которые генерируют каждую перестановку с вероятностью не менее 1 / p (n!) Для некоторого полинома p: рассмотрим сеть сортировки с размером O (n log n) и замените каждый компаратор на шлюз обмена с вероятностью 1/2. Из-за корректности сортировочной сети каждая перестановка должна возникать с ненулевой вероятностью, которая обязательно должна быть не менее 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
Вернуться к исходной проблеме. Обратите внимание, что решение O (n ^ 2), которое описал Энтони, можно рассматривать как замену каждого компаратора в сети сортировки, представляющей сортировку выбора, на вероятностных свопах с подходящей вероятностью. (подробнее)
Цуёси Ито

Ответы:


17

Рабочий алгоритм, который я описал в комментарии выше, следующий:

  • Сначала начните с перевода случайного элемента с вероятностью в положение : поменяйте местами положения 1 и 2 с вероятностью , затем 2 и 3 с вероятностью , ... затем и с вероятностью .п 1 / 2 2 / 3 п - 1 п ( п - 1 ) / п1/nn1/22/3n1n(n1)/n
  • Примените ту же процедуру, чтобы привести случайный элемент в положение : поменяйте местами положения 1 и 2 с вероятностью ... затем положения и с пробой ,1 / 2 п - 2 п - 1 ( п - 2 ) / ( п - 1 )n11/2n2n1(n2)/(n1)
  • И т.д

Число вентилей, требуемых этим алгоритмом, составляет .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Этот алгоритм связан с пузырьковой сортировкой. В частности, рассмотрим пространство состояний всех перестановок размера n. Вероятность того, что 1-й элемент больше 2-го, равен 1/2, поменяйте местами с этой вероятностью. Предположим, что первые два элемента отсортированы, что является вероятным вторым элементом> 3-м элементом 2/3 и т. Д. Следовательно, представляется возможным преобразовать алгоритм сортировки в схему подкачки, где каждый следующий шаг должен учитывать условные вероятности, возникающие из предыдущих шаги. Что в некотором смысле предполагает явный неэффективный метод построения таких схем.
Мкатков

16

Это не ответ и не новая информация. Здесь я попытаюсь обобщить обсуждения, которые произошли в комментариях об отношениях между этой проблемой и сетями сортировки . В этом посте все время в UTC, а «комментарий» означает комментарий к вопросу, если не указано иное.

Схема, состоящая из вероятностных перестановочных вентилей (которые случайным образом меняют два значения), естественно, напоминает нам сеть сортировки, которая представляет собой не что иное, как цепь, состоящую из компараторов (которые меняют два значения в зависимости от порядка между ними). Действительно, схемы для текущей проблемы и сети сортировки связаны друг с другом следующими способами:

  • Решение Энтони Леверия с п ( п - 1) / 2 вероятностных ворота свопа можно понимать как сортировочная сеть для пузырьковой сортировки с компараторами заменены вероятностным свопом воротом с соответствующими вероятностями. См. Комментарий Мкаткова 10 марта 4:53 к этому ответу для подробностей. Сортировочная сеть для сортировки выбора также может использоваться аналогичным образом. (В комментарии от 7 марта 23:04 я описал схему Энтони как сортировку выбора, но это было не правильно.)
  • Если мы просто хотим каждую перестановку с ненулевой вероятностью и не заботимся о том, чтобы распределение было равномерным, то каждая сеть сортировки выполняет свою работу, когда все компараторы заменяются логическими элементами вероятности 1/2. Если мы используем сортировочную сеть с O ( n log n ) компараторами, результирующая схема генерирует каждую перестановку с вероятностью не менее 1/2 O ( n log n ) = 1 / poly ( n !), Как отмечалось в моем комментарии в марте 7 22:59.
  • В этой задаче требуется, чтобы вероятностные свопы стреляли независимо. Если мы удалим это ограничение, каждую сортировочную сеть можно преобразовать в схему, которая генерирует равномерное распределение, как я упоминал в комментарии от 7 марта 23:08, а пользователь 1749 более подробно описывал 8 марта 14:07.

Эти факты, очевидно, предполагают, что эта проблема тесно связана с сортировкой сетей. Тем не менее, Питер Тейлор нашел доказательства того, что отношения могут быть не очень близкими. А именно, не каждая сортировочная сеть может быть преобразована в желаемую схему путем замены компараторов вероятностными перестановочными вентилями с подходящими вероятностями. Сортировочная сеть с пятью компараторами для n = 4 является контрпримером. Смотрите его комментарии в 10 марта 11:08 и 10 марта 14:01.


3
@mkatkov: я видел три или четыре удаленных ответа, и я не помню, чей, извините. Если вы нашли решение с числом ворот менее n (n − 1) / 2, я хотел бы узнать всю конструкцию (и это не значит украсть у вас награду mjqxxxx :)).
Tsuyoshi Ito

2
@mkatkov: Я все еще скептически отношусь. Как я писал в последнем абзаце этого поста, Питер Тейлор обнаружил, что сеть сортировки с пятью компараторами для n = 4 не может быть преобразована в решение для текущей проблемы путем замены компараторов вероятностными перестановочными вентилями. Это подразумевает, что ваша логика не может работать для каждой сети сортировки, хотя она не исключает возможности того, что она будет работать, скажем, для нечетно-четного слияния.
Tsuyoshi Ito

1
@mkatkov: Причина, по которой этот тип решения, похоже, не работает (или, по крайней мере, не было показано ни одного рабочего примера), заключается в том, что перестановочные шлюзы в попарной сортировке сети срабатывают в высокой степени коррелированным образом. В этой задаче все ворота стреляют независимо, что приводит к совершенно другому пространству возможных цепей.
mjqxxxx

1
@mkatbov, каждый шаг в сети Энтони выбирает один из m входов (где m варьируется от n до 2). Вы не можете выбрать один из m входов с меньшим, чем m-1 вентилями, поэтому, в частности, вы не можете сделать это с лог-логами. Победа над , вероятно, потребует некоторого подхода «разделяй и властвуй». O(n2)
Питер Тейлор

3
@Tsuyoshi, Yuval и я проанализировали все возможные 5-вентильные решения для и исключили их все, что усиливает тот результат, что не все сети сортировки могут быть преобразованы в однородные сети перестановок, в результате чего существуют размеры задач, для которых Оптимальная однородная сеть перестановок требует большего количества вентилей, чем оптимальная сеть сортировки. n=4
Питер Тейлор

15

Это ни в коем случае не полный ответ, но он включает в себя результат, который может быть полезен, и применяет его, чтобы получить некоторые ограничения для случая которые ограничивают возможные 5-вентильные решения до 2500 легко перечислимых случаев.n=4

Сначала общий результат: в любом решении, которое переставляет объектов, должно быть не менее обменов, имеющих вероятность .n - 1 1nn112

Доказательство: рассмотрим представление перестановок перестановок порядка . Это матриц удовлетворяющих . Рассмотрим перестановку между и с вероятностью : она имеет представление (с использованием обозначения цикла для представления перестановки). Вы можете думать о умножении на эту матрицу в терминах теории представлений или в терминах Маркова как применение перестановки с вероятностью и оставление вещей неизменными с вероятностью .n × n A π ( A π ) i , j = [ i = π ( j ) ] i j p ( 1 - p ) I + p A ( i j ) ( i j ) p 1 - pnn×nAπ(Aπ)i,j=[i=π(j)]ijp(1p)I+pA(ij)(ij)p1p

Следовательно, сеть перестановок представляет собой цепочку таких матричных умножений. Мы начнем с единичной матрицы, и конечным результатом будет матрица где , поэтому мы переходим от матрицы ранга к матрице ранга путем умножения - т.е. ранг уменьшается на .U i , j = 1U n1n-1Ui,j=1nn1n1

Рассматривая ранг матриц , мы видим, что они по существу единичные матрицы, за исключением минорной , поэтому они имеют полный ранг, если только , в этом случае они имеют ранг .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Применяя матричное неравенство Сильвестра, мы находим, что каждый своп уменьшает ранг только в том случае, если , а когда это условие выполняется, он уменьшает его не более чем на 1. Поэтому нам требуется не менее свопов вероятности . n-11p=12n112

Обратите внимание, что эта граница не может быть ужесточена, потому что сеть Энтони Леверье достигает этого.


Приложение к случаю . У нас уже есть решения с 6 воротами, поэтому вопрос в том, возможны ли решения с 5 воротами. Теперь мы знаем, что по крайней мере 3 гейта должны иметь свопы 50/50, поэтому у нас есть две «свободные» вероятности, и . Есть 32 возможных события (5 независимых событий с двумя исходами) и сегмента, каждый из которых должен содержать хотя бы одно событие. События делятся на 8 с вероятностью , 8 с вероятностью , 8 с вероятностью и 8 с вероятностью .p q 4 ! = 24 р дn=4pq4!=24¯ р дpq8 р ¯ дp¯q8¯ p ¯ qpq¯8p¯q¯8

32 события в 24 сегмента без пустых сегментов подразумевают, что как минимум 16 сегментов содержат ровно одно событие, поэтому как минимум два из четырех приведенных выше вероятностей равны . С учетом симметрии у нас есть два случая: или . рд= ¯ р д=1124 рд= ¯ р ¯ д =1pq=p¯q=13pq=p¯q¯=13

Первый случай дает , ( исправление или , раскручивая симметрию). Во втором случае , поэтому , который не имеет реальных решений. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Поэтому, если есть решение с 5 воротами, у нас есть четыре шлюза с вероятностью и один вентиль с вероятностью либо либо . Wlog: первый своп равен , а второй - или ; остальные три имеют (не более) пяти возможностей, потому что нет смысла делать один и тот же обмен дважды подряд. Таким образом, мы должны рассмотреть последовательностей обмена и 10 способов назначения вероятностей, что приводит к 2500 случаям, которые можно было бы перечислить и проверить механически. 112 213230102232×53

Обновление: Ювал Фильмус и я перечислили и проверили случаи и не нашли решений, поэтому оптимальное решение для включает в себя 6 вентилей, а примеры решений с 6 вентилями можно найти в других ответах.n=4


2
Мое перечисление не смогло привести к более короткому примеру.
Юваль Фильмус

... даже после исправления.
Юваль Фильмус

1
Отлично, это очень хорошее наблюдение.
Джо Фитцзимонс

1
@mjqxxxx, я рассчитываю, что при поиске 9-вентильного решения для вам нужно будет учесть приблизительно 104 миллиона случаев (хотя это может быть несколько уменьшено с умом), но для каждого случая вы будете вычислять 120 уравнений в 5 переменных с перекрестными терминами, а затем проверка решения. Это, вероятно, выполнимо со стандартным настольным компьютером, но требует немного больше усилий, потому что вы не можете так легко ограничить возможные значения вероятностей. n=5
Питер Тейлор

4
Я присуждаю награду здесь, хотя ответ не дает ни асимптотического улучшения по сравнению с нижней границей ни какого-либо улучшения по верхней границе , потому что, по крайней мере, это доказывает, что оптимально в одном нетривиальном случае. Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx

14

Следующее представляется новой и актуальной информацией:

В статье [CKKL99] показано, как получить 1 / n близко к равномерной перестановке из n элементов, используя коммутирующую сеть глубины O (log n) и, следовательно, всего O (n log n) компараторов.

Эта конструкция не является явной, но ее можно сделать явной, если вы увеличите глубину до polylog (n). См. Указатели в статье [CKKL01], в которой также содержится дополнительная информация.

Предыдущий комментарий уже указывал на результат, говорящий о том, что O (n log n) коммутаторов достаточно, но разница в том, что в коммутирующих сетях сравниваемые элементы являются фиксированными.


[CKKL99] Артур Чумай, Пшемыслава Канарек, Мирослав Кутиловский и Кшиштоф Лосьрис. Задержка связывания пути и генерация случайных перестановок с помощью распределенных случайных процессов. В Симпозиуме по дискретным алгоритмам (SODA), стр. 271 {280, 1999.

[CKKL01] Артур Чумай, Пшемыслава Канарек, Мирослав Кутиловский и Кшиштоф Лосьрис. Коммутационные сети для генерации случайных перестановок, 2001.


Спасибо, это, безусловно, полезно знать. Однако мне все еще интересно узнать номер шлюза для точного распределения.
Джо Фицсимонс

12

Вот несколько интересное решение для . Эта же идея работает и для .n=4n=6

Начните с переключателей с вероятностью . Снизив до и до , мы находимся в ситуации . Примените переключатели с вероятностью . В результате получается Наш следующий шаг будет с вероятностью . Таким образом, мы действительно заботимся только о том, имеет ли результат предыдущего этапа форму (случай A) или форму(0,1),(2,3)1/20,1X2,3YXXYY(0,3),(1,2)p

XXYY w.p. (1p)2,YYXX w.p. p2,XYXY w.p. p(1p),YXYX w.p. p(1p)
(0,2),(1,3)1/2XXYY/YYXXXYXY/YXYX (случай B). В случае A эти переключения приведут к равномерной вероятности в течение . В случае Б они будут неэффективны. Следовательно, должно удовлетворять Учитывая это, результат является равномерным.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Аналогичная идея работает при - сначала вы случайным образом сортируете каждую половину, а затем «объединяете» их. Однако даже при я не вижу, как правильно объединить половинки.n=6n=8

Интересным моментом в этом решении является странная вероятность .p

В качестве примечания отметим, что множество вероятностей которое может помочь нам, дается формулой , где проходит по всем собственным значениям всех представлений при всех транспозициях.p1/(1λ)λ0Sn


1
Странные значения действительно обнадеживают, так как я думаю, что есть достаточно простое доказательство того, что если мы ограничим вероятности до для целого числа то лучшее, что вы можете сделать, это . p1/kkO(n2)
Джо Фитцсимонс

5
Немного другой способ для 2n элементов, который все еще странен в аналогичном смысле, - это перемешать первые n элементов, перемешать последние n элементов, поменять местами (i, i + n) с вероятностью p_i для i = 1,…, n , перемешайте первые n элементов и перемешайте последние n элементов. Вероятности p_i должны быть выбраны таким образом, чтобы вероятность того, что ровно k из огня n обменных ворот равна и такие вероятности p_i определяются как ( 1 + x_i) / 2 где x_1,…, x_n - корни многочлена Лежандра P_n. (подробнее)(nk)2/(2nn)
Цуёси Ито

6
(продолжение) Разочаровывающая вещь в описанном мною варианте заключается в том, что для него требуется n (n − 1) / 2 вероятностных свопов, когда n - это степень двойки, то есть ровно столько же вентилей, что и для сортировки пузырьков. Решение Энтони Леверье.
Tsuyoshi Ito

@ Tsuyoshi, ваша конструкция явно правильная, но мне интересно, делает ли она больше, чем необходимо. У меня нет времени для анализа в данный момент, но если вы это сделаете, то, возможно, вам стоит подумать, существуют ли такие , что ; ; ; ; Затем примените подходящую перестановку корней Лежандра (и заполните остальные четверти), может работать. p0,p101,p=1223,p=1202,p=p013,p=p1
Питер Тейлор,

7

Рассмотрим проблему случайного тасования строки , где каждый блок имеет длину , со схемой, состоящей из вероятностных парных перестановок. То есть все строк с s и s должны быть одинаково вероятными выходами схемы, учитывая заданный вход. Пусть - оптимальная схема для этой задачи, а - оптимальная схема для исходной задачи (случайное перемешивание элементов). Применение случайной перестановки достаточно для случайного чередования s и s, поэтомуXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . С другой стороны, мы можем перетасовать элементов, перетасовывая первые элементов, перетасовывая последние элементов и, наконец, применяя схему . Это означает, что . Комбинируя эти две границы, мы можем получить следующий результат:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| и оба равны или нет.|C2n|o(n2)

Мы видим, что обе проблемы одинаково трудны, по крайней мере, в этом смысле. Этот результат несколько удивителен, поскольку можно ожидать, что проблема с перемешиванием будет проще. В частности, энтропийный аргумент показывает, что равен , но дает более сильный результат, что равен ,XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis и Shahshahani 1981, «Генерация случайной перестановки со случайными транспозициями» показывают, что 1/2 n log n случайных транспозиций (примечание: здесь нет «O») приводят к перестановке, близкой (по общему расстоянию изменения) к форме. Я не уверен, что именно то, что разрешено в вашем приложении, позволяет вам использовать этот результат, но он довольно быстрый и жесткий в том смысле, что он является примером явления отсечки. Посмотрите Случайные Прогулки по Конечным Группам Saloff-Coste для обзора подобных результатов.


1
И предположительно две почти случайные перестановки могут быть составлены, чтобы произвести перестановку, которая даже более почти случайна.
mjqxxxx

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

5

Это действительно комментарий, но он слишком длинный, чтобы оставлять комментарии. Я подозреваю, что теория представлений симметрической группы может быть полезна для доказательства лучшей нижней оценки. Хотя я почти ничего не знаю о теории представлений и могу быть не в порядке, позвольте мне объяснить, почему это может быть связано с текущей проблемой.

Обратите внимание, что поведение схемы, состоящей из вероятностных перестановочных вентилей, может быть полностью задано как распределение вероятностей p по S n , группе перестановок на n элементах. Перестановка г ∈S п можно рассматривать как событие , что I - й выход равен г ( я ) -й вход для всех I ∈ {1, ..., п }. Теперь представим распределение вероятности p в виде формальной суммы g ∈S n p ( g ) g . Например, вероятностный обмен между проводами я иj с вероятностью p представляется как (1− p ) e + p τ ij , где e ∈S n - единичный элемент, а τ ij ∈S n - транспонирование между i и j .

Интересный факт об этой формальной сумме состоит в том, что поведение объединения двух независимых цепей может быть формально описано как произведение этих формальных сумм. А именно, если поведение схем C 1 и C 2 представлено в виде формальных сумм a 1 = ∑ g ∈S n p 1 ( g ) g и a 2 = ∑ g ∈S n p 2 ( g ) g соответственно, то поведение цепи C 1 с последующим C 2представляется как 1 g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Следовательно, искомая схема с m вероятностными перестановками точно соответствует способу записи суммы (1 / n !) ∑ g ∈S n g как произведения m сумм, каждая из которых имеет вид (1− p ) e + p τ ij . Мы хотели бы знать минимальное количество факторов m .

Формальные суммы g ∈ S n f ( g ) g , где f - функция из S n в ℂ, снабженная естественно определенными сложением и умножением, образуют кольцо, называемое групповой алгеброй ℂ [S n ]. Групповая алгебра тесно связана с теорией представления групп, которая является глубокой теорией, которую мы все знаем и боимся :). Это заставляет меня подозревать, что что-то в теории представлений может быть применимо к текущей проблеме.

Или, может быть, это просто надумано.


2
Вот к чему это сводится. Существует группа представлений симметрической группы, которые могут быть вычислены явно для транспозиций, с некоторой работой (обычно они вычисляются только явно для транспозиций ). Начальным значением каждого представления является соответствующая единичная матрица. Применение вероятностного свопа умножает каждое представление на , где - значение представления при выполненном свопе . (продолжение)(k,k+1)(1p)I+pAijAij(ij)
Юваль Фильмус

2
Чтобы выходные данные были однородными, нам нужно, чтобы все представления, кроме представления тождества, были равны нулю. Поэтому вероятности следует выбирать так, чтобы хотя бы некоторые из матриц были сингулярными. Матрицы для каждого представления имеют разные собственные векторы, поэтому не ясно, какое условие приведет к тому, что конкретное представление будет равным нулю. (продолжение)p(1p)I+pAijAij
Юваль Фильмус

3
Однако, если бы мы могли доказать, что каждая транспозиция уменьшает средний ранг представления не более чем на , скажем, тогда мы получили бы нижнюю оценку . Такая оценка может быть доказана, если мы знаем собственные векторы, соответствующие каждому представлению и каждой транспозиции. Эта информация может быть обработана в принципе, но нет никаких гарантий, что этот подход даст что-то нетривиальное. 1/n2n2
Юваль Фильмус

1
(продолжение), и это линейное преобразование является в точности матрицей, возникающей при представлении S_n матрицами перестановок n × n. Хотя n − 1 тривиально как нижняя граница для числа вентилей (аргумент энтропии уже дает лучшую нижнюю границу), я надеюсь, что можно будет обобщить ваш аргумент для других представлений, чтобы получить лучшую нижнюю границу для общее количество ворот.
Tsuyoshi Ito

4
@Yuval, @Peter: я заметил, что для каждого представления (1-p) I + pA_ {ij} неособо, если только p = 1/2 (поскольку A_ {ij} ^ 2 = I означает, что собственные значения A_ {ij) } равны ± 1). Поэтому подсчет ранга полезен только для нижнего ограничения числа вероятностных ворот, что уже было оптимально выполнено Питером. Другими словами, если теория представлений полезна так, как я предложил в этом посте, нам нужно нечто иное, чем подсчет ранга матриц! Я не уверен, что это реально.
Tsuyoshi Ito

1

Алгоритм Энтони можно запустить параллельно, запустив следующую итерацию процедуры после первых двух вероятностных перестановок, что приведет к времени выполнения.O(n2)O(n)


4
Я думаю, что уместным показателем сложности для этого вопроса является количество гейтов, а не время выполнения.
Энтони Леверье

3
@ Энтони прав, что меня интересует просто минимальное количество необходимых ворот.
Джо Фитцзимонс

0

Если я правильно понимаю, если вы хотите, чтобы ваша схема могла генерировать все перестановки, вам нужны как минимум вероятностные элементы, хотя я не уверен, как можно построить минимальную схему.log2(n!)

ОБНОВИТЬ:

Я думаю, что если вы возьмете алгоритм Mergesort и замените все сравнения случайным выбором с соответствующими вероятностями, вы получите схему, которую вы ищете.


2
Я не совсем уверен, как бы вы перевели это в модель вероятностных обменных ворот, которую я дал выше. Я не вижу, как вероятностный своп заменяет сравнение и все еще достигает случайного распределения. Следовательно, я также не уверен, почему это было бы оптимальным.
Джо Фитцзимонс

1
И да, - это минимум, но это только . log2(n!)O(nlog(n))
Джо Фицсимонс

1
Предположим, что и следуем индукцией по . У вас есть две случайные перестановки длиной . Если вы объединяете их случайным образом (т. Е. Берете следующий элемент из случайно выбранной подстановки), тогда объединенные результаты должны быть случайными. Вероятность того, что у позиции будет элемент из «левой» подстановки, явно равна 1/2 по симметрии. И обусловленный тем, что он имеет элемент из левой подстановки, он должен иметь равномерно случайный элемент из него. Таким образом, вы можете видеть, что полученная перестановка действительно случайна. n=2kk2k1i
Эндрю Д. Кинг

1
Это также было моей мыслью, когда я предложил mergesort, однако, подумав еще раз, мне кажется, что, возможно, не удастся реализовать операцию слияния, используя только требуемый тип вентилей, поскольку они не производят вывод чтобы сказать, выполнили ли они перестановку, и у них нет управляющего входа, чтобы обусловить их.
Антонио Валерио Мицели-Бароне

3
@ Андрей: я не вижу, как «объединить их случайно», используя ворота, изложенные в вопросе.
Джо Фитцсимонс

0

Следующий ответ неверен (см. Комментарий @joe fitzsimon), но может быть полезен в качестве отправной точки

У меня есть эскизное предложение в . Я проверил вручную, что это работает для (!), Но у меня пока нет доказательств того, что результат является равномерным за пределами .O(nlogn)n=4n=4

Предположим, у вас есть схема которая генерирует равномерную случайную перестановку из битов. Les вероятностный своп, который меняет биты и с вероятностью 1/2 и ничего не делает с вероятностью . Построить следующую схему действующую на битах:CnnSi,j12ij1/2C2n2n

  1. 1kn , примените ворота ;Sk,k+n1/2
  2. Применить к первым битам;Cnn
  3. Применить к последним битам;Cnn
  4. 1kn , примените ворота .Sk,k+n1/2

Шаг 1. необходим для того, чтобы биты и могли попасть в одну и ту же половину перестановки, а шаг 4. необходим для симметрии: если является решением, то Полученный путем применения ворот в обратном порядке также является решением.1n+1C2nC2n1

Размер этого семейства цепей подчиняется следующему рекурсивному соотношению: с, очевидно, . Тогда легко увидеть, что .

|C2n|=2|Cn|+2n
|C1|=0|Cn|=nlogn

Тогда остается очевидный вопрос: эти схемы выполняют однородные перестановки? Нет, смотри первый комментарий ниже


6
Я не верю, что они выполняют одинаковые перестановки. На самом деле, я думаю, что невозможно точно сделать с такими воротами, если вы установите вероятность, равную 1/2. Причина этого проста: представьте схему, которая использует таких ворот. Тогда существует равновероятных вычислительных путей, и поэтому любая перестановка должна происходить с вероятностью для некоторого целого числа . Однако для равномерного распределения мы требуем, чтобы . Очевидно, что это не может быть выполнено для целочисленного значения для . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Джо Фицсимонс

На самом деле. Я тоже забыл проверить однородность для ...n=4
Фредерик Гроссханс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.