डेटा स्ट्रीम एल्गोरिदम को "विभाजित और जीतें"


12

क्या उपयोगी एल्गोरिदम मौजूद हैं जो विशाल डेटा धाराओं पर काम करते हैं और साथ ही उनके परिणाम काफी छोटे होते हैं और एक दो धाराओं के मिश्रण के लिए परिणाम की गणना किसी भी तरह से अपने परिणामों को मर्ज कर सकता है?

मैं कुछ नाम दे सकता हूं:

  • योग, न्यूनतम, अधिकतम, गिनती, शीर्ष-के आदि जैसी स्पष्ट बातें।
  • अनुमानित रूप से तथाकथित "स्केच-आधारित" स्ट्रीम एल्गोरिदम हिस्टोग्राम के लिए, अलग-अलग वस्तुओं की गणना या क्वांटिल की गणना करता है

अन्य क्या हैं?

(मुझे दिलचस्पी है क्योंकि मैं वितरित सिस्टम की निगरानी के लिए एक शौक परियोजना लिख ​​रहा हूं जिसकी उपयोगिता सीधे इस तरह के एल्गोरिदम की उपयोगिता से निर्धारित होती है)


मुझे लगता है कि किसी भी स्ट्रीमिंग एल्गोरिदम के बारे में सोचना बहुत मुश्किल है जो "विभाजित और जीतना" / साहचर्य नहीं है। हो सकता है कि किसी तरह का रोलिंग हैश फ़ंक्शन हो ... क्या आपके पास इस तरह के स्ट्रीम एल्गोरिथम का कोई प्राकृतिक उदाहरण है?
थॉमस अहले

जवाबों:


9

गुहा एट अल। '03 स्ट्रीमिंग मॉडल में k-median क्लस्टरिंग के लिए एक सन्निकटन एल्गोरिथ्म देते हैं। उनका एल्गोरिथ्म डेटा को असम्पीडित टुकड़ों में विभाजित करता है, प्रत्येक डिस्चार्ज टुकड़े के लिए ओ (के) केंद्रों को ढूंढता है, और फिर के केंद्रों को प्राप्त करने के लिए परिणामों को जोड़ता है। यह उस एल्गोरिथ्म का प्रकार प्रतीत होता है जिसे आप खोज रहे हैं।


7

बागची, चौधरी, एप्पस्टीन और गुडरिक का पेपर कई तरह की स्ट्रीमिंग जियोमेट्रिक समस्याओं को हल करता है जो कि कंप्यूटिंग के लिए एक अंतर्निहित सबरूटीन का उपयोग करके -nets और उचित रूप से चुने गए रेंज स्पेस के -approximations के लिए किया जाता है। यह सबरूटीन इन वस्तुओं की योगात्मक संरचना का उपयोग करके उनकी गणना करने के लिए एक पदानुक्रमित योजना का उपयोग करता है (जहां वर्चुअल स्तर स्ट्रीम वर्चुअल में ब्लॉक को एकत्रित करता है -level स्ट्रीम, और स्तर 0 मूल स्ट्रीम है)। यह अनिवार्य रूप से एक विभाजन का प्रतिपादन और रणनीति को जीतने का एक निचला स्तर है। पुनरावर्ती पेड़ के "किनारे" के साथ अद्यतन। संरचना में, यह लेवा द्वारा उल्लिखित गुहा एट अल पेपर के समान है।εεमैंवें(मैं-1)वें


6

मुझे एक पेपर मिला है ( "डिस्ट्रीब्यूशन फ्रीक्वेंसी-डिपेंडेंट डेटा स्ट्रीम कम्प्यूटेशंस" ) जो कहता है कि स्ट्रीम की फ़्रीक्वेंसी डिस्ट्रीब्यूशन का हर फंक्शन मेरिएबल है (हालाँकि यह मर्ज ऑपरेशन के लिए स्पष्ट और कुशल कंस्ट्रक्शन नहीं देता है )। और सबूत बहुत दिलचस्प लगता है, जिसमें कुछ रिंग सिद्धांत शामिल हैं। पिछले पेपर को उसी लेखक ( "डेटा धाराओं की आवृत्ति के अनुमान पर कम सीमा" ) को पढ़ने की आवश्यकता है, जिसका मुख्य परिणाम इस के लिए आधार के रूप में उपयोग किया जाता है।

