यहां समाधान के कुछ संभावित भाग हैं। प्रत्येक चरण, पर विभिन्न विकल्प हैं जो एनक्लस्टर पर निर्भर होंगे, डेटा कितनी तेजी से बदलता है, और आप किन तरीकों से क्या करना चाहते हैं।
3 चरण: मात्रा, बॉक्स, के-साधन।
1) मात्रा: XYZ समन्वय इनपुट को 8 बिट्स, कहने के लिए अलग करें, एक्स, वाई, जेड के 2^8 प्रतिशत अलग से ले कर। यह पूरे प्रवाह को विस्तार से ज्यादा नुकसान पहुंचाएगा। आप कर सकते थे तरह सभी 1G अंक, या सिर्फ एक यादृच्छिक 1M, पाने के लिए 8 बिट x0 < x1 < ... x256, Y0 < y1 < ... y256, z0 < z1 < ... z256 2 के साथ ^ (30-8) अंक प्रत्येक सीमा में। फ्लोट एक्स -> 8 बिट एक्स मानचित्र करने के लिए, अनियंत्रित बाइनरी खोज तेजी से — देखें बेंटले, मोती पी। 95.
जोड़ा गया: Kd trees अलग आकार के बक्से में किसी भी बिंदु बादल विभाजित है, ~ Leafsize के साथ प्रत्येक अंक — ज्यादा X Y Z ऊपर के रूप में विभाजित करने की तुलना में बेहतर। लेकिन afaik आपको केवल अपना पहला केडी ट्री कोड रोल करना होगा, केवल पहले 16 एम बॉक्स को विभाजित करने के लिए, और केवल अंक ही रखें, अंक नहीं।
2) बॉक्स: प्रत्येक 3 डी बॉक्स में 0 अंकों की संख्या गिनें, [xj .. xj + 1, yj .. yj + 1, zj .. zj + 1]। औसत बॉक्स में 2^(30-3 * 8) अंक होंगे; वितरण इस बात पर निर्भर करेगा कि डेटा कितना गड़बड़ है। यदि कुछ बक्से बहुत बड़े हैं या बहुत अधिक अंक प्राप्त करते हैं, तो आप ए) उन्हें 8, बी में विभाजित कर सकते हैं b) प्रत्येक बॉक्स में अन्य बिंदुओं के केंद्र को ट्रैक करें, बस अन्य जगहों पर मध्यबिंदु लें।
3) K-means clustering 2^(3 * 8) बॉक्स केंद्रों पर। (गूगल समांतर "कश्मीर का अर्थ है" -> 121k हिट।) यह आपके त्रिज्या आर पर कश्मीर उर्फ Ncluster पर दृढ़ता से निर्भर करता है, यह भी एक किसी न किसी दृष्टिकोण एक heap के साथ कह 27 * Ncluster बक्से के विकसित करने के लिए किया जाएगा अधिकांश अंक, फिर अपने त्रिज्या बाधा के अधीन सबसे बड़ा ले लो। भी Color quantization देखें (मैं एक Minimum spanning tree साथ शुरू करने के लिए, तो कश्मीर समूहों प्राप्त करने के लिए K-1 सबसे लंबे समय तक लिंक निकालें। की तरह)।
मैं शुरुआत से एक पैरामीटर, यहां 8, एनबीटी बनाउंगा।
आपका एनक्लस्टर क्या है?
जोड़ा गया: यदि आपके अंक समय पर चल रहे हैं, तो collision-detection-of-huge-number-of-circles पर SO पर देखें।
यह सेट कवर समस्या के 3-डी संस्करण की तरह लगता है !! :-) –
आपकी समस्या मुझे "वेक्टर क्वांटिज़ेटियोएन" की याद दिलाती है जो आपको कुछ विचार दे सकती है: http://www.data-compression.com/vq.shtml। नज़र में, यदि आप इस प्रतिबंध को हटाते हैं तो समस्या को हल करना मुश्किल नहीं होना चाहिए * "उन शीर्ष एन बिंदुओं के किसी भी दो बिंदुओं के बीच की दूरी आर से अधिक होनी चाहिए" * - यह प्रतिबंध बड़ी समस्या का कारण बनता है, और इसके लिए एक आवश्यकता होगी इसे दूर करने के लिए बहुत सोच। – SigTerm