Пакет psy_Experience
Жизненный опыт или Интеллект в виде правил поведения в данных условиях.
Опыт - способ (MentAutomatizm) достижения определенной цели (Task) в определенных условиях (LastActiveTreeNode)
Experience привязан к каждой ветке Дерева (ExperienceNodeID),
а постеленная цель TaskID есть вообще у каждого узла веток, да еще и у каждого слова словарного запаса (Vocabulary.TaskID).
Кроме того, Experience может создаваться при экспериментировании на фоне любой давно неактуальной ветки.
Опыт не удаляется, а только создается новый и сохраняется в файле psy_Experience_str.txt
Во всех случаях авторитарного смысла он, рано или поздно, проверяется собственным экспериментом с получением результата такой попытки.
Задачи находятся в контексте текущей мотивационной Цели
Motivation_1_level,Motivation_2_level,Motivation_3_level
текущего самоощущения SelfPerception
или текущей Доминанты проблемы CurrentDominanta
Если цель успешно достигнута в составе неважно какой доминанты, то условия как у этого узла и есть подходящие для использования этого опыта.
СТРУКТУРА элемента Опыта:
type Experience struct {
ID int
/* AutID[]id ментальных автоматизмов или усвоенных Правил, т.е. пробных действий с оценкой Можно, Нужно, нельзя
Вес значимости правила: MentalsAutomatizm[ExperienceArr[id].AutID[n]].Result
Если опыт вне узла Дерева (NodeID==0), то AutID только один.
Если опыт привязан к узлу (NodeID>0), то автоматизмов может быть сколько угодно после опытов с узлом.
AutID[n].Hypothesis==1 - не проверенная гипотеза
Типичная запись в Опыт после оценки результата мот.автоматизма в func ResultingOwnAction():
exp:=ExperienceNodeID[LastMotorAutomatizmWeiting.TnodeID]
var newMA MentAutomatizm
newMA.Result=1
newMA.Type=1 // автоматизм типа 1 !!!
newMA.Hypothesis=0 // не гипотеза
newMA.Sequence=LastMotorAutomatizmWeiting.Sequence
id, ma := createNewMentAutomatizm(0,newMA)
ma.Result = LastMotorAutomatizmWeiting.Result
exp.AutID = append(exp.AutID, id)
*/
AutID[] int
/* Тот опыт из всех AutID[] который наиболее актуален для данного узла.
При всех пробах-ошибках, поисках задается только один ActualAutID
*/
ActualAutID int
/* Условия, для которых действуют Правила определяются узлом Дерева, для которого создан Experience:
Для каждого конечного узла ветки открывается свой опыт
*/
NodeID int
/* Условия мотивационной цели текущего самоощущения SelfPerception записываются в Опыт при его формировании
При каждой активации ветки Дерева, если для нее еще не был определн Experience, создает его с текущим Motivation2level
При последующих активациях значение Motivation2level может стать иным в силу его произвольности, но сильно не может отличаться,
Кроме того Experience может создаваться при экспериментировании на фоне любой давно неактульной ветки.
*/
Motivation2level int
}
/////////////////////////////////////////////////////
ПЕРЕМЕННЫЕ:
// Опыт последовательности ментальных автоматизмов - заготовки цепочек действий
var ExperienceArr=make(map[int]*Experience)
// опыт узла ветки Дерева NodeID НО могут быть Experience и вне узлов Дерева!
var ExperienceNodeID=make(map[int]*Experience)
// МАССИВ опыта для условия Motivation2level
var ExperienceMotivation2level=make(map[int][]*Experience)
// ссылка на текущий актуализированный опыт активного узла Дерева
var LastActiveExperienceWeiting *Experience
ФУНКЦИИ:
• получить элемент опыта по индексу
• записать опыт в файл
• считать опыт из файла
• создать новый элемент опыта
• Найти элементы опыта, вполне подходящие к текущим условиям, для удачных автоматизмов