आम आदमी की शर्तों में रेखांकन क्या हैं


18

कंप्यूटर विज्ञान में ग्राफ क्या हैं, और उनका उपयोग किस लिए किया जाता है? आम आदमी की शर्तों में।

मैंने विकिपीडिया पर परिभाषा पढ़ी है :

कंप्यूटर विज्ञान में, एक ग्राफ एक सार डेटा प्रकार है जो कि गणित से ग्राफ और हाइपरग्राफ अवधारणाओं को लागू करने के लिए है।

एक ग्राफ डेटा संरचना में कुछ जोड़े, जिन्हें नोड्स या वर्टिस कहा जाता है, के किनारों, या आर्क्स नामक ऑर्डर किए गए जोड़े का एक परिमित (और संभवतः परस्पर) सेट होता है। जैसा कि गणित में, एक किनारे (x, y) को x से y तक इंगित करने या जाने के लिए कहा जाता है। नोड्स ग्राफ़ संरचना का हिस्सा हो सकते हैं, या पूर्णांक सूचकांकों या संदर्भों द्वारा दर्शाए गए बाहरी निकाय हो सकते हैं।

लेकिन मैं एक कम औपचारिक की तलाश कर रहा हूं, परिभाषा को समझना आसान है।


क्या आपका मतलब डेटा संरचना को रेखांकन करना है?
सिस्टम डाउन

1
हाँ क्षमा करें। जैसा कि यहाँ वर्णित है en.wikipedia.org/wiki/Graph_(abstract_data_type) , केवल मैं एक कम औपचारिक की तलाश में हूँ, जो परिभाषा को समझने में आसान हो।
ConditionRacer

@ जस्टिन 984 कोष्ठक के साथ विकिपीडिया लिंक (और उनमें से बहुत सारे हैं) काम नहीं करते हैं, कोष्ठक लिंक के लिए मार्कडाउन प्रारूप के साथ अच्छी तरह से नहीं खेलते हैं। अब, भविष्य के संदर्भ के लिए कृपया प्रश्न में अपने प्रश्न के लिए कोई भी स्पष्टीकरण जोड़ें, टिप्पणियों में नहीं, वे दिखाई नहीं दे रहे हैं और उन्हें याद करना आसान है। मैं आपके उपरोक्त टिप्पणी को प्रश्न में संपादित करूँगा ...
yannis

@ जस्टिन 984 यह भी ध्यान दें कि कंप्यूटर साइंस स्टैक एक्सचेंज प्रोग्रामर्स की तुलना में इस तरह के सवालों के लिए थोड़ा अधिक उपयुक्त हो सकता है। मुझे गलत मत समझो, सवाल पूरी तरह से यहाँ विषय पर है, और इसे बहुत अच्छे उत्तर मिले, लेकिन अगर आप एक ऐसे समुदाय की जाँच करते हैं, जो हमारे कंप्यूटर कंप्यूटर की अवधारणाओं पर थोड़ा अधिक ध्यान केंद्रित करता है, तो यह नुकसान नहीं पहुँचाएगा (नहीं) कई साइटों में एक ही सवाल पोस्ट करें, यदि आप इसे गलत साइट पर पोस्ट करने के लिए होते हैं, तो हम इसे अपने आप सही तरीके से स्थानांतरित कर सकते हैं)।
यानिस

जवाबों:


26

एक आदर्श व्यक्ति का उदाहरण फेसबुक हो सकता है । आपके, आपके दोस्तों और उनके दोस्तों आदि के नेटवर्क को सामूहिक रूप से सामाजिक ग्राफ के रूप में संदर्भित किया जाता है ।

इस "ग्राफ" में लोगों को ग्राफ का नोड माना जाता है और किनारों को मैत्री संबंध बनाया जाता है

फेसबुक में मित्र एक द्विदिश संबंध है (A, B का मित्र है => B, A का मित्र है) इसलिए ग्राफ़ एक अप्रत्यक्ष ग्राफ़ है । Google+ या ट्विटर जैसे नेटवर्क को एक निर्देशित ग्राफ़ माना जाएगा क्योंकि रिश्ते की दिशा का अर्थ यहाँ है।

