ग्राफ एल्गोरिदम के परीक्षण के लिए डेटा


36

मैं कुछ ग्राफ एल्गोरिथ्म कार्यान्वयन का परीक्षण करने के लिए विशाल डेटा सेट के स्रोत की तलाश कर रहा हूं। कृपया स्रोत के वितरण / प्रकार के बारे में कुछ जानकारी प्रदान करें (जैसे निर्देशित / अप्रत्यक्ष, सरल / सरल नहीं, भारित / भार रहित) यदि वे ज्ञात हों तो स्रोत में।



वह सैद्धांतिक कैसे है? :-)
नेल्स

जवाबों:



17

मैं अन्य लोगों की तुलना में अधिक उच्च-स्तरीय उत्तर देने का प्रयास करूंगा।

इनपुट के निम्नलिखित वर्ग अक्सर प्रस्तावित एल्गोरिथ्म के प्रदर्शन या ग्राफ सिद्धांत में अनुमान की वैधता का परीक्षण करने के लिए उपयोगी होते हैं:

  1. यादृच्छिक रेखांकन : कई ग्राफ गुणों के लिए, यादृच्छिक रेखांकन अपेक्षा में अतिवादी होते हैं। उदाहरण के लिए, किसी दिए गए पूर्ण द्विदलीय ग्राफ की संख्या कई बार होती है क्योंकि एक यादृच्छिक ग्राफ में एक सबग्राफ को कम से कम किया जाता है। (यह Erdős-Simonovits और Sidorenko का एक सुंदर अनुमान है कि यदि एक द्विदलीय ग्राफ है, तो किनारे घनत्व p के साथ यादृच्छिक ग्राफ समान रूप से समान क्रम और किनारे के घनत्व के सभी ग्राफ़ की H की प्रतियों की न्यूनतम संख्या की अपेक्षा में है ।) यादृच्छिक रेखांकन के माध्यम से निर्दिष्ट वितरण, यादृच्छिक ग्राफ एल्गोरिदम के लिए कई निचले सीमा के स्रोत हैं, याओ के न्यूनतम सिद्धांत के माध्यम से । एचपीएच

  2. संरचित रेखांकन : यह रेखांकन के एक वर्ग के लिए एक कठिन पदनाम है जो किसी तरह विशेष रूप से हाथ में समस्या के लिए संरचित है। उदाहरण के लिए, ट्यूरन की प्रमेय कहती है कि कोने पर घने ग्राफ जो त्रिभुज-मुक्त है, पूर्ण द्विदलीय ग्राफ K n / 2 , n / 2 है ; यह ग्राफ स्पष्ट रूप से विशेष रूप से त्रिकोण से बचने के लिए बनाया गया है।nकश्मीरn/2,n/2

  3. "गैर-यादृच्छिक" रेखांकन : ये पूरी तरह से सामान्य होने के बीच मध्यवर्ती होते हैं, जैसे कि यादृच्छिक रेखांकन और समस्या के लिए पूरी तरह से विशिष्ट, जैसा कि संरचित रेखांकन में है। उदाहरण के लिए, ऐसा परिवार संरचित रेखांकन का यादृच्छिक उपसमूह हो सकता है। इस तरह के उदाहरण Szemerédi की नियमितता लेम्मा के मजबूत संस्करण बनाने में अक्सर सामने आते हैं । इन उदाहरणों का उत्पादन करने का एक तरीका "pseudorandomness" की परिभाषा के साथ आना है जो कि यादृच्छिक इनपुट को मॉडल करता है, ताकि छद्म-आयामी आदानों के लिए, आप दिखा सकें कि आपका एल्गोरिथ्म या आपका अनुमान काम करता है। फिर, आप छद्म आयामीता में अवरोधों की पहचान करते हैं, और जिन ग्राफ़ों में ये अवरोध हैं, वे फिर गैर-यादृच्छिक ग्राफ़ का एक बड़ा संग्रह तैयार कर सकते हैं जो कि काउंटरटेक्मेन्स हैं। इस सिद्धांत की एक और अधिक शामिल चर्चा पर पाया जा सकता है2006 में टेरी ताओ की ICM की बात । ये गैर-यादृच्छिक रेखांकन मोटे तौर पर बेन ग्रीन और अन्य के साथ उनके कुछ कार्यों में "nil परिणाम" के अनुरूप हैं।


