Пакет psy_Episod_Memory
Эпизодическая память последовательности привлечения внимания - по каждому акту ориент.рефлекса
Линейная, не ветвящаяся цепочка структур.
Запоминается в файле для каждого периода бодрствования
т.е. это - самая многочисленная часть воспоминаний.
Т.к. в EpisodeMemory используется ID автоматизма, то эпизодическая память невозможна на рефлекторном уровне.
СТРУКТУРА эпизодической памяти:
type EpisodeMemory struct {
ID int
/* запись актуальной части Стека общего смысла StackCommonSense:
ПРи активации фразой только одной ветки записывается один элемент NodeID[0]
может быть от 1 до 10 NodeID
НО NodeID МОЖЕТ И НЕ БЫТЬ ЗАПИСАНО - в режиме свободного фантащирования, без активации Дерева
например, в func Experimentation(
*/
NodeID[] int // узлы активных веток Дерева при обобщении в последовательности их активации
/* передается из Dominanta.Task.ID - как мотивационная цель
или из LastActiveTreeNode.TaskID - при запоминание эпизода для найденного optimumTreeNode
или LastActiveTreeNode.TaskID - при активации ветки Дерева
*/
TaskID int // мотивирующая цель, передаваемая при создании эпизода
/* Улучщение или ухудшение состояния (настроения) после срабатывания предыдущего автоматизма
записывается в эпизод при его создании. Основа для стремления и избегания.
*/
Mood int // -10 0 +10 изменение настроения
Type int // объективный образ или субъективный:
/*0 - такого нет в эпизодах, но при поиске по .Type==0 означает - любой тип памяти
1 - узел активировался с Пульта,
2 - Бот выдал на Пульт,
3 - Бот произвольно активировал
4 - был создан при воспоминании старого эпизода
5 - осмысление в func OwnBehaviour()
*/
}
//////////////////////////////////////////////////////////////////
ПЕРЕМЕННЫЕ:
// Эпизодическая память добавляется подряд как простой массив
var PsyMemory[] EpisodeMemory
/// Массив адресов PsyMemory с индексами их ID
var PsyMemoryFromID[] *EpisodeMemory
// эпизоды, в которых есть действие автоматизма D int
var EpizodsWihtAutomatizmD=make(map[int]*EpisodeMemory)
// эпизоды, в которых есть действие автоматизма S string
var EpizodsWihtAutomatizmS=make(map[string]*EpisodeMemory)
/*текущий активный образ эпизодической памяти
*/
var EpisodeMemoryActiveFrame *EpisodeMemory
// Предыдущий фрагмент эпиз.памяти - PsyMemoryFromID[EpisodeMemoryActiveFrame.ID-1]
ФУНКЦИИ:
• добавление нового эпизода в память
• запись памяти в файл
• загрузка памяти из файл при просыпании
• если цепочка эпизодической памяти слишком большая, то оптимизировать ее, оставив только самые важные звенья
• очистить эпизодическую память – т.е. лишить Бота воспоминаний
• вспомнить старый эпизод памяти
• список всех узлов ЭпизодПамяти по ID узла Дерева
• вспомнить эпизоды старого опыта узла nodeID, заполняя ими массив сначала более поздними