Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Механика перегрева


  • Авторизуйтесь для ответа в теме
64 ответов в теме

#21
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376

2. Тепло рассеивается предположительно по закону T(t)=T(0)*e^(-t*C), где T-температура рэка, t - время, C - константа.

Интересно. Какая константа? heatDissipationRate?

А кто-нибудь может мне объяснить почему в онлайн играх используются так называемые "корейские" или "исландские" рандомы. Почему не нормальное распределение, стьюдента или полукруговое?

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

Сообщение отредактировал DarkPhoenix: 21 October 2011 - 0:09

  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#22
Lord_Ko

Lord_Ko

    Clone Grade Gamma

  • Tech III Pilots
  • PipPip
  • 96 сообщений
-2
  • EVE Ingame:Ko R
  • EVE Alt:Ko M
  • Corp:DG
  • Ally:StarBridge
  • Client:Рус
ответы на вопросы ТСа
1) по НЕ абсолютной вероятности, то есть если вероятность абсолютная то было бы при 10% вероятности каждый 10ый цикл получались бы повреждения, но практика это опровергла... так что тут просто случайная величина по таймеру (более внятно изъясниться не получилось)
2) в случае перегрева модуль наносит повреждения, которые распределяются на все соседние модули ряда в равных долях
например: модуль пушка перегрелся на 0.8НР и эти повреждения наносятся на сальвагер рядом привинченный. того пушка и сальвагер получают по 0.4 дамага от перегрева (округление при этом идет до тысячных... читай что нет округления)
3) написано, что только соседние, но при невыясненных обстоятельствах (пока установлена зависимость только от того, что при не сгруппированных пушках повреждается слабее) повреждались и не соседние модули ряда
4) если модуль уже получил повреждения то они по любому распределяться и соседними модулями ряда
5) смотри пункт 2
6) хз точно, но замечено, что если модуль имеет градацию размеров (например АБ для фригов или для крузов) то большего размера модуль дает меньше дамага при перегреве

насчет хинтов :)
1) чем больше модулей между собой делят дамаг тем меньше дамага каждому => чем больше модулей, тем меньше шанс пережечь :) а от ригов и сабсис не зависит т.к. он не стоят в рядах
2) не всегда, но часто...

ПыСы есть модули изменяющие параметры перегрева (например растягивая длительность цикла перегрева, что позволяет реже получать повреждения)

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

Количество пасты для ремонта считается так: RoundUp( ( Module Base Price / 13,000 ) * ( Damaged HP / Total HP ) * (1 - 0.05 * Nanite Operation skill level) ) (в доке стоимость половинная)

Сообщение отредактировал Lord_Ko: 21 October 2011 - 1:12

  • 0

#23
Врачеватель душ

Врачеватель душ

    Chaotic mind

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5683 сообщений
963
  • EVE Ingame:Soul Surgeonny
  • Corp:Deliberate Forces
  • Ally:HYDRA
  • Client:Eng
Феня, ты задрот.
  • 0
Антифашисты это как антипираты в мире евы (с) Forsaken skipper

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


#24
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng

Интересно. Какая константа? heatDissipationRate?

Вот вычислить эту константу - и есть задача, т.к. она, полагаю, будет включать в себя параметры корабля (касательно перегрева), заполненность модулями и т.д. Здесь нужно провести серию опытов, по возможности, варьируя каждый параметр в отдельности.
Что касается выбора модуля для повреждения:
The position of an overloaded module in the rack affects the chances of the other modules in the rack to take damage from heat. The further away from the overloaded module they are, the smaller the chances are for the other modules to become damaged. (wiki.eveonline.com)
Если я правильно перевел, то шанс получить повреждение соседнего модуля зависит от его удаленности от перегреваемого.

Далее мое размышления:
Для построения модели можно как вариант провести туеву хучу опытов и отмечать на каком уровне перегрева рэка повреждаются модули (если конечно шанс этого зависит только от уровня перегрева). Далее построить гистограмки для всех модулей и понять, что за распределение, не сложно. Сложнее будет увязать его параметры с параметрами корабля. Мне что-то кажется что распределение будет нормальным, причем для главного модуля оно будет одно, для 2-х соседних модулей будет другое.
При моделировании же перегрева понятно, что рандом использовать никто не будет, ибо та же Pyfa будет каждый раз давать разный результат - кому это нужно. Дамаг просто будут получать все модули, однако дамаг будет равный takenDamage=moduleDamage*p (p-вероятность, что модуль получит дамаг).
  • 0

#25
Dfire

Dfire

    In RuSH we trust

  • Tech III Pilots
  • PipPipPipPipPip
  • 1572 сообщений
