Cách hiệu quả nhất để tạo ra một hoán vị ngẫu nhiên từ các giao dịch hoán đổi cặp xác suất là gì?


48

Câu hỏi tôi quan tâm có liên quan đến việc tạo ra hoán vị ngẫu nhiên. Đưa ra một cổng hoán đổi cặp xác suất là khối xây dựng cơ bản, cách hiệu quả nhất để tạo ra hoán vị ngẫu nhiên thống nhất của n phần tử là gì? Ở đây tôi lấy "cổng hoán đổi cặp xác suất" là hoạt động thực hiện một cổng hoán đổi giữa các yếu tố ij với một số xác suất p có thể được tự do lựa chọn cho mỗi cổng và nhận dạng khác.

Tôi nhận ra rằng đây thường không phải là cách người ta tạo ra các hoán vị ngẫu nhiên, trong đó thông thường người ta có thể sử dụng thứ gì đó như xáo trộn Fisher-Yates, tuy nhiên, điều này sẽ không hoạt động cho ứng dụng mà tôi có trong đầu vì các hoạt động được phép là khác nhau.

Rõ ràng điều này có thể được thực hiện, câu hỏi là làm thế nào hiệu quả. Số lượng hoán đổi xác suất ít nhất cần thiết để đạt được mục tiêu này là gì?

CẬP NHẬT:

Anthony Leverrier cung cấp một phương pháp dưới đây thực sự tạo ra phân phối chính xác bằng cách sử dụng O(n2) , với Tsuyoshi Ito cung cấp một cách tiếp cận khác với cùng tỷ lệ trong các nhận xét. Tuy nhiên, tốt nhất hạn dưới tôi đã nhìn thấy cho đến nay là log2(n!) , mà quy mô như O(nlogn) . Vì vậy, câu hỏi vẫn còn bỏ ngỏ: Liệu O(n2) là tốt nhất có thể được thực hiện (tức là có giới hạn dưới tốt hơn)? Hoặc cách khác, có một gia đình mạch hiệu quả hơn?

CẬP NHẬT:

Một số câu trả lời và nhận xét đã đề xuất các mạch bao gồm toàn bộ các giao dịch hoán đổi xác suất trong đó xác suất được cố định ở 12 . Một mạch như vậy không thể giải quyết vấn đề này vì lý do sau (được lấy từ các ý kiến):

Hãy tưởng tượng một mạch sử dụng m cổng như vậy. Sau đó, có 2m đường tính toán có thể trang bị được , và do đó, bất kỳ hoán vị nào cũng phải xảy ra với xác suất k2m đối với một số nguyên k. Tuy nhiên, để phân phối đồng đều, chúng tôi yêu cầu k2m=1n!kn!=2mkn33|n!n332m

CẬP NHẬT (từ mjqxxxx người đang cung cấp tiền thưởng):

Tiền thưởng được cung cấp là cho (1) một bằng chứng cho thấy các cổng là bắt buộc, hoặc (2) một mạch làm việc, đối với bất kỳ , sử dụng ít hơn cổng.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@Anthony: Có lẽ điều đó không rõ ràng, nhưng bạn có thể: Tưởng tượng rằng mạch tạo ra sự phân phối đồng đều các hoán vị của các phần tử đầu tiên . Sau đó, theo sau là một hoán đổi xác suất (với xác suất 0,5) giữa vị trí và vị trí sẽ tạo ra sự lựa chọn ngẫu nhiên thống nhất cho vị trí . Nếu bạn làm theo điều này bằng cách áp dụng lại cho các phần tử đầu tiên , bạn sẽ nhận được phân phối ngẫu nhiên đồng đều. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons

4
ok, cảm ơn đã giải thích! Lưu ý rằng hoán đổi xác suất nên có proba giữa vị trí và vị trí . n - 1 n(n1)/nn1n
Anthony Leverrier

5
Về mặt entropy cần thiết, thuật toán cần bit ngẫu nhiên trong đó là hàm entropy nhị phân. Tôi không thể tính tổng đó một cách chính xác nhưng đó là theo toán học ... trong khi tối ưu là ít nhất là . 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
Điều này khác với những gì bạn muốn, nhưng có một họ các mạch có kích thước O (n log n) tạo ra mọi hoán vị với xác suất ít nhất là 1 / p (n!) Cho một số đa thức p: xem xét một mạng sắp xếp có kích thước O (n log n) và thay thế mỗi bộ so sánh bằng cổng hoán đổi xác suất 1/2. Do tính chính xác của mạng sắp xếp, mọi hoán vị phải phát sinh với xác suất khác không, nhất thiết phải có ít nhất 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
Quay lại vấn đề ban đầu. Lưu ý rằng giải pháp O (n ^ 2) mà Anthony mô tả có thể được xem là thay thế từng bộ so sánh trong mạng sắp xếp đại diện cho loại lựa chọn bằng cổng hoán đổi xác suất với xác suất phù hợp. (còn nữa)
Tsuyoshi Ito

