优化模拟决策的最佳算法

我正在寻找最佳算法来优化模拟中的决策,以便在合理的时间内找到快速结果。 模拟会进行多次“滴答”,偶尔需要做出决定。 最终会达到目标状态。(如果你做出非常糟糕的决定,可能永远无法达到目标状态)

有很多很多目标状态。 我想找到滴答次数最少的目标状态(滴答大约相当于现实生活中的一秒)。我基本上想决定做出哪些决定,以尽可能少的秒数到达目标,

关于问题领域的一些要点:

  • 一开始,我可以生成一系列选择,这将导致一个解决方案。 但它不会是最优的。
  • 我有一个合理的启发式函数来确定什么才是好的决定
  • 我有一个合理的函数来确定从一个节点到目标的最小可能时间成本。

算法:

  • 我需要在大约 10 秒内处理这个问题,然后给出我能找到的最佳答案。
  • 我相信 A* 会找到我的最佳解决方案。 问题是决策树会非常大,我无法足够快地计算它。
  • IDA* 会在 10 秒内给出我几个好的初步选择,但我需要一条通往目标的完整路径。

目前,我正在考虑从已知的非最优路径开始,然后可能使用模拟退火,并尝试在 10 秒内改进它。

应该研究哪些好的算法来尝试解决这类问题?


回答:

可以看看有限差异搜索,重复使用越来越宽松的限制进行最大差异搜索,或者束搜索。

如果你有一个好的启发式方法,你应该能够用它来比较单个选择 – 用于有限差异搜索,以及比较部分解决方案 – 用于束搜索。

看看你是否可以对部分解决方案的任何扩展的优劣程度设置一个上限。 然后你可以剪除那些不可能扩展到超过启发式方法的结果,或者在一系列深度递增的迭代搜索中找到的目前为止的最佳结果的部分解决方案。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注