Жизненные параметры гомеостаза
Эти параметры определяют состояния Норма, Плохо, Хорошо.
Выход из нормы задается колонкой “Порог нормы в %”, т.е. значениями от 0 до 100.
Как только параметр выйдет из нормы (на Пульте – область розового в слайдере данного параметра), он начинает оцениваться для определения состояния Плохо (в BAD_detector.go func commonBadDetecting()). Оценка делается следующим образом.
Для всех параметров, вышедшие из нормы, суммируются произведение их веса значимости (задаваемым в колонке “Вес значимости в %”) на значение "насколько плохо" (т.е. CommonBadValue+=BadValue[id]*GomeostazParamsWeight[id])
Полученная сумма сравнивается с порогом оценки состояния Плохо (var compareLevel=100) и если сумма превышает порог, то возникает состояния Плохо.
Понятно, что если из нормы вышел только один параметр, а его вес значимости меньше порога, то состояние Плохо не возникает.
Так, для таких параметров гомеостаза как Гон, Потребность в общении и Потребность в обучении вес значимости небольшой и не сможет вызвать состояние Плохо, но в совокупности с выходом из нормы других параметров – сможет.
Этот алгоритм мог бы быть выбран и другим по каким-то соображениям выгодности для адаптивности (и тогда это будет другой вид живого существа), но в данной реализации оценка Базового состояния сделана именно так. Это позволяет сделать любой параметр или менее значимым, не влияющим сам по себе на состояние Плохо. Но можно установить высокие значимости для всех параметров и тогда любой выход из нормы будет оценен как состояние Плохо.
Возникновение состояния Плохо используется как сигнал НЕ верности совершенного действия.
Состояние Хорошо возникает при возвращении параметра в норму и удерживается (var dinamicTimeFromBad=50) 50 секунд. Возникает как бы облегчение, что используется как сигнал верности совершенного действия.