Câu trả lời:


17

Một thuật toán làm việc mà tôi đã mô tả trong một nhận xét ở trên là như sau:

  • Trước tiên hãy bắt đầu bằng cách đưa một phần tử ngẫu nhiên có xác suất ở vị trí : hoán đổi vị trí 1 và 2 với proba , sau đó 2 và 3 với proba , ... sau đó và với proba .n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / n1/nn1/22/3n1n(n1)/n
  • Áp dụng quy trình tương tự để đưa một yếu tố ngẫu nhiên vào vị trí : hoán đổi vị trí 1 và 2 với đầu dò ... sau đó vị trí và với proba .1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • Vân vân

Số lượng cổng yêu cầu của thuật toán này là .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Thuật toán này có một kết nối để sắp xếp bong bóng. Đặc biệt xem xét không gian trạng thái của tất cả các hoán vị kích thước n. Xác suất các phần tử thứ 1 lớn hơn thứ 2 là 1/2, hoán đổi với xác suất đó. Giả sử hai phần tử đầu tiên được sắp xếp, phần tử proba thứ 2> phần tử thứ 3 2/3 là gì, do đó, có vẻ như có thể chuyển đổi thuật toán sắp xếp thành mạch cổng hoán đổi, trong đó mỗi bước tiếp theo sẽ tính đến xác suất có điều kiện, phát sinh từ trước đó các bước. Mà theo một nghĩa nào đó đề xuất phương pháp không hiệu quả rõ ràng để xây dựng các mạch như vậy.
mkatkov

16

Đây không phải là một câu trả lời cũng như thông tin mới. Ở đây tôi sẽ cố gắng tóm tắt các cuộc thảo luận xảy ra trong các bình luận về mối quan hệ giữa vấn đề này và các mạng sắp xếp . Trong bài đăng này, tất cả các lần đều ở trong UTC và một bình luận của người Hồi giáo có nghĩa là một nhận xét về câu hỏi trừ khi có quy định khác.

Một mạch bao gồm các cổng hoán đổi xác suất (hoán đổi ngẫu nhiên hai giá trị) tự nhiên nhắc nhở chúng ta về một mạng sắp xếp, không gì khác ngoài một mạch bao gồm các bộ so sánh (trao đổi hai giá trị tùy theo thứ tự giữa chúng). Thật vậy, các mạch cho vấn đề hiện tại và các mạng sắp xếp có liên quan với nhau theo các cách sau:

  • Các giải pháp của Anthony Leverrier với n ( n -1) / 2 cổng trao đổi xác suất có thể được hiểu là mạng sắp xếp cho các bong bóng sắp xếp với các bộ so sánh thay thế bằng cổng trao đổi xác suất với xác suất phù hợp. Xem bình luận của mkatkov vào ngày 10 tháng 4 4:53 về câu trả lời đó để biết chi tiết. Mạng sắp xếp cho sắp xếp lựa chọn cũng có thể được sử dụng theo cách tương tự. (Trong nhận xét vào ngày 7 tháng 3 23:04, tôi đã mô tả mạch của Anthony là loại lựa chọn, nhưng điều đó không chính xác.)
  • Nếu chúng ta chỉ muốn mọi hoán vị với xác suất khác không và không quan tâm đến việc phân phối là đồng nhất, thì mọi mạng phân loại sẽ thực hiện công việc khi tất cả các bộ so sánh được thay thế bằng các cổng hoán đổi xác suất 1/2. Nếu chúng ta sử dụng mạng sắp xếp với bộ so sánh O ( n log n ), mạch kết quả sẽ tạo ra mọi hoán vị với xác suất ít nhất là 1/2 O ( n log n ) = 1 / poly ( n !), Như đã thấy trong nhận xét của tôi vào tháng 3 7 22:59.
  • Trong vấn đề này, yêu cầu các cổng hoán đổi xác suất bắn độc lập. Nếu chúng tôi loại bỏ hạn chế này, mọi mạng phân loại có thể được chuyển đổi thành một mạch tạo ra phân phối đồng đều, như tôi đã đề cập trong nhận xét vào ngày 7 tháng 3 23:08 và người dùng1749 được mô tả chi tiết hơn vào ngày 8 tháng 3 14:07.

