Jaki jest najskuteczniejszy sposób generowania losowej permutacji na podstawie probabilistycznych zamian par?


48

Pytanie, które mnie interesuje, dotyczy generowania przypadkowych permutacji. Biorąc pod uwagę probabilistyczną bramę wymiany par jako podstawowy element konstrukcyjny, jaki jest najbardziej skuteczny sposób na uzyskanie jednolicie losowej permutacji elementów? Tu stosować „probabilistyczny bramy parami wymiany” się operacja, która realizuje brama Przełączanie do wybranych elementów i z pewnym prawdopodobieństwem , które mogą być dowolnie wybranej dla każdej bramki i tożsamości w inny sposób.i j pnijp

Zdaję sobie sprawę, że zwykle nie jest to sposób generowania losowych permutacji, w którym zwykle można użyć czegoś takiego jak tasowanie Fishera-Yatesa, jednak nie będzie to działać w przypadku aplikacji, o której myślę, ponieważ dozwolone operacje są różne.

Oczywiście można to zrobić, pytanie brzmi, jak skutecznie. Jaka jest najmniej probabilistycznych zamian niezbędnych do osiągnięcia tego celu?

AKTUALIZACJA:

Anthony Leverrier zapewnia metodę poniżej, która rzeczywiście daje prawidłowy rozkład przy użyciu bramek , przy czym Tsuyoshi Ito zapewnia inne podejście z takim samym skalowaniem w komentarzach. Jednak najlepszą dolną granicą, jaką do tej pory widziałem, jest , która skaluje się jako O (n \ log n) . Tak więc pytanie pozostaje otwarte: czy O (n ^ 2) jest najlepszym, co można zrobić (tj. Czy jest lepsza dolna granica)? Lub alternatywnie, czy istnieje bardziej wydajna rodzina obwodów?log 2 ( n ! ) O(n2)log2(n!)O ( n 2 )O(nlogn)O(n2)

AKTUALIZACJA:

W kilku odpowiedziach i komentarzach zaproponowano obwody składające się całkowicie z zamian probabilistycznych, w których prawdopodobieństwo jest ustalone na 12 . Taki obwód nie może rozwiązać tego problemu z następującego powodu (usunięty z komentarzy):

