Quel est le moyen le plus efficace de générer une permutation aléatoire à partir d’échanges probabilistes par paire?


48

La question qui m'intéresse est liée à la génération de permutations aléatoires. À partir d’une porte d’échange probabiliste par paire comme élément de base, quel est le moyen le plus efficace de produire une permutation uniformément aléatoire de n éléments? Ici, je suppose que "porte d'échange par paire probabiliste" est l'opération qui implémente une porte d'échange entre les éléments choisis i et j avec une probabilité p qui peut être choisie librement pour chaque porte, et l'identité autrement.

Je réalise que ce n'est généralement pas la façon dont on génère des permutations aléatoires, où l'on peut généralement utiliser quelque chose comme un shuffle de Fisher-Yates. Cependant, cela ne fonctionnera pas pour l'application que j'ai en tête car les opérations autorisées sont différentes.

Clairement, cela peut être fait, la question est de savoir avec quelle efficacité. Quel est le nombre minimal de swaps probabilistes nécessaires pour atteindre cet objectif?

MISE À JOUR:

Anthony Leverrier fournit une méthode ci-dessous qui produit effectivement la distribution correcte en utilisant des portes O(n2) , Tsuyoshi Ito fournissant une autre approche avec la même échelle dans les commentaires. Cependant, la meilleure limite inférieure que j’ai vue jusqu’à présent est log2(n!) à O(nlogn) . La question reste donc ouverte: est-ce que O(n2) la meilleure solution (c.-à-d . Existe-t -il une meilleure limite inférieure)? Ou bien, existe-t-il une famille de circuits plus efficace?

MISE À JOUR:

Plusieurs réponses et commentaires ont proposé des circuits entièrement composés d’échanges probabilistes dans lesquels la probabilité est fixée à 12 . Un tel circuit ne peut pas résoudre ce problème pour la raison suivante (extraite des commentaires):

Imaginez un circuit qui utilise m ces portes. Il existe alors 2m chemins de calcul équiprobables, et toute permutation doit donc se produire avec une probabilité k2m pour un nombre entier k. Cependant, pour une distribution uniforme, il faut que k2m=1n!kn!=2mkn33|n!n332m

UPDATE (de mjqxxxx qui offre la prime):

La prime offerte est pour (1) une preuve que portes sont nécessaires, ou (2) un circuit de travail, pour tout , qui utilise moins de portes.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@ Anthony: Ce n'est peut-être pas évident, mais vous pouvez le faire: imaginez que le circuit crée une distribution uniforme des permutations des premiers éléments. Ensuite, suivi d'un échange probabiliste (avec une probabilité de 0,5) entre la position et la position produira un choix uniformément aléatoire pour la position . Si vous suivez ceci en appliquant à nouveau aux premiers éléments, vous devriez obtenir une distribution uniformément aléatoire. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons

4
ok, merci pour l'explication! Notez que le swap probabiliste doit avoir proba entre la position et la position . n - 1 n(n1)/nn1n
Anthony Leverrier

5
En termes d'entropie requise, l'algorithme a besoin de bits aléatoires où est la fonction d'entropie binaire. Je ne peux pas calculer exactement cette somme, mais c’est selon mathematica ... alors que l’optimum est au moins . 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))
Anthony Leverrier Le

8
Ceci est différent de ce que vous voulez, mais il existe une famille de circuits de taille O (n log n) qui génèrent toutes les permutations avec une probabilité d'au moins 1 / p (n!) Pour certains polynômes p: considérons un réseau de tri de taille O (n log n) et remplacez chaque comparateur par une porte d’échange probabilité-1/2. En raison de l'exactitude du réseau de tri, toute permutation doit avoir lieu avec une probabilité non nulle, qui est nécessairement d'au moins 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
Retour au problème d'origine. Notez que la solution O (n ^ 2) décrite par Anthony peut être considérée comme remplaçant chaque comparateur du réseau de tri représentant le tri par sélection par une porte d'échange probabiliste avec une probabilité appropriée. (plus)
Tsuyoshi Ito

Réponses:


17

Un algorithme de travail que j'ai décrit dans un commentaire ci-dessus est le suivant:

  • Commençons d’abord par un élément aléatoire de probabilité en position : permutez les positions 1 et 2 avec proba , puis 2 et 3 avec proba , ... puis et avec proba .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / n1/nn1/22/3n1n(n1)/n
  • Appliquez la même procédure pour amener un élément aléatoire en position : permutez les positions 1 et 2 avec prob ... puis les positions et avec proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Etc

