Форумы-->Общий игровой форум--> 1|2|3|4|5|6|7|8
Автор | Ценность статов. |
137,138
бред и деза | читаем внимательно 136
думаем
и не занимаемся абстрактными рассчетами
считайте для конкретного примера всегда | имеет смысл, если считать, что одеть в го
например, при охоте на големов или зомбей
тогда математика работает на 100%
и тут мы замечаем, что с высокой ини и бд мы бьем не 50% ходов (ударил-отбежал), а 67%+ ударил-ударил-отбежал
а если парная охота, и на фур наложена имбовая скорость на 10+ ходов, то там может быть и удар-удар(бд)-удар-удар(бд)-удар-отбежал, т.е. 80%+ходов, т.е. в 4 раза эффективнее
Фурии... Рекорди... Летают как угорелие...Когда им иньку то порежут? )) | 140,141
тьфу , не в ту формулу подставил , да , я был неправ ) 137 и 138 бред ) | Фурии... Рекорди... Летают как угорелие...Когда им иньку то порежут? )) - сразу после того, как увеличат им хп и защиту :)) | для dril:иня не показатель я на последнем МТ из 3х зеркалок с СЭ выиграл все 3 и во всех трех случаях проигрывал стартовую стрелковую линейку вчистую | А как просчитать другую зависимость чем большее число раз стек сморалит, тем больше число раз его посетит удача? | повторю, сравнивать атаку удачу бд и ини имеет смысл только рассматривая конкретный бой
в приведенном мною примере приоритеты статов таковы
ини
бд
удача
атака
защита
т.е. ценность 1 стата защиты = 0 | для DeGart_Blessed:
при равных перках? | для DeGart_Blessed:
бои пвп не могут служить показателем чего-либо,
ибо за кадром остается боевое умение человека | А если серйозно, то замечал, что когда даешь хорошее ускорение ну хотя б на 40% арбам и имеешь 4 БД, то они успевают в среднем по 3 раза стрельнуть против того же зомбия, пока он соизволит сделать движение. | для dril:
хз непомню перки, противников, но все были атакерами я дефером | математически можно просчитать всё, другое дело что это будет не какие то там проценты которые вы тут все пишите, а случайные величины, интегралы дифф уравнения и тд, составлять и решать которые будет только мазахист | Понимаю, что сегодня всем не до этого, но нужно сегодня постить продолжение, а то забуду потом.
продолжение 210, 212
Инициатива.
Рассматривал 2 варианта подсчёта ценности инициативы. Первый - это аналогично атаке и дефу, подобавлять одному и другому стеку по +1%(другому числу) ини. И увеличив рассматриваемый цикл до необходимого(считая при этом, что единственный обгон более скорым юнитов другого может произойти на любом из рассматриваемых ходов с равной вероятностью), вывести точно так же ценность ини из отношения пачек нужных для ничьи. Но это плохой вариант. Так инициатива приравнивается к стабильно выпадающему БД, а не даёт того бонуса, за который мы все любим инициативу - походить раньше противника.
Поэтому был выбран вариант 2.
Предположим у рассматриваемых стеков скорость очень высокая, например, 20, то есть они с первого хода после расстановки могут атаковать противоположный стек. Добавляем одному стеку +N% инициативы. Теперь разбрасываем стеки на [0;0,1] по АТВ-шкале, а потом будем считать не как для атаки и дефа среднее между ходящим первым и ходящим вторым юнитом, а только для более инициативного стека, учитывая, что он с разной вероятностью может ходить первым или вторым.
Допустим у обоих юнитов инициатива 10 (в принципе всё равно какое число брать, поэтому лучше даже взять инициативу 100, чтоб запятой не получалось). То есть 100. И мы одному из них добавляем +N% инициативы. Тогда его инициатива будет 100+N. Сразу заметим, что для того, чтобы юниты вышли на ту же самую позицию, что и начальная по АТВ (то есть произвели цикл, после которого очерёдность их ударов будет повторяться), нужно чтоб первый юнит сделал 100+N ходов, а второй – 100 ходов. То есть столько раз пробежал АТВ-шкалу.
Для начала посчитаем вероятность того, что более инициативному юниту выпало ходить первым. Достаточно сложный подсчёт, по правде. Не знаю расписывать или нет. Наверно нужно, это само по себе интересно и достойно исследования, насколько от инициативы зависит вероятность походить раньше противника.
Меняем термины. Говорим, что ини – это «скорость» продвижения по АТВ-шкале. Скорость первого юнита 100+N, скорость второго 100. Длину круга примем за (100+N)*100. По АТВ-шкале их вначале разбрасывает в промежутке [0;0,1] от длины круга, то есть в данном случае на [0;10*(100+N)]. Пусть первого (более инициативного) выкинуло в точке А, а второго в точке B этого промежутка. Функция движения первого по АТВ-шкале A+(100+N)*T, а второго B+100*T, где T – «время».
Когда каждый из них достигнет конца АТВ-шкалы (то есть окончания круга) их положение будет равно (100+N)*100. Найдём, с каких позиций они должны стартовать, чтобы достигнуть конца круга одновременно (T первого = T второго). Значок системы: A+(100+N)*T=(100+N)*100 и B+100*T=(100+N)*100. Выразив Т из обоих уравнений, приравняв, домножив на (100+N)*100 и приведя подобные, получим (100+N)*B-100*A=(100+N)*100*N. Найдём самое минимальное значение B, при котором второй стек может обогнать первый. Ясно, что это значение будет при A=0 (то есть когда первый стек стартует с начала круга), Находим B=100*N. Это минимальная точка, стартуя из которой второй стек может обогнать первый. То есть при B<100*N первым будет ходить первый стек. Максимальная же точка, стартуя из которой второй стек обгонит первый, ограничена концом промежутка стартового разброса и равна 10*(100+N). Тут заметим, что при 100*N>10*(100+N) минимальная точка будет больше максимальной, а, значит, второй стек не сможет походить раньше первого. То есть при N>11,(1) (11%+ инициативы) более инициативный стек всегда будет ходить первым, что в принципе и так известно. Поскольку для каждой точки от минимальной до максимальной (при неизвестном N) посчитать невозможно, произведём вычисления для средней точки (среднего арифметического минимальной и максимальной), которая равна 500+55*N. Находим соответствующее А для этой точки. После преобразований получим A=(100+N)*(500-45*N)/100.
Таким образом для того, чтобы вто | Таким образом для того, чтобы второй стек походил первым, необходимо чтобы точка B попала в промежуток [100*N; 10*(100+N)] стартового промежутка, а точка А попала в [0; (100+N)*(500-45*N)/100] того же промежутка. Значит вероятность того, что менее инициативный стек походит первым равна произведению дробей (1000-90*N)/(1000+10*N) * (500-45*N)/100, где N – это то, на сколько процентов первый стек инициативнее второго.
В цифрах:
Если преимущество по инициативе +1% - вероятность пойти первым 59%.
Если преимущество в инициативе +2% - вероятность пойти первым 67%.
Если преимущество по инициативе +5% - вероятность пойти первым 85,6%.
Если преимущество в инициативе +10% - вероятность пойти первым 99,5%.
Если преимущество в инициативе +11% - вероятность пойти первым 99,995%.
P.S. В-общем, я устал писать на сегодня. Посчитал я побольше, конечно. Но, думаю, формула подсчёта вероятности какой стек походит первым тоже не ерунда и будет полезна в игре. Можно даже отдельной темой было постить. | Практическое применение и чуток преобразованная формула.
Например, у ваших мастеров лука +14% инициативы, а у вражеских +10% инициативы и вы хотите узнать, насколько вероятно, что ваши луки пойдут раньше.
Для этого делим 1,14 на 1,10, получаем ~1,036 и подставляем число 3,6 в формулу вместо N.
(10000+2000*N-81*N*N)/(20000+20*N)
и получаем 0,779, то есть ~78%. | всё это на уровне 1 курса теории вероятности, то есть с реальностью не имеет абсолютно ничего общего | 156+
В формулу из поста 156 нельзя подставлять N>11% инициативы, естественно. При таких N ваш юнит наверняка пойдёт раньше юнита противника. | Понимаю, что сейчас всем не до этого, но, однако, продолжаем 110, 112, 154-156.
Теперь, когда мы знаем вероятности сходить первому для каждого из юнитов, нам нужно рассматривать две ситуации – когда первым ходит более инициативный юнит и когда первым ходит другой юнит.
Вспомним, что для повторения цикла будет после того, как юнит с бонусом по инициативе сделает 100+N ходов, а другой юнит сделает 100 ходов. То есть произведут столько атак. Выходит, что N атак первого юнита останутся без ответа. Попробуем определить на каких ходах могут быть эти безответные атаки. Если б юниты разбрасывались где угодно по АТВ-шкале, то безответные атаки могли бы быть на любом ходу. Но здесь начальное положение ограничено промежутком [0; 0,1] АТВ-шкалы, поэтому не все ходы будут возможными для безответных атак.
Рассматриваем ситуацию, когда первым ходит юнит с бонусом по инициативе. И определим на каком самом раннем ходу он имеет возможность повторно обогнать на АТВ-шкале второй юнит. Ясно, что самым ранним этот ход будет, если ему выпало стартовать с самого конца промежутка [0; 0,1], а другому юниту – из самого начала (то есть 0). В этом случае уравнение движения по АТВ-шкале для первого юнита – 10*(100+N)+(100+N)*T, а для второго 100*T. Поскольку первый юнит должен обогнать второй на целый круг, который равен 100*(100+N), можно записать уравнение 10*(100+N)+(100+N)*T=100*T+100*(100+N). Решая его, получим T=90*(100+N)/N. Через это время первый юнит повторно догонит второй. Сколько это в ходах юнита? Подставим это T в уравнения движения первого юнита и разделим на длину круга. После преобразований получим (N+90)/N ход. То есть, скажем, если N=1%, то первый юнит обгонит второй на 91-ом ходу, точнее (поскольку, у нас деление нацело) его 91-ый ход совпадёт с 90-ым ходом второго юнита. А, например, при N=7% мы получим 13,8. Значит первый юнит проведёт свой 13-й и 14-й ход подряд, а потом только второй юнит произвёдёт свой 13-й ход.
В общем, с самым ранним обгоном разобрались. Теперь самый поздний обгон когда возможен. Объяснять это момент лучше практически. Мы выяснили, что для N=1%, если при стартовом разбросе первым ходит первый юнит, то он может обогнать второй самое ранее на 91-92-ом ходу. То есть цикл в этом случае будет такой – вначале 90 раз юниты ходят по очереди, потом 2 раза ходит первый юнит, потом второй, и потом ещё 9 раз они ходят по очереди. Далее юниты вернутся в начальное положение на АТВ-шкале и цикл будет повторяться. При этом первый юнит сделает 101 ход, а второй – 100 ходов. Очевидно, что самый поздний обгон может произойти на самом последнем ходу цикла. То есть вначале юниты по очереди делают 100 ходов, потом первый делает ещё один ход и цикл заканчивается.
Теперь рассматриваем ситуацию, когда юнит с бонусом по инициативе ходит вторым. И определим на каком самом позднем ходу он имеет возможность обогнать на АТВ-шкале второй юнит. Ясно, что самым поздним этот ход будет, если ему выпало стартовать из самого начала промежутка [0; 0,1], а другому юниту – с самого конца. В этом случае уравнение движения по АТВ-шкале для первого юнита – (100+N)*T, а для второго 10*(100+N)+100*T. Поскольку первый юнит должен догнать второй, можно записать уравнение (100+N)*T=10*(100+N)+100*T. Решая его, получим T=10*(100+N)/N. Через это время первый юнит догонит второй. Сколько это в ходах юнита? Подставим это T в уравнения движения первого юнита и разделим на длину круга. После преобразований получим (N+100)/N*10 ход. То есть, скажем, если N=1%, то мы получим 10,1, что значит, что первый юнит сделает свой 10-й ход после 10-го хода второго юнита, а свой 11-ый ход он уже сделает раньше 11-го хода второго юнита. Заметим, что уже при N=6% мы получим 1,76. Значит, что при N=6% и выше первый юнит проведёт сделает свой 1-ый ход после 1-го хода второго юнита, а 2-ой ход у него будет уже раньше.
* Отступление. (Имеет отношение к игре)
Поскольку тут мы сейчас вычисляем самый поздний обгон, то можно говорить о том, что если инициатива одно | * Отступление. (Имеет отношение к игре)
Поскольку тут мы сейчас вычисляем самый поздний обгон, то можно говорить о том, что если инициатива одного юнита больше другого на 6% и выше, то более инициативный юнит второй свой ход сделает наверняка раньше менее инициативного. Это аналог 12% инициативы необходимых для того, чтобы походить раньше противника первым ходом.
Ну и самый ранний обгон в случае, когда более инициативному юниту выпало ходить вторым будеи естественно на втором ходу. То есть для N=1%, если при стартовом разбросе первым ходит второй юнит, то его сможет обогнать первый самое позднее на 11-ом ходу. То есть цикл в этом случае будет такой – вначале 10 раз юниты ходят по очереди второй-первый, потом снова ходит первый,, потом ещё 90 раз по очереди второй-первый. Далее юниты вернутся в начальное положение на АТВ-шкале и цикл будет повторяться. При этом первый юнит сделает 101 ход, а второй – 100 ходов. Самый поздний обгон может произойти на втором ходу цикла. То есть вначале пойдёт второй, потом первый, потом снова первый, и далее до конца цикла 99 раз по очереди второй-первый.
Теперь что нам нужно сделать? Для N=1% инициативы.
Когда первому юниту выпало ходить первым, найти количество мобов, необходимых для ничьи, для случаев 91-92-го ходов подряд, затем для 92-93-го ходов подряд и так далее до 100-101-го ходов подряд - и потом усреднить.
И когда первому юниту выпало ходить вторым, найти количество мобов, необходимых для ничьи, для случаев обгона второго юнита на 11-ом ходу, затем тоже для 10-го хода, затем для 9-го, и так далее до 2-го хода - и потом усреднить.
А потом посчитать среднее количество среди этого, учитывая что более инициативный юнит пойдёт первым с большей вероятностью (уже посчитанной вчера). И разделить это количество на на 1000 (число мобов в пачке в начале исследования без добавления ини). Получим увеличение силы юнита от добавления +1% инициативы.
Но только сегодня я делать это не буду.
И ещё отметим, что если числа 100 и 100+N имеют общие делители, то нам не нужно проделывать весь цикл со 100+N ходами первого юнита и со 100 ходами второго юнита, его можно сократить. Так, для N=5%, вместо того, чтобы делать цикл в 105 и 100 ходов, его можно сократить до 21 и 20 ходов. То есть до одного единственного обгона за какое-то зависящее от N количество ходов. То есть вычисление таких случаев сведётся к подсчёту, аналогичному подсчёту для 1% инициативы, описанному выше. Если же числа 100 и 100+N не имеют общих делителей – то такое невозможно, но мы предположим, что бывают дробные ходы, усредним, воспользуемся данными для других случаем и т. д. И выведем как-то формулы и для этих случаев.
P.S. Никто вообще не читает? |
Тема давно не обновлялась и считается устаревшей для дальнейшего обсуждения. 1|2|3|4|5|6|7|8К списку тем
|