Wyobraź sobie obwód, który wykorzystuje m takich bram. Następnie istnieją 2m obliczenia ścieżki obliczeniowe, więc każda permutacja musi wystąpić z prawdopodobieństwem k2m dla pewnej liczby całkowitej k. Jednak dla równomiernego rozkładu wymagamy k2m=1n! , Który można przepisać jako kn!=2m . Oczywiście nie można tego spełnić dla liczby całkowitej k dla n3 , ponieważ 3|n!(dla n3 , ale 32m .

AKTUALIZACJA (od mjqxxxx, który oferuje nagrodę):

Oferowana nagroda za (1) dowód, że wymagane są bramki , lub (2) działający obwód dla dowolnego , który wykorzystuje mniej niż bramek.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@Anthony: Być może nie jest to oczywiste, ale możesz: Wyobraź sobie, że obwód tworzy jednolity rozkład permutacji pierwszych elementów . Następnie po którym następuje zamiana probabilistyczna (z prawdopodobieństwem 0,5) między pozycją a pozycją da jednolicie losowy wybór dla pozycji . Jeśli zastosujesz się do tego, stosując ponownie do pierwszych elementów , powinieneś uzyskać jednolicie losowy rozkład. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons,

4
ok, dzięki za wyjaśnienie! Zauważ, że zamiana probabilistyczna powinna mieć proba między pozycją a pozycją . n - 1 n(n1)/nn1n
Anthony Leverrier,

5
Pod względem wymaganej entropii algorytm potrzebuje losowe bity, gdzie jest funkcją binarnej entropii. Nie mogę dokładnie obliczyć tej sumy, ale jest to zgodnie z matematyką ... podczas gdy optimum jest co najmniej . 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
Różni się to od tego, co chcesz, ale istnieje rodzina obwodów o rozmiarze O (n log n), które generują każdą permutację z prawdopodobieństwem co najmniej 1 / p (n!) Dla pewnego wielomianu p: rozważ sieć sortującą o rozmiarze O (n log n) i zamień każdy komparator na bramkę zamiany prawdopodobieństwa-1/2. Ze względu na poprawność sieci sortującej, każda permutacja musi powstać z niezerowym prawdopodobieństwem, czyli koniecznie co najmniej 1/2 ^ {O (n log n)} = 1 / poli (n!).
Tsuyoshi Ito,

3
Powrót do pierwotnego problemu. Należy zauważyć, że rozwiązanie O (n ^ 2), które opisał Anthony, może być postrzegane jako zastępowanie każdego komparatora w sieci sortującej reprezentującej sortowanie selekcyjne probabilistyczną bramką wymiany z odpowiednim prawdopodobieństwem. (więcej)
Tsuyoshi Ito

Odpowiedzi:


17

Działający algorytm, który opisałem w komentarzu powyżej, jest następujący:

  • Najpierw uruchomić poprzez wprowadzanie losowej elementu z prawdopodobieństwem w pozycji : zamiany pozycji 1 i 2, z Proby , a następnie 2 i 3 z Proby, , ..., a następnie i o Proby .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / N1/nn1/22/3n1n(n1)/n
  • Zastosuj tę samą procedurę, aby ustawić losowy element w pozycji : zamień pozycje 1 i 2 za pomocą prob ... następnie pozycje i pomocą proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Itp

Liczba bramek wymaganych przez ten algorytm wynosi .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Ten algorytm ma połączenie z sortowaniem bąbelkowym. W szczególności rozważ przestrzeń stanów wszystkich permutacji o rozmiarze n. Prawdopodobieństwo, że 1. element większy niż 2. wynosi 1/2, zamień z tym prawdopodobieństwem. Załóżmy, że pierwsze dwa elementy są posortowane, co to jest proba 2. element> 3. element 2/3 itd. Dlatego wydaje się możliwe przekształcenie algorytmu sortowania w obwód bramki wymiany, w którym każdy kolejny krok powinien uwzględniać prawdopodobieństwa warunkowe wynikające z poprzednich kroki. Które w pewnym sensie sugerują wyraźną nieefektywną metodę budowy takich obwodów.
mkatkov,

16

To nie jest ani odpowiedź, ani nowa informacja. Tutaj postaram się podsumować dyskusje, które miały miejsce w komentarzach na temat relacji między tym problemem a sieciami sortującymi . W tym poście wszystkie godziny są w UTC, a „komentarz” oznacza komentarz do pytania, chyba że zaznaczono inaczej.

Obwód składający się z probabilistycznych bramek wymiany (które zamieniają losowo dwie wartości) naturalnie przypomina nam sieć sortującą, która jest niczym innym jak obwodem składającym się z komparatorów (które zamieniają dwie wartości w zależności od kolejności między nimi). Rzeczywiście, obwody dla obecnego problemu i sieci sortujące są powiązane ze sobą w następujący sposób:

  • Roztwór Anthony Leverriera z n ( n -1) / 2 probabilistyczne bramy wymiany może być rozumiana jako sieć sortujące do sortowania bańki z komparatorów zastąpiona probabilistycznych bramy wymienne z odpowiednich prawdopodobieństw. Zobacz komentarz mkatkov z 10 marca 4:53 na tę odpowiedź, aby poznać szczegóły. Sieć sortowania dla sortowania wyboru można również wykorzystać w ten sam sposób. (W komentarzu z 7 marca 23:04 opisałem obwód Anthony'ego jako rodzaj selekcji, ale to nie było poprawne.)
  • Jeśli chcemy tylko każdej permutacji z niezerowym prawdopodobieństwem i nie dbamy o równomierny rozkład, wówczas każda sieć sortująca wykonuje zadanie, gdy wszystkie komparatory są zastępowane bramkami zamiany prawdopodobieństwa-1/2. Jeśli użyjemy sieci sortującej z komparatorami O ( n log n ), powstały obwód generuje każdą permutację z prawdopodobieństwem co najmniej 1/2 O ( n log n ) = 1 / poli ( n !), Jak zaobserwowałem w moim komentarzu z marca 7 22:59.
  • W tym problemie wymagane jest, aby bramki zamiany probabilistycznej działały niezależnie. Jeśli usuniemy to ograniczenie, każdą sieć sortującą można przekształcić w obwód, który generuje równomierny rozkład, jak wspomniałem w komentarzu z 7 marca 23:08, a użytkownik 1749 opisany bardziej szczegółowo z 8 marca 14:07.

Fakty te najwyraźniej sugerują, że problem ten jest ściśle związany z sieciami sortującymi. Jednak Peter Taylor znalazł dowód, że relacja może nie być bardzo bliska. Mianowicie, nie każdą sieć sortującą można przekształcić w pożądany obwód, zastępując komparatory probabilistycznymi bramkami wymiany o odpowiednich prawdopodobieństwach. Pięcio-komparacyjna sieć sortująca dla n = 4 jest kontrprzykładem. Zobacz jego komentarze z 10 marca 11:08 i 10 marca 14:01.


3
@mkatkov: Widziałem trzy lub cztery usunięte odpowiedzi i nie pamiętam, który był, przepraszam. Jeśli znalazłeś rozwiązanie z bramkami mniejszymi niż n (n − 1) / 2, chciałbym poznać całą konstrukcję (i nie chodzi o to, by ukraść ci nagrodę mjqxxxx :)).
Tsuyoshi Ito,

2
@mkatkov: Nadal jestem sceptyczny. Jak napisałem w ostatnim akapicie tego postu, Peter Taylor stwierdził, że sieci sortującej z pięcioma komparatorami dla n = 4 nie można przekształcić w rozwiązanie obecnego problemu, zastępując komparatory bramkami zamiany probabilistycznej. To implikuje, że twoja logika nie może działać dla każdej sieci sortującej, chociaż nie wyklucza to, że w jakiś sposób działa ona, powiedzmy, w przypadku parzystego parzystego nieparzystego.
Tsuyoshi Ito,

1
@mkatkov: Powodem, dla którego tego rodzaju rozwiązanie nie działa (lub przynajmniej nie pokazano żadnego działającego przykładu), jest to, że bramki wymiany w sieci sortowania parami strzelają w wysoce skorelowany sposób. W tym problemie wszystkie bramy strzelają niezależnie, co prowadzi do zupełnie innej przestrzeni możliwych obwodów.
mjqxxxx,

1
@ mkatbov, każdy krok w sieci Anthony'ego wybiera jedno z m wejść (gdzie m wynosi od n do 2). Nie możesz wybrać jednego z m wejść z mniej niż bramkami m-1, więc w szczególności nie możesz tego zrobić z bramkami logarytmicznymi. Pokonanie prawdopodobnie będzie wymagało pewnego rodzaju podejścia dziel i zwyciężaj. O(n2)
Peter Taylor

3
@Tsuyoshi, Yuval i ja przeanalizowaliśmy wszystkie możliwe rozwiązania 5-bramkowe dla i wyeliminowaliśmy je wszystkie, co wzmacnia wynik, że nie wszystkie sieci sortujące można przekształcić w jednolite sieci permutacyjne, w wyniku czego istnieją rozmiary problemów, dla których optymalna jednolita sieć permutacyjna wymaga więcej bramek niż optymalna sieć sortująca. n=4
Peter Taylor,

15

W żadnym wypadku nie jest to pełna odpowiedź, ale zawiera wynik, który może być użyteczny i stosuje ją, aby uzyskać pewne ograniczenia w sprawie które ograniczają możliwe rozwiązania 5-bramkowe do 2500 łatwych do wyliczenia przypadków.n=4

Najpierw ogólny wynik: w każdym rozwiązaniu, które dopuszcza obiektów, muszą istnieć co najmniej zamiany, które mają prawdopodobieństwo .n1n112

Dowód: rozważ reprezentację permutacji permutacji rzędu . Są to macierzy spełniających . Rozważmy zamianę pomiędzy i z prawdopodobieństwem : jest reprezentowana (notacji cyklu reprezentować permutację). Można pomyśleć o pomnożeniu przez tę macierz w kategoriach teorii reprezentacji lub w kategoriach Markowa jako o zastosowaniu permutacji z prawdopodobieństwem i pozostawieniu rzeczy niezmienionych z prawdopodobieństwem .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

Sieć permutacji jest zatem łańcuchem takich multiplikacji macierzy. Rozpoczynamy z macierzą jednostkową, a wynik końcowy będzie macierz gdzie , tak, że będą się z matrycy z szeregu do matrycy stopnia przez mnożenie - tzn. ranga maleje o .U i , j = 1U n1n-1Ui,j=1nn1n1

Biorąc pod uwagę rangę macierzy , widzimy, że są one zasadniczo matrycami tożsamości oprócz niewielkiego , więc mają pełną rangę, chyba że , w którym to przypadku mają rangę .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Stosując nierówność macierzową Sylwestra, stwierdzamy, że każda zamiana zmniejsza rangę tylko wtedy, gdy , a gdy ten warunek jest spełniony, zmniejsza ją o nie więcej niż 1. Dlatego wymagamy co najmniej zamiany prawdopodobieństwa . n-11p=12n112

Pamiętaj, że tej granicy nie można zacieśnić, ponieważ sieć Anthony'ego Leverriera to osiągnęła.


Zastosowanie w sprawie . Mamy już rozwiązania z 6 bramkami, więc pytanie brzmi, czy możliwe są rozwiązania z 5 bramkami. Wiemy teraz, że co najmniej 3 bramki muszą być 50/50 zamianami, więc mamy dwa „wolne” prawdopodobieństwa, i . Istnieje 32 możliwe zdarzenia (5 niezależnych wydarzeń, każde z dwoma wynikami) i segmenty, z których każdy musi zawierać co najmniej jedno zdarzenie. Zdarzenia dzielą się na 8 z prawdopodobieństwem , 8 z prawdopodobieństwem , 8 z prawdopodobieństwem i 8 z prawdopodobieństwem .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 zdarzenia na 24 segmenty bez pustych segmentów sugerują, że co najmniej 16 segmentów zawiera dokładnie jedno zdarzenie, więc co najmniej dwa z czterech podanych powyżej prawdopodobieństw są równe . Biorąc pod uwagę symetrie, mamy dwa przypadki: lub . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

Pierwszy przypadek daje , ( poprawka lub , odwijając symetrię). Drugi przypadek daje , więc , co nie ma rzeczywistych rozwiązań. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Dlatego jeśli istnieje rozwiązanie 5-bramkowe, mamy cztery bramki z prawdopodobieństwem i jedną bramę z prawdopodobieństwem lub . Wlog pierwsza zamiana to , a druga to lub ; pozostałe trzy mają (nie więcej niż) pięć możliwości, ponieważ nie ma sensu wykonywać tej samej wymiany dwa razy z rzędu. Mamy więc do rozważenia sekwencji wymiany i 10 sposobów przypisywania prawdopodobieństw, co prowadzi do 2500 przypadków, które można wyliczyć i przetestować mechanicznie. 112 213 0102232×53230102232×53

Aktualizacja: Yuval Filmus i ja wyliczyliśmy i przetestowaliśmy przypadki i nie znaleźliśmy żadnych rozwiązań, więc optymalne rozwiązanie dla obejmuje 6 bramek, a przykłady rozwiązań 6-bramkowych można znaleźć w innych odpowiedziach.n=4


2
Moje wyliczenie przypadku nie dało krótszego przykładu.
Yuval Filmus

... nawet po korekcie.
Yuval Filmus

1
Doskonale, to bardzo miła obserwacja.
Joe Fitzsimons,

1
@ mjqxxxx, obliczam, że szukając rozwiązania 9-bramkowego na , musiałbyś wziąć pod uwagę około 104 miliony przypadków (chociaż można by to nieco zmniejszyć dzięki sprytowi), ale dla każdego przypadku obliczałbyś 120 równań w 5 zmiennych ze skrzyżowaniami, a następnie sprawdzanie rozwiązania. Prawdopodobnie jest to wykonalne na standardowym komputerze stacjonarnym, ale wymaga nieco więcej wysiłku, ponieważ nie można tak łatwo ograniczyć możliwych wartości prawdopodobieństwa. n=5
Peter Taylor

4
Przyznam nagrodę tutaj, chociaż odpowiedź nie zapewnia ani asymptotycznej poprawy w stosunku do dolnej granicy ani żadnej poprawy w górnej granicy , ponieważ przynajmniej dowodzi, że jest optymalny w pojedynczym, nietrywialnym przypadku. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx,

14

Wydaje się, że następujące i nowe istotne informacje:

W pracy [CKKL99] pokazano, jak uzyskać 1 / n blisko jednolitej permutacji n elementów za pomocą sieci przełączającej o głębokości O (log n), a zatem w sumie O (n log n) komparatorów.

Ta konstrukcja nie jest wyraźna, ale można ją wyrazić, jeśli zwiększysz głębokość do polylog (n). Zobacz wskazówki w artykule [CKKL01], który zawiera także więcej informacji.

Poprzedni komentarz już wskazywał na wynik, mówiąc, że wystarczą przełączniki O (n log n), ale różnica polega na tym, że w przełączanych sieciach porównywane elementy są stałe.


[CKKL99] Artur Czumaj, Przemysława Kanarek, Mirosław Kutylowski i Krzysztof Łarys. Opóźnione sprzęganie ścieżek i generowanie losowych permutacji za pomocą rozproszonych procesów stochastycznych. W Sympozjum na temat algorytmów dyskretnych (SODA), strony 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemysława Kanarek, Mirosław Kutylowski i Krzysztof Łarys. Przełączanie sieci w celu generowania losowych permutacji, 2001.


Dzięki, to z pewnością warto wiedzieć. Nadal jednak jestem zainteresowany informacjami o numerze bramki do wygenerowania dokładnego rozkładu.
Joe Fitzsimons,

12

Oto dość interesujące rozwiązanie dla . Ten sam pomysł działa również dla .n = 6n=4n=6

Zacznij od przełączników z prawdopodobieństwem . Zmniejszając do i do , jesteśmy w sytuacji . Zastosuj przełączniki z prawdopodobieństwem . Wynikiem jest Nasz następny ruch to z prawdopodobieństwem . Dlatego naprawdę zależy nam tylko na tym, aby wynik poprzedniego etapu miał postać (przypadek A) lub formularz1 / 2(0,1),(2,3)1/2X 2 , 3 Y X X Y Y ( 0 , 3 ) , ( 1 , 2 ) p X X Y Y  wp  ( 1 - p ) 2 , Y Y X X  wp  p 2 , X Y X Y  wp  p ( 1 - p ) , Y X Y X0,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 (przypadek B). W przypadku A te przełączniki spowodują jednolite prawdopodobieństwo w stosunku do . W przypadku B będą one nieskuteczne. Dlatego musi spełniać Biorąc to pod uwagę, wynik jest jednolity.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Podobny pomysł działa dla - najpierw losowo sortujesz każdą połówkę, a następnie „scalasz” je. Jednak nawet dla nie widzę, jak poprawnie połączyć połówki.n=6n=8

Ciekawym punktem tego rozwiązania jest dziwne prawdopodobieństwo .p

Na marginesie, zestaw prawdopodobieństw które mogą nam pomóc, podaje , gdzie przekracza wszystkie wartości własne wszystkich reprezentacji przy wszystkich transpozycjach.p1/(1λ)λ0Sn


1
Dziwne wartości są rzeczywiście zachęcające, ponieważ uważam, że istnieje dość prosty dowód, że jeśli ograniczymy prawdopodobieństwa do dla liczby całkowitej najlepszym, co możesz zrobić, jest . p1/kkO(n2)
Joe Fitzsimons,

5
Trochę innym sposobem dla elementów 2n, który jest nadal dziwny w podobnym sensie, jest tasowanie pierwszych n elementów, tasowanie ostatnich n elementów, zamiana (i, i + n) z prawdopodobieństwem p_i dla i = 1,…, n , potasuj pierwsze n elementów i potasuj ostatnie n elementów. Prawdopodobieństwa p_i należy wybrać tak, aby prawdopodobieństwo, że dokładnie k z n strzelających bramek wymiany było równe i takie prawdopodobieństwa p_i są podane przez ( 1 + x_i) / 2 gdzie x_1,…, x_n są pierwiastkami wielomianu P_n Legendre . (więcej)(nk)2/(2nn)
Tsuyoshi Ito

6
(kont.) Rozczarowującą rzeczą w opisywanej przeze mnie wariacji jest to, że wymaga ona zamiany probabilistycznej n (n − 1) / 2, gdy n jest potęgą dwóch, czyli dokładnie taką samą liczbą bramek rozwiązanie Anthony'ego Leverriera.
Tsuyoshi Ito,

@Tsuyoshi, twoja konstrukcja jest wyraźnie poprawna, ale zastanawiam się, czy robi więcej niż to konieczne. W tej chwili nie mam czasu na analizę, ale jeśli tak, to warto rozważyć, czy istnieją takie, że ; ; ; ; następnie zastosuj odpowiednią permutację korzeni Legendre (i wypełnij pozostałe ćwiartki) może działać. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor

7

Rozważ problem losowego tasowania łańcucha , gdzie każdy blok ma długość , z obwodem składającym się z probabilistycznych zamian par. Oznacza to, że wszystkie ciągi o si s muszą być jednakowo prawdopodobnymi wyjściami obwodu, biorąc pod uwagę określone wejście. Niech będzie optymalnym obwodem dla tego problemu, a będzie optymalnym obwodem dla pierwotnego problemu (losowe tasowanie elementów ). Zastosowanie losowej permutacji jest wystarczające do losowego przeplatania i , więcXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . Z drugiej strony możemy tasować elementów, tasując pierwsze elementów, tasując ostatnie elementów i na koniec stosując obwód . Oznacza to, że . Łącząc te dwie granice, możemy uzyskać następujący wynik:2nnnB2n|C2n|2|Cn|+|B2n|

  • | C 2 n | o ( n 2 )|B2n| i to oba , albo nie ma.|C2n|o(n2)

Widzimy, że oba problemy są równie trudne, przynajmniej w tym sensie. Ten wynik jest nieco zaskakujący, ponieważ można oczekiwać, że problem losowania będzie łatwiejszy. W szczególności argument pokazuje, że to , ale daje mocniejszy wynik, że to .| B 2 n | Ω ( n ) | C 2 n | Ω ( n log n )XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis i Shahshahani 1981, „Generowanie losowej permutacji za pomocą losowych transpozycji” pokazuje, że 1/2 n log n losowych transpozycji (uwaga: tutaj nie ma „O”) skutkuje permutacją bliską (w całkowitej odległości zmiany) do jednolitej. Nie jestem pewien, czy dokładnie to, co jest dozwolone w twojej aplikacji, pozwala ci użyć tego wyniku, ale jest dość szybki i ciasny, ponieważ jest to przykład zjawiska odcięcia. Zobacz Losowe spacery po skończonych grupach autorstwa Saloffa-Coste'a, aby zobaczyć podobne wyniki.


1
I prawdopodobnie można stworzyć dwie niemal losowe kombinacje, aby uzyskać permutację, która jest jeszcze bardziej losowa.
mjqxxxx,

7
... Należy jednak zauważyć, że tak naprawdę nie jest to ten sam problem (nawet pozwalający na rozwiązanie przybliżone, a nie dokładne), ponieważ autorzy rozważają transpozycje losowo wybranych par elementów, a nie probabilistyczne transpozycje określonych par elementów.
mjqxxxx,

5

To jest naprawdę komentarz, ale jest zbyt długi, aby opublikować go jako komentarz. Podejrzewam, że teoria reprezentacji grupy symetrycznej może być użyteczna do udowodnienia lepszej dolnej granicy. Chociaż prawie nic nie wiem na temat teorii reprezentacji i mogę nie mieć pojęcia, pozwól mi wyjaśnić, dlaczego może to być związane z obecnym problemem.

Zauważ, że zachowanie obwodu składającego się z probabilistycznych bramek swapowych można w pełni określić jako rozkład prawdopodobieństwa p na S n , grupie permutacji na n elementach. Permutację g ∈S n można traktować jako zdarzenie, że i- ty wynik jest g ( i ) wejściem dla wszystkich i ∈ {1,…, n }. Teraz przedstawiamy rozkład prawdopodobieństwa p jako sumę formalną ∑ g ∈S n p ( g ) g . Na przykład zamiana probabilistyczna między drutami i ij z prawdopodobieństwem p jest reprezentowane jako (1- p ) e + p τ ij , gdzie e ∈S n jest elementem tożsamości, a τ ij ∈S n jest transpozycją między i i j .

Ciekawym faktem na temat tej sumy formalnej jest to, że zachowanie konkatenacji dwóch niezależnych obwodów można formalnie opisać jako iloczyn tych sum formalnych. Mianowicie, w przypadku zachowań obwodów C 1 i C 2 są przedstawione jako posiadanie sumy 1 = Σ g ∈S n p 1 ( g ), g i 2 = Σ g ∈S n s 2 ( g ) g , odpowiednio, po czym zachowanie obwodu C 1, a następnie C 2jest reprezentowany jako ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Dlatego pożądany obwód z m zamian probabilistycznych dokładnie odpowiada sposobowi zapisu sumy (1 / n !) ∑ g ∈S n g jako iloczynu m sum, z których każdy ma postać (1- p ) e + p τ ij . Chcielibyśmy poznać minimalną liczbę m czynników.

Sumy formalne ∑ g ∈S n f ( g ) g , gdzie f jest funkcją od S n do ℂ, wyposażoną w naturalnie zdefiniowane dodawanie i mnożenie, tworzą pierścień zwany algebrą grupy ℂ [S n ]. Algebra grupowa jest ściśle związana z teorią reprezentacji grup, która jest głęboką teorią, którą wszyscy znamy i boimy się :). To mnie podejrzewa, że ​​coś w teorii reprezentacji może odnosić się do obecnego problemu.

