Пакет 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, заполняя ими массив сначала более поздними