Qual è il modo più efficiente per generare una permutazione casuale da swap probabilistici a coppie?


48

La domanda che mi interessa è relativa alla generazione di permutazioni casuali. Dato un gate di scambio probabilistico a coppie come blocco di base, qual è il modo più efficiente per produrre una permutazione uniformemente casuale di n elementi? Qui prendo "gate di scambio probabilistico a coppie" per essere l'operazione che implementa un gate di scambio tra gli elementi scelti i e j con una certa probabilità p che può essere liberamente scelta per ciascun cancello e l'identità in caso contrario.

Mi rendo conto che questo di solito non è il modo in cui si generano permutazioni casuali, dove di solito si potrebbe usare qualcosa come un shuffle Fisher-Yates, tuttavia, questo non funzionerà per l'applicazione che ho in mente poiché le operazioni consentite sono diverse.

Chiaramente questo può essere fatto, la domanda è quanto sia efficiente. Qual è il numero minimo di swap probabilistici necessari per raggiungere questo obiettivo?

AGGIORNARE:

Anthony Leverrier fornisce un metodo di seguito che effettivamente produce la corretta distribuzione usando porte O(n2) , con Tsuyoshi Ito che fornisce un altro approccio con lo stesso ridimensionamento nei commenti. Tuttavia, il limite inferiore migliore che ho visto finora è log2(n!) , che si ridimensiona come O(nlogn) . Quindi, la domanda rimane ancora aperta: O(n2) il migliore che si possa fare (cioè c'è un limite inferiore migliore)? O in alternativa, esiste una famiglia di circuiti più efficiente?

AGGIORNARE:

Molte delle risposte e dei commenti hanno proposto circuiti composti interamente da swap probabilistici in cui la probabilità è fissata a 12 . Tale circuito non può risolvere questo problema per il seguente motivo (sollevato dai commenti):

Immagina un circuito che utilizza m tali cancelli. Quindi ci sono 2m percorsi computazionali equiprobabili, e quindi ogni permutazione deve avvenire con probabilità k2m per un certo numero intero k. Tuttavia, per una distribuzione uniforme richiediamo che k2m=1n!kn!=2mkn33|n!n332m

AGGIORNAMENTO (da mjqxxxx che offre la taglia):

La generosità offerta è per (1) una prova della necessità di porte , o (2) un circuito di lavoro, per qualsiasi n , che utilizza meno di n (n-1) / 2 porte.ω(nlogn)n ( n - 1 ) / 2nn(n1)/2


8
@Anthony: Forse non è ovvio, ma puoi: Immagina che il circuito crei una distribuzione uniforme delle permutazioni dei primi elementi . Quindi seguito da uno scambio probabilistico (con probabilità 0,5) tra la posizione e la posizione produrrà una scelta uniformemente casuale per la posizione . Se lo segui applicando nuovamente ai primi elementi, dovresti ottenere una distribuzione uniformemente casuale. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons,

4
ok, grazie per la spiegazione! Si noti che lo scambio probabilistico dovrebbe avere proba tra la posizione e la posizione . n - 1 n(n1)/nn1n
Anthony Leverrier,

5
In termini di entropia richiesta, l'algoritmo richiede bit casuali in cui è la funzione di entropia binaria. Non posso calcolare esattamente quella somma ma è secondo la matematica ... mentre l'ottimale è almeno . 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
Questo è diverso da quello che vuoi, ma esiste una famiglia di circuiti di dimensione O (n log n) che generano ogni permutazione con probabilità almeno 1 / p (n!) Per alcuni polinomi p: considera una rete di ordinamento con dimensione O (n log n) e sostituisci ogni comparatore con un gate di scambio probabilità-1/2. A causa della correttezza della rete di smistamento, ogni permutazione deve sorgere con probabilità diversa da zero, che è necessariamente almeno 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito,

3
Torna al problema originale. Si noti che la soluzione O (n ^ 2) descritta da Anthony può essere vista come la sostituzione di ciascun comparatore nella rete di ordinamento che rappresenta l'ordinamento di selezione con un gate di scambio probabilistico con una probabilità adeguata. (altro)
Tsuyoshi Ito

Risposte:


17

Un algoritmo funzionante che ho descritto in un commento sopra è il seguente:

  • Prima inizia portando un elemento casuale con probabilità in posizione : scambia le posizioni 1 e 2 con proba , quindi 2 e 3 con proba , ... quindi e con proba .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / n1/nn1/22/3n1n(n1)/n
  • Applicare la stessa procedura per portare un elemento casuale in posizione : scambiare le posizioni 1 e 2 con prob ... quindi le posizioni e con proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Eccetera

Il numero di gate richiesti da questo algoritmo è .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Questo algoritmo ha una connessione all'ordinamento a bolle. In particolare si consideri lo spazio degli stati di tutte le permutazioni di dimensione n. La probabilità che 1 ° elementi maggiori di 2 ° sia 1/2, scambia con quella probabilità. Supponiamo che i primi due elementi siano ordinati, qual è il proba 2o elemento> 3o elemento 2/3, ecc. Pertanto, sembra possibile convertire l'algoritmo di ordinamento in un circuito di gate di scambio, in cui ogni passaggio successivo dovrebbe tenere conto delle probabilità condizionate, derivanti da precedenti passi. Che in un certo senso suggerisce un metodo esplicito inefficiente per costruire tali circuiti.
mkatkov,

16

Questa non è né una risposta né nuove informazioni. Qui proverò a riassumere le discussioni avvenute nei commenti sulle relazioni tra questo problema e le reti di smistamento . In questo post, tutti i tempi sono in UTC e un "commento" significa un commento alla domanda se non diversamente indicato.

Un circuito costituito da gate di scambio probabilistici (che scambiano due valori in modo casuale) ci ricorda naturalmente una rete di smistamento, che non è altro che un circuito costituito da comparatori (che scambiano due valori a seconda dell'ordine tra loro). Infatti, i circuiti per l'attuale problema e le reti di smistamento sono collegati tra loro nei seguenti modi:

  • La soluzione di Anthony Leverrier con n ( n −1) / 2 gate di scambio probabilistici può essere intesa come la rete di ordinamento per l'ordinamento a bolle con i comparatori sostituiti da gate di scambio probabilistici con opportune probabilità. Vedi il commento di mkatkov al 10 marzo 4:53 su quella risposta per i dettagli. La rete di ordinamento per l'ordinamento di selezione può essere utilizzata allo stesso modo. (Nel commento del 7 marzo alle 23:04, ho descritto il circuito di Anthony come il tipo di selezione, ma non era corretto.)
  • Se vogliamo solo ogni permutazione con probabilità diversa da zero e non ci preoccupiamo che la distribuzione sia uniforme, allora ogni rete di smistamento fa il lavoro quando tutti i comparatori vengono sostituiti con cancelli di scambio probabilità-1/2. Se utilizziamo una rete di smistamento con comparatori O ( n log n ), il circuito risultante genera ogni permutazione con probabilità almeno 1/2 O ( n log n ) = 1 / poly ( n !), Come osservato nel mio commento a marzo 7 22:59.
  • In questo problema, è necessario che le porte di scambio probabilistico si attivino indipendentemente. Se rimuoviamo questa restrizione, ogni rete di smistamento può essere convertita in un circuito che genera una distribuzione uniforme, come ho detto nel commento del 7 marzo alle 23:08 e user1749 descritto in maggior dettaglio l'8 marzo alle 14:07.

Questi fatti sembrano suggerire che questo problema è strettamente legato alle reti di smistamento. Tuttavia, Peter Taylor ha trovato la prova che la relazione potrebbe non essere molto stretta. Vale a dire, non tutte le reti di smistamento possono essere convertite in un circuito desiderato sostituendo i comparatori con porte di scambio probabilistiche con opportune probabilità. La rete di ordinamento a cinque comparatori per n = 4 è un controesempio. Vedi i suoi commenti il ​​10 marzo alle 11:08 e il 10 marzo alle 14:01.


3
@mkatkov: ho visto tre o quattro risposte cancellate e non ricordo di chi fosse, scusa. Se hai trovato una soluzione con meno di n (n − 1) / 2 porte, vorrei conoscere l'intera costruzione (e non è per rubarti la generosità di mjqxxxx :)).
Tsuyoshi Ito,

2
@mkatkov: sono ancora scettico. Come ho scritto nell'ultimo paragrafo di questo post, Peter Taylor ha scoperto che la rete di ordinamento a cinque comparatori per n = 4 non può essere convertita in una soluzione al problema attuale sostituendo i comparatori con porte di scambio probabilistiche. Ciò implica che la tua logica non può funzionare per ogni rete di smistamento, anche se non esclude la possibilità che in qualche modo funzioni per, diciamo, l'unione dispari-pari.
Tsuyoshi Ito,

1
@mkatkov: la ragione per cui questo tipo di soluzione non sembra funzionare (o almeno non è stato mostrato alcun esempio funzionante) è che le porte di scambio in una rete di smistamento a coppie si attivano in modo altamente correlato. In questo problema, tutte le porte si accendono indipendentemente, il che porta a uno spazio molto diverso di possibili circuiti.
mjqxxxx,

1
@mkatbov, ogni passaggio nella rete di Anthony seleziona uno degli ingressi m (dove m va da n in giù a 2). Non è possibile selezionare uno degli ingressi m con meno di m-1 gate, quindi in particolare non è possibile farlo con log m gate. Battere richiederà probabilmente una sorta di approccio di divisione e conquista. O(n2)
Peter Taylor,

3
@Tsuyoshi, Yuval e io abbiamo analizzato tutte le possibili soluzioni a 5 gate per e le abbiamo eliminate tutte, il che rafforza il risultato che non tutte le reti di smistamento possono essere convertite in reti di permutazione uniformi in un risultato che esistono dimensioni problematiche per le quali il la rete di permutazione uniforme ottimale richiede più porte rispetto alla rete di cernita ottimale. n=4
Peter Taylor,

15

Questa non è una risposta completa in alcun modo, ma include un risultato che può essere utile e lo applica per ottenere alcuni vincoli sul caso che limita le possibili soluzioni a 5 porte a 2500 casi facilmente enumerabili.n=4

Innanzitutto il risultato generale: in qualsiasi soluzione che permetta oggetti, devono esserci almeno swap che hanno probabilità .n - 1 1nn112

Prova: considera la rappresentazione della permutazione delle permutazioni dell'ordine . Queste sono le matrici soddisfacenti . Considera uno scambio tra e con probabilità : questo ha rappresentazione (usando la notazione del ciclo per rappresentare la permutazione). Puoi pensare alla moltiplicazione di questa matrice in termini di teoria della rappresentazione o in termini di Markov come applicare la permutazione con probabilità e lasciare le cose invariate con 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

La rete di permutazione è quindi una catena di tali moltiplicazioni di matrice. Iniziamo con la matrice di identità e il risultato finale sarà una matrice cui , quindi stiamo passando da una matrice di grado a una matrice di grado per moltiplicazioni - ovvero il rango sta diminuendo di .U i , j = 1U n1n-1Ui,j=1nn1n1

Considerando il rango delle matrici , quindi, vediamo che sono essenzialmente matrici di identità a parte un minore , quindi hanno il rango completo a meno che , nel qual caso hanno il rango .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Applicando la disuguaglianza della matrice di Sylvester troviamo quindi che ogni scambio diminuisce il rango solo se , e quando questa condizione è soddisfatta la diminuisce di non più di 1. Quindi abbiamo bisogno di almeno swap di probabilità . n-11p=12n112

Nota che questo limite non può essere stretto perché la rete di Anthony Leverrier lo raggiunge.


Applicazione al caso . Abbiamo già soluzioni con 6 porte, quindi la domanda è se sono possibili soluzioni con 5 porte. Ora sappiamo che almeno 3 dei gate devono essere 50/50 swap, quindi abbiamo due probabilità "libere", e . Ci sono 32 possibili eventi (5 eventi indipendenti ciascuno con due risultati) e bucket ciascuno dei quali deve contenere almeno un evento. Gli eventi si dividono in 8 con probabilità , 8 con probabilità , 8 con probabilità e 8 con probabilità .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 eventi in 24 bucket senza bucket vuoti implica che almeno 16 bucket contengono esattamente un evento, quindi almeno due delle quattro probabilità indicate sopra sono uguali a . Tenendo conto delle simmetrie abbiamo due casi: o . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

Il primo caso indica , ( correzione o , che svolge la simmetria). Il secondo caso fornisce , quindi , che non ha soluzioni reali. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Pertanto, se esiste una soluzione a 5 porte, abbiamo quattro porte con probabilità e una porta con probabilità o . Wlog il primo scambio è e il secondo è o ; gli altri tre hanno ciascuno (non più di) cinque possibilità, perché non ha senso fare lo stesso scambio due volte di seguito. Quindi abbiamo sequenze di swap da considerare e 10 modi per assegnare le probabilità, portando a 2500 casi che potrebbero essere enumerati e testati meccanicamente. 112 213 0102232×53230102232×53

Aggiornamento: Yuval Filmus e io abbiamo entrambi enumerato e testato i casi e non abbiamo trovato soluzioni, quindi la soluzione ottimale per prevede 6 porte e esempi di soluzioni a 6 porte si trovano in altre risposte.n=4


2
La mia enumerazione dei casi non è riuscita a produrre alcun esempio più breve.
Yuval Filmus,

... anche dopo la correzione.
Yuval Filmus,

1
Eccellente, è un'osservazione molto bella.
Joe Fitzsimons,

1
@mjqxxxx, ho calcolato che nella ricerca di una soluzione a 9 gate a dovresti considerare circa 104 milioni di casi (anche se questo potrebbe essere ridotto un po 'con intelligenza), ma per ogni caso calcolerai 120 equazioni 5 variabili con termini incrociati e quindi ricerca di una soluzione. Probabilmente è fattibile con un computer desktop standard, ma richiede un po 'più di sforzo perché non è possibile limitare così facilmente i possibili valori delle probabilità. n=5
Peter Taylor,

4
Sto assegnando la generosità qui, anche se la risposta non fornisce né un miglioramento asintotico rispetto al limite inferiore né alcun miglioramento sul limite superiore , perché almeno dimostra che è ottimale in un singolo caso non banale. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx,

14

Le seguenti sembrano essere informazioni nuove e pertinenti:

Il documento [CKKL99] mostra come avvicinare 1 / n a una permutazione uniforme di n elementi usando una rete di commutazione di profondità O (log n), e quindi un totale di comparatori O (n log n).

Questa costruzione non è esplicita, ma può essere resa esplicita se si aumenta la profondità in polilogo (n). Vedere i puntatori nel documento [CKKL01], che contiene anche ulteriori informazioni.

Un commento precedente aveva già evidenziato un risultato dicendo che gli switch O (n log n) sono sufficienti, ma la differenza è che nella commutazione delle reti gli elementi da confrontare sono fissi.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski e Krzysztof Loys. Accoppiamento ritardato del percorso e generazione di permutazioni casuali tramite processi stocastici distribuiti. In Symposium on Discrete Algorithms (SODA), pagine 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski e Krzysztof Loys. Commutazione di reti per la generazione di permutazioni casuali, 2001.


Grazie, è sicuramente utile saperlo. Sono comunque interessato a conoscere il numero di gate per generare la distribuzione esatta, tuttavia.
Joe Fitzsimons,

12

Ecco una soluzione alquanto interessante per . La stessa idea funziona anche per .n = 6n=4n=6

Inizia con gli interruttori con probabilità . Riducendo a e a , ci troviamo nella situazione . Applicare gli interruttori con probabilità . Il risultato è La nostra prossima mossa sarà con probabilità . Quindi ci interessa davvero solo se il risultato della fase precedente è della forma (caso A) o della forma(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). Nel caso A questi interruttori comporteranno una probabilità uniforme su . Nel caso B saranno inefficaci. Pertanto deve soddisfare Detto questo, il risultato è uniforme.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Un'idea simile funziona per : prima si ordina casualmente ogni metà, quindi si "uniscono". Tuttavia, anche per non riesco a vedere come unire correttamente le metà.n=6n=8

Il punto interessante di questa soluzione è la strana probabilità .p

Come nota a margine, l'insieme di probabilità che può comprensibilmente aiutarci è dato da , dove supera tutti gli autovalori di tutte le rappresentazioni di in tutte le trasposizioni.p1/(1λ)λ0Sn


1
I valori strani per sono davvero incoraggianti, poiché penso che ci sia una prova ragionevolmente semplice che se limitiamo le probabilità a per l'intero allora il meglio che puoi fare è . p1/kkO(n2)
Joe Fitzsimons

5
Un modo leggermente diverso per 2n elementi, che è ancora strano in un senso simile, è mescolare i primi n elementi, mescolare gli ultimi n elementi, scambiare (i, i + n) con probabilità p_i per i = 1, ..., n , mescola i primi n elementi e mescola gli ultimi n elementi. Le probabilità p_i devono essere scelte in modo tale che la probabilità che k esattamente dal fuoco delle porte di swap sia uguale a e che tali probabilità p_i siano date da ( 1 + x_i) / 2 dove x_1,…, x_n sono le radici del polinomio Legendre P_n. (altro)(nk)2/(2nn)
Tsuyoshi Ito

6
(proseguendo) Una cosa deludente per la variazione che ho descritto è che richiede n (n − 1) / 2 scambi probabilistici quando n è una potenza di due, cioè esattamente lo stesso numero di gate del bubble-sort soluzione di Anthony Leverrier.
Tsuyoshi Ito

@Tsuyoshi, la tua costruzione è chiaramente corretta, ma mi chiedo se stia facendo più del necessario. Non ho tempo per analizzare l'analisi al momento, ma se lo fai potresti trovare la pena considerare se esiste tale che ; ; ; ; quindi applicare una permutazione adeguata delle radici di Legendre (e riempire gli altri trimestri) può funzionare. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor,

7

Considera il problema di mescolare casualmente la stringa , dove ogni blocco ha lunghezza , con un circuito costituito da scambi probabilistici a coppie. Cioè, tutti stringhe con s e s deve essere uscite equiprobabili del circuito, dato l'ingresso specificato. Sia un circuito ottimale per questo problema e sia un circuito ottimale per il problema originale (mescolando casualmente elementi). L'applicazione di una permutazione casuale è sufficiente per intercalare in modo casuale le e le , quindiXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . D'altra parte, possiamo mescolare elementi mescolando i primi elementi, mescolando gli ultimi elementi e infine applicando il circuito . Ciò implica che . Combinando questi due limiti, possiamo derivare il seguente risultato:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| e sono entrambi o nessuno dei due.|C2n|o(n2)

Vediamo che i due problemi sono ugualmente difficili, almeno in questo senso. Questo risultato è in qualche modo sorprendente, perché ci si potrebbe aspettare che il problema del mescolamento sia più semplice. In particolare, l'argomento entropico mostra che è , ma dà il risultato più forte che è .| B 2 n | Ω ( n ) | C 2 n | Ω ( n registro n )XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis e Shahshahani 1981, "Generare una permutazione casuale con trasposizioni casuali" mostra che 1/2 n log n trasposizioni casuali (nota: qui non c'è una "O") danno come risultato una chiusura di permutazione (nella distanza di variazione totale) per uniformare. Non sono sicuro se esattamente ciò che è consentito nella tua applicazione ti consenta di utilizzare questo risultato, ma è abbastanza veloce e stretto in quanto è un esempio di fenomeno cut-off. Vedi Passeggiate casuali su gruppi finiti di Saloff-Coste per un sondaggio su risultati simili.


1
E presumibilmente due permutazioni quasi casuali possono essere composte per produrre una permutazione che è ancora più quasi casuale.
mjqxxxx,

7
... Tuttavia, va notato che questo non è davvero lo stesso problema (anche consentendo una soluzione approssimativa piuttosto che esatta), perché gli autori considerano trasposizioni di coppie di elementi scelti casualmente, non trasposizioni probabilistiche di coppie specificate di elementi.
mjqxxxx,

5

Questo è davvero un commento, ma è troppo lungo per essere pubblicato come commento. Sospetto che la teoria della rappresentazione del gruppo simmetrico possa essere utile per dimostrare un limite inferiore migliore. Anche se non so quasi nulla della teoria della rappresentazione e potrei essere fuori dal comune, lasciami spiegare perché potrebbe essere correlato al problema attuale.

Si noti che il comportamento di un circuito costituito da gate di scambio probabilistici può essere completamente specificato come distribuzione di probabilità p su S n , il gruppo di permutazioni su n elementi. Una permutazione g ∈S n può essere pensato come l'evento che i esima uscita è g ( i ) esimo ingresso per tutti i ∈ {1, ..., n }. Ora rappresentano una distribuzione di probabilità p come somma formale ∑ g ∈S n p ( g ) g . Ad esempio, lo scambio probabilistico tra i fili i ej con probabilità p è rappresentato come (1− p ) e + p τ ij , dove e ∈S n è l'elemento di identità e τ ij ∈S n è la trasposizione tra i e j .

Un fatto interessante di questa somma formale è che il comportamento della concatenazione di due circuiti indipendenti può essere formalmente descritto come un prodotto di queste somme formali. Vale a dire, se i comportamenti dei circuiti C 1 e C 2 sono rappresentati come somme formali a 1 = ∑ g ∈S n p 1 ( g ) g e a 2 = ∑ g ∈S n p 2 ( g ) g , rispettivamente, allora il comportamento del circuito C 1 seguito da C 2è rappresentato come ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Pertanto, un circuito desiderato con m scambi probabilistici corrisponde esattamente a un modo di scrivere la somma (1 / n !) ∑ g ∈S n g come prodotto di m somma ciascuno dei quali è della forma (1− p ) e + p τ ij . Vorremmo conoscere il numero minimo m di fattori.

Le somme formali ∑ g ∈S n f ( g ) g , dove f è una funzione da S n a ℂ, dotate di addizione e moltiplicazione definite naturalmente, formano l'anello chiamato algebra di gruppo ℂ [S n ]. L'algebra di gruppo è strettamente correlata alla teoria della rappresentazione dei gruppi, che è una teoria profonda come tutti sappiamo e temiamo :). Questo mi fa sospettare che qualcosa nella teoria della rappresentazione potrebbe essere applicabile al problema attuale.

O forse questo è solo inverosimile.


2
Ecco cosa si riduce a. Ci sono un sacco di rappresentazioni del gruppo simmetrico, che possono essere calcolate esplicitamente per trasposizioni, con qualche lavoro (di solito sono calcolate esplicitamente solo per trasposizioni ). Il valore iniziale di ciascuna rappresentazione è la matrice di identità appropriata. L'applicazione di uno scambio probabilistico moltiplica ogni rappresentazione con , dove è il valore della rappresentazione allo swap eseguito . (proseguendo)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Affinché l'output sia uniforme, abbiamo bisogno che tutte le rappresentazioni diverse dalla rappresentazione dell'identità siano zero. Quindi le probabilità dovrebbero essere scelte in modo tale che almeno alcune delle matrici siano singolari. Le matrici per ciascuna rappresentazione hanno autovettori diversi, quindi non è chiaro quale condizione imponga che una rappresentazione particolare sia zero. (proseguendo)p(1p)I+pAijAij
Yuval Filmus

3
Se, tuttavia, potessimo dimostrare che ogni trasposizione riduce al massimo il rango medio di una rappresentazione di , diciamo, allora avremmo un limite inferiore di . Tale limite può essere dimostrato se conosciamo gli autovettori corrispondenti a ciascuna rappresentazione e ciascuna trasposizione. Queste informazioni possono essere elaborate in linea di principio, ma non vi è alcuna garanzia che questo approccio possa produrre qualcosa di non banale. 1/n2n2
Yuval Filmus,

1
(seguito) e questa trasformazione lineare è esattamente la matrice che sorge nella rappresentazione di S_n da matrici di permutazione n × n. Sebbene n − 1 sia banale come limite inferiore del numero di porte (l'argomento entropia offre già un limite inferiore migliore), la mia speranza è che potrebbe essere possibile generalizzare l'argomento ad altre rappresentazioni per ottenere un limite inferiore migliore sul numero totale di cancelli.
Tsuyoshi Ito,

4
@Yuval, @Peter: ho notato che per ogni rappresentazione, (1 − p) I + pA_ {ij} non è singolare a meno che p = 1/2 (perché A_ {ij} ^ 2 = I implica che gli autovalori di A_ {ij } sono ± 1). Pertanto, contare il rango è utile solo per limitare il numero di gate probabilità 1/2, che è già stato fatto in modo ottimale da Peter. In altre parole, se la teoria della rappresentazione è utile nel modo che ho suggerito in questo post, abbiamo bisogno di qualcosa di diverso dal conteggio del rango di matrici! Non sono sicuro che sia realistico.
Tsuyoshi Ito,

1

L' algoritmo Anthony può essere eseguito in parallelo avviando la successiva iterazione della procedura dopo i primi due scambi probabilistici, con conseguente runtime .O(n2)O(n)


4
Penso che la misura di complessità rilevante per questa domanda sia il numero di gate e non il tempo di esecuzione.
Anthony Leverrier,

3
@Anthony ha ragione sul fatto che ciò che mi interessa è semplicemente il numero minimo di porte necessarie.
Joe Fitzsimons

0

Se ho capito bene, se vuoi che il tuo circuito sia in grado di generare tutte le permutazioni, hai bisogno almeno di porte probabilistiche , anche se non sono sicuro di come si possa costruire il circuito minimo.log2(n!)

AGGIORNARE:

Penso che se prendi l'algoritmo Mergesort e sostituisci tutti i confronti con scelte casuali con probabilità appropriate otterrai il circuito che stai cercando.


2
Non sono del tutto sicuro di come lo traduresti nel modello probabilitsic di porta di scambio che ho dato sopra. Non vedo come uno scambio probabilistico sostituisca il confronto e raggiunga comunque una distribuzione casuale. Quindi, non sono nemmeno sicuro del perché questo sarebbe ottimale.
Joe Fitzsimons,

1
E sì, è il minimo, ma questo è solo . log2(n!)O(nlog(n))
Joe Fitzsimons,

1
Assumi e procedi per induzione su . Hai due permutazioni casuali di lunghezza . Se le unisci in modo casuale (ovvero prendendo l'elemento successivo da una subpermutazione scelta in modo casuale), i risultati uniti dovrebbero certamente essere casuali. La probabilità che la posizione abbia un elemento dalla sottopermutazione "sinistra" è chiaramente 1/2 per simmetria. E condizionato dal fatto che abbia un elemento dalla subpermutazione di sinistra, deve averne uno uniformemente casuale da esso. In questo modo puoi vedere che la permutazione risultante è davvero casuale. n=2kk2k1i
Andrew D. King,

1
Questo era anche il mio modo di pensare quando ho proposto di fondere, tuttavia, ripensandoci, mi sembra che non sia possibile implementare l'operazione di unione usando solo il tipo richiesto di gate, poiché non producono un output per dire se hanno eseguito la permutazione e non hanno input di controllo per condizionarli.
Antonio Valerio Miceli-Barone

3
@Andrew: non vedo come "unirli casualmente" usando le porte delineate nella domanda.
Joe Fitzsimons,

0

La seguente risposta è sbagliata (vedi il commento di @joe fitzsimon), ma potrebbe essere utile come punto di partenza

Ho una proposta di schizzo in . Ho controllato a mano che funziona per (!) Ma non ho ancora prove che il risultato sia uniforme oltre .O(nlogn)n=4n=4

Supponiamo di avere un circuito che genera una permutazione casuale uniforme su bit. Les la porta di swap probabilistico, che scambia i bit e con probabilità 1/2 e non fa nulla con probabilità . Costruire il seguente circuito agendo su bit:CnnSi,j12ij1/2C2n2n

  1. 1kn , applica il gate ;Sk,k+n1/2
  2. Applica sui primi bit;Cnn
  3. Applica sugli ultimi bit;Cnn
  4. 1kn , applica il gate .Sk,k+n1/2

Il passaggio 1. è necessario affinché i bit e possano atterrare nella stessa metà della permutazione e il passaggio 4. è necessario per simmetria: se è una soluzione, lo è anche ottenuto applicando le porte in ordine inverso è anche una soluzione.1n+1C2nC2n1

La dimensione di questa famiglia di circuiti obbedisce alla seguente relazione di ricorsione: con, ovviamente, . Si vede quindi facilmente che .

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

Rimane quindi la domanda ovvia: questi circuiti eseguono permutazioni uniformi? No, vedi il primo commento qui sotto


6
Non credo che eseguano permutazioni uniformi. In effetti, penso che sia impossibile fare esattamente con tali porte se si fissa la probabilità di essere 1/2. La ragione di ciò è semplice: immaginate un circuito che usi tali porte. Quindi ci sono percorsi computazionali equiprobabili, e quindi ogni permutazione deve avvenire con probabilità per un certo numero intero . Tuttavia, per una distribuzione uniforme è necessario che . Chiaramente questo non può essere soddisfatto per un valore intero di per . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons

Infatti. Ho dimenticato anche di controllare l'uniformità per ...n=4
Frédéric Grosshans
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.