A może jest to zbyt daleko idące.


2
Oto, co to ogranicza. Istnieje grupa reprezentacji grupy symetrycznej, które można obliczyć jawnie dla transpozycji, przy pewnym nakładzie pracy (zwykle są one obliczane tylko jawnie dla transpozycji ). Wartość początkowa każdej reprezentacji jest odpowiednią matrycą tożsamości. Zastosowanie zamiany probabilistycznej powoduje pomnożenie każdej reprezentacji przez , gdzie jest wartością reprezentacji w przeprowadzonej zamianie . (kont.)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Aby dane wyjściowe były jednolite, potrzebujemy wszystkich reprezentacji innych niż reprezentacja tożsamości, aby były zerowe. Prawdopodobieństwa powinny być tak dobrane, aby przynajmniej niektóre macierze były osobliwe. Macierze dla każdej reprezentacji mają różne wektory własne, więc nie jest jasne, który warunek wymusiłby określoną reprezentację na zero. (kont.)p(1p)I+pAijAij
Yuval Filmus

3
Gdybyśmy jednak mogli udowodnić, że każda transpozycja zmniejsza średnią rangę reprezentacji o najwyżej , powiedzmy, wówczas otrzymalibyśmy dolną granicę . Takie powiązanie można udowodnić, jeśli znamy wektory własne odpowiadające każdej reprezentacji i każdej transpozycji. Informacje te można zasadniczo opracować, ale nie ma pewności, że takie podejście przyniosłoby wszystko, co nie jest trywialne. 1/n2n2
Yuval Filmus

