ホジキン=ハクスレー方程式と神経回路の数学
ノーベル賞生理学 — ナトリウムとカリウムのイオン透過が生む脳のパルス電気信号
- 1
- 人間の思考や感覚を司る脳神経(ニューロン)の活動電位(スパイク発火)を厳密に記述した連立非線形微分方程式
- 2
- 細胞膜をコンデンサ、イオンチャネルを可変抵抗・電池と見立てた電気等価回路モデル
- 3
- 刺激電流が閾値を超えると、ナトリウムイオン(Na⁺)が急激に流入し、続いてカリウム(K⁺)が流出してパルスが発火する
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
1952年にアラン・ホジキンとアンドリュー・ハクスレーがヤリイカの巨大神経軸索を用いて発見し、1963年ノーベル生理学・医学賞を受賞。現代のニューロモルフィックAI(脳型AIチップ)やブレイン・コンピュータ・インターフェイス(BCI)の基礎です。
身につく武器・思考力
生体電気現象の数理モデル化手法、リミットサイクルと分岐理論の感覚、AIニューロンモデル(Leaky Integrate-and-Fire等)の起源理解
実社会・ITでの活躍現場
- •BCI(脳波・神経インターフェイス)での神経信号デコーディング
- •ニューロモルフィック・プロセッサ(Intel Loihi等)のスパイク・ニューラル・ネットワーク(SNN)設計
- •てんかん・心不全・不整脈のメカニズム解明と抗不整脈薬のイン・シリコ創薬
- •パーキンソン病に対する脳深部刺激療法(DBS)のパルス刺激最適化
Layer 1 — 直感・シミュレーター
注入する「刺激電流(I_ext)」のスライダーを上げてみてください。電流が閾値を超えた瞬間に、電位が急激に跳ね上がってパルス状のスパイク(活動電位)が周期的に発火する様子と、イオンゲート変数(m, h, n)のダイナミクスが観察できます。
ホジキン=ハクスレー・ニューロン:刺激電流を上げてスパイク発火を起こそう!
思考・記憶・運動指令はすべてこの活動電位パルス(スパイク)の周波数で符号化されています。 刺激が閾値(約5 μA)を超えると、ナトリウム・カリウムチャネルが開閉し、リズミカルなパルス発火が自発的に始まります。
刺激電位が上がると活性化ゲート $m$ が急激に開き、細胞外のナトリウムイオンが一気に流入。電位がプラス(+30mV)へ急騰する。
わずかに遅れてカリウムゲート $n$ が開き、細胞内のカリウムが外へ流出。電位が元の静止電位(-65mV)へ急降下してリセットされる。
ニューロンが発火(活動電位の急上昇)する際、細胞内に急速に流入して膜電位をプラスへと押し上げる主役のイオンはどれ?
Layer 2 — 定義・受験・証明
定義
**ホジキン=ハクスレー方程式(Hodgkin-Huxley Equations)**とは、細胞膜電位 と3つのイオンゲート確率変数()の4変数からなる連立常微分方程式系である。
公式・数理モデル
証明・導出
**等価回路キルヒホッフ則とゲート機構** 細胞膜の総電流 は、膜容量を流れる容量電流 と、各種イオンチャネルを流れるイオン電流の和である。
ホジキンとハクスレーの天才的な洞察は、イオン透過率(コンダクタンス)が電位依存の確率的なゲート開閉変数で表されるとした点である: 1. **Na⁺ 活性化ゲート **: 電位上昇で急速に開く( に比例) 2. **Na⁺ 不活性化ゲート **: 少し遅れて閉じる(脱分極の持続で失効) 3. **K⁺ 活性化ゲート **: 電位上昇でゆっくり開く( に比例して過分極復帰を促す)
各速度定数 は熱力学的ボルツマン分布に基づき実験データから決定された。外部電流が閾値を超えると、正帰還ループ(電位上昇 ➔ 増加 ➔ Na⁺ 流入 ➔ さらなる電位上昇)が作動し、全か無かの法則に従う急峻なスパイク(約+40mV)が自発的に立ち上がる。
押さえておきたいポイント
- 全か無かの法則(All-or-None):入力電流が閾値未満では発火せず、閾値を超えると一定振幅のパルスが生まれる
- 不応期(Refractory Period):一度発火した直後は ゲートが閉じているため、どんなに強い刺激を与えても連続して発火できない
- このパルス発火現象は、数学的にはホップ分岐(Andronov-Hopf Bifurcation)による安定リミットサイクルの出現として理解される
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
オイラー法によるホジキン=ハクスレー・スパイク発火の数値計算
単一ニューロンの活動電位シミュレーションを行うPythonコードです。
1import numpy as np23# 物理定数4Cm = 1.0 # uF/cm^25gNa, gK, gL = 120.0, 36.0, 0.3 # mS/cm^26ENa, EK, EL = 50.0, -77.0, -54.387 # mV78def alpha_m(V): return 0.1 * (V + 40.0) / (1.0 - np.exp(-(V + 40.0) / 10.0))9def beta_m(V): return 4.0 * np.exp(-(V + 65.0) / 18.0)10def alpha_h(V): return 0.07 * np.exp(-(V + 65.0) / 20.0)11def beta_h(V): return 1.0 / (1.0 + np.exp(-(V + 35.0) / 10.0))12def alpha_n(V): return 0.01 * (V + 55.0) / (1.0 - np.exp(-(V + 55.0) / 10.0))13def beta_n(V): return 0.125 * np.exp(-(V + 65.0) / 80.0)1415# 時間発展16V = -65.0 # 静止膜電位17m = 0.0518h = 0.6019n = 0.3220dt = 0.0121I_ext = 10.0 # 刺激電流 (uA/cm^2)2223for step in range(5000):24 INa = gNa * (m**3) * h * (V - ENa)25 IK = gK * (n**4) * (V - EK)26 IL = gL * (V - EL)2728 dV = (I_ext - INa - IK - IL) / Cm29 V += dV * dt30 m += (alpha_m(V)*(1-m) - beta_m(V)*m) * dt31 h += (alpha_h(V)*(1-h) - beta_h(V)*h) * dt32 n += (alpha_n(V)*(1-n) - beta_n(V)*n) * dt
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元