Diberikan input , kami membangun jaringan sortir acak dengan gerbang dengan secara iteratif memilih dua variabel dengan dan menambahkan gerbang komparator yang menukar mereka jika . i < j x i > x j
Pertanyaan 1 : Untuk tetap , berapa besar harus untuk jaringan untuk mengurutkan dengan benar dengan probabilitas ?m > 1
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 ?log n
Pertanyaan 2 : Apakah ada distribusi gerbang pembanding yang mencapai , mungkin dengan memilih pembanding dekat dengan probabilitas lebih tinggi?
sorting-network
Geoffrey Irving
sumber
sumber
Jawaban:
Here's some empirical data for question 2, based on D.W.'s idea applied to bitonic sort. Forn variables, choose j−i=2k with probability proportional to lgn−k , 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<200 100 6400 Θ(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.6400 2n n=199 6400 64000 640000 14270±1069 14353±1013 14539±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=80 d=j−i dengan probabilitas sebanding denganlogn-logdd∈[1,n2] . Θ(nlog2n)masih terlihat masuk akal.logn−logdd Θ(nlog2n)
sumber