Дерево понимания ситуации
Имеет фиксированных 4 уровней (кроме базового нулевого)
формат записи: ID|ParentNode|Mood|EmotionID|SituationID|PurposeID
Узлы всех уровней могут произвольно меняться на другие для переактивации Дерева.
Дерево может переактивироваться при срабатывании мент. автоматизмов с действиями
MentalActionsImages.activateBaseID и MentalActionsImages.activateEmotion
в mental_automatizm_actions.go RunMentalAutomatizm(
SituationID определяет основной контекст ситуации, определяемый при вызове активации дерева понимания.
Если этот контекст не задан в understandingSituation(situationImageID
то в getCurSituationImageID() по началу выбирается наугад (для первого приближения) более важные из существующих,
но потом дерево понимания может переактивироваться с произвольным заданием контекста.
От этого параметра зависит в каком направлении пойдет информационный поиск решений,
если не будет запущен штатный автоматизм ветки (ориентировочные реакции).
Более частный, целевой контекст ситуации определяется следующим параметром PurposeID.
ID образа ЖЕЛАЕМОЙ при данных условиях цели - PurposeImage,
который по началу наследует PurposeGenetic, но может произвольно меняться,
в том числе после подсказки оператором:
в результате осмысления ответа оператора и запуска мент. автоматизма корректировки цели
с перезапуском дерева понимания.
Для достижения этой общей цели в цепочках мент.автоматизмов определяются промежуточные цели так,
что каждый мент. автоматизм оценивается успешным при появлении состояния, соответствующему данной промежуточной цели,
а конечное звено цепи должно стремиться к соответствию PurposeID.
Активация дерева ментальных автоматизмов происходит из:
func afterTreeActivation() - при каждой активации automatism_tree.go
и если было действия без ответа в течении 20 пульсов, то understandingSituation вызывается из
func noAutovatizmResult()
т.е. оба деревав работают совместно при EvolushnStage > 3 и по каждой активации UnderstandingTree
добавляется эпизд. памяти newEpisodeMemory()
Аналогично дереву моторных автоматзмов, после активации могут быть ориентировочные рефлексы привлечения внимания.
При вызове может быть определен situationImageID или проставлен 0 и тогда образ ситуации определяется в самой функции.