¿Cuál es la forma más eficiente de generar una permutación aleatoria a partir de intercambios probabilísticos por pares?


48

La pregunta que me interesa está relacionada con la generación de permutaciones aleatorias. Dada una puerta de intercambio por parejas probabilística como el bloque de construcción básico, ¿cuál es la forma más eficiente de producir una permutación aleatoria uniforme de elementos? Aquí considero que la "puerta de intercambio por parejas probabilística" es la operación que implementa una puerta de intercambio entre los elementos elegidos y con alguna probabilidad que puede elegirse libremente para cada puerta, y la identidad de lo contrario.nj pijp

Me doy cuenta de que esta no es la forma en que uno genera permutaciones aleatorias, donde generalmente se puede usar algo como un shuffle de Fisher-Yates, sin embargo, esto no funcionará para la aplicación que tengo en mente ya que las operaciones permitidas son diferentes.

Claramente esto se puede hacer, la pregunta es qué tan eficientemente. ¿Cuál es el menor número de permutas probabilísticas necesarias para lograr este objetivo?

ACTUALIZAR:

Anthony Leverrier proporciona un método a continuación que realmente produce la distribución correcta utilizando puertas , con Tsuyoshi Ito proporcionando otro enfoque con la misma escala en los comentarios. Sin embargo, el mejor límite inferior que he visto hasta ahora es , que se escala como . Entonces, la pregunta sigue abierta: ¿ lo mejor que se puede hacer (es decir, hay un límite inferior mejor)? O, alternativamente, ¿hay una familia de circuitos más eficiente?log 2 ( n ! ) O ( n log n ) O ( n 2 )O(n2)log2(n!)O(nlogn)O(n2)

ACTUALIZAR:

Varias de las respuestas y comentarios han propuesto circuitos que se componen completamente de intercambios probabilísticos donde la probabilidad se fija en . Tal circuito no puede resolver este problema por la siguiente razón (levantada de los comentarios):12

