मैं एक पाठ्यक्रम परियोजना के लिए चींटी कॉलोनी सिम्युलेटर पर काम करने वाला छात्र हूं। इसके लिए एल्गोरिथ्म (जाहिर है) एक चींटी कॉलोनी एल्गोरिथ्म है। मुझे पता है कि एल्गोरिथ्म के विभिन्न रूप हैं, लेकिन वे सभी गणितीय रूप से हमारे लिए बहुत विस्तृत थे इसलिए हमने एक दृष्टिकोण लिया जिसमें हमारे पास है:
- एक चींटी एक कॉलोनी में पैदा होती है और उसे कॉलोनी बनाए रखने के लिए एक स्रोत से भोजन इकट्ठा करना चाहिए।
- सभी चींटियाँ समान हैं।
- जिस क्षेत्र में चींटी चलती है वह 1000x1000 ग्रिड है, इसलिए प्रत्येक ग्रिड बिंदु एक चींटी के कब्जे के लिए एक वैध बिंदु के रूप में कार्य करता है। अब, सभी एल्गोरिदम जो कि मुझे आये हैं, जिनमें कंधे और किनारों का अलग-अलग उपचार शामिल है, लेकिन जैसा कि हम चींटियों की आवाजाही को केवल चार दिशाओं (ऊपर, नीचे, बाएं, दाएं) तक सीमित कर रहे हैं, मुझे लगता है कि इससे कोई फर्क नहीं पड़ता कि हमने फेरोमोन कहां रखा है।
- उपर्युक्त ग्रिड बिंदु फेरोमोन को स्टोर करते हैं।
- एक चींटी फेरोमोन को तभी गिराती है जब वह भोजन ले जा रही हो।
- एक स्थिति (i, j) पर एक चींटी के लिए, यह तय करता है कि फेरोमोन मात्रा को अपने चार समीपस्थ नोडों पर एक साधारण संभाव्य सूत्र में खाते हुए अगले चरण में कहाँ ले जाया जाए, यानी एक नोड पर यात्रा करने की संभावना द्वारा दी गई है। (विशेष आसन्न नोड पर फेरोमोन राशि) / (4 आसन्न नोड में फेरोमोन मात्रा की राशि)।
- एक चींटी उस स्थिति में वापस नहीं जा सकती, जहां से वह आई थी। यह केवल तभी कर सकता है जब यह उस साइट पर हो, जिसमें भोजन हो या वह अपनी कॉलोनी में हो।
अब मेरी चिंता यह है (और वास्तव में हमारे कार्यक्रम में क्या हो रहा है) कि जब एक चींटी FIRST स्थिति में पहुँच जाती है जिसमें भोजन होता है और उसे उठाता है, तो जिस तरह से हमारा एल्गोरिथ्म काम करता है, वह कहीं भी स्थानांतरित हो सकता है! ऐसा इसलिए है क्योंकि यह केवल फेरोमोन ट्रेल को छोड़ देगा, एक बार भोजन करने के बाद और पहले नहीं और जैसा कि यह पहला चींटी है, कोई मौजूदा निशान नहीं है।
यदि चींटी कहीं भी जा सकती है, तो चींटियाँ जो भोजन के स्रोत तक पहुँचती हैं, इसके बाद भी ज्यादातर उसी का पालन करती हैं .. EVEN IF यह कॉलोनी की ओर वापस नहीं जा रही है। यह संपूर्ण एल्गोरिथ्म के उद्देश्य को पराजित करता है।
तो मेरे सवाल हैं
- क्या उपरोक्त चिंता वैध है? यदि नहीं, तो क्यों? यदि हाँ, तो इससे कैसे निपटा जाए?
- क्या हमें एल्गोरिथ्म के बारे में अपनी बुनियादी समझ में कुछ बदलाव करने की ज़रूरत है ताकि वास्तव में यह काम कर सके?
- क्या कुछ अन्य सूक्ष्म अभी तक महत्वपूर्ण चीजें हैं जो मेरे जैसे नए शौक इस मामले में याद कर सकते हैं?