Bir Izhikevich nöronu , ayrık bir zaman atlama simülasyonunda kullanılmak üzere tasarlanmış, basit ama oldukça etkili bir biyolojik nöron modelidir. Bu golf mücadelesinde, bu modeli uygulayacaksınız.
Parametreler
Bu model, fizyolojik olarak doğru bir modelin düzinelerce parametresine kıyasla, 2 diferansiyel denklemde organize edilmiş sadece 7 değişken içerir.
v
veu
nöronun iki durum değişkenidir. Burada,v
zaman içinde hücre potansiyelini temsil eden "hızlı" değişken veu
belirli membran özelliklerini temsil eden "yavaş" değişkendir.v
Bu simülasyonun çıkış olarak değişken, en önemli biridir.a
,b
,c
Ved
nöronun özelliklerini tarif sabitler sabitlenir. Farklı nöron tipleri, istenen davranışa bağlı olarak farklı sabitlere sahiptir. Dikkat çekici bir şekilde,c
hücrenin, eklemeden sonra geri döndüğü zar potansiyeli olan sıfırlama potansiyeli vardır.I
nöronun giriş akımını temsil eder. Ağ simülasyonlarında bu zamanla değişecektir, ancak bizim amacımızI
için sabit bir sabit olarak ele alacağız .
Model
Bu modelin çok basit bir sözde kodu vardır. İlk olarak, sürekli değerleri alır abcd
ve başlatmak için bunları kullanmak v
ve u
:
v = c
u = b * c
Ardından, simülasyon kodunu istediğiniz kadar tekrarlıyoruz. Her yineleme 1 milisaniyeyi temsil eder.
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
Bazı gerçek dünya uygulamaları sayısal doğruluk için ek adımlar içerir, ancak biz bunları buraya dahil etmiyoruz.
Giriş
Girdi olarak, programınız / fonksiyon değerlerini almalı a
, b
, c
, d
, I
, ve t
(simüle etmek için zaman adım sayısı). Ayarlandıktan sonra, basit simülasyonumuz sırasında bu parametrelerin hiçbiri değişmeyecektir. Giriş sırası değil önemli : programınızın bu parametreleri hangi sırada alacağını belirleyebilirsiniz.
Çıktı
Çıktı v
, simülasyon süresince hücrenin zar potansiyelini (değişken tarafından verilen ) temsil eden sayıların bir listesi olacaktır . Liste uygun herhangi bir biçimde olabilir.
Çıktınıza simülasyonun 0. değerini (herhangi bir zaman geçmeden önceki ilk yapılandırma) dahil edip etmeyeceğinizi seçebilirsiniz. Örneğin, 0.02 0.2 -50 2 10 6
(for a b c d I t
) girdisi için ,
-50
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
veya
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
kabul edilebilir.
Kişisel değerler yok değil dil kolları yüzen nasıl bağlı olanlar yukarıdaki tamamen aynı olmak zorunda.
Referans uygulaması
İşte modeli göstermek için Perl'de yazdığım bir TIO uygulaması . Parametreler, yukarıda bağlantılı kağıttan bir "gevezelik" nöronunkidir ve bu, bu modelin, yüksek ve düşük aktivite durumları arasında dönüşüm yapma gibi nöronların daha karmaşık özelliklerini nasıl yeniden oluşturabildiğinin bir göstergesi olarak hizmet eder. Çıktıya bakarsanız, nöronun hemen birkaç kez nerede yükseldiğini görebilirsiniz, ancak daha sonra birkaç kez daha fazla eklemeden önce bir süre bekler (hücre giriş voltajının I
sürekli sabit olmasına rağmen ).
t
hiç negatif?