इन सभी ग्राफ़ को चक्रीय ग्राफ़ के रूप में संदर्भित किया जाता है , क्योंकि नोड्स के बीच के रिश्ते चक्र बना सकते हैं। दूसरी ओर, एक फैमिली ट्री , एक विशेष प्रकार का ग्राफ है, जो कि अन्य चीजों के अलावा, एसाइक्लिक है, क्योंकि परिवार के पेड़ के संबंध में चक्र नहीं हो सकते हैं। (इसे तकनीकी रूप से डायरेक्टेड एसाइक्लिक ग्राफ (DAG) कहा जाता है क्योंकि इसके दोनों डायरेक्ट और एसाइक्लिक हैं)

इसमें ग्राफ़ से जुड़े सभी मूल शब्दजाल को शामिल किया जाना चाहिए, इसलिए अब आपको क्षेत्र की बाकी सामग्री का पालन करने में सक्षम होना चाहिए।


1
विश्वास नहीं हो रहा है कि यह मेरे लिए नहीं हुआ है कि इसे फेसबुक ग्राफ एपीआई कहा जाता है। अच्छा उदाहरण!
ConditionRacer

4
परिवार के पेड़ चक्रीय नहीं? यह नहीं होना चाहिए, लेकिन यह दुर्भाग्य से है ...
मार्जन वेनेटा

1
@MarjanVenema, परिवार का पेड़ चक्रीय है ? (यह एक निर्देशित ग्राफ है, इसलिए दिशा चक्रों को निर्धारित करने में महत्वपूर्ण है, और संभवतः सौतेले रिश्ते वास्तव में नहीं गिनते हैं।)
हियॉन

@dbaupp: यहाँ विवरण में जाने की मेरी कोई इच्छा नहीं है, इसलिए मैं सिर्फ एक शब्द का उल्लेख करूँगा: अनाचार।
मार्जन वेनेमा

5
@MarjanVenema, आपको मेरी बात याद आ रही है। एक निर्देशित ग्राफ में एक चक्र एक पैटर्न है A -> B -> C -> A(जैसे कि तीर का एक चक्र), अनाचार सिर्फ देता है A -> B -> Cऔर A -> D -> C(यानी एक हीरा)। एक परिवार के पेड़ में एक चक्र समय यात्रा की जरूरत है।
10

16

कंप्यूटर विज्ञान में प्रयुक्त सबसे महत्वपूर्ण गणितीय अवधारणाओं में से एक है ग्राफ।

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

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

लिंक की गई सूची, पेड़, राज्य संक्रमण आरेख, और बहुत से अन्य कंप्यूटर विज्ञान डेटा संरचनाएं रेखांकन के सभी उदाहरण हैं। यह एक बहुत शक्तिशाली अवधारणा है।


मैं वास्तव में उस उदाहरण का विस्तार करना चाहूंगा कि आपके उदाहरण में वर्णित सभी इकाइयां एक ग्राफ (शहर, विमान, पत्रिका, मानचित्र, आदि) में कोने के रूप में चित्रित की जा सकती हैं, मानचित्र केवल एक ही शीर्ष हो रहा है।
डेमियन ब्रेख्त

14

एक बेहतर सवाल "क्या ग्राफ़ के लिए उपयोग नहीं किया जाता है?" होगा। कंप्यूटर विज्ञान, कई मायनों में, ग्राफ़ का अध्ययन है।

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

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

प्रभावी रूप से कुछ भी जो आप कनेक्शन के एक सेट के रूप में प्रतिनिधित्व कर सकते हैं, को एक ग्राफ के रूप में दर्शाया जा सकता है और किसी भी रूप में उस एडीटी के माध्यम से कार्यान्वित किया जा सकता है।

यहाँ एक उदाहरण ग्राफिक मैंने बनाया है:

ग्राफ उदाहरण


3

एक रेखाचित्र रेखाओं द्वारा एक साथ जुड़ी हुई वस्तुओं का एक संग्रह है।

"ग्राफ" शब्द सॉफ्टवेयर विकास में उपयोग किए जाने वाले कई डेटा संरचनाओं का एक अमूर्त और सामान्यीकरण है। लिंक्ड सूची, बाइनरी ट्री और एएसटी सभी ग्राफ हैं।

मूल रूप से, वस्तुओं का कोई भी संग्रह जिसमें संकेत होते हैं जो वस्तुओं को एक दूसरे के साथ जोड़ते हैं, एक ग्राफ है। एक बार जब आपके पास एक ग्राफ होता है, तो आप कुछ समस्याओं को हल करने के लिए , उस पर ग्राफ सिद्धांत के सिद्धांतों को लागू कर सकते हैं ।

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