#1 MitUI_renamed_1223932_17012023 10.01.2016, 18:04
Руководство составляется совместно с FluiD96 и другими людьми "ради идеи свободного исходного кода и альтруизма"


Получение настоящего случайного значения в современных процессорах не существует. Всегда можно вычислить ситуацию, в которой вас ждет успех с более высоким шансом, чем в обычном случае.
А теперь рассмотрим пример самого простого вида рандома в этом мире – Русская рулетка.
Допустим, у вас есть 6 людей и 6-и зарядный револьвер. В нем есть 1 патрон.
По очереди каждый человек берет пистолет и делает выстрел себе в висок. Следующий человек берет пистолет, если предыдущий выжил, проворачивает барабан пистолета на 1 деление, и делает выстрел. Таким образом, первый человек при выстреле себе в висок вознесется с шансом 1/6 = 0,1(6) = 16,(6)%, второй - 1/5 = 0,2 = 20%, а последний - 1/1 = 1 = 100%.
Таким образом, можно предсказать, что в тепличных условиях, если вы – последний человек в ряду, и до вас дошел выстрел – вы точно умрете, ведь 5 предыдущих выстрелов были холостыми.
Добившись подобной ситуации в играх, например BDO, вы сможете предсказать результат случайного события с высокой вероятностью. Хоть в этой игре правила намного сложнее и введены дополнительные переменные, за все события, псевдослучайные (заточка, выпадение шмоток, крафт и тп) и предсказуемые (получение энергии, уровня, очков навыков и тп) всегда отвечает счетчик. Он зациклен, в предсказуемых - происходит сброс на 0 при достижении определенной величины (статичной или растущей с каждым последующим сбросом), в случайных - результат от каждого выпавшего значения напрямую виден в игре, но сбросы на независящее от предыдущего числа значение так-же иногда присутствуют, дабы усложнить возможности по предсказанию результатов. Также проблемой BDO является невозможность сохранения-загрузки ^_^.

Пример составления псевдорандомных чисел:

$server_seed = "39b7d32fcb743c244c569a56d6de4dc27577d6277d6cf155b dcba6d05befcb34";
$lotto = "0422262831";
$round_id = "1";
$hash = hash("sha256",$server_seed."-".$lotto."-".$round_id);
$roll = hexdec(substr($hash,0,8)) % 15;
echo "Round $round_id = $roll";

Добавьте этот код в Тестер
Меняя значение Round_id, можете узнать, какое число выпадет в каждый конкретный раз.
Без изменения первого и второго параметров результат всегда будет один.
Вы можете считать второй параметр - постоянной, зависящей от того, какое действие вы делаете, а первый - той переменной, которая меняется, мешая предсказанию следующих результатов в любой деятельности.




Показательный пример отсутствия случайностей:


Разберу подробнее именно псевдослучайные события в Black Desert Online.


1. Крафтовые Ремесла - Изготовление, Алхимия, Кулинария, Урожай.

Итак, в этих профессиях реализован единый принцип, где каждый раз результат зависит от выпавшего значения счетчика:


Для крафта сервер генерирует специальную кодовую комбинацию, в которой зашифрован пулл ближайших нескольких десятков значений счетчика Х (около 40-100), образуя цикл. При этом существует равновероятное появление всех возможных значений, в резуьтате чего даже по результатам 300 крафтов распределение результатов будет таким же, как и после 10000 крафтов при равных условиях.

Поэтому если вы заметили, что в определенный момент вам напрокало слишким много самых плохих вариантов в какой-либо из профессий, впоследствии следующие крафты будут более успешными (и наоборот), что можно использовать как способ повышения эффективности крафта по дорогим рецептам..

Значение счетчика Х в крафте смещается с наибольшими шансами незначительно, меньше - на большие значения. Выпавший результат будет определять, что именно вы получили. Сама переменная Х одна не только для всех рецептов в рамках одной профессии, но и вообще для всех указанных профф.

Поэтому наблюдается взаимное влияние между любыми крафтами, что можно использовать себе на пользу - находить моменты, когда Х с высоким шансом в следующем опыте примет выгодное значение, и только тогда использовать дорогой рецепт.


Типичный пример смещения значения счетчика:



И последнее: После нахождения Х, проводится сопоставление результата с уровнем навыка, использованным рецептом, вкачиванием узла и, возможно, другими константами. Определяется, к какому результату относится выпавшее значение и именно столько итогового материала вы получите.
В примере выше новичок в проффе по легкому рецепту получил бы 2 2 1 2 1 1 скрафченых материалов, а вот грандмастер - 3 4 1 4 1 1.
Дополнительно:
Всегда есть 25% шанс на прок самого плохого варианта. Это минимальное значение и оно имеется хоть на эксперте, хоть на мастере, хоть на грандмастере и с повышением навыка не уменьшится. Остальные варианты крафта начинают постепенно появляться при повышении уровня навыка, сначала мало, но в итоге доходя до 25% (для легких рецептов).
После достижения определенного навыка у многх рецептов начинают появляться дополнительные проки ресурсов более высокого уровня - например, Темное пиво при крафте Пива или Слиток меди при крафте Кусков меди.
Эти значения выдираются из высших значений счетчика и начинают занимать все больше и больше вариантов. Таким образом прокает обычный результат, например, 3 куска меди, и проковый 1 слиток меди.

При повышении уровня узла часть значений (не включающая константу в 25% самого плохого прока) будет смещена в пользу лучшего крафта из возможных.

Для практического обучения я записал 2 видео. Вы можете наблюдать результаты крафтов и попытаться предсказывать следующий результат следующего, определять моменты, когда мне стоило бы переходить на дорогие рецепты:

Крафт с высоким уровнем навыка (Эксперт 8 - Мастер 4):


Крафт от Новичок 1 до эксперт 4:




Вывод: При наблюдении за любыми крафтами, можно находить случаи, когда разовый или даже серия крафтов будет происходить с самыми лучшими или самыми худшими результатами из возможных. Приобретя практический опыт, вы сможете перебрасывать лучшие проки именно на дорогие и важные рецепты.



2. Получение потомства в Коневодстве.

При разведении коней система рандомизации несколько усложнена введением новых постоянных. Но! Её можно разделить на 2 независимых этапа, изучив каждый из которых, можно добиться более предсказуемых результатов, и как следствие, действовать более направленно и обдуманно.

1. Получение значения счетчика.
Как и сам счетчик, так и получение его значений полностью аналогичны КРАФТУ: оценить пулл возможных результатов разведения для двух конкретных коней конкретных уровней можно в калькуляторе.

Найденные в крафте методики будут работать и в коневодстве - поиск ситуаций, когда полученное потомство было средним-худшим достаточно большое количество раз на конях низкого грейда и уровня, чтобы впоследствии при старте лучших проков перейти на 30-уровневых коней 5-7 грейда.
Стоит поупражняться с другими крафтовыми профессиями и научиться предсказывать выгодные результаты. Таким образом с высоким шансом удастся избежать плохих и средних вариантов потомства на важных конях высокого грейда и уровня. Следует помнить, что максимальные результаты так-же как и в крафте соединены с минимальными в бесконечном цикле.

2. Применение полученного значения счетчика.
Дальше следует наложение полученного результата вычисления псевдослучайного числа Х на линейку возможного потомства, которая вычисляется для использованных коня и кобылы.
Итак, для каждой лошади есть нелинейное БАЗОВОЕ РАСПРЕДЕЛЕНИЕ ПОТОМСТВА. Если вкратце, то у черных лошадей потомство с более высоким шансом - черное, у белых - белое, у красных - красное. Средние по своим показателям цвета кони (метисы) имеют более уравновешенное потомство, где появление каждого коня ближе к равновероятному. Посмотреть цветовую кодировку каждого коня можно в базе данных, в которой для большинства коней ЦВЕТ 1 (красный), ЦВЕТ 2 (Белый) и ЦВЕТ 3 (Черный) не только определяет внешность, но и напрямую влияет на потомство.



Пример: Конь 5 грейда имеет цветовой код 0 2 4 - отсутствие красного, некоторое количество белого и больше всего черного.
Соответственно, его в потомстве, значениям счетчика, отданным под коней с преобладанием красного цвета отдано меньше всего значений, белым - больше, но чаще всего его дети будут черномастными. Добавляя значения от другого родителя, получится полный спектр потомства.

