Qual é a maneira mais eficiente de gerar uma permutação aleatória a partir de swaps probabilísticos aos pares?


48

A questão em que estou interessado está relacionada à geração de permutações aleatórias. Dado um mecanismo probabilístico de troca por pares como bloco básico de construção, qual é a maneira mais eficiente de produzir uma permutação aleatória uniformemente de n elementos? Aqui tomo "probabilística portão de pares de troca" ser a operação que implementa uma porta de permuta entre a elementos escolhidos i e j com uma probabilidade p que pode ser livremente escolhido, para cada porta, e a identidade de outro modo.

Sei que geralmente não é assim que se gera permutações aleatórias, onde geralmente se pode usar algo como um embaralhamento de Fisher-Yates; no entanto, isso não funcionará para o aplicativo que tenho em mente, pois as operações permitidas são diferentes.

Claramente isso pode ser feito, a questão é com que eficiência. Qual é o menor número de swaps probabilísticos necessários para alcançar esse objetivo?

ATUALIZAR:

Anthony Leverrier fornece um método abaixo que realmente produz a distribuição correta usando portas O(n2) , com Tsuyoshi Ito fornecendo outra abordagem com a mesma escala nos comentários. No entanto, o melhor limite inferior que vi até agora é log2(n!) , que escala como O(nlogn) . Portanto, a questão ainda permanece em aberto: O(n2) o melhor que pode ser feito (ou seja, existe um limite inferior melhor)? Ou, como alternativa, existe uma família de circuitos mais eficiente?

ATUALIZAR:

Várias das respostas e comentários propuseram circuitos que são compostos inteiramente de swaps probabilísticos, nos quais a probabilidade é fixada em 12 . Esse circuito não pode resolver esse problema pelo seguinte motivo (retirado dos comentários):

Imagine um circuito que use m tais portões. Depois, existem 2m caminhos computacionais equiprobáveis ​​e, portanto, qualquer permutação deve ocorrer com probabilidade k2m para algum número inteiro k. No entanto, para uma distribuição uniforme, exigimos que k2m=1n!kn!=2mkn33|n!n332m

UPDATE (de mjqxxxx que está oferecendo a recompensa):

A recompensa oferecida é por (1) uma prova de que portões são necessários ou (2) um circuito de trabalho, para qualquer , que use menos que portões.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@ Anthony: Talvez não seja óbvio, mas você pode: Imagine que o circuito cria uma distribuição uniforme de permutações dos primeiros elementos . Então seguido de uma troca probabilística (com probabilidade 0,5) entre a posição e a posição produzirá uma escolha uniformemente aleatória para a posição . Se você seguir isso aplicando novamente aos primeiros elementos , deverá obter uma distribuição aleatória uniforme. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons

4
ok, obrigado pela explicação! Observe que o swap probabilístico deve ter proba entre a posição e a posição . n - 1 n(n1)/nn1n
Anthony Leverrier

5
Em termos de entropia necessária, o algoritmo precisa bits aleatórios em que é a função de entropia binária. Não consigo calcular essa soma exatamente, mas é acordo com o mathematica ... enquanto o ideal é pelo menos . 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

8
Isso é diferente do que você deseja, mas há uma família de circuitos de tamanho O (n log n) que gera toda permutação com probabilidade de pelo menos 1 / p (n!) Para algum polinômio p: considere uma rede de classificação com tamanho O (n log n) e substitua cada comparador por uma porta de troca de probabilidade 1/2. Devido à correção da rede de classificação, toda permutação deve surgir com probabilidade diferente de zero, o que é necessariamente pelo menos 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
Voltar ao problema original. Observe que a solução O (n ^ 2) descrita por Anthony pode ser vista como uma substituição de cada comparador na rede de classificação que representa a classificação por seleção por uma porta de troca probabilística com uma probabilidade adequada. (mais)
Tsuyoshi Ito

Respostas:


17