122
  • EVE Ingame:Dfire
  • Corp:RuF
  • Ally:U-RA

2) в случае перегрева модуль наносит повреждения, которые распределяются на все соседние модули ряда в равных долях
например: модуль пушка перегрелся на 0.8НР и эти повреждения наносятся на сальвагер рядом привинченный. того пушка и сальвагер получают по 0.4 дамага от перегрева (округление при этом идет до тысячных... читай что нет округления)


Когда я тестил, у меня получалось так что, например, перегрев 10 мвд дает всегда повреждение равное соответсвующему атрибуту (11.4 HP). Со скилами там чуть больше 8 получалось. И всегда когда МВД получало повреждения - то ровно эти 8 хп. Если соседние модули тоже получали повреждения - то опять же по 8 хп. Шанс зависит от общего перегрева уровня модулей.

Никакого деления повреждений между модулями замечено небыло.

П.С. Помоему у всех модулей по 40 хп. (Кроме триаги/сиджа)

И добавлю 1ккк, если будет полная и проверенная инфа по поставленному ТС вопросу.

Сообщение отредактировал Dfire: 21 October 2011 - 16:27

  • 0

"R.u.S.H. - Fanatics приглашает молодых ПВП пилотов"
"R.u.S.H. - Industry приглашает майнеров и производственников"
"Кстати. Для нубов форум можно сделать ридонли до тех пор пока не наберёт 50 сообщений."©EVE-RU.COM


#26
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376

Феня, ты задрот.

Вовсе нет, я (точнее, теперь уже мы) предоставляем возможность побыть задротами за 2 (3) лярда :D

ps Все ответы вдумчиво прочитаю, но не раньше воскресенья
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#27
Кот

Кот

    Clone Grade Delta

  • Tech III Pilots
  • PipPip
  • 192 сообщений
6
  • EVE Ingame:Ranger Cat
  • Corp:GMILT
  • Client:Eng
Может поможет эта ссылка:

Thermodynamics

Сообщение отредактировал Кот: 31 October 2011 - 22:37

  • 0

#28
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng
Я провел серию экспериментов. У меня пока складывается следующая модель.

Параметры корабля:
heatAttenuationHi
heatAttenuationLow
heatAttenuationMed
heatCapacityHi
heatCapacityLow
heatCapacityMed
heatDissipationRateHi
heatDissipationRateLow
heatDissipationRateMed
heatGenerationMultiplier
hiSlots
medSlots
lowSlots

Параметры модуля:
heatAbsorbtionRateModifier
heatDamage

Набор тепла H (на примере hi-slot модулей):
Hhi(t)=heatCapacityHi/100-e-t*heatGenerationMultiplier*(heatAbsorbtionRateModifier1+ heatAbsorbtionRateModifier2 + ... + heatAbsorbtionRateModifiern)
В дампе базы данных heatCapacityHi лежит в интервале [0,100], поэтому делим на 100 чтобы перевести в проценты

Рассеивание тепла:
Hhi(t)=Hhi(0)*e-t*heatDissipationRateHi

Шанс получения урона модулем:
phi(H, range)=numberOfOnlineModules/numberOfSlots*H*heatAttenuationHirange
numberOfSlots = hiSlots+medSlots+lowSlots
range - расстояние до перегреваемого модуля. range=0 - перегреваемый модуль. Модули не зацикливаются, т.е. первый и последний модуль не соседи.
H - уровень перегрева река
Если модуль оффлайн, он считается как пустой слот, однако продолжает получает урон, пусть и с меньшей вероятностью.
Урон по всем модулям всегда одинаков и равен heatDamage (с учетом скилов).

Моделирование
Урон по модулю
damage = phi(H, range)*heatDamage

P.S. У меня пока не было возможности проверить модель на разных конфигурациях кораблей, так что это пока только наброски.

Сообщение отредактировал mr_depth: 29 October 2011 - 9:45

  • 0

#29
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376

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

Нет, не будет полного моделирования, но и отображения среднего значения, как в ефт, я тоже не хочу. Идеальный вариант для меня - матожидание +- отклонение (например, +/- две сигмы от него).

Может поможет эта ссылка:

Thermodynamics

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

пс Все еще не забыл, просто приходится переключаться на другие дела

edit: насчет зависимости ратио занятые модули / модулей всего выяснил, от ригов не зависит.
спойлерОпыт
Рифтер с зором и жжоным т1 мвд пролетел в километрах:

MWD:
2745
1143
2184
954
1323
1827
1800
2384
953
1360
---
MWD + 3 x extender rigs:
1408
1093
1047
1320
1040
1230
1220
580
1970
860
---
MWD + 3 x 200mms:
312
576
309
487
345


