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 é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 et avec une probabilité 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 , 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 à . La question reste donc ouverte: est-ce que 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 à . Un tel circuit ne peut pas résoudre ce problème pour la raison suivante (extraite des commentaires):
Imaginez un circuit qui utilise ces portes. Il existe alors chemins de calcul équiprobables, et toute permutation doit donc se produire avec une probabilité pour un nombre entier k. Cependant, pour une distribution uniforme, il faut que
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