Um algoritmo de trabalho que descrevi em um comentário acima é o seguinte:

  • Primeiro começar por levar um elemento aleatório com uma probabilidade de na posição : troca de posições 1 e 2 com proba , em seguida, 2 e 3 com proba , em seguida, ... e com proba .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / N1/nn1/22/3n1n(n1)/n
  • Aplique o mesmo procedimento para trazer um elemento aleatório na posição : troque as posições 1 e 2 com prob ... depois as posições e com proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Etc

O número de portas requeridas por esse algoritmo é .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Esse algoritmo tem uma conexão com a classificação de bolhas. Em particular, considere o espaço de estado de todas as permutações de tamanho n. A probabilidade de que o primeiro elemento seja maior que o segundo é 1/2, troque por essa probabilidade. Suponha que os dois primeiros elementos sejam classificados, qual é o proba 2º elemento> 3º elemento 2/3, etc. Portanto, parece possível converter o algoritmo de classificação em um circuito de porta de troca, onde cada etapa a seguir deve levar em conta probabilidades condicionais, decorrentes de anteriores passos. O que, de certo modo, sugere um método ineficiente explícito para construir tais circuitos.
Mkatkov

16

Esta não é uma resposta nem novas informações. Aqui tentarei resumir as discussões que ocorreram nos comentários sobre as relações entre esse problema e as redes de classificação . Neste post, todos os horários estão no UTC e um "comentário" significa um comentário sobre a pergunta, salvo indicação em contrário.

Um circuito que consiste em portas de troca probabilísticas (que trocam dois valores aleatoriamente) naturalmente nos lembra uma rede de classificação, que nada mais é do que um circuito que consiste em comparadores (que trocam dois valores, dependendo da ordem entre eles). De fato, os circuitos para o problema atual e as redes de classificação estão relacionados entre si das seguintes maneiras:

  • A solução de Anthony Leverrier com n ( n- 1) / 2 portas de troca probabilísticas pode ser entendida como a rede de classificação da classificação de bolhas com os comparadores substituídos por portas de troca probabilísticas com probabilidades adequadas. Veja o comentário de mkatkov em 10 de março às 4:53 nessa resposta para obter detalhes. A rede de classificação para a classificação de seleção também pode ser usada da mesma maneira. (No comentário de 7 de março às 23:04, descrevi o circuito de Anthony como o tipo de seleção, mas isso não estava correto.)
  • Se queremos apenas todas as permutações com probabilidade diferente de zero e não nos importarmos com a distribuição ser uniforme, toda rede de triagem faz o trabalho quando todos os comparadores são substituídos por portas de troca de probabilidade 1/2. Se usarmos uma rede de classificação com comparadores O ( n log n ), o circuito resultante gera toda permutação com probabilidade de pelo menos 1/2 O ( n log n ) = 1 / poly ( n !), Conforme observado em meu comentário em março 7 22:59.
  • Nesse problema, é necessário que os portões de troca probabilísticos sejam acionados independentemente. Se removermos essa restrição, toda rede de classificação poderá ser convertida em um circuito que gere a distribuição uniforme, como mencionei no comentário em 7 de março às 23:08 e user1749, descrito em mais detalhes em 8 de março às 14:07.

Aparentemente, esses fatos sugerem que esse problema está intimamente relacionado às redes de classificação. No entanto, Peter Taylor encontrou uma evidência de que a relação pode não estar muito próxima. Ou seja, nem toda rede de classificação pode ser convertida em um circuito desejado, substituindo os comparadores por portas de troca probabilísticas por probabilidades adequadas. A rede de classificação de cinco comparadores para n = 4 é um contra-exemplo. Veja seus comentários em 10 de março às 11:08 e 10 de março às 14:01.


3
@mkatkov: Vi três ou quatro respostas excluídas e não me lembro qual era de quem, desculpe. Se você encontrou uma solução com menos de n (n-1) / 2 portas, eu gostaria de conhecer toda a construção (e não é para roubar a recompensa de mjqxxxx de você :)).
Tsuyoshi Ito

