बहुत बड़े लिंक ग्राफ़ की कल्पना करना


25

मैं बहुत बड़े दिशात्मक लिंक ग्राफ़ की कल्पना करने के लिए एक उपकरण की तलाश कर रहा हूं। वर्तमान में मेरे पास ~ 10million किनारों के साथ ~ 2million नोड्स हैं। मैंने कुछ अलग चीजें आजमाई हैं, लेकिन ज्यादातर को 100k नोड ग्राफ के लिए घंटों लगते हैं

मैंने क्या प्रयास किया है:
मैंने एक दिन में गेफ़ी के साथ बिताया, लेकिन 80K नोड्स को जोड़ने में लगभग एक घंटे लगते हैं और एप्लिकेशन ज्यादातर बेकार हो जाता है।

कोई सुझाव?

एक इंटरैक्टिव विज़ुअलाइज़ेशन एक प्लस होगा।


यदि आपने जो पहले ही कोशिश की थी, तो यह मदद करेगा। क्या आपने ग्राफविज़ को एक शॉट दिया?
वोल्फगैंग बंगर्थ

1
ग्राफविज़ वह है जो मैं पहले कोशिश करूँगा। यह पता नहीं है कि यह उस आकार के कुछ के साथ काम करेगा या नहीं। जाहिर है आपको किसी ऐसी चीज की आवश्यकता होगी जो आसन्न मैट्रिक्स के लिए विरल प्रतिनिधित्व का उपयोग करती है, लेकिन यह अकल्पनीय लगता है कि एक सॉफ्टवेयर पैकेज नहीं होगा।
डेविड केचेसन

Im ग्राफविज़ को अभी एक शॉट दे रहा है, यह थोड़ा और अधिक आशाजनक लग रहा है, लेकिन मुझे नहीं लगता कि यह बातचीत के लिए अनुमति देता है
madmaze

2
क्या आपने ग्राफ को एक विरल मैट्रिक्स के रूप में व्याख्या करने और इसे MATLAB या ऑक्टेव के 'स्पाई' फ़ंक्शन के साथ देखने की कोशिश की है? 10 मिलियन नॉनज़रो प्रविष्टियाँ मध्यम शक्तिशाली डेस्कटॉप की पहुंच के भीतर अच्छी तरह से हैं। यह आपको वर्णक्रमीय विच्छेदन के लिए भी स्थापित करेगा (आपके ग्राफ़ के विभाजन को खोजने के लिए आपके लिए इसे कल्पना करना आसान बना सकता है)।
जैक पॉल्सन

1
क्या आपने यात्रा पर ध्यान दिया है?
पायथन

जवाबों:


13

ग्राफविज़ को काम करना चाहिए। मुझे विश्वास है कि फ्लोरिडा स्पार्स मैट्रिक्स संग्रह विश्वविद्यालय में मेट्रिसेस से जुड़ी छवियों को एसएफडीपी, एक बल-निर्देशित ग्राफ विज़ुअलाइज़ेशन एल्गोरिथ्म द्वारा विकसित किया गया था, जो कि Yifan Hu द्वारा कल्पना की गई थी। संग्रह के अधिकांश मैट्रिसेस में एक संगत विज़ुअलाइज़ेशन उत्पन्न करने से जुड़ा एक कम्प्यूटेशनल समय होता है, इसलिए आप उन मैट्रिसेस की खोज करने में सक्षम हो सकते हैं जिनके ग्राफ़ में उन विशेषताओं के समान हैं जिनकी आप कल्पना करना चाहते हैं। उदाहरण के लिए, ~ 2.1 मिलियन नोड्स और ~ 3 मिलियन किनारों वाले ग्राफ ने ~ ~ 36000s को जनरेट करने के लिए, या 10 घंटे का समय लिया। हालांकि यह स्पष्ट नहीं है कि ग्राफ़ बनाने के लिए किस हार्डवेयर का उपयोग किया गया था, यह संभवतः एक उचित अनुमान है कि डेस्कटॉप या लैपटॉप का उपयोग किया गया था, और समय कम से कम आपको एक मोटा विचार देगा कि ग्राफ़ को प्रस्तुत करने में कितना समय लगेगा। हू का एल्गोरिदम अत्याधुनिक विज़ुअलाइज़ेशन एल्गोरिदम में से एक प्रतीत होता है (उन्होंने इसे 2005 में प्रकाशित किया था), लेकिन क्षेत्र में विशेषज्ञ नहीं होने के कारण, मैं यह नहीं बोल सकता कि बेहतर एल्गोरिदम मौजूद हैं या नहीं। इस एल्गोरिथ्म को एक विकल्प के रूप में ग्राफविज़ के साथ शामिल किया गया है, और इसे आपके द्वारा वर्णित के रूप में बड़े ग्राफ़ पर उपयोग करने के लिए डिज़ाइन किया गया है।