Imagine un circuito que usa puertas de este tipo. Luego hay rutas computacionales equiprobables de , por lo que cualquier permutación debe ocurrir con probabilidad para algún entero k. Sin embargo, para una distribución uniforme, se requiere que , ¡Que se puede reescribir como . Claramente, esto no puede satisfacerse para un valor entero de para , ¡ya que(para , pero .2 m k 2 - m k 2 - m = 1m2mk2mk2m=1n!kn!=2mkn33|n!n332m

ACTUALIZACIÓN (de mjqxxxx que ofrece la recompensa):

La recompensa que se ofrece es por (1) una prueba de que se requieren puertas , o (2) un circuito de trabajo, para cualquier , que use menos de puertas.ω(nlogn)nn(n1)/2


8
@Anthony: Quizás no sea obvio, pero puedes: Imagina que el circuito crea una distribución uniforme de permutaciones de los primeros elementos . Luego, seguido de un intercambio probabilístico (con probabilidad 0.5) entre la posición y la posición producirá una elección aleatoria uniforme para la posición . Si sigue esto aplicando nuevamente a los primeros elementos , debería obtener una distribución aleatoria uniforme. Cn1Cn1nnCn1
Joe Fitzsimons

44
ok, gracias por la explicación! Tenga en cuenta que el intercambio probabilístico debe tener proba entre la posición y la posición . (n1)/nn1n
Anthony Leverrier

55
En términos de entropía requerida, el algoritmo necesita bits aleatorios donde es la función de entropía binaria. No puedo calcular esa suma exactamente, pero es según Mathica ... mientras que el óptimo es al menos . (n1)h(1/2)+(n2)h(1/3)++(nk)h(1/(k+1))++h(1/n)h(.)O(nlog2(n)2)O(nlog2(n))
Anthony Leverrier

8
Esto es diferente de lo que desea, pero hay una familia de circuitos de tamaño O (n log n) que generan cada permutación con probabilidad de al menos 1 / p (n!) Para algunos polinomios p: considere una red de clasificación con tamaño O (n log n) y reemplace cada comparador con una puerta de intercambio de probabilidad 1/2. Debido a la corrección de la red de clasificación, cada permutación tiene que surgir con probabilidad distinta de cero, que es necesariamente al menos 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
De vuelta al problema original. Tenga en cuenta que la solución O (n ^ 2) que Anthony describió puede verse como un reemplazo de cada comparador en la red de clasificación que representa la clasificación de selección con una puerta de intercambio probabilística con una probabilidad adecuada. (más)
Tsuyoshi Ito

Respuestas:


17

Un algoritmo de trabajo que describí en un comentario anterior es el siguiente:

  • En primer lugar empezar por traer un elemento aleatorio con probabilidad en la posición : intercambio de las posiciones 1 y 2 con proba , a continuación, 2 y 3 con proba , ... entonces y con proba .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / n1/nn1/22/3n1n(n1)/n
  • Aplique el mismo procedimiento para colocar un elemento aleatorio en la posición : intercambie las posiciones 1 y 2 con el problema ... luego las posiciones y con proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Etc

El número de compuertas requerido por este algoritmo es .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Este algoritmo tiene una conexión para ordenar burbujas. En particular, considere el espacio de estado de todas las permutaciones de tamaño n. La probabilidad de que los primeros elementos mayores que los segundos sean 1/2, intercambie con esa probabilidad. Suponga que los primeros dos elementos están ordenados, cuál es el segundo elemento proba> tercer elemento 2/3, etc. Por lo tanto, parece posible convertir el algoritmo de clasificación en un circuito de compuerta de intercambio, donde cada paso siguiente debe tener en cuenta las probabilidades condicionales, que surgen de anteriores pasos. Lo que en cierto sentido sugiere un método ineficiente explícito para construir tales circuitos.
mkatkov

16

Esta no es una respuesta ni nueva información. Aquí intentaré resumir las discusiones que ocurrieron en los comentarios sobre las relaciones entre este problema y las redes de clasificación . En esta publicación, todos los horarios están en UTC y un "comentario" significa un comentario sobre la pregunta a menos que se indique lo contrario.

Un circuito que consiste en puertas de intercambio probabilísticas (que intercambian dos valores al azar) naturalmente nos recuerda una red de clasificación, que no es más que un circuito que consiste en comparadores (que intercambian dos valores dependiendo del orden entre ellos). De hecho, los circuitos para el problema actual y las redes de clasificación están relacionados entre sí de las siguientes maneras:

  • La solución de Anthony Leverrier con n ( n −1) / 2 puertas de intercambio probabilísticas puede entenderse como la red de clasificación para la clasificación de burbujas con los comparadores reemplazados por puertas de intercambio probabilísticas con probabilidades adecuadas. Vea el comentario de mkatkov al 10 de marzo 4:53 sobre esa respuesta para más detalles. La red de clasificación para la clasificación de selección también se puede utilizar de la misma manera. (En el comentario del 7 de marzo a las 23:04, describí el circuito de Anthony como el tipo de selección, pero eso no era correcto).
  • Si solo queremos cada permutación con probabilidad distinta de cero y no nos importa que la distribución sea uniforme, entonces cada red de clasificación hace el trabajo cuando todos los comparadores se reemplazan con compuertas de intercambio de probabilidad 1/2. Si usamos una red de clasificación con comparadores O ( n log n ), el circuito resultante genera cada permutación con una probabilidad de al menos 1/2 O ( n log n ) = 1 / poly ( n !), Como se observó en mi comentario en marzo 7 22:59.
  • En este problema, se requiere que las puertas de intercambio probabilísticas se disparen de forma independiente. Si eliminamos esta restricción, cada red de clasificación se puede convertir en un circuito que genera la distribución uniforme, como mencioné en el comentario del 7 de marzo a las 23:08 y el usuario 1749 lo describió en mayor detalle el 8 de marzo a las 14:07.

Aparentemente, estos hechos sugieren que este problema está estrechamente relacionado con la clasificación de redes. Sin embargo, Peter Taylor encontró evidencia de que la relación puede no ser muy cercana. Es decir, no todas las redes de clasificación se pueden convertir a un circuito deseado reemplazando los comparadores con puertas de intercambio probabilísticas con probabilidades adecuadas. La red de clasificación de cinco comparadores para n = 4 es un contraejemplo. Ver sus comentarios en 10 de marzo 11:08 y 10 de marzo 14:01.


3
@mkatkov: He visto tres o cuatro respuestas eliminadas y no recuerdo cuál fue de quién, lo siento. Si ha encontrado una solución con menos de n (n − 1) / 2 puertas, me gustaría saber toda la construcción (y no es robarle la recompensa de mjqxxxx :)).
Tsuyoshi Ito