Những sự thật này rõ ràng cho thấy vấn đề này liên quan chặt chẽ đến việc sắp xếp các mạng. Tuy nhiên, Peter Taylor đã tìm thấy một bằng chứng cho thấy mối quan hệ có thể không gần gũi lắm. Cụ thể, không phải mọi mạng phân loại đều có thể được chuyển đổi thành một mạch mong muốn bằng cách thay thế các bộ so sánh bằng các cổng hoán đổi xác suất bằng các xác suất phù hợp. Mạng sắp xếp năm so sánh cho n = 4 là một ví dụ mẫu. Xem ý kiến ​​của anh ấy vào ngày 10 tháng 3 11:08 và ngày 10 tháng 3 14:01.


3
@mkatkov: Tôi đã thấy ba hoặc bốn câu trả lời bị xóa và tôi không nhớ đó là ai, xin lỗi. Nếu bạn đã tìm thấy một giải pháp có ít hơn n (n 1) / 2 cổng, tôi muốn biết toàn bộ công trình (và đó không phải là để đánh cắp tiền thưởng của mjqxxxx từ bạn :)).
Tsuyoshi Ito

2
@mkatkov: Tôi vẫn còn hoài nghi. Như tôi đã viết trong đoạn cuối của bài đăng này, Peter Taylor thấy rằng mạng sắp xếp năm bộ so sánh cho n = 4 không thể được chuyển đổi thành một giải pháp cho vấn đề hiện tại bằng cách thay thế các bộ so sánh bằng các cổng hoán đổi xác suất. Điều này ngụ ý rằng logic của bạn không thể hoạt động cho mọi mạng sắp xếp, mặc dù nó không loại trừ khả năng nó hoạt động theo cách nào đó, ví dụ, sự hợp nhất lẻ thậm chí.
Tsuyoshi Ito

1
@mkatkov: Lý do loại giải pháp này dường như không hoạt động (hoặc ít nhất là không có ví dụ hoạt động nào được hiển thị) là các cổng hoán đổi trong mạng lưới phân loại theo cặp theo kiểu tương quan cao. Trong vấn đề này, tất cả các cổng bắn độc lập, dẫn đến một không gian rất khác nhau của các mạch có thể.
mjqxxxx

1
@mkatbov, mỗi bước trong mạng của Anthony chọn một trong số m đầu vào (trong đó m dao động từ n xuống đến 2). Bạn không thể chọn một trong số m đầu vào có ít hơn m-1 cổng, vì vậy, đặc biệt bạn không thể làm điều đó với cổng m log. Đánh bại có lẽ sẽ đòi hỏi một số cách tiếp cận chia rẽ và chinh phục. O(n2)
Peter Taylor

3
@Tsuyoshi, Yuval và tôi đã phân tích tất cả các giải pháp 5 cổng có thể cho và loại bỏ tất cả, điều này củng cố kết quả rằng không phải tất cả các mạng sắp xếp đều có thể được chuyển đổi thành mạng hoán vị thống nhất thành kết quả có tồn tại kích thước vấn đề mà mạng hoán vị thống nhất tối ưu đòi hỏi nhiều cổng hơn mạng sắp xếp tối ưu. n=4
Peter Taylor

15

Đây không phải là một câu trả lời đầy đủ bằng bất kỳ phương tiện nào, nhưng nó bao gồm một kết quả có thể hữu ích và áp dụng nó để có được một số ràng buộc trong trường hợp , giới hạn các giải pháp 5 cổng có thể trong 2500 trường hợp dễ dàng liệt kê.n=4

Đầu tiên, kết quả chung: trong bất kỳ giải pháp nào cho phép đối tượng, phải có ít nhất hoán đổi có xác suất .n - 1 1nn112

Chứng minh: xem xét biểu diễn hoán vị của hoán vị của . Đây là các ma trận thỏa mãn . Xem xét hoán đổi giữa và với xác suất : cái này có đại diện (sử dụng ký hiệu chu kỳ để biểu thị hoán vị). Bạn có thể nghĩ về phép nhân với ma trận này theo lý thuyết biểu diễn hoặc theo thuật ngữ Markov khi áp dụng hoán vị với xác suất và để mọi thứ không thay đổi với xác suất .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

Do đó, mạng hoán vị là một chuỗi các phép nhân ma trận như vậy. Chúng tôi bắt đầu với ma trận danh tính và kết quả cuối cùng sẽ là ma trận trong đó , vì vậy chúng tôi sẽ chuyển từ ma trận hạng sang ma trận hạng theo cấp số nhân - tức là thứ hạng đang giảm bởi .U i , j = 1U n1n-1Ui,j=1nn1n1