2
@mkatkov: Ainda estou cético. Como escrevi no último parágrafo deste post, Peter Taylor descobriu que a rede de classificação de cinco comparadores para n = 4 não pode ser convertida em uma solução para o problema atual, substituindo os comparadores por portas de troca probabilísticas. Isso implica que sua lógica não pode funcionar para todas as redes de classificação, embora não descarte a possibilidade de que, de alguma forma, funcione, por exemplo, na combinação de pares ímpares.
Tsuyoshi Ito

11
@mkatkov: A razão pela qual esse tipo de solução parece não funcionar (ou pelo menos nenhum exemplo de trabalho foi mostrado) é que as portas de troca em uma rede de classificação por pares são acionadas de maneira altamente correlacionada. Nesse problema, todos os portões disparam independentemente, o que leva a um espaço muito diferente de possíveis circuitos.
Mjqxxxx

11
@mkatbov, cada passo na rede de Anthony seleciona uma das m entradas (onde m varia de n a 2). Você não pode selecionar uma das m entradas com menos de m-1 portas, portanto, em particular, não pode fazê-lo com portas de registro. Vencer provavelmente exigirá algum tipo de abordagem de dividir e conquistar. O(n2)
Peter Taylor

3
@Tsuyoshi, Yuval e eu analisamos todas as soluções possíveis de 5 portas para e eliminamos todas elas, o que fortalece o resultado de que nem todas as redes de classificação podem ser convertidas em redes de permutação uniformes, resultando em tamanhos de problemas para os quais o a rede de permutação uniforme ideal requer mais portas do que a rede de triagem ideal. n=4
Peter Taylor

15

Esta não é uma resposta completa de forma alguma, mas inclui um resultado que pode ser útil e aplica-o para obter algumas restrições no caso que limitam as possíveis soluções de 5 portas a 2500 casos facilmente enumeráveis.n=4

Primeiro, o resultado geral: em qualquer solução que permita objetos, deve haver pelo menos swaps com probabilidade .n - 1 1nn112

Prova: considere a representação de permutação das permutações da ordem . Estas são as matrizes satisfazendo . Considere-se uma troca entre e com uma probabilidade : este tem representação (usando a notação representa o ciclo de permutação). Você pode pensar na multiplicação por essa matriz em termos da teoria das representações ou nos termos de Markov como aplicando a permutação com probabilidade deixando as coisas inalteradas com a probabilidade .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

A rede de permutação é, portanto, uma cadeia de tais multiplicações matriciais. Começamos com a matriz de identidade e o resultado final será uma matriz onde , portanto, estamos passando de uma matriz da classificação para uma matriz da classificação por multiplicações - ou seja, a classificação está diminuindo em .U i , j = 1U n1n-1Ui,j=1nn1n1

Considerando a classificação das matrizes , vemos que elas são essencialmente matrizes de identidade além de um menor , para que tenham classificação completa, a menos que , nesse caso, eles têm classificação .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Aplicando a desigualdade de matriz de Sylvester, descobrimos que cada troca diminui a classificação somente se e, quando essa condição é atendida, diminui-a em não mais que 1. Portanto, exigimos pelo menos swaps de probabilidade . n-11p=12n112

Observe que esse limite não pode ser reforçado porque a rede de Anthony Leverrier o alcança.


Aplicação ao caso . Já temos soluções com 6 portas, então a questão é se soluções com 5 portas são possíveis. Nós sabemos agora que pelo menos 3 dos portões devem ser 50/50 swaps, por isso temos dois "livre" probabilidades, e . Existem 32 eventos possíveis (5 eventos independentes, cada um com dois resultados) e baldes, cada um dos quais deve conter pelo menos um evento. Os eventos se dividem em 8 com probabilidade , 8 com probabilidade , 8 com probabilidade e 8 com probabilidade .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 eventos em 24 intervalos sem intervalos vazios implica que pelo menos 16 intervalos contêm precisamente um evento; portanto, pelo menos duas das quatro probabilidades fornecidas acima são iguais a . Considerando as simetrias, temos dois casos: ou . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