यह मुझे तीसरे होमोमोर्फिज्म प्रमेय की याद दिलाता है ...


मुझे नहीं लगता कि गांगुली का तात्पर्य यह है कि विभाजन और जीत की रणनीति स्ट्रीमिंग के लिए काम कर सकती है। यह मॉडल मैप्रेड्यूस / एमयूडी मॉडल को कम करने लगता है, जिसमें डेटा पर कई पास हो सकते हैं।
सुरेश वेंकट

पढ़ने के बाद मुझे लगता है कि यह सब के बाद कई पास का उपयोग नहीं करता है।
jkff

4

निरंतर स्ट्रीम क्वेरी भाषाओं पर शोध कुछ अंतर्दृष्टि प्रदान कर सकता है। ऐसी ही एक भाषा है CQL , जो मेरा मानना ​​है कि Oracle द्वारा अपनाया जा रहा है। भाषाएं फ़ंक्शंस की स्लाइडिंग विंडो (आकार 1 की विंडो सहित) पर गणना करने की अनुमति देती हैं। यह स्नातक की थीसिस कुछ उदाहरणों सहित, भाषा का एक हालिया अवलोकन प्रदान करती है। यह पेपर कुछ स्ट्रीम प्रोसेसिंग भाषाओं का अवलोकन देता है, जो अन्य संबंधित शोध के लिंक खोजने के लिए उपयोगी होना चाहिए।

मुझे पता है कि यह आपके सवाल का सीधे जवाब नहीं देता है, लेकिन यह आपको उसी प्रारंभिक बिंदु से प्रस्थान करने वाले लोगों द्वारा किए गए शोध के संपर्क में होना चाहिए।


4

यह सवाल मुझे थोड़ा गोलाकार लगता है। यदि समस्या में वह संपत्ति है जो आप चाहते हैं, तो इसके लिए एक स्केच-एंड-मर्ज आधारित एल्गोरिदम है। जैसा कि ऊपर उल्लेख किया गया है, क्लस्टरिंग, सन्निकटन और कोरसेट पर काम होता है जो आपको प्रदान करता है। इसके अलावा, अधिकांश स्ट्रीमिंग एल्गोरिदम केवल स्ट्रीम (वैचारिक रूप से) एक स्ट्रीम को दूसरे में विलय करके स्ट्रीम को विलय करने की अनुमति देते हैं।

इसके अलावा, मुझे यकीन नहीं है कि टॉप-के स्ट्रीमिंग एल्गोरिदम विलय योग्य हैं - लेकिन मैं गलत हो सकता हूं।


टॉप-के मेरिटिव रूप से हैं: k आइटम की दो सूचियों को मर्ज करने के लिए, आप उन्हें मर्ज करते हैं और परिणाम के अंतिम आइटम k लेते हैं :) हालाँकि, शायद आपका मतलब "टॉप k सबसे अक्सर" था, लेकिन मेरा मतलब यह था (जो भी एक है उपयोगी समस्या, उदाहरण के लिए, फ़ेसबुक वॉल जैसी किसी चीज़ की वितरित संगणना के लिए)
jkff

3

इस पर नेक्रोमैंसिंग करने के लिए क्षमा करें, लेकिन मैंने सोचा कि आप धाराओं पर वितरित सतत निगरानी पर कुछ काम को देखना चाहते हैं, जहाँ आपको कई धाराएँ दी जाती हैं और लक्ष्य संचार को कम करते हुए केंद्रीय निगरानी स्थल पर कुछ समग्र आंकड़ों की निगरानी करना है। मॉडल मुझे आपकी प्रेरणा से निकट से संबंधित लगता है। मुथु की पुस्तक के संदर्भ देखें । एक पेपर यह है

गांगुली का पेपर बहुत दिलचस्प है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.