Apa cara paling efisien untuk menghasilkan permutasi acak dari probabilistic pairwise swaps?


48

Pertanyaan yang saya tertarik terkait dengan menghasilkan permutasi acak. Diberikan gerbang swap berpasangan probabilistik sebagai blok bangunan dasar, apa cara paling efisien untuk menghasilkan permutasi acak yang seragam dari elemen? Di sini saya mengambil "probabilistic pairwise swap gate" untuk menjadi operasi yang mengimplementasikan swap gate antara elemen terpilih dan dengan beberapa probabilitas yang dapat dipilih secara bebas untuk setiap gerbang, dan identitas sebaliknya.nijp

Saya menyadari ini biasanya bukan cara seseorang menghasilkan permutasi acak, di mana biasanya seseorang mungkin menggunakan sesuatu seperti shuffle Fisher-Yates, namun, ini tidak akan berfungsi untuk aplikasi yang ada dalam pikiran saya karena operasi yang diizinkan berbeda.

Jelas ini bisa dilakukan, pertanyaannya adalah seberapa efisien. Berapa jumlah minimum probabilistic swap yang diperlukan untuk mencapai tujuan ini?

MEMPERBARUI:

Anthony Leverrier menyediakan metode di bawah ini yang memang menghasilkan distribusi yang benar menggunakan gerbang , dengan Tsuyoshi Ito memberikan pendekatan lain dengan penskalaan yang sama dalam komentar. Namun, batas bawah terbaik yang saya lihat sejauh ini adalah , yang berskala sebagai . Jadi, pertanyaannya masih tetap terbuka: Apakah yang terbaik yang bisa dilakukan (yaitu apakah ada batas bawah yang lebih baik)? Atau sebagai alternatif, apakah ada rangkaian keluarga yang lebih efisien?O(n2)log2(n!)O(nlogn)O(n2)

MEMPERBARUI:

Beberapa jawaban dan komentar telah mengusulkan rangkaian yang seluruhnya terdiri dari swap probabilistik di mana probabilitasnya tetap pada . Sirkuit seperti itu tidak dapat menyelesaikan masalah ini karena alasan berikut (diangkat dari komentar):12