O primeiro caso fornece , ( correção ou , diminuindo a simetria). O segundo caso fornece , então , que não possui soluções reais. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Portanto, se houver uma solução de 5 portas, temos quatro portas com probabilidade e uma porta com probabilidade ou . No Wlog, o primeiro swap é e o segundo é ou ; os outros três têm (não mais que) cinco possibilidades, porque não faz sentido fazer a mesma troca duas vezes seguidas. Portanto, temos seqüências de troca a serem consideradas e 10 maneiras de atribuir as probabilidades, levando a 2500 casos que podem ser enumerados e testados mecanicamente. 112 213 0102232×53230102232×53

Atualização: Yuval Filmus e eu enumeramos e testamos os casos e não encontramos soluções; portanto, a solução ideal para envolve 6 portas e exemplos de soluções de 6 portas são encontradas em outras respostas.n=4


2
Minha enumeração de caso falhou em produzir qualquer exemplo mais curto.
Yuval Filmus

... mesmo após a correção.
Yuval Filmus

11
Excelente, é uma observação muito agradável.
Joe Fitzsimons

11
@mjqxxxx, calculo que, ao procurar uma solução de 9 portas para você teria que considerar aproximadamente 104 milhões de casos (embora isso possa ser reduzido um pouco com inteligência), mas para cada caso você estaria calculando 120 equações em 5 variáveis ​​com termos cruzados e, em seguida, procurando uma solução. Provavelmente é possível com um computador desktop padrão, mas requer um pouco mais de esforço, porque você não pode restringir com facilidade os valores possíveis das probabilidades. n=5
Peter Taylor

4
Estou concedendo a recompensa aqui, embora a resposta não forneça uma melhoria assintótica sobre o limite inferior nem qualquer melhoria no limite superior , porque pelo menos prova que é ideal em um único caso não trivial. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
Mjqxxxx

14

As informações a seguir parecem ser novas e relevantes:

O artigo [CKKL99] mostra como obter 1 / n perto de uma permutação uniforme de n elementos usando uma rede de comutação de profundidade O (log n) e, portanto, um total de comparadores de O (n log n).

Essa construção não é explícita, mas pode ser explicitada se você aumentar a profundidade para polylog (n). Veja os ponteiros no documento [CKKL01], que também contém mais informações.

Um comentário anterior já apontou um resultado dizendo que comutadores O (n log n) são suficientes, mas a diferença é que, na comutação de redes, os elementos comparados são fixos.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski e Krzysztof Lawrence. Acoplamento de caminho atrasado e geração de permutações aleatórias através de processos estocásticos distribuídos. No Symposium on Discrete Algorithms (SODA), páginas 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski e Krzysztof Lawrence. Redes de comutação para gerar permutações aleatórias, 2001.


Obrigado, isso é certamente útil saber. Ainda estou interessado em saber sobre o número do portão para gerar a distribuição exata, no entanto.
Joe Fitzsimons

12

Aqui está uma solução um tanto interessante para . A mesma idéia também funciona para .n = 6n=4n=6

