Update 2026-06-04-modulation-of-future-behavior.md

This commit is contained in:
2026-06-05 12:31:11 +02:00
parent 9d1b4b43fd
commit 83f4239f38
@@ -56,26 +56,26 @@ If the calcium event occurred but the neuromodulatory save signal did not arrive
The astrocyte's perisynaptic wall distance is the variable that makes both outcomes self-reinforcing rather than merely additive. When it moves inward during potentiation, it concentrates glutamate at the cleft, maintains D-serine near the postsynapse, and tightens the presynaptic feedback loop — making future high-frequency events even more likely to cross the threshold. When it moves outward during depression, it dilutes the signal, starves the NMDA gate, and loosens the presynaptic feedback — making future events even less likely to reach threshold. The astrocyte therefore does not simply mirror what the neurons decide: it actively deepens the valley the synapse has already rolled into, in whichever direction that happens to be.
## Pseudocode
# Pseudocode
[pseudocode](tripartite_synapse_full_pseudocode.html)
### global state variables
#### ── Fast (mss): wave propagation ─────────────────────────────
##### Presynapse
## global state variables
### ── Fast (mss): wave propagation ─────────────────────────────
#### Presynapse
pre_Ca_residual // leftover Ca²⁺ between spikes — short-term trace
vesicle_release_prob // P(0.11.0) per docking slot
RRP_pool // readily-releasable vesicle pool
reserve_pool // chained vesicles in deep storage
##### Postsynapse
#### Postsynapse
membrane_potential // Vm — depolarization state
NMDA_Mg_block // bool — mechanical clamp on/off
post_Ca_amplitude // peak [Ca²⁺] rise in spine
post_Ca_rise_speed // d(Ca)/dt — fast=LTP signal, slow=LTD signal
##### Astrocyte
#### Astrocyte
glutamate_cleft // [glu] in synaptic cleft
glutamate_spillover // extrasynaptic [glu] — saturates mGluRs
astro_Ca_local // IP3-triggered local rise near synapse
@@ -83,7 +83,7 @@ astro_Ca_global // soma-wide wave — network overload flag
D_serine_release // gliotransmitter — NMDA co-agonist pulse
lactate_output // fuel export rate to pre and post
#### ── Intermediate (smin): temporary tuning ────────────────────
### ── Intermediate (smin): temporary tuning ────────────────────
mGluR2_3_activation // presynaptic Gi — autoinhibitory brake
mGluR5_activation // astrocytic Gq — IP3→Ca²⁺→D-serine cascade
cAMP_level // set by dopamine/NE via Gs → adenylyl cyclase
@@ -92,7 +92,7 @@ GluA1_Ser845_primed // bool — AMPA insertion threshold lowered by PKA
DARPP32_phospho // bool — PP1 (LTD phosphatase) silenced by PKA
CREB_active // bool — structural gene expression enabled
#### ── Slow (hweeks): structural architecture ───────────────────
### ── Slow (hweeks): structural architecture ───────────────────
AMPA_count // surface receptors — postsynaptic sensitivity
spine_volume // physical size of dendritic spine
active_zone_size // docking slot count
@@ -103,10 +103,10 @@ ECM_integrity // extracellular matrix density
D_serine_tonic_level // baseline co-agonist supply (sustained)
glutamate_clearance_rate // EAAT transporter density
#### fast time scale — wave propagation (ms → s)
### fast time scale — wave propagation (ms → s)
function fire_action_potential(input_freq):
##### Presynapse: launch wavefront
#### Presynapse: launch wavefront
pre_Ca_residual += spike_influx(input_freq)
pre_Ca_residual *= decay(τ ≈ 100ms) // fades unless spikes keep arriving
vesicle_release_prob *= facilitation(pre_Ca_residual)
@@ -114,7 +114,7 @@ released_vesicles = binomial(RRP_pool, vesicle_release_prob)
glutamate_cleft = released_vesicles × quantal_content
RRP_pool -= released_vesicles
##### Astrocyte: overflow sensing and co-agonist release
#### Astrocyte: overflow sensing and co-agonist release
glutamate_spillover = extrasynaptic_diffusion(glutamate_cleft)
if glutamate_spillover > spillover_threshold:
mGluR5_activation = True // Gq arm → IP3 → Ca²⁺ → D-serine
@@ -124,46 +124,46 @@ mGluR2_3_activation = True // Gi arm → brake presynapse
cAMP_level -= Gi_inhibition(adenylyl_cyclase)
vesicle_release_prob -= VGCC_suppression() // autoinhibitory brake
##### Astrocyte: check for network overload
#### Astrocyte: check for network overload
astro_Ca_global = soma_wave(astro_Ca_local > OVERLOAD_threshold)
if astro_Ca_global: trigger(shockwave_lockdown)
##### Postsynapse: wavefront strikes resonator
#### Postsynapse: wavefront strikes resonator
AMPA_current = glutamate_cleft × AMPA_count
membrane_potential += AMPA_current
##### NMDA gate: coincidence check
#### NMDA gate: coincidence check
if membrane_potential > -40mV and D_serine_release > threshold:
NMDA_Mg_block = False // Mg²⁺ ejected
post_Ca_amplitude += NMDA_influx(glutamate_cleft)
post_Ca_rise_speed = d(post_Ca_amplitude) / dt
##### Astrocyte: vacuum trailing echoes + fuel pipeline
#### Astrocyte: vacuum trailing echoes + fuel pipeline
glutamate_cleft -= glutamate_clearance_rate × Δt
lactate_output += glycolysis_rate(glutamate_clearance_rate)
membrane_potential restored by NaK_ATPase(lactate_output)
RRP_pool refilled by VATPase(lactate_output)
#### intermediate time scale — temporary tuning (s → min)
### intermediate time scale — temporary tuning (s → min)
function short_term_plasticity(input_freq, duration):
##### Presynapse: facilitate or depress based on Ca²⁺ history
#### Presynapse: facilitate or depress based on Ca²⁺ history
if input_freq > 20Hz:
vesicle_release_prob *= 1.3 // residual Ca²⁺ primes launchpad
mobilize(reserve_pool → RRP_pool) // break storage chains
elif input_freq < 5Hz:
vesicle_release_prob *= 0.7 // RRP depleted faster than refill
##### Postsynapse: NMDA gate primed if frequency sustained
#### Postsynapse: NMDA gate primed if frequency sustained
if input_freq >= 50Hz and duration > 1s:
NMDA_Mg_block = False // sustained depolarization
post_Ca_amplitude accumulates // early-LTP signal rises
##### Astrocyte: sustained volume → escalate co-agonist
#### Astrocyte: sustained volume → escalate co-agonist
if astro_Ca_local > local_threshold:
D_serine_release += gliotransmitter_pulse() // widens NMDA window
##### Neuromodulators: set context gate via Gs protein
#### Neuromodulators: set context gate via Gs protein
if dopamine_level > D1_threshold or NE_level > β_threshold:
cAMP_level += Gs_activation(adenylyl_cyclase)
PKA_activity = proportional_to(cAMP_level)
@@ -174,74 +174,74 @@ DARPP32_phospho = True // silences PP1 — blocks LTD
translocate(PKA → nucleus) → phosphorylate(CREB)
CREB_active = True // enables structural gene expression
##### Acetylcholine: lower LTP threshold globally
#### Acetylcholine: lower LTP threshold globally
LTP_threshold *= (1 / (1 + ACh_level × mAChR_gain))
#### slow time scale — structural commit (h → weeks)
### slow time scale — structural commit (h → weeks)
function commit_to_structural_change():
##### Hierarchical filter: three conditions must align
#### Hierarchical filter: three conditions must align
event_detected = post_Ca_amplitude > Ca_HIGH // layer 1: did something happen?
overflow_sensed = mGluR5_activation == True // layer 2: was it excessive?
context_validated = DARPP32_phospho and GluA1_Ser845_primed // layer 3: worth saving?
##### ── Branch 1: LTP — potentiation ──────────────────────────────
#### ── Branch 1: LTP — potentiation ──────────────────────────────
if event_detected and overflow_sensed and context_validated:
###### Postsynapse: anchor receptors, enlarge spine
##### Postsynapse: anchor receptors, enlarge spine
activate(CaMKII)
AMPA_count += receptor_insertion(CaMKII, GluA1_Ser845_primed)
spine_volume *= 1.5
###### Presynapse: expand launchpad, increase output reliability
##### Presynapse: expand launchpad, increase output reliability
active_zone_size *= 1.4 // more docking slots
RRP_pool_capacity += pool_expansion(active_zone_size)
VGCC_clustering += cluster_beneath_AZ() // tighter Ca²⁺ coupling
vesicle_release_prob += 0.1 // driven by VGCC clustering
###### Astrocyte: seal and insulate the channel
##### Astrocyte: seal and insulate the channel
perisynaptic_distance -= process_retraction() // walls move IN → tighter wrap
ECM_integrity += secrete(Glypicans, Thrombospondins)
D_serine_tonic_level += upregulate_synthesis() // sustained NMDA priming
glutamate_clearance_rate *= 0.85 // tighter wrap → slower diffusion away
return "potentiated"
##### ── Branch 2: temporary only — Ca²⁺ rose, no save signal ─────
#### ── Branch 2: temporary only — Ca²⁺ rose, no save signal ─────
elif event_detected and not context_validated:
AMPA_count += transient_insertion() // early-LTP only — reverses in minutes
vesicle_release_prob += transient_facilitation()
###### No astrocyte structural change
##### No astrocyte structural change
return "temporary facilitation only"
##### ── Branch 3: LTD — active forgetting ─────────────────────────
#### ── Branch 3: LTD — active forgetting ─────────────────────────
elif event_detected and not overflow_sensed and not context_validated:
###### Postsynapse: internalize receptors, shrink spine
##### Postsynapse: internalize receptors, shrink spine
activate(PP1)
AMPA_count -= receptor_internalization(PP1)
spine_volume *= 0.7
###### Presynapse: dismantle launchpad
##### Presynapse: dismantle launchpad
active_zone_size -= docking_slot_removal()
RRP_pool_capacity -= pool_contraction()
VGCC_clustering -= scatter_VGCCs() // decouple Ca²⁺ from AZ
vesicle_release_prob *= 0.6
###### Astrocyte: dissolve matrix, pull away, cut support
##### Astrocyte: dissolve matrix, pull away, cut support
ECM_integrity -= secrete(MMPs) // molecular scissors
D_serine_tonic_level = 0 // co-agonist supply cut
perisynaptic_distance += process_extension() // walls move OUT → loose wrap
glutamate_clearance_rate *= 1.2 // looser wrap → faster spillover
return "depressed"
##### ── Branch 4: baseline ────────────────────────────────────────
#### ── Branch 4: baseline ────────────────────────────────────────
else:
###### All structural variables unchanged — system holds current state
##### All structural variables unchanged — system holds current state
return "baseline — no change"
##### special case — shockwave lockdown (>100Hz uncoordinated)
#### special case — shockwave lockdown (>100Hz uncoordinated)
function shockwave_lockdown():
astro_Ca_global = GLOBAL_WAVE // soma-level flood
@@ -250,18 +250,19 @@ AMPA_count -= mass_internalization()
membrane_potential = HYPERPOLARIZED
cluster(VGCC → beneath_active_zone) // ensures signal survives chaos
##### energy supply chain — metabolic gating (continuous)
#### energy supply chain — metabolic gating (continuous)
function metabolic_loop(Δt):
###### Astrocyte: glucose → lactate pipeline
##### Astrocyte: glucose → lactate pipeline
glucose_uptake = blood_capillary_supply()
lactate_output = glycolysis(glucose_uptake, glutamate_clearance_rate)
lactate_output *= load_factor(glutamate_clearance_rate)
###### Pre + post absorb lactate → power their pumps
##### Pre + post absorb lactate → power their pumps
RRP_pool refill rate ∝ VATPase(lactate_output)
membrane_potential reset ∝ NaK_ATPase(lactate_output)
##### key asymmetry — perisynaptic distance is bidirectional
#### key asymmetry — perisynaptic distance is bidirectional
// LTP: astrocyte moves IN → tighter diffusion barrier
// → glutamate_clearance_rate ↓ (signal contained, not diluted)
// → D_serine_tonic_level ↑ (NMDA gate chronically primed)
@@ -274,7 +275,7 @@ membrane_potential reset ∝ NaK_ATPase(lactate_output)
// potentiation becomes self-reinforcing; depression becomes self-reinforcing
## Neuromodulators
# Neuromodulators
These are produced by small, anatomically concentrated nuclei that broadcast widely across the brain:
@@ -282,14 +283,14 @@ dopamine_level // "save button" — validates LTP
norepinephrine_level // arousal / signal-to-noise gain
acetylcholine_level // attention — lowers LTP threshold
### Dopamine
## Dopamine
Dopamine is produced primarily by neurons in the Substantia Nigra pars compacta (projecting to the striatum, relevant for motor learning and habit formation) and the Ventral Tegmental Area (VTA) (projecting to the prefrontal cortex and limbic system via the mesolimbic and mesocortical pathways, relevant for reward, motivation, and the "save button" function in your model).
### Norepinephrine
## Norepinephrine
Norepinephrine is produced almost exclusively by the Locus Coeruleus, a tiny nucleus in the brainstem pons. Despite its small size it projects diffusely across virtually the entire brain — cortex, hippocampus, cerebellum, spinal cord. It's essentially the brain's arousal and signal-to-noise broadcaster, firing tonically at low rates during calm wakefulness and phasically during novel or stressful events.
### Acetylcholine
## Acetylcholine
Acetylcholine has two main sources: the basal forebrain nuclei (including the nucleus basalis of Meynert) projecting to the cortex and hippocampus — relevant for attention and learning gating — and the medial septum projecting specifically to the hippocampus, where it strongly modulates theta rhythms and memory encoding.
What's striking in the context of your model is that all three systems share the same architectural logic: a tiny, localized cell population broadcasts a global contextual signal that shifts the operational threshold of millions of synapses simultaneously — none of them carrying specific content, all of them modulating how content gets written.