Рендомизация, немного тервера пыщ пыщ |
Здравствуйте, гость ( Авторизация | Регистрация )
Форумы работают на сервере |
Рендомизация, немного тервера пыщ пыщ |
19.01.2014, 00:22
Сообщение
#1
|
|
Dwarf King Раса: Dwarfs Армия: Karak Norn Группа: Пользователь Сообщений: 5 091 Регистрация: 12.03.2010 Из: краснодар Пользователь №: 22 758 Репутация: 912 |
я все таки напишу вдруг пригодится.
Итак трабл. у нас есть шестигранники и есть рендомайз в множезтво М из n объектов/событий. Чаще всего ситуация возникает при векторстрайке в платун, поэтому все примеры будут разыгрывать эту ситуацию. Задача как с помощью шестигранного кубика правильно организовать рандомизацию так, чтобы все события из множества были равновероятными. Шестигранник (задача 0) Сам по себе позволяет нам нам конструировать нам равновероятную рандомизацию 2(вер события 1/2), 3 (1/3) и 6 (1/6) событий. то есть если n равно этим числам , то мы просто на соответствующие грани назначаем события и рендомизируем. Но такое бывает редко, поэтому надо придумать алгоритм в иных случаях n, с учетом того, что инструмент изменить мы как бы не можем. Для этого используются 2 основных метода разберем их по порядку. задача 1)Емнип правильно называется расширение вероятности до условной, но я назову "вложенность" бросков. итак разберем ситуацию когда n>6 и n разбивается на простые множители 2 и 3, т.е есть n=(2^q)*(3^p) где p и q неотрицательные целые числа (0 + натуральные) Примеры 8 9 12 32 48 ... для этого случая мы увеличиваем количество бросков, т.е подбираем такую последовательность d3 d2 и d6 , что бы вероятность стала 1/n возьмем большой пример из 48 событий. пускай это будет количество моделей в отряде. а) 48=(2^4)*3= 6*(2^3). т.е один бросок d6 и 3 броска d2 б) берем наши 48 моделей длим визуально на 6 групп по 8 моделей, назначаем группам номера, кидаем д6- выпавший номер определяет группу, куда хитануло. далее в группе из 8 определяем группу из 4 , c помощью D2 из четырех определяем пару моделей, а из пары у же задетую модель (оговорюсь про 4 модели ниже, можно сократить до одного броска, но потом оговорюсь почему лучше не стоит). внимательные могут заметить, что по такому принципу организован d66 и т.п. Задача 2 метод расширение множества для n = 4,5, 7 и любое число неразложимое в виде n=(2^q)*(3^p) Суть метода заключается в том что мы расширяем множество наших событий до 6 , либо до n=(2^q)*(3^p) из предыдущей задачи. Просто на эти события мы назначаем так называемые глобальные перебросы. Если оно выпадет- кидаем заново, начиная с самого начала. возьмем пример с 4 и5 моделями, просто добавляем к ним 2(1) переброс, если выпадет 5+ (6+). Пример с n=7 можно расширить до 8 ( 3 d2) , 9 (3d3) или 12 ( d2d6). возьмем последний для примера, так как меньше бросков. к 7 моделям добавляем 5 событий перебросов. делим группу из этих 12 событий по 6 (тут возможны варианты,но я советую все перебросы оставлять в одной конечной группе),т.е делим 7 моделей на группу из 6 моделей и грппу из 1 модели и 5 перебросов. кидаем d2 выпала первая группа , броском d6 определяем модель, если же выпала 2-я группа , за тем кидаем d6 на 1 хит пришелся в нашу модель, на 2+ мы реролим, но не последний d6 а весь бросок d2d6. Подобно решается задача и для любого числа неразложимого в виде n=(2^q)*(3^p). вы просто в группу добавляете число реролов до такого n и сводите задачу к задаче 1 замечание 1 Из-за того что этот переброс глобальный , я бы советовал 4 распределять как d2d2, потому что если делать это через d6 возможен глобальный переброс, который опять вас заставит перебрасывать всю структуру рендома, это может " затянуться" замечание 2 Если в результате рендомизации хит пришелся в группу,состоящую только из идентичных моделей, то на этом шаге рендомизацию можно остановить( если не важна позиция модели). Как следствие группы можно выделять по типам моделей , хотя проще и быстрее визуально. замечание 3 можно не делить группы визуально а накидать "номер" модели.( единственное определитесь по какому принципу считать, имхо если номер выпал например 22, то это 22 ближайший от источника). как это делается? объясню на примере вышеупямянутом 48 событий. первым броском d6 орделяем группу из 8-к допустим выпало 5 значит это номера с 33 по 40 дальше d2 (выпало 1) с 33 по36 , - d2(1) - с 33 или 34 , d2 (2) - 34 -й. в общем как то так, если у вас проблемы с конкретным числом, напишите я распишу алгоритм рендома, а вообще для таких случаев конечно лучше найти d20 или d100 -------------------- |
|
|
19.01.2014, 09:51
Сообщение
#2
|
|
Greater Daemon Раса: Daemons of Chaos Армия: Nurgle Legion Группа: Пользователь Сообщений: 3 930 Регистрация: 08.12.2008 Пользователь №: 16 868 Репутация: 460 |
Написал хорошо.
Че такое вектор страйк? -------------------- |
|
|
19.01.2014, 11:03
Сообщение
#3
|
|
Dwarf King Раса: Dwarfs Армия: Karak Norn Группа: Пользователь Сообщений: 5 091 Регистрация: 12.03.2010 Из: краснодар Пользователь №: 22 758 Репутация: 912 |
в 40к большой крылатый тварь когды пролетает над юнитом может кого- нибуть лапами забрать/убить, короче автохитов там сколько-то вносит.
Хиты эти рендомятся на модели -------------------- |
|
|
19.01.2014, 20:47
Сообщение
#4
|
|
Daemonic Cavalryman Раса: Daemons of Chaos Армия: Undivided Legion Группа: Пользователь Сообщений: 443 Регистрация: 21.07.2010 Из: Краснодар Пользователь №: 24 510 Репутация: 115 |
А что, если, к примеру, возьмем группу из 5 событий и, начав накидывать на d6, просто будем рероллить шестерки, прибавляя результат к сумме?
Конкретный пример: 5 моделей, рандомная цель хватает хит, кидаем d6, на d6 падает 6, рероллим, падает 3, складываем 6+3, получаем 9 Далее по типу детской считалочки определяем модель начиная с определенной заранее модели по кругу, скажем по часовой стрелке, считать модели. Получится 4я модель. И собственно вопрос к уважаемым знатокам, будет ли такой способ рандомизации трушным с точки зрения теорвер? Посетил 5 пар по теорвер за семестр считать лень А вообще это изврат конечно, да, проще универсальную формулу использовать, а тут получается способ только для множества событий 5 и меньше, Просто буквально сегодня возник вопрос, сидели-водились по фентезе и подлые эльфы стреляли в моих храбрых орков по ночи, попадали в рандомный отряд, отрядов было пять и поэтому очень много приходилось кидать именно д5 с помощью лишь d6, после часа процесса мозг начал плавиться (Да, эльфам нужно много стрел чтобы убить 5 сотен орков) Сообщение отредактировал Schulz - 19.01.2014, 20:53 -------------------- Мы сделаем вид, что мы идиоты, они решат, что мы делаем вид, что мы идиоты, а мы и есть идиоты!
|
|
|
19.01.2014, 21:39
Сообщение
#5
|
|
Dwarf King Раса: Dwarfs Армия: Karak Norn Группа: Пользователь Сообщений: 5 091 Регистрация: 12.03.2010 Из: краснодар Пользователь №: 22 758 Репутация: 912 |
ром ты чето мудришь.
у тебя только рерол 6 , если не шесть , то что выпало событие с таким номером активируется (модель хитуется) какое сложение номеров, в твоем примере должен был 3 отряд хитанутся. твой пример, если я правильно понял пытается натянуть на 2d6 как мы привыкли, то есть по сумме результатов, этот способ здесь не подходит, по тому что события становятся разновероятностными. я же про броски d2d2d6 к примеру , d66 как вам близкий, где важно какой бросок сделан первым. Воообще с числом пять могут быть проблемы если только ты на кубе кидаешь 6,затем 6 ,потом 6 , призывается дьявол, потом кидается еще 6, т.е возможность уйти в бесконечный рерол, но я хз какие у вас кубы, вероятность туда уйти крайне мала и стремится к нулю. -------------------- |
|
|
19.01.2014, 21:45
Сообщение
#6
|
|
Daemonic Cavalryman Раса: Daemons of Chaos Армия: Undivided Legion Группа: Пользователь Сообщений: 443 Регистрация: 21.07.2010 Из: Краснодар Пользователь №: 24 510 Репутация: 115 |
Да, признаю тупняк, яж говорю мозг плавиться начал
-------------------- Мы сделаем вид, что мы идиоты, они решат, что мы делаем вид, что мы идиоты, а мы и есть идиоты!
|
|
|
22.01.2014, 23:53
Сообщение
#7
|
|
Daemonic Herald Раса: Daemons of Chaos Армия: Undivided Legion Группа: Пользователь Сообщений: 786 Регистрация: 15.06.2011 Из: НАВАРРОсийск Пользователь №: 29 336 Репутация: 97 |
есть проверенный временем способ превращения д6 в д8, д10, д100, д20 и т.д.
водились мы в дальних бородатых годах, а кубов тогда не достать было. вот и изголялись. это тот же принцип(почти), что Йода описал, но выглядит проще и понятней(мне): нужен нам, например, д20. кидаем д6: первый раз на чёт\нечет = верхний\нижний десяток; второй раз на чёт\нечет = верхняя\нижняя пятёрка; третий раз тупо игнорируя 6. итого : 1) 3 = нижний десяток(явно меньше 11) 2) 6 = верхняя пятёрка(явно больше пяти) 3) 4 = 9 (четвёртая цифра второй пятерки) без громоздких формул и очень быстро осваивается. кмк но это канает только если цифра рандома более-менее причёсана. в остальных случаях не совсем честно получается, но погрешность крайне мала всё равно. Сообщение отредактировал MorGhouL - 22.01.2014, 23:53 -------------------- NOBS - Nord Ost Battle Squad |
|
|
23.01.2014, 18:51
Сообщение
#8
|
|
Dwarf King Раса: Dwarfs Армия: Karak Norn Группа: Пользователь Сообщений: 5 091 Регистрация: 12.03.2010 Из: краснодар Пользователь №: 22 758 Репутация: 912 |
морги, это один из примеров реализации, того о чем писал я(расширение до 24), только с учетом того что реролы были распределены равномерно по группам можно не глобально реролить, а локально.
кстати можно d6 тогда вначале кидать и нареролить группу из 4 элементов а потом d2d2 . не суть . Я больше писал для общих и заковыристых случаев, например 7-ки при отсутствии d8 и более куба, не сразу в голове построится план, а так хоть инструкция есть. и да громоздких формул тут нет, поверь мне Сообщение отредактировал MAGISTR IODA - 23.01.2014, 18:52 -------------------- |
|
|
Текстовая версия | Сейчас: 29.03.2024 - 02:48 |
Написать письмо администратору |