С субсистемами завтра повожусь, и наверное после этого уже общие тесты буду проводить.

А, да, совсем забыл. При перегреве любого из модулей тепло не рассеивается. Ретриба с с 4 хардами греет лоу до 95% за 35 секунд (+/-), с 1 хардом - за 144 (тоже +/-). Зависимость от количества модулей линейная, проверял. Ну и само собой, все это в пределах одного рэка, другие сами по себе. Так что как минимум это предположение списывается в утиль:

1. Рассеивание тепла идет даже во время работы модулей в перегреве.


Сообщение отредактировал DarkPhoenix: 09 November 2011 - 21:28

  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#30
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng

Нет, не будет полного моделирования, но и отображения среднего значения, как в ефт, я тоже не хочу. Идеальный вариант для меня - матожидание +- отклонение (например, +/- две сигмы от него).

Боюсь что не получится вывести формулу для матожидания и дисперсии без моделирования. Слишком много переменных.
Если нужно получить только матожидание, то нужно смоделировать перегрев как я писал выше, умножая урон от модуля на вероятность получения урона.
Если же нужно получить дисперсию, то здесь можно прогнать, скажем, 1000 тестов. Получив уже статистику можно посчитать и числовые характеристики.
Для справки.
У меня получилось нормальное распределение.
Матожидание - 174с
Среднеквадратическое отклонение - 33с.
Т.е. время жизни модуля на перегреве 174 +- 33с.

А, да, совсем забыл. При перегреве любого из модулей тепло не рассеивается. Ретриба с с 4 хардами греет лоу до 95% за 35 секунд (+/-), с 1 хардом - за 144 (тоже +/-). Зависимость от количества модулей линейная, проверял. Ну и само собой, все это в пределах одного рэка, другие сами по себе. Так что как минимум это предположение списывается в утиль:

Здесь согласен, это я погорячился.

Прикрепленные файлы

  • Прикрепленный файл  main.c.zip   1.2К   130 Количество загрузок:

Сообщение отредактировал mr_depth: 10 November 2011 - 9:54

  • 0

#31
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376
Во-первых, был перепроверен можно сказать факт того, что в плане ратио "занятые/пустые слоты" пассивные, активные выключенные, активные включенные и активные пережигаемые модули считаются за "занятые слоты", а пустые слоты и оффнутые модули, соответственно, за "пустые слоты". Кроме того, на всякий случай были проверены клоки (которые, как известно, даже в оффлайне дают пенальти).

спойлерdata
Единица измерения в данном случае - километры отлета от станции, т.к. использовался корабль с одной и той же скоростью, ретриба, без спидмодов.
T1 mwd + 5 t2 Adaptive Nano Platings (onlined):
280
180
208
216
T1 mwd + 5 t2 Adaptive Nano Platings (offlined):
910
1829
1247
T1 mwd + 2 t1 kinetic hardeners (onlined) + 2 t1 kinetic hardeners (overloaded) + t2 co-proc:
280
245
250
T1 mwd + 5 t1 prototype cloaks (offlined):
2200
900
635


Во-вторых, вчера появилась мысль, что сами риги-то не влияют на шанс получения урона модулем, а вот влияют ли сами слоты? Для проверки этого нужно взвести все известные факторы, от которых зависит шанс получения дамага самим модулем в 100% (а это отношение занятых слотов по отношению к свободным и температура рэка), и смотреть, будет ли наноситься урон во всех случаях или будут исключения, и если да, то как много.

В итоге был собран хукбилл, 5 т1 фотонок, хай 3 рокет лончера, лоу т2 сопроцы. риги пустые. Фотонки включались по-очереди с небольшим нахлестом (чтобы не дать теплу рассеяться), смежные с нахлестами циклы при подсчетах игнорировались. Сами результаты начинали записываться по достижению температуры мед рэка в 95%.

спойлерdata
"0" - перегреваемый модуль не повреждался, "-" - повреждался
Заход 1:
0
0
-
-
-
-
0
0
-
-
0
-
0
0
-
-
-
0
0
-
-
0: 8, -: 12

Заход 2:
-
-
-
-
-
0
-
0
-
0
0
0
0
-
0
0
0
-
-
0
-
-
-
-
0: 10, -: 14

Заход 3:
-
-
-
-
-
-
-
0
-
-
-
-
-
0
-
0
-
-
0: 3, -: 15

Далее я на всякий случай зафитил на всю калибрацию и слоты ригов - 2 т2 экстендера и т1 миссл роф риг (на всякий случай), проверка вчерашнего опыта). Заход 4:
-
-
-
-
-
0
-
-
-
-
0
-
-
-
-
0
-
-
0
-
0
0
-
-
-
-
0: 6, -: 20