Le nombre de portes requis par cet algorithme est .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Cet algorithme a une connexion pour trier les bulles. En particulier, considérons l'espace d'état de toutes les permutations de taille n. La probabilité que le 1er élément supérieur au 2e soit égal à 1/2 change avec cette probabilité. Supposons que les deux premiers éléments soient triés, quel est le deuxième élément proba> 3ème élément 2/3, etc. Il semble donc possible de convertir l’algorithme de tri en circuit de porte swap, où chaque étape suivante doit prendre en compte les probabilités conditionnelles pas. Ce qui dans un sens suggère une méthode inefficace explicite pour construire de tels circuits.
Mkatkov

16

Ce n'est ni une réponse ni une nouvelle information. Je vais essayer ici de résumer les discussions qui ont eu lieu dans les commentaires sur les relations entre ce problème et les réseaux de tri . Dans cet article, toutes les heures sont exprimées en UTC et un «commentaire» désigne un commentaire sur la question, sauf indication contraire.

Un circuit constitué de portes d’échange probabilistes (qui échangent deux valeurs de manière aléatoire) rappelle naturellement un réseau de tri qui n’est autre chose qu’un circuit composé de comparateurs (qui échangent deux valeurs en fonction de l’ordre entre eux). En effet, les circuits pour le problème actuel et les réseaux de tri sont liés les uns aux autres de la manière suivante:

  • La solution d’Anthony Leverrier avec n ( n- 1) / 2 portes d’échange probabilistes peut être comprise comme le réseau de tri pour le tri à bulle, les comparateurs étant remplacés par des portes d’échange probabilistes présentant des probabilités appropriées. Voir le commentaire de mkatkov au 10 mars 04h53 sur cette réponse pour plus de détails. Le réseau de tri pour le tri par sélection peut également être utilisé de la même manière. (Dans le commentaire du 7 mars à 23h04, j'ai décrit le circuit d'Anthony comme une sorte de sélection, mais ce n'était pas correct.)
  • Si nous voulons seulement toutes les permutations avec une probabilité non nulle et ne nous soucions pas de l'uniformité de la distribution, alors chaque réseau de tri fait le travail lorsque tous les comparateurs sont remplacés par des portes d'échange à probabilité-1/2. Si nous utilisons un réseau de tri avec des comparateurs O ( n log n ), le circuit résultant génère chaque permutation avec une probabilité d'au moins 1/2 O ( n log n ) = 1 / poly ( n !), Comme observé dans mon commentaire de mars 7 22h59.
  • Dans ce problème, il est nécessaire que les portes d’échange probabilistes se déclenchent indépendamment. Si nous supprimons cette restriction, chaque réseau de tri peut être converti en un circuit générant la distribution uniforme, comme je l’ai mentionné dans le commentaire du 7 mars 23h08 et l’utilisateur 1749 décrit plus en détail le 8 mars 14h07.

Ces faits suggèrent apparemment que ce problème est étroitement lié au tri des réseaux. Cependant, Peter Taylor a trouvé une preuve que la relation peut ne pas être très proche. À savoir, tous les réseaux de tri ne peuvent pas être convertis en un circuit souhaité en remplaçant les comparateurs par des portes d'échange probabilistes présentant des probabilités appropriées. Le réseau de tri à cinq comparateurs pour n = 4 est un contre-exemple. Voir ses commentaires le 10 mars à 11h08 et le 10 mars à 14h01.


3
@mkatkov: J'ai vu trois ou quatre réponses supprimées et je ne me souviens plus lequel était, désolé. Si vous avez trouvé une solution avec moins de n (n − 1) / 2 portes, j'aimerais connaître toute la construction (et ce n'est pas pour voler la générosité de mjqxxxx :)).
Tsuyoshi Ito

2
@mkatkov: Je suis toujours sceptique. Comme je l'ai écrit dans le dernier paragraphe de ce billet, Peter Taylor a constaté que le réseau de tri à cinq comparateurs pour n = 4 ne peut pas être converti en une solution au problème actuel en remplaçant les comparateurs par des portes d'échange probabilistes. Cela implique que votre logique ne peut pas fonctionner pour tous les réseaux de tri, même si cela n'exclut pas la possibilité que cela fonctionne d'une manière ou d'une autre pour, par exemple, le test de fusion impair-pair.
Tsuyoshi Ito

1
@mkatkov: La raison pour laquelle ce type de solution ne semble pas fonctionner (ou du moins, aucun exemple de travail n'a été montré) est que les vannes d'échange d'un réseau de tri par paires se déclenchent de manière hautement corrélée. Dans ce problème, toutes les portes se déclenchent indépendamment, ce qui conduit à un espace très différent de circuits possibles.
Mjqxxxx

1
@ mkatbov, chaque étape du réseau d'Anthony sélectionne l'une des m entrées (où m va de n à 2). Vous ne pouvez pas sélectionner l'une des m entrées avec moins de m-1 portes; vous ne pouvez donc pas le faire en particulier avec log m gates. Battre va probablement nécessiter une approche de type diviser pour mieux régner. O(n2)
Peter Taylor

3
@Tsuyoshi, Yuval et moi avons analysé toutes les solutions possibles à cinq portes pour et les avons toutes éliminées, ce qui renforce le fait que tous les réseaux de tri ne peuvent pas être convertis en réseaux de permutation uniformes en un résultat indiquant qu'il existe des tailles de problèmes pour lesquelles Un réseau de permutation uniforme optimal nécessite plus de portes que le réseau de tri optimal. n=4
Peter Taylor

15

Ce n'est pas une réponse complète, mais il inclut un résultat qui peut être utile et l'applique pour obtenir des contraintes sur le cas qui limitent les solutions possibles à 5 portes à 2500 cas facilement énumérables.n=4

Tout d’abord le résultat général: dans toute solution qui permute objets, il doit y avoir au moins swaps ayant une probabilité .n - 1 1nn112

Preuve: considérons la représentation par permutation des permutations d'ordre . Ce sont les matrices satisfaisant . Considérons un échange entre et avec une probabilité : ceci a une représentation (en utilisant la notation de cycle pour représenter la permutation). Vous pouvez penser à la multiplication par cette matrice en termes de théorie de la représentation ou en termes de Markov comme appliquant la permutation avec la probabilité et en laissant les choses inchangées avec la probabilité .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

Le réseau de permutation est donc une chaîne de telles multiplications matricielles. Nous commençons avec la matrice identité et le résultat final sera une matrice où , nous allons donc d'une matrice de rang à une matrice de rang par multiplications - c'est-à-dire que le rang diminue de .U i , j = 1U n1n-1Ui,j=1nn1n1

Considérant le rang des matrices , on voit qu'elles sont essentiellement des matrices d'identité en dehors d'un mineur , donc ils ont le rang complet à moins que , auquel cas ils ont le rang .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

En appliquant l'inégalité matricielle de Sylvester, nous trouvons donc que chaque échange ne diminue le rang que si , et lorsque cette condition est remplie, il ne la diminue pas plus que 1. Par conséquent, nous avons besoin d'au moins échanges. de probabilité . n-11p=12n112

Notez que cette limite ne peut pas être resserrée car le réseau d'Anthony Leverrier y parvient.


Application au cas . Nous avons déjà des solutions avec 6 portes, donc la question est de savoir si des solutions avec 5 portes sont possibles. Nous savons maintenant qu'au moins trois des portes doivent être des swaps 50/50, nous avons donc deux probabilités "libres", et . Il y a 32 événements possibles (5 événements indépendants avec chacun deux résultats) et compartiments dont chacun doit contenir au moins un événement. Les événements se divisent en 8 avec la probabilité , 8 avec la probabilité , 8 avec la probabilité et 8 avec probabilité .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 événements dans 24 compartiments sans compartiments vides impliquent qu'au moins 16 compartiments contiennent exactement un événement, donc au moins deux des quatre probabilités indiquées ci-dessus sont égales à . En tenant compte des symétries, nous avons deux cas: ou . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

Le premier cas donne , ( correction ou , décompressant la symétrie). Le second cas donne , donc , qui n'a pas de vraie solution. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Par conséquent, s’il existe une solution à 5 portes, nous avons quatre portes de probabilité et une porte de probabilité ou . Wlog le premier échange est , et le second est ou ; les trois autres ont chacun (pas plus de) cinq possibilités, car il ne sert à rien de faire le même échange deux fois de suite. Nous avons donc séquences de swap à considérer et 10 façons d’attribuer les probabilités, ce qui donne 2500 cas qui pourraient être énumérés et testés mécaniquement. 112 213 0102232×53230102232×53

Mise à jour: Yuval Filmus et moi avons tous deux énuméré et testé les cas et n'avons trouvé aucune solution. La solution optimale pour implique donc 6 portes et des exemples de solutions à 6 portes se trouvent dans d'autres réponses.n=4


2
Mon énumération de cas n'a pas produit d'exemple plus court.
Yuval Filmus

... même après la correction.
Yuval Filmus

1
Excellent, c'est une très belle observation.
Joe Fitzsimons

1
@ mjqxxxx, je calcule qu'en cherchant une solution à 9 portes à il faudrait prendre en compte environ 104 millions de cas (bien que cela puisse être réduit avec un peu d'intelligence), mais pour chaque cas, il faudrait calculer 120 équations 5 variables avec termes croisés puis recherche d'une solution. C'est probablement faisable avec un ordinateur de bureau standard, mais cela nécessite un peu plus d'effort car vous ne pouvez pas aussi facilement contraindre les valeurs possibles des probabilités. n=5
Peter Taylor

4
J'accorde la prime ici, bien que la réponse ne fournisse aucune amélioration asymptotique par rapport à la limite inférieure ni aucune amélioration par rapport à la limite supérieure , car au moins cela prouve que est optimal dans un seul cas non trivial. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
Mjqxxxx

14

Ce qui suit semble être une information nouvelle et pertinente:

Le document [CKKL99] montre comment obtenir 1 / n proche d'une permutation uniforme de n éléments à l'aide d'un réseau de commutation de profondeur O (log n), et donc un total de 0 comparateurs (n log n).

Cette construction n'est pas explicite, mais elle peut être explicite si vous augmentez la profondeur à polylog (n). Voir les pointeurs dans l'article [CKKL01], qui contient également plus d'informations.

Un commentaire précédent indiquait déjà un résultat indiquant que O (n log n) suffisait, mais la différence est que, dans le cas de réseaux de commutation, les éléments comparés sont fixes.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski et Krzysztof Lorys. Couplage retardé et génération de permutations aléatoires via des processus stochastiques distribués. Dans Symposium sur les algorithmes discrets (SODA), pages 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski et Krzysztof Lorys. Réseaux de commutation pour générer des permutations aléatoires, 2001.


Merci, c'est certainement utile de savoir. Je suis toujours intéressé de connaître le numéro de porte pour générer la distribution exacte, cependant.
Joe Fitzsimons

12

Voici une solution assez intéressante pour . La même idée fonctionne aussi pour .n = 6n=4n=6

Commencez avec les commutateurs avec une probabilité de . En réduisant à et à , nous sommes dans la situation . Appliquez les commutateurs avec une probabilité . Le résultat est Notre prochain mouvement sera avec une probabilité de . Nous ne nous soucions donc vraiment que si le résultat de l'étape précédente est de la forme (cas A) ou de la forme(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 (cas B). Dans le cas A, ces commutateurs une probabilité uniforme supérieure à . Dans le cas B ils seront inefficaces. Par conséquent, doit satisfaire Compte tenu de cela, le résultat est uniforme.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Une idée similaire fonctionne pour - vous devez d'abord trier chaque moitié au hasard, puis les "fusionner". Cependant, même pour je ne vois pas comment fusionner correctement les moitiés.n=6n=8

Le point intéressant de cette solution est l'étrange probabilité .p

En note, l'ensemble des probabilités qui peuvent éventuellement nous aider est donné par , où passe en revue toutes les valeurs propres de toutes les représentations de à toutes les transpositions.p1/(1λ)λ0Sn


1
Les valeurs étranges pour sont en effet encourageantes, car je pense qu'il existe une preuve assez simple que si nous limitons les probabilités à pour un entier le mieux que vous puissiez faire est . p1/kkO(n2)
Joe Fitzsimons

5
Une façon un peu différente pour 2n éléments, ce qui est encore bizarre dans un sens similaire, est de mélanger les n premiers éléments, de mélanger les n derniers éléments, d’échanger (i, i + n) avec la probabilité p_i pour i = 1,…, n , mélangez les n premiers éléments et mélangez les n derniers éléments. Les probabilités p_i doivent être choisies de manière à ce que la probabilité que k sur les n portes d’échange soit exactement égale à et à ces probabilités p_i est donnée par ( 1 + x_i) / 2 où x_1,…, x_n sont les racines du polynôme de Legendre P_n. (plus)(nk)2/(2nn)
Tsuyoshi Ito

6
(suite) Une chose décevante à propos de la variation que j’ai décrite est qu’elle nécessite n (n-1) / 2 permutations probabilistes lorsque n est une puissance de deux, c’est-à-dire exactement le même nombre de portes que le type à bulle. solution de Anthony Leverrier.
Tsuyoshi Ito

@Tsuyoshi, votre construction est clairement correcte, mais je me demande si cela fait plus que nécessaire. Je n'ai pas le temps de travailler sur l'analyse pour le moment, mais si vous le faites, vous trouverez peut-être utile d'examiner s'il existe tel que ; ; ; ; appliquez ensuite une permutation appropriée des racines de Legendre (et remplissez les autres quartiers) peut fonctionner. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor

7

Considérons le problème du brassage aléatoire de la chaîne , où chaque bloc a une longueur , avec un circuit consistant en des échanges probabilistes par paire. Autrement dit, toutes les chaînes avec s et s doivent être des sorties également probables du circuit, compte tenu de l'entrée spécifiée. Soit un circuit optimal pour ce problème, et un circuit optimal pour le problème d'origine (mélange aléatoire de éléments). L’application d’une permutation aléatoire suffit pour entrelacer de manière aléatoire les s et s.XX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . D'autre part, nous pouvons mélanger éléments en mélangeant les premiers éléments, en mélangeant les derniers éléments et finalement en appliquant le circuit . Cela implique que . En combinant ces deux limites, nous pouvons obtenir le résultat suivant:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| et sont tous deux ou aucun des deux.|C2n|o(n2)

Nous constatons que les deux problèmes sont également difficiles, du moins dans ce sens. Ce résultat est quelque peu surprenant, car on pourrait s’attendre à ce que le problème de mélange aléatoire soit plus facile. En particulier, l'argument entropique montre que est , mais donne un résultat plus fort que est .XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis et Shahshahani 1981, "Générer une permutation aléatoire avec des transpositions aléatoires" montre que 1/2 n log n transpositions aléatoires (remarque: il n'y a pas de "O" ici) résulte en une permutation proche (en distance de variation totale) à uniforme. Je ne sais pas si ce qui est autorisé dans votre application vous permet d'utiliser ce résultat, mais il est assez rapide et concis en ce sens qu'il s'agit d'un exemple de phénomène de coupure. Voir Random Walks on Finies Group de Saloff-Coste pour une étude de résultats similaires.


1
Et vraisemblablement, deux permutations presque aléatoires peuvent être composées pour produire une permutation encore plus quasi aléatoire.
Mjqxxxx

7
... Cependant, il convient de noter qu'il ne s'agit pas vraiment du même problème (même en permettant une solution approximative plutôt qu'exacte), car les auteurs envisagent des transpositions de paires d'éléments choisies au hasard, et non des transpositions probabilistes de paires spécifiées.
mjqxxxx

5

C’est vraiment un commentaire, mais il est trop long d’en faire un commentaire. Je soupçonne que la théorie de la représentation du groupe symétrique pourrait être utile pour prouver une meilleure limite inférieure. Bien que je ne sache presque rien de la théorie de la représentation et que je sois mal à l'aise, laissez-moi vous expliquer pourquoi cela pourrait être lié au problème actuel.

Notez que le comportement d'un circuit constitué de portes d'échange probabilistes peut être entièrement spécifié comme une distribution de probabilité p sur S n , le groupe de permutations sur n éléments. Une permutation g ∈S n peut être considéré comme le cas où i ième sortie est g ( i ) e entrée pour tout i ∈ {1, ..., n }. Représentons maintenant une distribution de probabilité p sous forme de somme formelle g ∈S n p ( g ) g . Par exemple, l’échange probabiliste entre les fils i etj avec probabilité p est représenté par (1− p ) e + p τ ij , où e ∈S n est l'élément d'identité et τ ij ∈S n est la transposition entre i et j .

Un fait intéressant à propos de cette somme formelle est que le comportement de la concaténation de deux circuits indépendants peut être formellement décrit comme un produit de ces sommes formelles. A savoir, si le comportement des circuits C 1 et C 2 sont représentés comme des sommes formelles un 1 = Σ g ∈S n p 1 ( g ) g et une 2 = Σ g ∈S n p 2 ( g ) g , respectivement, puis le comportement du circuit C 1 suivi de C 2est représenté par g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Par conséquent, un circuit souhaitée avec m échanges probabilistes correspondant exactement à un moyen d'écrire la somme (1 / n !) Σ g ∈S n g en tant que produit de m résume chacun d'eux étant de la forme (1- p ) e + p τ ij . Nous aimerions connaître le nombre minimum de facteurs m .

Les sommes formelles ∑ g ∈S n f ( g ) g , où f est une fonction de S n à ℂ, équipées de l'addition et de la multiplication naturellement définies, forment l'anneau appelé algèbre des groupes [S n ]. L'algèbre des groupes est étroitement liée à la théorie de la représentation des groupes, qui est une théorie profonde comme nous le savons tous et le craignons :). Cela me laisse penser que quelque chose dans la théorie de la représentation pourrait être applicable au problème actuel.

Ou peut-être que c'est juste tiré par les cheveux.


2
Voici ce que cela réduit à. Il existe de nombreuses représentations du groupe symétrique, qui peuvent être calculées explicitement pour les transpositions, moyennant un certain travail (en général, elles ne sont calculées explicitement que pour les transpositions ). La valeur initiale de chaque représentation est la matrice d'identité appropriée. L’application d’un échange probabiliste multiplie chaque représentation par , où est la valeur de la représentation lors de l’échange effectué . (suite)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Pour que la sortie soit uniforme, nous avons besoin que toutes les représentations autres que la représentation d'identité soient nulles. Donc, les probabilités doivent être choisies de sorte qu'au moins certaines des matrices soient singulières. Les matrices de chaque représentation ont des vecteurs propres différents; il est donc difficile de savoir quelle condition imposerait à une représentation particulière d'être nulle. (suite)p(1p)I+pAijAij
Yuval Filmus

3
Cependant, si nous pouvions prouver que chaque transposition réduit le rang moyen d’une représentation d’au plus , par exemple, nous obtiendrions alors une inférieure. Une telle liaison peut être prouvée si nous connaissons les vecteurs propres correspondant à chaque représentation et à chaque transposition. Cette information peut être élaborée en principe, mais rien ne garantit que cette approche produirait quelque chose de non trivial. 1/n2n2
Yuval Filmus

1
(suite) et cette transformation linéaire est exactement la matrice apparaissant dans la représentation de S_n par n × n matrices de permutation. Bien que n-1 soit trivial comme limite inférieure du nombre de portes (l'argument de l'entropie donne déjà une meilleure limite inférieure), j'espère qu'il sera possible de généraliser votre argument à d'autres représentations pour obtenir une meilleure limite inférieure de la valeur. nombre total de portes.
Tsuyoshi Ito

4
@Yuval, @Peter: J'ai remarqué que pour chaque représentation, (1-p) I + pA_ {ij} est non singulier sauf si p = 1/2 (parce que A_ {ij} ^ 2 = I implique que les valeurs propres de A_ {ij } sont ± 1). Compter le rang n'est donc utile que pour la limite inférieure du nombre de portes de probabilité-1/2, ce qui avait déjà été fait de manière optimale par Peter. En d’autres termes, si la théorie de la représentation est utile dans le sens que j’ai suggéré dans cet article, nous avons besoin de quelque chose de plus que de compter le rang des matrices! Je ne suis pas sûr que ce soit réaliste.
Tsuyoshi Ito

1

L' algorithme Anthony peut être exécuté en parallèle en démarrant la prochaine itération de la procédure après les deux premiers permutations probabilistes, ce qui a pour résultat l' exécution .O(n2)O(n)


4
Je pense que la mesure de la complexité pertinente pour cette question est le nombre de portes et non le temps d'exécution.
Anthony Leverrier

3
@Anthony a raison de dire que ce qui m'intéresse, c'est simplement le nombre minimum de portes nécessaires.
Joe Fitzsimons

0

Si je comprends bien, si vous voulez que votre circuit puisse générer toutes les permutations, vous avez besoin d’au moins portes probabilistes, bien que je ne sois pas sûr de la façon dont le circuit minimal peut être construit.log2(n!)

MISE À JOUR:

Je pense que si vous prenez l'algorithme Mergesort et remplacez toutes les comparaisons par des choix aléatoires avec des probabilités appropriées, vous obtiendrez le circuit que vous recherchez.


2
Je ne suis pas tout à fait sûr de savoir comment vous traduiriez cela dans le modèle probabilitsic de porte d'échange que j'ai donné ci-dessus. Je ne vois pas comment un échange probabiliste remplace la comparaison et permet néanmoins d'obtenir une distribution aléatoire. Par conséquent, je ne sais pas non plus pourquoi cela serait optimal.
Joe Fitzsimons

1
Et oui, est le minimum, mais ce n’est que . log2(n!)O(nlog(n))
Joe Fitzsimons

1
Supposons que et procédons par induction sur . Vous avez deux permutations aléatoires de longueur . Si vous les fusionnez de manière aléatoire (en prenant le prochain élément d'une sous-permutation choisie au hasard), les résultats fusionnés devraient certainement être aléatoires. La probabilité que la position ait un élément de la sous-permutation "de gauche" est clairement 1/2 par symétrie. Et à condition qu'il ait un élément de la sous-permutation gauche, il doit en avoir un uniformément aléatoire. De cette façon, vous pouvez voir que la permutation résultante est bien aléatoire. n=2kk2k1i
Andrew D. King

1
C’était également ce que je pensais lorsque j’ai proposé mergesort. Cependant, j’ai une seconde pensée, il me semble qu’il ne sera peut-être pas possible de mettre en œuvre l’opération de fusion en utilisant uniquement le type de portes requis, car elles ne produisent pas de sortie. pour dire s'ils ont effectué la permutation et ils n'ont aucune entrée de contrôle pour les conditionner.
Antonio Valerio Miceli-Barone

3
@ Andrew: Je ne vois pas comment "fusionner ces au hasard" en utilisant les portes décrites dans la question.
Joe Fitzsimons

0

La réponse suivante est fausse (voir le commentaire de @joe fitzsimon), mais peut être utile comme point de départ

J'ai une proposition d'esquisse en . J'ai vérifié manuellement que cela fonctionne pour (!) Mais je n'ai pas encore de preuve que le résultat est uniforme au-delà de .O(nlogn)n=4n=4

Supposons que vous ayez un circuit qui génère une permutation aléatoire uniforme sur bits. Les la porte d'échange probabiliste qui échange les bits et avec une probabilité de 1/2 et ne fait rien avec une probabilité de . Construisez le circuit suivant agissant sur bits:CnnSi,j12ij1/2C2n2n

  1. 1kn , appliquez la porte ;Sk,k+n1/2
  2. Appliquez sur les premiers bits;Cnn
  3. Appliquez sur les derniers bits;Cnn
  4. 1kn , appliquez la porte .Sk,k+n1/2

L’étape 1 est nécessaire pour que les bits et puissent atterrir dans la même moitié de la permutation, et l’étape 4 est nécessaire par symétrie: si est une solution, obtenu en appliquant les portes dans l’ordre inverse est également une solution.1n+1C2nC2n1

La taille de cette famille de circuits obéit à la relation de récursivité suivante: avec, évidemment, . On voit alors facilement que .

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

Reste alors la question évidente: ces circuits effectuent-ils des permutations uniformes? Non, voir le premier commentaire ci-dessous


6
Je ne crois pas que ceux-ci effectuent des permutations uniformes. En fait, je pense qu'il est impossible de faire exactement avec de telles portes si vous fixez la probabilité à 1/2. La raison est simple: imaginez un circuit usages ces portes. Ensuite, il y a chemins de calcul équiprobables, de sorte que toute permutation doit se produire avec une probabilité pour un entier . Cependant, pour une distribution uniforme, nous avons besoin de . Il est clair que cela ne peut pas être satisfait pour une valeur entière de pour . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons

En effet. J'ai oublié aussi de vérifier l'uniformité pour ...n=4
Frédéric Grosshans
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.