Kemungkinan jaringan sortir acak berfungsi


14

Diberikan n input x0,,xn1 , kami membangun jaringan sortir acak dengan gerbang dengan secara iteratif memilih dua variabel dengan dan menambahkan gerbang komparator yang menukar mereka jika .m i < j x i > x jxi,xji<jxi>xj

Pertanyaan 1 : Untuk tetap , berapa besar harus untuk jaringan untuk mengurutkan dengan benar dengan probabilitas ?m > 1nm>12

Kami memiliki setidaknya batas bawah karena input yang diurutkan dengan benar, kecuali bahwa setiap pasangan berurutan akan bertukar waktu untuk setiap pasangan menjadi dipilih sebagai pembanding. Apakah itu juga batas atas, mungkin dengan lebih banyak faktor ?m=Ω(n2logn)log nΘ(n2logn2)logn

Pertanyaan 2 : Apakah ada distribusi gerbang pembanding yang mencapai , mungkin dengan memilih pembanding dekat dengan probabilitas lebih tinggi?m=O~(n)


1
Saya kira salah satu bisa mendapatkan atas terikat dengan melihat satu input pada satu waktu dan melompat-lompat maka serikat pekerja, tapi itu suara jauh dari ketat. O(n3logO(1))
daniello

2
Ide untuk Pertanyaan 2: pilih jaringan sortir kedalaman . Pada setiap langkah, pilih secara acak salah satu gerbang jaringan penyortiran, dan lakukan perbandingan itu. Setelah ˜ O ( n ) langkah, semua gerbang di lapisan pertama akan diterapkan. Setelah langkah ˜ O ( n ) yang lain , semua gerbang di lapisan kedua akan diterapkan. Jika Anda dapat menunjukkan bahwa ini monoton (menyisipkan perbandingan ekstra di tengah jaringan penyortiran tidak ada salahnya), Anda akan mendapatkan solusi dengan ˜ O ( n )O(log2n)O~(n)O~(n)O~(n)komparator total rata-rata. Namun, saya tidak yakin apakah kebersamaan benar-benar berlaku.
DW

2
@DW: Monotonitas tidak selalu berlaku. Pertimbangkan urutan Urutanskarya; stidak (pertimbangkan input (1, 0, 0)). Idenya adalah bahwa(x0,x2),(x0,x1)
s=(x1,x2),(x0,x2),(x0,x1);s=(x1,x2),(x0,x1),(x0,x2),(x0,x1).
ss(x0,x2),(x0,x1)macam input apa pun yang diterimanya kecuali (lihat di sini ). Dalam s , input itu tidak dapat mencapai ( x 0 , x 2 ) , ( x 0 , x 1 ) . Dalam s itu bisa. (0,1,0)s(x0,x2),(x0,x1)s
Neal Young

3
Pertimbangkan varian di mana jaringan dipilih dengan memilih dua variabel yang berdekatan secara acak di setiap langkah. Sekarang monotonitas berlaku (karena swap yang berdekatan tidak membuat inversi). Terapkan ide @ DW ke jaringan sorting ganjil-genap , yang memiliki n putaran: dalam ganjil ronde ini membandingkan semua pasangan yang berdekatan di mana saya ganjil, dalam ronde genap membandingkan semua pasangan yang berdekatan di mana saya genap. Whp jaringan acak benar dalam perbandingan O ( n 2 log n ) , karena "termasuk" jaringan ini. (Atau aku melewatkan sesuatu?)xi,xi+1niiO(n2logn)
Neal Young

2
Monotonicity of adjacent networks: Given a,b{0,1}n, for j{0,1,,n} define sj(a)=i=1jai. Say ab if sj(a)sj(b) (j). Fix any comparison "xi<xi+1". Let a and b come from a and b by doing that comparison. Claim 1. aa and bb. Claim 2: if ab, then ab. Then show inductively: if y is the result of comparison sequence s on input x, Dan adalah hasil dari super-urutan s ' dari s pada x , maka y 'y . Jadi jika y diurutkan, begitu juga y ' . yssxyyyy
Neal Young