Заход 5:
-
-
-
-
0
0
0
-
-
-
-
0: 3, -: 8


Можно учесть среднюю температуру в районе 97 (в начале прогона она 95, в конце вообще точность возрастает и иногда температура рэка округляется до ста).

Полученные результаты (30 случаев не-нанесения дамага из 99 наблюдений всего) совсем не похожи на цифру 3%, так что вероятно присутствие какого-то другого фактора. Наиболее вероятный кандидат - именно до сих пор неправильно оцененный фактор забитые слоты/свободные слоты, а именно - тот факт, что установленные риги не становятся "забитыми слотами", но ригслоты учитываются в итоговом количестве слотов. То есть, у хукбилла было 10 забитых мед/лоу/хай слотов, и всего 13 слотов (с учетом ригов). Шанс не-нанесения дамага с учетом этой гипотезы:
1 - 10/13 (23%), и с учетом 3%-й поправки 1−10/13*0.97 (25%), что уже больше похоже на полученный результат с учетом возможного рандома (30%).

Для проверки был взят нубшип (у которых, как известно, ригслотов нет) Reaper (все нужные параметры идентичны хукбиллу), в него запиханы т2 лампа, т2 капреч, 2 т2 280мм арти. С 2 пукалками температуру рэка быстро не наберешь, поэтому замеры начинались с 90%, при необходимости перезарядки пушки чередовались (чтобы температура не падала).

спойлерdata
Заход 1:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
0: 1, -: 26

Заход 2:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0: 0, -: 20

1 из 47, где-то 2%. Я посчитал это убедительным доказательством и не стал продолжать.

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

edit: если кто не понял, что оно значит: при высчете шанса нанесения урона модулю при перегреве есть 2 фактора, температура рэка и соотношение количества занятых слотов к полному количеству слотов. Полное количество слотов включает в себя все хай, мед и лоу слоты, плюс риги, плюс, возможно, сабсистем-слоты. Занятые слоты включают в себя онлайн+ (то есть состояния online, active, overload) модули из хай/мед/лоу, но НЕ включают в себя оффлайнутые модули, пустые слоты, любые риги, и, возможно, субсистемы.

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

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

Я еще над этим даже не думал, если честно. Как буду детально представлять, как работает пережог - можно будет думать о моделировании или приближенных вычислениях.

add: итак, т3 и субсистемы.

Во-первых, выясняем, влияют ли установленные сабы на скорость сжигания модулей. Берется тенга в конфиге CPU, CapReg, Amplif, Covert, Null (сумма слотов 15 + 3) и цинабал (сумма слотов 15 + 3). Смотрим, сколько циклом отгоняет мвд до того, как повредится 5 раз (для цинабала это мертвое мвд, для тенги 1 шаг до метрового с теми скиллами, с которыми гонял я).

спойлерdata
Cyna + MWD:
64
49
76
110
101
Среднее: 80

Tengu + MWD:
146
59
67
64
131
Среднее: 93.4

Cyna + MWD + 5 t1 small nosferatus:
17
11
17
Среднее: 15

Tengu + MWD + 5 t1 small nosferatus:
15
12
12
Среднее: 13


Как видно по тестам, сабсистемы не считаются за онлайн+ модули (иначе бы тенга гоняла меньшее число циклов, примерно в 5 раз, т.к. у цинабала ратио было бы 1/18, а у тенги 6/23).

Кроме того, у тенги небольшое преимущество. Объясняется оно либо погрешностью (заходов всего 5 на брата), либо тем, что сабсистемы тенги считаются также, как риги (и у тенги ратио 1/23 выходит). Проверяется это тем почти тем же образом, что и проверялись риги, с упором на статистику (потому что нету кораблей с субсистемами, но без ригов, чтобы исключить случайный фактор ригов). Берем тенгу (Dissolution, Coolant, Amplif, Ejection Bay, Fuel Cat), фитим доверху (5 т2 носф, 6 т2 инвулей, 5 т2 капрелеев, 2 т2 ццц, 1 т1 ццц), гоним температуру меда до 95%, собираем данные. Большую часть эксперимента (т.к. он доолгий, тенга слабо дамажит инвули и их много) температура рэка в районе сотки, так что ее просто игнорируем.

спойлерdata
Заход 1:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
0
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
0
-
-
-
0
-
0: 6, -: 41

Заход 2:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-
-
-
0
-
-
0
0
0
0
-
0
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
0
0
-
-
-
-
-
-
-
0: 10, -: 50