बहुत साफ़। ऐसा लगता है कि ग्राफ के नोड्स के बीच बलों को अनुकरण करने के लिए बार्न्स-हट का उपयोग किया जा रहा है, इसलिए मैं मानूंगा कि एक समानांतर एफएमएम कार्यान्वयन एक महत्वपूर्ण स्पीडअप प्राप्त कर सकता है। दूसरी ओर, हू की विधि में MeTiS के समान एक बहुस्तरीय संरचना है, जो समानांतर रूप से कठिन हो जाता है।
जैक पॉल्सन

हाँ, जब मैंने कागज को देखा, तो मुझे भी लगा कि एक समानांतर FMM कार्यान्वयन दिलचस्प हो सकता है, लेकिन मुझे यकीन नहीं था कि यह कितना व्यावहारिक होगा, क्योंकि मुझे समानांतर एल्गोरिदम के साथ बहुत अनुभव नहीं है।
ज्योफ ऑक्सीबेरी


@GeoffOxberry - ऊपर लिंक देखें
एरन अहमदिया

1
@JackPoulson - आप पाएंगे कि बल-निर्देशित लेआउट एल्गोरिदम प्रारंभिक बोने के लिए बहुत संवेदनशील हैं, अन्य समूहों द्वारा अधिक सौंदर्य लेआउट के लिए समस्या का सुधार करने के लिए कुछ अच्छा काम किया गया था।
एरन अहमदिया

7

जावास्क्रिप्ट InfoVis टूलकिट एनोटेट के लिए एक साफ इंटरैक्टिव इंटरफ़ेस है स्थानीय रेखांकन के दृश्य। ये डेमो आपके लिए प्रासंगिक हो सकते हैं:


5

ग्राफिंस 1.2 देखें, लाखों नोड्स को आसानी से संभाल सकता है और यह इंटरैक्टिव और 3 डी में है।

आप उच्च कुशल बीजीय विधियों या बल निर्देशित विधियों के साथ लाखों नोड्स और किनारों के साथ रेखांकन भी कर सकते हैं। यह मूल्यांकन के लिए परीक्षण संस्करण में उपलब्ध है ( अस्वीकरण: मैं कार्यक्रम के लेखकों में से एक हूं )।

www.graphinsight.com


1
@linelio - आपके उत्तर के लिए धन्यवाद और scicomp में आपका स्वागत है! कृपया प्रचार के बारे में नियम देखें और सुनिश्चित करें कि सिफारिशें करते समय आप किसी भी व्यक्तिगत कनेक्शन का स्पष्ट रूप से खुलासा करें।
एरन अहमदिया

5

यहां कुछ सिफारिशें और लिंक समय के साथ एकत्र किए गए हैं:

  • 2M नोड्स के लिए अपने हार्डवेयर को न जानने की किसी भी चीज की सिफारिश करना कठिन है, और संभवतः कुछ डेटा कमी क्रम में है, लेकिन सामान जो स्वतंत्र रूप से उपलब्ध है, उसे लेने के लिए zGrViewer विज़ुअलाइज़ेशन के लिए आपकी आवश्यकताओं को फिट कर सकता है (ग्राफ़विज़ की आवश्यकता है)।
  • @PyCthon के विचार के बाद, सुझाव है कि आप भी प्लॉटिंग में कुछ अन्तरक्रियाशीलता के लिए VisIt पर एक नज़र है ।
  • मैं आर सांख्यिकीय भाषा के igraphलिए पैकेज का फिर से दौरा कर रहा हूं , जिसमें स्वच्छ लेआउट एल्गोरिदम ( फ्रूचरमैन-रींगोल्ड और कामादा-कवाई ) शामिल हैं।
  • बड़ा ग्राफ लेआउट पुस्तकालय अब SourceForge पर है।

0

हम अधिकांश ब्राउज़र और नोटबुक से इसे सक्षम करने के लिए http://www.github.com/graphistry/pygraphistry का निर्माण कर रहे हैं। वेबजीएल का उपयोग बड़े ग्राफ़ (पैन / ज़ूम / आदि) को रेंडर करने के लिए किया जाता है, और अधिकांश वास्तविक समय की गणना (लेआउट, फ़िल्टर, आदि) को GPU क्लाउड पर लोड करता है। यह गेफ़ी या साइटोस्केप के समान है, लेकिन बड़े ग्राफ़ और डेटा विश्लेषण पर ध्यान केंद्रित करने और वेब और नोटबुक में एकीकृत करने के साथ।


0

आप "ट्यूलिप" [1] की कोशिश कर सकते हैं, मुझे लगता है कि यह काफी बड़े ग्राफ को संभाल सकता है (कम से कम मैंने इसे 10K से 100K नोड्स के साथ आज़माया और यह अच्छी तरह से काम किया)।

[१] http://tulip.labri.fr/TulipDrupal/

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