| Форумы-->Ошибки и сбои (общее)--> 1|2|3|4
 
 
1|2|3|4К списку тем| Автор | Шанс выпадения элемента ГВ не соответствует заявленному: статистика | 
|---|
 | для гроулинг: Так собери сам, что уж там))
 Чем тебя выборка из 1750 не устраивает? Тебе ж автор даже вероятность подсчитал того, что матожидание будет 17. Почему 10000, а не 100 000? Сто тыщ то явно точнее будет))
 Выборка достаточна. Меня смущает, что результаты по элементам нормальные почти. Должно быть 32-33, так и есть, кроме некоторых элементов.
 |  | для Окрылённый: эх,тот случай,когда человеку опять в школу надо и переучиваться опять,эх,особенно математики xD
 |  | для Коля: А что не так с математикой автора? Где-то ошибка есть? Я не заметил, напиши конкретнее, плиз, где он ошибается.
 |  | для mephistos85: я уже описал и не только я,берешь его за ручку и в школу)
 |  | для mephistos85: ну может до тебя дойдет,стата тут не робит,а что тс написал,это пустая трата времени,шанс 1 к 5 работает только в единичном случае!для примера возьмем ту же рулетку,шанс выпадения числа 1к38,если ты будешь следовать логики тс,то после 38 раз,твое число должно выпасть 100%,или же после 380 раз,твое число выпадет 10 раз 100%,но увы не так это работает,можно было бы так поднимать тонны бабла)если стата бы работала,и те же сундуки и рары к ним,все та же история.
 |  | Людям, сомневающимся в достаточности выборки, рекомендую проверить её. Алгоритм прост: Берём заявленную админом вероятность, 0,2 и считаем количество совпадений из 1750. Получаем некоторое число (это будет среднее, около 350). Если получившееся число превышает 306 (число автора) или меньше 394, в итоговый массив пишем 1, иначе - 0. Прогоняем циклом 1000 раз. Много времени это не займёт, всего будет 1750 х 1000 операций, даже на джаваскрипте будет очень быстро. Получившееся число как сумма массива - будет вероятность того, что выборка недостаточна и автор нас обманывает))
 Если время будет, завтра накидаю алгоритм, он несложный совсем.
 |  | Данные собираются и обрабатываются публичным скриптом, доступным на жирновилке. Я лишь считаю погрешность при заданной выборке и пишу в тред. Вполне возможно, что ошибка есть в скрипте, но по опыту использования таких подозрений нет. 
 Исходный код ищется за пять секунд, читайте, проверяйте.
 |  | Ты не учёл, что 20% умножаются на проценты твоего аккаунта, которые могут как увеличивать эту вероятность, так и уменьшать. В зависимости, какой у тебя аккаунт. |  | 28 
 Что за проценты? В мануале ничего не сказано про другие проценты или коэффициенты.
 |  | Накидал простенький код, доказывающий, что выборка достаточна. Каждый может скопировать в браузер, задать число count сколь угодно точное и проверить.
 
 var vyborka = 1750, result = 306;
 var ver = 0.2;
 var count = 1000;
 
 var oshibka = 0;
 
 for (let j = 0; j < count; j++){
 var matozh = 0;
 for (let i = 0; i < vyborka; i++){
 if(Math.random() <= ver){
 matozh++;
 }
 }
 delta = vyborka * ver - result;
 if(matozh < vyborka * ver - delta || matozh > vyborka * ver + delta){
 oshibka++;
 }
 }
 proc = oshibka * 100 / count;
 console.log("Автор нас обманывает с вероятностью " + proc + "% (" + oshibka + " из " + count + ")" );
 |  | Написал код, скажи какой шанс ошибки? |  | А почему сразу не миллион? 
 Так собери сам, что уж там))
 
 Сто тыщ то явно точнее будет))
 
 Вот вроде бы, взрослые люди, тут цифрами козырите налево и направа, а припераетесь так, будто в 6 классе
 
 Ну, раз спросили - отвечаю
 Ни миллион, ни "сто тыщ", в данном вопросе, не подьемная цифра, в плане выполнения заданий гн, а 10к заданий сделать - реально, тем более, если 1750 уже сделано. Мне же, если говорить конкретно про меня, будет сложнее начать вести статистику, так как у меня изначально, в отличии от ТС, на 5к очков больше. Надо объяснять, дальше?
 
 Теперь смотрим - у нас 20% шанс выпадения на 1 задание, не зависящая от других факторов. Другими словами, у нас кубик, с 5 гранями, 20% того, что выпадет 3(к примеру),но, это шанс выпадения 3ки равен 20%, а не 20% выпадений за n кол-во бросков
 
 Да, хорошо, есть ЗБЧ, который, как раз таки, и гласит, что для такой вероятности, нужна именно большая выборка событий, чтобы +- подсчитать точность. Тем более, в расчётах ТС указан около стоящее значение. Если было была разница, скажем, в половину, то тут да, и 1к было бы достаточно, но а раз значение рядом - продолжаем выборку.
 
 Опять же, ни миллион, ни сто тысяч, в данном случае - сделать не реально, а вот 10к - да! Я ж не с потолка взял эту цифру.
 
 P. S. Где то на 6к заданий, я свёл свою статистику, к сожалению, наглядно доказать, не смогу, так как все данные утеряны, но, у меня % был 21.3. Мне везёт?
 |  | для Воля Мертвых: Как повезëт, разные запуски дают разные результаты))
 Но все запуски у меня давали результат менее 1%.
 
 Это значит, что чисто теоритически может быть такое, что выборка мала и ТС просто не повезло. Вероятность этого около 0,5 %.
 |  | для гроулинг: А как ты собирал данные? Записывал куда-то то, что выпало?
 Просто задним числом это сделать не получится даже примерно. Элементы выдаются за донаты, ещё за что-то (не помню уже). Поэтому просто взять количество проданных, например, тобой элементов и сложить с количеством имеющихся не выйдет, не всё элементы были получены в ГН. Единственный вариант как мне видится - собирать онлайн, то есть писать куда-то то, что выпало после каждого задания.
 |  | За все мною проведённые бои в гильдии мне не выпало ни одного элемента. Автор о чем? Кгам |  | для mephistos85: Тоже простенький код, достаточно сохранить в файл с расширением vbs.
 Если запустить несколько раз, то очевидно, что при серии 1000 шанс получения менее 185 элементов более 10%.
 p.s. Сорри за код, vbsсript почти не знаю)
 
 Randomize
 
 dim arr
 arr = Array(17.5,18.5,19.5,20.5,21.5,22.5,100) 'диапазоны
 dim mas
 mas = Array(0,0,0,0,0,0,0) 'вероятности
 
 n = 1000 'серия бросков
 s = 100 'количество серий
 
 for j = 1 to s
 k = test()
 mas(k) = mas(k) + 1
 next
 k = ""
 for j = 0 to UBound(mas)
 if j = 0 then
 k = k & "<" & arr(j)
 elseif j = UBound(mas) then
 k = k & ">" & arr(j-1)
 else
 k = k & arr(j-1) & "-" & arr(j)
 end if
 k = k & "=" & mas(j)/s*100 & "%" & vbCrLf
 next
 msgbox k
 
 function test 'возвращает код диапазона
 e = 0
 for i=1 to n
 if rnd <= 0.2 then
 e = e + 1
 end if
 next
 p = e / n * 100 'вероятность выпадения элементов в серии
 for i=0 to UBound(arr)
 if p <= arr(i) then
 test = i
 exit function
 end if
 next
 end function
 |  | Чё мне в ГВ не падает? втф! |  | для mephistos85: Math.random()
 
 Ууууу, всё понятно, у вас рандом ненастоящий
 |  | для Ed_War: К сожалению, у меня убунта, я не знаю, как запустить VBScript. То есть, знаю, но мне лень возиться с виртуалкой. Я специально написал на js, чтобы мой код мог запустить любой человек за 1 минуту без установок программ, прямо из браузера.
 Жмёшь F12 - консоль - вставляешь код и смотришь.
 
 По сути твоего кода отвечу ближе к вечеру, как посмотрю, возможно я где-то ошибся.
 |  | для mephistos85: Даже из Вашего примера программы получается, что у примерно 1% игроков в серии из 1750 боев выпадет 306 и менее элементов. 1% - это не так уж и мало. А вот 3060 и менее из 17500 уже почти невероятно) Так что все в порядке, чем меньше длина серии, тем более вероятно отклонение от 20% вероятности.
 |  |