Bayangkan sebuah sirkuit yang menggunakan gerbang tersebut. Lalu ada jalur komputasi yang dapat disetel, dan dengan demikian permutasi apa pun harus terjadi dengan probabilitas untuk beberapa bilangan bulat k. Namun, untuk distribusi yang seragam, kami meminta , Yang dapat ditulis ulang sebagai . Jelas ini tidak dapat dipenuhi untuk nilai integer untuk , karena(untuk , tetapi .m2mk2mk2m=1n!kn!=2mkn33|n!n332m

UPDATE (dari mjqxxxx yang menawarkan hadiah):

Karunia yang ditawarkan adalah untuk (1) bukti bahwa diperlukan, atau (2) sirkuit kerja, untuk setiap , yang menggunakan kurang dari gerbang.ω(nlogn)nn(n1)/2


8
@Anthony: Mungkin tidak jelas, tetapi Anda dapat: Bayangkan bahwa sirkuit menciptakan distribusi permutasi yang seragam dari elemen pertama . Kemudian diikuti oleh pertukaran probabilistik (dengan probabilitas 0,5) antara posisi dan posisi akan menghasilkan pilihan acak yang seragam untuk posisi . Jika Anda mengikuti ini dengan menerapkan lagi ke elemen pertama , Anda harus mendapatkan distribusi acak yang seragam. Cn1Cn1nnCn1
Joe Fitzsimons

4
ok terima kasih untuk penjelasannya! Perhatikan bahwa pertukaran probabilistik harus memiliki proba antara posisi dan posisi . (n1)/nn1n
Anthony Leverrier

5
Dalam hal diperlukan entropi, algoritme membutuhkan bit acak di mana adalah fungsi entropi biner. Saya tidak dapat menghitung jumlah itu dengan tepat tetapi itu adalah menurut ... sedangkan yang optimal adalah setidaknya . (n1)h(1/2)+(n2)h(1/3)++(nk)h(1/(k+1))++h(1/n)h(.)O(nlog2(n)2)O(nlog2(n))
Anthony Leverrier

8
Ini berbeda dari yang Anda inginkan, tetapi ada keluarga rangkaian ukuran O (n log n) yang menghasilkan setiap permutasi dengan probabilitas setidaknya 1 / p (n!) Untuk beberapa polinomial p: pertimbangkan jaringan sortir dengan ukuran O (n log n) dan ganti masing-masing pembanding dengan probabilitas-1/2 swap gate. Karena ketepatan jaringan penyortiran, setiap permutasi harus muncul dengan probabilitas nol, yang harus setidaknya 1/2 ^ {O (n log n)} = 1 / poly (n!).
Tsuyoshi Ito

3
Kembali ke masalah semula. Perhatikan bahwa solusi O (n ^ 2) yang dideskripsikan oleh Anthony dapat dilihat sebagai menggantikan setiap komparator dalam jaringan penyortiran yang mewakili jenis seleksi dengan gerbang swap probabilistik dengan probabilitas yang sesuai. (selengkapnya)
Tsuyoshi Ito

Jawaban:


17

Algoritme kerja yang saya jelaskan dalam komentar di atas adalah sebagai berikut:

  • Pertama-tama mulailah dengan membawa elemen acak dengan probabilitas di posisi : bertukar posisi 1 dan 2 dengan proba , lalu 2 dan 3 dengan proba , ... kemudian dan dengan proba .1/nn1/22/3n1n(n1)/n
  • Terapkan prosedur yang sama untuk membawa elemen acak di posisi : tukar posisi 1 dan 2 dengan prob ... lalu posisi dan dengan proba .n11/2n2n1(n2)/(n1)
  • Dll

Jumlah gerbang yang dibutuhkan oleh algoritma ini adalah .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Algoritma ini memiliki koneksi ke semacam gelembung. Secara khusus mempertimbangkan ruang keadaan semua permutasi ukuran n. Probabilitas bahwa elemen 1 lebih besar dari 2 adalah 1/2, bertukar dengan probabilitas itu. Asumsikan dua elemen pertama diurutkan, apa elemen ke-2 proba> elemen ke-3 2/3, dll. Oleh karena itu, tampaknya mungkin untuk mengubah algoritma pengurutan menjadi sirkuit swap gate, di mana setiap langkah berikut harus memperhitungkan probabilitas kondisional akun, yang timbul dari sebelumnya Langkah. Yang dalam arti menyarankan metode tidak efisien eksplisit untuk membangun sirkuit seperti itu.
mkatkov

16

Ini bukan jawaban atau informasi baru. Di sini saya akan mencoba merangkum diskusi yang terjadi dalam komentar tentang hubungan antara masalah ini dan jaringan penyortiran . Dalam posting ini, semua waktu dalam UTC dan "komentar" berarti komentar pada pertanyaan kecuali dinyatakan sebaliknya.

Sebuah sirkuit yang terdiri dari gerbang swap probabilistik (yang menukar dua nilai secara acak) secara alami mengingatkan kita pada jaringan sortir, yang tidak lain adalah sirkuit yang terdiri dari komparator (yang menukar dua nilai tergantung pada urutan di antara mereka). Memang, sirkuit untuk masalah saat ini dan penyortiran jaringan terkait satu sama lain dengan cara berikut:

  • The solusi dengan Anthony Leverrier dengan n ( n -1) / 2 gerbang Swap probabilistik dapat dipahami sebagai jaringan menyortir untuk bubble sort dengan pembanding digantikan oleh gerbang pertukaran probabilistik dengan probabilitas yang sesuai. Lihat komentar mkatkov pada 10 Maret 4:53 tentang jawaban itu untuk perincian. Jaringan penyortiran untuk pemilihan semacam juga dapat digunakan dengan cara yang sama. (Dalam komentar pada 7 Maret 23:04, saya menggambarkan sirkuit Anthony sebagai jenis seleksi, tetapi itu tidak benar.)
  • Jika kita hanya ingin setiap permutasi dengan probabilitas bukan nol dan tidak peduli tentang distribusi yang seragam, maka setiap jaringan penyortiran melakukan pekerjaan ketika semua pembanding diganti dengan probabilitas-1/2 swap gerbang. Jika kita menggunakan jaringan penyortiran dengan komparator O ( n log n ), sirkuit yang dihasilkan menghasilkan setiap permutasi dengan probabilitas setidaknya 1/2 O ( n log n ) = 1 / poly ( n !), Seperti yang diamati dalam komentar saya pada bulan Maret 7 22:59.
  • Dalam masalah ini, diperlukan bahwa gerbang pertukaran probabilistik menyala secara independen. Jika kita menghapus batasan ini, setiap jaringan penyortiran dapat dikonversi ke sirkuit yang menghasilkan distribusi seragam, seperti yang saya sebutkan di komentar pada 7 Maret 23:08 dan user1749 dijelaskan secara lebih rinci pada 8 Maret 14:07.

Fakta-fakta ini tampaknya menunjukkan bahwa masalah ini berkaitan erat dengan jaringan sortir. Namun, Peter Taylor menemukan bukti bahwa hubungannya mungkin tidak terlalu dekat. Yaitu, tidak setiap jaringan penyortiran dapat dikonversi ke sirkuit yang diinginkan dengan mengganti komparator dengan gerbang pertukaran probabilistik dengan probabilitas yang sesuai. Jaringan pengurutan lima pembanding untuk n = 4 adalah contoh tandingan. Lihat komentarnya pada 10 Maret 11:08 dan 10 Maret 14:01.


3
@mkatkov: Saya telah melihat tiga atau empat jawaban yang dihapus dan saya tidak ingat yang mana, maaf. Jika Anda telah menemukan solusi dengan gerbang kurang dari n (n − 1) / 2, saya ingin mengetahui seluruh konstruksi (dan itu bukan untuk mencuri karunia mjqxxxx dari Anda :)).
Tsuyoshi Ito