Заход 3:
-
-
-
-
-
-
-
-
-
0
0
-
-
-
-
-
-
-
-
-
0
-
-
0
-
-
-
-
0
-
-
-
-
0
-
-
-
-
-
-
-
0
0
-
-
-
-
-
-
-
-
-
0: 8, -: 44


Итого 24 не-нанесения против 159 наблюдений, или 15%. Очень непохоже на 1 - (16 (занятые слоты) / (16 + 3 + 5)), то есть 33%, не так ли? Раз уж так люто не подходит и сами субсистемы не учитываются как онлайн+ модули, может быть оно вообще игнорируется? 1 - (16 / (16+3)), 15.79%. Да, так оно и есть.

Подводя итог всего поста, один из мультипликаторов, влияющих на вероятность нанесения дамага самому модулю, равен (хай + мед + лоу, занятые онлайнутыми модулями) / (кол-во хай + мед + лоу + риг слотов).

moar: Теперь выясняем законы нагрева/рассеивания. По своему характеру они очень похожи на экспоненциальные. Сначала поработаем с нагревом, посмотрев зависимость от количества участвующих в процессе модулей. Тенга (Dissolution, Coolant, Amplif, Ejection Bay, Fuel Cat), 6 одинаковых фотонок (т2), смотрим, сколько времени пройдет до 99% нагрева (по интерфейсу, т.е. с округлением).

спойлерdata
1: 279.793050051
2: 140.444602966 (1.99 ратио)
3: 93.8117558956 (2.98 ратио)
4: 69.827504158 (4 ратио)
5: 55.2678010464 (5.06 ратио)
6: 46.3448960781 (6.03 ратио)

Все в пределах погрешности. То есть, зависимость от количества модулей или некоего их атрибута линейная. А также видно то, что никаких сюрпризов в виде рандома нету. Переходим к размышлениям, какой же параметр модуля регулирует, сколько тепла будет выделяться. Кандидат тут один, у каждого пережигаемого модуля есть атрибут heatAbsorbtionRateModifier. Проверяем во-первых разные модули с одинаковой длительностью цикла, но разными этими атрибутами, а потом добавляем и разницу в циклах. Греем до 90%. Тенга (Dissolution, Coolant, Amplif, Ejection Bay, Fuel Cat).

спойлерdata
т1 10 мн мвд (0.04, цикл 10 сек): 75.4861559868
т2 инвуля (0.02, цикл 10 сек): 150.156818867
т1 инвуля (0.01, цикл 10 сек): 301.53029108
т2 мшб + 2 6% импа на капу (0.02, цикл 3 сек в оригинале, 2.55 в пережоге): 150.825686932

Окей, по характеру выделения тепла (по индикатору) и по этим данным видно, что оно не зависит от цикла модуля, а только от этого самого атрибута и времени. У кораблей, помимо прочего, есть такой атрибут - heatGenerationMultiplier. Влияет ли он на все это дело? Берем т1 инвулю, примеряем на разные кораблики.

спойлерdata
Тенга из теста выше, т1 инвуля (атрибут этот равен 0.75): 301.53029108
Мерлин (1.0): 226.738855124

