Prinsip 0-1 mengatakan bahwa jika jaringan penyortiran bekerja untuk semua urutan 0-1, maka itu berfungsi untuk set angka. Apakah ada sehingga jika jaringan mengurutkan setiap urutan 0-1 dari S, maka itu mengurutkan setiap urutan 0-1 dan ukuran adalah polinomial dalam ? S
Sebagai contoh, jika terdiri dari semua urutan di mana ada paling banyak run (interval) dari 1, maka apakah ada jaringan penyortiran N dan urutan yang tidak dipesan oleh N jika semua anggota diperintahkan oleh N?
Jawaban: Seperti yang dapat dilihat dari jawaban dan komentar di dalamnya, jawabannya adalah bahwa untuk setiap string yang tidak disortir ada jaringan penyortiran yang menyortir setiap string lainnya. Bukti sederhana untuk ini adalah sebagai berikut. Biarkan string menjadi sedemikian rupa sehingga selamanya dan . Karena tidak , setelah pengurutan harus . Bandingkan dengan setiap yang . Kemudian bandingkan setiap pasangan sedemikian rupa sehingga dans k = 1 s s k 0 k i s i = 1 ( i , j ) i ≠ k j ≠ kberkali-kali. Ini membuat seluruh string diurutkan, kecuali mungkin untuk , yang tidak disortir untuk , dan untuk string lain yang memiliki lebih banyak daripada . Sekarang bandingkan untuk downto kecuali untuk tempat di mana harus masuk . Ini akan mengurutkan semuanya kecuali . s 1 s s k i = n 1 s k s s
Pembaruan: Saya ingin tahu apa yang terjadi jika kami membatasi kedalaman jaringan ke .
sumber
Jawaban:
Sepertinya tidak. Ian Parberry membuat referensi ke sebuah makalah oleh Chung dan Ravikumar, di mana mereka seharusnya memberikan konstruksi rekursif dari jaringan penyortiran yang menyortir setiap bitstring kecuali satu, dan lebih lanjut menyimpulkan bahwa masalah memverifikasi jaringan penyortiran adalah - N P selesai. Saya tidak dapat menemukan kertas aslinya segera, tetapi tentu saja cocok dengan intuisi (saya).co NP
Sunting untuk menambahkan: Sebenarnya sangat mudah untuk menemukan jaringan yang melewatkan satu string. String yang akan dilewatkan adalah . Sekarang Anda hanya ingin rangkaian yang mengurutkan bit n - 1 terakhir , lalu mengurutkan bit n - 1 pertama . Sirkuit ini akan mengurutkan apa saja dengan setidaknya dua 1 s, jelas akan mengurutkan semua-nol string, dan akan mengurutkan setiap string yang dimulai dengan 0 .(1,0,…,0) n−1 n−1 1 0
sumber