Jawaban:


3

Here's some empirical data for question 2, based on D.W.'s idea applied to bitonic sort. For n variables, choose ji=2k with probability proportional to lgnk, then select i uniformly at random to get a comparator (i,j). This matches the distribution of comparators in bitonic sort if n is a power of 2, and approximates it otherwise.

Untuk urutan gerbang tanpa batas tertentu yang ditarik dari distribusi ini, kami dapat memperkirakan jumlah gerbang yang diperlukan untuk mendapatkan jaringan sortir dengan mengurutkan banyak urutan bit acak. Inilah perkiraan untuk mengambil rata-rata lebih dari 100 urutan gerbang dengan urutan 6400 bit yang digunakan untuk mendekati penghitungan: Tampaknya cocok dengan Θ ( n log 2 n ) , kompleksitas yang sama dengan jenis bitonic. Jika demikian, kita tidak makan tambahan log n faktor karena masalah kolektor kupon datang di setiap gerbang.n<2001006400Approximate number of gatesΘ(nlog2n)logn

Untuk menekankan: Saya hanya menggunakan urutan bit untuk memperkirakan jumlah gerbang yang diharapkan, bukan 2 n . Gerbang yang diperlukan rata-rata naik dengan angka itu: untuk n = 199 jika saya menggunakan urutan 6400 , 64000 , dan 640000 perkiraannya adalah 14270 ± 1069 , 14353 ± 1013 , dan 14539 ± 965 . Dengan demikian, mungkin mendapatkan beberapa urutan terakhir akan meningkatkan kompleksitas asimptotik, meskipun secara intuitif rasanya tidak mungkin.64002nn=19964006400064000014270±106914353±101314539±965

Sunting : Berikut plot yang sama hingga , tetapi menggunakan jumlah gerbang yang tepat (dihitung melalui kombinasi sampling dan Z3). Saya telah beralih dari kekuatan dua d = j - i ke sembarang d [ 1 , nn=80d=jidengan probabilitas sebanding denganlogn-logdd[1,n2] . Θ(nlog2n)masih terlihat masuk akal.lognlogddΘ(nlog2n)

Exact numbers of gates


2
Eksperimen yang bagus! Namun, ada cara berbeda yang dapat timbul masalah pengumpul kupon: Anda hanya mengambil sampel sebagian kecil dari urutan bit yang diperlukan untuk memverifikasi kebenaran pada semua input. Tampaknya kita dapat menyimpulkan (secara ilmiah, tentu saja tidak secara matematis) dari percobaan Anda bahwa jaringan acak jenis dan ukuran ini mengurutkan permutasi acak whp. Saya juga akan penasaran untuk melihat lengkap 2 n pengujian pada jaringan acak seperti untuk semua n sampai dengan yang Anda bersedia untuk pergi. ( n = 20 tidak boleh terlalu buruk, bahkan mungkin n = 30 tergantung pada bahasa & perangkat keras apa yang Anda gunakan).2n2nnn=20n=30
Joshua Grochow

1
Kelihatannya sama persis hingga , tapi saya tidak menganggapnya konklusif. n=27
Geoffrey Irving

1
@ JoshuaGrochow: Saya telah menambahkan nilai yang tepat hingga . n=80
Geoffrey Irving

1
Bagus! Tampaknya ada penyebaran yang berkembang ke data yang tepat, yang mungkin menunjukkan batas atas dengan faktor tambahan ? (Yaitu, jika "spread" tumbuh pada tingkat log n .)lognlogn
Joshua Grochow

1
Ya, kami tidak bisa mengesampingkan faktor tambahan. Saya akan terkejut jika , karena sejak 80 kita memiliki lg n 6 dan konstanta curiga mendekati 1 jika tidak. Pada titik ini saya pikir teori harus mengambil alih. :)lognlgn61
Geoffrey Irving
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.