2012-12-19 43 views
7

में एज क्रॉसिंग में कमी, मैं आपको पूछना चाहता हूं कि ग्राफ में एज क्रॉसिंग को कम करने के लिए कोई एल्गोरिदम है या नहीं, उदाहरण के लिए यदि मेरे पास ग्राफ़ का एक संक्रमण मैट्रिक्स है।ग्राफ

मुझे अन्य नोड के चारों ओर नोड्स रखने की कोशिश करने जैसी विधियां मिलीं, लेकिन मैं कुछ अन्य विचार जानना चाहता हूं। धन्यवाद।

+1

क्या आप ग्राफ * ड्राइंग * के बारे में पूछ रहे हैं - यानी एक एल्गोरिदम जो ग्राफ 'जी (वी, ई)' के लिए एक अच्छा वर्टेक्स लेआउट (न्यूनतम किनारे क्रॉसिंग आदि के साथ) देगा ?? –

+0

हां यही है जो मैं मानता हूं – DropDropped

उत्तर

2

ग्राफ ड्राइंग अनुप्रयोगों के लिए विकसित किए गए अच्छी तरह से स्थापित एल्गोरिदम/पुस्तकालयों की एक श्रृंखला है, आप थोड़ा सा पृष्ठभूमि here प्राप्त कर सकते हैं।

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

आप उपलब्ध कई ग्राफ ड्राइंग पुस्तकालयों में से एक का उपयोग करने में रुचि रखते हैं। Graphviz पैकेज आमतौर पर बहुत अच्छा है और विभिन्न ग्राफ ड्राइंग अनुप्रयोगों के लिए कई अलग-अलग एल्गोरिदम का समर्थन करता है।