ग्राफ ड्राइंग

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

ग्राफिकल कन्वेंशन
ग्राफ़ को अक्सर नोड-लिंक आरेख के रूप में तैयार किया जाता है जिसमें शीर्षों को डिस्क, बक्से, या टेक्स्टुअल लेबल के रूप में दर्शाया जाता है और किनारों को रेखा खंड, बहुभुज श्रृंखला या यूक्लिडियन विमान में घटता के रूप में दर्शाया जाता है। नोड-लिंक आरेखों को 14वीं-16वीं शताब्दी के स्यूडो-लुल के कार्यों में खोजा जा सकता है, जो 13वीं शताब्दी के पॉलीमैथ रेमन लुल के नाम से प्रकाशित हुए थे। आध्यात्मिक अवधारणाओं के सेट के बीच सभी जोड़ीदार संयोजनों का विश्लेषण करने के लिए छद्म-लुल ने इस प्रकार के आरेखों को पूर्ण रेखांकन के लिए तैयार किया। निर्देशित रेखांकन के मामले में, तीर (प्रतीक) अपनी उन्मुखता दिखाने के लिए आमतौर पर इस्तेमाल किए जाने वाले ग्राफिकल कन्वेंशन का निर्माण करता है; हालाँकि, उपयोगकर्ता अध्ययनों से पता चला है कि टेपरिंग जैसी अन्य परंपराएँ इस जानकारी को अधिक प्रभावी ढंग से प्रदान करती हैं। ऊपर की ओर प्लानर ड्राइंग कन्वेंशन का उपयोग करता है कि प्रत्येक किनारा एक निचले शीर्ष से एक उच्च शीर्ष तक उन्मुख होता है, जिससे तीर के निशान अनावश्यक हो जाते हैं। नोड-लिंक आरेखों के लिए वैकल्पिक सम्मेलनों में आसन्न प्रतिनिधित्व शामिल हैं जैसे सर्कल पैकिंग प्रमेय, जिसमें विमान में अलग-अलग क्षेत्रों द्वारा कोने का प्रतिनिधित्व किया जाता है और किनारों को क्षेत्रों के बीच निकटता द्वारा दर्शाया जाता है; चौराहा ग्राफ जिसमें कोने गैर-असंबद्ध ज्यामितीय वस्तुओं द्वारा दर्शाए जाते हैं और किनारों को उनके चौराहों द्वारा दर्शाया जाता है; दृश्यता निरूपण जिसमें शीर्षों को समतल में क्षेत्रों द्वारा दर्शाया जाता है और किनारों को ऐसे क्षेत्रों द्वारा दर्शाया जाता है जिनके पास एक दूसरे के लिए अबाधित दृष्टि रेखा होती है; संगम चित्र, जिसमें किनारों को गणितीय ट्रेन ट्रैक (गणित) के भीतर चिकनी वक्र के रूप में दर्शाया गया है; कपड़े, जिसमें नोड्स को क्षैतिज रेखाओं और किनारों को ऊर्ध्वाधर रेखाओं के रूप में दर्शाया जाता है; और ग्राफ़ के आसन्न मैट्रिक्स के विज़ुअलाइज़ेशन।