Comece com os interruptores com probabilidade . Reduzindo a e a , estamos na situação . Aplique os interruptores com probabilidade . O resultado é Nosso próximo passo será com probabilidade . Assim, realmente nos preocupamos apenas se o resultado da etapa anterior for do formato (caso A) ou do formato(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 (caso B). No caso A, essas opções resultarão em uma probabilidade uniforme acima de . No caso B, eles serão ineficazes. Portanto, deve satisfazer Dado isso, o resultado é uniforme.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Uma idéia semelhante funciona para - você primeiro escolhe aleatoriamente cada metade e depois as "mescla". No entanto, mesmo para não consigo ver como mesclar as metades corretamente.n=6n=8

O ponto interessante sobre essa solução é a estranha probabilidade .p

Como uma observação lateral, o conjunto de probabilidades que pode nos ajudar é dado por , em que passa por todos os autovalores de todas as representações de em todas as transposições.p1/(1λ)λ0Sn


11
Os valores estranhos para são realmente encorajadores, pois acho que existe uma prova razoavelmente simples de que, se restringirmos as probabilidades a para o número inteiro , o melhor que você pode fazer é . p1/kkO(n2)
Joe Fitzsimons

5
Uma maneira um pouco diferente para 2n elementos, que ainda é estranho no mesmo sentido, é embaralhar os primeiros n elementos, embaralhar os últimos n elementos, trocar (i, i + n) pela probabilidade p_i para i = 1,…, n , embaralhe os primeiros n elementos e embaralhe os últimos n elementos. As probabilidades p_i devem ser escolhidas para que a probabilidade de exatamente k sair do fogo de n portas de troca seja igual a e essas probabilidades p_i sejam dadas por ( 1 + x_i) / 2 onde x_1,…, x_n são as raízes do polinômio de Legendre P_n. (mais)(nk)2/(2nn)
Tsuyoshi Ito

6
(continua) Uma coisa decepcionante sobre a variação que descrevi é que ela requer n (n-1) / 2 trocas probabilísticas quando n é uma potência de dois, ou seja, exatamente o mesmo número de portas que o tipo de bolha solução de Anthony Leverrier.
Tsuyoshi Ito

@ Tsuyoshi, sua construção está claramente correta, mas eu me pergunto se está fazendo mais do que o necessário. Não tenho tempo para analisar a análise no momento, mas, se o fizer, poderá achar que vale a pena considerar se existem tal forma que ; ; ; ; em seguida, aplique uma permutação adequada das raízes de Legendre (e preencha os outros quadrantes) pode funcionar. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor

7

Considere o problema de embaralhar aleatoriamente a string , em que cada bloco tem comprimento , com um circuito que consiste em swaps pares probabilísticos. Isto é, todos cordas com s e s deve ser igualmente prováveis saídas do circuito, dada a entrada especificado. Seja um circuito ideal para esse problema, e seja um circuito ideal para o problema original (embaralhando aleatoriamente elementos). A aplicação de uma permutação aleatória é suficiente para intercalar aleatoriamente os s e s, portanton ( 2 n ) ! / ( n ! ) 2XX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . Por outro lado, podemos embaralhar elementos embaralhando os primeiros elementos, embaralhando os últimos elementos e finalmente aplicando o circuito . Isso implica que . Combinando esses dois limites, podemos derivar o seguinte resultado:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| e são ambos , ou nenhum é.|C2n|o(n2)

Vemos que os dois problemas são igualmente difíceis, pelo menos nesse sentido. Esse resultado é um tanto surpreendente, pois é de se esperar que o problema do shuffle seja mais fácil. Em particular, o argumento entrópico mostra que é , mas fornece o resultado mais forte que é .| B 2 n | Ω ( n ) | C 2 n | Ω ( N log N )XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis e Shahshahani 1981, "Gerando uma permutação aleatória com transposições aleatórias" mostram que 1/2 n log n transposições aleatórias (nota: não há "O" aqui) resultam em uma permutação próxima (na distância total de variação) a uniforme. Não tenho certeza se exatamente o que é permitido em seu aplicativo permite que você use esse resultado, mas é bastante rápido e preciso, pois é um exemplo de um fenômeno de corte. Veja Passeios aleatórios em grupos finitos da Saloff-Coste para uma pesquisa de resultados semelhantes.


11
E presumivelmente duas permutações quase aleatórias podem ser compostas para produzir uma permutação ainda mais aleatória.
Mjqxxxx

7
... No entanto, deve-se notar que este não é realmente o mesmo problema (mesmo permitindo uma solução aproximada e não exata), porque os autores consideram transposições de pares de elementos escolhidos aleatoriamente, não transposições probabilísticas de pares de elementos especificados.
Mjqxxxx

5

Este é realmente um comentário, mas é muito longo para ser postado como um comentário. Suspeito que a teoria da representação do grupo simétrico possa ser útil para provar um limite inferior melhor. Embora eu não saiba quase nada sobre a teoria da representação e possa estar errado, deixe-me explicar por que ela pode estar relacionada ao problema atual.

Observe que o comportamento de um circuito que consiste em portas de troca probabilísticas pode ser totalmente especificado como uma distribuição de probabilidade p sobre S n , o grupo de permutações em n elementos. Uma permutação g ∈S n pode ser pensado como o evento que i th saída é g ( i ) th de entrada para todos os i ∈ {1, ..., n }. Agora represente uma distribuição de probabilidade p como uma soma formal ∑ g ∈S n p ( g ) g . Por exemplo, a troca probabilística entre os fios i ej com probabilidade p é representado como (1- p ) e + p τ ij , onde e ∈S n é o elemento de identidade e τ ij ∈S n é a transposição entre i e j .

Um fato interessante sobre essa soma formal é que o comportamento da concatenação de dois circuitos independentes pode ser formalmente descrito como um produto dessas somas formais. Nomeadamente, se os comportamentos de circuitos C 1 e C 2 são representados como somas formais um 1 = Σ g ∈S n p 1 ( g ) g e um 2 = Σ g ∈S n p 2 ( g ) g , respectivamente, em seguida o comportamento do circuito C 1 seguido por C 2é representado como ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Portanto, um circuito desejado com m swaps probabilísticos corresponde exatamente a uma maneira de escrever a soma (1 / n !) ∑ g ∈S n g como um produto de m somas cada uma das quais tem a forma (1− p ) e + p τ ij . Gostaríamos de saber o número mínimo m de fatores.

As somas formais ∑ g ∈ S n f ( g ) g , onde f é uma função de S n a equipped, equipada com adição e multiplicação definidas naturalmente, formam o anel chamado álgebra de grupo ℂ [S n ]. A álgebra de grupo está intimamente relacionada à teoria de representação de grupos, que é uma teoria profunda, como todos sabemos e tememos :). Isso me faz suspeitar que algo na teoria das representações possa ser aplicável ao problema atual.

