CustomGames.ru - Dota 2 пользовательские игры

Псевдослучайное распределение

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ZLOY

  • Супермодератор
  • 396
  • Мощь: 5
Ну короче решил я сделать такую штуку чтобы использовать для своих способностей основанных на ability_lua. И даже что-то получилось, но есть небольшая проблема - распределения вероятностей не совсем совпадают с аналогичными полученными с помощью рандома от Valve. Возможно кто-то занимался такими делами и подскажет мне в чем проблема.

Код системы

PS: я взял за основу код с этой страницы.


Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Псевдослучайное распределение
« Ответ #1 : 29-10-2016, 21:11:32 »
Ты не хочешь использовать псевдорандом датадрайвена?

Оффлайн ZLOY

  • Супермодератор
  • 396
  • Мощь: 5
Re: Псевдослучайное распределение
« Ответ #2 : 29-10-2016, 21:15:34 »
ability_lua

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: Псевдослучайное распределение
« Ответ #3 : 30-10-2016, 00:37:21 »
Я понял, что на луа. Но кто мешает сочетать? Кроме того, лучше по максимуму делать в кв.

Оффлайн ZLOY

  • Супермодератор
  • 396
  • Мощь: 5
Re: Псевдослучайное распределение
« Ответ #4 : 30-10-2016, 05:36:20 »
Не лучше. У меня есть конкретный вопрос, если ты не можешь ответить, то не нужно флудить тут.
Есть много вещей для реализации которых приходится заниматься костылированием и мнимое быстродействие КВ испаряется.

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: Псевдослучайное распределение
« Ответ #5 : 30-10-2016, 07:15:24 »
Довольно странный переход у валвовского PSR
[свернуть]
Даже если забить на него, рост вероятности у валв больше твоего выходит, а значит константа высчитывается другая.
Возможные предположения:
-PSR валв реализован через измененную от приведенной механику, попробуй построить марковскую цепь вручную, мб чем поможет.
-Округление у плюсов и луа настолько различается в точности, что выходит такой прирост.
Можно еще потыкать учебник по статистике/терверу, и попробовать самому высчитать с нуля необходимые вероятности и подогнать их под валвовские, должно помочь.

UPD: Вот как обычно расчитываются Марковские цепи.
stu.sernam.ru/book_spr.php?id=31
« Последнее редактирование: 30-10-2016, 07:20:23 от CryDeS »