2
@mkatkov: Sigo siendo escéptico. Como escribí en el último párrafo de esta publicación, Peter Taylor descubrió que la red de clasificación de cinco comparadores para n = 4 no se puede convertir en una solución para el problema actual al reemplazar los comparadores con compuertas de intercambio probabilísticas. Esto implica que su lógica no puede funcionar para todas las redes de clasificación, aunque no descarta la posibilidad de que de alguna manera funcione para, por ejemplo, la combinación impar-par.
Tsuyoshi Ito

1
@mkatkov: La razón por la que este tipo de solución no parece funcionar (o al menos no se ha mostrado ningún ejemplo de trabajo) es que las puertas de intercambio en una red de clasificación por pares se disparan de manera altamente correlacionada. En este problema, todas las puertas se disparan de forma independiente, lo que conduce a un espacio muy diferente de posibles circuitos.
mjqxxxx

1
@mkatbov, cada paso en la red de Anthony selecciona una de m entradas (donde m varía de n a 2). No puede seleccionar una de las entradas m con menos de m-1 compuertas, por lo que, en particular, no puede hacerlo con log m compuertas. Vencer a probablemente requerirá algún tipo de enfoque de divide y vencerás. O(n2)
Peter Taylor

3
@ Tsuyoshi, Yuval y yo hemos analizado todas las posibles soluciones de 5 puertas para y las hemos eliminado todas, lo que fortalece el resultado de que no todas las redes de clasificación se pueden convertir en redes de permutación uniformes en un resultado de que existen tamaños de problemas para los cuales La red de permutación uniforme óptima requiere más puertas que la red de clasificación óptima. n=4
Peter Taylor

15

Esta no es una respuesta completa de ninguna manera, pero incluye un resultado que puede ser útil y lo aplica para obtener algunas restricciones en el caso que limitan las posibles soluciones de 5 puertas a 2500 casos fácilmente enumerables.n=4

Primero el resultado general: en cualquier solución que permuta objetos, debe haber al menos intercambios que tengan probabilidad .n - 1 1nn112

Prueba: considere la representación de permutación de las permutaciones de orden . Estas son las matrices satisfactorias . Considere un intercambio entre y con probabilidad : esto tiene representación (usando la notación de ciclo para representar la permutación). Puede pensar en la multiplicación por esta matriz en términos de teoría de representación o en términos de Markov como la aplicación de la permutación con probabilidad y dejar las cosas sin cambios con probabilidad .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

La red de permutación es, por lo tanto, una cadena de tales multiplicaciones matriciales. Comenzamos con la matriz de identidad y el resultado final será una matriz donde , por lo que vamos de una matriz de rango a una matriz de rango por multiplicaciones - es decir, el rango está disminuyendo en .U i , j = 1U n1n-1Ui,j=1nn1n1

Considerando el rango de las matrices , entonces, vemos que son esencialmente matrices de identidad aparte de un menor , por lo que tienen rango completo a menos que , en cuyo caso tienen rango .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Aplicando la desigualdad de la matriz de Sylvester, por lo tanto, encontramos que cada intercambio disminuye el rango solo si , y cuando se cumple esta condición, la disminuye en no más de 1. Por lo tanto, requerimos al menos intercambios de probabilidad . n-11p=12n112

Tenga en cuenta que este límite no se puede ajustar porque la red de Anthony Leverrier lo logra.


Aplicación al caso . Ya tenemos soluciones con 6 puertas, por lo que la pregunta es si son posibles soluciones con 5 puertas. Ahora sabemos que al menos 3 de las puertas deben ser intercambios de 50/50, por lo que tenemos dos probabilidades "libres", y . ¡Hay 32 eventos posibles (5 eventos independientes cada uno con dos resultados) y cubos, cada uno de los cuales debe contener al menos un evento. Los eventos se dividen en 8 con probabilidad , 8 con probabilidad , 8 con probabilidad , y 8 con probabilidad .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 eventos en 24 cubetas sin cubetas vacías implica que al menos 16 cubetas contienen precisamente un evento, por lo que al menos dos de las cuatro probabilidades dadas anteriormente son iguales a . Teniendo en cuenta las simetrías, tenemos dos casos: o . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

