游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: ObjectDesign

[求助] 关于一个数列及变种的求和公式

[复制链接]

0

主题

185

帖子

728

积分

高级会员

Rank: 4

积分
728
发表于 2013-10-21 15:29:35 | 显示全部楼层
本帖最后由 bineye 于 2013-10-21 15:33 编辑
ObjectDesign 发表于 2013-10-21 12:10
①初始金币及金币的总获得各是多少?
答:初始金币是10,刚好建造第一个a建筑
②取整规则是什么?即取几 ...

还有两个细节的问题:
①我是不是可以理解为a建筑的金币产量就是唯一的金币获得途径,且固定为0.1金币/秒?
②取整规则主要是针对金币产量而言的:“四舍五入,不保留小数”,是指“0.1金币/秒”实际就是“1金币/10秒”咯?还是说计算采用小数,而显示采用整数?此时计算消耗时,数值是取显示的整数,还是取实际的小数?

如果按上述①这么设定的话,可以将原题分两个部分:产出函数、消耗数列,然后再计算时间。
假设时间为t,单位为秒。

产出数列:(根据②的不同设定分情况计算)
情况一:f(t)=[t/10]向下取整,——取整规则为:“1金币/10秒”;
情况二:f(t)=[t/10]四舍五入,——取整规则为:采用小数进行计算,而显示采用整数;数值取显示的整数为准;
情况二:f(t)=t/10,——取整规则为:采用小数进行计算,而显示采用整数;数值为实际值为准;

消耗数列:
g(n)=[10+10*1.1+10*1.1^2+…+10*1.1^(n-1)]四舍五入=[100*1.1^n-100]四舍五入,即等比数列的求和公式。

n个建筑的耗时:
f(t)+10=g(n),
解得:
情况一:t=(g(n)-10)*10。
情况二:t=(g(n)-10)*10-5。
情况三:t=(g(n)-10)*10。


还是题外问题:
如果金币总产量与建筑个数无关,那么“求出建造n个a建筑所消耗的最短时间总和”的意义何在?或者说,建1个a建筑与建n个a建筑的差别是什么?
如果没有差别,那么我的观点是:不如改成更简单明了的设定,“a建筑不生产金币,造a建筑消耗的金币数随着建造个数递增,……”,即将a建筑与生产金币功能剥离,另外设定一个金币产量的渠道。


还有,我猜测原先的意图应该是“每个a建筑每秒生产0.1金币”,对吧?
即总产量为a建筑的个数n*单位建筑金币产量。

如果是这种设定,消耗数列同上:g(n)=[100*1.1^n-100]四舍五入,
产出数列就需要对n进行积分(或者累加),这就需要先确定②的设定是如何,否则计算量很大。



针对最后“最短时间即为建造的最优策略”,这点是有点错误的。剩余积累的金币量为x的最短时间,与最优策略是有所差别的。这是因为消耗x金币用于购买某个物品,而非用于建造生产建筑,势必会影响以后的发展进度。
当然,如果你的设定是“a建筑金币产量固定为0.1金币/秒”这种设定,那就不存在这个问题。
可是,对于多种生产建筑而言,如果x值较小,即与b建筑、c建筑所需消耗的总和相比没有特别大的差别,那也会存在上面所提到的问题,即最短时间与最优策略是有所差别的。
除非所需要购买的东西的价值很大,甚至大到拿以后的发展进度跟其交换都是值得的。那这种情况下,最短时间可以视为最优方案。而这最短时间,自然也与x的具体取值有关。如果该物品的价值并非值得拿以后的发展进度与之交换,那计算这个最短时间,就不应该是策划该考虑的问题了。

8

主题

32

帖子

114

积分

注册会员

Rank: 2

积分
114
 楼主| 发表于 2013-10-21 19:19:54 | 显示全部楼层
bineye 发表于 2013-10-21 15:29
还有两个细节的问题:
①我是不是可以理解为a建筑的金币产量就是唯一的金币获得途径,且固定为0.1金币/秒 ...