После чего, значения для каждой конкретной лошади-потомка Коня или Кобылы пересматриваются в зависимости от условий разведения, записанных ниже - меняются значения, сдвигая шансы в большую или меньшую сторону, вплоть до полностью исчезновения какого-либо варианта. Стоит помнить, что вероятности появления Коней и Кобыл (м и ж) с одним внешним видом просчитываются отдельно друг от друга, ведь это разные кони - девочки считаются более ценными, чем аналогичного грейда мальчики.

Что повысит шансы на коней и кобыл высокого грейда:
- Грейд родителей - очевидная и крайне важная величина. Более подробно - у каждого коня есть Потенциал, так-же указанный в базе данных, зависящий от грейда и пола коня.
- Уровень каждого из родителей - каждый уровень вплоть до 30-го.
- Общий модификатор выпадения потомства на сервере для конкретного коня-грейда - на данный момент у нас полностью недоступны кони 8-го грейда. Недавно включили многих 6 и 7 грейдов. Доступные 7-е при этом появляются реже, чем должны. Поэтому стоит знать, какие результаты реально получить в данный момент, и какой цвет для вас актуален, прежде чем пытаться скрещивать.
- Отсутствие смертей - даже небольшое количество значительно уменьшит шансы на лучшее потомство. Пример с родителями с большим количеством смертей:





Вывод: для получения искомых коней (например 700, 007 и 070 - яркие представители чистых пород 7 грейда, а после введения 8 грейда будут лучшими 800 080 и 008) следует скрещивать подходящих родителей (5-6 грейд) с доминантой необходимого цвета на 30 уровне, без смертей. При этом заранее подвести счетчик на низкоуровневых конях к значениям лучших вариантов на прок - добиться ситуации, когда в тех условиях несколько (от 5) раз получились худшие-средние результаты из возможных, после чего началась "Полоса везения" - будет появляться потомство лучших грейдов из возможных.





3. Получения лучшего лута

Итак, переходим к несколько другой механики псевдорандома. Разберем её поэтапно.

- Рарный дроп.
Итак, общий смысл остается тем-же - после убийства определенного противника или открытия сундука происходит вычисление нового значения счетчика Х, и если он попал в нужную зону значений - происходит происходит прок - выпадение конкретного лута из разряда Рарного дропа (Трофей).


Рарным дропом для каждого конкретного существа или сундука будет конкретный список вещей со своим распределением вероятностей. У обычных мобов и элиток этот список состоит как из сверхредких предметов - Свиток призыва Маскана, Украшение ведьмы, так и вполне обычных - Черный камень (оружие), Фианит защиты. У сумок боссов - как Либерта, части Босс-сета - Доспехи гигантского древня, так и вполне обычные вещи типа Черный камень (броня), Черный камень (оружие), камни инкрустации.
Зоны выпадения рарных вещей у типовых противников:


- Сама зона значений счетчика, при которой падает рарный лут вычисляется:
Из родного шанса на дроп определенной вещи с конкретной сумки или врага, заданного разработчиками, а так-же повышение повышение этого шанса в процентах в зависимости от значения удачи и дополнительных бонусов типа Благословения Эллиан, бонус от превосходства в уровне над убившим существо игроком. Итого для получения хоть какого-то лута с элитки аналогичного уровня достаточно довольно широкого спектра значений счетчика, а для обычного моба по-соседству - меньшего.
Пример: Какой-нибудь Сонил-скелет в вакууме.

Некоторые значения счетчика отведены под дроп Серьги, некоторые - под свиток призыва хексы, некоторые - под камни оружия, брони, куски дискотек, но большинство - под всякую всячину от поясов Таллис до Иолитов.

- Ну и самое главное - изменение значения счетчика.
Оно происходит несколько по другим правилам:

Значение счетчика Х сдвигается в зависимости от размера всей зоны значений счетчика, при которой падает рарный лут для конкретно убитого монстра или открытия сумки.
В итоге, даже если вы не получили рарного дропа с убитой элитки, вы все-равно сдвинули показатель счетчика на достаточно крупную величину, намного большую, чем от убийства обычного монстра. Таким образом, шансы получить трофей (от бесполезных камешков и товаров до сверценных вещей) впоследствии будет увеличен.

После получения рарного дропа показатель счетчика сбрасывается, принимая непредсказуемое значение, вследствие чего возможно и выпадение в ближайшее время и ещё одной вещи, если было принято высокое значение, и и в более поздний срок, если все-же значение был принято далеко от зоны выпадения лута.

Дополнительно скажу, что нами выдвинута теория, что вкачивание узла влияет именно на сдвиг значения счетчика, из-за чего начинает наблюдаться обратный желаемому эффект - счетчик начинает чаще проскакивать мимо значений получения хорошего лута, в итоге он падает реже, хоть и всякая всячина - чаще. Это как сравнивать ходящего и бегущего людей и их шансы насупить в лужу - бегущий чаще будет перепрыгивать её вследствие более широкого шага.

Для фарма обычных существ практический совет может быть один - не забывайте убивать оказавшихся поблизости рарников. Даже если с их ничего особенного и не выпадет, значение счетчика примет сразу же более близкую к зоне хорошего лута позицию.

Но для фарма лута с нужных сундуков или боссов, есть более практичные советы:
1. Открывая сундук, мы производим попытку достать рарную вещь из списка вещей, которые для данной сумки считаются рарными. Делая неудачную попытку, вы сдвигаете текущее положение счетчика дальше на случайную величину, приближая её к значениям удачного дропа, при этом рулетка гуляет одна для ВСЕХ открываемых персонажем сумок.
Вы можете Сильно повысить шанс выпадения рарного дропа именно с сумки Древня, Маскана, Бхега или другого нужного вам босса, прокручивая несколько неудач - 0 дропов трофеев на сумках менее ценных боссов – Дискотеки, Сонила, Титума. Открыв подряд несколько – 3-4, к примеру, сумки с бесполезных боссов и не получив никаких рарных вещей, а для этих сумок это Заточка, вы с гораздо большей вероятностью достанете рарный лут со следующей сумки дорогого босса, который вполне может оказаться Либертой или частью босс-сета, так как при выпадении рарного дропа с таких сумок идет выборка с участием именно этих вещей. После выпадения рарного дропа с такой сумки можно вернутся обратно к сумкам менее ценных боссов для поиска более удачного момента “Выстрелить” более дорогой сумкой.
Иллюстрация:


Подобная система работает и на Ворлд-боссов. Для них рарным лутом считается выпавшая шмотка, которая есть почти всегда в количестве 1-2 шт (Кзарка, Либерта, части босс-сета или какой-нибудь Грунил). Соответственно, если ваш персонаж несколько раз не смог получить рарный лут с Гильд-босса, то с большой вероятностью получит предмет из начала списка дропа именно с Кзарки. И тогда шаны получить или сундук с Либерто или сундук с Кзаркой вырастут. А с других ворлд-боссов - кусок босс-сета.

4. Заточка вещей.

Система рандомизации в этом случае наиболее похожа на выпадение шмоток, но вместо списка возможных рарных дропов единственным возможным событием, вызывающим эффект сброса счетчика и получения результата является лишь успех в заточке вещи.
Итак, в общем виде, распределение значений, при которых конкретная вещь заточится, ведется путем суммирования базового шанса заточить вещь и бонуса от накопленных фейлов.


оружия:
+8 - 30%
+9 - 20%
+10 - 14%
+11 - 10%
+12 - 7%
+13 - 4%
+14 - 2%
+15 - 1%