El primer caso da , ( corrección o , desenrollando la simetría). El segundo caso da , entonces , que no tiene soluciones reales. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Por lo tanto, si hay una solución de 5 puertas, tenemos cuatro puertas con probabilidad y una puerta con probabilidad, ya sea o . Wlog, el primer intercambio es , y el segundo es o ; los otros tres tienen (no más de) cinco posibilidades, porque no tiene sentido hacer el mismo intercambio dos veces seguidas. Por lo tanto, tenemos que considerar secuencias de intercambio y 10 formas de asignar las probabilidades, lo que lleva a 2500 casos que podrían enumerarse y probarse mecánicamente. 112 213 0102232×53230102232×53

Actualización: Yuval Filmus y yo hemos enumerado y probado los casos y no hemos encontrado soluciones, por lo que la solución óptima para implica 6 puertas, y en otras respuestas se encuentran ejemplos de soluciones de 6 puertas.n=4


2
La enumeración de mi caso no produjo ningún ejemplo más corto.
Yuval Filmus

... incluso después de la corrección.
Yuval Filmus

1
Excelente, esa es una muy buena observación.
Joe Fitzsimons

1
@mjqxxxx, calculo que al buscar una solución de 9 puertas a , tendría que considerar aproximadamente 104 millones de casos (aunque esto podría reducirse un poco con inteligencia), pero para cada caso estaría calculando 120 ecuaciones en 5 variables con términos cruzados y luego buscando una solución. Probablemente sea factible con una computadora de escritorio estándar, pero requiere un poco más de esfuerzo porque no puede restringir tan fácilmente los posibles valores de las probabilidades. n=5
Peter Taylor

44
Estoy otorgando la recompensa aquí, aunque la respuesta no proporciona una mejora asintótica sobre el límite inferior ni ninguna mejora en el límite superior , porque al menos demuestra que es óptimo en un solo caso no trivial. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx

14

Lo siguiente parece ser información nueva y relevante:

El documento [CKKL99] muestra cómo obtener 1 / n cerca de una permutación uniforme de n elementos utilizando una red de conmutación de profundidad O (log n) y, por lo tanto, un total de comparadores O (n log n).

Esta construcción no es explícita, pero puede hacerse explícita si aumenta la profundidad a polylog (n). Consulte los punteros en el documento [CKKL01], que también contiene más información.

Un comentario anterior ya señalaba un resultado que decía que los conmutadores O (n log n) son suficientes, pero la diferencia es que al cambiar de red los elementos que se comparan son fijos.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski y Krzysztof Lory. Acoplamiento de camino retrasado y generación de permutaciones aleatorias a través de procesos estocásticos distribuidos. En el Simposio sobre algoritmos discretos (SODA), páginas 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski y Krzysztof Lory. Redes de conmutación para generar permutaciones aleatorias, 2001.


Gracias, eso es ciertamente útil saberlo. Sin embargo, todavía estoy interesado en conocer el número de puerta para generar la distribución exacta.
Joe Fitzsimons

12

Aquí hay una solución algo interesante para . La misma idea también funciona para .n = 6n=4n=6

Comience con los interruptores con probabilidad . Reduciendo a y a , estamos en la situación . Aplicar los interruptores con probabilidad . El resultado es Nuestro próximo movimiento será con probabilidad . Por lo tanto, solo nos importa si el resultado de la etapa anterior es de la forma (caso A) o de la forma1 / 2 0 , 1 X 2 , 3 Y X X Y Y ( 0 , 3 ) , ( 1 , 2 ) p X X Y Y  wp  ( 1 - p ) 2 , Y Y X X  wp  p 2 , X Y(0,1),(2,3)1/20,1X2,3YXXYY(0,3),(1,2)p (0,2),(1,3)1/2XXYY/YYXXXYXY/YXYXXXYY/XY

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 (caso B). En el caso A, estos cambios darán como resultado una probabilidad uniforme sobre . En el caso B serán ineficaces. Por lo tanto, debe satisfacer Dado eso, el resultado es uniforme.p p ( 1 - p ) = 1 / 6 p = 3 ± XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Una idea similar funciona para : primero ordena aleatoriamente cada mitad y luego las "combina". Sin embargo, incluso para no puedo ver cómo fusionar las mitades correctamente.n = 8n=6n=8

El punto interesante de esta solución es la extraña probabilidad .p

