Wake of Gods Forum | Форум Во Имя Богов
Геройский расчёт - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Новые города (/forumdisplay.php?fid=157)
+---- Forum: Кремль (/forumdisplay.php?fid=168)
+---- Thread: Геройский расчёт (/showthread.php?tid=829)


Геройский расчёт - izrukvruki - 26.08.2009 18:25

Короче такая задача (желательно в Экселе ее решить):

У героя первичные навыки и процент повышения этого навыка
А - рА
З - рЗ
С - рС
М - рМ
pА+рЗ+рС+рМ=100% (ну или =1)

Проводится N серий испытаний получения Героем 9 уровня (после 9 уровня там проценты другие будут). Нужно выдать N наборов его навыков после каждого испытания.

Чето мое математическое образование меня немного подводит... Надобно срочно перечитать математическую статистику...


RE: Геройский расчет - GrayFace - 27.08.2009 12:27

(26.08.2009 18:25)izrukvruki Wrote:  Нужно выдать N наборов его навыков после каждого испытания.
Вот тут не понятно. Если надо промоделировать, то моделируй в лоб.


RE: Геройский расчет - izrukvruki - 27.08.2009 13:46

все. я сам все решил... коряво но решил...


RE: Геройский расчет - Ganymed - 27.08.2009 14:14

"N-навыков", это действительно неясно.
Существует уже готовый набор первичных навыков, который, в сочетании с % получения и дает необходимый результат. А определяется он только тестированием. Хотя герой моделируется не только этими параметрами, но и агрессией и % получения вторичных навыков. Здесь все должно быть в комплексе.

Сначала надо задать конечную цель: "что нужно", т.е. какой герой необходим городу?
Если нужен хороший воин, например, то есть модель Замка (в принципе, воин средний, которого можно взять за эталон)
Рыцарь:
Агрессия - 1.00
Атака - 2, 35%
Защита - 2, 45%
Сила магии - 1, 10%
Знание - 1, 10%

но нам, к примеру, нужен хороший "рашевик", с уклоном в нападение. Соответственно, делаем корректировки:
Наш герой:
Агрессия - 1.20 (максимум, как у демонов и рыцарей смерти)
Атака - 2, 50%
Защита - 2, 30%
Сила магии - 1, 10%
Знание - 1, 10%

Или нам, например, нужен "ни воин, ни маг, а так...". Для этого эталоном могут служить классические "ни рыба, ни мясо" - Рыцари смерти.
Агрессия - 1.20 (максимум в игре)
Атака - 1, 30%
Защита - 2, 25%
Сила магии - 2, 20%
Знание - 1, 25%

Здесь можно отметить отличную агрессию и, так сказать, перекрестный % получения первичных навыков, т.е. % больше у тех навыков, которых меньше на старте. В общем, если бы не агрессия, то из героя получился бы отличный "овощ" Sm
Но если нам нужен именно "овощ", то берем за основу такой путь развития.
Агрессия - 1.00
Атака - 2, 30%
Защита - 1, 35%
Сила магии - 1, 20%
Знание - 2, 15%

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

Здесь все зависит от состояния развития города (дерево строений, цены построек и юнитов и т.д.). Отдельно от этого пытаться моделировать героев не имеет никакого смысла. Ну и все это в комплексе проверяется постоянным тестированием, с отслеживанием динамики развития города и героя.


RE: Геройский расчет - izrukvruki - 27.08.2009 14:45

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

так вот я и хочу расчитать, среднего героя 9 уровня, при заданных начальных первичных навыках и % повышения этого навыка...

Например для Кремля для Волхва, начальные параметры такие
1 - 15%
1 - 25%
3 - 40%
1 - 20%

Средний герой 9 уровня получается такой (при 28 испытаний):
2
3
6
3

Собственно, мне всего был нужен удобный алгоритм получения серии (в данном случае 28) испытаний, результатом которых были четыре числа (четыре первичные навыка))...


RE: Геройский расчет - Ganymed - 27.08.2009 15:14

изрук, видимо мы друг друга не поняли Sm


RE: Геройский расчет - gamecreator - 27.08.2009 15:44

я готов решить задачу и даже больше, но мне нужны объяснения. что такое "испытание"? это набор героем уровней с 1 по 9?
кстати согласно теории вероятности первичные параметры на 9-м уровне будут:
2,2
3
6,2
2,6
дробные части указывают на вероятность получения еще 1 единицы навыка (другие в этом случае не изменятся):
20% - 3 3 6 2
20% - 2 3 7 2
60% - 2 3 6 3
Добавлено:
это в общем случае. а вообще будет 4^8 наборов навыков. некоторые, конечно, будут одинаковые


RE: Геройский расчет - izrukvruki - 27.08.2009 18:29

Испытание - в данном случае это получение Героем 9 уровня.
т.е. до испытания у него были одни первичные навыки после испытания другие. Т.е. одно испытание: сначало было 1-1-2-2 потом стало 9-1-2-2, второе испытание привело к 8-2-2-2, третье к 3-3-4-4 и т.д. Далее можно построить график по соответсвующем навыкам (атака, защита, сила, знания) - (9,8,3) - среднее 20\3, (1,2,3) - среднее 2 и т.д.
Собственно говоря у него может быть много вариантов, и поэтому говорить:
Quote:кстати согласно теории вероятности первичные параметры на 9-м уровне будут:
2,2
3
6,2
2,6
дробные части указывают на вероятность получения еще 1 единицы навыка (другие в этом случае не изменятся):
20% - 3 3 6 2
20% - 2 3 7 2
60% - 2 3 6 3
неверно. Правильно сказать, что у героя с такими-то первичными навывыками и такими-то % повышения на 9-м уровне могут быть такие то навыки с такой-то вероятностью...


Вообщем я все решил (не оптимально):

Пусть герой такой:
a1=1 -> 0,15
a2=1 -> 0,25
a3=3 -> 0,4
a4=1 -> 0,2

1) Составим интервальные ряды
I1=(0;0,15]
I2=(0,15;0,4]
I3=(0,4;0,8]
I4=(0,8;1)
2)Испытание состоит из 8 этапов (получение уровня), на каждом этапе генерируем случайное число s: 0<s<1
3) определяем число j, такое что s принадлежит Ij и тогда aj=aj+1


RE: Геройский расчет - gamecreator - 27.08.2009 18:52

ну это ты про тот случай с 65536 вариантами. а я упрощенно говорю. а на самом деле, конечно, может быть и 9 1 3 1. но вероятность эта - 0,0000002562890625.