доспехов и дополнительной экипировки (для которых эти значения от +1 до +10:
+6 (+1) - 35%
+7 (+2)- 27%
+8 (+3)- 20%
+9 (+4)- 15%
+10 (+5)- 10%
+11 (+6)- 7%
+12 (+7)- 5%
+13 (+8)- 3%
+14 (+9)- 2%
+15 (+10)- 1%

бижутерия, оружие и доспехи от I до +V:
I - 25%
II – 7%,
III, IV, V - меньше 3%


Фейлы же добавляют примерно по 0.25% за каждый фейл.

В общем виде для Оружия при попытке заточить его в +15 при 30 фейлах распределение выглядит примерно так:



А для Оружия в +16 при тех-же 30 фейлах - так



Но на +17 распределение опять близко к +15ому.

Сдвиг счетчика, так-же как и в случае с выпадением лута, происходит в зависимости от шанса заточить текущую вещь, как пример - получить 4 фейла подряд на +5 броне невозможно, счетчик обязательно успеет оказаться в зоне успешной заточки.
Главной задачей игрока в итоге является приведение значения счетчика в поле значений успехов заточки для нужной ему вещи. Если же базовый шанс недостаточно большой, то надо расширить это поле набитием фейлов, дабы снизить шансы переступить все значения заточить вещь.

Ну а теперь превратим полученные знания в практическое руководство для заточки вещей без специализированных расчетов. Его можно найти в моем гайде по заточке.



5. Кратко о других псевдослучайных вещах, увы глубоко не тестил.
1) Рыбалка - похожа на крафт. С помощью доп. экипировки (поплавков) можно увеличить значение навыка рыбалки, но все-равно достигается максимум, при котором эффект поплавка становится незаметен. При таком звании распределение вероятностей поймать разного качества рыбу становится аналогичным крафту - 25% на список белых - самых бесполезных, а остальные - зеленой, синей и золотой приходят к максимальным значениям и больше практически не повышаются.
2) Грейд оружия и брони - похоже на заточку - если вы не сможете разок-другой с помошью зеленой печати не грейданете зеленую вещь в синюю то впоследствии при помощи золотой печати шансы повысить синюю вещь в золото повысятся. С рабочими - аналогично.
3) Получение знаний о противниках. Мое мнение: есть счетчик, при убийстве противников или сборе с них его значение увеличивается на случайную величину. При этом различным монстрам нужно накопить разное значение счетчика для получения знания. Когда он достигает значения выше определенного, вам достается знание, но какое именно - зависит от получившегося числа - допустим, чем больше сверх необходимого, тем ближе к рангу S. Предметы на скорость получения знаний уменьшают предел, после которого на каждом конкретном противнике получается знание, а предметы на улучшение качества получаемых знаний немного увеличивают пределы значений рангов высокого уровня за счет значений рангов более низкого. Само получение знаний аналогично прокачиванию навыков скакунов.
4) Лут с сундуков с тотализатором - видна вся линейка вещей, но не видно, сколько значений счетчика даны каждому. При этом почти 100% есть перемешивание всех элементов, которые могут выпасть по примеру http://www.csgodouble.com/ . Соответственно, если у вас есть несколько сундуков и вы видите, что находитесь в полосе неудачи, лучше порандомить значения счетчика на других вещах, которые могут влиять на данный счетчик - убийство мобов, элиток, гибоссов и тп.
5) Выпадение заточек при сборе - для сборов разного уровня выданы разный диапазон значений счетчика, при которых выпадают заточки. Поэтому на одинаковых сборах подряд вы сможете заметить, что в среднем за несколько тысяч сборов выпадает одинаковое количество точек. Если вам выпало несколько точек почти подряд, ждите, что после этого долгое время точки будут падать реже, так как эти значения больше не выпадут, пока не выпадут по разу все остальные. Замечено, что при сборе трав без инструментов, сборе воды бутылками шансы на заточки ниже среднего, а при культивации огорода ( сборе зарослей и паразитов) - выше.

Ну и напоследок держите под спойлером кирпичи теории от специалиста в реверс-инжениринге. Вам это читать не обязательно, но я выложил их, чтобы те, кто захочет подробнее окунутся в теорию, могли бы узнать подноготную.


Заточка (с вероятностью 90%) работает как и сайт csgodouble. У нас есть выборка чисел до сотни, которые выбираются на основе изотопной псевдо-рандомизации по алгоритму байтового смещения от нынешней позиции на некое число (псевдорандомный генератор чисел, на изотопно-тактовой архитектуре).
На основе веса формируется раундовая выборка выпадения чисел после прохождения алгоритмов смещений, число выпавшее максимальное количество раз становится победителем и на его основе уже решается заточится ли наша вещь. (Особо любопытные бегом идут читать ветку псевдогенераторы случайных чисел в WIKIPEDIA)

Для более понятного описания:
1) У нас есть 100 чисел, на каждый процент точки (Это очевидно, вероятно чисел больше, но суть не изменится)
2) Нам выпадает при каждой попытке РАНДОМНОЕ ЧИСЛО, ЗАВИСЯЩЕЕ ОТ РАУНДА.
3) Два вышеуказанных фактора говорят нам, что, начиная точиться от нуля в новый раз - мы начинаем новый матч до следующей точки, с сохранением предыдущей позиции выпадения и раундом.
4) На основе этих данных, логично вывести, что в двух разных раундах, нам вполне может выпасть одинаковое число, вне зависимости от того, какое было в предыдущем (На примере рулетки 50 - 50, на моей памяти было такое, что ZERO (Нуль по - русски) выпадало 3 раунда подряд, жадно поедая ставки Красного и Чёрного поля, хотя процент выпадения нулевого числа в среднем в 17 РАЗ НИЖЕ!
5) Итого, учитывая алгоритм изотопных смещений мы можем сделать вывод, что при неудачном подборе переменной матча, на основе которой у нас генерируется успех заточки, после дохождения до крайних пределов ожидания, будет логичнее закончить матч и заточить другую вещь, и пробовать точить основную, даже без добавочных бонусов к успеху.
6) Учитывая, что чисел у нас, допустим, 100, то 1% вероятности и 25% изначального шанса будут равны 26 числам из 100, учитывая, что смещения немного изменяют вектор выбора следующего числа, и в двух следующих раундах нам может выпасть то - же самое число с вектором изменения ноль (на основе генерации номера матча), то логично будет изменить условия игры и начать новый матч.
7) Шансы заточки, другая волнующая вас здесь тема. Потому опишу ваши более - менее вменяемые шансы точить ваши вещи.
Учитывая, что в определённых условиях мы можем не заточить вещь до вменяемого состояние, за удовлетворяющее нас количество попыток, то будет логичным начать новый матч.
Исходя из данных в таблице составим простую формулу от числа 200 для простоты и наглядности расчётов.
Итого мы имеем 200 чисел из них 25% это базовый шанс успеха, то есть 50 чисел, и мы имеем 30 набитых проков, итого у нас 40%.
Казалось бы, достойное число, но! 200 - 200 * 0.4 = ~120, у нас всё ещё около 120 чисел отданы на неудачную заточку!
Можно сделать вывод, что на основе базовой матча, мы первым вариантом скорее всего получим неудачу, вопрос только один - как далеко это число находится от области удачных чисел.
При самом неудачном раскладе мы имеем числа до 80 - успех, а числа от 80 до 200 - неудача, соответственно, если нам выпадем 85, мы вынуждены будем по самым печальным меркам сыграть почти 65! раундов, до следующего успешного числа.
Учитывая, что в каждом новом раунде нам может выпасть одинаковое число, то вероятность успеха снижается логарифмически, мы можем составить формулу расчёта примерного количества раундов и на основе факториала, но по факту, мы имеем около 50% вероятности заточки базовой за счёт псевдогенератого случайных чисел и некий процент удачи от базового уровня успеха + набитых проков, кои являются 40%.
Не сложно посчитать, что 50% от 40% будет 20%!
Итого, при расчёте из этой таблицы - мы смело можем делить вероятность на 2, а если у нас выпал самый неудачный расклад - то и на 4! Прошу не забывать, что каждая попытка кратна 1, 3 и 7 потенциально удачны, потом заканчивать точку и начинать новый матч стоит на числах не кратных этим. А ещё не забывайте, что с каждым новым раундом наши шансы на успех растут в прямой линейной зависимости, поэтому стоит поставить для себя рентабельную границу для максимального количества неудач, ибо после определённого количества вложении успех становится не рентабельным и уводит наш баланс в отрицательную зону.
В среднем рандом в уровнях до трёхзначных чисел выдаёт 3 к одному, вероятность выпадения нового ряда чисел, по сему выведем, что при вероятности из таблицы 40% каждая 2 - 3 точка, потенциально успешна, соответственно ощутимую разницу в заточке вы получите только при 70 - 80 проках и базе от 10%!
PS. Господа, не будьте настолько ущербными, если видите, что "вещь не идёт" Скиньте проки - начните новый матч, не отчаивайтесь, примерно один из трёх матчей успешен, в среднем! Главное старайтесь не тратить успешные матчи на набитие проков, как когда - то с либерто просчитался один раз я.
PPS. При достаточной необходимости могу препарировать пакеты заточки, и даже добыть более вменяемые формулы, но шансов они вам явно не прибавят. Вы можете убедиться в написанном выше сами, особенно когда в следующий раз у вас будет 30 фейлов подряд, а потом фейлы будут идти 50 - 50% с успехом, либо 3 к 1, всё зависит от стартовой выборки. Если у кого - то есть лишняя сумма серебра на аккаунте, то можете проверить на недорогой вещи.