Como nota al margen, el conjunto de probabilidades que posiblemente nos puede ayudar viene dado por , donde pasa sobre todos los valores propios de todas las representaciones de en todas las transposiciones.1 / ( 1 - λ ) λ 0 S np1/(1λ)λ0Sn


1
Los valores extraños para son realmente alentadores, ya que creo que hay una prueba razonablemente simple de que si restringimos las probabilidades a para el entero entonces lo mejor que puede hacer es . 1 / k k O ( n 2 )p1/kkO(n2)
Joe Fitzsimons

55
Una forma un poco diferente para 2n elementos, que todavía es extraño en un sentido similar, es barajar los primeros n elementos, barajar los últimos n elementos, intercambiar (i, i + n) con probabilidad p_i para i = 1, ..., n , baraja los primeros n elementos y baraja los últimos n elementos. Las probabilidades p_i se deben elegir de modo que la probabilidad de que exactamente k de las n puertas de intercambio sea igual a y tales probabilidades p_i están dadas por ( 1 + x_i) / 2 donde x_1, ..., x_n son las raíces del polinomio de Legendre P_n. (más)(nk)2/(2nn)
Tsuyoshi Ito

66
(continuación) Una cosa decepcionante acerca de la variación que describí es que requiere n (n − 1) / 2 intercambios probabilísticos cuando n es una potencia de dos, es decir, exactamente el mismo número de puertas que la clase de burbuja solución por Anthony Leverrier.
Tsuyoshi Ito

@ Tsuyoshi, su construcción es claramente correcta, pero me pregunto si está haciendo más de lo necesario. No tengo tiempo para analizar el análisis en este momento, pero si lo hace, puede que le resulte considerar si existen tal que ; ; ; ; luego aplique una permutación adecuada de las raíces Legendre (y complete los otros cuartos) puede funcionar. p0,p101,p=1223,p=12 1 3 , p = p 102,p=p013,p=p1
Peter Taylor

7

Considere el problema de barajar aleatoriamente la cadena , donde cada bloque tiene una longitud , con un circuito que consiste en intercambios probabilísticos por pares. Es decir, todas las cadenas con sy s deben ser salidas igualmente probables del circuito, dada la entrada especificada. Deje que sea ​​un circuito óptimo para este problema, y ​​deje que sea ​​un circuito óptimo para el problema original (barajando aleatoriamente elementos). Aplicar una permutación aleatoria es suficiente para intercalar aleatoriamente los sy s, por lo quen ( 2 n ) ! / ( n ! ) 2 n XXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . Por otro lado, podemos barajar elementos barajando los primeros elementos, barajando los últimos elementos y finalmente aplicando el circuito . Esto implica que . Combinando estos dos límites, podemos derivar el siguiente resultado:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| y son ambos , o ninguno lo es.|C2n|o(n2)

