一种求解有限水平、有限状态随机动力程序的逆向归纳法的简单实现。

stochasticdp的Python项目详细描述


逆向归纳求解的一种简单实现 有限视界,有限空间随机动力程序。

安装

stochasticdp在pypi上可用:

pip install stochasticdp

用法

初始化随机动态程序:

dp=StochasticDP(number_of_stages,states,decisions,minimize)

其中

  • number_of_stages是一个整数
  • states是一个列表
  • decisions是一个列表
  • minimize是布尔值

这就产生了一个阶段编号的随机动态程序 0, ..., number_of_stages - 1,并初始化以下内容 词典:

  • dp.probability,其中dp.probability[m, n, t, x]是 在阶段^{tt11}中从状态n移动到状态m的概率$ 根据决定x
  • dp.contribution,其中dp.contribution[m, n, t, x]是 从状态n移动到 状态m处于阶段t处于决策x
  • dp.boundary,其中dp.boundary[n]是边界条件 对于状态为n
  • 的值go函数

您只需要定义转换的概率和贡献 以正概率发生。

您可以使用下面的helper函数来填充这些 词典:

# This sets dp.probability[m, n, t, x] = p and dp.contribution[m, n, t, x] = cdp.add_transition(stage=t,from_state=n,decision=x,to_state=m,probability=p,contribution=c)# This sets dp.boundary[n] = vdp.boundary(state=n,value=v)

求解随机动态程序:

value,policy=dp.solve()

其中

  • value是字典:value[t, n]是要去的值 阶段t和状态n
  • 的函数
  • policy是字典:policy[t, n]是一组优化器 第value[t, n]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java谷歌地图将地址转换为坐标   java舍入错误给了我无效的答案   JavaSpring3。0 mvc问题(请求的资源不可用)   java在关闭GraphStream时不关闭Swing主应用程序   java使用特定的orderby从包含多个子节点的FireBase数据库检索数据   java是否可以不安全地访问JVM未使用的对象?   java读取单词的第一个字母并选择其字母表编号   java在同一个包中导入类   安卓 java。lang.IndexOutOfBoundsException:索引0无效,大小为0   java JTextPane仅以单行显示插入的组件   java系统应用程序如何在CyanogenMod 11中以编程方式读取整个logcat?   java如何访问保存在中的变量。MatlabBuilder JA构建的jar文件中的mat文件?   Java不必要的图像覆盖   数组javajsonarray。包含(字符串)没有这样的函数?   javacamel:如何在文件组件中使用相同的头   java smack setKeystorePath不工作?   JavaJackcessDatabaseBuilder。开放式失败   对Jetty Jersey应用程序的java请求在1分钟后终止   在客户端断开连接后,java进程是否仍在继续   安全Java签名代码小程序混合代码警告即使在TrustedLibrary之后:true