Для выборки разных чисел не подходит изотоп, для расчёта процентных вероятностей используется последовательный числовой ряд с вектором изменения по модулю. Соответственно числовой ряд цикличен, и после достижения 200-го например числа, мы снова попадёт в зону успешной точки. Тем и обосновано, что иногда набиваешь 60 фейлов сразу на самой убогой шмотке, а иногда они не бьются. Изотопная рандомизация предсказуема. Потому её уже в приличных инет казино не используют. На примере изотопного рандома в csgodouble - там представлен исходный код:
$server_seed = "39b7d32fcb743c244c569a56d6de4dc27577d6277d6cf155b dcba6d05befcb34"; - базовый шанс, он задан сервером, либо набором сумм переменных, то есть проки и базовый шанс!
$lotto = "0422262831"; - это последнее выпавшее число, отталкиваясь от него будет выбрано следующее, оно генерируется на основе верхнего значения сида(номер матча или модуль, как понятнее)
$round_id = "1"; Номер раундов подброса монеты, соответственно в кадом определённом раунде на основе вышеперечисленного может выиграть только одно определённое число, на основе вводных данных, понимаешь, да?
$hash = hash("sha256",$server_seed."-".$lotto."-".$round_id); - считаем итоговое тут!
$roll = hexdec(substr($hash,0,8)) % 15; - итого, сокращением получаем остаток от деления хэша на процент вероятности и смещаем запятую на один знак с округлением. выборка идёт среди 15ти чисел, которые повторяются при выборе.
echo "Round $round_id = $roll"; - получаем результят =)



Вот это уже можно попробовать почитать, часть - оффтоп, часть - обсуждение.




Что очевидно, при выборке из 100 точек, можно понять базовый сид на основе которого можно предсказать результат с вероятностью до 78%

У тебя технически получается 78% вероятности удачной точки нужного тебе итема
Чего почти нереально добиться набивая проки
У нас есть некоторый набор чисел X
Если у нас высокий шанс заточки, но вышел фейл, то ты получаем рандомо выбранное число примерно шанс Y и Успех Z = X = Число > X - Z-Z*Y <= X
Дойдя до максимально доступного числа вектор перейдёт снова в зону успешных чисел
Тоесть фейля лоулвл шмотку мы максимально близко к успешной зоне
У нас генерируется именно такой матч
И с каждым следующим фейлом мы экспоненциально приближаемся к успеху
А если бы начинаем бить проки на шмотке +14 мы можем попасть в западню
Там успешных чисел всего 2% по таблице, тоесть 4 числа из 200, допустим мы попадаем на цифру 6
Подсчитаем сколько нам нужно раундов, чтобы реверсивно вернуться в успешную зону дойдя до предела с шансом в 50%
120 фейлов в худшем раскладе
с шагом числа в 2, но может выпасть и одинаковое
Потому мы возьмём очевидную вероятность 3к1

Именно в момент первого фейла и решается дальнейшая судьба успеха точки, То-есть тут можно намного проще получить 100% генератор успешной точки, но это не для смертных, а пока пользуйтесь тем, что я смог хотя - бы более-менее человеческим языком описать, ибо дальше идут вообще ***** формулы, коих я избегал.
Они не могут принципиально изменить выборку. Другие алгоритмы не возможны на процессорах, которые ныне в PC, но могут сделать расшифровку алгоритма сложнее, в любом случае, люди расшифровывают 64 битные ключи, всегда есть тибериум, ГПУ и АКМА. Просто дошло на данный момент до того, что расшифровка требует времени больше, чем приносит итоговой пользы. Это использование высокопроизводительных серверных процессоров. 75% вы и на калькуляторе себе посчитаете по тем формулам, что я дал. А чего - то больше ждать бесплатно - глупо. Этих знаний ты сейчас бесплатно нигде не получишь, и даже задёшево. Это 6 - 8 лет убитых, на изучение вышмата. Грубо говоря обладая знаниями для этих расчётов можно идти ломать DENUVO и VMprotect. А теперь вспомни, какое количество людей реально может это сделать и представь примерный ценник на такой продукт. Я описал МАКСИМАЛЬНО понятным языком.
Человек который хочет заставить это работать и умеет читать максимум за пару дней осознает о чём я говорил. И заточит свой либерто с МИНИМАЛЬНЫМИ потерями на данный момент возможными. Меньше будет только у избранных, которые парсили все серверные пакеты и делали большую статистическую выборку, с получением более точного алгоритма генерации, но дай бог этой игре, если хоть один из таких людей её вообще видел.


Барбарен набивал стартовый прок на ЛОУ ЛВЛ ШМОТКЕ, КСТАТИ, Как я и советую делать для генерации более успешных входных данных. Я вточил Либерто в +15 и потратил всего 75 прочности.
И заходило у меня 85% примерно именно на нечётных, а 60% из 85 зашло на числах кратных 3 либо 7.
2 - 5 фейлов на 6 - 7 броне, потом 7 оружие или поплавок, а потом уже заходим в +15 с 1 - 2 фейлов
Я на либерто бил проки 9 - 11 бронёй, итог ты знаешь. Точился с нулём проков, после того как у него не точилась долго шмотка - начиная новый матч, тут верно.
У меня заходил успех с раунда кратного трём чаще всего, и тут совпадает! Больше всего проков набивалось на НЕСКОЛЬКИХ разных шмотках с РАЗНЫМ базовым шансом - и тут правда!
В среднем проки прибавляли в половину меньше чем пол процента, иногда чуть больше, а в среднем на четверть меньше, что и описано особенностью работы изотопного подхода псевдогенерации.
Твоя таблица это подтверждает, итого бы имеем рабочую теорию которая позволит нам с вероятностью до 80% знать, когда шмотка у нас нормально точнётся, а когда нет, и что стоит ломать, а что - нет. Цвет не имеет значения, имеет значение модификатор базового шанса, он индивидуален для каждой вещи. Цвет (зелень, синь, золото) не имеет значения. Но всё может очень резко измениться - входные данные контролируем не мы, мы только получаем результат основываясь на логике тригонометрии, алгебры, и теории последовательностей. По моим формулам можно уже считать бесплатно, а гарантировать успех я не стану. Ибо это всё приблизительные значения. Но на данный момент всё равно ничего лучше нет. Базовый шанс - это только одна из 5-ти переменных шифра. Подниму я шанс до 82%. Там сам код устроен так, что мне надо узнать последовательность генерации именно серверной части, А это минимум 10000 точек для КАЖДОЙ вещи, Что грубый брутфорс
Для [обычных людей] я примерный алгоритм составил, чтоб поднять шансы хотя - бы до 50%.
Не точится – скидывай, начинай с лоу лвл шмотки фейлы бить. Чем больше точишь 1 вешь - тем выше шанс в экспоненциальной зависимости, и чётные 3 и 7 попытки потенциально успешные, потому на них мы точку не скидываем, скидываем до неё. +6 высокий базовый шанс, но если там фейлит, то мы имеем максимально вероятный генерируемый сид для матча точки, для хай лвл вещей, то есть профитнее всего будет вообще первый фейл набить на +6 сапогах. Или на +5, но +5 броня вообще ужас как редко фейлится и это абузить будет трудно, хотя в случае с Либерто будет финансово оправдано. И либерто без фейлов заметь в чате чаще всего пишут голые нищеброды в +9 броне. Они сначала в броню точку сунули, похерили её, а потом сунули в либерту и она зашла, что очевидно. Потому и говорят, что от некоторых вещей фейлы весомые более - это не фейлы, это особенность расчёта процессорами. В казино есть люди которые никогда не проигрывают на базе расчётов вероятности, а тут вообще банальщина.
Там 2-2 можно выбить паттерн. Бижа на +1 с 0 фейлов - 26%, с 1 фейлом - 36%. А теперь приглядись. С шансом примерным близким к 50%. Что у тебя и написано: 2 успеха - 2 неудачи потенциальны. О чём я и говорил, но что я понял если у тебя 0 фейлов и ты точишь бижу на +1, то у тебя шансы около 25% точнуть. Одна из двух может быть удачной, если нет, то третья гарантированно будет успешным усилением. Тогда когда ты возьмёшь +15, то шанс возвести в +16 будет выше чем с обычными 5 фейлами. Посмотри где самый высокий процент точки из +1 бижи - на 4ой точке заходило лучше всего, то есть 3 фейла, и на 4 зайдёт 80%, учитывая теорию.

