异星工厂吧 关注:65,602贴子:430,714
  • 4回复贴,共1

流体量化小算法

取消只看楼主收藏回复

最近期末周闲着没事开始打Factorio,尚是百来小时出头的萌新。量化产瓶的时候手算了无数遍,感受到了里面的某种道道,今天正好有时间就以流体为例把里面藏着的数学原理稍微写一写。虽然知道大伙都有helmod,有各种矩阵计算器,写出来也权当图个乐呵。
太长不看版本:
讨论原油、石油气、轻油、重油四种流体,对无插件情况给出了由流体供给量与流体需求量导出的各配方机器量公式(在第二张图最下方一块)。
给出了得到公式的算法(在第三张图最下方一块)。这种算法可以用于很多有无插件、不同配方情况下的量化。
没有做太多检查,可能有些地方写得不对,感谢指正。




IP属地:日本1楼2021-06-21 17:20回复
    @331260549
    不好意思,今天到刚才才翻了一下贴吧,回复晚了。首先我并不会听不得不同声音,没有且也不会删评论,你的评论被删可能是因为被百度抽了。第二是我在一楼已经声明过了,我写这篇东西纯粹是有感而发,希望你相信我并没有用以「装B」的想法。
    关于加精的问题,能被加精我自己其实也感到很意外,不过我相信吧务的判断,也感谢他们对我的劳动成果的认可。
    至于普遍玩家能不能看懂我觉得是受众的问题,任何攻略都有其受众,有的面向新人,有的面向老鸟,而我不认为我写的东西就恰好没有其受众。或是制作量化相关的mod的作者,或是其他同样感觉到算配方算材料里藏着某些道理的玩家,说不定写得清晰点的算法正好能给他们一些启发呢(我相信helmod背后也是和这套差不多的东西)。而且,精华贴没有必读的要求,与游戏玩不玩得懂更无直接联系,不喜欢的玩家自然可以划过去。
    另外,我也给出了可以直接应用的算式。如果觉得线代难以接受,那根据流体需求量直接求各配方的机器比例总是所有人都看得懂、能应用的吧。
    最后,其实我很认同你的一个观点:有计算的地方可以用线代,但不代表只能用线代。没有学过线代的人当然也都可以推出相同的结果,我一开始玩的时候算配方也都是随便算,但用线代从另一个角度看事情不也是很有意思的吗。


    IP属地:日本来自Android客户端16楼2021-06-22 18:39
    收起回复
      2026-07-22 19:33:05
      广告
      不感兴趣
      开通SVIP免广告
      如果说一楼发的算法对普通玩家意义不大的话,希望我用这套算法做的这个计算器对普通玩家会有些许意义。使用方法应该很傻瓜式了吧(


      IP属地:日本19楼2021-06-22 21:25
      收起回复
        以及,刚才做计算器的时候才发现一楼不慎犯了个小错误:设流体量在基B下的坐标表示为x,那么在基D下的坐标表示应该直接就是Cx,所以不应该用C的转置去乘α,而是直接用C去乘α得到机器数量。
        计算器的网盘:1jtElGiv9xUP-IiVNFkciqg
        提取码9961
        只用计算器的话直接下载Factorio-Oil.exe就可以直接用;如果怕我在里面埋了东西或者想一起研究学习、改改用来做其他东西的量化,也可以下Factorio-Oil.rar压缩包,压缩包里面是源码。因为流体问题的阶数比较小,所以直接用伴随矩阵求逆了,其他地方也写得比较随意,大伙轻喷(
        不过这类计算器想必helmod之类的都带了吧...感觉除了验证理论、写出来图一乐呵之外其他意义也不太大。


        IP属地:日本20楼2021-06-22 21:49
        收起回复
          更新了流体计算器:
          增加了根据输出量算输入量与机器数的模式,这里是按最小输入量来的,也就是说结果会让输入原油尽可能少。


          增加了根据机器数算输入和输出的模式。因为实际游戏里没法做到太精确的小数,所以可以作为模式2的辅助来验证实际机器量能否满足处理需求。


          如图,以模式2算出来的机器量微调即可得到比较完美的机器比例。这里微调只需使各机器量是1/60的倍数即可(因为1/60倍数的机器在游戏里理论上都是可以实现的),但实际生产中可能不需要这么精确,那就可以把各机器量调成是0.5或0.1等的倍数,然后使石油气、轻油、重油都略微超出需要输出量一些即可。


          IP属地:日本24楼2021-06-23 11:32
          收起回复