Пакет psy_self-perception
Самоощущение - структура SelfPerception, объединяющая все то, что обеспечивает определение значимости состояния (смысл) и мотивационную цель.
Это поддерживает ТЕМУ (разговора, размышления) - Цели текущей Доминанты, ради чего идет разговор.
В каждый момент времени пульса Боту доступна вся картина для получения прогноза StepOfModifeCurrentSelfPerception
и осуществления произвольности (выбора активации Дерева и замены мотор.автоматизма на предположительный).
В каждый момент пульса у Бота уточняется текущее состояние SelfPerception,
которое по мере необходимость модифицируется, но стараясь удерживать текшую ТЕМУ - Цель Доминанты.
При этом старая SelfPerception остается в памяти и возникает новая, становящаяся тёкшей.
При засыпании или при выключении Бота все SelfPerception гасятся.
В отличие от эпизод.памяти SelfPerceptionSequence - память эпизодов смены Темы.
Отличается от эпизодической памяти кратковременностью и полнотой общей текущей картины понимания,
а так же тем, что в EpisodeMemory есть Type int - объективный образ или субъективный.
Ну и не может эпизодическая память хранить адреса объектов, которыми богата SelfPerception.
При воспоминании кадра EpisodeMemory может восстанавливаться вся картинка SelfPerceptionSequence
НО В ТОМ состоянии уровней мотивационных контекстов, которые возникают в текущем самоощущении.
Самоощущение структура, содержащее реальные объекты других структур, очень объемная и по\тому не сохраняется в файле и после сна.
СТРУКТУРА:
type SelfPerception struct {
ID int
LastNode *levelModel // последний узел верки дерева (может быть посредине более длинной ветки)
Episod *EpisodeMemory // кадр эпизодической памяти
Motivation1level int // далее - три уровня мотивационных контекстов из psy_motivation_targets.go и их веса
Motivation1levelWeight int
Motivation2level int
Motivation2levelWeight int
Motivation3level int
Motivation3levelWeight int
Purpose *EpisodeMemory // поставленная осознаваемая цель, если она есть
// текущая доминанта нерешенной проблемы для данного самоощущения
CurDominanta *Dominanta
//__________________ Поддержка мент.автоматизмов второго типа _________________________
/* Необязательный целевой параметр для запуска ментального действия типа 2. Пояснение:
В MentAutomatizm последовательность для второго типа автоматизмов
Sequence="2:1001" - запустить мент.действие с ID=10001 - Вспомнить самоощущение по узлу Дерева
при этом в текущем самоощущении CurrentSelfPerception
прописывается целевой параметр MentalAutomatizmParameter=322 -
т.е. в данном случае функция RememberSelfPerceptionFromNodeID должна брать оттуда nodID=322
*/
MentalAutomatizmParameter int
/* Необязательные результаты запуска ментального действия типа 2. Пояснение:
В MentAutomatizm последовательность для второго типа автоматизмов
Sequence="2:1002" - запустить мент.действие с ID=10002 - Прогноз по эпиз.памяти от активной ветки Дерева
при этом в текущем самоощущении CurrentSelfPerception
прописывается целевой параметр MentalAutomatizmResult строка результата
и Бот знает какой формат у MentalAutomatizmResult в зависимости от MentalAutomatizmParameter
В данном случае функция вернет строку с числом - результатом прогноза.
*/
MentalAutomatizmResult string
//___________________ Конец поддержки мент.автоматизмов второго типа___________________
// предыдущий объект самоощущения после создании нового
PrevID *SelfPerception
}
///////////////////////////////////////////////////
ПЕРЕМЕННЫЕ:
// последовательность адресов эпизодов кратковременной памяти самоощущений
var SelfPerceptionSequence=make(map[int]*SelfPerception)
// текущий эпизод самоощущения
var CurrentSelfPerception *SelfPerception
/* Если появилась более важная задача и было открыто новое самоощущение,
то InterrauptedTaskSelfPerception - это стек для хранения отложенных самоощущений.
Здесь храняться 10 важных самоощущений, к к оторым нужно вернуться.
Возвращаются, вспомнив (RememberInterruppedSelfPerception(sp *SelfPerception)) всегда самую последнюю задачу
и после свпоминания она удаляется из стека InterrauptedTaskSelfPerception[i]=nil
!!! при появлении ОЧЕНЬ ВАЖНОЙ ЗАДАЧИ вызывать sp:=SaveCurrentSelfPerceptionForMoreImportantTask()
и инициализировать вновь созданную sp !!!
*/
var InterrauptedTaskSelfPerception[10] *SelfPerception
ФУНКЦИИ:
• сохранение текущей SelfPerception в InterrauptedTaskSelfPerception если возникла более важная задача
• Создание нового самоощущения в "кратковременной памяти" Бота на основе любой (но имеющейся) ветки Дерева и любого(но имеющегося) фрагмента эпизод.памяти
• уточняется текущее состояние SelfPerception,
• которое в более важные ммоенты, чем текущий, модифицируется (отложенная Тема сохраняется в предыдущем SelfPerception), но стараясь удерживать текушую ТЕМУ - Цель Доминанты.
• Вспомнить отложенный из-за более важной задачи SelfPerception после решения этой важной задачи
• Вспомнить произвольно пережитый SelfPerception
• Вспомнить самоощущение для ветки Дерева