Vemos que los dos problemas son igualmente difíciles, al menos en este sentido. Este resultado es algo sorprendente, porque uno podría esperar que el problema de mezcla sea ​​más fácil. En particular, el argumento entrópico muestra que es , pero da el resultado más fuerte de que es .| B 2 n | Ω ( n ) | C 2 n | Ω (XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis y Shahshahani 1981, "Generando una permutación aleatoria con transposiciones aleatorias" muestra que 1/2 n log n transposiciones aleatorias (nota: no hay "O" aquí) dan como resultado una permutación cercana (en la distancia de variación total) al uniforme. No estoy seguro de si precisamente lo que está permitido en su aplicación le permite usar este resultado, pero es bastante rápido y estricto, ya que es un ejemplo de un fenómeno de corte. Vea Paseos aleatorios en grupos finitos por Saloff-Coste para una encuesta de resultados similares.


1
Y presumiblemente se pueden componer dos permutaciones casi aleatorias para producir una permutación que es aún más casi aleatoria.
mjqxxxx

77
... Sin embargo, debe tenerse en cuenta que este no es realmente el mismo problema (incluso permitiendo una solución aproximada en lugar de exacta), porque los autores consideran transposiciones de pares de elementos elegidos al azar, no transposiciones probabilísticas de pares de elementos específicos.
mjqxxxx

5

Esto es realmente un comentario pero demasiado largo para publicarlo como comentario. Sospecho que la teoría de la representación del grupo simétrico podría ser útil para demostrar un mejor límite inferior. Aunque no sé casi nada acerca de la teoría de la representación y puedo estar fuera de lugar, permítanme explicar por qué podría estar relacionado con el problema actual.

Tenga en cuenta que el comportamiento de un circuito que consiste en puertas de intercambio probabilísticas se puede especificar completamente como una distribución de probabilidad p sobre S n , el grupo de permutaciones en n elementos. Una permutación g ∈S n puede ser pensado como el caso de que i ésimo salida es g ( i ) -ésima entrada para todo i ∈ {1, ..., n }. Ahora represente una distribución de probabilidad p como una suma formal ∑ g ∈S n p ( g ) g . Por ejemplo, el intercambio probabilístico entre los cables i yj con probabilidad p se representa como (1− p ) e + p τ ij , donde e ∈S n es el elemento de identidad y τ ij ∈S n es la transposición entre i y j .

Un hecho interesante sobre esta suma formal es que el comportamiento de la concatenación de dos circuitos independientes puede describirse formalmente como un producto de estas sumas formales. A saber, si los comportamientos de los circuitos de C 1 y C 2 se representan como sumas formales un 1 = Σ g ∈S n p 1 ( g ) g y un 2 = Σ g ∈S n p 2 ( g ) g , respectivamente, entonces El comportamiento del circuito C 1 seguido de C 2se representa como ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Por lo tanto, un circuito deseado con m swaps probabilísticos corresponde exactamente a una forma de escribir la suma (1 / n !) ∑ g ∈S n g como producto de sumas m cada una de las cuales tiene la forma (1− p ) e + p τ ij . Nos gustaría saber la cantidad mínima m de factores.

Las sumas formales ∑ g ∈S n f ( g ) g , donde f es una función de S n a ℂ, equipado con suma y multiplicación definidas naturalmente, forman el anillo llamado álgebra de grupo ℂ [S n ]. El álgebra grupal está estrechamente relacionada con la teoría de representación de grupos, que es una teoría profunda como todos sabemos y tememos :). Esto me hace sospechar que algo en la teoría de la representación podría ser aplicable al problema actual.

O tal vez esto es simplemente descabellado.


2
Esto es a lo que esto se reduce. Hay un montón de representaciones del grupo simétrico, que se pueden calcular explícitamente para las transposiciones, con algún trabajo (por lo general, solo se calculan explícitamente para las transposiciones ). El valor inicial de cada representación es la matriz de identidad apropiada. La aplicación de un intercambio probabilístico multiplica cada representación con , donde es el valor de la representación en el intercambio realizado . (continuación)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Para que la salida sea uniforme, necesitamos que todas las representaciones que no sean la representación de identidad sean cero. Por lo tanto, las probabilidades deben elegirse de modo que al menos algunas de las matrices sean singulares. Las matrices para cada representación tienen vectores propios diferentes, por lo que no está claro qué condición obligaría a que una representación particular sea cero. (continuación)p(1p)I+pAijAij
Yuval Filmus

3
Sin embargo, si pudiéramos demostrar que cada transposición reduce el rango promedio de una representación como máximo , digamos, entonces obtendríamos un límite inferior . Tal límite puede probarse si conocemos los vectores propios correspondientes a cada representación y cada transposición. Esta información se puede resolver en principio, pero no hay garantía de que este enfoque produzca algo no trivial. 1/n2n2
Yuval Filmus

1
(continuación) y esta transformación lineal es exactamente la matriz que surge en la representación de S_n por n × n matrices de permutación. Aunque n − 1 es trivial como límite inferior en el número de puertas (el argumento de entropía ya ofrece un límite inferior mejor), espero que sea posible generalizar su argumento a otras representaciones para obtener un límite inferior mejor en el Número total de puertas.
Tsuyoshi Ito

44
@Yuval, @Peter: Noté que para cada representación, (1 − p) I + pA_ {ij} no es singular a menos que p = 1/2 (porque A_ {ij} ^ 2 = I implica que los valores propios de A_ {ij } son ± 1). Por lo tanto, contar el rango es útil solo para limitar el número de puertas de probabilidad 1/2, que Peter ya hizo de manera óptima. En otras palabras, si la teoría de la representación es útil de la manera que sugerí en esta publicación, ¡necesitamos algo más que contar el rango de matrices! No estoy seguro de si eso es realista.
Tsuyoshi Ito

1