Ou talvez isso seja exagero.


2
Aqui está o que isso reduz a. Existem várias representações do grupo simétrico, que podem ser calculadas explicitamente para transposições, com algum trabalho (geralmente elas são calculadas explicitamente apenas para transposições ). O valor inicial de cada representação é a matriz de identidade apropriada. A aplicação de uma troca probabilística multiplica cada representação com , onde é o valor da representação na troca realizada . (continuação)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Para que a saída seja uniforme, precisamos que todas as representações que não sejam a representação de identidade sejam zero. Portanto, as probabilidades devem ser escolhidas de modo que pelo menos algumas das matrizes sejam singulares. As matrizes para cada representação possuem diferentes vetores próprios, portanto, não está claro qual condição exigiria que uma representação específica fosse zero. (continuação)p(1p)I+pAijAij
Yuval Filmus

3
Se, no entanto, pudermos provar que toda transposição reduz a classificação média de uma representação em no máximo , digamos, um limite inferior de . Esse limite pode ser comprovado se conhecermos os vetores próprios correspondentes a cada representação e cada transposição. Essas informações podem ser trabalhadas em princípio, mas não há garantia de que essa abordagem produza algo não trivial. 1/n2n2
Yuval Filmus

11
(continuação) e essa transformação linear é exatamente a matriz que surge na representação de S_n por n × n matrizes de permutação. Embora n-1 seja trivial como um limite inferior no número de portas (o argumento da entropia já fornece um limite inferior melhor), minha esperança é que seja possível generalizar seu argumento para outras representações para gerar um limite inferior melhor no número total de portões.
Tsuyoshi Ito

4
@Yuval, @ Peter: notei que, para cada representação, (1-p) I + pA_ {ij} é não singular, a menos que p = 1/2 (porque A_ {ij} ^ 2 = implica que os valores próprios de A_ {ij } são ± 1). Portanto, contar a classificação é útil apenas para limitar o número de portas de probabilidade-1/2, que já foi feito de maneira ideal por Peter. Em outras palavras, se a teoria da representação é útil da maneira que sugeri neste post, precisamos de algo além de contar a classificação das matrizes! Não tenho certeza se isso é realista.
Tsuyoshi Ito

1

algoritmo Anthony pode ser executado em paralelo iniciando a próxima iteração do procedimento após os dois primeiros swaps probabilísticos, resultando em tempo de execução de .O(n2)O(n)


4
Eu acho que a medida de complexidade relevante para essa pergunta é o número de portas e não o tempo de execução.
Anthony Leverrier

