Open ra81 opened 7 years ago
Проблема в том, что если мне не изменяет память рабы отправляют учится уже поле установки зп скриптом. Хотя идее мне очень нравится)
ну там и приписочка есть на этот случай. что в связи с тем что обучение включается ПОСЛЕ зарплат, нам надо выполнить проверку насчет обучения и если оно должно врубиться только тогда снижать зарплату рабам. В этом и вся соль. Возможно это шибко заморочно.
опыт показал пока что цифры не шибко верные. Очевидно другие. Изучаю вопрос.
цифры получаются следующие. Первое обучение из 4 недель, добавляет квалы рабам всего на 1.4. Прирост равномерно размазан по неделям по 0,35 в неделю. После первого обучения, уже конечный прирост рисуется 1,36 то есть в неделю будет по 0,34. Какой будет дальше прогресс неясно. Но можно конечно отслеживать. Если все линейно, то дальше будет 0,33 в неделю и так далее. Тут вариантов решения два:
Вариант 2 менее робастный и как бы зависит от чего то там пока неясно линейно все или нет. Вариант 1 робастен, и будет работать всегда. Небольшой недогруз не дает штрафов. Минимальный перегруз дает штрафы.
Я все могу сам вкодить, проблема пока только в том как запомнить флаг что обучение включится и при старте обучения потом использовать данный флаг. Костыли городить не хочется. Как то грамотно сделать бы надо.
Вариант 2 - не вариант вообще, поскольку рабы могли протупеть в результате неверной зп, рабов могло обучаться меньше общего количество. (например расширение во время обучения), часть рабов могла быть уволена, а потом сного нанята. и т.д. Функция нелинейна, я не видел в вирте линейных функций)
По хорошему если так делать, но установка за должна идти после обучения.
я тоже поддерживаю вариант 1. робастный. стопудово рабочий.
Эта проблема не сильно думаю касается тех у кого за 30 уровень, а таким как я сильно играет роль. И она очевидно касается только режима Maximum, когда мы грузим ТОП1 полностью
Вот скрипт включил обучение рабов, на след пересчете квала будет больше чем положено по ТОП1 и все подразделения с обучением просядут по эффективности. Штрафы выпишут. И я полагаю что штрафы от перегруза хуже чем от недогруза.
Эмпирическим путем выяснено, что рост квалы за каждую неделю обучения идет в такой зависимости 0,2 - 0,28 - 0,39 - 0,53 Самый большой рост в конце и штраф самый конский может быть особенно если рабов много и они тупые. Тут может очень сильно ударить.
То есть после первой недели будет на 0.2 выше. После второй вырастет еще на .28 и так далее. Обучалово скрипт врубает всегда на 4 недели. Следовательно если мы видим что осталось 2 недели, значит следующий пересчет вырастем на 0,39. Если одна неделя то на 0,53. Говорят что эффективность обучения падает с каждым обучением, НО необученные рабы все имеют рост квалы точно как я описал. Хоть тупые хоть умные. Всегда рост такой.
Таким образом, рост больше указанного никогда не произойдет. И мы можем заранее предвидеть будущий рост и поставить на этом пересчете квалу чуть ниже, чтобы на следующий все было гладко.
Конечная логика
Очевидно добавить опцию 3 для зарплаты.
Если Опция включена, ТО:
Смотрим учатся рабы или нет.
Если рабы учатся, тогда выставить зарплату по максимуму как разность (ТОП1 - дельта для Х недели обучения). (дельту взять из числа недель до конца). Ну и конец.
Если рабы не учатся, то Насчитать зарплату соответственно максимуму по ТОП1.
Если включена опция обучения, проверить сработает ли флаг обучения при посчитанной зарплате и текущей ситуации или нет.
Если флаг включения обучалова срабатывает, тогда скрипт будет включать обучение и нам нужно снизить зарплату на 0,2пп по квале (на первой неделе рост 0,2). Чтобы на след пересчете не попасть на штрафы.
Снижаем зарплату, выставляем ее рабам и запоминаем флаг, что обучалово надо включать.
После установки ЗП уже флаг обучения может не сработать, НО у нас есть флаг и в соответствии с ним мы врубаем обучалово.
Возможно это покажется излишне замутным. Но избавит от проблем с учеными например когда их учить можно тока в отпуске иначе падает эффетивность лабораторий.