2
@mkatkov: Saya masih skeptis. Seperti yang saya tulis dalam paragraf terakhir dari posting ini, Peter Taylor menemukan bahwa jaringan penyortiran lima komparator untuk n = 4 tidak dapat dikonversi menjadi solusi untuk masalah saat ini dengan mengganti komparator dengan gerbang pertukaran probabilistik. Ini menyiratkan bahwa logika Anda tidak dapat bekerja untuk setiap jaringan penyortiran, meskipun tidak mengesampingkan kemungkinan bahwa itu entah bagaimana bekerja untuk, katakanlah, ganjil genap genap.
Tsuyoshi Ito

1
@mkatkov: Alasan jenis solusi ini tampaknya tidak berfungsi (atau setidaknya tidak ada contoh yang berfungsi telah ditunjukkan) adalah bahwa gerbang swap dalam api pengurutan jaringan berpasangan secara sangat berkorelasi. Dalam masalah ini, semua gerbang kebakaran secara independen, yang mengarah ke ruang sirkuit yang sangat berbeda.
mjqxxxx

1
@mkatbov, setiap langkah dalam jaringan Anthony memilih salah satu dari input m (di mana m berkisar dari n ke 2). Anda tidak dapat memilih salah satu dari input m dengan gerbang kurang dari m-1, jadi khususnya Anda tidak dapat melakukannya dengan gerbang m. Mengalahkan mungkin akan membutuhkan semacam pendekatan divide-and-conquer. O(n2)
Peter Taylor

3
@Tsuyoshi, Yuval dan saya telah menganalisis semua kemungkinan solusi 5-gerbang untuk dan menghilangkan semuanya, yang memperkuat hasil bahwa tidak semua jaringan penyortiran dapat dikonversi menjadi jaringan permutasi yang seragam menjadi hasil bahwa terdapat ukuran masalah yang jaringan permutasi seragam yang optimal membutuhkan lebih banyak gerbang daripada jaringan sortasi optimal. n=4
Peter Taylor

15

Ini bukan jawaban lengkap dengan cara apa pun, tetapi ini mencakup hasil yang mungkin berguna dan menerapkannya untuk mendapatkan beberapa kendala pada case yang membatasi kemungkinan solusi 5-gerbang hingga 2500 kasus yang mudah dihitung.n=4

Pertama hasil umum: dalam setiap solusi yang memungkinkan objek, harus ada setidaknya swap yang memiliki probabilitas .nn112

Bukti: pertimbangkan representasi permutasi dari permutasi urutan . Ini adalah matriks memuaskan . Pertimbangkan swap antara dan dengan probabilitas : ini memiliki representasi (menggunakan notasi siklus untuk mewakili permutasi). Anda dapat menganggap perkalian dengan matriks ini dalam hal teori representasi atau dalam istilah Markov sebagai penerapan permutasi dengan probabilitas dan membiarkan segala sesuatu tidak berubah dengan probabilitas .nn×nAπ(Aπ)i,j=[i=π(j)]ijp(1p)I+pA(ij)(ij)p1p

