একটি ইজিকেভিচ নিউরন একটি জৈবিক নিউরনের একটি সহজ তবে বেশ কার্যকর মডেল, এটি একটি পৃথক সময়-পদক্ষেপের সিমুলেশনে ব্যবহারের জন্য ডিজাইন করা হয়েছে। এই গল্ফিং চ্যালেঞ্জে আপনি এই মডেলটি বাস্তবায়ন করবেন।
পরামিতি
শারীরবৃত্তীয়ভাবে সঠিক মডেলের কয়েক ডজন পরামিতিগুলির তুলনায় এই মডেলটিতে 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
গ্রহণযোগ্য।
আপনার ভাষা কীভাবে ভাসমান তা নির্ভর করে আপনার মানগুলি উপরেরগুলির মতো হুবহু হতে হবে না ।
রেফারেন্স বাস্তবায়ন
মডেলটি প্রদর্শনের জন্য পার্লে একটি টিআইও বাস্তবায়ন এখানে লিখেছি। প্যারামিটারগুলি উপরের লিঙ্কযুক্ত কাগজটি থেকে একটি "বকবক" নিউরনের হয় এবং এটি এই মডেলটি কীভাবে নিউরনের আরও জটিল বৈশিষ্ট্যগুলি যেমন উচ্চ এবং নিম্ন ক্রিয়াকলাপের রাজ্যের মধ্যে বিকল্প পরিবর্তনের জন্য পুনরায় তৈরি করতে সক্ষম হয় তা প্রদর্শনের কাজ করে। যদি আপনি আউটপুটটি দেখেন, আপনি দেখতে পাচ্ছেন যে নিউরনটি সঙ্গে সঙ্গে কয়েকবার স্পাইক করে, তবে আরও কয়েকবার স্পাইক করার আগে কিছুক্ষণ অপেক্ষা করে (সেল ইনপুট ভোল্টেজ I
পুরো সময় স্থির থাকা সত্ত্বেও )।
t
কি কখনো নেতিবাচক হতে পারে?