1
(cd.) i ta transformacja liniowa jest dokładnie macierzą powstającą w reprezentacji S_n przez n × n macierzy permutacyjnych. Chociaż n-1 jest trywialne jako dolna granica liczby bramek (argument entropii już daje lepszą dolną granicę), mam nadzieję, że możliwe będzie uogólnienie twojego argumentu na inne reprezentacje, aby uzyskać lepszą dolną granicę całkowita liczba bramek.
Tsuyoshi Ito,

4
@Yuval, @Peter: Zauważyłem, że dla każdej reprezentacji (1 − p) I + pA_ {ij} nie jest jednostkowa, chyba że p = 1/2 (ponieważ A_ {ij} ^ 2 = sugeruje, że wartości własne A_ {ij } to ± 1). Dlatego liczenie rang jest przydatne tylko w przypadku ograniczania liczby bramek prawdopodobieństwa 1/2, co zostało już optymalnie wykonane przez Piotra. Innymi słowy, jeśli teoria reprezentacji jest przydatna w sposób, który zasugerowałem w tym poście, potrzebujemy czegoś innego niż zliczanie rang macierzy! Nie jestem pewien, czy to jest realistyczne.
Tsuyoshi Ito,

1

Algorytm Anthony'ego można uruchomić równolegle, rozpoczynając następną iterację procedury po pierwszych dwóch probabilistycznych zamianach, co daje czas działania .O(n2)O(n)


