Верояности - Информация к размышлению
-
Почитала...подумала...вспомнила с теплотой 1,2 курс вышки...
Даже тепло на душе стало от мудрости играющих. А потом говорят, что игра ничему не учит... Собственно я о чем (я, правда, с формулами не дружу, так что извините если чего-то не допоняла, сошлюсь на тяжелый день и вообще пол четвертого утра но, по-моему ребята, вы не учитаваете фактор того, что кроме умного ВАС, убившего 30 000 монстров есть еще люди, которые этого не считали, а просто зашли с первой попытки (по вашему счету, допустим удачного 30 001моба) витату взяли - бывало такое! Если касательно исключительно теории, то все верно и, вроде не так страшно...подумаешь 30 000 мобов , а реально эту формулу нужно привязать к n личностям, также как и Вы убивающих этих же монстров, а то 5% вероятности того, что шмот не выпадет могут растянутся оооооочень надолго, когда рядом стоящим шмот выпадет, а Вы 60 000 перебъете и нифига...верно? По-моему смысл затерялся...и все снова зависит от человеческой удачи! -
Кстати, про человеческую удачу: я играю на сервере практически с самого его рождения (еще помню бесплатные варпы и mr smile по 4к), хотя и не манчкинствую ночами... но всё же: не одна сотня тысяч перебитых мобов... и всего 3 карты за всю жизнь.
А вам слабо? )) -
<написал пост и закрыл таб. вот млин. вторая попытка будет более короткая>
Я практически полностью уверен, что в игре используется банальный рандом. он ничего не учитывает, кроме вероятности самого дропа. Причем он работает по следующей формуле:
если ( item_drop >= случайное_число_до( 10000 ) / 100 ) то падает предмет
под эту формулу хорошо ложаться некоторые и програмные и логические моменты
- 10000 замечательно влазит в int
- рандом ( rand() ) работает с целыми числами
- предел вероятностей от 0.01 до 100 - именно так и есть на нашем сервере
Соответственно для того что бы вывалился рар (0.01) нам надо, что бы из 10000 чисел вывалилась 1. не густо :), для 0.1% от 1 до 10 - уже как-то легче... и т.д.
Возвращаясь к формулам, что прозвучали в начале - да. они будут работать, но реальные цифры преобретают смысл. при условии,ч то количество полных попыток (от начала выбивания до падения) будет стремиться к бесконечности.
-
Рандом-то он рандомом, но и этот рандом можно описать формулами, что, в принципе, и делали многие личности в этом топе. Теория вероятности с этим рандомом и работает.
Astar, так что будем верить науке и идти убивать 30к (или 50к) мобов вплоть до выпадения рара -
Есть задуманная концепция выпадения редких предметов. Это - теория, и описывается формулами из теории (тер. вер.), соответственно. Есть конкретная реализация.
Теория вероятностей предусматривает некие случайные события. С точки зрения реализации в скрипте случайное событие - это rnd().
Печаль в том, что самой rnd(), как любому порядочному случайному событию, плевать на тер. вер.
-
Читаю посты, в которых продают карты райдрика, гостринга, мурамасы всякие, те же тары.. Я в общем уже привылка, что выпадение раров - это не для меня. 95йлвл - наверное, я немало времени провела в игре, но выбила всего 2 по-настоящему ценных карты - мумию и (о чудо!) виспер. Зато не раз выбивала из бэби леопарда яблоко (обычное яблоко, которое восстанавливает капельку хп) с шансом 0.01. Вчера вот на стингах охотилась за слотовой перчаткой (шанс 0.02), получила из мыши карту Tarou, тоже шанс 0.02.. Вот только стоит перчатка 7кк, а карта - 100к
Кому не везет?
П.С. Естественно, во все дни двойных и тройных дропов мне не выпало ничего, хотя я добросовестно манчкинила часами -
вероятность не может быть одиним числом!!
вероятность всегда будет 1-X...вот так то) -
Лично я, честно говоря, всегда думал, что вероятность выпадения той или иной вещи в подобных играх должна считаться в зависимости от количества игроков и количества этих вещей в игре.
В противном случае редкие вещи рано или поздно перестанут быть редкими. Ведь игра - это как государство, если не контролировать эти вероятности, то начнется хаос.
Представте сервер с постоянным количеством активных игроков. Если редкая вещь будет выпадатьс фиксированной вероятностью, то количество этих вещей в игре будет расти с постоянной скоростью, а значит, за конечный отрезок времени эту вещь получат все.
Я думаю так, что чем больше процент игроков владеющих той или иной вещью тем ниже вероятность ее выпадения.
Правда в таком случае может наступить ситуация, когда редкую вещь вообще добыть будет практически невозможно. ИМХО, так оно и есть в игре. -
кто курсовик по вышке сделает???? :lol: :lol: :lol: :lol:
-
@OR:
Это не вышка, брат, это теория вероятности и математическая статистика...люди которые разбераютья в теории вероятности и математической статистике я думаю смогут сделать и по вышке-а вообще я просто шутил-она 3 курса назад кончилась)
-
Шанкар, славо богу у нас такого нет, именно по этому дешевеют некоторые вещи, хотя други и дорожают :).
-
@"AstarЯ-практически полностью уверен, что в игре используется банальный рандом. он ничего не учитывает, кроме вероятности самого дропа. Причем он работает по следующей формуле:
если ( item_drop >= случайное_число_до( 10000 ) / 100 ) то падает предмет
а ты уверен что именно так работает рнд?
а как он находит то самое случайное_число_до( 10000 )?
вообще есть предположение что функция рнд получает от таймера число - к примеру минуты - которое периодическое в момент обращения этой функции к таймеру
далее оно обрабатывает как хочет(заложено программой)
кто знает как она работает? это было лишь предположение
ЗЫ не забывайте что события выпадения карты для одного человека независимы
и для группы людей так и остается 30 к мобов убить чтоб с вероятностью 95% выбить хоть 1 карту -
Читаю и вспоминаю , как зашёл на карту с лягухами , убил 1 , а из неё....... Рода фрог карта. Так что засуньте свои подщёты себе подальше.
-
Кофеинов, какой ты модный математик.
-
@"skurudo":
Кофеинов, какой ты модный математик. Спасибо. -
мож дроп всё же от лака зависит?
есть 2 чара. у одного лак - 9, пока я был новисом нашибал 20 штук поринг карт.
у другого чара лак - 1, пока что ни одной карты не выбил, хотя уже давно не новис. -
OR, полностью с тобой согласен. Так всегда и происходит.
Или еще, к примеру, пытаешься ты выбить тару, завалил порядка 7000 лягух, а карты нету. Опечаленный, ты плетешься куда-нить качаться, и там из первого же моба выпадает какое-нибудь яблочко с вероятностью 0,01%. Проклиная все на свете, ты продолжаешь качаться, а потом опять идешь безрезультатно выбивать карту. Вот такие грустные истории на каждом шагу -
Dandy,
а ты уверен что именно так работает рнд?
**а как он находит то самое случайное_число_до( 10000 )? **
следует разделять понятия рандома и его использование. Я написал как он используется. Реализация рандома является system/library-specific, но реально практически все rnd завязаны на внутренний таймер. только там не минуты...и даже не секунды
OR,
if (item.drop >= random(10000)/100) item.DropItem это линейно распределенная случайная величина в диапазоне от 0,00 до 99,99
ты как-то странно мыслишь....
подумай еще раз. да это линейно распределенная величина, НО мы то сравниваем не с конкретным числом, а с диапозоном, и по этому все правила соблюдены: предмет с вероятностью в 2 раза больше будет покрывать диапозон рандома в 2 раза больший. и соответственно падать он будет в два раза чаще
о дроп карт должен быть с вероятностью 99.98%
ты ничего не попутал?
дроп карты 0.01%
имеем формулу rnd(10000) / 100, которая дает последовательность чисел равномерно распределенных в диапозоне [0.01;99.99]
имеем
if ( 0.01 >= rnd( 10000 ) / 100 ) item.drop();это выполняется только, если рандом вернет 1 из 10000 возможных. причем тут 99.98%?
если ты так и не понял свою ошибку, поясню на пальцах:
предположим рандом возвращает некое случайное число X
99.98 >= X/100
9998 >= X
X <= 9998
и как, думаешь, сложно ли выкинуть число от 0 до 9998 при рандоме на 10000.
Может, еще раз тебе посетить школу? -
OR,
давай без оскорблений. и без перехода на личности.
я читал весь топик.
а вот ты даже не одосужился пораскинуть своей думкалкой.
я сразу сказал, что это предположение о реализации
не парь мне мозг. особено про свою безграмотность в программировании.
Я не знаю чем ты занимаешься, но что-то мне подсказывает, что опыта в программировании у меня поболее будет. особенно в области разработки игр.
РАЗУЙ ГЛАЗА.
А теперь по пунктам.
**2) Диапазон random(10000)/100 это [0.00; 99.99] **
так и есть, я с этим спорю?
а теперь потрудись оценить вероятности [0.0;0.01], [0.0; 1.0]. [0.0; 55.0]
они для тебя тоже одинаковые? ух ты.
3) Дроп карт не всегда 0,01. У крими, например, 0.03. Про поринга вообще молчу, 0.2 шанс.
вероятность 0.01% было взята как пример. как самая минимальная единица. если ты ищешь лишь бы до чего доколупаться - будь добр, не ко мне.
4) А твои комментарии в конце вообще вызывают даже не улыбку, а жуткий, глубокий смех, с паданием со стул
если ты не в состоянии уделить внимание чьему либо мнению и попытаться понять. то тебе можно только посочувствовать. Я еще раз говорю, что тебе стоит подумать.. а не сразу начинать кататься, гледишь может и заметишь свою ошибку.
**9998 из 10000 это и есть 99.98%, как было сказано ранее. **
это к чему? это же ты сказал, что по моей версии вероятность должна быть 99.98. я тебе привел доказательство. что ты не прав. что "0.01" по данной формуле будет давать именно такую вероятность, а не "99.98"
сначала протрезвей и прочитай
я так понимаю, что кроме оскорблений ты ни на что не способен? если я не прав приведи математическое опровержение, а не понты и наезды.Кстати, знаешь, как работает генератор чисел?
**Очень просто. **
и в какой это реализации? твоей? сервера? stdlib? если последнее, то в чьей реализации? ms? borland? gcc?
Если ты не заметил, то по сути я привел код на Си (С++).
Открываем msdn и смотримint rand( void );
Return Values
rand returns a pseudorandom number, as described above. There is no error return.
Remarks
The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand.Если ты СЛЕП, то я тебе укажу на тип возвращаемого значения. он int. знаковое целое. и спрашивается, какое нафик является числом с плавающей точкой (0,1) оно вернет?
Повторюсь, вышеприведенный мной вариант является версией как это реализовано в сервере. Я могу быть не прав - я кода не видел. НО данные строчки кода предоставляют требуемую функциональность.
Вполне какой-нить умник мог сам подбирать коэффициенты для формулы получения псевдослучайных чисел, но я не считаю правильным изобретать велосипед.ЗЫ. в своем первом посте я сразу сказал. что это не имеет отношения к теории вероятности и пр. (на тему "ознакомления со всем тредом" )
-
OR, легче купить, не легче - не знаю, но я вырос на тарах =). Выбив за полторы недели 4 штуки, я прилично заработал и думал, что выбить ее нетрудно. Правда сейчас эта сволочь никак не выбивается уже 2 недели:(