说实话,看了一下这位兄弟的解题过程,没看明白,可能我简化为数学模型的表达方式不太好吧,致使产生了很多歧义,我所说的这个模型来自于一个小游戏《无尽的饼干》,从而想到的一个问题“达到某个数量级的饼干所需最短时间的最优建筑策略”,不知道这个问题的本身是否存在解决方案?
附《无尽的饼干》游戏网址:http://orteil.dashnet.org/cookieclicker/

8

主题

32

帖子

114

积分

注册会员

Rank: 2

积分
114
 楼主| 发表于 2013-10-21 19:42:23 | 显示全部楼层
bineye 发表于 2013-10-21 15:29
还有两个细节的问题:
①我是不是可以理解为a建筑的金币产量就是唯一的金币获得途径,且固定为0.1金币/秒 ...

说实话,看了这位兄弟的解答首先非常感谢,但我确实没看懂,我的这个问题是从一款小游戏《无尽的饼干》中想到的,可能因为表达问题致使有了很多歧义。其实购买某个价格为x的道具和建造某个价格为x的建筑是一样的,总结起来就是“生产金币达到x的最短时间是多少?这个最短时间是建造了哪些建筑达成的?”,可能我这个问题本身就是无解的,请各位不吝赐教。貌似插入网址链接需要审核,我就不附加《无尽的饼干》网址了,大家去“拼命玩游戏”这个网站上搜索即可。

6

主题

244

帖子

874

积分

高级会员

Rank: 4

积分
874
发表于 2013-10-21 19:48:24 | 显示全部楼层
玩不转,只能说,不明觉厉!

0

主题

185

帖子

728

积分

高级会员

Rank: 4

积分
728
发表于 2013-10-22 09:35:32 | 显示全部楼层
本帖最后由 bineye 于 2013-10-22 10:16 编辑
ObjectDesign 发表于 2013-10-21 19:42
说实话,看了这位兄弟的解答首先非常感谢,但我确实没看懂,我的这个问题是从一款小游戏《无尽的饼干》中 ...

去看了那个游戏,
①产量跟建筑个数是有关的,正比关系。
②我猜测其取整规则为:采用小数进行计算,而显示采用整数;数值取显示的整数为准;取整方法为向下取整。不过其数值没有有效的测量工具,难验证这个猜测是否正确。

就最后一个问题,存在最优方案。可是,因为生产相关的变量有点多,且其中每个建筑的性价比也不相同,因此这个靠人工很难解,更别提要列出通项公式了。不过,如果你会使用一些数学软件的话,利用软件解这个问题就不难。(个人推荐mathematica,或matlab)

不过问题本身可能存在一点错误:最优方案不是达到x的最短时间,而是一定时间内x的最大值。这两者在有些情况下是等价的,但有些情况——比如本题中——两者并不等价。而本题的最终目的,应该是比较生产的最大值及剩余累积值,而不是达到某个值的最短时间吧~~

《无尽的饼干》有比较明显的两条生产相关线:一条是生产工具线,一条是科技线。这两条线的收益是可以乘法叠加的。另外,科技线自身似乎也能分成两条可以乘法叠加的子科技线。因此,在这种情况下去计算某一项的最短时间,意义就不是很大。
此时,所谓的最优方案应该是去升级“当前收益最大”的一项,即性价比最高的一项。当然,这个结果也不是最终结果,因为还需要对其进行修正。修正项即是高收益,但是成本也极高,因而在短期内无法实现的项。不过,就《无尽的饼干》 看来,暂时还没出现这种修正项。


8

主题

32

帖子

114

积分

注册会员

Rank: 2

积分
114
 楼主| 发表于 2013-10-22 12:36:49 | 显示全部楼层
bineye 发表于 2013-10-22 09:35
去看了那个游戏,
①产量跟建筑个数是有关的,正比关系。
②我猜测其取整规则为:采用小数进行计算,而显 ...

非常感谢这位兄弟的解答,对我启发很大,我再用数学软件研究一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-26 12:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表