गुणवत्ता उपाय
उनके सौंदर्यशास्त्र और प्रयोज्यता के मूल्यांकन के उद्देश्य साधनों को खोजने के प्रयास में, ग्राफ़ चित्रों के लिए कई अलग-अलग गुणवत्ता उपायों को परिभाषित किया गया है। एक ही ग्राफ़ के लिए अलग-अलग लेआउट विधियों के बीच चयन को निर्देशित करने के अलावा, कुछ लेआउट विधियाँ इन उपायों को सीधे अनुकूलित करने का प्रयास करती हैं। * रेखांकन का क्रॉसिंग नंबर (ग्राफ थ्योरी) एक दूसरे को पार करने वाले किनारों के जोड़े की संख्या है। यदि ग्राफ़ समतलीय ग्राफ़ है, तो इसे बिना किसी किनारे के चौराहों के खींचना अक्सर सुविधाजनक होता है; अर्थात्, इस मामले में, एक ग्राफ़ आरेखण एक ग्राफ एम्बेडिंग का प्रतिनिधित्व करता है। हालाँकि, गैर-प्लानर ग्राफ़ अक्सर अनुप्रयोगों में उत्पन्न होते हैं, इसलिए ग्राफ़ ड्राइंग एल्गोरिदम को आम तौर पर एज क्रॉसिंग की अनुमति देनी चाहिए।
 * किसी रेखाचित्र का क्षेत्रफल (ग्राफ़ आरेखण) उसके सबसे छोटे डिब्बा का सीमा का आकार होता है, जो किन्हीं भी दो शीर्षों के बीच की निकटतम दूरी के सापेक्ष होता है। छोटे क्षेत्र वाले चित्र आम तौर पर बड़े क्षेत्र वाले चित्रों के लिए बेहतर होते हैं, क्योंकि वे चित्र की विशेषताओं को बड़े आकार में और इसलिए अधिक पठनीय रूप से दिखाने की अनुमति देते हैं। बाउंडिंग बॉक्स का पहलू अनुपात भी महत्वपूर्ण हो सकता है।
 * समरूपता प्रदर्शन किसी दिए गए ग्राफ़ के भीतर ग्राफ ऑटोमोर्फिज्म खोजने की समस्या है, और एक आरेखण खोजने की समस्या है जो जितना संभव हो उतना समरूपता प्रदर्शित करता है। कुछ लेआउट विधियाँ स्वचालित रूप से सममित रेखाचित्रों की ओर ले जाती हैं; वैकल्पिक रूप से, कुछ आरेखण विधियाँ इनपुट ग्राफ़ में सममिति ढूंढकर और उनका उपयोग आरेखण बनाने के लिए शुरू करती हैं।
 * यह महत्वपूर्ण है कि किनारों के आकार यथासंभव सरल हों, ताकि आंखों के लिए उनका अनुसरण करना आसान हो जाए. पॉलीलाइन ड्रॉइंग में, किनारे की जटिलता को इसके मोड़ न्यूनीकरण द्वारा मापा जा सकता है, और कई तरीकों का उद्देश्य कुछ कुल बेंड्स या कुछ बेंड प्रति किनारे के साथ ड्रॉइंग प्रदान करना है। इसी प्रकार तख़्ता वक्र के लिए एक किनारे की जटिलता को किनारे पर नियंत्रण बिंदुओं की संख्या से मापा जा सकता है।
 * आमतौर पर उपयोग किए जाने वाले कई गुणवत्ता उपाय किनारों की लंबाई से संबंधित हैं: आमतौर पर किनारों की कुल लंबाई के साथ-साथ किसी भी किनारे की अधिकतम लंबाई को कम करना वांछनीय है। इसके अतिरिक्त, यह बेहतर हो सकता है कि किनारों की लंबाई अत्यधिक विविधता के बजाय एक समान हो।
 * कोणीय विभेदन (ग्राफ़ आरेखण) किसी ग्राफ़ आरेखण में सबसे तीक्ष्ण कोणों का माप है। यदि एक ग्राफ़ में उच्च डिग्री (ग्राफ़ सिद्धांत) के साथ कोने हैं, तो इसमें आवश्यक रूप से छोटे कोणीय संकल्प होंगे, लेकिन डिग्री के एक फ़ंक्शन द्वारा कोणीय संकल्प को नीचे बाध्य किया जा सकता है।
 * एक ग्राफ की ढलान संख्या सीधी रेखा खंड किनारों (क्रॉसिंग की अनुमति) के साथ ड्राइंग में आवश्यक विशिष्ट किनारे ढलानों की न्यूनतम संख्या है। क्यूबिक ग्राफ़ में ढलान संख्या अधिकतम चार होती है, लेकिन डिग्री पाँच के ग्राफ़ में असीमित ढलान संख्या हो सकती है; यह खुला रहता है कि डिग्री -4 ग्राफ की ढलान संख्या सीमित है या नहीं।

