Пакет 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 единиц)