Как видно из названия и результатов, это просто множитель. Теперь смотрим, какие еще относящиеся к генерации тепла могут быть параметры у модулей и корабля? Да никаких, за исключением heatCapacityHi/Med/Low, которые у всех без исключения кораблей равняются сотке. Вывести формулу несложно, кроме того, она уже тут не раз упомянута (на гунвики цитата ццпшника, и более точная, с учетом кучи параметров, любезно предоставленная mr_depth'ом), так что я не буду морочить вам голову с ее выводом:

H(t)=heatCapacity/100-e-t*heatGenerationMultiplier*sum(heatAbsorbtionRateModifier)

спойлерdata
Пример с мерлином и т1 инвулей: 100÷100−e^(−226.738855124×1.0×0.01) = 0.8964 (грели до 90, чек)
Пример с тенгой и т2 инвулей: 100÷100−e^(−150.156818867×0.75×0.02) = 0.8948 (грели до 90, чек)
С тенгой и мвд: 100÷100−e^(−75.4861559868×0.75×0.04) = 0.8961
С тенгой и 6 фотонками: 100÷100−e^(−46.3448960781×0.75×0.02×6) = 0.9845 (грели до 99, чек, почему - объяснено ниже).


Небольшой недобор объясняется не кривостью формулы, а небольшой погрешностью + округлением данных в еве (98.5 для нее уже 99). Итого - формула для набора температуры верна. Время формулы рассеивания тепла. Она уже, как и формула набора, есть:

H(t) = H(0)*e-t*heatDissipationRateHi

Делаем несколько замеров, как быстро падает температура рэка с 90 до 20, и тут же проверяем это формулой. Тут наверняка используются атрибуты корабля heatDissipationRate[Hi | Med | Low], но они у всех известных кораблей равны 0.01.

спойлерdata
Мерлин: 150.6175639629364; 0.9×e^(−150.6175639629364×0.01) = 0.1996 чек
Тенга: 150.68784713745117; 0.9×e^(−150.68784713745117×0.01) = 0.1994 чек


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

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

Если модуль оффлайн, он считается как пустой слот, однако продолжает получает урон, пусть и с меньшей вероятностью.

Интересное заявление. Ты это сам проверял или откуда-то выцепил? За счет чего понижается вероятность, за счет того, что это +1 оффлайнутый модуль или за счет какого-то нового фактора? И, да, у меня дежа-вю - мне кажется, что я эту фразу уже где-то видел и этот вопрос тоже задавал.

Сообщение отредактировал DarkPhoenix: 10 November 2011 - 4:05

  • 2

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#32
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng

Интересное заявление. Ты это сам проверял или откуда-то выцепил? За счет чего понижается вероятность, за счет того, что это +1 оффлайнутый модуль или за счет какого-то нового фактора? И, да, у меня дежа-вю - мне кажется, что я эту фразу уже где-то видел и этот вопрос тоже задавал.

Никаких особенностей в том что он оффлайн нет. Оценка вероятности такая же как и для онлайн модуля. А урон получает т.к. это все же модуль, я думаю ты и сам это видел.
Что касается риг-слотов. В принципе их вклад логичен. Риг-слот - это такой же слот как и другие. Что касается самих ригов. У них нет состояния онлайн/оффлайн. Так что вполне можно принять что их вклад в общую картину как оффлайн-модуль.

Остается проверить зависимость повреждения модулей от температуры (просто, но времязатратно), проверить зависимость шанса повреждения модулей от дальности от перегреваемого модуля.

Такую статистику я как раз и собирал. Включал один модуль в перегрев и замерял при какой температуре повреждались модули. Один и тот же тест запускал  где-то 25 раз. Наиболее точно мое результаты аппроксимировались линейной зависимостью. Причем параметры прямой были очень близки к формуле:
phi(H, range)=numberOfOnlineModules/numberOfSlots*H*heatAttenuationHirange

P.S. В предыдущем посте я выложил код на C, который моделирует результаты моего эксперимента.

Сообщение отредактировал mr_depth: 10 November 2011 - 9:55

  • 0

#33
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376

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

Окей.

Что касается риг-слотов. В принципе их вклад логичен. Риг-слот - это такой же слот как и другие. Что касается самих ригов. У них нет состояния онлайн/оффлайн. Так что вполне можно принять что их вклад в общую картину как оффлайн-модуль.

Если это так логично, то почему этого нету ни на гун-вики, ни в твоих выкладках? И почему риг-слоты - это логично, а субсистемы - нет? И почему сами риги не всегда в состоянии онлайн?

Лично для меня это было открытием.

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

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

Сообщение отредактировал DarkPhoenix: 10 November 2011 - 12:30

  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#34
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng

Если это так логично, то почему этого нету ни на гун-вики, ни в твоих выкладках?

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

И почему риг-слоты - это логично, а субсистемы - нет?

Ну, по базе данных аттрибуты lowSlots, medSlots, hiSlots, rigSlots объединяет unitID=122. subSystemSlot вообще без unitID.

И почему сами риги не всегда в состоянии онлайн?

Если я не ошибаюсь, у всех модулей есть эффект online (dgmEffects). У ригов и подсистем этого эффекта нет, что как бы намекает.

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

Буду вечером дома, скину xls-файл.

Сообщение отредактировал mr_depth: 10 November 2011 - 13:22

  • 0

#35
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376

Ну, по базе данных аттрибуты lowSlots, medSlots, hiSlots, rigSlots объединяет unitID=122. subSystemSlot вообще без unitID.

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

Если я не ошибаюсь, у всех модулей есть эффект online (dgmEffects). У ригов и подсистем этого эффекта нет, что как бы намекает.

Ну да, звучит логично - уже пост-фактум. Но сюда с легкостью могли учитываться и эффекты rigSlot + subSystem.
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#36
Dfire

Dfire

    In RuSH we trust

  • Tech III Pilots
  • PipPipPipPipPip
  • 1572 сообщений
122
  • EVE Ingame:Dfire
  • Corp:RuF
  • Ally:U-RA
О, а дело то движется!
Феникс, как будет результат - скинь в ПМ, отдам кому скажешь 1ккк обещаный.
  • 0

"R.u.S.H. - Fanatics приглашает молодых ПВП пилотов"
"R.u.S.H. - Industry приглашает майнеров и производственников"
"Кстати. Для нубов форум можно сделать ридонли до тех пор пока не наберёт 50 сообщений."©EVE-RU.COM


#37
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376
Проверяем зависимость нанесения дамага от температуры рэка. Собираем корабль, исключающий как можно больше посторонних факторов: рипер, 2 х 125мм, каталайзед мвд, т2 лампа. Замеряем пережог мвд до смерти оного или до 5 циклов.

спойлерdata
1: 0 0 0 - -
2: 0 0 0 - -
3: - - -
4: 0 - - -
5: 0 0 - - -
6: 0 - - 0 -
7: - - 0 0 -
8: 0 0 - 0 -
9: - - -
10: 0 0 - 0 -
11: 0 - 0 - 0
12: 0 - - -
13: 0 - - -
14: 0 - - -
15: - 0 - -
16: - 0 - 0 -
17: 0 0 0 0 -
18: 0 - - -
19: - 0 - -
20: - - -
21: - 0 0 - -
22: 0 0 - - -
23: - - -
24: 0 - - -
25: 0 - - -

Итого, на 1-м цикле - 9/25 = 36%, на 2-м 14/25 = 56%, на 3-м 19/25 = 76%, на 4-м 15/21 = 71%, на 5-м 11/12 = 91%.
По формуле нагрева рэка выше выходит 33%, 55%, 70%, 80%, 86% шанса нанесения дамага.

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

Далее, смотрим, как зависит урон соседним модулям от пеережигаемого модуля. Смотрим, единственный оставшийся параметр корабля - это heatAttenuation[Hi | Med | Low], так что будем сразу плясать от самого сложного случая. Возьмем нетипичный корабль (легион), у которого этот параметр прописан железно и не изменяется от количества слотов. Типичное количество хайслотов 5, поэтому собираем с сабой, дающую 6-й хайслот. В итоге легион с диссолюшеном, кор мультиплаером, аугментед плейтингом, лазерной оффенсив сабой, и шасси оптимизейшен. Забиваем туда 6 гатлинг пульсов с мультиками (удобно, стреляют без перезарядки, и имеют мизерный дискретный шаг в плане повреждения по модулю - меньше погрешность в итоге), 4 треккомпа, 6 хитсинков, т2 аэратор. Стреляем крайним лазером (делая предположение, что тепло во все стороны распространяется одинаково, замеряем только одну из них), пока он не помрет.

спойлерdata
1: 100 63.78 52.65 38.48 25.31 17.21
2: 100 76.95 51.64 33.41 24.3 22.3
3: 100 62.78 52.65 32.4 24.3 15.19
4: 100 74.93 49.61 34.43 20.25 19.24
5: 100 74.93 45.56 41.51 22.28 16.2
Среднее: 100 70.67 50.42 36.05 23.29 18.03


Теоретические значения 0.71 (heatAttenuationHi) в степени дистанции выходят следующие: 100 71 50.41 35.8 25.41 18.04. Можно сказать, в десяточку. Такое совпадение объясняется огромным числом проведенных экспериментов (а каждый выстрел лазера - эксперимент, а этих выстрелов за каждый прогон сделано сотни). Заодно по 6-му лазеру видно, что урон по соседним модулям зависит не от количества слотов корабля, а именно от параметра heatAttenuation.

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

спойлерdata

1: 100 76.95 59.74 32.4 28.35 20.25
2: 100 85.05 54.68 38.48 22.28 14.18
3: 100 65.81 37.46 32.4 21.26 15.19
Среднее: 100 75.94 50.63 34.43 23.94 16.54

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

Сообщение отредактировал DarkPhoenix: 10 November 2011 - 19:56

  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#38
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng
Как и обещал, статистика которую я собрал.
Суть эксперимента заключалась в построении зависимости вероятности получения урона модуля в зависимости от удаленности модуля от нагреваемого и температуры.
Для этого я замерял время от начала эксперимента, когда модуль получал урон. Это время переводил в тепло (по графику).
Чем больше повторяется один и тот же опыт, тем экспериментальная кривая будет ближе к аналитической.
Эксперимент проводился на крузаке Auguror.
11 слотов
4 верхних - пусто
2 средних - 2 онлайн модуля
5 нижних - 1-й модуль перегреваемый, 4 остальных в оффлайне.

Прикрепленные файлы

  • Прикрепленный файл  heat.zip   75.53К   164 Количество загрузок:

Сообщение отредактировал mr_depth: 10 November 2011 - 19:58

  • 0

#39
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28656 сообщений
4376
В общем, раздача слонов и слонят:

1) Grand Prize, я считаю, не отхватил никто, потому что не смог описать все детали формулы (с подтверждениями в экспериментальном виде, да и даже без них)
2) 500кк уйдут mr_depth за старания
3) Коту 250кк за наводку на гунвики
Остальные 1250кк таксфорду виртуально (сведения из именно его презенташки на гунвики) и мне ( :D ) за практическую проверку и вывод парочки нетривиальных факторов

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

