मैंने अपनी युवावस्था में जीए के साथ प्रयोग किया। मैंने पायथन में एक सिम्युलेटर लिखा था जो निम्नानुसार काम करता था।
जीन ने एक तंत्रिका नेटवर्क के वजन को कूटबद्ध किया।
तंत्रिका नेटवर्क के इनपुट "एंटीना" थे जो स्पर्श का पता लगाते थे। उच्च मूल्यों का मतलब बहुत करीब था और 0 का मतलब स्पर्श नहीं था।
आउटपुट दो "पहियों" के लिए थे। अगर दोनों पहिए आगे बढ़ गए, तो आदमी आगे चला गया। यदि पहिए विपरीत दिशाओं में थे, तो आदमी मुड़ गया। आउटपुट की ताकत ने पहिया मोड़ की गति निर्धारित की।
एक साधारण भूलभुलैया उत्पन्न हुई। यह वास्तव में सरल था - बेवकूफ भी। स्क्रीन के निचले भाग में शुरुआत और सबसे ऊपर एक गोल था, जिसके बीच में चार दीवारें थीं। प्रत्येक दीवार में बेतरतीब ढंग से एक जगह थी, इसलिए हमेशा एक रास्ता था।
मैंने शुरुआत में यादृच्छिक लोगों (मैंने उन्हें कीड़े के रूप में सोचा था) शुरू किया। जैसे ही एक व्यक्ति लक्ष्य तक पहुंच गया, या समय सीमा समाप्त हो गई, फिटनेस की गणना की गई। यह उस समय लक्ष्य से दूरी के विपरीत आनुपातिक था।
मैंने फिर उन्हें जोड़ा और अगली पीढ़ी बनाने के लिए उन्हें "नस्ल" किया। नस्ल को चुने जाने की संभावना इसकी फिटनेस के लिए आनुपातिक थी। कभी-कभी इसका मतलब यह था कि यदि कोई बहुत ही उच्च सापेक्ष फिटनेस रखता है, तो वह बार-बार खुद से बार-बार जुड़ा हुआ है।
मैंने सोचा था कि वे "लेफ्ट वॉल हगिंग" व्यवहार विकसित करेंगे, लेकिन वे हमेशा कुछ कम इष्टतम का पालन करते थे। हर प्रयोग में, कीड़े एक सर्पिल पैटर्न में परिवर्तित हो जाते हैं। वे बाहर की ओर सर्पिल करेंगे जब तक कि वे दाईं ओर एक दीवार को नहीं छूते। वे इसका अनुसरण करते हैं, फिर जब वे अंतराल पर पहुंचते हैं, तो वे नीचे (अंतर से दूर) और आसपास सर्पिल करेंगे। वे बाईं ओर 270 डिग्री का मोड़ बनाते हैं, फिर आमतौर पर अंतराल दर्ज करते हैं। यह उन्हें दीवारों के बहुमत के माध्यम से मिलेगा, और अक्सर लक्ष्य के लिए।
एक विशेषता जो मैंने जोड़ी थी वह व्यक्तियों के बीच संबंधितता को ट्रैक करने के लिए एक रंग वेक्टर में जीन में डालना था। कुछ पीढ़ियों के बाद, वे सभी एक ही रंग होंगे, जो मुझे बताते हैं कि मेरे पास बेहतर प्रजनन रणनीति होनी चाहिए।
मैंने उन्हें एक बेहतर रणनीति विकसित करने की कोशिश की। मैं तंत्रिका जाल को जटिल करता हूं - एक मेमोरी और सब कुछ जोड़ना। यह मदद नहीं की। मैंने हमेशा एक ही रणनीति देखी।
मैंने अलग-अलग जीन पूल होने जैसी विभिन्न चीजों की कोशिश की जो केवल 100 पीढ़ियों के बाद पुन: संयोजित हो गई। लेकिन कुछ भी उन्हें बेहतर रणनीति के लिए प्रेरित नहीं करेगा। शायद यह असंभव था।
एक और दिलचस्प बात समय के साथ फिटनेस को रेखांकन कर रही है। निश्चित पैटर्न थे, जैसे अधिकतम फिटनेस नीचे जाने से पहले। मैंने उस संभावना के बारे में विकास की किताब पर कभी बात नहीं की है।