Пакет Gomeostaz


Жизненные параметры Бота
/* Параметры гомеостаза
0 - энергия 1 - стресс 2 - гон 3-потребность в общении 4-потребность в обучении
5- любопытство, 6- жадность (скупость, например, к накопленной энергии)
*/
// Текущие значения параметров гомеостаза заполняется из файла files/GomeostazParams.txt
var GomeostazParams []float64
//с какой скоростью уменьшающтся параметры - процент в час
var SpeedEnergi=1.0
var SpeedStress=100.0
var SpeedGon=200.0
//с какой скоростью увеличиваются - процент в час
var SpeedCommun=20.0
var SpeedResearch=5.0
var SpeedInteres=5.0
var SpeedJadnost=5.0

/* матрица датчиков состояния параметров гоменостаза ДЛЯ ПОКАЗА НА ПУЛЬТЕ
энергия, стресс, гон 3штуки (Gomeostaz.GomeostazCount)
*/
var GomeostazSensor [GomeostazCount]int
// веса значимости для GomeostazSensor От 0 до 100 %
var GomeostazSensorWeight [GomeostazCount]int

// строки из файла base_context_condition.txt для активации контекстов от условий в baseContextMirror()
var GomeostazConditionsArr []string

// последняя реакция для которой нужно применить оценку с блокировкой или укреплением
// LastActionID=actualReflexID
var LastActionID=0;
// условия при которых сработала последняя реакция, активные контексты через "|" для записи в строку блокировки
var LastActionCondition=""

// полная строка условий при которых сработала последняя реакция,
//активные контексты через "|" и через || фраза  - выделяется из строки рефлекса GetFoolActionCondition(id)
var LastFoolActionCondition=""
// последние действия Бота, строка: фраза Бота | действия Бота
// LastActionStr=actualReflexAction

// полная строка НОВЫХ условий при которых сработала последняя реакция,
//активные контексты через "|" и через || фраза  - выделяется из строки рефлекса GetDifferentConditions(...)
var LastFoolNEWCondition=""

var LastActionStr=""
//  НОВИЗНА - новое в условиях при каждом реагировании
var LastReflexNewCondition=""

/* LastTimeIntervalPultActions - время, прошедшее от предыдущего реакции до последней в числе тиков пульса
Если оператор не торопится с новым ответов или действием, то последню реакцию нужно учитывать,
если оператор слишком быстро действует, то	лучше не учитывать последнюю реакцию
*/
var LastTimeIntervalPultActions=0
// предпоследний активный рефлекс
var PrevActionID=0


// текущее состояние Хорошо-Плохо,  значения от -NNN до PPP  не ограниченные значения
var CurrentWellAndBadvalue=0
// детектор улучшения или ухудшения cостояния - для блокировки или усиления условных рефлексов
var DetectorWellAndBad=0
// вес рефлекса значимости и DetectorWellAndBad  в процентах
var DetectorWellAndBadWeight=0
// на сколько и в какую сторону изменилась значимость
var DifferentWellAndBad=0

// 1 - доминанта нерешенной проблемы доосознавательного уровня
var NeedGenerateVariantActions=0;

// строки из файла associate_links.txt для активации реакций в getActualReactions()
var ReactionConditionsArr []string

// строки из файла associate_links_2.txt для активации реакций на основе реакций в getActualReactions()->getNextLevalReflex
var ReactionCondition2Arr []string

И функции для поддержки:
•	запись в файл текущее состояние гомеостаза
•	выдать текущие значения жизненных параметров
•	установка параметров гомеостаза с Пульта
•	детектор ухудшения жизненных параметров на 5%
•	Воздействовать на Бота (меняются жизненные параметры на 20 единиц)