Олсо, mr_depth - как мне кажется, ты хотел 2б, но... не успел. Ссылка на гунвики была выложена задолго до того, как ты выложил свой солидный блок конкретики (что, если учитывать уже имеющуюся ссылку на гунвики, свелось к привинчиванию к формулам атрибутов кораблей/модулей, что для тебя, как человека, работавшего с внутренностями фиттинга, наверняка что называецца "два пальца") + конкретика эта содержала те же "недомолвки", что и гун-вики + что было выложено тобой до выкладывания ссылки - либо самая простая часть работы (формула рассеивания тепла), либо ошибочно + я не увидел нормальной системы экспериментов, а просто тупой набор статистики "в лоб", где свалены в кучу сразу несколько факторов (а таким способом ты бы еще месяца 3 статистику собирал, чтобы все тонкости выяснить, если не больше). Пишу я это не для того, чтобы принизить проделанную тобой работу, а чтобы обосновать, почему 2 лярда не ушли в твои руки. Я не последний жмот и действительно отдал бы их не жалея тому, кто провернул все это вместо меня. Но - не срослось так не срослось.

Все данные в более-менее удобоваримой форме запощу на оффе, тут дам ссылку на них.
https://forums.eveon...g=posts&t=32225

Сообщение отредактировал DarkPhoenix: 10 November 2011 - 21:58

  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#40