लेआउट के तरीके
कई अलग-अलग ग्राफ़ लेआउट रणनीतियाँ हैं: *आर्क आरेख, 1960 के दशक की एक लेआउट शैली, शीर्षों को एक रेखा पर रखें; किनारों को रेखा के ऊपर या नीचे अर्धवृत्त के रूप में खींचा जा सकता है, या कई अर्धवृत्तों से एक साथ जुड़े चिकने वक्र के रूप में।
 * बल-आधारित लेआउट सिस्टम में, ग्राफ़ ड्रॉइंग सॉफ़्टवेयर वसंत (उपकरण) या आणविक यांत्रिकी से संबंधित भौतिक रूपकों के आधार पर बलों की एक प्रणाली के अनुसार वर्टिकल को लगातार घुमाकर एक प्रारंभिक वर्टेक्स प्लेसमेंट को संशोधित करता है। विशिष्ट रूप से, ये प्रणालियाँ आसन्न शीर्षों के बीच आकर्षक बलों को सभी युग्मों के बीच प्रतिकारक बलों के साथ जोड़ती हैं, ताकि एक ऐसे लेआउट की तलाश की जा सके जिसमें किनारे की लंबाई छोटी हो जबकि कोने अच्छी तरह से अलग हों। ये प्रणालियां एक ऊर्जा समारोह के ढाल वंश आधारित न्यूनीकरण का प्रदर्शन कर सकती हैं, या वे गतिमान शिखरों के लिए सीधे वेगों या त्वरणों में बल का अनुवाद कर सकते हैं।
 * स्पेक्ट्रल लेआउट विधियों का उपयोग एक मैट्रिक्स (गणित) के आइजन्वेक्टर के निर्देशांक के रूप में किया जाता है जैसे कि ग्राफ़ के आसन्न मैट्रिक्स से प्राप्त असतत लाप्लास ऑपरेटर।
 * ऑर्थोगोनल लेआउट विधियाँ, जो ग्राफ़ के किनारों को लेआउट के समन्वय अक्षों के समानांतर क्षैतिज या लंबवत रूप से चलाने की अनुमति देती हैं। इन विधियों को मूल रूप से वीएलएसआई और मुद्रित सर्किट बोर्ड लेआउट समस्याओं के लिए डिज़ाइन किया गया था लेकिन इन्हें ग्राफ़ ड्राइंग के लिए भी अनुकूलित किया गया है। वे आम तौर पर एक मल्टीफ़ेज़ दृष्टिकोण को शामिल करते हैं जिसमें एक इनपुट ग्राफ़ को वर्टिकल द्वारा क्रॉसिंग पॉइंट्स को बदलकर प्लानराइज़ किया जाता है, प्लानेराइज़्ड ग्राफ़ का एक टोपोलॉजिकल एम्बेडिंग पाया जाता है, एज ओरिएंटेशन को बेंड्स को कम करने के लिए चुना जाता है, इन ओरिएंटेशन के साथ वर्टिकल को लगातार रखा जाता है, और अंत में एक लेआउट संघनन चरण ड्राइंग के क्षेत्र को कम करता है।
 * ट्री लेआउट एल्गोरिद्म ये एक रूटेड पेड़ की संरचना जैसी बनावट दिखाते हैं, जो ट्री (ग्राफ थ्योरी) के लिए उपयुक्त है। अक्सर, बैलून लेआउट नामक एक तकनीक में, पेड़ में प्रत्येक नोड के बच्चों को नोड के चारों ओर एक चक्र पर खींचा जाता है, इन मंडलियों की त्रिज्या पेड़ में निचले स्तर पर कम हो जाती है ताकि ये सर्कल ओवरलैप न हों।
 * स्तरित ग्राफ ड्राइंग मेथड्स (जिसे अक्सर सुगियामा-स्टाइल ड्रॉइंग कहा जाता है) निर्देशित अचक्रीय ग्राफ़ या ग्राफ़ के लिए सबसे उपयुक्त होते हैं जो लगभग एसाइक्लिक होते हैं, जैसे कि सॉफ्टवेयर सिस्टम में मॉड्यूल या फ़ंक्शंस के बीच निर्भरता के ग्राफ़। इन विधियों में, ग्राफ़ के नोड्स को कॉफ़मैन-ग्राहम एल्गोरिथम जैसे तरीकों का उपयोग करके क्षैतिज परतों में व्यवस्थित किया जाता है, इस तरह से कि अधिकांश किनारे एक परत से दूसरी परत तक नीचे जाते हैं; इस चरण के बाद, क्रॉसिंग को कम करने के लिए प्रत्येक परत के भीतर नोड्स की व्यवस्था की जाती है।
 * गोलाकार लेआउट विधियाँ ग्राफ़ के शीर्षों को एक वृत्त पर रखती हैं, क्रॉसिंग को कम करने के लिए वृत्त के चारों ओर के शीर्षों के क्रम को सावधानीपूर्वक चुनती हैं और निकटवर्ती शीर्षों को एक दूसरे के निकट रखती हैं। किनारों को या तो वृत्त की जीवा के रूप में या वृत्त के अंदर या बाहर चाप के रूप में खींचा जा सकता है। कुछ मामलों में, कई मंडलियों का उपयोग किया जा सकता है।
 * प्रभुत्व आरेखण शीर्षों को इस तरह से रखता है कि एक शीर्ष ऊपर की ओर, दाईं ओर, या दोनों अन्य यदि और केवल यदि यह दूसरे शीर्ष से पहुंच योग्य है। इस तरह, लेआउट शैली ग्राफ़ के गम्यता संबंध को स्पष्ट रूप से स्पष्ट करती है।

