2

我已经搜索了很多东西来为我指明正确的方向,但我似乎无法弄清楚/找到适合我情况的东西。

在我的游戏中,你总共玩了 20 年。每年您可以从 6 个案例中进行选择。每个案例改变不同的值,并且每年都会受到上一年的值的影响。由于一些随机因素,几乎总是有不同的最终结果/最佳结果。

在最佳结果的情况下。我曾经计算个人每年最高的情况。但由于每一年都受到上一年数值的影响,这20年的案例是否是最佳结果还远不能确定。例如:

在此处输入图像描述

编辑:在这个例子中,我用 3 个案例而不是 6 个案例来绘制情况。

这将是 20 年内 6 种情景的情况。所以会有 365.615.844.0062.976 不同的最终结果。我想得到最高的结果。

谁能给我一些关于如何处理这个可笑的大数据结构的建议/想法。我希望我对这个问题给出了明确的解释。

提前致谢。

4

3 回答 3

2

简而言之,您将无法为这个问题找到有保证的最佳解决方案。例如,一个很好的中间立场可能是 5 年深度(7776 种变体)并选择其中的 5 个最佳得分解决方案。然后从每个部分解决方案中重复该过程。这应该会产生大约 124416 次计算,这不应该花费太长时间来测试。

于 2013-01-23T12:59:55.670 回答
1

我不确定解决问题本身的好方法;但是,您可能想查看 Project Euler 问题 18 和 67 的解决方案。这是一个与此类似的寻路问题,它可以为您提供一些见解。

至于数据存储,你考虑过使用 B-Tree 吗?文件 I/O 可能有点昂贵,但听起来好像您不必在游戏中进行任何密集的实时计算。

于 2013-01-23T13:40:07.253 回答
-1

该解决方案与标准游戏/人工智能编程 101 的 min max 算法非常相似。请查看 min max 的维基百科页面,以便在正确的方向上获得良好的开端 http://en.wikipedia.org/wiki /最小最大

于 2013-01-23T10:50:04.543 回答