Originally Posted by :
Когда я точил, то с 8 фейлов шансы были выше, это почему?
у тебя на одна из семи если не успешна, то шаблон начинается заново и у тебя выше шанс поймать успех. Шаблон обновляется каждые 4 фейла на высоких значениях. Чем ниже значение шанса - тем медленнее ты дойдёшь до нужного шаблона. Потому и надо первый фейл бить на чём - то с высоким шансом. Три фейла. Я так и делал. Максимум потом завезут успех с 6 точек получается к 9ой, Что не так и печально.

Originally Posted by :
скажи почему у меня на 6 плохо, а на 8 нормально
после 7 шаблон обновился и твои шансы утроились, очевидно. +6 это максимальные числа, когда нужен шанс около 100%. У нас есть 200 чисел - первые 50 чисел - это 25% успеха, ты поймал фейл, тебе выпало число 40. С шансом 25% ты будешь менять около +12 чисел за попытку. 60 точнее число выпало. 200 - 50 - 10 = 140. 140 / 12 = ~12. Около 12 попыток тебе будет нужно для успешной точки. Теперь мы сделали входную генерацию на шансе 60%. 110 чисел и 200 успешны, нам выпал фейл - число 150, с каждым траем оно увеличится от 0 до 20, нам надо максимум 4 попытки, чтоб добраться до удачного.

Числа 13, 15, 17 итд, которые делятся только на 1 и на себя, являются потенциально успешными. А чтоб успешнее было, надо начинать фейл первый, первый раунд игры в точку, на предмете с самым высоким шансом точки. А это броня +5 - с +5 на +6 если фейл падает, то он самый весомый. А если 2, то это [круто]!


Если мы валим предмет - значит мы ближе всего к успеху. И каждая следующая попытка априори быстрее придёт к успешным значениям. А если взять предмет с низким стартовым, то может выпать 51. И нам надо будет 12 а то и более бросков.

Originally Posted by :
И мы фейлим 2 раза 0-20, потом ещё разок 0-5 и получаем очень близко к 100. Тогда ещё одним броском 0-5 мы скорее всего 100 и пресечем.
Не факт что выпадет 20, в том и суть, у другого предмета не 20 граней, там 10%, и грани сократятся до 4х, а от 51 до 101 по 4 это 50/4, это уже НАМНОГО больше 10 попыток, ибо не факт что выпадет 4, мы можем и 1 выбить. Как то так это и работает. Это рандом внутри рандома.


Originally Posted by :
Есть грубо говоря 3 составляющие шанса успеха - фейлы + базовый шанс которые в этой выборке из 100 дают тебе не 5 успешных возможностей, а 40, второе это текущая накопленная цифра в этих фейлах, допустим 70, не успех, поэтому и случился предыдущий фейл, и от этой цифры и будет зависеть следующей точки - от изменения этой цифры, и третье число это случайное от 1 до N, которое зависит от той вещи которую ты в данный момент хочешь точнуть.
Да, ибо этот процент только увеличит шанс выпадения модуля сдвижения числового ряда в сторону успеха, но достаточно ли сдвинет, вот в чём вопрос, но может быть и перебор, у нас было 100, у нас 70% шанс, нам выпало 69. Итого у нас снова число 68 и неудача! Потому и выходит до 120 фейлов! У некоторых. Это как игра в 21 в картах, тебе может выпасть 18, это больше чем у противника, а может выпасть и 22, тогда [плохо]... Но! Например, зная, что у тебя 10 в блекджеке, ты можешь смело брать ещё одну карту до 11, не сомневаясь в том, что ты либо выиграешь - либо приблизишься к цели. Тебе либо выпадет король и ты авто-выиграл с 21ым, либо у тебя стало допустим 18 и ты можешь брать карту от 1 до 3

Originally Posted by :
В итоге недостаток БДО в том, что игра не перемешивает заново все вероятности в каждом опыте, а просто добавляет что-то к результату предыдущего
Перемешивает, после удачной заточки.

3 7 9 12 13 15 17 21 попытки заточить после конца набора фейлов - потенциально успешные, и на один выше них самый высокий шанс, зависит от процента шанса. Не заточилось с 3 - 4ый будет уже овершанс, потом сбросится и догонит этот шанс снова только к 7 - 8
70 фейлов? – Изи. Тебе нужно сделать первый фейл на вещи с шансом в 25% - это +8 оружие. И фейлить 12% броню - Это броня из 12 в 13, которая у всех сложно заходит. У неё будет всего 2% шанс попасть в успешную зону -Будет то перебор - то недобор. А кто - то точил просто жмакая в кнопку усилить на +12ти. И орал что не точится [совсем], 60 фейлов уже набил с 20ти. 120 это рекорд на +11 юрии набит, а у +11 юрия шанс как у +12 брони =)
Ну вот ты получил те 70 фейлов, тогда ты должен как-то приблизится к 95-100 из рандомайзера. Да, только ты не знаешь какое у тебя сейчас число и сколько тебе ползти до успешной зоны. У тебя может быть 70 фейлов и максимальное успешное число + ещё один сверху. И ты даже на 70 прока будешь ползти до успеха ещё 12 раундов =), а может быть уже 99 [Плохо] тогда.
Их лучше слить, следующее стартовое будет приятнее значит и лучше заедет в следую лвл. А потом 1 фейл на той - же броне и снова в либерту заливать только с +1 прока, а если фейл, то либерту ты точно заточил.

Originally Posted by :
Окей сделать трай на той вещи которую хочешь точнуть на броне +5. Если сфейлится, то тогда уже почти железно точнешь свою 19 либерту в 20?
Там вероятность выше 92%. Там огров можно точить при таком [Счастье].
Всё в принципе просто, если считать сколько у тебя фейлов и сколько было траев, то можно угадать что будет следующим, у тебя будут +5 огры значит.
Барбарен же говорил, что он так и делал. Он ломал что - то дорогое с высоким шансом - предшественников нулячих. А у них высокий шанс. И точил огров :D Хотя мог [Дешевое] кольцо Таллис сломать. 8% шанс бывает выпадает, как ноль в казино на рулетке. Тогда чёрное и красное проигрывают, это скорее исключение.

Originally Posted by sarma:
FluiD96,
Прежде всего выражаю огромную благодарность за подробное описание волнующей игровой механики, однако остались вопросы.
1. Исходя из вашей терминологии, "раунд" и "матч" - это разные вещи? Как я понял, раунд это нажатие кнопки "усиление" (переводя на игровые понятия), а матч это запуск процесса, который заканчивается при удачном усилении.
2. У каждого персонажа на аккаунте свои матчи? То есть, набили с нуля 2 прока на твинке на репласе, перешли на другого персонажа с набитыми 60+ проков и ткнули либерту на 17. Это действие имеет смысл?
3. Закрытие матча. На данный момент, имею 52 прока на одном из персонажей. Набивались они на всяких репласах\офф хендах до 40, и где то с 40 я начал пробовать либерту на +17. Получается я уже попробовал 4 (а может и 5) раза и как я понял пора закрывать этот матч? Но тут вопрос, его закрывать надо точнув что угодно на этом персонаже или я могу перейти твинка, точнуть что нибудь там и вернуться пробовать опять либерту?
Originally Posted by FluiD96:
У каждото твинка начинается своя сессия выбивания числа(матч), закончить можно только точнувшись. Очевидно, что если у нас последовательная выборка сгенерированная в начала вместе с hash матча не удачная, то точиться будет плохо. Мы можем поставить для себя рамки - не точится после третьей предположительно успешной попытки - меняем не раунд уже, а матч.