Xem xét thứ hạng của các ma trận , sau đó, chúng ta thấy rằng về cơ bản chúng là các ma trận danh tính ngoài một ma trận nhỏ , vì vậy họ có thứ hạng đầy đủ trừ khi , trong trường hợp đó họ có thứ hạng .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) n-1p=12n1

Do đó, áp dụng bất đẳng thức ma trận của Sylvester, chúng tôi thấy rằng mỗi lần hoán đổi chỉ giảm thứ hạng nếu và khi điều kiện này được đáp ứng, nó sẽ giảm không quá 1. Do đó, chúng tôi yêu cầu ít nhất hoán đổi xác suất . n-11p=12n112

Lưu ý rằng ràng buộc này không thể được thắt chặt vì mạng của Anthony Leverrier đạt được nó.


Áp dụng cho trường hợp . Chúng tôi đã có giải pháp với 6 cổng, vì vậy câu hỏi đặt ra là liệu các giải pháp có 5 cổng có khả thi hay không. Bây giờ chúng tôi biết rằng ít nhất 3 trong số các cổng phải là 50/50 giao dịch hoán đổi, vì vậy chúng tôi có hai xác suất "miễn phí", và . Có 32 sự kiện có thể xảy ra (5 sự kiện độc lập, mỗi sự kiện có hai kết quả) và thùng mỗi thùng phải chứa ít nhất một sự kiện. Các sự kiện chia thành 8 với xác suất , 8 với xác suất , 8 với xác suất và 8 với xác suất .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 sự kiện thành 24 nhóm không có thùng rỗng ngụ ý rằng ít nhất 16 thùng chứa chính xác một sự kiện, do đó, ít nhất hai trong số bốn xác suất được đưa ra ở trên bằng với . Khi tính toán đối xứng, chúng ta có hai trường hợp: hoặc . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

Trường hợp đầu tiên cho , ( hiệu chỉnh hoặc , hủy bỏ tính đối xứng). Trường hợp thứ hai cho , vì vậy , không có giải pháp thực sự. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Do đó, nếu có giải pháp 5 cổng, chúng tôi có bốn cổng với xác suất và một cổng có xác suất hoặc . Wlog hoán đổi đầu tiên là , và lần thứ hai là hoặc ; ba cái còn lại có (không quá) năm khả năng, bởi vì không có điểm nào thực hiện cùng một trao đổi hai lần liên tiếp. Vì vậy, chúng tôi có chuỗi hoán đổi để xem xét và 10 cách gán xác suất, dẫn đến 2500 trường hợp có thể được liệt kê và kiểm tra một cách cơ học. 112 213 0102232×53230102232×53

Cập nhật: Yuval Filmus và tôi đã liệt kê và kiểm tra các trường hợp và không tìm thấy giải pháp nào, vì vậy giải pháp tối ưu cho liên quan đến 6 cổng và các ví dụ về giải pháp 6 cổng được tìm thấy trong các câu trả lời khác.n=4


2
Bảng liệt kê trường hợp của tôi không thể tạo ra bất kỳ ví dụ ngắn hơn.
Yuval Filmus

... Ngay cả sau khi điều chỉnh.
Yuval Filmus

1
Tuyệt vời, đó là một quan sát rất tốt đẹp.
Joe Fitzsimons

1
@mjqxxxx, tôi tính toán rằng khi tìm kiếm giải pháp 9 cổng thành bạn sẽ phải xem xét khoảng 104 triệu trường hợp (mặc dù điều này có thể giảm đi một chút với sự thông minh), nhưng với mỗi trường hợp, bạn sẽ tính được 120 phương trình trong 5 biến với các điều khoản chéo và sau đó kiểm tra một giải pháp. Điều này có thể thực hiện được với một máy tính để bàn tiêu chuẩn, nhưng nó đòi hỏi nỗ lực hơn một chút vì bạn không thể dễ dàng hạn chế các giá trị có thể có của xác suất. n=5
Peter Taylor

4
Tôi đang trao giải thưởng tiền thưởng ở đây, mặc dù câu trả lời không cung cấp sự cải thiện tiệm cận nào cho giới hạn dưới cũng như bất kỳ cải thiện nào về giới hạn trên , bởi vì ít nhất nó chứng minh rằng là tối ưu trong một trường hợp không cần thiết. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx

14

Sau đây dường như là thông tin mới và có liên quan:

Bài báo [CKKL99] chỉ ra cách lấy 1 / n gần với hoán vị đồng nhất của n phần tử bằng cách sử dụng mạng chuyển mạch có độ sâu O (log n) và do đó có tổng số bộ so sánh O (n log n).

Cấu trúc này không rõ ràng, nhưng nó có thể được làm rõ nếu bạn tăng độ sâu lên polylog (n). Xem các con trỏ trong bài báo [CKKL01], cũng chứa nhiều thông tin hơn.