4
Myślę, że miarą złożoności tego pytania jest liczba bramek, a nie czas działania.
Anthony Leverrier,

3
@Anthony ma rację, że interesuje mnie po prostu minimalna liczba niezbędnych bramek.
Joe Fitzsimons,

0

Jeśli dobrze rozumiem, jeśli chcesz, aby Twój obwód mógł generować wszystkie permutacje, potrzebujesz co najmniej probabilistycznych bramek, chociaż nie jestem pewien, jak można zbudować obwód minimalny.log2(n!)

AKTUALIZACJA:

Myślę, że jeśli weźmiesz algorytm Mergesort i zastąpisz wszystkie porównania przypadkowymi wyborami o odpowiednich prawdopodobieństwach, otrzymasz obwód, którego szukasz.


2
Nie jestem do końca pewien, jak przełożyłbyś to na model probabilitycznej bramki wymiany, którą podałem powyżej. Nie widzę, jak zamiana probabilistyczna zastępuje porównanie i nadal osiąga rozkład losowy. Dlatego też nie jestem pewien, dlaczego byłoby to optymalne.
Joe Fitzsimons,

1
I tak, jest minimum, ale jest to tylko . O ( n log ( n ) )log2(n!)O(nlog(n))
Joe Fitzsimons,

1
Załóżmy, że i kontynuuj indukcję na . Masz dwie losowe kombinacje długości . Jeśli scalisz je losowo (tzn. Weź następny element z losowo wybranej subpermutacji), połączone wyniki z pewnością powinny być losowe. Prawdopodobieństwo, że pozycja mieć element z „lewego” podprądu, jest wyraźnie równe 1/2 symetrii. I pod warunkiem, że ma element z lewej subpermutacji, musi mieć z niego jednakowo losowy element. W ten sposób możesz zobaczyć, że wynikowa permutacja jest rzeczywiście losowa. k 2 k - 1 in=2kk2k1i
Andrew D. King,

