संख्यात्मक कोड के लिए परिणामों का डेटाबेस


17

संख्यात्मक तरीकों के साहित्य में, कई शोध पत्रों में एक नए एल्गोरिदमिक बदलाव का वर्णन होता है, इसके बाद कुछ परीक्षण समस्याओं के साथ नई पद्धति की तुलना एक या दो मौजूदा तरीकों से की जाती है। यह निर्धारित करना मुश्किल बनाता है

  • नई पद्धति ब्याज की अन्य समस्याओं पर कैसा प्रदर्शन करेगी
  • नए तरीके की तुलना अन्य मौजूदा तरीकों से कैसे की जाएगी

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

मुझे एहसास है कि इस विचार को लागू करने में कई कठिनाइयां हैं (मुख्यतः: लोगों को वास्तव में उन सभी समस्याओं को चलाने के लिए, और कम्प्यूटेशनल लागत को मापना)। लेकिन मेरा सवाल यह है: क्या परिणामों का ऐसा कोई डेटाबेस मौजूद है? (कुछ विशेष उपक्षेत्र में कहते हैं) या इस तरह एक दृष्टिकोण कहीं भी लागू किया गया है?

अब तक पोस्ट किए गए दोनों उत्तर समस्याओं के डेटाबेस के बारे में हैं। मैं परिणामों के डेटाबेस के बारे में पूछ रहा हूँ।

जवाबों:


9

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

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

मैं यह भी जानता हूं कि अनुकूलन में, समस्याओं के डाउनलोड करने योग्य डेटाबेस ( CUTEr दिमाग में आते हैं) और अनुकूलन के लिए परीक्षण समस्याओं की पुस्तकें हैं। मैंने लोगों को देखा है (उदाहरण के लिए, मैं विशेष रूप से AIChE 2011 में रूथ मिस्नर द्वारा एक बात सोच रहा हूं) प्रस्तुतियों में समस्याओं के डेटाबेस पर उनके अनुकूलन सॉल्वर बनाम अन्य सॉल्वर की तुलना करें; मुझे यकीन नहीं है कि सार्वजनिक रूप से क्या जारी होता है। मुझे पता है कि बड़े पैमाने पर तुलना के लिए अनुकूलन में एक परंपरा है (कई सॉल्वर, कई समस्याएं); मुझे नहीं लगता कि कोई ऑनलाइन डेटाबेस उपलब्ध है।

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

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

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


2
मुझे आपकी टिप्पणियां बहुत पसंद हैं, और आप एक महत्वपूर्ण बिंदु उठाते हैं। जैसा कि मुझे यकीन है कि आप जागरूक हैं, आपके द्वारा दिए गए लिंक समस्याओं के डेटाबेस में हैं, परिणामों के नहीं।
डेविड केचेसन

वे सबसे करीबी चीजें थीं जो मुझे मिल सकती थीं। मैंने परिणामों के डेटाबेस के लिए शिकार करने की कोशिश की, क्योंकि मुझे लगता है कि आप वास्तव में एक महत्वपूर्ण विचार उठाते हैं, लेकिन मुझे कोई नहीं मिला। शायद यह एक महत्वपूर्ण नई परियोजना है?
ज्योफ ऑक्सबेरी

धन्यवाद; मैं सहमत हूं, और ये आपके कहे अनुसार "निकटतम मौजूदा सन्निकटन" के रूप में उपयोगी हैं। मैं वास्तव में इस पर विचार कर रहा हूं (कुछ अन्य लोगों के साथ जो इसे एक नई परियोजना के रूप में अधिक विश्वसनीयता प्रदान करेंगे)। मुझे बहुत खुशी है कि आप रुचि रखते हैं! हम इस पर अन्यत्र चर्चा कर सकते हैं, क्योंकि एसई चर्चा-प्रतिकूल है।
डेविड केचेसन

4

संख्यात्मक रूप से गणना करने के लिए "कठिन" अभिन्नों की एक सूची बनाने का प्रयास किया गया है (वाल्टर गौत्स्की, रॉबर्ट पिएसेन्स और अन्य द्वारा कागजात देखें) लेकिन कोई औपचारिक डेटाबेस नहीं।