एप्लिकेशन-विशिष्ट ग्राफ़ चित्र
आवेदन के अन्य क्षेत्रों में उत्पन्न होने वाले रेखांकन और रेखांकन में शामिल हैं इसके अलावारूटिंग ([[इलेक्ट्रॉनिक डिजाइन स्वचालन)]] (EDA) के प्लेसमेंट (इलेक्ट्रॉनिक डिज़ाइन ऑटोमेशन) और रूटिंग (इलेक्ट्रॉनिक डिज़ाइन ऑटोमेशन) चरण ग्राफ़ ड्राइंग के कई तरीकों से समान हैं, जैसा कि वितरित कंप्यूटिंग में लालची एम्बेडिंग की समस्या है, और ग्राफ़ ड्राइंग साहित्य ईडीए साहित्य से उधार लिए गए कई परिणाम शामिल हैं। हालाँकि, ये समस्याएँ कई महत्वपूर्ण तरीकों से भिन्न हैं: उदाहरण के लिए, EDA में, क्षेत्र न्यूनीकरण और सिग्नल की लंबाई सौंदर्यशास्त्र की तुलना में अधिक महत्वपूर्ण है, और EDA में रूटिंग समस्या में प्रति नेट दो से अधिक टर्मिनल हो सकते हैं जबकि ग्राफ़ ड्राइंग में समान समस्या आम तौर पर प्रत्येक किनारे के लिए केवल शीर्षों के जोड़े शामिल हैं।
 * समाजशास्त्र, एक सामाजिक नेटवर्क के चित्र, जैसा कि अक्सर सामाजिक नेटवर्क विश्लेषण सॉफ़्टवेयर द्वारा प्रस्तुत किया जाता है
 * हस्स आरेख, एक प्रकार का ग्राफ ड्राइंग जो आंशिक ऑर्डर के लिए विशेषीकृत है
 * Dessin d'enfants, बीजगणितीय ज्यामिति में उपयोग किया जाने वाला एक प्रकार का ग्राफ़ आरेखण
 * राज्य आरेख, परिमित-राज्य मशीनों का चित्रमय प्रतिनिधित्व
 * कंप्यूटर नेटवर्क आरेख, कंप्यूटर नेटवर्क में नोड्स और कनेक्शन का चित्रण
 * फ़्लोचार्ट्स और अजगर | ड्रैकन-चार्ट्स, रेखाचित्र जिसमें नोड्स एक कलन विधि के चरणों का प्रतिनिधित्व करते हैं और किनारे चरणों के बीच नियंत्रण प्रवाह का प्रतिनिधित्व करते हैं।
 * डेटा-प्रवाह आरेख, चित्र जिसमें नोड्स एक सूचना प्रणाली के घटकों का प्रतिनिधित्व करते हैं और किनारे एक घटक से दूसरे घटक में सूचना के संचलन का प्रतिनिधित्व करते हैं।
 * बायोइंफॉर्मेटिक्स जिसमें वंशावली वृक्ष, प्रोटीन-प्रोटीन इंटरेक्शन नेटवर्क और चयापचय मार्ग शामिल हैं।