1
Tak też myślałem, gdy zaproponowałem połączenie, jednak po zastanowieniu wydaje mi się, że operacja scalania może nie być możliwa przy użyciu tylko wymaganego typu bramek, ponieważ nie dają one wyniku aby powiedzieć, czy wykonali permutację i nie mają żadnych danych sterujących, aby je uwarunkować.
Antonio Valerio Miceli-Barone

3
@Andrew: Nie widzę, jak „scalić je losowo” za pomocą bram opisanych w pytaniu.
Joe Fitzsimons,

0

Następująca odpowiedź jest błędna (patrz komentarz @joe fitzsimon), ale może być przydatna jako punkt wyjścia

Mam propozycję szkicu w . Sprawdziłem ręcznie, czy działa dla (!), Ale nie mam jeszcze dowodu, że wynik jest jednolity powyżej .O(nlogn)n=4n=4

Załóżmy, że masz obwód który generuje jednolitą losową permutację na bitach. Les probabilistyczny bramy wymiany który zamienia bity i z prawdopodobieństwem 1/2 i robi nic z prawdopodobieństwem . Skonstruuj następujący obwód działający na bitach:CnnSi,j12ij1/2C2n2n

  1. 1kn , zastosuj bramkę ;Sk,k+n1/2
  2. Zastosuj na pierwszych bitach;Cnn
  3. Zastosuj na ostatnich bitach;Cnn
  4. 1kn , zastosuj bramkę .Sk,k+n1/2

