एक Izhikevich न्यूरॉन एक जैविक न्यूरॉन का एक सरल लेकिन काफी प्रभावी मॉडल है, जिसे असतत समय-स्टीयरिंग सिमुलेशन में उपयोग के लिए डिज़ाइन किया गया है। इस गोल्फिंग चुनौती में, आप इस मॉडल को लागू करेंगे।
पैरामीटर
इस मॉडल में शारीरिक रूप से सटीक मॉडल के दर्जनों मापदंडों की तुलना में केवल 2 अंतर समीकरणों में आयोजित 7 चर शामिल हैं।
vऔरuन्यूरॉन के दो राज्य चर हैं। यहाँ,vसमय के साथ सेल की क्षमता का प्रतिनिधित्व करने वाला "तेज़" चर है, औरuकुछ झिल्ली गुणों का प्रतिनिधित्व करने वाला "धीमा" चर है।vके रूप में इस अनुकरण के उत्पादन में है चर, सबसे महत्वपूर्ण है।a,b,c, औरdस्थिरांक कि न्यूरॉन के गुणों का वर्णन तय कर रहे हैं। वांछित व्यवहार के आधार पर विभिन्न प्रकार के न्यूरॉन्स में अलग-अलग स्थिरांक होते हैं। विशेष रूप से,cरीसेट क्षमता है, जो कि झिल्ली क्षमता है, जो सेलिंग के बाद वापस आती है।Iन्यूरॉन में इनपुट करंट का प्रतिनिधित्व करता है। नेटवर्क सिमुलेशन में, यह समय के साथ बदल जाएगा, लेकिन हमारे उद्देश्यों के लिए हमIएक निश्चित स्थिर के रूप में व्यवहार करेंगे।
आदर्श
इस मॉडल में बहुत ही सरल स्यूडोकोड है। सबसे पहले, हम निरंतर मूल्यों को लेते हैं abcdऔर उन्हें आरंभ करने के लिए उपयोग करते हैं vऔर u:
v = c
u = b * c
अगला, हम सिमुलेशन कोड के माध्यम से वांछित के रूप में कई बार लूप करते हैं। प्रत्येक पुनरावृत्ति 1 मिलीसेकंड समय का प्रतिनिधित्व करती है।
for 1..t:
if v >= 30: # reset after a spike
v = c
u = u + d
v += 0.04*v^2 + 5*v + 140 - u + I
u += a * (b*v - u)
print v
कुछ वास्तविक दुनिया के कार्यान्वयन में संख्यात्मक सटीकता के लिए अतिरिक्त कदम शामिल हैं, लेकिन हम यहां शामिल नहीं हैं।
इनपुट
इनपुट के रूप में, अपने कार्यक्रम / समारोह के मूल्यों लेना चाहिए a, b, c, d, I, और t(अनुकरण करने के लिए समय चरणों की संख्या)। एक बार सेट होने पर, इनमें से कोई भी पैरामीटर हमारे सरल सिमुलेशन के दौरान नहीं बदलेगा। इनपुट का क्रम मायने नहीं रखता: आप उस क्रम को निर्दिष्ट कर सकते हैं जिसमें आपका प्रोग्राम इन मापदंडों को लेता है।
उत्पादन
आउटपुट vसिमुलेशन के दौरान सेल की झिल्ली क्षमता (चर द्वारा दिए गए ) का प्रतिनिधित्व करने वाली संख्याओं की एक सूची होगी । सूची किसी भी उपयुक्त प्रारूप में हो सकती है।
आपके पास अपने आउटपुट में सिमुलेशन के 0 वें मूल्य (किसी भी समय बीतने से पहले प्रारंभिक कॉन्फ़िगरेशन) को शामिल करने का विकल्प है। उदाहरण के लिए, 0.02 0.2 -50 2 10 6( a b c d I tआउटपुट) के इनपुट के लिए , दोनों में से एक आउटपुट
-50
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
या
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
स्वीकार्य है।
आपके मूल्यों को ऊपर वाले लोगों के समान नहीं होना चाहिए, यह इस बात पर निर्भर करता है कि आपकी भाषा कैसे तैरती है।
संदर्भ कार्यान्वयन
यहाँ एक TIO कार्यान्वयन है जो मैंने मॉडल प्रदर्शित करने के लिए पर्ल में लिखा था। पैरामीटर ऊपर लिंक किए गए पेपर से एक "बकबक" न्यूरॉन के हैं, और यह एक प्रदर्शन के रूप में कार्य करता है कि यह मॉडल न्यूरॉन्स के कुछ और अधिक जटिल गुणों को कैसे फिर से बनाने में सक्षम है, जैसे कि उच्च और निम्न गतिविधि के राज्यों के बीच वैकल्पिक। आप उत्पादन को देखें, तो आप देख सकते हैं जहां न्यूरॉन तुरंत कई बार बढ़ जाता है, लेकिन फिर थोड़ी देर के इंतजार कर रहा है कई बार spiking से पहले (सेल इनपुट वोल्टेज के बावजूद Iकिया जा रहा लगातार पूरे समय)।
tकभी नकारात्मक होगा?