का परीक्षण कैसे करना चाहिए मैंने कुछ आनुवंशिक एल्गोरिदम बनाए हैं; वे काम करते हैं (वे जल्दी से एक उचित समाधान मिलते हैं)। लेकिन अब मैंने TDD खोजा है। क्या टीडीडी तरीके से genetic algorithm (जो यादृच्छिक संख्याओं पर भारी निर्भर करता है) लिखने का कोई तरीका है?मुझे आनुवंशिक एल्गोरिदम
अधिक आम तौर पर सवाल उठाने के लिए, आप एक गैर-निर्धारक विधि/फ़ंक्शन का परीक्षण कैसे करते हैं। यहां मैंने जो सोचा है:
एक विशिष्ट बीज का उपयोग करें। अगर मैं कोड में पहली बार गलती करता हूं तो कौन मदद नहीं करेगा, लेकिन रीफैक्टरिंग करते समय बग खोजने में मदद करेगा।
संख्याओं की एक ज्ञात सूची का उपयोग करें। उपर्युक्त की तरह ही मैं हाथ से कोड का पालन कर सकता हूं (जो बहुत कठिन होगा)।
एक स्थिर संख्या का उपयोग करें। कम से कम मुझे पता है कि क्या उम्मीद करनी है। यह सुनिश्चित करना अच्छा होगा कि एक पासा हमेशा 6 पढ़ता है जब रैंडमफ्लैट (0,1) हमेशा देता है 1.
जितना संभव हो सके GA से अधिक गैर-निर्धारक कोड को स्थानांतरित करने का प्रयास करें। जो मूर्खतापूर्ण लगता है क्योंकि यह इसके उद्देश्य का मूल है।
परीक्षण पर बहुत अच्छी किताबों के लिंक भी सराहना की जाएगी।
उत्तर के लिए धन्यवाद। मैंने कुछ चांदी की बुलेट की उम्मीद की थी लेकिन मुझे लगता है कि यह परीक्षण करने में आसान नहीं है। अगर मैं यादृच्छिक संख्या सावधानी से उठाता हूं तो मैं प्रत्येक निष्पादन पथ का परीक्षण कर सकता हूं। मैं एक ज्ञात फिटनेस-परिदृश्य के साथ एक परीक्षण भी करूंगा ताकि मैं देख सकूं कि यह कितना अच्छा प्रदर्शन कर रहा है। –
@ जेम्स, बस नोडेटर्मिनिस्टिक एल्गोरिदम के साथ याद रखें कि 'तर्क परीक्षण' और 'अपेक्षित परिणामों' का परीक्षण करने के बीच एक महत्वपूर्ण अंतर है। एक करो, फिर दूसरा। यदि पहला टूटा हुआ है, तो दूसरा अर्थहीन है। –