mr_depth

mr_depth

    Newbie

  • Tech II Pilots
  • 13 сообщений
4
  • EVE Ingame:Artem Valiant
  • Corp:NecroRise Squadron
  • Client:Eng

В общем, раздача слонов и слонят:

1) Grand Prize, я считаю, не отхватил никто, потому что не смог описать все детали формулы (с подтверждениями в экспериментальном виде, да и даже без них)
2) 500кк уйдут mr_depth за старания
3) Коту 250кк за наводку на гунвики
Остальные 1250кк таксфорду виртуально (сведения из именно его презенташки на гунвики) и мне ( :D ) за практическую проверку и вывод парочки нетривиальных факторов

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

Олсо, mr_depth - как мне кажется, ты хотел 2б, но... не успел. Ссылка на гунвики была выложена задолго до того, как ты выложил свой солидный блок конкретики (что, если учитывать уже имеющуюся ссылку на гунвики, свелось к привинчиванию к формулам атрибутов кораблей/модулей, что для тебя, как человека, работавшего с внутренностями фиттинга, наверняка что называецца "два пальца") + конкретика эта содержала те же "недомолвки", что и гун-вики + что было выложено тобой до выкладывания ссылки - либо самая простая часть работы (формула рассеивания тепла), либо ошибочно + я не увидел нормальной системы экспериментов, а просто тупой набор статистики "в лоб", где свалены в кучу сразу несколько факторов (а таким способом ты бы еще месяца 3 статистику собирал, чтобы все тонкости выяснить, если не больше). Пишу я это не для того, чтобы принизить проделанную тобой работу, а чтобы обосновать, почему 2 лярда не ушли в твои руки. Я не последний жмот и действительно отдал бы их не жалея тому, кто провернул все это вместо меня. Но - не срослось так не срослось.

Все данные в более-менее удобоваримой форме запощу на оффе, тут дам ссылку на них.
https://forums.eveonline.com/default.aspx?g=posts&t=32225


Я не ради исков это делал, тем более что этого добра у меня предостаточно, я преследовал другие корыстные цели. Я как разработчик (в том числе и своего модуля фиттинга) был заинтересован в решении этой проблемы.
По поводу статистики - зря ты так. Чем больше экспериментов с одинаковыми условия проведено, тем точнее оценка вероятностей. Далее уже можно менять условия и смотреть куда идет сдвиг. Это мат. статистика. 10 экспериментов ничего не покажут - 100 - это уже какой-то результат.

P.S. Предложение о помощи в переводе eos на С++ еще в силе, если вы конечно все еще нуждаетесь в помощи.

Сообщение отредактировал mr_depth: 10 November 2011 - 22:41

  • 0




0 посетителей читают тему

0 members, 0 guests, 0 anonymous users