14

ग्राफ़ बनाने के लिए, मैं आमतौर पर उस gengप्रोग्राम का उपयोग करता हूं जो इसके साथ आता है nauty:

http://cs.anu.edu.au/~bdm/nauty/

यह अप्रत्यक्ष रेखांकन ("रेखांकन" के रूप में भी जाना जाता है) पैदा करता है। निर्देशित रेखांकन का उत्पादन करने के लिए आप आउटपुट को पाइप कर सकते हैं directgजिसके माध्यम से nauty भी आता है।

गेंग का उपयोग उन परिदृश्यों के लिए उपयुक्त है, जहाँ आप सभी रेखांकन (कहना) को nटेढ़े-मेढ़े, या सभी जुड़े हुए ग्राफ़ को mकिनारों या किसी चीज़ से परखना चाहते हैं। यदि आपके पास अधिक विशिष्ट आवश्यकताएं हैं, तो कृपया अपने प्रश्न में ये बताएं।


11

स्टैनफोर्ड ग्राफबेस आपके लिए मददगार हो सकता है: http://www-cs-staff.stanford.edu/~knuth/bgb.html

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


9

बहुत बड़ा नहीं है, लेकिन शायद अभी भी उपयोगी है, मैथेमेटिका के ग्राफडेटा संग्रह से 3054 "मानक नामित रेखांकन"

प्रारूप प्रति पंक्ति एक ग्राफ है, इस तरह के नाम और आसन्न नोड्स की सूची के साथ

{<ग्राफ़ नाम>, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}

<ग्राफ नाम> फॉर्म "AGraph" या {"Andrasfai", 6}


क्या ये रेखांकन या निर्देशित रेखांकन हैं?
एमिल


4

एक ग्राफ डेटाबेस के लिए एक दिलचस्प और आशाजनक नई सामुदायिक-आधारित परियोजना है:

पेश है कागज

ओपन ग्राफ आर्काइव: एक समुदाय-प्रेरित प्रयास

या सीधा लिंक

Graph-Archive.org

समय दिखाएगा कि क्या परीक्षण उदाहरणों के लिए जाने के लिए यह एक अच्छी जगह है।


3

9 वीं DIMACS कार्यान्वयन चैलेंज - सबसे छोटा पथ लक्ष्य का निर्माण करने के साथ 2005-2006 में भाग गया "बेंचमार्क उदाहरणों और जनरेटर के मानक सेट, साथ ही अच्छी तरह से ज्ञात कम से कम पथ एल्गोरिदम के बेंचमार्क कार्यान्वयन।"

डाउनलोड पृष्ठ में ज़िप किए गए यूएसए सड़क नेटवर्क ग्राफ़ शामिल हैं जो 2 एमबी से 335 एमबी तक की दूरी और समय भार दोनों के साथ हैं।

http://www.dis.uniroma1.it/challenge9/download.shtml

मुझे यह ग्राफ़ कार्यों के अपने स्वयं के खिलौना कार्यान्वयन को बेंचमार्क करने के लिए उपयोगी लगा।


0

आप Musketeer का उपयोग कर सकते हैं, देखें

https://people.cs.clemson.edu/~isafro/musketeer/index.html

यह एक मल्टीस्केल ग्राफ जनरेटर है जो कुछ इनपुट ग्राफ को स्वीकार करता है और एक और ग्राफ उत्पन्न करता है जो मूल रूप से मनमाने ढंग से हो सकता है। विभिन्न मोटे अनाज वाले प्रस्तावों में एक नई संरचना उत्पन्न करने के लिए पैरामीटर पर्याप्त लचीले हैं। गैलरी में उदाहरण देखें। यह पैकेज सत्यापन और बेंचमार्किंग एल्गोरिदम के लिए प्रयोगात्मक उदाहरण बनाने के लिए एकदम सही है।

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