Пакет psy_Tree_Models
Дерево моделей понимания.
Жизненный опыт в виде моделей понимания смысла происходящего и своих действий
Опыт формируется в виде иерархии контактов условий от общего до частости происходящего.
ПЕРЕМЕННЫЕ:
• var TreeModel levelModel - само дерево понимания
• var NodeFromID =make(map[int]*levelModel) /// Массив адресов TreeModel
• var LastActiveTreePuls=0 // время последней активации Дерева - в числе пульсов
• var TreeModelActiveList[] *levelModel// список активных узлов Модели кроме первого корневого
• var LastActiveTreeNode *levelModel// последний активный узел активной ветки модели
• var LastActiveTreeLevelCount=len(TreeModelActiveList) // число уровней в активной ветки модели
• var BaseLevelvalueG=-1// значение ConditionG узла 1-го уровня активной ветки
• var EmotionLevelValueA=-1// значение EmotionsArray узла 2-го уровня активной ветки
• ActConditionP - было действие с Пульта с ID= ActConditionP
• LastActionFromPult=conditionP
• var ActiveTreeConditions[] Conditions// список всех условий в активной ветке
• var ActConditionS[] int // хранит последовательность распознанных слов фрвзы с Пульта в активной ветке
• var WordsFromNodes=make(map[int][]*levelModel)//WordsFromNodes[wordID] - ВСЕ УЗЛЫ, СОДЕРЖАЩИЕ ДАННОЕ СЛОВО - массив адресов узлов
• var WordsFromBranch=make(map[int][]*levelModel)//WordsFromBranch[wordID] - ВСЕ ВЕТКИ - конечные УЗЛЫ, СОДЕРЖАЩИЕ СЛОВО - массив адресов
• var NodesWordArrmap=(map[int] []int) // - последователньость слов конечных веток Дерева в виде []int WordID
• var AllTreeNodes[] *levelModel последовательность всего Дерева для показа на Пульте
• // все ID улов, содержащие данную эмоцию
• var EmotionFromNodes=make(map[int][]*levelModel)
• // все ID улов, содержащие данное действие с Пульта
• var ActionsFromNodes=make(map[int][]*levelModel)
ОСНОВНЫЕ ФУНКЦИИ:
• созданиe нового узла для родителского
• очистить дерево
• загрузить все виды памяти из файлов и инициировать их
• записать текущее состояние Дерева Моделей, автоматизмы и Эпизодическую память
• считывание дерева из файла
• пересканировать Дерево
• очистить все виды psy-памяти: Эпизодическу память, автоматизмы и Дерево модели понимания
• сразу создать всю последовательность узлов для введенной с Пульта фразы, минуя уже созданные и переактивировать Дерево
• контекстная активация дерева - той ветки, что соотвествует текущим условиям
• список всех условий ветки дерева, начиная от данного узла к более общим узлам
• получить все предшествующие узла дерева для данного узла
• жесткое создание автоматизма для узла nodeID или lastNodeID, если nodeID==0
• значение Weight узла дерева на величину addVal в минус или плюс значимости
• принудительно активировать узел
• Бот сам имитирует фразу, подставляя произвольное словосочетание
Eсли текст с Пульта больше, чем имеющаяся ветка, то Дерево переактивируется с пройденной части слов
вызовами gotoStepTreeActivation() остатками фразы пока фраза не закончится.
В любом случае заполняется стек Общего смысла StackCommonSense[10] *levelModel, если дерево проходилось несколько раз,
то в StackCommonSense буду столько же конечных *levelModel