Pencarian Dinamis Paralel

24

Apakah ada analog paralel alami dengan pohon merah-hitam dengan sifat yang sama atau bahkan tidak terlalu buruk untuk pembaruan sementara cukup efisien dalam bekerja?

Secara umum, apa yang terbaik yang dapat kita lakukan untuk pencarian paralel dengan pembaruan?

Suresh Venkat
sumber
Properti apa yang ingin Anda pertahankan atau ubah "tidak terlalu buruk"? Seberapa pentingkah kondisi keseimbangan dari pohon merah-hitam? Apakah batas yang diharapkan, seperti dalam daftar lompatan bersamaan, dapat diterima?
jbapple
Saya pikir batas yang diharapkan akan baik-baik saja. Ini adalah situasi di mana kita sering memukul struktur data dengan nilai-nilai kunci yang diperbarui, jadi lebih tepatnya, bahkan operasi perubahan-kunci yang efisien a la fibonacci tumpukan baik-baik saja. Apakah Anda memiliki referensi yang baik untuk daftar lompatan bersamaan?
Suresh Venkat
Buku Herlihy & Shavit, The Art of Multiprocessor Programming, atau "Daftar tanpa kunci dan lewati daftar" atau java.util.concurrent atau Praktis-kebebasan kunci . Sudahkah Anda mempertimbangkan menggunakan tabel hash bersamaan seperti tabel hash hopscotch ?
jbapple
Sebenarnya tidak. Sayangnya saya buta huruf dalam metode bersamaan. Terima kasih untuk referensi.
Suresh Venkat

Jawaban:

8

Dari apa yang dapat saya katakan, strategi melibatkan kondisi keseimbangan yang menenangkan, kemudian melakukan pembaruan penyeimbangan kembali dalam semburan. Berikut ini adalah makalah dari Hanke et al., 1997 [PDF] , yang saya pikir berfokus pada teknik mereka mengumpulkan dan menyelesaikan operasi pembaruan sehingga mereka dapat dilakukan secara bersamaan.

James King
sumber
5

Saya pikir Anda mungkin menemukan jawaban yang menarik dalam buku Okasaki's Purely Functional Data Structures . Dalam buku ini, banyak struktur data ditampilkan, sehingga setiap pembaruan tidak mahal (biasanya hanya memakan waktu yang konstan atau logaritma).

n hal-hal untuk "d" dan perlu menyeimbangkan kembali nwaktu. Inilah sebabnya mengapa kompleksitas yang diamortisasi tidak berfungsi dalam pengaturan ini, dan ia menciptakan cara lain untuk mendapatkan algoritma yang baik di mana setiap langkah dengan pembaruan tidak mahal.

Arthur MILCHIOR
sumber
4
Saya berpikir bahwa, tanpa modifikasi lebih lanjut, pohon pencarian murni berfungsi membuat serial semua pembaruan, dan dengan demikian berkinerja buruk di bawah tulis pendapat.
jbapple