2011-02-20 16 views
7

मैं अपने प्रोजेक्ट में से किसी एक के लिए नेटवर्कक्स (एक पायथन ग्राफ-ड्राइंग पैकेज) http://networkx.lanl.gov/index.html का उपयोग कर रहा हूं। हालांकि नेटवर्कक्स बहुत अच्छा है, डिस्प्ले फ़ंक्शन क्रॉस किनारों की संख्या के कारण बेकार है। क्या ग्राफ में क्रॉस एज को कम करने का कोई तरीका है? मेरा मतलब है कि एक एल्गोरिदम जो नोड्स को इस तरह से सॉर्ट कर सकता है जैसे क्रॉस किनारों को कम किया जाता है?ग्राफ में क्रॉस एज को कम करें

+0

क्या आपने अपनी ड्राइंग के लिए ग्राफविज़ की कोशिश की है? यह क्रॉसिंग को कम करने के लिए बेहतर कर सकता है (विशेष रूप से डॉट यदि आपके पास उस तरह के ग्राफ हैं जो इसे पसंद करते हैं)। आपके पास किस प्रकार का ग्राफ है (यानी, यह कहां से आता है)? –

+0

मैंने सोचा था कि नेटवर्कक्स प्रदर्शित करने के लिए ग्राफ़विज़ का उपयोग करता है (पाइडॉट के माध्यम से)। ये ग्राफ विशेष प्रकार के नेटवर्क के निशान से हैं। रिंग्स सबसे खराब हिट हैं :( –

+0

[प्लानर ग्राफ लेआउट] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2347748/planar-graph-layouts) –

उत्तर

3

एक प्लानर ग्राफ लेआउट निर्धारित करना जो क्रॉसिंग की संख्या को कम करता है एनपी-हार्ड है। Crossing Number पर विकी पेज देखें।

आप कुछ ह्युरिस्टिक्स आज़मा सकते हैं, बल आधारित लेआउट काफी लोकप्रिय हैं मेरा मानना ​​है (ग्राफ़विज़ उनका उपयोग करता है, अगर मैं सही ढंग से याद करता हूं)।

आप कुछ अनुमानित एल्गोरिदम भी आज़मा सकते हैं, आपको लिंक किए गए विकी पेज पर संदर्भ मिलना चाहिए।

उम्मीद है कि मदद करता है।

संबंधित मुद्दे