Oleh karena itu jaringan permutasi merupakan rantai perkalian matriks tersebut. Kita mulai dengan matriks identitas dan hasil akhirnya akan menjadi matriks mana , jadi kita akan dari matriks peringkat ke matriks peringkat dengan penggandaan - yaitu pangkat menurun dengan .UUi,j=1nn1n1

Mempertimbangkan peringkat dari matriks , maka, kita melihat bahwa mereka pada dasarnya adalah matriks identitas selain dari minor , sehingga mereka memiliki peringkat penuh kecuali , dalam hal ini mereka memiliki peringkat .(1p)I+pA(ij)(1ppp1p)p=12n1

Menerapkan ketimpangan matriks Sylvester oleh karena itu kami menemukan bahwa setiap swap mengurangi peringkat hanya jika , dan ketika kondisi ini terpenuhi, ia menguranginya tidak lebih dari 1. Oleh karena itu kami memerlukan setidaknya swap probabilitas .p=12n112

Perhatikan bahwa ikatan ini tidak dapat diperketat karena jaringan Anthony Leverrier mencapainya.


Aplikasi untuk kasing . Kami sudah memiliki solusi dengan 6 gerbang, jadi pertanyaannya adalah apakah solusi dengan 5 gerbang itu mungkin. Kita sekarang tahu bahwa setidaknya 3 gerbang harus 50/50 swap, jadi kami memiliki dua probabilitas "bebas", dan . Ada 32 kemungkinan acara (masing-masing 5 acara independen dengan dua hasil) dan ember yang masing-masing harus mengandung setidaknya satu peristiwa. Peristiwa dibagi menjadi 8 dengan probabilitas , 8 dengan probabilitas , 8 dengan probabilitas , dan 8 dengan probabilitas .n=4pq4!=24pq8p¯q8pq¯8p¯q¯8

32 kejadian menjadi 24 ember tanpa ember kosong menyiratkan bahwa setidaknya 16 ember berisi tepat satu peristiwa, jadi setidaknya dua dari empat probabilitas yang diberikan di atas sama dengan . Dengan mempertimbangkan simetri, kami memiliki dua kasus: atau .124pq=p¯q=13pq=p¯q¯=13

Kasus pertama memberikan , ( koreksi atau , membuka gulungan simetri). Kasus kedua memberikan , jadi , yang tidak memiliki solusi nyata.p=p¯=12q=23q=13pq=1pq+pqpq=p(1p)=13

Oleh karena itu jika ada solusi 5-gerbang kami memiliki empat gerbang dengan probabilitas dan satu gerbang dengan probabilitas baik atau . Wlog swap pertama adalah , dan yang kedua adalah atau ; tiga lainnya masing-masing memiliki (tidak lebih dari) lima kemungkinan, karena tidak ada gunanya melakukan swap yang sama dua kali berturut-turut. Jadi kami memiliki urutan swap untuk dipertimbangkan dan 10 cara menetapkan probabilitas, mengarah ke 2500 kasus yang dapat dihitung dan diuji secara mekanis.1213230102232×53

Pembaruan: Yuval Filmus dan saya telah menghitung dan menguji kedua kasus dan tidak menemukan solusi, sehingga solusi optimal untuk melibatkan 6 gerbang, dan contoh solusi 6-gerbang ditemukan dalam jawaban lain.n=4


2
Pencacahan kasus saya gagal menghasilkan contoh yang lebih pendek.
Yuval Filmus

... bahkan setelah koreksi.
Yuval Filmus

1
Bagus sekali, itu pengamatan yang sangat bagus.
Joe Fitzsimons

1
@ mjqxxxx, saya menghitung bahwa dalam mencari solusi 9-gerbang ke Anda harus mempertimbangkan sekitar 104 juta kasus (walaupun ini dapat dikurangi sedikit dengan kepintaran), tetapi untuk setiap kasus Anda akan menghitung 120 persamaan dalam 5 variabel dengan cross-terms dan kemudian memeriksa solusinya. Ini mungkin dapat dilakukan dengan komputer desktop standar, tetapi membutuhkan sedikit usaha lebih karena Anda tidak dapat dengan mudah membatasi nilai kemungkinan dari probabilitas. n=5
Peter Taylor

4
Saya memberikan hadiah ini di sini, meskipun jawabannya tidak memberikan peningkatan asimptotik atas batas bawah atau perbaikan apa pun pada batas atas , karena setidaknya itu membuktikan bahwa optimal dalam satu kasus nontrivial. Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx

14

