Пакет 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

ФУНКЦИИ:
•	получить элемент опыта по индексу
•	записать опыт в файл
•	считать опыт из файла
•	создать новый элемент опыта
•	Найти элементы опыта, вполне подходящие к текущим условиям, для удачных автоматизмов