Krok 1 jest potrzebny, aby bity i mogły wylądować w tej samej połowie permutacji, a krok 4 jest potrzebny symetrii: jeśli jest rozwiązaniem, to też uzyskane przez zastosowanie bramek w odwrotnej kolejności jest również rozwiązaniem.1n+1C2nC2n1

Rozmiar tej rodziny obwodów jest zgodny z następującą relacją rekurencyjną: z, oczywiście, . Łatwo zauważyć, że .| C 1 | = 0 | C n | = n log n

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

Pozostaje zatem oczywiste pytanie: czy te obwody wykonują jednolite permutacje? Nie, patrz pierwszy komentarz poniżej


6
Nie wierzę, że wykonują one jednolite permutacje. W rzeczywistości uważam, że nie da się zrobić dokładnie z takimi bramkami, jeśli ustalimy prawdopodobieństwo na 1/2. Powód tego jest prosty: wyobraź sobie obwód, który wykorzystuje takich bram. Następnie istnieją obliczenia ścieżki obliczeniowe, więc każda permutacja musi wystąpić z prawdopodobieństwem dla pewnej liczby całkowitej . Jednak dla równomiernego rozkładu wymagamy, aby . Oczywiście nie można tego spełnić dla wartości całkowitej dla . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons,

W rzeczy samej. Zapomniałem też sprawdzić jednolitość dla ...n=4
Frédéric Grosshans
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.