Một tế bào thần kinh Izhikevich là một mô hình đơn giản nhưng khá hiệu quả của một tế bào thần kinh sinh học, được thiết kế để sử dụng trong một mô phỏng bước thời gian rời rạc. Trong thử thách chơi gôn này, bạn sẽ thực hiện mô hình này.
Thông số
Mô hình này chỉ bao gồm 7 biến được tổ chức thành 2 phương trình vi phân, so với hàng chục tham số của mô hình chính xác về mặt sinh lý.
v
vàu
là hai biến trạng thái của nơron. Ở đây,v
là biến "nhanh" đại diện cho tiềm năng tế bào theo thời gian vàu
là biến "chậm" đại diện cho các thuộc tính màng nhất định. Cácv
biến là quan trọng nhất, vì đây là đầu ra của mô phỏng.a
,b
,c
, Vàd
được cố định hằng số mô tả các thuộc tính của tế bào thần kinh. Các loại tế bào thần kinh khác nhau có hằng số khác nhau, tùy thuộc vào hành vi mong muốn. Đáng chú ý,c
là tiềm năng thiết lập lại, đó là tiềm năng màng tế bào trở lại sau khi đạp xe.I
đại diện cho dòng điện đầu vào của nơron. Trong mô phỏng mạng, điều này sẽ thay đổi theo thời gian, nhưng với mục đích của chúng tôi, chúng tôi sẽ coiI
là một hằng số cố định.
Ngươi mâu
Mô hình này có mã giả rất đơn giản. Đầu tiên, chúng tôi lấy các giá trị không đổi của abcd
và sử dụng chúng để khởi tạo v
và u
:
v = c
u = b * c
Tiếp theo, chúng tôi lặp qua mã mô phỏng nhiều lần như mong muốn. Mỗi lần lặp đại diện cho 1 mili giây thời gian.
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
Một số triển khai trong thế giới thực bao gồm các bước bổ sung cho độ chính xác bằng số, nhưng chúng tôi không bao gồm những bước ở đây.
Đầu vào
Như đầu vào, chương trình / chức năng của bạn nên đưa các giá trị của a
, b
, c
, d
, I
, và t
(số bước thời gian để mô phỏng). Sau khi được đặt, không có tham số nào trong số này sẽ thay đổi trong quá trình mô phỏng đơn giản của chúng tôi. Trình tự đầu vào không không quan trọng: bạn có thể chỉ định thứ tự mà chương trình của bạn có các thông số này.
Đầu ra
Đầu ra sẽ là một danh sách các số biểu thị tiềm năng màng của tế bào (được đưa ra bởi biến v
) trong quá trình mô phỏng. Danh sách có thể ở bất kỳ định dạng thích hợp.
Bạn có thể chọn bao gồm giá trị 0 của mô phỏng (cấu hình ban đầu trước khi bất kỳ thời gian nào trôi qua) trong đầu ra của bạn. Ví dụ: đối với đầu vào của 0.02 0.2 -50 2 10 6
(for a b c d I t
), đầu ra của một trong hai
-50
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
hoặc là
-40
-16.04
73.876224
-42.667044096
-25.8262335380956
29.0355029192068
là chấp nhận được.
Các giá trị của bạn không nhất thiết phải giống hệt như ở trên, tùy thuộc vào cách ngôn ngữ của bạn xử lý nổi.
Thực hiện tham khảo
Đây là một triển khai TIO tôi đã viết trong Perl để trình diễn mô hình. Các tham số là của một tế bào thần kinh "huyên thuyên" từ tờ giấy được liên kết ở trên, và điều này đóng vai trò như một minh chứng về cách mô hình này có thể tái tạo một số tính chất phức tạp hơn của các tế bào thần kinh, như xen kẽ giữa các trạng thái hoạt động cao và thấp. Nếu bạn nhìn vào đầu ra, bạn có thể thấy nơ-ron ngay lập tức tăng vọt vài lần, nhưng sau đó đợi một lúc trước khi đạp thêm vài lần nữa (mặc dù điện áp đầu vào của tế bào I
không đổi trong toàn bộ thời gian).
t
bao giờ là tiêu cực?