我试图将以下问题建模为马尔可夫决策过程。
在钢铁厂的炼钢车间,使用铁管。随着时间的推移,这些管道会生锈。添加防锈溶液可以延缓生锈过程。如果生锈过多,我们必须对管道进行机械清洁。
我将生锈状态分类为 StateA、StateB、StateC、StateD。从 A 到 E 锈蚀增加的 StateE。StateA 是绝对干净的状态,几乎没有生锈,StateE 是最生锈/退化的状态
StateA -----> StateB ---> StateC ---> StateD ---> StateE
∆ ∆ ∆ ∆ | | | |
| | | | | | | |
Mnt Mnt Mnt Mnt | | | |
| | | |____clean____| | | |
| | |_______clean__________________| | |
| |_____________________________________________| |
| clean |
|________________________________________________________________|
clean
We can take any one of the following transitions in the above diagram:
StateB -> clean -> StateA
StateC -> clean -> StateA
StateD -> clean -> StateA
StateE -> clean -> StateA
我们可以采取 3 种可能的行动:
- 无需维护
- 干净的
- 添加防锈剂
转移概率如下所述: 状态从 StateA 降级到 StateE。状态随着生锈而退化,一定量的生锈由转移概率表示。添加防锈剂可降低状态退化的可能性
从 StateA 到 StateB 的转换概率为 0.6,无需维护 从 StateA 到 StateB 的转换概率为 0.5,添加了防锈剂。
从 StateB 到 StateC 的转换概率为 0.7,无需维护 从 StateB 到 StateC 的转换概率为 0.6,添加了防锈剂。
从 StateC 到 StateD 的转移概率为 0.8,无需维护。从 StateC 到 StateD 的转换概率为 0.7,使用防锈剂。
从 StateC 到 StateD 的转移概率为 0.8,无需维护。从 StateC 到 StateD 的转换概率为 0.7,使用防锈剂。
动作 clean 将以概率 1 将任何状态移动到状态 Mnt 。State Mnt 以概率 1 移动到 StateA(绝对清洁状态)。
StateA 的奖励是 0.6,StateB 是 0.5,StateC 是 0.4,StateD 是 0.3,StateE 是 0.2
清洁行动导致维护(Mnt)状态,该状态具有 0.1 奖励。维护状态会导致清洁后生产力提高,这很好,但维护时会停机,因此会有生产损失。所以奖励少。
如果有人可以帮助我在 python 中开发框架,那将会很有帮助。
We can take any one of the following :
StateB -> clean -> StateA
StateC -> clean -> StateA
StateD -> clean -> StateA
StateE -> clean -> StateA
该框架应提供有助于决定是否在 StateB、StateC、StateD、StateE 采取清洁行动的输出。我们可以使用价值迭代来生成最优决策。