Berikut ini sepertinya informasi yang baru dan relevan:

Makalah [CKKL99] menunjukkan bagaimana mendapatkan 1 / n dekat dengan permutasi yang seragam dari n elemen menggunakan jaringan switching kedalaman O (log n), dan karenanya total komparator O (n log n).

Konstruksi ini tidak eksplisit, tetapi dapat dibuat eksplisit jika Anda meningkatkan kedalaman ke polylog (n). Lihat petunjuk di kertas [CKKL01], yang juga berisi informasi lebih lanjut.

Komentar sebelumnya sudah menunjukkan hasil yang mengatakan bahwa O (n log n) switch sudah cukup, tetapi perbedaannya adalah bahwa dalam switching jaringan elemen yang dibandingkan diperbaiki.


[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski, dan Krzysztof Loys. Jalan tunda yang tertunda dan menghasilkan permutasi acak melalui proses stokastik terdistribusi. Dalam Simposium tentang Algoritma Diskret (SODA), halaman 271 {280, 1999.

[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski, dan Krzysztof Loys. Berpindah jaringan untuk menghasilkan permutasi acak, 2001.


Terima kasih, itu tentu bermanfaat untuk diketahui. Namun saya masih tertarik untuk mengetahui tentang nomor gerbang untuk menghasilkan distribusi yang tepat.
Joe Fitzsimons

12

Ini solusi yang agak menarik untuk . Gagasan yang sama juga berlaku untuk .n=4n=6

Mulailah dengan sakelar dengan probabilitas . Mengurangi ke dan ke , kita berada dalam situasi . Terapkan sakelar dengan probabilitas . Hasilnya adalah Langkah kita selanjutnya adalah dengan probabilitas . Dengan demikian kami benar-benar hanya peduli jika hasil dari tahap sebelumnya adalah dari bentuk (kasus A) atau dari formulir(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 (kasus B). Dalam kasus A, sakelar-sakelar ini akan menghasilkan probabilitas yang seragam di atas . Dalam kasus B mereka tidak akan efektif. Karena itu harus memenuhi Mengingat itu, hasilnya seragam.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Gagasan serupa berlaku untuk - Anda pertama-tama mengurutkan masing-masing setengah, dan kemudian "menggabungkan" mereka. Namun, bahkan untuk saya tidak bisa melihat cara menggabungkan separuh dengan benar.n=6n=8

Poin menarik tentang solusi ini adalah probabilitas aneh .p

Sebagai catatan tambahan, himpunan probabilitas yang dapat membantu kita diberikan oleh , di mana membahas semua nilai eigen dari semua representasi di semua transposisi.p1/(1λ)λ0Sn


1
Nilai aneh untuk memang menggembirakan, karena saya pikir ada bukti yang cukup sederhana bahwa jika kita membatasi probabilitas ke untuk integer maka yang terbaik yang dapat Anda lakukan adalah . p1/kkO(n2)
Joe Fitzsimons

5
Cara yang sedikit berbeda untuk elemen 2n, yang masih aneh dalam arti yang sama, adalah dengan mengocok elemen n pertama, mengocok elemen n terakhir, menukar (i, i + n) dengan probabilitas p_i untuk i = 1,…, n , kocok n elemen pertama, dan kocok n elemen terakhir. Probabilitas p_i harus dipilih sehingga probabilitas bahwa tepat k dari api n swap gerbang sama dengan dan probabilitas p_i tersebut diberikan oleh ( 1 + x_i) / 2 di mana x_1, ..., x_n adalah akar dari Pyn polinomial Legendre . (selengkapnya)(nk)2/(2nn)
Tsuyoshi Ito

6
(cont'd) Suatu hal yang mengecewakan tentang variasi yang saya jelaskan adalah bahwa ia memerlukan n (n − 1) / 2 probabilistik bertukar ketika n adalah kekuatan dua, yaitu, jumlah gerbang yang persis sama dengan jenis gelembung. solusi oleh Anthony Leverrier.
Tsuyoshi Ito

@ Tsuyoshi, konstruksi Anda jelas benar, tapi saya ingin tahu apakah itu melakukan lebih dari yang diperlukan. Saya tidak punya waktu untuk mengerjakan analisis saat ini, tetapi jika Anda melakukannya, Anda mungkin merasa layak mempertimbangkan apakah ada sehingga ; ; ; ; kemudian menerapkan permutasi yang sesuai dari akar Legendre (dan mengisi perempat lainnya) dapat bekerja. p0,p101,p=1223,p=1202,p=p013,p=p1
Peter Taylor

7

Pertimbangkan masalah pengocokan acak string , di mana setiap blok memiliki panjang , dengan sirkuit yang terdiri dari swap berpasangan probabilistik. Artinya, semua string dengan s dan s harus output sama-sama kemungkinan sirkuit, mengingat masukan ditentukan. Biarkan menjadi sirkuit optimal untuk masalah ini, dan biarkan menjadi sirkuit optimal untuk masalah asli (mengacak elemen secara acak ). Menerapkan permutasi acak cukup untuk secara acak interleave dan , jadiXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . Di sisi lain, kita dapat mengocok elemen dengan mengocok elemen pertama , mengocok elemen terakhir , dan akhirnya menerapkan rangkaian . Ini menyiratkan bahwa . Menggabungkan dua batasan ini, kita dapat memperoleh hasil berikut:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| dan keduanya adalah , atau keduanya adalah.|C2n|o(n2)

Kita melihat bahwa kedua masalah itu sama sulitnya, paling tidak dalam pengertian ini. Hasil ini agak mengejutkan, karena orang mungkin berharap masalah pengocokan menjadi lebih mudah. Secara khusus, argumen entropik menunjukkan bahwa adalah , tetapi memberikan hasil yang lebih kuat bahwa adalah .XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis dan Shahshahani 1981, "Menghasilkan Permutasi Acak dengan Transposisi Acak" menunjukkan bahwa 1/2 n log dan transposisi acak (catatan: tidak ada "O" di sini) menghasilkan permutasi yang dekat (dalam jarak total variasi) ke seragam. Saya tidak yakin apakah tepatnya apa yang diperbolehkan dalam aplikasi Anda memungkinkan Anda menggunakan hasil ini, tetapi cukup cepat, dan ketat karena itu adalah contoh dari fenomena cut-off. Lihat Acak Berjalan di Grup Hingga oleh Saloff-Coste untuk survei hasil yang sama.


1
Dan mungkin dua permutasi yang hampir acak dapat disusun untuk menghasilkan permutasi yang bahkan lebih hampir acak.
mjqxxxx

7
... Namun, perlu dicatat bahwa ini sebenarnya bukan masalah yang sama (bahkan memungkinkan untuk solusi perkiraan dan bukan tepat), karena penulis mempertimbangkan transposisi pasangan elemen yang dipilih secara acak, bukan transposisi probabilistik dari pasangan elemen tertentu.
mjqxxxx

5

Ini benar-benar komentar tetapi terlalu panjang untuk dikirim sebagai komentar. Saya menduga bahwa teori representasi dari kelompok simetris mungkin berguna untuk membuktikan batas bawah yang lebih baik. Meskipun saya hampir tidak tahu apa-apa tentang teori representasi dan saya mungkin melenceng, izinkan saya menjelaskan mengapa itu mungkin terkait dengan masalah saat ini.

Perhatikan bahwa perilaku rangkaian yang terdiri dari gerbang swap probabilistik dapat sepenuhnya ditentukan sebagai distribusi probabilitas p di atas S n , kelompok permutasi pada elemen n . Permutasi g ∈S n dapat dianggap sebagai peristiwa bahwa keluaran i adalah g ( i ) masukan untuk semua i ∈ {1,…, n }. Sekarang merepresentasikan distribusi probabilitas p sebagai jumlah formal ∑ g ∈S n p ( g ) g . Misalnya, pertukaran probabilistik antara kabel i danj dengan probabilitas p direpresentasikan sebagai (1− p ) e + p τ ij , di mana e ∈S n adalah elemen identitas dan τ ij ∈S n adalah transposisi antara i dan j .

Fakta menarik tentang penjumlahan formal ini adalah bahwa perilaku rangkaian dua rangkaian independen dapat secara resmi digambarkan sebagai produk dari penjumlahan formal ini. Yaitu, jika perilaku sirkuit C 1 dan C 2 direpresentasikan sebagai jumlah formal a 1 = ∑ g ∈S n p 1 ( g ) g dan a 2 = ∑ g ∈S n p 2 ( g ) g , masing-masing, maka perilaku sirkuit C 1 diikuti oleh C 2direpresentasikan sebagai ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Oleh karena itu, rangkaian yang diinginkan dengan swap probabilistik m persis sesuai dengan cara penulisan jumlah (1 / n !) ∑ g ∈S n g sebagai produk dari m jumlah masing-masing yang berbentuk (1− p ) e + p τ ij . Kami ingin mengetahui jumlah minimum m faktor.

Jumlah formal ∑ g ∈S n f ( g ) g , di mana f adalah fungsi dari S n hingga ℂ, dilengkapi dengan penambahan dan perkalian yang didefinisikan secara alami, membentuk cincin yang disebut aljabar grup ℂ [S n ]. Aljabar grup terkait erat dengan teori representasi grup, yang merupakan teori yang mendalam seperti yang kita semua ketahui dan takuti :). Ini membuat saya curiga bahwa sesuatu dalam teori representasi mungkin dapat diterapkan pada masalah saat ini.

Atau mungkin ini hanya dibuat-buat.


2
Inilah yang direduksi menjadi. Ada banyak representasi dari kelompok simetris, yang dapat dihitung secara eksplisit untuk transposisi, dengan beberapa pekerjaan (biasanya mereka hanya dihitung secara eksplisit untuk transposisi ). Nilai awal dari setiap representasi adalah matriks identitas yang sesuai. Menerapkan swap probabilistik mengalikan setiap representasi dengan , di mana adalah nilai representasi pada swap yang dilakukan . (lanjutan)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Agar output menjadi seragam, kita perlu semua representasi selain representasi identitas menjadi nol. Jadi probabilitas harus dipilih sehingga setidaknya beberapa matriks singular. Matriks untuk setiap representasi memiliki vektor eigen yang berbeda, jadi tidak jelas kondisi apa yang akan membuat representasi tertentu menjadi nol. (lanjutan)p(1p)I+pAijAij
Yuval Filmus

3
Namun, jika kita dapat membuktikan bahwa setiap transposisi mengurangi pangkat rata-rata representasi paling banyak , katakanlah, maka kita akan mendapatkan batas bawah . Batas seperti itu dapat dibuktikan jika kita mengetahui vektor eigen yang sesuai dengan masing-masing representasi dan setiap transposisi. Informasi ini dapat dikerjakan pada prinsipnya, tetapi tidak ada jaminan bahwa pendekatan ini akan menghasilkan sesuatu yang tidak sepele. 1/n2n2
Yuval Filmus

1
(cont'd) dan transformasi linier ini adalah persis matriks yang muncul dalam representasi S_n oleh n × n matriks permutasi. Meskipun n − 1 sepele karena batas bawah pada jumlah gerbang (argumen entropi sudah memberikan batas bawah yang lebih baik), harapan saya adalah mungkin untuk menggeneralisasikan argumen Anda ke representasi lain untuk menghasilkan batas bawah yang lebih baik pada total jumlah gerbang.
Tsuyoshi Ito

4
@Yuval, @Peter: Saya perhatikan bahwa untuk setiap representasi, (1 − p) I + pA_ {ij} nonsingular kecuali p = 1/2 (karena A_ {ij} ^ 2 = Saya menyiratkan bahwa nilai eigen dari A_ {ij } adalah ± 1). Oleh karena itu, menghitung pangkat hanya berguna untuk batas yang lebih rendah jumlah gerbang probabilitas-1/2, yang sudah dilakukan secara optimal oleh Peter. Dengan kata lain, jika teori representasi berguna dalam cara yang saya sarankan dalam posting ini, kita membutuhkan sesuatu selain menghitung pangkat matriks! Saya tidak yakin apakah itu realistis.
Tsuyoshi Ito

1

Algoritma Anthony Anthony dapat dijalankan secara paralel dengan memulai iterasi prosedur berikutnya setelah dua swap probabilistik pertama, menghasilkan runtime .O(n2)O(n)


4
Saya pikir ukuran kompleksitas yang relevan untuk pertanyaan ini adalah jumlah gerbang dan bukan runtime.
Anthony Leverrier

3
@Anthony benar bahwa yang saya minati hanyalah jumlah minimum gerbang yang diperlukan.
Joe Fitzsimons

0

Jika saya mengerti dengan benar, jika Anda ingin sirkuit Anda dapat menghasilkan semua permutasi, Anda memerlukan setidaknya gerbang probabilistik, meskipun saya tidak yakin bagaimana rangkaian minimal dapat dibangun.log2(n!)

MEMPERBARUI:

Saya berpikir bahwa jika Anda mengambil algoritma Mergesort dan mengganti semua perbandingan dengan pilihan acak dengan probabilitas yang sesuai, Anda akan mendapatkan rangkaian yang Anda cari.


2
Saya tidak sepenuhnya yakin bagaimana Anda akan menerjemahkan ini ke dalam model swap gate probabilitsic yang saya berikan di atas. Saya tidak melihat bagaimana pertukaran probabilistik menggantikan perbandingan dan masih mencapai distribusi acak. Karenanya, saya juga tidak yakin mengapa ini akan optimal.
Joe Fitzsimons

1
Dan ya, adalah minimum, tetapi ini hanya . log2(n!)O(nlog(n))
Joe Fitzsimons

1
Asumsikan dan lanjutkan dengan induksi pada . Anda memiliki dua permutasi acak dengan panjang . Jika Anda menggabungkan ini secara acak (yaitu mengambil elemen berikutnya dari subpermutasi yang dipilih secara acak) maka hasil yang digabungkan tentu harus acak. Probabilitas posisi memiliki elemen dari subpermutasi "kiri" jelas 1/2 oleh simetri. Dan dikondisikan di atasnya memiliki elemen dari subpermutasi kiri, itu harus memiliki yang acak secara acak. Dengan cara ini Anda dapat melihat bahwa permutasi yang dihasilkan memang acak. n=2kk2k1i
Andrew D. King

1
Itu juga garis pemikiran saya ketika saya mengusulkan mergesort, namun, pada pemikiran kedua, tampaknya bagi saya bahwa tidak mungkin untuk menerapkan operasi penggabungan hanya menggunakan jenis gerbang yang diperlukan, karena mereka tidak menghasilkan output untuk mengetahui apakah mereka melakukan permutasi dan mereka tidak memiliki input kontrol untuk mengkondisikan mereka.
Antonio Valerio Miceli-Barone

3
@ Andrew: Saya tidak melihat cara "menggabungkan ini secara acak" menggunakan gerbang yang dijelaskan dalam pertanyaan.
Joe Fitzsimons

0

Jawaban berikut salah (lihat komentar @joe fitzsimon), tetapi mungkin berguna sebagai titik awal

Saya punya proposal sketsa di . Saya telah memeriksanya dengan tangan untuk (!) Tapi saya belum punya bukti bahwa hasilnya seragam di luar .O(nlogn)n=4n=4

Misalkan Anda memiliki sirkuit yang menghasilkan permutasi acak seragam pada bit. Les probabilistic swap gate yang menukar bit dan dengan probabilitas 1/2 dan tidak melakukan apa-apa dengan probabilitas . Bangun sirkuit berikut bekerja pada bit:CnnSi,j12ij1/2C2n2n

  1. 1kn , terapkan gerbang ;Sk,k+n1/2
  2. Terapkan pada bit pertama ;Cnn
  3. Terapkan pada bit terakhir ;Cnn
  4. 1kn , terapkan gerbang .Sk,k+n1/2

Langkah 1. diperlukan agar bit dan dapat mendarat di bagian yang sama dari permutasi, dan langkah 4. diperlukan oleh simetri: jika adalah solusi, begitu juga diperoleh dengan menerapkan gerbang dalam urutan terbalik juga merupakan solusi.1n+1C2nC2n1

Ukuran rangkaian keluarga ini mematuhi relasi rekursi berikut: dengan, jelas, . Satu kemudian dengan mudah melihat bahwa .

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

Kemudian tetap menjadi pertanyaan yang jelas: apakah sirkuit ini melakukan permutasi yang seragam? Tidak, lihat komentar pertama di bawah


6
Saya tidak percaya bahwa ini melakukan permutasi yang seragam. Bahkan, saya pikir tidak mungkin untuk melakukan persis dengan gerbang seperti itu jika Anda memperbaiki probabilitas menjadi 1/2. Alasan untuk ini adalah sederhana: bayangkan sebuah sirkuit yang menggunakan gerbang tersebut. Lalu ada lintasan komputasi yang dapat disetel, dan dengan demikian permutasi apa pun harus terjadi dengan probabilitas untuk beberapa bilangan bulat . Namun, untuk distribusi yang seragam, kami membutuhkan . Jelas ini tidak dapat dipenuhi untuk nilai integer untuk . m2mk2mkk2m=1n!kn3
Joe Fitzsimons

Memang. Saya lupa juga memeriksa keseragaman untuk ...n=4
Frédéric Grosshans
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.