← К списку демонстраций
Эпизодическая память — полный цикл (макет)
episodic_memory.js · abstract_images.js
Актуальный образ
После ориентировочного рефлекса в гиппокампе и контексте осознания удерживается победивший стимул (`actual_stimul_ID` / FinalImageId). Кадр ЭП привязан к этому образу и к узлу ветки восприятия.
Цепочка этапов
1
Кадр ЭП — вызов `save_episodic_memory` после ОР: открыт кадр, `effect === null`, сохранён `diffBefore`.
2
Действие — при рефлексе `EpisodicMemory_setLastFrameActionFromActionId` записывает образ действия (ОД) в кадр.
3
Ожидание — счётчик пульсов до `response_waiting_period` (по умолчанию 15); прогресс-бар в UI.
4
Конец ожидания — ответный стимул оператора или таймаут в `EpisodicMemory_onPulse`.
5
Нули в правиле — при неполном кадре `episodicFrameFillRuleZerosForIncompleteClose`: в пустые поля ОД/ответа — 0.
6
effect — `clamp(diffAfter − diffBefore)` в [−10, +10] в `closeLastFrame`.
7
Абстракции — `AbstractImages_cloneFromEpisodeFrame`: клоны восприятия и (при ненулевом ОД) действия.
Поля кадра (учебно)

Поле | Открытый кадр | После закрытия
--- | --- | ---
stimulusImageId | FinalImage | то же
actionImageId | ОД или null | число или 0
responseStimulusImageId | null / ответ | число или 0
effect | `null` | −10…+10

Период ожидания
Прогресс ожидания ответа оператора

Длительность в пульсах, не `setTimeout` — логика в `EpisodicMemory_onPulse`.

Абстракции после закрытия
При каждом `closeLastFrame` обновляются клоны AbstractPerceptionImages по паре (узел ветки, стимул); при ненулевом ОД — AbstractActionImages. В `semanticStructure` записываются правила эпизода/учителя для последующих уровней сознания.
Восприятие
(perceptionNodeId, stimulusImageId)
Действие
если actionImageId ≠ 0