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