सॉफ्टवेयर
ग्राफ़ बनाने के लिए सॉफ़्टवेयर, सिस्टम और सिस्टम के प्रदाताओं में शामिल हैं:


 * क्षैतिज रेखाओं के रूप में नोड्स खींचकर बड़े नेटवर्क की कल्पना करने के लिए बायोफैब्रिक ओपन-सोर्स सॉफ्टवेयर।
 * साइटोस्केप, आणविक अंतःक्रिया नेटवर्क की कल्पना के लिए ओपन-सोर्स सॉफ्टवेयर
 * Gephi, ओपन-सोर्स नेटवर्क विश्लेषण और विज़ुअलाइज़ेशन सॉफ़्टवेयर
 * ग्राफ उपकरण, एक मुफ़्त सॉफ़्टवेयर| ग्राफ़ के विश्लेषण के लिए मुफ़्त/लिबर पायथन (प्रोग्रामिंग भाषा) लाइब्रेरी।
 * ग्रप्ह्वइज़, एटी एंड टी कॉर्पोरेशन से एक ओपन-सोर्स ग्राफ़ ड्राइंग सिस्टम
 * लिंक्यूरियस, एक वाणिज्यिक नेटवर्क विश्लेषण और ग्राफ डेटाबेस के लिए विज़ुअलाइज़ेशन सॉफ़्टवेयर
 * मेथेमेटिका, एक सामान्य उद्देश्य गणना उपकरण जिसमें 2डी और 3डी ग्राफ विज़ुअलाइज़ेशन और ग्राफ़ विश्लेषण उपकरण शामिल हैं।
 * Microsoft स्वचालित ग्राफ़ लेआउट, ग्राफ़ बिछाने के लिए ओपन-सोर्स .NET लाइब्रेरी (जिसे पहले GLEE कहा जाता था)
 * नेटवर्कएक्स ग्राफ और नेटवर्क का अध्ययन करने के लिए एक पायथन लाइब्रेरी है।
 * ट्यूलिप (सॉफ्टवेयर), एक खुला स्रोत डेटा विज़ुअलाइज़ेशन टूल
 * yEd, ग्राफ़ लेआउट कार्यक्षमता वाला एक ग्राफ़ संपादक
 * PGF/TikZ 3.0 के साथ  पैकेज (LuaTeX की आवश्यकता है)।
 * LaNet-vi, एक ओपन-सोर्स बड़ा नेटवर्क विज़ुअलाइज़ेशन सॉफ़्टवेयर
 * Edraw Max 2D बिजनेस टेक्निकल डायग्रामिंग सॉफ्टवेयर

यह भी देखें

 * यूनिफाइड मॉडलिंग लैंग्वेज टूल्स की सूची

संदर्भ

 * Footnotes


 * General references




 * Specialized subtopics



बाहरी संबंध

 * GraphX library for .NET : open-source WPF library for graph calculation and visualization. Supports many layout and edge routing algorithms.
 * Graph drawing e-print archive: including information on papers from all Graph Drawing symposia.
 * for many additional links related to graph drawing.