Вообще первый раунд лучше начинать на любой вещи брони +5 +6 и набив там пару прока переходить к чему - то очень сложному. Либерто например, тогда ваши шансы вырастают. Ибо сгенерированный на основе вещи с высоким базовым шансом вещь близок к максимально - возможному числу, значит мы дойдём до конца числового ряда и начнём снова получать УСПЕШНЫЕ числа максимально быстро.

PS. Не забываем, что максимальная вероятность именно успешной заточки, что видно из таблицы стартера топика, мы добиваемся на 3-4, 7-8, 9-10 и далее кратных 3 и 7 числам, а так - же 17, оно делится только на себя и на 1. Потому именно в этих границах и нужно пробовать точнуть сложную вещь после лёгкой.

Объяснить это явление просто и оно обосновано архитектурой процессоров, они работают лишь с двумя числами в чистом виде 0 и 1, что есть 50% вероятности,Тоесть при первом проходе мы сгенерируем с 50% вероятность число либо в успешной зоне - либо в неудачной, а потом будет каждый следующий шаг на основе шанса выпадать число на которое будет сдвигаться числовой ряд в зависимости от добавочного + базового шансов, числовой ряд цикличен, дойдя до конца - мы снова вернёмся в успешную зону. Очевидно, что при первом фейле мы можем сократить колличество шагов до успеха, если сфейлим вещь с максимальным базовым шансом, ибо там колличество неудачных чисел будет минимальным.
Originally Posted by FluiD96:
При процентном наборе чисел, мы можем отталкиваться только от последовательных диапозонов и множественной выборки чисел, тоесть диапазон будет не рандомным, будет выполнено несколько последовательных раундов с выборкой разного победившего числа в каждом следующем, соответственно - мы просто крутим рулетку, но в каждой из попыток шанс выбить успех 47.5%, Неудачу 47.5% и ноль - оставшееся, что логично
Originally Posted by sarma:
Не хватает ума разобраться с БДОшным ГПСЧ, поэтому спрошу на более конкретном примере. Допустим шанс точки либерты на +16 составляет 25%. Правильно ли я понимаю, что мы имеем 1-25 успешные числа и 26-100 неудачи?(ну или 0-24 успех, 25-99 феил, наверное ж нуля там считают). 100 я беру только для простоты примера, в действительности же ряд может быть длинее, к примеру 200, но тогда успех 1-50, феил 51-200, что вроде как сути не меняет. Начинаем точиться без фейлов. После нажатия "усиление" запускается матч, и допустим в первом раунде выпадает 26, самый как я понял хреновый случай. Что будет происходить дальше? По единице цикл дойдет до 100 и перейдет в 1? Вроде не так оно работает. Будем идти к 100 с каким то шагом?(2,3,....n)Если есть шаг, то будет ли он всегда одинаковым в пределах одного матча? Или всегда одинаковым? Будет ли он меняться на разных точках(допустим на либерте +13 шаг 4, на +14 шаг 3 и свыше 16 шаг 1)?Если шаг в реальности большой, можно ли проскочить коридор успеха? И вообще, удачные числа это 1-25 или рандомные числа 1 3 7 11 ... n, но их количество 25? Можно так же порекомендовать литературу отличную от статьи вики, скажем для не самых одаренных?
Originally Posted by FluiD96:
Почти верно, у нас есть 47.5 шанс выбить в начале стартовое ближе к успеху, колличество успешных числе = проценту базового шанса заточки + накопленные от максимального набора чисел, в каждом новом раунде наш шанс будет влиять на генерацию более большого числа по смещению вправо по оси Х числового ряда, но при этом есть шанс, что выпадет слишком большое число и мы снова перепрыгнем рекурсивно через успешную зону.

На примере блэкджека в казино, если 2 карты у нас равны 10, то мы можем смело брать 1 карту, нам либо выпадет 11 и мы выиграем, либо будет меньше, проигрыш нереален, а вот если у нас 20, то нам либо единица выпадет - либо мы снова перейдём успешную грань и проиграем. Тоесть начинать стоит скорее с вещи высокого шанса, а потом переходить к вещам с низким шансом и с меньшим модулем дойти до области успешных чисел.

Это как русская рулетка с барабаном на 100 патронов, но барабан мало того что крутится, так в него ещё и патроны докидывают. В итоге зная примерное расположение стартового патрона и колличество докидываемых - можно с точностью до 80% знать, что +- 2 ячейки, от ячейки с патроном в следующие 2 шага нам докинут новый патрон.

#2 shd13_renamed_779290_29092022 10.01.2016, 18:37
Originally Posted by MitUI:
Гайд по работе корейского рандома.
ты уж уточни, что это применимо в бдо, а то народ поверит что именно так работает рандом во всех корейских играх
#3 MitUI_renamed_1223932_17012023 10.01.2016, 19:43
Originally Posted by shd13:
ты уж уточни, что это применимо в бдо, а то народ поверит что именно так работает рандом во всех корейских играх
Этот алгоритм используется от Визы до систем защиты информации. Это частно применение к БДО.
#4 shd13_renamed_779290_29092022 10.01.2016, 19:54
Originally Posted by MitUI:
Этот алгоритм используется от Визы до систем защиты информации. Это частно применение к БДО.
как скажешь...
#5 MitUI_renamed_1223932_17012023 10.01.2016, 23:59
Originally Posted by shd13:
как скажешь...
Поизучай теорию, и сможешь сам адаптировать принцип к другим приложениям.
#6 durantula_renamed_1216387_11052020 11.01.2016, 04:33
а откуда уверенность, что допустим первые фейлы на шмотке(+5) увеличит базовый шанс заточки например босс шмотки. Не будет ли такого, что фейлы прост определенным процентом добавляются к базовому шансу вещи и не важно на какой шмотке ты запустил этот самый матч
#7 MitUI_renamed_1223932_17012023 11.01.2016, 06:22
Originally Posted by durantula:
а откуда уверенность, что допустим первые фейлы на шмотке(+5) увеличит базовый шанс заточки например босс шмотки. Не будет ли такого, что фейлы прост определенным процентом добавляются к базовому шансу вещи и не важно на какой шмотке ты запустил этот самый матч
Тесты. Потрачено достаточно много средств, чтобы выяснить такой оптимальный путь.
#8 Lichiee_renamed_1108611_01072020 11.01.2016, 19:22
Очень много трудночитабельного текста, после которого вопросов остается больше, чем ответов.

Originally Posted by MitUI:
Но в этой игре правила намного сложнее
Originally Posted by MitUI:
Именно на её тестировании и были выявлен принцип рандомизации в Black Desert
На каком основании такие заявления?

Originally Posted by MitUI:
Представим себе кубик на котором 100 граней, если нам выпадает число от 0 до 50 мы выигрываем, если от 50 до 100 то проигрываем
100 граней, а чисел -- 101

Originally Posted by MitUI:
дальше у нас есть кубик с количеством граней равным проценту шанса базовый + накопленный
Допустим 25% от 100, Мы бросам кубик, нам выпадает 25. 57+25 = 82. Всё ещё неудача, снова выпадает 25, и у нас 82 + 25 = 107, а 100 - 107 = 7
Базовый был 50, а накопили сколько? 100-107 = -7, я так понимаю речь идет о сложении по модулю 100? Почему не написать об этом явно (например, (82+25)%100=7)?


Originally Posted by MitUI:
Заточка (с вероятностью 90%) работает как и сайт csgodouble
Основания?

Originally Posted by MitUI:
которые выбираются на основе изотопной псевдо-рандомизации по алгоритму байтового смещения от нынешней позиции на некое число (псевдорандомный генератор чисел, на изотопно-тактовой архитектуре)
Странные термины. Откуда они? Гугл дает ссылку на Вашу статью.

Originally Posted by MitUI:
Особо любопытные бегом идут читать ветку псевдогенераторы случайных чисел в WIKIPEDIA
На которой отсутствует информация о каких-либо изотопных методах.

Originally Posted by MitUI:
Нам выпадает при каждой попытке РАНДОМНОЕ ЧИСЛО, ЗАВИСЯЩЕЕ ОТ РАУНДА
Что такое раунд? По тексту -- это не попытка точки.

