循环效用的最优策略是如何计算的?
How is the optimal policy for recurrent utilities calculated?
我正在学习马尔可夫决策过程,对于考试的第6题(见上文link),我了解在一个动作后获得相同状态时如何计算效用(part a of问题 6)。
J*(cool) = 4 + 0.9 * J*(cool)
但是我不知道如何计算其他状态和动作(问题 6 的 b 部分)。我假设方程式是这样的:
对于状态 "cool" 中的操作 "fast":
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
对于状态 "warm" 中的操作 "slow":
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
对于状态 "warm" 中的操作 "fast":
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))
但是我们在这些方程中没有一个变量,我们没有这些状态的效用?我们如何获得与每个动作相关的预期效用值?
你在这些方程式的正确轨道上。你只需要依次考虑四种可能的策略:(慢,慢),(快,慢),(慢,快),(快,快)。
考虑(慢,快):
从 a) 你已经看到 J*(cool) = 40。
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * 0)
J*(warm) = 47.06
对于(慢,慢):
同样,J*(cool) 与您在温暖状态下的动作无关,因此 J*(cool) = 40。
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * 40 + 0.5 * J*(warm))
J*(warm) = 40
对于(快,快):
这次处于温暖状态的值与冷却动作无关,从上面看是 J*(warm) = 47.06。
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * 47.06)
J*(cool) = 53.89
最后(快,慢):
这是最难的情况,但我们有两个方程和两个未知数,因此我们可以使用联立方程求解。
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
J*(warm) = (4 + 0.45 * J*(cool))/0.55
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * (4 + 0.45 * J*(cool))/0.55)
J*(cool) = 66.94
J*(warm) = 62.04
正如我们所见,如果我们在暖状态下启动,可以获得的最高值为 62.04。从 cool 开始的最高值为 66.94。当我们的政策是(快,慢)时,这两种情况都会发生,即冷快,热慢,因此这是最优政策。
事实证明,如果你从状态 A 开始,不可能有一个最优的策略,但如果你从状态 B 开始,则不可能有一个最优的策略。还值得注意的是,对于这些类型的无限时间范围 MDP ,可以证明最优策略永远是平稳的,即如果在第1时刻在冷态下采取慢动作是最优的,那么所有时间都采取慢动作是最优的。
最后,在实践中,状态和动作的数量比这个问题中的要多得多,并且通常需要更高级的技术,例如值迭代、策略迭代或动态规划。
我正在学习马尔可夫决策过程,对于考试的第6题(见上文link),我了解在一个动作后获得相同状态时如何计算效用(part a of问题 6)。
J*(cool) = 4 + 0.9 * J*(cool)
但是我不知道如何计算其他状态和动作(问题 6 的 b 部分)。我假设方程式是这样的:
对于状态 "cool" 中的操作 "fast":
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
对于状态 "warm" 中的操作 "slow":
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
对于状态 "warm" 中的操作 "fast":
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))
但是我们在这些方程中没有一个变量,我们没有这些状态的效用?我们如何获得与每个动作相关的预期效用值?
你在这些方程式的正确轨道上。你只需要依次考虑四种可能的策略:(慢,慢),(快,慢),(慢,快),(快,快)。
考虑(慢,快):
从 a) 你已经看到 J*(cool) = 40。
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * 0)
J*(warm) = 47.06
对于(慢,慢):
同样,J*(cool) 与您在温暖状态下的动作无关,因此 J*(cool) = 40。
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * 40 + 0.5 * J*(warm))
J*(warm) = 40
对于(快,快):
这次处于温暖状态的值与冷却动作无关,从上面看是 J*(warm) = 47.06。
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * 47.06)
J*(cool) = 53.89
最后(快,慢):
这是最难的情况,但我们有两个方程和两个未知数,因此我们可以使用联立方程求解。
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
J*(warm) = (4 + 0.45 * J*(cool))/0.55
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * (4 + 0.45 * J*(cool))/0.55)
J*(cool) = 66.94
J*(warm) = 62.04
正如我们所见,如果我们在暖状态下启动,可以获得的最高值为 62.04。从 cool 开始的最高值为 66.94。当我们的政策是(快,慢)时,这两种情况都会发生,即冷快,热慢,因此这是最优政策。
事实证明,如果你从状态 A 开始,不可能有一个最优的策略,但如果你从状态 B 开始,则不可能有一个最优的策略。还值得注意的是,对于这些类型的无限时间范围 MDP ,可以证明最优策略永远是平稳的,即如果在第1时刻在冷态下采取慢动作是最优的,那么所有时间都采取慢动作是最优的。
最后,在实践中,状态和动作的数量比这个问题中的要多得多,并且通常需要更高级的技术,例如值迭代、策略迭代或动态规划。