ИИ считать не умеет

Ищем, что поломалось, и чиним
Аватара пользователя
phdoc
Администратор
Сообщения: 29272
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » 03 сен 2026, 17:08

Темный Лорд писал(а):
03 сен 2026, 00:45
Но чего я НЕ понимаю, так это какими такими гениальными формулами можно убрать эту погрешность округления.
"Формулами" убрать это пока не представляется возможным, только "пошаговыми вычислениями". И это таки не "погрешность", а "игровое правило".
Делитесь и перемножайтесь

Темный Лорд
Сообщения: 3530
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » 03 сен 2026, 17:31

phdoc писал(а):
03 сен 2026, 17:08
И это таки не "погрешность", а "игровое правило".
Тут я с Вами полностью согласен. Значит я Вас неправильно понял. Вы значит не считаете нынешние цены неправильными, незапланированными и не хотите их менять. Нынешние цены действительно это устоявшееся игровое правило.
phdoc писал(а):
01 сен 2026, 17:56
Теперь есть два варианта: а) не очень правильный - оставить всё как есть и б) правильный, но печальный - сделать всё как должно быть.
тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен

Аватара пользователя
phdoc
Администратор
Сообщения: 29272
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » 03 сен 2026, 18:41

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

Темный Лорд писал(а):
03 сен 2026, 17:31
phdoc писал(а):
01 сен 2026, 17:56
Теперь есть два варианта: а) не очень правильный - оставить всё как есть и б) правильный, но печальный - сделать всё как должно быть.
тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен
Постройте два столбика значений элементов геометрической прогрессии с первого по двадцатый при старте в 5 и коэффициенте в 1.25.
В первом - пошагово вычисляя каждый элемент, начиная с первого, умножая предыдущий на коэффициент и округляя вверх на каждом шагу.
Во втором - используя любой вариант формулы прямого вычисления произвольного элемента геометрической прогрессии с заданными параметрами.
И покажите их здесь. Сравним.
Делитесь и перемножайтесь

Темный Лорд
Сообщения: 3530
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » 03 сен 2026, 21:40

phdoc писал(а):
03 сен 2026, 18:41
Темный Лорд писал(а):
03 сен 2026, 17:31
phdoc писал(а):
01 сен 2026, 17:56
Теперь есть два варианта: а) не очень правильный - оставить всё как есть и б) правильный, но печальный - сделать всё как должно быть.
тут значит нужно выбрать третий вариант, оставив всё как есть за исключением несоответствия цены и суммы
один из способов как этого добиться был предложен
Постройте два столбика значений элементов геометрической прогрессии с первого по двадцатый при старте в 5 и коэффициенте в 1.25.
В первом - пошагово вычисляя каждый элемент, начиная с первого, умножая предыдущий на коэффициент и округляя вверх на каждом шагу.
Во втором - используя любой вариант формулы прямого вычисления произвольного элемента геометрической прогрессии с заданными параметрами.
И покажите их здесь. Сравним.
Скажем так.. Моя вина, не умею объяснять.


Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=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↑) 
__________
- гражданин Рокоссовский, просим Вас выйти и еще раз подумать
...
- ну как Константин Константинович, подумали?
- да, своего мнения не меняю

Аватара пользователя
phdoc
Администратор
Сообщения: 29272
Зарегистрирован: 29 май 2010, 16:43

Re: ИИ считать не умеет

Сообщение phdoc » Вчера, 20:41

Темный Лорд писал(а):
03 сен 2026, 21:40
Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=bₙ₊₁-bₙ
до этого надо отдельно высчитать bₙ₊₁ и bₙ и округлить полученные значения до целых чисел
bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1))
bₙ=a*((kⁿ-1)/(k-1))
Это же стандартная формула вычисления n-ого элемента прогрессии, которая у нас сейчас и используется.
Проблем у неё две:
1) Значения получаются меньше, чем должны быть по условиям.
2) Когда по ней для определения максимума вычисляется сумма элементов, то этот максимум по мере роста номера элемента постепенно превышает таковой, полученный пошаговым суммированием. В результате, рано или поздно, если выставить такой максимум и затем снять одно значение, то вернуть его обратно не получится.

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

Темный Лорд
Сообщения: 3530
Зарегистрирован: 15 дек 2014, 09:40
Имя героя: Темный Лорд

Re: ИИ считать не умеет

Сообщение Темный Лорд » Сегодня, 00:06

phdoc писал(а):
Вчера, 20:41
Темный Лорд писал(а):
03 сен 2026, 21:40
Округлять надо будет только сумму и только в конце, как это делается сейчас.
вот новая формула цены:
Цена=bₙ₊₁-bₙ
до этого надо отдельно высчитать bₙ₊₁ и bₙ и округлить полученные значения до целых чисел
bₙ₊₁=a*((kⁿ⁺¹-1)/(k-1))
bₙ=a*((kⁿ-1)/(k-1))
Это же стандартная формула вычисления n-ого элемента прогрессии, которая у нас сейчас и используется.
не совсем
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: ИИ считать не умеет

Сообщение Shadow Witch » Сегодня, 00:25

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

Например сейчас, если взять три пункта повышения контакта - то цена 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: ИИ считать не умеет

Сообщение Темный Лорд » Сегодня, 02:17

Кстати, а Ника права на счет правильной геометрической прогрессии:
Shadow Witch писал(а):
Сегодня, 00:25
При "исправлении" же по Вашему Док способу цена 4-го пункта станет 12, что соответствует прогрессии с k=1.3388659..
Сам то коэффициент не меняется, но кроме экспоненциального роста, происходит еще линейный рост из-за округления. Значит прогрессия будет уже не геометрической, а арифметико-геометрической причем с "переменным шагом".

Ответить