Originally Posted by MitUI:
Два вышеуказанных фактора говорят нам, что, начиная точиться от нуля в новый раз - мы начинаем новый матч до следующей точки, с сохранением предыдущей позиции выпадения и раундом
Фактора? Мб предположения? Эти предположения не могут нам говорить о матчах, т.к. в них даже такого понятия не использовалось.

Originally Posted by MitUI:
На основе этих данных, логично вывести, что в двух разных раундах, нам вполне может выпасть одинаковое число
Скорее невозможно вывести. Пункты 1-3 никак не связаны с 4.


Originally Posted by MitUI:
Итого, учитывая алгоритм изотопных смещений
Очередной термин, который встречается только в данной статье?

И далее в том же ключе. Особо еще отмечу следующее:
Originally Posted by MitUI:
каждая попытка кратна 1, 3 и 7 потенциально удачны
Очень удобно :) Имеется ввиду кратно 21? Возможно имелось ввиду "ИЛИ", но все же кратность единице доставляется

Originally Posted by MitUI:
2 - 5 фейлов на 6 - 7 броне, потом 7 оружие или поплавок, а потом уже заходим в +15 с 1 - 2 фейлов
Независимо от того было 2 фейла или 5 в +15 либерта попадет с 1-2?

В итоге текст как минимум не полон, как максимум абсурден и нелогичен.
#9 skuvv_renamed_596026_30052023 11.01.2016, 20:38
В примере с револьвером, барабан крутят "рандомно", а не на один патрон.
Поэтому будут работать совершенно другие вероятности и моменте шанс будет 1/6.

Добавлено через 32 минуты
Originally Posted by Lichiee:
Цитата:
Сообщение от MitUI
На основе этих данных, логично вывести, что в двух разных раундах, нам вполне может выпасть одинаковое число
Скорее невозможно вывести. Пункты 1-3 никак не связаны с 4.
+1, тоже моск этим поломал, такое возможно только если будет бросок на число 100 из 100 и круг переедет на тоже место, что даже звучит бредово.
Все еще не уверен насчет того, что идет сдвижка и накопление и переход через 100(или сколько там), нафиг оно надо?
Сид в генераторах используется только для начальной точки отсчета.
Гораздо проще использовать нормальное распределение, тот же кубик с учетом базового шанса + набитых фейлов.
Посмотрим на примере, заточка на +15, база 2.5% + 12.5% за фейлы, согласно табличке.
В итоге начиная с 25 фейлов мы получаем следующие шансы успеха:
1-(0.85^1) = 0.15
1-(0.85^2) = 0.2775
1-(0.85^3) = 0.385875
1-(0.85^4) = 0.47799375
1-(0.85^5) = 0.5562946875
1-(0.85^6) = 0.622850484375
1-(0.85^7) = 0.67942291171875
1-(0.85^8) = 0.7275094749609375
1-(0.85^9) = 0.768383053716796875
1-(0.85^10) = 0.80312559565927734375
Те даже после 10 попыток подряд у нас остается примерно 20% вероятности фейла, что довольно хорошо совпадает с реалиями.
#10 MitUI_renamed_1223932_17012023 11.01.2016, 21:00
Originally Posted by Lichiee:
На каком основании такие заявления?
- было определено что примерно один и тот же принцип используется как в заточке вещей так и в других аспектах. Были выявлены схожие зависимости. Как показала практика, во многих местах в игре можно работать по алгоритму и достигать результата в среднем успешнее, чем в обычном случае.


Originally Posted by Lichiee:
100 граней, а чисел -- 101
К словам не цепляются, особенно к словам сумасшедшего.

Originally Posted by Lichiee:
Базовый был 50, а накопили сколько? 100-107 = -7, я так понимаю речь идет о сложении по модулю 100? Почему не написать об этом явно (например, (82+25)%100=7)?
Потому что это не первый спойлер, где кирпичи только для людей со знанием матана, и это объяснение сделано как можно более понятным. Разжую его для ещё более простого восприятия, чтобы даже школьники доперли, о чем речь.

Originally Posted by Lichiee:
Основания?
Можешь пойти заказать разбор игры к платным датамайнерам и они за много-много денег тебе 100% утверждения и алгоритмы действия сделают.


Originally Posted by Lichiee:
Странные термины. Откуда они? Гугл дает ссылку на Вашу статью.
Надо спрашивать Богданчика, я вроде бы смутно помню из универа такое, но точный термин не упомню. Это может быть корявый перевод с инглиша. Кароче спрошу как люди его называют, а не роботы.

Originally Posted by Lichiee:
На которой отсутствует информация о каких-либо изотопных методах.
Похоже не на Ру, или не та статья. И вообще Википедия это такой обобщающий термин общедоступных ресурсов.


Originally Posted by Lichiee:
Что такое раунд? По тексту -- это не попытка точки.
На вопросы по информации из раздела кирпичей лучше спрашивать Богдана так как он "выйшел на другой уровень абстракции и морфики". Говоря простым языком, крыша поехала. По моему это попытка заточить после получения первого фейла, но могу ошибиться, так как не вознесся.


Originally Posted by Lichiee:
Фактора? Мб предположения? Эти предположения не могут нам говорить о матчах, т.к. в них даже такого понятия не использовалось.
ТО же что и выше, человек по русски говорит редко, обычно на %*:;":%"*:"№%":!"*? или мате.


Originally Posted by Lichiee:
Скорее невозможно вывести. Пункты 1-3 никак не связаны с 4.
Он говорит про смещение текущей позиции, что 2 раза может выпасть одинаковое.

Originally Posted by Lichiee:
Очередной термин, который встречается только в данной статье?
Спросим автора термина, как он звучит в оригинале!



Originally Posted by Lichiee:
Очень удобно :) Имеется ввиду кратно 21? Возможно имелось ввиду "ИЛИ", но все же кратность единице доставляется
Он про все числа, которые делятся только на 1 или сами себя, как я понял. но не правильно сказал. Если да, поправлю.


Originally Posted by Lichiee:
Независимо от того было 2 фейла или 5 в +15 либерта попадет с 1-2?

В итоге текст как минимум не полон, как максимум абсурден и нелогичен.
Кирпич теории только для избранных. Остальных прошу или в детальный разговор во втором спойлере, по которому даже до меня доперло, или в гайд по заточке, где тупо алгоритм действий есть и в спойлере - краткая теория.

Добавлено через 1 минуту
Originally Posted by skuvv:
В примере с револьвером, барабан крутят "рандомно", а не на один патрон.
Поэтому будут работать совершенно другие вероятности и моменте шанс будет 1/6.
Я имел ввиду, что крутят барабан на 1 а не на случайное число. Уточню этот факт прямо щас.
#11 FluiD96_renamed_1229607_13052020 11.01.2016, 21:11
Так о том и речь, что чисел 101, сид генерируется на первом фейле, очевидно, что ты программер, раз оперируешь отсчётом от нуля, но ноль нельзя позиционировать ни как положительное - ни как отрицательное по модулю, потому скорее оно отнесётся к феловому.
Очевидно, что 20% исходя из архитектур процессоров будут не 20ю, а 40% ибо чиловой процессорный ряд генерирует всего 2 числа 0 и 1, а на основе выборки из многих будет выбран победитель, который выпадал чаще. Очевидно тогда, что после сотни может выпась число превосходящее границы успеха и рекурсивно вернуться в неудачную зону, добавляя нам дополнительные 20% неудачи, исходя из этих данных мы можем сделать вывод, что сид лучше генерировать максимально большой, а к успеху рекурсивно идти маленькими числами по модулю, дабы не перепрыгнуть через успешные.

Добавлено через 8 минут
Originally Posted by Lichiee:
Очень много трудночитабельного текста, после которого вопросов остается больше, чем ответов.



На каком основании такие заявления?


100 граней, а чисел -- 101


Базовый был 50, а накопили сколько? 100-107 = -7, я так понимаю речь идет о сложении по модулю 100? Почему не написать об этом явно (например, (82+25)%100=7)?



Основания?


Странные термины. Откуда они? Гугл дает ссылку на Вашу статью.


На которой отсутствует информация о каких-либо изотопных методах.


Что такое раунд? По тексту -- это не попытка точки.


Фактора? Мб предположения? Эти предположения не могут нам говорить о матчах, т.к. в них даже такого понятия не использовалось.


Скорее невозможно вывести. Пункты 1-3 никак не связаны с 4.



