Форумы-->Ошибки и сбои (общее)--> 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% вероятности. |
1|2|3|4К списку тем
|