Một nhận xét trước đó đã chỉ ra một kết quả nói rằng O (n log n) chuyển đổi đủ, nhưng sự khác biệt là trong các mạng chuyển mạch, các yếu tố được so sánh là cố định.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski và Krzysztof Loys. Khớp nối đường dẫn bị trễ và tạo hoán vị ngẫu nhiên thông qua các quá trình ngẫu nhiên phân tán. Trong Hội thảo chuyên đề về các thuật toán rời rạc (SODA), trang 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski và Krzysztof Loys. Chuyển đổi mạng để tạo hoán vị ngẫu nhiên, 2001.


Cảm ơn, điều đó chắc chắn hữu ích để biết. Tuy nhiên, tôi vẫn muốn biết về số cổng để tạo phân phối chính xác.
Joe Fitzsimons

12

Đây là một giải pháp khá thú vị cho . Ý tưởng tương tự cũng hoạt động với .n = 6n=4n=6

Bắt đầu với các công tắc với xác suất . Giảm đến và xuống , chúng ta đang ở trong tình huống . Áp dụng các công tắc với xác suất . Kết quả là Bước tiếp theo của chúng tôi sẽ là với xác suất . Do đó, chúng tôi thực sự chỉ quan tâm nếu kết quả của giai đoạn trước là ở dạng (trường hợp A) hoặc của biểu mẫu(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 (trường hợp B). Trong trường hợp A, các công tắc này sẽ dẫn đến xác suất đồng nhất trên . Trong trường hợp B họ sẽ không hiệu quả. Do đó phải thỏa mãn Cho rằng, kết quả là thống nhất.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Một ý tưởng tương tự hoạt động với - trước tiên bạn sắp xếp ngẫu nhiên mỗi nửa và sau đó "hợp nhất" chúng. Tuy nhiên, ngay cả với tôi không thể thấy cách hợp nhất các nửa đúng cách.n=6n=8

Điểm thú vị về giải pháp này là xác suất kỳ lạ .p

Một ghi chú bên lề, tập hợp các xác suất có thể giúp chúng tôi có thể hiểu được được đưa ra bởi , trong đó vượt qua tất cả các giá trị bản địa của tất cả các biểu diễn của ở mọi chuyển vị.p1/(1λ)λ0Sn


1
Các giá trị kỳ lạ cho thực sự đáng khích lệ, vì tôi nghĩ có một bằng chứng khá đơn giản rằng nếu chúng ta giới hạn xác suất là cho số nguyên thì điều tốt nhất bạn có thể làm là . 1 / k k O ( n 2 )p1/kkO(n2)
Joe Fitzsimons

5
Một cách khác một chút cho các phần tử 2n, vẫn còn lạ theo nghĩa tương tự, là xáo trộn n phần tử đầu tiên, xáo trộn n phần tử cuối cùng, hoán đổi (i, i + n) với xác suất p_i cho i = 1, giật, n , xáo trộn n phần tử đầu tiên và xáo trộn n phần tử cuối cùng. Xác suất p_i phải được chọn sao cho xác suất chính xác k ra khỏi cổng hoán đổi n bằng với và xác suất như vậy p_i được đưa ra bởi ( 1 + x_i) / 2 trong đó x_1, Mạnh, x_n là gốc của P_n đa thức Legendre . (còn nữa)(nk)2/(2nn)
Tsuyoshi Ito

6
(cont'd) Một điều đáng thất vọng về biến thể mà tôi đã mô tả là nó yêu cầu n (n − 1) / 2 hoán đổi xác suất khi n là lũy thừa của hai, nghĩa là chính xác cùng số lượng cổng như sắp xếp bong bóng giải pháp của Anthony Leverrier.
Tsuyoshi Ito

@Tsuyoshi, công trình của bạn rõ ràng là chính xác, nhưng tôi tự hỏi liệu nó có làm nhiều hơn mức cần thiết không. Hiện tại tôi không có thời gian để phân tích, nhưng nếu bạn làm vậy thì bạn có thể thấy nó đáng để xem xét liệu có tồn tại sao cho ; ; ; ; sau đó áp dụng một hoán vị phù hợp của rễ Legendre (và điền vào các phần khác) có thể hoạt động. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor

7

Hãy xem xét vấn đề xáo trộn ngẫu nhiên chuỗi , trong đó mỗi khối có độ dài , với một mạch bao gồm các hoán đổi cặp theo xác suất. Nghĩa là, tất cả chuỗi có s và s phải là đầu ra có thể xảy ra như nhau của mạch, với đầu vào được chỉ định. Đặt là một mạch tối ưu cho vấn đề này và để là một mạch tối ưu cho vấn đề ban đầu (xáo trộn ngẫu nhiên các yếu tố ). Áp dụng một hoán vị ngẫu nhiên là đủ để xen kẽ ngẫu nhiên và , vì vậyXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . Mặt khác, chúng ta có thể xáo trộn các phần tử bằng cách xáo trộn phần tử đầu tiên , xáo trộn phần tử cuối cùng và cuối cùng áp dụng mạch . Điều này ngụ ý rằng . Kết hợp hai giới hạn này, chúng ta có thể rút ra kết quả sau:2nnnB2n|C2n|2|Cn|+|B2n|

  • | C 2 n | o ( n 2 )|B2n| và đều là hoặc không.|C2n|o(n2)

Chúng tôi thấy rằng hai vấn đề đều khó khăn như nhau, ít nhất là theo nghĩa này. Kết quả này có phần đáng ngạc nhiên, bởi vì người ta có thể mong đợi vấn đề -shuffle sẽ dễ dàng hơn. Cụ thể, đối số entropic cho thấy là , nhưng cho kết quả mạnh hơn rằng là .| B 2 n | Ω ( n ) | C 2 n | Ω ( n log n )XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis và Shahshahani 1981, "Tạo hoán vị ngẫu nhiên với các chuyển vị ngẫu nhiên" cho thấy rằng 1/2 n log n hoán vị ngẫu nhiên (lưu ý: không có chữ "O" nào ở đây) dẫn đến kết quả hoán vị (trong tổng khoảng cách biến đổi). Tôi không chắc chính xác những gì được cho phép trong ứng dụng của bạn có cho phép bạn sử dụng kết quả này hay không, nhưng nó khá nhanh và chặt chẽ vì đây là một ví dụ về hiện tượng bị cắt. Xem Đi bộ ngẫu nhiên trên các nhóm hữu hạn của Saloff-Coste để khảo sát các kết quả tương tự.


1
Và có lẽ hai hoán vị gần như ngẫu nhiên có thể được tạo ra để tạo ra một hoán vị thậm chí gần như ngẫu nhiên hơn.
mjqxxxx

7
... Tuy nhiên, cần lưu ý rằng đây không thực sự là cùng một vấn đề (thậm chí cho phép một giải pháp gần đúng hơn là chính xác), bởi vì các tác giả xem xét chuyển vị của các cặp phần tử được chọn ngẫu nhiên, không phải là chuyển vị xác suất của các cặp phần tử được chỉ định.
mjqxxxx

5

Đây thực sự là một bình luận nhưng quá dài để đăng như một bình luận. Tôi nghi ngờ rằng lý thuyết đại diện của nhóm đối xứng có thể hữu ích để chứng minh giới hạn dưới tốt hơn. Mặc dù tôi gần như không biết gì về lý thuyết đại diện và tôi có thể không chính xác, hãy để tôi giải thích tại sao nó có thể liên quan đến vấn đề hiện tại.

Lưu ý rằng hành vi của một mạch bao gồm các cổng hoán đổi xác suất có thể được chỉ định đầy đủ dưới dạng phân phối xác suất p trên S n , nhóm hoán vị trên n phần tử. Một hoán vị g ∈S n có thể được coi là sự kiện mà đầu ra thứ i là đầu vào thứ g ( i ) cho tất cả i ∈ {1, Lỗi , n }. Bây giờ biểu diễn phân phối xác suất p dưới dạng tổng chính thức ∑ g S n p ( g ) g . Ví dụ, hoán đổi xác suất giữa các dây ij với xác suất p được biểu diễn dưới dạng (1- p ) e + p τ ij , nơi e ∈S n là yếu tố bản sắc và τ ij ∈S n là chuyển vị giữa ij .

Một sự thật thú vị về số tiền chính thức này là hành vi nối hai mạch độc lập có thể được mô tả chính thức như một sản phẩm của các khoản tiền chính thức này. Cụ thể, nếu các hành vi của mạch C 1C 2 được biểu diễn dưới dạng tổng chính thức thì a 1 = ∑ g S n p 1 ( g ) ga 2 = g ∈S n p 2 ( g ) g , tương ứng hành vi của mạch C 1 theo sau là C 2được biểu diễn dưới dạng ∑ g 1 , g 2 S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Do đó, một mạch mong muốn với m hoán đổi xác suất chính xác tương ứng với cách viết tổng (1 / n !) ∑ g S n g là một sản phẩm của m tổng mỗi trong số đó có dạng (1− p ) e + p τ ij . Chúng tôi muốn biết số lượng tối thiểu m của các yếu tố.

Các tổng chính thức ∑ g S n f ( g ) g , trong đó f là hàm từ S n đến, được trang bị phép cộng và phép nhân được xác định tự nhiên, tạo thành vòng gọi là đại số nhóm ℂ [S n ]. Đại số nhóm có liên quan chặt chẽ với lý thuyết đại diện của các nhóm, đó là một lý thuyết sâu sắc như tất cả chúng ta đều biết và sợ hãi :). Điều này khiến tôi nghi ngờ rằng một cái gì đó trong lý thuyết đại diện có thể được áp dụng cho vấn đề hiện tại.

Hoặc có thể đây chỉ là xa.


2
Đây là những gì điều này làm giảm. Có một loạt các biểu diễn của nhóm đối xứng, có thể được tính toán rõ ràng cho các chuyển vị, với một số công việc (thường chúng chỉ được tính toán rõ ràng cho các chuyển vị ). Giá trị ban đầu của mỗi đại diện là ma trận danh tính thích hợp. Áp dụng hoán đổi xác suất nhân với mỗi đại diện với , trong đó là giá trị của biểu diễn tại hoán đổi được thực hiện . (tiếp)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Để đầu ra được thống nhất, chúng ta cần tất cả các biểu diễn khác với biểu diễn nhận dạng bằng không. Vì vậy, xác suất nên được chọn sao cho ít nhất một số ma trận là số ít. Các ma trận cho mỗi đại diện có các hàm riêng khác nhau, vì vậy không rõ điều kiện nào sẽ bắt buộc một đại diện cụ thể bằng không. (tiếp)p(1p)I+pAijAij
Yuval Filmus

3
Tuy nhiên, nếu chúng ta có thể chứng minh rằng mọi chuyển vị đều làm giảm thứ hạng trung bình của một đại diện ít nhất là , thì chúng ta sẽ có giới hạn thấp hơn . Một ràng buộc như vậy có thể được chứng minh nếu chúng ta biết các hàm riêng tương ứng với mỗi đại diện và mỗi lần chuyển vị. Thông tin này có thể được thực hiện trên nguyên tắc, nhưng không có gì đảm bảo rằng phương pháp này sẽ tạo ra bất cứ điều gì không tầm thường. 1/n2n2
Yuval Filmus

1
(tiếp theo) và phép biến đổi tuyến tính này chính xác là ma trận phát sinh trong biểu diễn S_n theo ma trận hoán vị n × n. Mặc dù n 1 không quan trọng vì bị ràng buộc thấp hơn về số lượng cổng (đối số entropy đã đưa ra giới hạn dưới tốt hơn), tôi hy vọng rằng có thể khái quát hóa đối số của bạn với các đại diện khác để mang lại giới hạn thấp hơn trên tổng số cổng.
Tsuyoshi Ito

4
@Yuval, @Peter: Tôi nhận thấy rằng với mọi đại diện, (1 − p) I + pA_ {ij} là không có tính trừ khi p = 1/2 (vì A_ {ij} ^ 2 = Tôi ngụ ý rằng các giá trị riêng của A_ {ij } là ± 1). Do đó, việc xếp hạng chỉ hữu ích khi giới hạn thấp hơn số lượng cổng xác suất 1/2, đã được Peter thực hiện tối ưu. Nói cách khác, nếu lý thuyết biểu diễn hữu ích theo cách tôi đề xuất trong bài viết này, chúng ta cần một cái gì đó ngoài việc đếm thứ hạng của ma trận! Tôi không chắc đó là thực tế.
Tsuyoshi Ito

1

Thuật toán của Anthony có thể được chạy song song bằng cách bắt đầu lần lặp tiếp theo của quy trình sau hai lần hoán đổi xác suất đầu tiên, dẫn đến thời gian chạy .O(n2)O(n)


4
Tôi nghĩ rằng các biện pháp phức tạp có liên quan cho câu hỏi này là số lượng cổng chứ không phải thời gian chạy.
Anthony Leverrier

3
@Anthony là chính xác rằng những gì tôi quan tâm chỉ đơn giản là số lượng cổng tối thiểu cần thiết.
Joe Fitzsimons

0

Nếu tôi hiểu chính xác, nếu bạn muốn mạch của mình có thể tạo ra tất cả các hoán vị, bạn cần ít nhất cổng xác suất, mặc dù tôi không chắc cách xây dựng mạch tối thiểu.log2(n!)

CẬP NHẬT:

Tôi nghĩ rằng nếu bạn sử dụng thuật toán Mergesort và thay thế tất cả các so sánh bằng các lựa chọn ngẫu nhiên bằng các xác suất phù hợp, bạn sẽ có được mạch mà bạn đang tìm kiếm.


2
Tôi không hoàn toàn chắc chắn làm thế nào bạn sẽ dịch cái này sang mô hình cổng hoán đổi xác suất mà tôi đã đưa ra ở trên. Tôi không thấy cách hoán đổi xác suất thay thế so sánh và vẫn đạt được phân phối ngẫu nhiên. Do đó, tôi cũng không chắc tại sao điều này lại tối ưu.
Joe Fitzsimons

1
Và có, là mức tối thiểu, nhưng đây chỉ là . log2(n!)O(nlog(n))
Joe Fitzsimons

1
Giả sử và tiến hành cảm ứng trên . Bạn có hai hoán vị ngẫu nhiên có độ dài . Nếu bạn hợp nhất các yếu tố này một cách ngẫu nhiên (nghĩa là lấy phần tử tiếp theo từ một phân nhóm được chọn ngẫu nhiên) thì kết quả được hợp nhất chắc chắn là ngẫu nhiên. Xác suất của vị trí có một phần tử từ phép con "bên trái" rõ ràng là 1/2 bằng đối xứng. Và với điều kiện nó có một yếu tố từ sự thay thế bên trái, nó phải có một yếu tố ngẫu nhiên thống nhất từ ​​nó. Theo cách này bạn có thể thấy rằng hoán vị kết quả thực sự là ngẫu nhiên. n=2kk2k1i
Andrew D. King

1
Đó cũng là dòng suy nghĩ của tôi khi tôi đề xuất sáp nhập, tuy nhiên, trong suy nghĩ thứ hai, đối với tôi, dường như không thể thực hiện thao tác hợp nhất chỉ sử dụng loại cổng yêu cầu, vì chúng không tạo ra đầu ra để cho biết liệu họ có thực hiện hoán vị hay không và họ không có đầu vào điều khiển để điều kiện chúng.
Antonio Valerio Miceli-Barone

3
@Andrew: Tôi không thấy cách "hợp nhất chúng ngẫu nhiên" bằng cách sử dụng các cổng được nêu trong câu hỏi.
Joe Fitzsimons

0

Câu trả lời sau là sai (xem bình luận của @joe fitzsimon), nhưng có thể hữu ích như điểm bắt đầu

Tôi có một đề xuất phác thảo trong . Tôi đã kiểm tra bằng tay, nó hoạt động với (!) Nhưng tôi chưa có bằng chứng nào cho thấy kết quả là đồng nhất ngoài .O(nlogn)n=4n=4

Giả sử bạn có một mạch tạo ra hoán vị ngẫu nhiên đồng nhất trên bit. Les cổng hoán đổi xác suất hoán đổi các bit và với xác suất 1/2 và không làm gì với xác suất . Xây dựng mạch sau hoạt động trên các bit :CnnSi,j12ij1/2C2n2n

  1. 1kn , áp dụng cổng ;Sk,k+n1/2
  2. Áp dụng trên bit đầu tiên ;Cnn
  3. Áp dụng trên bit cuối cùng ;Cnn
  4. 1kn , áp dụng cổng .Sk,k+n1/2

Bước 1. là cần thiết để các bit và có thể hạ cánh trong cùng một nửa hoán vị và bước 4. là cần thiết bởi tính đối xứng: nếu là một giải pháp, thì thu được bằng cách áp dụng các cổng theo thứ tự ngược lại cũng là một giải pháp.1n+1C2nC2n1

Kích thước của họ mạch này tuân theo mối quan hệ đệ quy sau: với, rõ ràng, . Người ta dễ dàng thấy rằng .

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

Sau đó, vẫn là câu hỏi rõ ràng: các mạch này thực hiện hoán vị thống nhất? Không, xem bình luận đầu tiên bên dưới


6
Tôi không tin rằng những điều này thực hiện hoán vị thống nhất. Trên thực tế, tôi nghĩ không thể thực hiện chính xác với các cổng như vậy nếu bạn sửa xác suất là 1/2. Lý do cho điều này là đơn giản: hãy tưởng tượng một mạch sử dụng cổng như vậy. Sau đó, có đường dẫn tính toán có thể trang bị, và do đó, bất kỳ hoán vị nào cũng phải xảy ra với xác suất cho một số nguyên . Tuy nhiên, để phân phối đồng đều, chúng tôi yêu cầu . Rõ ràng điều này không thể thỏa mãn với giá trị nguyên là cho . 2 m k 2 - m k k 2 - m = 1m2mk2mkkn3k2m=1n!kn3
Joe Fitzsimons

Thật. Tôi cũng quên kiểm tra tính đồng nhất cho ...n=4
Frédéric Grosshans
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.