ODE के क्षेत्र में, IVP परीक्षण सेट है , जो प्रारंभिक मूल्य समस्याओं के लिए एक परीक्षण सेट है।


वास्तव में मैं गणना परिणामों के डेटाबेस के बारे में पूछ रहा हूं, समस्याओं के डेटाबेस के बारे में नहीं।
डेविड केचेसन

1
@DavidKetcheson इसमें परिणामों को स्वचालित रूप से स्वचालित करने के लिए ड्राइवर कोड शामिल है।
जेड ब्राउन

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

3

मैं इस तरह के डेटाबेस से परिचित नहीं हूं, लेकिन मुझे लगता है कि इसे उपयोगी तरीके से परिभाषित करना बहुत मुश्किल होगा। एक बेहतर प्रणाली, मेरी राय में, कोड को एक रननीय रूप में जारी करना है ताकि उपयोगकर्ता को बड़े पैमाने पर परीक्षण करना पसंद हो। सामुदायिक रिपॉजिटरी के संदर्भ में, IVP टेस्ट सूट जिसमें GertVdE का उल्लेख है कि परीक्षण समस्याओं पर कई प्रकाशित ODE / DAE सॉल्वर चलाने के लिए ड्राइवर कोड शामिल है। अपने प्रकाशनों में, मैं आउटपुट डेटा का विश्लेषण करने और कागज में दिखाई देने वाले भूखंडों और तालिकाओं को बनाने के लिए उपयोग किए गए कोड और सभी लिपियों को जारी करने की कोशिश करता हूं।


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

1

बेंचमार्क समस्याओं पर कम्प्यूटेशनल एयरोकैस्टिक्स वर्कशॉप में एयरोकैस्टिक समस्याओं के लिए एक समान लक्ष्य है। वे पहले समय से पहले बेंचमार्क समस्याओं का एक सेट पेश करते हैं, और लोग उन्हें अपने स्वयं के तरीकों का उपयोग करके हल करते हैं और परिणामों की तुलना करते हैं। उदाहरण के लिए, यहाँ चौथी बैठक की कार्यवाही है: http://www.archive.org/details/nasa_techdoc_200401787258

यद्यपि, मैं जो बता सकता हूं, वे तुलना नहीं करते हैं कि उनके कोड एक दूसरे के खिलाफ कितने कुशल हैं, वे मुख्य रूप से सटीकता को देखते हैं।


दिलचस्प! क्या समाधान का एक डेटाबेस है? या वे वास्तव में परिणामों की तुलना कैसे करते हैं?
डेविड केचेसन

"डेटाबेस" मेरे द्वारा पोस्ट की गई रिपोर्ट में है। कागज के बहुत अंत में "समाधान तुलना" शीर्षक वाला एक खंड होता है। इसके लिए केवल चार बैठकें हुई हैं, और अंतिम 2004 में हुई थी। मैं चाहता हूं कि इस प्रकार की चीजों को ऑनलाइन प्राप्त करने के लिए एक धक्का और लगे, जैसे आप प्रस्तावित करते हैं।
जेम्स कस्टर

1

भूकंप मॉडलिंग के भीतर इस प्रकार के कई प्रयास हुए हैं। जो दिमाग में आते हैं वे गतिशील टूटना सिमुलेशन परियोजना और स्रोत उलटा परियोजना (http://eqsource.webfactional.com/wiki/) हैं। इन दोनों को हल करने के लिए शारीरिक समस्याएं प्रदान करता है और नियोजित तरीकों के विषय में अज्ञेय (कुछ स्तर पर) हैं। वास्तव में ये परियोजनाएं एक-दूसरे के साथ तुलना करने के लिए डोमेन विशिष्ट मॉडलर प्राप्त करने के बारे में हैं, न कि वास्तव में प्रत्येक संख्यात्मक शेड विधि के लिए परीक्षण समस्याओं का एक सामान्य सेट। लेकिन आप दूसरों के परिणामों के साथ तुलना कर सकते हैं, और इससे कई कोड के साथ बहुत सारी समस्याएं सामने आई हैं।

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


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