"Формулами" убрать это пока не представляется возможным, только "пошаговыми вычислениями". И это таки не "погрешность", а "игровое правило".Темный Лорд писал(а): ↑03 сен 2026, 00:45Но чего я НЕ понимаю, так это какими такими гениальными формулами можно убрать эту погрешность округления.
ИИ считать не умеет
Re: ИИ считать не умеет
Делитесь и перемножайтесь
-
Темный Лорд
- Сообщения: 3530
- Зарегистрирован: 15 дек 2014, 09:40
- Имя героя: Темный Лорд
Re: ИИ считать не умеет
Тут я с Вами полностью согласен. Значит я Вас неправильно понял. Вы значит не считаете нынешние цены неправильными, незапланированными и не хотите их менять. Нынешние цены действительно это устоявшееся игровое правило.
тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен
Re: ИИ считать не умеет
Сейчас рассуждаем о том, нужно ли менять алгоритм, только потому, что текущий не то, чтобы совсем неправильный.
Но он занижает стоимость высоких значений Умений, а так же порождает описанные в этой теме коллизии.
В первом - пошагово вычисляя каждый элемент, начиная с первого, умножая предыдущий на коэффициент и округляя вверх на каждом шагу.
Во втором - используя любой вариант формулы прямого вычисления произвольного элемента геометрической прогрессии с заданными параметрами.
И покажите их здесь. Сравним.
Но он занижает стоимость высоких значений Умений, а так же порождает описанные в этой теме коллизии.
Постройте два столбика значений элементов геометрической прогрессии с первого по двадцатый при старте в 5 и коэффициенте в 1.25.Темный Лорд писал(а): ↑03 сен 2026, 17:31тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен
В первом - пошагово вычисляя каждый элемент, начиная с первого, умножая предыдущий на коэффициент и округляя вверх на каждом шагу.
Во втором - используя любой вариант формулы прямого вычисления произвольного элемента геометрической прогрессии с заданными параметрами.
И покажите их здесь. Сравним.
Делитесь и перемножайтесь
-
Темный Лорд
- Сообщения: 3530
- Зарегистрирован: 15 дек 2014, 09:40
- Имя героя: Темный Лорд
Re: ИИ считать не умеет
Скажем так.. Моя вина, не умею объяснять.phdoc писал(а): ↑03 сен 2026, 18:41Постройте два столбика значений элементов геометрической прогрессии с первого по двадцатый при старте в 5 и коэффициенте в 1.25.Темный Лорд писал(а): ↑03 сен 2026, 17:31тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен
В первом - пошагово вычисляя каждый элемент, начиная с первого, умножая предыдущий на коэффициент и округляя вверх на каждом шагу.
Во втором - используя любой вариант формулы прямого вычисления произвольного элемента геометрической прогрессии с заданными параметрами.
И покажите их здесь. Сравним.
Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=bₙ₊₁-bₙ
до этого надо отдельно высчитать bₙ₊₁ и bₙ и округлить полученные значения до целых чисел
bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1))
bₙ=a*((kⁿ-1)/(k-1))
хотите столбики, вот они:
Код: Выделить всё
пункт № цена сумма
0 5 (5-0) 0
1 7 (12-5) 5
2 8 (20-12) 12 (_5*((1.25²-1)/(1.25-1))=11,25 и округляется до 12_)
3 9 (итд) 20 (19,06↑)
4 13 29 (28,82↑)
5 15 42 (41,03↑)
6 19 57 (56,29↑)
7 24 76 (75,36↑)
8 30 100 (99,20↑)
9 37 130 (129,01↑)
10 46 167 (166,26↑)
11 59 213 (212,83↑)
12 72 272 (271,03↑)
13 91 344 (343,79↑)
14 114 435 (434,74↑)
15 142 549 (548,43↑)
16 178 691 (690,54↑)
17 222 869 (868,17↑)
18 277 1091 (1 090,22↑)
19 347 (1715-1368) 1368 (1 367,77↑)
20 1715 (1714,72↑) - гражданин Рокоссовский, просим Вас выйти и еще раз подумать
...
- ну как Константин Константинович, подумали?
- да, своего мнения не меняю
Re: ИИ считать не умеет
Это же стандартная формула вычисления n-ого элемента прогрессии, которая у нас сейчас и используется.Темный Лорд писал(а): ↑03 сен 2026, 21:40Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=bₙ₊₁-bₙ
до этого надо отдельно высчитать bₙ₊₁ и bₙ и округлить полученные значения до целых чисел
bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1))
bₙ=a*((kⁿ-1)/(k-1))
Проблем у неё две:
1) Значения получаются меньше, чем должны быть по условиям.
2) Когда по ней для определения максимума вычисляется сумма элементов, то этот максимум по мере роста номера элемента постепенно превышает таковой, полученный пошаговым суммированием. В результате, рано или поздно, если выставить такой максимум и затем снять одно значение, то вернуть его обратно не получится.
А то, что Вы предлагаете (если я правильно понял) вычислять значение произвольного элемента не с "первого", а с "предыдущего", - лишь немного отодвигает вторую проблему на чуть попозже, никак не решая первую.
Делитесь и перемножайтесь
-
Темный Лорд
- Сообщения: 3530
- Зарегистрирован: 15 дек 2014, 09:40
- Имя героя: Темный Лорд
Re: ИИ считать не умеет
не совсемphdoc писал(а): ↑Вчера, 20:41Это же стандартная формула вычисления n-ого элемента прогрессии, которая у нас сейчас и используется.Темный Лорд писал(а): ↑03 сен 2026, 21:40Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=bₙ₊₁-bₙ
до этого надо отдельно высчитать bₙ₊₁ и bₙ и округлить полученные значения до целых чисел
bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1))
bₙ=a*((kⁿ-1)/(k-1))
akⁿ - вот стандартная формула вычисления n-ого элемента прогрессии, целиком ее использовать нельзя
поэтому формулу akⁿ делим на три формулы и проводим промежуточные округления:
вычисляем bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1)) и результат округляем
вычисляем bₙ=a*((kⁿ-1)/(k-1)) и результат округляем
вычисляем Цена=bₙ₊₁-bₙ и результат округлять не требуется
тогда цена начнет соответствовать сумме при нынешних ценах
Вы же собираетесь промежуточные округления на других этапах проводить, что не только сделает цены соответствующие суммам, но и прогрессию увеличит.
- Shadow Witch
- Сообщения: 294
- Зарегистрирован: 09 фев 2020, 06:26
- Имя героя: Delight
Re: ИИ считать не умеет
По стандартной формуле - сумарные затраты на набор пунктов максимально точно (погрешность от округления макс +1) росли в геометрической прогрессии, как видно и было задумано, иначе зачем все эти коэффициенты прогрессии и подсчёты ? никаких "занижений затрат" там нету.. там есть несоответствие между "ценой" следующего пункта и разностью затрат до него, что и приводит к неоднозначности набора (брать сразу всё, или кликать по +1).
Расхождение вызвано округлениями членов двух разных рядов, что и можно устранить так как предложил Тёмный Лорд.
Например сейчас, если взять три пункта повышения контакта - то цена 4-го округлена до 10, что уже соответствует прогрессии с коэффициентом в 1,259921 а не 1,25, потому при подсчёте суммы (где округления вносят меньше погрешности) и происходит рассогласование, и реальная стоимость 4-ёх пунктов 29 а не 20+10=30.
При "исправлении" же по Вашему Док способу цена 4-го пункта станет 12, что соответствует прогрессии с k=1.3388659..
Вот то что у нас работает сейчас, то что Вы хотите сделать, и то что предложил Тёмный Лорд :
Расхождение вызвано округлениями членов двух разных рядов, что и можно устранить так как предложил Тёмный Лорд.
Например сейчас, если взять три пункта повышения контакта - то цена 4-го округлена до 10, что уже соответствует прогрессии с коэффициентом в 1,259921 а не 1,25, потому при подсчёте суммы (где округления вносят меньше погрешности) и происходит рассогласование, и реальная стоимость 4-ёх пунктов 29 а не 20+10=30.
При "исправлении" же по Вашему Док способу цена 4-го пункта станет 12, что соответствует прогрессии с k=1.3388659..
Вот то что у нас работает сейчас, то что Вы хотите сделать, и то что предложил Тёмный Лорд :
Код: Выделить всё
варианты :
a= 5, k= 1.25 (повышение контактного урона, повышение урона одной школы магии)
----------------------------------------------
текущий от phDoc от Тёмный Лорд
сумма цена сумма цена сумма цена
----------------------------------------------
0 0 5 0 5 0 5
1 5 7 5 7 5 7
2 12 8 12 9 12 8
3 20 10 21 12 20 9
4 29 13 33 15 29 13
5 42 16 48 19 42 15
6 57 20 67 24 57 19
7 76 24 91 30 76 24
8 100 30 121 38 100 30
9 130 38 159 48 130 37
10 167 47 207 60 167 46
11 213 59 267 75 213 59
12 272 73 342 94 272 72
13 344 91 436 118 344 91
14 435 114 554 148 435 114
15 549 143 702 185 549 142
16 691 178 887 232 691 178
17 869 223 1119 290 869 222
18 1091 278 1409 363 1091 277
19 1368 347 1772 454 1368 347
1715 434 2226 568 1715 434
a= 5, k= 1.5 (ослабление любого маг.урона, повышения урона всех магий)
----------------------------------------------
текущий от phDoc от Тёмный Лорд
сумма цена сумма цена сумма цена
----------------------------------------------
0 0 5 0 5 0 5
1 5 8 5 8 5 8
2 13 12 13 12 13 11
3 24 17 25 18 24 17
4 41 26 43 27 41 25
5 66 38 70 41 66 38
6 104 57 111 62 104 57
7 161 86 173 93 161 86
8 247 129 266 140 247 128
9 375 193 406 210 375 192
10 567 289 616 315 567 288
11 855 433 931 473 855 433
12 1288 649 1404 710 1288 649
13 1937 974 2114 1065 1937 973
14 2910 1460 3179 1598 2910 1459
15 4369 2190 4777 2397 4369 2190
16 6559 3285 7174 3596 6559 3284
17 9843 4927 10770 5394 9843 4926
18 14769 7390 16164 8091 14769 7390
19 22159 11085 24255 12137 22159 11084
20 33243 16627 36392 18206 33243 16626
a= 10, k= 1.1 (снижение стрелкового урона)
----------------------------------------------
текущий от phDoc от Тёмный Лорд
сумма цена сумма цена сумма цена
----------------------------------------------
0 0 10 0 10 0 10
1 10 12 10 12 10 12
2 22 13 22 14 22 12
3 34 14 36 16 34 13
4 47 15 52 18 47 15
5 62 17 70 20 62 16
6 78 18 90 23 78 17
7 95 20 113 26 95 20
8 115 22 139 29 115 21
9 136 24 168 32 136 24
10 160 26 200 36 160 26
11 186 29 236 40 186 28
12 214 32 276 45 214 32
13 246 35 321 50 246 34
14 280 38 371 56 280 38
15 318 42 427 62 318 42
16 360 46 489 69 360 46
17 406 51 558 76 406 50
18 456 56 634 84 456 56
19 512 62 718 93 512 61
20 573 68 811 103 573 68
a= 10, k= 1.5 (снижение контактного урона)
----------------------------------------------
текущий от phDoc от Тёмный Лорд
сумма цена сумма цена сумма цена
----------------------------------------------
0 0 10 0 10 0 10
1 10 15 10 15 10 15
2 25 23 25 23 25 23
3 48 34 48 35 48 34
4 82 51 83 53 82 50
5 132 76 136 80 132 76
6 208 114 216 120 208 114
7 322 171 336 180 322 171
8 493 257 516 270 493 256
9 749 385 786 405 749 385
10 1134 577 1191 608 1134 576
11 1710 865 1799 912 1710 865
12 2575 1298 2711 1368 2575 1298
13 3873 1947 4079 2052 3873 1946
14 5819 2920 6131 3078 5819 2919
15 8738 4379 9209 4617 8738 4379
16 13117 6569 13826 6926 13117 6569
17 19686 9853 20752 10389 19686 9852
18 29538 14779 31141 15584 29538 14779
19 44317 22169 46725 23376 44317 22169
20 66486 33253 70101 35064 66486 33252 Chaos omnia continet, et chaos ipsum in tenebris continetur.
-
Темный Лорд
- Сообщения: 3530
- Зарегистрирован: 15 дек 2014, 09:40
- Имя героя: Темный Лорд
Re: ИИ считать не умеет
Кстати, а Ника права на счет правильной геометрической прогрессии:
Сам то коэффициент не меняется, но кроме экспоненциального роста, происходит еще линейный рост из-за округления. Значит прогрессия будет уже не геометрической, а арифметико-геометрической причем с "переменным шагом".Shadow Witch писал(а): ↑Сегодня, 00:25При "исправлении" же по Вашему Док способу цена 4-го пункта станет 12, что соответствует прогрессии с k=1.3388659..