3
@ Anthony está certo de que o que me interessa é simplesmente o número mínimo de portas necessárias.
Joe Fitzsimons

0

Se bem entendi, se você deseja que seu circuito possa gerar todas as permutações, você precisa de pelo menos portas probabilísticas , embora não tenha certeza de como o circuito mínimo pode ser construído.log2(n!)

ATUALIZAR:

Eu acho que se você pegar o algoritmo Mergesort e substituir todas as comparações por escolhas aleatórias com probabilidades apropriadas, obterá o circuito que está procurando.


2
Não tenho muita certeza de como você traduziria isso no modelo probabilístico de gate swap que dei acima. Não vejo como uma troca probabilística substitui a comparação e ainda alcança uma distribuição aleatória. Portanto, também não sei por que isso seria ótimo.
Joe Fitzsimons

11
E sim, é o mínimo, mas este é apenas . log2(n!)O(nlog(n))
21811 Joe Fitzsimons em

11
Suponha e prossiga por indução em . Você tem duas permutações aleatórias de comprimento . Se você as fundir aleatoriamente (por exemplo, pegar o próximo elemento de uma subpermutação escolhida aleatoriamente), os resultados mesclados certamente serão aleatórios. A probabilidade da posição ter um elemento da subpermutação "esquerda" é claramente 1/2 por simetria. E, condicionada a possuir um elemento da subpermutação esquerda, deve ter um elemento uniformemente aleatório. Desta forma, você pode ver que a permutação resultante é realmente aleatória. n=2kk2k1i
Andrew D. Rei

11
Essa também foi minha linha de pensamento quando propus o mergesort, no entanto, pensando bem, parece-me que talvez não seja possível implementar a operação de mesclagem usando apenas o tipo de porta necessário, pois eles não produzem uma saída para saber se eles executaram a permutação e se não têm entrada de controle para condicioná-los.
Antonio Valerio Miceli-Barone

3
@ Andrew: Eu não vejo como "mesclar estes aleatoriamente" usando os portões descritos na pergunta.
91111 Joe Fitzsimons # 037

0

A resposta a seguir está errada (consulte o comentário de @joe fitzsimon), mas pode ser útil como ponto de partida

Eu tenho uma proposta de esboço em . Eu verifiquei manualmente que funciona para (!), Mas ainda não tenho provas de que o resultado seja uniforme além de .O(nlogn)n=4n=4

Suponha que você tenha um circuito que gera uma permutação aleatória uniforme em bits. Les o portão de swap probabilística que troca os bits e com probabilidade 1/2 e não faz nada com probabilidade . Construa o seguinte circuito atuando em bits:CnnSi,j12ij1/2C2n2n

  1. 1kn , aplique o portão ;Sk,k+n1/2
  2. Aplique nos primeiros bits;Cnn
  3. Aplique nos últimos bits;Cnn
  4. 1kn , aplique a porta .Sk,k+n1/2

A etapa 1. é necessária para que os bits e possam aterrar na mesma metade da permutação, e a etapa 4. é necessária por simetria: se é uma solução, obtido pela aplicação dos portões na ordem inversa também é uma solução.1n+1C2nC2n1

O tamanho dessa família de circuitos obedece à seguinte relação de recursão: com, obviamente, . É fácil ver que .| C 1 | = 0 | C n | = n log n

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

Permanece então a pergunta óbvia: esses circuitos executam permutações uniformes? Não, veja o primeiro comentário abaixo


6
Não acredito que estes executem permutações uniformes. Na verdade, acho que é impossível fazer exatamente com esses portões se você fixar a probabilidade em 1/2. A razão para isso é simples: imagine um circuito que use tais portas. Depois, existem caminhos computacionais equiprobáveis ​​e, portanto, qualquer permutação deve ocorrer com probabilidade para algum número inteiro . No entanto, para uma distribuição uniforme, exigimos que . Claramente, isso não pode ser satisfeito com um valor inteiro de para . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons

De fato. Esqueci-me também verificar a uniformidade para ...n=4
Frédéric Grosshans
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.