Referensi asli untuk Huffman berbentuk Merge Sort?

8

Apa publikasi pertama dari konsep optimalisasi penggabungan berdasarkan

  1. mengidentifikasi urutan posisi berturut-turut dalam meningkatkan pesanan (alias berjalan) dalam waktu linier; kemudian
  2. berulang kali menggabungkan dua sekuens terpendek seperti itu dan menambahkan hasil penggabungan ini ke daftar fragmen yang diurutkan.

Dalam beberapa publikasi saya (mis. Http://barbay.cl/publications.html#STACS2009 , http://barbay.cl/publications.html#TCS2013 ) Saya menggunakan trik ini untuk menyortir lebih cepat dan menghasilkan struktur data terkompresi untuk permutasi.

Tampaknya trik ini diperkenalkan sebelumnya, hanya dalam konteks pengurutan yang lebih cepat, tetapi baik saya maupun siswa saya tidak dapat menemukan kembali referensi?

Jeremy
sumber
apakah Anda memeriksa Knuth? Saya ingat ada sedikit yang berjalan di TAOCP.
Mikolas
1
n/2ρn(1+lgρ)(n1,...,nρ)n(1+2H(n1,...,nρ))
HAI(n(1+lg(r+1)))

Jawaban:

9

Saya menemukan hasilnya disembunyikan dalam laporan teknis 4p yang tidak jelas: Saya membagikan hasil saya di sini kalau-kalau ada yang tertarik.

  1. Knuth menyebutkan run dalam deskripsinya tentang "natural merge sort" (halaman 160 dari buku 3 edisi 3), tetapi ia menganalisis kompleksitasnya hanya rata-rata (yang menghasilkan n / 2 run), tidak dalam fungsi jumlah ρ dari berjalan
  2. pada tahun 1985, Mannila membuktikan bahwa Natural Mergesort membutuhkan waktu dalam O (n (1 + lg (r + 1))) untuk mengurutkan elemen yang membentuk r run.
  3. n(1+2H(n1,...,nρ))
  4. pada tahun 2009, teknik ini disajikan pada simposium Pendanaan Matematika Ilmu Komputer (bersama dengan hasil pada penyortiran, jalur terpendek dan pohon rentang minimum).
  5. pada tahun 2010, diterbitkan dalam jurnal Pemrosesan Informasi dengan judul "Entropy as Computational Complexity", dengan tambahan penulis, Yuji Nakagawa ( https://www.semanticscholar.org/author/Yuji-Nakagawa/2219943 ) .

Saya bergabung dengan referensi bibtex di bawah ini.

@ TechReport {1997-TR-MinimalMergesort-Takaoka, penulis = {Tadao Takaoka}, judul = {Minimal Mergesort}, institusi = {University of Canterbury}, tahun = 1997, note = { http://ir.canterbury.ac. nz / handle / 10092/9676 , diakses terakhir [2016-08-23 Sel]}, abstract = {Kami menyajikan algoritma pengurutan adaptif baru, yang disebut pengurutan minimal, yang menggabungkan proses naik dalam daftar input dari yang lebih pendek ke lebih lama, yaitu, menggabungkan dua daftar terpendek setiap kali. Kami menunjukkan bahwa algoritma ini optimal sehubungan dengan ukuran baru dari presortness, yang disebut entropi.}}

Dalam makalah ini kami memperkenalkan ukuran entropi H (S) untuk ketidakpastian dalam data input yang diselesaikan sebagian S (X) = (X 1, ..., X k), di mana X adalah seluruh kumpulan data, dan setiap X i adalah sudah terpecahkan. Kami menggunakan ukuran entropi untuk menganalisis tiga contoh masalah, pengurutan, jalur terpendek dan pohon rentang minimum. Untuk mengurutkan X i adalah run menanjak, dan untuk jalur terpendek, X i adalah bagian asiklik dalam grafik yang diberikan. Untuk pohon spanning minimum, X i diinterpretasikan sebagai pohon spanning minimum yang diperoleh sebagian untuk suatu subgraph. Ukuran entropi, H (S), didefinisikan oleh tentang pi = | X i | / | X | sebagai ukuran probabilitas, yaitu, H (S) = - nΣki = 1pilogpi, di mana n = Σki = 1 | Xi | Kemudian kami menunjukkan bahwa kami dapat mengurutkan data input S (X) dalam waktu O (H (S)), dan memecahkan masalah jalur terpendek dalam waktu O (m + H (S)) di mana m adalah jumlah tepi dari grafik.

@artikel {2010-JIP-EntropyAsComputationalComplexity-TakaokaNakagawa, penulis = {Tadao Takaoka dan Yuji Nakagawa}, judul = {Entropi sebagai Kompleksitas Komputasi}, jurnal = jip, volume = {18}, halaman = {227--241}, tahun = {2010}, url = { http://dx.doi.org/10.2197/ipsjjip.18.227 }, doi = {10.2197 / ipsjjip.18.227}, timestamp = {Rabu, 14 Sep 2011 13:30:52 +0200 }, biburl = { http://dblp.uni-trier.de/rec/bib/journals/jip/TakaokaN10 }, bibsource = {dblp bibliografi ilmu komputer, http://dblp.org}, abstract = {Jika instance masalah yang diberikan sebagian diselesaikan, kami ingin meminimalkan upaya kami untuk memecahkan masalah menggunakan informasi itu. Dalam tulisan ini kami memperkenalkan ukuran entropi, H (S), untuk ketidakpastian dalam data input yang diselesaikan sebagian S (X) = (X1, ..., Xk), di mana X adalah seluruh kumpulan data, dan masing-masing Xi sudah terpecahkan. Kami mengusulkan algoritma umum yang menggabungkan Xi berulang kali, dan selesai ketika k menjadi 1. Kami menggunakan ukuran entropi untuk menganalisis tiga contoh masalah, pengurutan, jalur terpendek, dan rentang pohon minimum. Untuk menyortir Xi adalah run menanjak, dan untuk pohon spanning minimum, Xi diartikan sebagai pohon spanning minimum yang diperoleh sebagian untuk subgraph. Untuk jalur terpendek, Xi adalah bagian asiklik dalam grafik yang diberikan. Ketika k kecil, grafik dapat dianggap hampir asiklik. Ukuran entropi, H (S), didefinisikan dengan menganggap pi = ¦Xi¦ / ¦X¦ sebagai ukuran probabilitas, yaitu, H (S) = -n (log p1 p1 + ... + pk log pk), di mana n = ¦X1¦ +. . . + ¦Xk¦. Kami menunjukkan bahwa kami dapat mengurutkan data input S (X) dalam waktu O (H (S)), dan kami dapat menyelesaikan pohon rentang biaya minimum dalam waktu O (m + H (S)), di mana m dalam angka dari tepi. Kemudian kita memecahkan masalah jalur terpendek dalam waktu O (m + H (S)). Akhirnya kami mendefinisikan entropi ganda pada proses partisi, di mana kami memberikan batasan waktu pada quicksort generik dan masalah jalur terpendek untuk jenis lain dari grafik yang hampir asiklik.} di mana m dalam jumlah tepi. Kemudian kita memecahkan masalah jalur terpendek dalam waktu O (m + H (S)). Akhirnya kami mendefinisikan entropi ganda pada proses partisi, di mana kami memberikan batasan waktu pada quicksort generik dan masalah jalur terpendek untuk jenis lain dari grafik yang hampir asiklik.} di mana m dalam jumlah tepi. Kemudian kita memecahkan masalah jalur terpendek dalam waktu O (m + H (S)). Akhirnya kami mendefinisikan entropi ganda pada proses partisi, di mana kami memberikan batasan waktu pada quicksort generik dan masalah jalur terpendek untuk jenis lain dari grafik yang hampir asiklik.}
}

Jeremy
sumber