Очередной термин, который встречается только в данной статье?

И далее в том же ключе. Особо еще отмечу следующее:

Очень удобно :) Имеется ввиду кратно 21? Возможно имелось ввиду "ИЛИ", но все же кратность единице доставляется


Независимо от того было 2 фейла или 5 в +15 либерта попадет с 1-2?

В итоге текст как минимум не полон, как максимум абсурден и нелогичен.
Окей, изотопные смещения это термин родившийся в стенах eXeLAB давным давно при снятии поточной криптографии.

Далее по списку, кратность единице - это да, мой фейл, я имел в виду числа кратные самим себе и еденице, не имеющих других безостаточных делителей.

Если есть желание провести самому пару тестов и выделить из выходного потока данных алгоритм - добро пожаловть на форумы по криптографии и потом в БДО, прям сразу можно начинать собирать базу успешных и неудачных попыток с выборкой и фильтрами.

На википедии тонна статей о генераторах псевдорандомных случайных чисел и типовые алгоритмы.

Базовый шанс влияет на генерацию стартового сида, накопленный позже шанс будет влиять на велечину модуля смещения вправо по оси числового ряда.

А теперь о переменных:
Матч - это время во время которого у нас сохраняется СИД генератора стартового числа.

Раунд - одна из попыток бросить кости на велечину изменения числа, на основе которого мы получаем модуль изменения.

Очевидно, что ты либо не понял суть объяснения, либо пытаешься тонко троллить, хотя - мне *****.
#12 MitUI_renamed_1223932_17012023 11.01.2016, 21:17
Originally Posted by skuvv:
В примере с револьвером, барабан крутят "рандомно", а не на один патрон.
Поэтому будут работать совершенно другие вероятности и моменте шанс будет 1/6.

Добавлено через 32 минуты

+1, тоже моск этим поломал, такое возможно только если будет бросок на число 100 из 100 и круг переедет на тоже место, что даже звучит бредово.
Все еще не уверен насчет того, что идет сдвижка и накопление и переход через 100(или сколько там), нафиг оно надо?
Сид в генераторах используется только для начальной точки отсчета.
Гораздо проще использовать нормальное распределение, тот же кубик с учетом базового шанса + набитых фейлов.
Посмотрим на примере, заточка на +15, база 2.5% + 12.5% за фейлы, согласно табличке.
В итоге начиная с 25 фейлов мы получаем следующие шансы успеха:
1-(0.85^1) = 0.15
1-(0.85^2) = 0.2775
1-(0.85^3) = 0.385875
1-(0.85^4) = 0.47799375
1-(0.85^5) = 0.5562946875
1-(0.85^6) = 0.622850484375
1-(0.85^7) = 0.67942291171875
1-(0.85^8) = 0.7275094749609375
1-(0.85^9) = 0.768383053716796875
1-(0.85^10) = 0.80312559565927734375
Те даже после 10 попыток подряд у нас остается примерно 20% вероятности фейла, что довольно хорошо совпадает с реалиями.
Сходи и попробуй 4 фейла получить на броне +5 и увидишь, что такое реалии. Ну или хотя-бы 3.


Вообще советую спойлеры открывать, изрядно подготовившись морально и физически.

Добавлено через 4 минуты
Originally Posted by FluiD96:
*****.
Запили аватарку пожоще, чтобы все понимали с кем имеют дело! Руку свою например.
#13 FluiD96_renamed_1229607_13052020 11.01.2016, 21:21
Originally Posted by skuvv:
В примере с револьвером, барабан крутят "рандомно", а не на один патрон.
Поэтому будут работать совершенно другие вероятности и моменте шанс будет 1/6.

Добавлено через 32 минуты

+1, тоже моск этим поломал, такое возможно только если будет бросок на число 100 из 100 и круг переедет на тоже место, что даже звучит бредово.
Все еще не уверен насчет того, что идет сдвижка и накопление и переход через 100(или сколько там), нафиг оно надо?
Сид в генераторах используется только для начальной точки отсчета.
Гораздо проще использовать нормальное распределение, тот же кубик с учетом базового шанса + набитых фейлов.
Посмотрим на примере, заточка на +15, база 2.5% + 12.5% за фейлы, согласно табличке.
В итоге начиная с 25 фейлов мы получаем следующие шансы успеха:
1-(0.85^1) = 0.15
1-(0.85^2) = 0.2775
1-(0.85^3) = 0.385875
1-(0.85^4) = 0.47799375
1-(0.85^5) = 0.5562946875
1-(0.85^6) = 0.622850484375
1-(0.85^7) = 0.67942291171875
1-(0.85^8) = 0.7275094749609375
1-(0.85^9) = 0.768383053716796875
1-(0.85^10) = 0.80312559565927734375
Те даже после 10 попыток подряд у нас остается примерно 20% вероятности фейла, что довольно хорошо совпадает с реалиями.
С тобой мне будет даже интересно поговорить, посмотри таблицы тестовых точек. Сид генерируется на старте однозначно. По факту числовой ряд не обязательно сдвинется на положительное число, он может сдвинуться и на ноль, что очевидно, тогда мы и получим то - же самое число. Нормальное распределение возможно при выборке только из двух условий, а в случае когда переменных больше двух мы вынуждены использовать последовательные алгоритмы генерации крипта, что очевидно, так оно и реализовано. Проведи пару тестов - это не так долго и убедишься, стартовый сид в итоге влияет больше чем накопленный и базовый шансы в разы.
#14 skuvv_renamed_596026_30052023 11.01.2016, 21:24
Еще вчера проверил
Originally Posted by MitUI:
Сходи и попробуй 4 фейла получить на броне +5 и увидишь, что такое реалии. Ну или хотя-бы 3.


Вообще советую спойлеры открывать, изрядно подготовившись морально и физически.
Еще вчера это проверил, сделал +3 фейла на пузе репласе, потом трайнул бос сет на+12 - фейл.
Набил с 11попытки(если считать по успеху):
2016.01.10 23:54:44,10806,5,6,True,2
2016.01.10 23:54:55,10806,5,6,True,0
2016.01.10 23:55:02,10806,5,6,True,0
2016.01.10 23:56:09,10806,5,6,False,0
2016.01.10 23:56:17,10806,5,6,True,1
2016.01.10 23:56:30,10806,5,6,True,0
2016.01.10 23:56:37,10806,5,6,True,0
2016.01.10 23:57:32,10806,5,6,False,0
2016.01.10 23:57:47,10806,5,6,True,1
2016.01.10 23:57:56,10806,5,6,True,0
2016.01.10 23:58:04,10806,5,6,True,0
2016.01.10 23:59:00,10805,5,6,True,0
2016.01.10 23:59:07,10805,5,6,False,0
2016.01.10 23:59:08,10805,5,6,False,1
2016.01.10 23:59:09,10805,5,6,False,2

PS пользуясь случаем линкую утилиту для выгрузки данных из кеша:
https://forums.goha.ru/showthread_82_1_p153693455
#15 Lichiee_renamed_1108611_01072020 11.01.2016, 21:26
Originally Posted by MitUI:
- было определено
Кем и как?

Originally Posted by MitUI:
Потому что это не первый спойлер, где кирпичи только для людей со знанием матана, и это объяснение сделано как можно более понятным. Разжую его для ещё более простого восприятия, чтобы даже школьники доперли, о чем речь.
Судя по тому, что у Вас 100-107=7, еще и для людей впринципе незнакомых с операцией вычитания и отрицатеьными числами.

Originally Posted by MitUI:
Можешь пойти заказать разбор игры к платным датамайнерам и они за много-много денег тебе 100% утверждения и алгоритмы действия сделают.
Моя возможность или невозможность что-либо сделать никак не могут являться основаниями для гипотез приведенных Вами. Или вы уже "задатамайнили" серверную часть на которой и производиться расчет?

Originally Posted by MitUI:
Кирпич теории только для избранных. Остальных прошу или в детальный разговор во втором спойлере, по которому даже до меня доперло, или в гайд по заточке, где тупо алгоритм действий есть и в спойлере - краткая теория.
Приведенная цитата была именно из второго спойлера.

Originally Posted by MitUI:
Z = X = Число > X
Вот ЭТО "более подробный разбор"? X > X? С каких пор отношение ">" рефлексивно?