El algoritmo Anthony se puede ejecutar en paralelo al comenzar la siguiente iteración del procedimiento después de los dos primeros intercambios probabilísticos, lo que resulta en el tiempo de ejecución .O(n2)O(n)


44
Creo que la medida de complejidad relevante para esta pregunta es el número de puertas y no el tiempo de ejecución.
Anthony Leverrier

3
@Anthony tiene razón en que lo que me interesa es simplemente el número mínimo de puertas necesarias.
Joe Fitzsimons

0

Si entiendo correctamente, si desea que su circuito pueda generar todas las permutaciones, necesita al menos puertas probabilísticas, aunque no estoy seguro de cómo se puede construir el circuito mínimo.log2(n!)

ACTUALIZAR:

Creo que si toma el algoritmo Mergesort y reemplaza todas las comparaciones con elecciones aleatorias con probabilidades apropiadas, obtendrá el circuito que está buscando.


2
No estoy del todo seguro de cómo traducirías esto al modelo de puerta de intercambio probabilítico que di anteriormente. No veo cómo un intercambio probabilístico reemplaza la comparación y aún logra una distribución aleatoria. Por lo tanto, tampoco estoy seguro de por qué esto sería óptimo.
Joe Fitzsimons

1
Y sí, es el mínimo, pero esto es solo . log2(n!)O(nlog(n))
Joe Fitzsimons

1
Suponga que y proceda por inducción en . Tiene dos permutaciones aleatorias de longitud . Si las combina al azar (es decir, tomando el siguiente elemento de una subpermutación elegida al azar), los resultados combinados deberían ser al azar. La probabilidad de que la posición tenga un elemento de la subpermutación "izquierda" es claramente 1/2 por simetría. Y condicionado a que tenga un elemento de la subpermutación izquierda, debe tener uno aleatoriamente uniforme. De esta manera, puede ver que la permutación resultante es de hecho aleatoria. n=2kk2k1i
Andrew D. King

1
Esa fue también mi línea de pensamiento cuando propuse mergesort, sin embargo, pensándolo bien, me parece que no es posible implementar la operación de fusión usando solo el tipo requerido de compuertas, ya que no producen una salida para saber si realizaron la permutación y no tienen entrada de control para condicionarlos.
Antonio Valerio Miceli-Barone

3
@ Andrew: No veo cómo "fusionarlos al azar" usando las puertas descritas en la pregunta.
Joe Fitzsimons

0

La siguiente respuesta es incorrecta (vea el comentario de @joe fitzsimon), pero podría ser útil como punto de partida

Tengo una propuesta de boceto en . He verificado manualmente que funciona para (!) Pero todavía no tengo pruebas de que el resultado sea uniforme más allá de .O(nlogn)n=4n=4

Supongamos que tiene un circuito que genera una permutación aleatoria uniforme en bits. Les la puerta de intercambio probabilística que intercambia los bits y con probabilidad 1/2 y no hace nada con probabilidad . Construya el siguiente circuito actúa en bits:CnnSi,j12ij1/2C2n2n

  1. 1kn , aplique la puerta ;Sk,k+n1/2
  2. Aplique en los primeros bits;Cnn
  3. Aplique en los últimos bits;Cnn
  4. 1kn , aplique la puerta .Sk,k+n1/2

Paso 1. es necesario para que los bits y pueden aterrizar en el mismo medio de la permutación, y el paso 4. Se necesita por simetría: si es una solución, por lo que es obtenido aplicando las puertas en orden inverso también es una solución.1n+1C2nC2n1

El tamaño de esta familia de circuitos obedece a la siguiente relación de recursión: con, obviamente, . Entonces se ve fácilmente que .| C 1 | = 0 | C n | = n log n

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

Entonces queda la pregunta obvia: ¿estos circuitos realizan permutaciones uniformes? No, vea el primer comentario a continuación


66
No creo que estos realicen permutaciones uniformes. De hecho, creo que es imposible hacer exactamente con tales puertas si se fija la probabilidad de ser 1/2. La razón de esto es simple: imagine un circuito que usa puertas de este tipo. Luego hay rutas computacionales equiprobables, por lo que cualquier permutación debe ocurrir con probabilidad para algún entero . Sin embargo, para una distribución uniforme, se requiere que . Claramente, esto no puede satisfacerse para un valor entero de para . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons

En efecto. También olvidé verificar la uniformidad para ...n=4
Frédéric Grosshans
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.