Algoritma apa yang bermanfaat yang ada di sana yang bekerja pada aliran data besar dan juga hasilnya cukup kecil dan satu dapat menghitung hasilnya untuk campuran dua aliran dengan entah bagaimana menggabungkan hasil mereka?
Saya dapat menyebutkan beberapa:
- Hal-hal yang jelas seperti jumlah, min, maks, jumlah, top-K dll.
- Perkiraan algoritma aliran yang disebut "berbasis sketsa" untuk histogram, menghitung item berbeda atau menghitung kuantil
Apa yang ada di sana?
(Saya tertarik karena saya sedang menulis proyek hobi untuk memantau sistem terdistribusi yang kegunaannya ditentukan langsung oleh kegunaan dari algoritma tersebut)
Jawaban:
Guha et al. '03 memberikan algoritma perkiraan untuk k-median clustering dalam model streaming. Algoritma mereka membagi data menjadi potongan-potongan terpisah, menemukan pusat O (k) untuk setiap potongan terpisah, dan kemudian menggabungkan hasilnya untuk mendapatkan pusat k. Ini sepertinya jenis algoritma yang Anda cari.
sumber
Makalah oleh Bagchi, Chaudhary, Eppstein dan Goodrich memecahkan sejumlah masalah geometri streaming menggunakan subrutin yang mendasari untuk menghitung jaring dan aproksimasi ruang rentang yang dipilih dengan tepat. Subrutin ini memanfaatkan struktur aditif dari objek-objek ini dengan mengembangkan skema hierarkis untuk menghitungnya (di mana aliran level virtual mengagregasi blok dalam virtual -level stream, dan level 0 adalah stream asli). Ini pada dasarnya adalah rendering bottom up dari strategi memecah belah dan menaklukkan. dengan pembaruan di sepanjang "tepi" pohon rekursi. Secara struktur, ini sangat mirip dengan makalah Guha et al yang disebutkan oleh Lev.ε i th ( i - 1 ) thε ε sayath ( i - 1 )th
sumber
Saya telah menemukan sebuah makalah ( "Mendistribusikan Perhitungan Aliran Data Frekuensi-Ketergantungan" ) yang mengatakan bahwa setiap fungsi distribusi frekuensi aliran dapat digabung (meskipun tidak memberikan konstruksi eksplisit dan efisien untuk operasi penggabungan). Dan buktinya tampaknya sangat menarik, melibatkan beberapa teori cincin. Perlu membaca makalah sebelumnya oleh penulis yang sama ( "Batas bawah pada estimasi frekuensi aliran data" ) yang hasil utamanya digunakan sebagai dasar untuk yang ini.
Ini mengingatkan saya pada Teorema Homomorfisme Ketiga ...
sumber
Penelitian tentang bahasa permintaan aliran berkelanjutan dapat memberikan beberapa wawasan. Salah satu bahasa seperti itu adalah CQL , yang saya percaya sedang diadopsi oleh Oracle. Bahasa memungkinkan fungsi dihitung pada jendela geser aliran (termasuk jendela ukuran 1). Ini tesis sarjana memberikan gambaran terbaru dari bahasa, termasuk beberapa contoh. Makalah ini memberikan ikhtisar dari beberapa bahasa pemrosesan aliran, yang seharusnya berguna untuk menemukan tautan ke penelitian terkait lainnya.
Saya tahu bahwa ini tidak menjawab pertanyaan Anda secara langsung, tetapi itu harus membuat Anda berhubungan dengan penelitian yang dilakukan oleh orang-orang yang berangkat dari titik awal yang sama.
sumber
Pertanyaan ini sepertinya agak melingkar bagi saya. Jika masalah memiliki properti yang Anda inginkan, maka ada algoritma berbasis sketsa-dan-gabungan untuk itu. Seperti disebutkan di atas, ada pekerjaan pada pengelompokan, perkiraan, dan coreset yang memberi Anda itu. Juga, sebagian besar algoritma streaming memungkinkan penggabungan aliran hanya dengan (secara konseptual) menyatukan satu aliran ke aliran lainnya.
Juga, saya tidak yakin algoritma streaming top-k dapat diterima - tetapi saya mungkin salah.
sumber
Maaf telah melakukan necromancing untuk hal ini, tapi saya pikir Anda mungkin ingin melihat beberapa pekerjaan tentang pemantauan berkelanjutan yang didistribusikan pada stream, di mana Anda diberikan beberapa stream dan tujuannya adalah untuk memantau beberapa statistik agregat di lokasi pemantauan pusat sambil meminimalkan komunikasi. Model itu bagi saya sangat erat kaitannya dengan motivasi Anda. Lihatlah referensi dalam buku Muthu . Satu kertas adalah ini .
Makalah Ganguly juga sangat menarik.
sumber