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

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

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

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

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


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

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

एप्लिकेशन-विशिष्ट ग्राफ़ चित्र
आवेदन के अन्य क्षेत्रों में उत्पन्न होने वाले रेखांकन और रेखांकन में शामिल हैं इसके अलावा, इलेक्ट्रॉनिक डिजाइन स्वचालन (EDA) के प्लेसमेंट और रूटिंग चरण ग्राफ़ ड्राइंग के कई मायनों में समान हैं, जैसा कि वितरित कंप्यूटिंग में लालची एम्बेडिंग की समस्या है, और ग्राफ़ ड्राइंग साहित्य में 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.